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
AC_PREREQ(2.61)
-dnl `patsubst' here deletes the newline which "echo" prints. We can't use
-dnl "echo -n" since -n is not portable (see autoconf manual "Limitations of
-dnl Builtins"), in particular on solaris it results in a literal "-n" in
-dnl the output.
-dnl
AC_INIT([GNU Guile],
- patsubst(m4_esyscmd(. ./GUILE-VERSION && echo ${GUILE_VERSION}),[
-]),
+ m4_esyscmd([build-aux/git-version-gen \
+ .tarball-version \
+ 's/^release_\([0-9][0-9]*\)-\([0-9][0-9]*\)-\([0-9][0-9]*\)/v\1.\2\.\3/g']),
[bug-guile@gnu.org])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR(GUILE-VERSION)
-AM_INIT_AUTOMAKE([gnu no-define check-news -Wall -Wno-override])
+AM_INIT_AUTOMAKE([gnu no-define -Wall -Wno-override])
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])], [AC_SUBST([AM_DEFAULT_VERBOSITY],1)])
AC_COPYRIGHT(GUILE_CONFIGURE_COPYRIGHT)
AC_CONFIG_SRCDIR([GUILE-VERSION])
. $srcdir/GUILE-VERSION
+GUILE_VERSION="$PACKAGE_VERSION"
AC_CONFIG_HEADERS([config.h])
AH_TOP(/*GUILE_CONFIGURE_COPYRIGHT*/)
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([<ltdl.h> not found. See README.])])
+
+AM_CONDITIONAL([HAVE_SHARED_LIBRARIES], [test "x$enable_shared" = "xyes"])
+
+dnl Check for libltdl.
+AC_LIB_HAVE_LINKFLAGS([ltdl], [], [#include <ltdl.h>],
+ [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)
*) AC_MSG_ERROR(bad value ${enableval} for --enable-error-on-warning) ;;
esac])
-SCM_I_GSC_GUILE_DEBUG_FREELIST=0
-AC_ARG_ENABLE(debug-freelist,
- [ --enable-debug-freelist include garbage collector freelist debugging code],
- if test "$enable_debug_freelist" = y \
- || test "$enable_debug_freelist" = yes; then
- SCM_I_GSC_GUILE_DEBUG_FREELIST=1
- fi)
-
AC_ARG_ENABLE(debug-malloc,
[ --enable-debug-malloc include malloc debugging code],
if test "$enable_debug_malloc" = y || test "$enable_debug_malloc" = yes; then
[ --disable-regex omit regular expression interfaces],,
enable_regex=yes)
-AC_ARG_ENABLE([discouraged],
- AS_HELP_STRING([--disable-discouraged],[omit discouraged features]))
-
-if test "$enable_discouraged" = no; then
- SCM_I_GSC_ENABLE_DISCOURAGED=0
-else
- SCM_I_GSC_ENABLE_DISCOURAGED=1
-fi
-
AC_ARG_ENABLE([deprecated],
AS_HELP_STRING([--disable-deprecated],[omit deprecated features]))
AC_DEFINE_UNQUOTED([SCM_WARN_DEPRECATED_DEFAULT], "$warn_default",
[Define this to control the default warning level for deprecated features.])
-AC_ARG_ENABLE(elisp,
- [ --disable-elisp omit Emacs Lisp support],,
- enable_elisp=yes)
-
dnl Added the following configure option in January 2008 following
dnl investigation of problems with "64" system and library calls on
dnl Darwin (MacOS X). The libguile code (_scm.h) assumes that if a
AC_LIBOBJ([debug-malloc])
fi
-if test "$enable_elisp" = yes; then
- SCM_I_GSC_ENABLE_ELISP=1
-else
- SCM_I_GSC_ENABLE_ELISP=0
-fi
AC_CHECK_LIB(uca, __uc_get_ar_bsp)
AC_C_CONST
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
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
#endif
#include <sys/socket.h>
])
-AC_CHECK_TYPE(struct ip_mreq)
+
+AC_CHECK_TYPES([struct ip_mreq], , , [#include <netinet/in.h>])
GUILE_HEADER_LIBC_WITH_UNISTD
# 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
# 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
dnl GMP tests
-AC_LIB_HAVE_LINKFLAGS(gmp,
+AC_LIB_HAVE_LINKFLAGS([gmp],
[],
[#include <gmp.h>],
- [mpz_import (0, 0, 0, 0, 0, 0, 0);],
- AC_MSG_ERROR([GNU MP 4.1 or greater not found, see README]))
+ [mpz_import (0, 0, 0, 0, 0, 0, 0);])
+
+if test "x$HAVE_LIBGMP" != "xyes"; then
+ AC_MSG_ERROR([GNU MP 4.1 or greater not found, see README])
+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
AC_CHECK_SIZEOF(ssize_t)
ffi_size_type=uint$(($ac_cv_sizeof_size_t*8))
ffi_ssize_type=sint$(($ac_cv_sizeof_ssize_t*8))
-AC_DEFINE_UNQUOTED(ffi_type_size_t, ffi_type_${ffi_size_type},
+AC_DEFINE_UNQUOTED([ffi_type_size_t], ffi_type_${ffi_size_type},
[ffi type for size_t])
-AC_DEFINE_UNQUOTED(ffi_type_ssize_t, ffi_type_${ffi_ssize_type},
+AC_DEFINE_UNQUOTED([ffi_type_ssize_t], ffi_type_${ffi_ssize_type},
[ffi type for ssize_t])
dnl i18n tests
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
#--------------------------------------------------------------------
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])],
[],
[#include <gc/gc.h>])
+LIBS="$save_LIBS"
+
AC_CHECK_SIZEOF(float)
if test "$ac_cv_sizeof_float" -le "$ac_cv_sizeof_long"; then
if test "$with_threads" = pthreads; then
-AC_MSG_CHECKING(whether pthread_attr_getstack works for the main thread)
+AC_MSG_CHECKING([whether pthread_attr_getstack works for the main thread])
old_CFLAGS="$CFLAGS"
CFLAGS="$PTHREAD_CFLAGS $CFLAGS"
-AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#if HAVE_PTHREAD_ATTR_GETSTACK
-#include <pthread.h>
-
-int main ()
-{
- pthread_attr_t attr;
- void *start, *end;
- size_t size;
-
- pthread_getattr_np (pthread_self (), &attr);
- pthread_attr_getstack (&attr, &start, &size);
- end = (char *)start + size;
-
- if ((void *)&attr < start || (void *)&attr >= end)
+if test "$cross_compiling" = "no"; then
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #if HAVE_PTHREAD_ATTR_GETSTACK
+ #include <pthread.h>
+
+ int main ()
+ {
+ pthread_attr_t attr;
+ void *start, *end;
+ size_t size;
+
+ pthread_getattr_np (pthread_self (), &attr);
+ pthread_attr_getstack (&attr, &start, &size);
+ end = (char *)start + size;
+
+ if ((void *)&attr < start || (void *)&attr >= end)
+ return 1;
+ else
+ return 0;
+ }
+ #else
+ int main ()
+ {
return 1;
- else
- return 0;
-}
-#else
-int main ()
-{
- return 1;
-}
-#endif
-]])],
-[works=yes
-AC_DEFINE([PTHREAD_ATTR_GETSTACK_WORKS], [1], [Define when pthread_att_get_stack works for the main thread])],
-[works=no],
-[])
+ }
+ #endif
+ ]])],
+ [works=yes
+ AC_DEFINE([PTHREAD_ATTR_GETSTACK_WORKS], [1], [Define when pthread_att_get_stack works for the main thread])],
+ [works=no],
+ [])
+else
+ works="assuming it doesn't"
+fi
CFLAGS="$old_CFLAGS"
AC_MSG_RESULT($works)
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)
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_GUILE_DEBUG_FREELIST])
-AC_SUBST([SCM_I_GSC_ENABLE_DISCOURAGED])
AC_SUBST([SCM_I_GSC_ENABLE_DEPRECATED])
-AC_SUBST([SCM_I_GSC_ENABLE_ELISP])
AC_SUBST([SCM_I_GSC_STACK_GROWS_UP])
AC_SUBST([SCM_I_GSC_C_INLINE])
AC_CONFIG_FILES([libguile/gen-scmconfig.h])
emacs/Makefile
examples/Makefile
libguile/Makefile
- srfi/Makefile
+ libguile/version.h
guile-readline/Makefile
test-suite/Makefile
test-suite/standalone/Makefile
+ test-suite/vm/Makefile
meta/Makefile
module/Makefile
- testsuite/Makefile
])
AC_CONFIG_FILES([meta/guile-2.0.pc])
AC_CONFIG_FILES([meta/guile-2.0-uninstalled.pc])
-AC_CONFIG_FILES([check-guile], [chmod +x check-guile])
-AC_CONFIG_FILES([benchmark-guile], [chmod +x benchmark-guile])
-AC_CONFIG_FILES([meta/guile], [chmod +x meta/guile])
-AC_CONFIG_FILES([meta/uninstalled-env], [chmod +x meta/uninstalled-env])
-AC_CONFIG_FILES([meta/gdb-uninstalled-guile], [chmod +x meta/gdb-uninstalled-guile])
-AC_CONFIG_FILES([meta/guile-tools], [chmod +x meta/guile-tools])
-AC_CONFIG_FILES([libguile/guile-snarf],
- [chmod +x libguile/guile-snarf])
-AC_CONFIG_FILES([libguile/guile-doc-snarf],
- [chmod +x libguile/guile-doc-snarf])
-AC_CONFIG_FILES([libguile/guile-func-name-check],
- [chmod +x libguile/guile-func-name-check])
-AC_CONFIG_FILES([libguile/guile-snarf-docs],
- [chmod +x libguile/guile-snarf-docs])
-AC_CONFIG_FILES([test-suite/standalone/test-use-srfi],
- [chmod +x test-suite/standalone/test-use-srfi])
-AC_CONFIG_FILES([test-suite/standalone/test-fast-slot-ref],
- [chmod +x test-suite/standalone/test-fast-slot-ref])
AC_CONFIG_FILES([doc/ref/effective-version.texi])
+GUILE_CONFIG_SCRIPT([check-guile])
+GUILE_CONFIG_SCRIPT([benchmark-guile])
+GUILE_CONFIG_SCRIPT([meta/guile])
+GUILE_CONFIG_SCRIPT([meta/uninstalled-env])
+GUILE_CONFIG_SCRIPT([meta/gdb-uninstalled-guile])
+GUILE_CONFIG_SCRIPT([meta/guile-tools])
+GUILE_CONFIG_SCRIPT([libguile/guile-snarf])
+GUILE_CONFIG_SCRIPT([libguile/guile-snarf-docs])
+GUILE_CONFIG_SCRIPT([test-suite/standalone/test-use-srfi])
+GUILE_CONFIG_SCRIPT([test-suite/standalone/test-fast-slot-ref])
+
AC_OUTPUT
dnl Local Variables: