1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-09 07:00:23 +02:00
Commit graph

271 commits

Author SHA1 Message Date
Marius Vollmer
5c07af6e79 use "-Werror" only with GCC. Thanks to Matthias Koeppe! 2003-06-19 20:09:05 +00:00
Stefan Jahn
fcc5d734fc 2003-06-14 Stefan Jahn <stefan@lkcc.org>
* configure.in: Checking for __int64 as possible candidate for
        the SCM_I_GSC_T_INT64 define.

2003-06-14  Stefan Jahn  <stefan@lkcc.org>

        * threads.h: Redefined scm_getspecific() and scm_setspecific()
        to be functions instead of macros.

        * threads.c: Conditionalized inclusion of <sys/time.h> and
        <unistd.h>.
        (scm_getspecific, scm_setspecific): Made these two function
        real part of the API.

        * posix.c (s_scm_putenv): Added some code to make a
        (putenv "FOO="), i.e. setting an empty string, work also on
        Win32 systems.  Thanks to Kevin Ryde for the proposal.
2003-06-14 05:36:02 +00:00
Stefan Jahn
1e498fbd0f 2003-05-30 Stefan Jahn <stefan@lkcc.org>
* configure.in: Checking for unsetenv().

2003-05-30  Stefan Jahn  <stefan@lkcc.org>

        * posix.c (s_scm_putenv): Use the new HAVE_UNSETENV
        appropriately for mingw32 hosts.

        * numbers.h: Defining copysign(), isnan() and finite() to
        be prefixed by a single '_' for mingw32 hosts.
2003-05-30 09:39:34 +00:00
Stefan Jahn
2e945bccca 2003-05-29 Stefan Jahn <stefan@lkcc.org>
* configure.in: Removed -lm check and added a cached check for
        __libc_stack_end to get it building for mingw32 hosts.

2003-05-29  Stefan Jahn  <stefan@lkcc.org>

        * win32-dirent.c: Use malloc() instead of scm_malloc().

        * stime.c (s_scm_strftime): Add a type cast to avoid compiler
        warning.

        * posix.c (s_scm_putenv): Disable use of unsetenv() for the
        mingw32 build.

        * modules.c (s_scm_module_import_interface): Renamed local
        variable interface to _interface.  Seems like 'interface'
        is a special compiler directive for the mingw32 compiler.

        * mkstemp.c: Provide prototype to avoid compiler warning.

        * load.c (s_scm_search_path): Fixed absolute and relative
        path detections for native Windows platforms.

        * gc.h, threads.h: Export some more symbols using SCM_API
	(necessary to build on mingw32).

        * gc-freelist.c ("s_scm_map_free_list",
        "s_scm_gc_set_debug_check_freelist_x"): Fixed use of FUNC_NAME.

        * fports.c (fport_fill_input): Disable use of
        fport_wait_for_input() on Win32 platforms.

        * filesys.c (s_scm_basename): Fixed __MINGW32__ code.

        * Makefile.am: Modified some rules for cross compiling.

2003-05-29  Stefan Jahn  <stefan@lkcc.org>

        * raw-ltdl.c: Some more modifications for mingw32 platforms.

2003-05-29  Stefan Jahn  <stefan@lkcc.org>

        * Makefile.am (libguile_srfi_srfi_1_la_LDFLAGS,
        libguile_srfi_srfi_4_la_LDFLAGS,
        libguile_srfi_srfi_13_14__la_LDFLAGS): Added the -no-undefined
        option for the mingw32 build.

2003-05-29  Stefan Jahn  <stefan@lkcc.org>

        * standalone/Makefile.am: Setup to build on mingw32.
