X-Git-Url: http://git.hcoop.net/bpt/guile.git/blobdiff_plain/26d148066f9cb20e395a7dc4fefdf2e2ef0b2fb0..e0a00fe7e400aeb4d4314af410d43aea706cef62:/configure.ac diff --git a/configure.ac b/configure.ac index 85e31704e..34c4aa451 100644 --- a/configure.ac +++ b/configure.ac @@ -734,8 +734,6 @@ AC_CHECK_HEADERS([assert.h crt_externs.h]) # has it as an inline for chsize) # ioctl - not in mingw. # gmtime_r - recent posix, not on old systems -# pipe - not in mingw -# _pipe - specific to mingw, taking 3 args # readdir_r - recent posix, not on old systems # readdir64_r - not available on HP-UX 11.11 # stat64 - SuS largefile stuff, not on old systems @@ -751,17 +749,18 @@ AC_CHECK_HEADERS([assert.h crt_externs.h]) # AC_CHECK_FUNCS([DINFINITY DQNAN cexp chsize clog clog10 ctermid \ fesetround ftime ftruncate fchown fchmod getcwd geteuid getsid \ - gettimeofday gmtime_r ioctl lstat mkdir mknod nice pipe _pipe \ - readdir_r readdir64_r readlink rename rmdir select setegid seteuid \ - setlocale setpgid setsid sigaction siginterrupt stat64 strftime \ - strptime symlink sync sysconf tcgetpgrp tcsetpgrp times uname waitpid \ + gettimeofday gmtime_r ioctl lstat mkdir mknod nice \ + readdir_r readdir64_r readlink rename rmdir setegid seteuid \ + setlocale setpgid setsid sigaction siginterrupt stat64 \ + strptime symlink sync sysconf tcgetpgrp tcsetpgrp uname waitpid \ strdup system usleep atexit on_exit chown link fcntl ttyname getpwent \ getgrent kill getppid getpgrp fork setitimer getitimer strchr strcmp \ index bcopy memcpy rindex truncate unsetenv isblank _NSGetEnviron \ strcoll strcoll_l newlocale utimensat sched_getaffinity \ sched_setaffinity sendfile]) -AM_CONDITIONAL([HAVE_FORK], [test "x$ac_cv_func_fork" = "xyes"]) +AM_CONDITIONAL([BUILD_ICE_9_POPEN], + [test "x$enable_posix" = "xyes" && test "x$ac_cv_func_fork" = "xyes"]) # Reasons for testing: # netdb.h - not in mingw @@ -872,6 +871,14 @@ if test "x$HAVE_LIBGMP" != "xyes"; then AC_MSG_ERROR([GNU MP 4.1 or greater not found, see README]) fi +dnl `mpz_inits' and `mpz_clears' appeared in GMP 5.0.0. +save_CPPFLAGS="$CPPFLAGS" +if test "x$LIBGMP_PREFIX" != "x"; then + CPPFLAGS="-I$LIBGMP_PREFIX $CPPFLAGS" +fi +AC_CHECK_DECLS([mpz_inits], [], [], [[#include ]]) +CPPFLAGS="$save_CPPFLAGS" + dnl GNU libunistring is checked for by Gnulib's `libunistring' module. if test "x$LTLIBUNISTRING" = "x"; then AC_MSG_ERROR([GNU libunistring is required, please install it.]) @@ -1239,36 +1246,11 @@ save_LIBS="$LIBS" LIBS="$BDW_GC_LIBS $LIBS" CFLAGS="$BDW_GC_CFLAGS $CFLAGS" -AC_CHECK_FUNCS([GC_do_blocking GC_call_with_gc_active GC_pthread_exit \ - GC_pthread_cancel GC_allow_register_threads GC_pthread_sigmask \ - GC_set_start_callback GC_get_suspend_signal GC_move_disappearing_link \ - GC_get_heap_usage_safe GC_get_free_space_divisor \ - GC_gcollect_and_unmap GC_get_unmapped_bytes GC_set_finalizer_notifier \ - GC_set_finalize_on_demand GC_set_all_interior_pointers GC_get_gc_no \ - GC_set_java_finalization]) - -# Though the `GC_do_blocking ()' symbol is present in GC 7.1, it is not -# declared, and has a different type (returning void instead of -# void*). -AC_CHECK_DECL([GC_do_blocking], - [AC_DEFINE([HAVE_DECL_GC_DO_BLOCKING], [1], - [Define this if the `GC_do_blocking ()' function is declared])], - [], - [#include ]) +# Functions that might not be defined, depending on configuration. +AC_CHECK_FUNCS([GC_pthread_exit GC_pthread_cancel GC_pthread_sigmask]) -# `GC_fn_type' is not available in GC 7.1 and earlier. -AC_CHECK_TYPE([GC_fn_type], - [AC_DEFINE([HAVE_GC_FN_TYPE], [1], - [Define this if the `GC_fn_type' type is available.])], - [], - [#include ]) - -# `GC_stack_base' is not available in GC 7.1 and earlier. -AC_CHECK_TYPE([struct GC_stack_base], - [AC_DEFINE([HAVE_GC_STACK_BASE], [1], - [Define this if the `GC_stack_base' type is available.])], - [], - [#include ]) +# Functions from GC 7.3. +AC_CHECK_FUNCS([GC_move_disappearing_link]) LIBS="$save_LIBS" @@ -1295,8 +1277,11 @@ if test $scm_cv_struct_linger = yes; then fi -# On mingw, struct timespec is in . -# +dnl Check for `struct timespec', for the sake of `gen-scmconfig'. When +dnl building Guile, we always have it, thanks to Gnulib; but scmconfig.h +dnl must tell whether the system has it. +dnl +dnl On MinGW, struct timespec is in . AC_MSG_CHECKING(for struct timespec) AC_CACHE_VAL(scm_cv_struct_timespec, AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ @@ -1308,7 +1293,9 @@ AC_CACHE_VAL(scm_cv_struct_timespec, [scm_cv_struct_timespec="no"])) AC_MSG_RESULT($scm_cv_struct_timespec) if test $scm_cv_struct_timespec = yes; then - AC_DEFINE([HAVE_STRUCT_TIMESPEC], 1, + dnl Don't call it `HAVE_STRUCT_TIMESPEC' because pthread-win32's + dnl checks whether that macro is defined. + AC_DEFINE([HAVE_SYSTEM_STRUCT_TIMESPEC], 1, [Define this if your system defines struct timespec via either or .]) fi @@ -1539,10 +1526,11 @@ AC_SUBST(GCC_CFLAGS) GUILE_GNU_LD_RELRO -## If we're creating a shared library (using libtool!), then we'll -## need to generate a list of .lo files corresponding to the .o files -## given in LIBOBJS. We'll call it LIBLOBJS. -LIBLOBJS="`echo ${LIB@&t@OBJS} | sed 's,\.[[^.]]* ,.lo ,g;s,\.[[^.]]*$,.lo,'`" +LIBLOBJS="" +for file in $LIBOBJS; do + file=`echo "$file" | sed 's,\.[[^.]]*$,.lo,'` + LIBLOBJS="$LIBLOBJS libguile_${GUILE_EFFECTIVE_VERSION}_la-$file" +done ## We also need to create corresponding .doc and .x files EXTRA_DOT_DOC_FILES="`echo ${LIB@&t@OBJS} | sed 's,\.[[^.]]* ,.doc ,g;s,\.[[^.]]*$,.doc,'`"