X-Git-Url: https://git.hcoop.net/bpt/guile.git/blobdiff_plain/8a4ed2dd34c86eb451c5555a85f64f3fbdf9cef6..7112a34d56ff0611220b0e9f024ad0fffbe3cdad:/configure.ac diff --git a/configure.ac b/configure.ac index aac492e37..69f35e278 100644 --- a/configure.ac +++ b/configure.ac @@ -4,7 +4,8 @@ dnl define(GUILE_CONFIGURE_COPYRIGHT,[[ -Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. This file is part of GUILE @@ -74,10 +75,15 @@ AM_PROG_CC_C_O AC_LIBTOOL_DLOPEN AC_PROG_LIBTOOL -AC_CHECK_LIB([ltdl], [lt_dlinit], , - [AC_MSG_ERROR([libltdl not found. See README.])]) -AC_CHECK_HEADER([ltdl.h], [], - [AC_MSG_ERROR([ not found. See README.])]) + +AM_CONDITIONAL([HAVE_SHARED_LIBRARIES], [test "x$enable_shared" = "xyes"]) + +dnl Check for libltdl. +AC_LIB_HAVE_LINKFLAGS([ltdl], [], [#include ], + [lt_dlopenext ("foo");]) +if test "x$HAVE_LIBLTDL" != "xyes"; then + AC_MSG_ERROR([GNU libltdl (Libtool) not found, see README.]) +fi AC_CHECK_PROG(have_makeinfo, makeinfo, yes, no) AM_CONDITIONAL(HAVE_MAKEINFO, test "$have_makeinfo" = yes) @@ -278,8 +284,8 @@ AC_CHECK_SIZEOF(ptrdiff_t) AC_CHECK_SIZEOF(size_t) AC_CHECK_SIZEOF(off_t) -if test "$ac_cv_sizeof_long" -ne "$ac_cv_sizeof_void_p"; then - AC_MSG_ERROR(sizes of long and void* are not identical) +if test "$ac_cv_sizeof_long" -gt "$ac_cv_sizeof_void_p"; then + AC_MSG_ERROR(long does not fit into a void*) fi if test "$ac_cv_sizeof_ptrdiff_t" -ne 0; then @@ -641,7 +647,7 @@ AC_CHECK_HEADERS([complex.h fenv.h io.h libc.h limits.h malloc.h memory.h proces regex.h rxposix.h rx/rxposix.h sys/dir.h sys/ioctl.h sys/select.h \ sys/time.h sys/timeb.h sys/times.h sys/stdtypes.h sys/types.h \ sys/utime.h time.h unistd.h utime.h pwd.h grp.h sys/utsname.h \ -direct.h langinfo.h nl_types.h machine/fpu.h]) +direct.h langinfo.h nl_types.h machine/fpu.h poll.h]) # Reasons for testing: # nl_item - lacking on Cygwin @@ -670,7 +676,8 @@ AC_CHECK_TYPE(socklen_t, , #endif #include ]) -AC_CHECK_TYPE(struct ip_mreq) + +AC_CHECK_TYPES([struct ip_mreq], , , [#include ]) GUILE_HEADER_LIBC_WITH_UNISTD @@ -737,6 +744,7 @@ AC_CHECK_HEADERS([assert.h crt_externs.h]) # gmtime_r - recent posix, not on old systems # pipe - not in mingw # _pipe - specific to mingw, taking 3 args +# poll - since posix 2001 # 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 @@ -747,8 +755,9 @@ AC_CHECK_HEADERS([assert.h crt_externs.h]) # strcoll_l, newlocale - GNU extensions (glibc), also available on Darwin # nl_langinfo - X/Open, not available on Windows. # utimensat: posix.1-2008 +# sched_getaffinity, sched_setaffinity: GNU extensions (glibc) # -AC_CHECK_FUNCS([DINFINITY DQNAN cexp chsize clog clog10 ctermid fesetround ftime ftruncate fchown 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 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 nl_langinfo utimensat]) +AC_CHECK_FUNCS([DINFINITY DQNAN cexp chsize clog clog10 ctermid fesetround ftime ftruncate fchown getcwd geteuid getsid gettimeofday gmtime_r ioctl lstat mkdir mknod nice pipe _pipe poll 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 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 nl_langinfo utimensat sched_getaffinity sched_setaffinity]) # Reasons for testing: # netdb.h - not in mingw @@ -858,9 +867,7 @@ if test "x$HAVE_LIBGMP" != "xyes"; then fi dnl GNU libunistring is checked for by Gnulib's `libunistring' module. -if test "x$LTLIBUNISTRING" != "x"; then - LIBS="$LTLIBUNISTRING $LIBS" -else +if test "x$LTLIBUNISTRING" = "x"; then AC_MSG_ERROR([GNU libunistring is required, please install it.]) fi @@ -1112,8 +1119,6 @@ fi AC_REPLACE_FUNCS([strerror memmove mkstemp]) -AC_CHECK_HEADERS(floatingpoint.h ieeefp.h nan.h) - # Reasons for testing: # asinh, acosh, atanh, trunc - C99 standard, generally not available on # older systems @@ -1229,11 +1234,15 @@ main () #-------------------------------------------------------------------- PKG_CHECK_MODULES([BDW_GC], [bdw-gc]) -CFLAGS="$BDW_GC_CFLAGS $CFLAGS" +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_do_blocking ()' is available in GC 7.1 but not declared. -AC_CHECK_FUNCS([GC_do_blocking]) +# 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])], @@ -1247,6 +1256,8 @@ AC_CHECK_TYPE([GC_fn_type], [], [#include ]) +LIBS="$save_LIBS" + AC_CHECK_SIZEOF(float) if test "$ac_cv_sizeof_float" -le "$ac_cv_sizeof_long"; then @@ -1546,30 +1557,6 @@ AC_SUBST(LIBGUILE_INTERFACE_REVISION) AC_SUBST(LIBGUILE_INTERFACE_AGE) AC_SUBST(LIBGUILE_INTERFACE) -AC_SUBST(LIBGUILE_SRFI_SRFI_1_MAJOR) -AC_SUBST(LIBGUILE_SRFI_SRFI_1_INTERFACE_CURRENT) -AC_SUBST(LIBGUILE_SRFI_SRFI_1_INTERFACE_REVISION) -AC_SUBST(LIBGUILE_SRFI_SRFI_1_INTERFACE_AGE) -AC_SUBST(LIBGUILE_SRFI_SRFI_1_INTERFACE) - -AC_SUBST(LIBGUILE_SRFI_SRFI_4_MAJOR) -AC_SUBST(LIBGUILE_SRFI_SRFI_4_INTERFACE_CURRENT) -AC_SUBST(LIBGUILE_SRFI_SRFI_4_INTERFACE_REVISION) -AC_SUBST(LIBGUILE_SRFI_SRFI_4_INTERFACE_AGE) -AC_SUBST(LIBGUILE_SRFI_SRFI_4_INTERFACE) - -AC_SUBST(LIBGUILE_SRFI_SRFI_13_14_MAJOR) -AC_SUBST(LIBGUILE_SRFI_SRFI_13_14_INTERFACE_CURRENT) -AC_SUBST(LIBGUILE_SRFI_SRFI_13_14_INTERFACE_REVISION) -AC_SUBST(LIBGUILE_SRFI_SRFI_13_14_INTERFACE_AGE) -AC_SUBST(LIBGUILE_SRFI_SRFI_13_14_INTERFACE) - -AC_SUBST(LIBGUILE_SRFI_SRFI_60_MAJOR) -AC_SUBST(LIBGUILE_SRFI_SRFI_60_INTERFACE_CURRENT) -AC_SUBST(LIBGUILE_SRFI_SRFI_60_INTERFACE_REVISION) -AC_SUBST(LIBGUILE_SRFI_SRFI_60_INTERFACE_AGE) -AC_SUBST(LIBGUILE_SRFI_SRFI_60_INTERFACE) - AC_SUBST(LIBGUILE_I18N_MAJOR) AC_SUBST(LIBGUILE_I18N_INTERFACE_CURRENT) AC_SUBST(LIBGUILE_I18N_INTERFACE_REVISION) @@ -1596,15 +1583,13 @@ AC_SUBST(top_builddir_absolute) top_srcdir_absolute=`(cd $srcdir && pwd)` AC_SUBST(top_srcdir_absolute) -dnl We need `sitedir' in `guile-1.8.pc'. -dnl Note: `sitedir' must be kept in sync with `GUILE_SITE_DIR' in `guile.m4'. +dnl `sitedir' goes into libpath.h and the pkg-config file. pkgdatadir="$datadir/$PACKAGE_TARNAME" -sitedir="$pkgdatadir/site" +sitedir="$pkgdatadir/site/$GUILE_EFFECTIVE_VERSION" AC_SUBST([sitedir]) # Additional SCM_I_GSC definitions are above. AC_SUBST([SCM_I_GSC_GUILE_DEBUG]) -AC_SUBST([SCM_I_GSC_ENABLE_DISCOURAGED]) AC_SUBST([SCM_I_GSC_ENABLE_DEPRECATED]) AC_SUBST([SCM_I_GSC_STACK_GROWS_UP]) AC_SUBST([SCM_I_GSC_C_INLINE]) @@ -1621,7 +1606,7 @@ AC_CONFIG_FILES([ emacs/Makefile examples/Makefile libguile/Makefile - srfi/Makefile + libguile/version.h guile-readline/Makefile test-suite/Makefile test-suite/standalone/Makefile