2003-05-29 14:39:13 +00:00
Kevin Ryde
934039f8ef (--with-cc-for-build): Remove this option, CC_FOR_BUILD
variable is more or less standard, and is adequate for the task.
2003-05-16 00:01:41 +00:00
Kevin Ryde
457a4e812b (CC_FOR_BUILD): Use AC_ARG_VAR. 2003-05-11 23:12:18 +00:00
Kevin Ryde
a9e0a8afb3 (SCM_SINGLES): Use AC_CHECK_SIZEOF(float), to
eliminated guess-yes when cross compiling.
2003-05-11 23:03:57 +00:00
Kevin Ryde
d4628c57ec (SCM_I_GSC_STACK_GROWS_UP): Fix missing comma in AC_TRY_RUN. 2003-05-11 22:10:23 +00:00
Rob Browning
849f29a4fd * configure.in: handle pre-inst-guile-env and add
test-suite/standalone/Makefile.
2003-04-07 17:31:02 +00:00
Marius Vollmer
9f1555fe8d Check for mpz_import, which is required but only available in GMP 4.1. 2003-04-05 23:32:55 +00:00
Rob Browning
a6be66ed1e * configure.in: add GMP test (require GMP). 2003-04-04 21:46:45 +00:00
Rob Browning
9a52bc2af1 * configure.in: big overhaul to shift us to have separate private,
config.h, and public, scmconfig.h, configuration headers.  Added a
fair amount of code to track down new required types: scm_t_uint8,
scm_t_uint16, scm_t_uint32, scm_t_int8, scm_t_int16, scm_t_int32,
and to detect optional types scm_t_uint64, scm_t_in64, long long,
unsigned long long, scm_t_ptrdiff, intptr_t, and uintptr_t.
(SCM_I_GSC_T_PTRDIFF): gen-scmconfig.h.in AC_SUBST var.
(SCM_I_GSC_NEEDS_INTTYPES_H): gen-scmconfig.h.in AC_SUBST var.
(SCM_I_GSC_NEEDS_STDINT_H): gen-scmconfig.h.in AC_SUBST var.
(SCM_I_GSC_T_UINT8): gen-scmconfig.h.in AC_SUBST var.
(SCM_I_GSC_T_UINT16): gen-scmconfig.h.in AC_SUBST var.
(SCM_I_GSC_T_UINT32): gen-scmconfig.h.in AC_SUBST var.
(SCM_I_GSC_T_UINT64): gen-scmconfig.h.in AC_SUBST var.
(SCM_I_GSC_T_INT8): gen-scmconfig.h.in AC_SUBST var.
(SCM_I_GSC_T_INT16): gen-scmconfig.h.in AC_SUBST var.
(SCM_I_GSC_T_INT32): gen-scmconfig.h.in AC_SUBST var.
(SCM_I_GSC_T_INT64): gen-scmconfig.h.in AC_SUBST var.
(USE_PTHREAD_THREADS): removed - handled by gen-scmconfig.c.
(USE_NULL_THREADS): removed - handled by gen-scmconfig.c.
(USE_COOP_THREADS): removed - handled by gen-scmconfig.c.
(SCM_I_GSC_USE_PTHREAD_THREADS): gen-scmconfig.h.in AC_SUBST var.
(SCM_I_GSC_USE_NULL_THREADS): gen-scmconfig.h.in AC_SUBST var.
(SCM_I_GSC_USE_COOP_THREADS): gen-scmconfig.h.in AC_SUBST var.
(STACK_GROWS_UP): removed - handled by gen-scmconfig.c.
(SCM_I_GSC_STACK_GROWS_UP): gen-scmconfig.h.in AC_SUBST var.
(GUILE_DEBUG_FREELIST): removed - handled by gen-scmconfig.c.
(SCM_I_GSC_GUILE_DEBUG_FREELIST): gen-scmconfig.h.in AC_SUBST var.
(GUILE_DEBUG): removed - handled by gen-scmconfig.c.
(SCM_I_GSC_GUILE_DEBUG): gen-scmconfig.h.in AC_SUBST var.
(SCM_ENABLE_DEPRECATED): removed - handled by gen-scmconfig.c.
(SCM_I_GSC_ENABLE_DEPRECATED): gen-scmconfig.h.in AC_SUBST var.
(HAVE_ARRAYS): removed - handled by gen-scmconfig.c.
(SCM_I_GSC_HAVE_ARRAYS): gen-scmconfig.h.in AC_SUBST var.
(SCM_ENABLE_ELISP): removed - handled by gen-scmconfig.c.
(SCM_I_GSC_ENABLE_ELISP): gen-scmconfig.h.in AC_SUBST var.
(SCM_I_GSC_C_INLINE): gen-scmconfig.h.in AC_SUBST var.
(DEBUG_EXTENSIONS): removed - handled by gen-scmconfig.c.
(READER_EXTENSIONS): removed - handled by gen-scmconfig.c.
(USE_THREADS): removed - handled by gen-scmconfig.c.
(GUILE_ISELECT): removed - handled by gen-scmconfig.c.
(DYNAMIC_LINKING): removed - handled by gen-scmconfig.c.
2003-03-25 23:51:15 +00:00
Rob Browning
8907576fb2 * configure.in (AC_CONFIG_SRCDIR): use GUILE-VERSION.
(AM_CONFIG_HEADER): change to config.h
2003-02-27 07:16:39 +00:00
Mikael Djurfeldt
09841c7783 * configure.in: Test if pthread.h declares
pthread_mutexattr_settype ().
2002-12-16 09:25:48 +00:00
Mikael Djurfeldt
ad280ae0a3 * configure.in (_THREAD_SAFE): Define when pthreads are enabled in
order to get thread safe versions of glibc functions.
2002-12-10 17:54:01 +00:00
Mikael Djurfeldt
9bc4701cd3 * __scm.h (SCM_ALLOW_INTS_ONLY): Removed.
(SCM_NONREC_CRITICAL_SECTION_START,
SCM_NONREC_CRITICAL_SECTION_END, SCM_REC_CRITICAL_SECTION_START,
SCM_REC_CRITICAL_SECTION_END): New macros.
(SCM_CRITICAL_SECTION_START/END): Defined here.

