summaryrefslogtreecommitdiff
path: root/configure.ac
Commit message (Collapse)AuthorAgeFilesLines
...
* | Remove -Wswitch-enum from compile flagsAndy Wingo2018-07-031-1/+1
| | | | | | | | | | | | | | | | * configure.ac (POTENTIAL_GCC_CFLAGS): Remove -Wswitch-enum, which requires that switch statements mention all enumerated values, even if there is a default clause. Note that -Wall enables -Wswitch, which is the same except it's silent if there's a default clause. The reason is that lightning has a number of switches like this.
* | Wire JIT availability check into Guile configureAndy Wingo2018-07-021-0/+3
| | | | | | | | | | * acinclude.m4 (GUILE_ENABLE_JIT): Add missing AC_CANONICAL_TARGET. * configure.ac: Add check if JIT is available.
* | Start to use C99 stdint in gen-scmconfigAndy Wingo2018-06-211-305/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac: Remove checks for stdint.h; we require C99 so it must be there; and in any case for our purposes we use gnulib, so it will be there. No need to check for inttypes.h. No need to check for what type maps to e.g. uint32_t either. * libguile/deprecated.h (SCM_HAVE_T_INT64, SCM_HAVE_T_UINT64): Deprecate these, as they are always 1. (SCM_HAVE_ARRAYS): Likewise deprecate; it's always 1. * libguile/gen-scmconfig.c: Always include stdint.h and stddef.h, and make it so that scmconfig.h also includes these. Use C99 types. * libguile/gen-scmconfig.h.in: Remove configure-substed vars that are no longer defined.
* | Update license notices in all C filesAndy Wingo2018-06-201-11/+8
| | | | | | | | | | Update to newest recommended license notices from the FSF. Everything stays LGPLv3+ except guile-readline which is GPLv3+.
* | Remove (C) from copyright statementsAndy Wingo2018-06-201-1/+1
| | | | | | | | | | | | As the FSF advises, 'There is no legal significance to using the three-character sequence “(C)”, but it does no harm.' It does take up space though! For that reason, we remove it here from our C files.
* | Require C99 to build GuileAndy Wingo2018-06-171-4/+5
| | | | | | | | * configure.ac: Refactor check to require C99, not just try to get C99.
* | Add configure check for auxiliary stacksAndy Wingo2018-06-171-2/+7
|/ | | | | | | | * configure.ac: Add a check for struct GC_stack_base.reg_base, which is a proxy for checking for the only aspect of ia64 that we care about. * libguile/gen-scmconfig.c: * libguile/gen-scmconfig.h.in: Arrange to define SCM_HAVE_AUXILIARY_STACK.
* Restore libgc 7.2 compatibilityAndy Wingo2017-04-201-1/+1
| | | | | | * configure.ac: Check for GC_is_heap_ptr, added after libgc 7.2. * libguile/pairs.h (GC_is_heap_ptr): Define a shim for GC_is_heap_ptr, inside BUILDING_LIBGUILE so as not to expose it to users.
* Add --with-bdw-gc and update READMEAndy Wingo2017-04-191-1/+5
| | | | | | * README: Update to 2.2. Add instructions for FreeBSD based on notes from Matt Wette. * configure.ac: Add --with-bdw-gc argument.
* build: Compress with lzip too.Ludovic Courtès2017-03-141-1/+1
| | | | * configure.ac: Add 'dist-lzip' Automake option.
* configure detects which set of prebuilt binaries to useAndy Wingo2017-03-141-0/+12
| | | | | | | | | | | | * configure.ac: Use detected endianness and word size to automatically select which set of prebuilt binaries to use. * meta/build-env.in (top_builddir): * meta/uninstalled-env.in (top_builddir): Update to use SCM_PREBUILT_BINARIES for prebuilt entry in GUILE_LOAD_COMPILED_PATH. * prebuilt/32-bit-big-endian: * prebuilt/32-bit-little-endian: * prebuilt/64-bit-little-endian: New links. * prebuilt/x86_64-pc-linux-gnu: Remove this link now that it's unneeded.
* Check for working profiling and virtual itimersMike Gran2017-03-061-1/+52
| | | | | | | | | | | * configure.ac (HAVE_USABLE_GETITIMER_PROF, HAVE_USABLE_GETITIMER_VIRTUAL): new tests * doc/ref/posix.texi (setitimer, getitimer): document provided? 'ITIMER_VIRTUAL and 'ITIMER_PROF * doc/ref/statprof.texi (statprof): document ITIMER_PROF requirements * libguile/scmsigs.c (scm_setitimer, scm_getitimer): document (provided? 'ITIMER_VIRTUAL) and (provided? 'ITIMER_PROF) (scm_init_scmsigs): add features ITIMER_VIRTUAL and ITIMER_PROF * test-suite/tests/asyncs.test ("prevention via sigprof"): throw when unsupported * test-suite/tests/signals.test: throw when not supported * test-suite/tests/statprof.test: throw when not supported
* Revert "build: Compress with lzip too."Andy Wingo2017-03-021-1/+1
| | | | | This reverts commit 89ce9fb31b00f1f243fe6f2450db50372cc0b86d. It was causing the hydra builds to fail.
* build: Compress with lzip too.Ludovic Courtès2017-03-011-1/+1
| | | | * configure.ac: Add 'dist-lzip' Automake option.
* Fix make-polar signedness of zeros on macOSMatt Wette2017-02-211-1/+2
| | | | | | * configure.ac: Check for __sincos. * libguile/numbers.c (scm_c_make_polar): Fall back to __sincos if possible. Fixes zero signedness of make-polar on macOS.
* Refine check for when atomics are available.Andy Wingo2016-12-061-0/+1
| | | | | | * configure.ac: * libguile/atomics-internal.h: Use HAVE_STDATOMIC_H to know when to use atomics.
* Use readdir instead of readdir_rAndy Wingo2016-12-061-1/+1
| | | | | | | | | * libguile/filesys.c: * configure.ac: Remove readdir_r / readdir64_r checks and usage. glibc's impls are thread-safe, the _r variants are squirrely and now deprecated in glibc, and it is expected that POSIX will mandate that readdir{,64} be thread-safe already. See https://sourceware.org/ml/libc-alpha/2016-02/msg00093.html.
* Ensure autoconf doesn't downgrade us to C99Andy Wingo2016-11-271-0/+12
| | | | | | | * configure.ac: Add -std=gnu11 if the compiler is GCC (or clang). This prevents AC_PROG_CC_C99 from downgrading us by adding -std=gnu99. Fixes regression whereby we were always using the fallback implementation of atomics.
* Require C99 to build Guile.Andy Wingo2016-08-311-1/+2
| | | | | | * configure.ac: Require C99 or later. Emacs does, therefore so can we. Note that by default GCC compiles in "gnu11" mode these days, and this declaration doesn't change that.
* Fix MinGW build errorAndy Wingo2016-07-251-1/+1
| | | | * configure.ac: Fix for recent rename of win32-uname.c to posix-w32.c.
* More robust setuid, setgid, etc detectionAndy Wingo2016-07-251-2/+2
| | | | | | | | * configure.ac: Check for getuid, getgid, setuid, and setgid. * libguile/posix.c (scm_getuid, scm_getgid, scm_setuid, scm_setgid): Only provide Scheme functions if the OS provides these facilities. (scm_geteuid, scm_getegid, scm_seteuid, scm_setegid): Provide if the host has getuid, getgid, etc, instead of being in a MinGW guard.
* build: Remove unneeded check for 'unsetenv'.Ludovic Courtès2016-07-251-2/+2
| | | | | * configure.ac: Remove check for 'unsetenv', which is unneeded since we use Gnulib's 'unsetenv'.
* Add meta/build-envAndy Wingo2016-07-101-0/+1
| | | | | | | | | | | | | * meta/build-env.in: New file which sets up an environment that does not inherit GUILE_LOAD_PATH / GUILE_LOAD_COMPILED_PATH (unless cross-compiling). * doc/ref/Makefile.am (autoconf-macros.texi): * libguile/Makefile.am (snarf2checkedtexi): * module/Makefile.am (ice-9/psyntax-pp.go): * test-suite/standalone/Makefile.am (GUILE_INSTALL_LOCALE): * am/bootstrap.am (.scm.go): * am/guilec (.scm.go): Use build-env. * configure.ac: Create build-env.
* Check for strtod_l before using it.Andy Wingo2016-06-241-1/+1
| | | | | | | | Based on a patch by Andy Stormont <astormont@racktopsystems.com>. * configure.ac: Check for strtod_l. * libguile/i18n.c (scm_locale_string_to_integer): Fix style. (scm_locale_string_to_inexact): Check for strtod_l.
* Detect too-old libunistring at configure-time.Andy Wingo2016-06-211-0/+7
| | | | | * configure.ac: Detect too-old libunistring at configure-time. Fixes #17399.
* build: Remove libguile/mkstemp.c, redundant with Gnulib.Ludovic Courtès2016-05-221-1/+1
| | | | | | | | | | Fixes <http://bugs.gnu.org/21425>. Reported by Kouhei Sutou <kou@cozmixng.org>. * configure.ac: Remove 'AC_REPLACE_FUNCS' for 'mkstemp'. * libguile/Makefile.am (EXTRA_libguile_@GUILE_EFFECTIVE_VERSION@_la_SOURCES): Remove mkstemp.c. * libguile/mkstemp.c: Remove.
* i18n: Check for non-POSIX strtol_l.Natanael Copa2016-05-221-2/+3
| | | | | * configure.ac: Check for strtol_l. * libguile/i18n.c: Check HAVE_STRTOL_L before using strtol_l.
* Distribute prebuilt bootstraps for common hostsAndy Wingo2016-01-291-0/+5
| | | | | | | | | | | | | | | | | * am/bootstrap.am: New file, factored out of bootstrap/Makefile.am. * bootstrap/Makefile.am: Use bootstrap.am. * prebuilt/Makefile.am: * prebuilt/i686-pc-linux-gnu/Makefile.am: * prebuilt/mips-unknown-linux-gnu/Makefile.am: * prebuilt/x86_64-unknown-linux-gnu/Makefile.am: New files. * configure.ac: Output the prebuilt/ makefiles. * Makefile.am: Descend into prebuilt/ when making dist. * meta/uninstalled-env.in: Arrange to put prebuilt/ in the beginning of the GUILE_LOAD_COMPILED_PATH. Also fix a case where bootstrap/ wasn't being correctly added to the load path.
* Use a bootstrapped -O0 compiler to compile the -O2 GuileAndy Wingo2015-10-231-0/+1
| | | | | | | | | | | | | | | | | | | This reduces total build time to around 30 minutes or so. * Makefile.am (SUBDIRS): Visit bootstrap/ before module/. * bootstrap/Makefile.am: New file. * configure.ac: Generate bootstrap/Makefile. * meta/uninstalled-env.in (top_builddir): Add bootstrap/ to the GUILE_LOAD_COMPILED_PATH. * module/Makefile.am: Simplify to just sort files in alphabetical order; since bootstrap/ was already compiled, we don't need to try to optimize compilation order. Although the compiler will get faster as more of the compiler itself is optimized, this isn't a significant enough effect to worry about.
* Merge commit '5fac1a7ada362d78f13143acbc0ceca7f2f101de'Andy Wingo2015-01-221-4/+1
|\ | | | | | | | | | | Conflicts: configure.ac doc/ref/libguile-parallel.texi
| * Add the 'guild' and 'guile' variables to 'guile-2.0.pc'.Ludovic Courtès2014-12-031-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac: Remove meta/guile-2.0.pc and meta/guile-2.0-uninstalled.pc from 'AC_CONFIG_FILES'. * meta/Makefile.am (substitute): New variable. (guile-2.0.pc, guile-2.0-uninstalled.pc): New targets. (guile-config, guild): Use $(substitute) instead of duplicated sed script. (CLEANFILES): Add the .pc files. * meta/guile-2.0.pc.in (bindir, guild, guile): New variables. * doc/ref/libguile-parallel.texi (Parallel Installations): Document the 'guild' and 'guile' pkg-config variables.
* | Merge commit 'a7bbba05838cabe2294f498e7008e1c51db6d664'Andy Wingo2015-01-221-3/+2
|\ \ | |/
| * i18n: Add HAVE_USELOCALE as a requirement for USE_GNU_LOCALE_API.Mark H Weaver2014-10-141-3/+2
| | | | | | | | | | | | * configure.ac: Check for uselocale. * libguile/i18n.c: Add HAVE_USELOCALE to the list of requirements before defining USE_GNU_LOCALE_API.
* | Merge branch 'stable-2.0'Mark H Weaver2014-09-301-8/+7
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: benchmark-suite/benchmarks/ports.bm libguile/async.h libguile/bytevectors.c libguile/foreign.c libguile/gsubr.c libguile/srfi-1.c libguile/vm-engine.h libguile/vm-i-scheme.c module/Makefile.am module/language/tree-il/analyze.scm module/language/tree-il/peval.scm module/scripts/compile.scm module/scripts/disassemble.scm test-suite/tests/asm-to-bytecode.test test-suite/tests/peval.test test-suite/tests/rdelim.test
| * build: Support pthread builds without 'pthread_cancel' support (Android).Ludovic Courtès2014-07-041-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | Reported by Sylvain Beucler <beuc@beuc.net>. * configure.ac: Check for 'pthread_cancel'. * libguile/threads.c (scm_cancel_thread): Conditionalize on !SCM_USE_PTHREAD_THREADS || defined HAVE_PTHREAD_CANCEL. * test-suite/tests/threads.test (require-cancel-thread): New procedure. ("timed joining fails if timeout exceeded", "join-thread returns timeoutval on timeout", "cancel succeeds", "handler result passed to join", "can cancel self"): Use it.
| * build: Use 'LT_LIB_M' to determine whether -lm is needed.Ludovic Courtès2014-07-041-4/+3
| | | | | | | | | | * configure.ac: Use 'LT_LIB_M' instead of 'AC_CHECK_LIB(m, cos)'. Suggested by Sylvain Beucler <beuc@beuc.net>.
| * Unconditionally build and test the ice-9/popen module.Eli Zaretskii2014-07-031-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * module/Makefile.am (ICE_9_SOURCES): Add ice-9/popen.scm. (ICE_9_SOURCES) [BUILD_ICE_9_POPEN]: Remove conditional addition of ice-9/popen.scm. (SCRIPTS_SOURCES): Add scripts/autofrisk.scm and scripts/scan-api.scm unconditionally. (SCRIPTS_SOURCES) [BUILD_ICE_9_POPEN]: Remove conditional addition of scripts/autofrisk.scm and scripts/scan-api.scm. * configure.ac: Remove the BUILD_ICE_9_POPEN condition. * test-suite/tests/popen.test (if-supported): Don't test for 'fork feature being supported.
* | Merge branch 'stable-2.0'v2.1.0Mark H Weaver2014-04-251-6/+24
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: GUILE-VERSION NEWS guile-readline/ice-9/readline.scm libguile/async.c libguile/backtrace.c libguile/deprecated.h libguile/gc-malloc.c libguile/gdbint.c libguile/init.c libguile/ioext.c libguile/mallocs.c libguile/print.c libguile/rw.c libguile/scmsigs.c libguile/script.c libguile/simpos.c libguile/snarf.h libguile/strports.c libguile/threads.c libguile/vm-i-scheme.c libguile/vm-i-system.c module/srfi/srfi-18.scm test-suite/Makefile.am test-suite/standalone/test-num2integral.c
| * build: Honor program name transformation in 'guild'.Ludovic Courtès2014-04-241-5/+0
| | | | | | | | | | | | | | | | | | | | * configure.ac: Remove erroneous 'guile_program_name' substitute; see <https://lists.gnu.org/archive/html/autoconf/2014-04/msg00010.html> for details. Remove 'meta/guild' config file. * meta/Makefile.am (guild): New target. (CLEANFILES): Add 'guild'. * meta/guild.in: Remove 'prefix' and 'exec_prefix' definitions; use @installed_guile@.
| * build: Fix Gnulib compilation when $builddir != $srcdir.Ludovic Courtès2014-03-121-0/+3
| | | | | | | | | | | | * configure.ac: Add -I$top_srcdir_absolute to 'CPPFLAGS'. Fixes out-of-source-tree compilation of lib/regex.c. Reported at <https://lists.gnu.org/archive/html/guile-devel/2014-03/msg00022.html>.
| * Provide glthread/lock.h implementation in terms of Guile threads.Ludovic Courtès2014-03-121-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/14404>. Thanks to Paul Eggert <eggert@cs.ucla.edu> for the suggestion. * m4/gnulib-cache.m4: Avoid 'lock' module. * m4/lock.m4, m4/threadlib.m4, lib/glthread/threadlib.c, lib/glthread/lock.c: Remove. * lib/glthread/lock.h: Rewrite in terms of libguile/threads.h. * m4/gnulib-common.m4, m4/gnulib-comp.m4, lib/Makefile.am, lib/unistd.in.h, maint.mk : Update, from Gnulib v0.1-92-g546ff82. * configure.ac (GNULIB_LOCK): Define 'GNULIB_LOCK'. Define 'USE_POSIX_THREADS' when building with pthread support. * Makefile.am (noinst_HEADERS): New variable. (BUILT_SOURCES): Add libguile/scmconfig.h. (libguile/scmconfig.h): New target.
| * Improve compliance with C standards regarding signed integer shifts.Mark H Weaver2014-03-071-4/+5
| | | | | | | | | | | | | | | | * configure.ac: Add -fwrapv when using GCC (or compatible), if supported. * libguile/numbers.h (SCM_I_MAKINUM): Cast to scm_t_bits (unsigned) before shifting, to avoid undefined behavior.
| * build: Bail out when 'PKG_CHECK_MODULES' is missing.Ludovic Courtès2014-02-201-1/+5
| | | | | | | | * configure.ac: Add 'm4_pattern_forbid' invocation.
* | build: Honor program name transformation in 'guild'.Ludovic Courtès2014-04-241-6/+1
| | | | | | | | | | | | | | | | | | | | * configure.ac: Remove erroneous 'guile_program_name' substitute; see <https://lists.gnu.org/archive/html/autoconf/2014-04/msg00010.html> for details. Remove 'meta/guild' config file. * meta/Makefile.am (guild): New target. (CLEANFILES): Add 'guild'. * meta/guild.in: Remove 'prefix' and 'exec_prefix' definitions; use @installed_guile@.
* | Merge branch 'stable-2.0'Mark H Weaver2013-12-121-4/+5
|\ \ | |/ | | | | | | | | | | Conflicts: libguile/pairs.c libguile/vm.c test-suite/tests/control.test
| * Fix computation of LIBLOBJS.Tom Tromey2013-12-121-4/+5
| | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/14193>. * configure.ac (LIBLOBJS): Add prefix to computed .lo file name so dependencies work properly.
* | Remove tests and shims for pre-7.2 bdw-gc.Andy Wingo2013-11-221-29/+4
| | | | | | | | | | | | | | | | | | | | | | * configure.ac: Remove checks for symbols present in bdw-gc 7.2. * libguile/finalizers.c: * libguile/gc-malloc.c: * libguile/gc.c: * libguile/guardians.c: * libguile/scmsigs.c: * libguile/threads.c: Remove shims.
* | Merge remote-tracking branch 'origin/stable-2.0'Mark H Weaver2013-04-141-6/+27
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: GUILE-VERSION libguile/array-map.c libguile/fports.h libguile/gc.h libguile/inline.h libguile/ports.c libguile/ports.h libguile/print.c libguile/r6rs-ports.c libguile/read.c test-suite/tests/00-socket.test
| * build: Tell `gen-scmconfig' whether the system has `struct timespec'.Ludovic Courtès2013-04-101-0/+23
| | | | | | | | | | | | | | | | * configure.ac: Reinstate `struct timespec' check removed in commit 7e7c6f6a937005b08fffd5aeccdf992459b07137, but define `HAVE_SYSTEM_STRUCT_TIMESPEC' instead of `HAVE_STRUCT_TIMESPEC'. * libguile/gen-scmconfig.c (main): Change `HAVE_STRUCT_TIMESPEC' to `HAVE_SYSTEM_STRUCT_TIMESPEC'.
| * simplify configure checks for functionality provided by gnulibAndy Wingo2013-04-091-6/+4
| | | | | | | | | | | | | | * configure.ac: Remove checks for pipe, stftime, times, and select, as our Gnulib modules already ensure they are provided. * libguile/stime.c: Rely on gnulib providing `times'.