* eval.c: Insert SOURCE_SECTION_START / SOURCE_SECTION_END around
the three calls to scm_m_expand_body.

* gc.h: #include "libguile/pthread-threads.h";
(SCM_FREELIST_CREATE, SCM_FREELIST_LOC): New macros.

* gc.c (scm_i_freelist, scm_i_freelist2): Defined to be of type
scm_t_key;

* gc.c, gc-freelist.c, inline.h: Use SCM_FREELIST_LOC for freelist
access.

* gc-freelist.c (scm_gc_init_freelist): Create freelist keys.

* gc-freelist.c, threads.c (really_launch): Use
SCM_FREELIST_CREATE.

* gc-malloc.c (scm_realloc, scm_gc_register_collectable_memory):

* gc.c (scm_i_expensive_validation_check, scm_gc,
scm_gc_for_newcell): Put threads to sleep before doing GC-related
heap administration so that those pieces of code are executed
single-threaded.  We might consider rewriting these code sections
in terms of a "call_gc_code_singly_threaded" construct instead of
calling the pair of scm_i_thread_put_to_sleep () and
scm_i_thread_wake_up ().  Also, we would want to have as many of
these sections eleminated.

* init.c (scm_init_guile_1): Call scm_threads_prehistory.

* inline.h: #include "libguile/threads.h"

* pthread-threads.h: Macros now conform more closely to the
pthreads interface.  Some of them now take a second argument.

* threads.c, threads.h: Many changes.

* configure.in: Temporarily replaced "copt" threads option with new
option "pthreads".
(USE_PTHREAD_THREADS): Define if pthreads configured.
2002-12-09 13:42:58 +00:00
Rob Browning
9e6e154e84 * configure.in (GUILE_EFFECTIVE_VERSION): AC_SUBST it.
(AC_CONFIG_FILES): separate out the files that need to be chmodded
at the end of config.status.  Our "default" approach using
AC_CONFIG_COMMANDS quit working (and would have needed to be
changed to AC_CONFIG_COMMANDS(,,CMDS) rather than our previous
AC_CONFIG_COMMANDS(default,CMDS), but I the new approach, using
per-file AC_CONFIG_FILES calls appears to be more "correct" in the
current autoconf docs.
2002-12-09 00:52:03 +00:00
Marius Vollmer
18622c4e84 Do not configure QTHREADS. Do not define USE_COOP_THREADS. Changed
logic for thread package selection so that the default is
"coop-pthread" when -lpthread is found, "null" otherwise.
2002-12-02 01:02:46 +00:00
Mikael Djurfeldt
cfc7c7c03f * GUILE-VERSION: Added versioning info for srfi 1.
* configure.in (LIBGUILE_SRFI_SRFI_1_INTERFACE_CURRENT,
LIBGUILE_SRFI_SRFI_1_INTERFACE_REVISION,
LIBGUILE_SRFI_SRFI_1_INTERFACE_AGE,
LIBGUILE_SRFI_SRFI_1_INTERFACE): New AC_SUBST.
2002-12-01 13:10:07 +00:00
Marius Vollmer
d8db94d601 (USE_THREADS, GUILE_ISELECT): Define always. We define them with
AC_DEFINE and not in some header file so that they are visible exactly
in the same way as they used to be.
2002-11-10 22:06:32 +00:00
Marius Vollmer
5cbed2d017 Do not add "threads.o" to the libobjs, it is now always compiled.
(USE_THREADS, GUILE_ISELECT): Do not define.
2002-11-03 22:08:49 +00:00
Marius Vollmer
18306183b5 Handle thread package "coop-pthread" with alias "copt" and define
USE_COPT_THREADS when it is selected.  Always define GUILE_ISELECT.
2002-10-27 20:28:52 +00:00
Neil Jerram
8ee7506bab Merge enhanced debugging features from `guile-debugger' package. 2002-10-26 19:05:28 +00:00
Marius Vollmer
585356dcbd Changed logic in thread support configuration such that
--with-threads=no is equivalent to --with-threads=null.  On platforms
that are not supported by QuickThreads, we also use the null-threads.
Thus, USE_THREADS is always defined now.
2002-10-21 12:16:25 +00:00
Marius Vollmer
afcfb9df4d Shuffled around and extended the thread configuration code to allow
the "null" thread package to be selected.  Define USE_NULL_THREADS in
that case.
2002-10-16 16:32:28 +00:00
Rob Browning
bdcccc1806 * configure.in: turn on -Werror by default. We're now clean. I'd
like to stay that way.  If we want, we can turn it off by default
when we make the stable release, but I caught a lot of bugs this
way.  Accomodate libguile-ltdl -- therea are some ltdl things that
are commented out now INCLTDL and LIBLTDL.  I think we may not
need them anymore, but I'll leave them until we're sure.  We also
killed off the libltdl dir and related options including the
AC_CONFIG_SUBDIRS.  I also added some explicit tests for some
headers and functions that weren't listed but were in
scmconfig.h.in. though this may have been unnecessary.
2002-10-05 04:57:09 +00:00
Marius Vollmer
abd2bc1861 Use AC_LIBLTDL_CONVENIENCE instead of AC_LIBLTDL_INSTALLABLE. 2002-10-03 22:02:14 +00:00
Marius Vollmer
d19c97670e Check for __libc_stack_end. 2002-08-24 00:55:50 +00:00
Han-Wen Nienhuys
39e8f371e2 (INPUT_ERROR): Prepare for file:line:column error
messages for errors in scm_lreadr() and friends.
2002-08-04 23:33:28 +00:00
Gary Houston
f5f45abe9f minor help-line edit 2002-08-04 19:49:56 +00:00
Dirk Herrmann
dd897aafbd * benchmark-guile.in: Copied from check-guile.in and adapted for
use with benchmarks.

* Makefile.am:  Recurse into the benchmark-suite subdir.

* configure.in:  Added benchmarking files.
2002-07-20 01:30:36 +00:00
Gary Houston
4f6f9ae3d3 * dynl.c: Don't define stub procedures if DYNAMIC_LINKING is not
defined.  They don't do anything useful, especially since the
	only case where DYNAMIC_LINKING is undefined seems to be
	when --with-modules=no is given to configure, which is basically
	requesting that the "dynamic linking module" be omitted.

	* Makefile.am (libguile_la_SOURCES): move dynl.c from
	libguile_la_SOURCES to EXTRA_libguile_la_SOURCES.

	* extensions.c (load_extension): check DYNAMIC_LINKING for
	scm_dynamic_call.
	* init.c (scm_init_guile_1): check DYNAMIC_LINKING for
	scm_init_dynamic_linking.

	* configure.in: check dynamic linking before modules.  Add dynl.c
	if dynamic linking is available, i.e., unless --with-modules=no
	was given to configure.
2002-07-12 17:46:15 +00:00
Marius Vollmer
0db83c0423 * configure.in (AC_LIBTOOL_WIN32_DLL): Add for shared Cygwin
build.
Add --with-cc-for-build option to re-enable cross building.
Add --with-guile-for-build option to re-enable cross building.
2002-07-07 19:38:23 +00:00
Marius Vollmer
e9527dd63d (AC_CHECK_FUNCS): Check for copysign. 2002-05-22 13:49:42 +00:00
Marius Vollmer
594e69b74b (AC_CHECK_HEADERS): Check for floatingpoint.h ieeefp.h, and nan.h.
(AC_CHECK_FUNCS): Check for finite, isinf, and isnan.
2002-05-06 22:26:57 +00:00
Marius Vollmer
8f16fe5a70 Include <sys/types.h> before <netinet/in.h> when checking vor IPv6.
This is for NetBSD 1.5.  Thanks to Greg Troxel!
2002-05-06 19:04:40 +00:00
Marius Vollmer
a44e61ac79 Bump required autoconf version to 2.53. Move uses of AC_LIBOBJ after
AC_PROG_CC.  AC_LIBOBJ needs OBJEXT which is set by AC_PROG_CC.
2002-04-17 17:37:29 +00:00
Rob Browning
eede3dbc07 * configure.in: updates for new autoconf -- add definitions to
AC_DEFINE calls, and convert occurences of LIBOBJS to AC_LIBOBJ
calls.
2002-04-11 04:41:30 +00:00
Thien-Thi Nguyen
2f13db9a0c (top_srcdir_absolute): New AC_SUBST var. 2002-03-04 22:37:37 +00:00
Thien-Thi Nguyen
6812c28f98 (top_builddir_absolute): New AC_SUBST var.
(AC_CONFIG_FILES): Add am/Makefile, pre-inst-guile.
(AC_CONFIG_COMMANDS): Also chmod +x pre-inst-guile.
2002-02-26 10:06:43 +00:00
Rob Browning
22b7f58510 * configure.in: AC_SUBST the centralized shared lib versioning
variables from ./GUILE-VERSION.
(LIBQTHREADS_INTERFACE_CURRENT): new AC_SUBST.
(LIBQTHREADS_INTERFACE_REVISION): new AC_SUBST.
(LIBQTHREADS_INTERFACE_AGE): new AC_SUBST.
(LIBQTHREADS_INTERFACE): new AC_SUBST.
(LIBGUILE_INTERFACE_CURRENT): new AC_SUBST.
(LIBGUILE_INTERFACE_REVISION): new AC_SUBST.
(LIBGUILE_INTERFACE_AGE): new AC_SUBST.
(LIBGUILE_INTERFACE): new AC_SUBST.
(LIBGUILE_SRFI_SRFI_4_INTERFACE_CURRENT): new AC_SUBST.
(LIBGUILE_SRFI_SRFI_4_INTERFACE_REVISION): new AC_SUBST.
(LIBGUILE_SRFI_SRFI_4_INTERFACE_AGE): new AC_SUBST.
(LIBGUILE_SRFI_SRFI_4_INTERFACE): new AC_SUBST.
(LIBGUILE_SRFI_SRFI_13_14_INTERFACE_CURRENT): new AC_SUBST.
(LIBGUILE_SRFI_SRFI_13_14_INTERFACE_REVISION): new AC_SUBST.
(LIBGUILE_SRFI_SRFI_13_14_INTERFACE_AGE): new AC_SUBST.
(LIBGUILE_SRFI_SRFI_13_14_INTERFACE): new AC_SUBST.
2002-02-25 05:50:10 +00:00
Thien-Thi Nguyen
dce05f4a4b (libguile/guile-snarf-docs-texi): Remove
from `AC_CONFIG_FILES' and `AC_CONFIG_COMMANDS'.
2002-02-05 09:35:42 +00:00
Stefan Jahn
1fa86ca526 2002-01-31 Stefan Jahn <stefan@lkcc.org>
* convert.c, convert.h, convert.i.c: New files containing C
        array to Scheme conversion helpers meant to be replacement
        functions for the deprecated gh interface.

        * Makefile.am: Setup rules for new `convert.*' files.

2002-01-31  Stefan Jahn  <stefan@lkcc.org>

        * configure.in: Add -DLIBLTDL_DLL_IMPORT to INCLTDL when using
        `libltdl.dll'.
2002-01-31 10:38:50 +00:00
Stefan Jahn
af68e5e5a6 2002-01-28 Stefan Jahn <stefan@lkcc.org>
* configure.in (guile_cv_have_uint32_t): Look also in
        `stdint.h' for uint32_t.

2002-01-28  Stefan Jahn  <stefan@lkcc.org>

        * symbols.c (scm_c_symbol2str): New function, replacement for
        `gh_scm2newsymbol()'.

        * strings.c (scm_c_substring2str): New function.  Proper
        replacement for `gh_get_substr()'.

        * socket.c: Include `stdint.h' if available for the `uint32_t'
        declaration.

        * scmsigs.c (s_scm_sigaction): Initialize `chandler' (inhibits
        compiler warning).

        * backtrace.c: Include `lang.h' for GUILE_DEBUG conditional.
2002-01-28 21:15:55 +00:00
Neil Jerram
3d1a89b9ee * Add non-libguile Elisp support files to CVS trunk. (NB work in progress.) 2002-01-22 23:46:01 +00:00
Marius Vollmer
ff26bc5631 Really check for "makeinfo", not for "maakeinfo", which I put there
for testing the failure case.
2001-12-26 15:39:06 +00:00
Marius Vollmer
a9d78896d1 (HAVE_MAKEINFO): Check for the makeinfo program and set this
conditional accordingly.
2001-12-26 15:36:43 +00:00
Marius Vollmer
5bd732c952 * acconfig.h (HAVE_INLINE): Added template.
* configure.in (HAVE_INLINE): Define it when the compiler supports
inline functions.
2001-11-25 14:44:10 +00:00
Rob Browning
097914898d * configure.in: switch to AC_LIBLTDL_INSTALLABLE so we'll use the
system libltdl when it's available.  Aside from the normal reasons
to prefer installed shared libs, this means other apps that link
with libguile and also use libltdl will be more likely to work
right.
2001-11-19 06:30:29 +00:00
Marius Vollmer
813b3dd465 check for sizes of short, size_t, uintptr_t, and
ptrdiff_t.  Checking for a size also checks automatically for the
existence of the type, so we don't check for the existence of
uintptr_t, ptrdiff_t and long long ourselves.
2001-11-12 00:58:33 +00:00