*** empty log message ***
[bpt/guile.git] / configure.in
index 1a95617..6c6d441 100644 (file)
@@ -129,6 +129,10 @@ dnl a required part of the distribution.
 AC_DEFINE(DEBUG_EXTENSIONS)
 AC_DEFINE(READER_EXTENSIONS)
 
+AC_ARG_ENABLE(elisp,
+  [  --disable-elisp         omit Emacs Lisp support],,
+  enable_elisp=yes)
+
 dnl files which are destined for separate modules.
 
 if test "$enable_arrays" = yes; then
@@ -150,6 +154,10 @@ if test "$enable_debug_malloc" = yes; then
    LIBOBJS="$LIBOBJS debug-malloc.o"
 fi
 
+if test "$enable_elisp" = yes; then
+   AC_DEFINE(SCM_ENABLE_ELISP)
+fi
+
 #--------------------------------------------------------------------
 
 dnl Some more checks for Win32
@@ -157,7 +165,7 @@ AC_CYGWIN
 AC_MINGW32
 AC_LIBTOOL_WIN32_DLL
 
-AC_LIBLTDL_CONVENIENCE
+AC_LIBLTDL_INSTALLABLE
 AC_CONFIG_SUBDIRS(libltdl)
 
 AC_PROG_INSTALL
@@ -172,12 +180,21 @@ AC_MINIX
 AM_PROG_CC_STDC
 AM_PROG_LIBTOOL
 
+AC_CHECK_PROG(have_makeinfo, makeinfo, yes, no)
+AM_CONDITIONAL(HAVE_MAKEINFO, test "$have_makeinfo" = yes)
+
 AC_C_CONST
 AC_C_INLINE
 AC_C_BIGENDIAN
 
+if test "$ac_cv_c_inline" != no; then
+  AC_DEFINE(HAVE_INLINE)
+fi
+
+AC_CHECK_SIZEOF(short)
 AC_CHECK_SIZEOF(int)
 AC_CHECK_SIZEOF(long)
+AC_CHECK_SIZEOF(size_t)
 
 dnl Check for integral types that can represent the range of pointers.
 dnl If these types don't exist on this platform, they are replaced by
@@ -185,17 +202,10 @@ dnl "unsigned long" and "long", respectively.
 
 AC_CHECK_HEADERS(stdint.h)
 AC_CHECK_HEADERS(inttypes.h)
-AC_CHECK_TYPES([uintptr_t, ptrdiff_t])
-
-AC_CACHE_CHECK([for long longs], scm_cv_long_longs,
-              AC_TRY_COMPILE(,
-                             [long long a],
-                             scm_cv_long_longs=yes,
-                             scm_cv_long_longs=no))
-if test "$scm_cv_long_longs" = yes; then
-  AC_DEFINE(HAVE_LONG_LONGS)
-  AC_CHECK_SIZEOF(long long)
-fi
+AC_CHECK_SIZEOF(uintptr_t)
+AC_CHECK_SIZEOF(ptrdiff_t)
+
+AC_CHECK_SIZEOF(long long)
 
 AC_CHECK_SIZEOF(void *)
 
@@ -228,19 +238,24 @@ dnl
 dnl Check for Winsock and other functionality on Win32 (*not* CygWin)
 dnl
 EXTRA_DEFS=""
-EXTRA_LIB_DEFS=""
 if test "$MINGW32" = "yes" ; then
-    AC_CHECK_HEADER(winsock2.h, [AC_DEFINE([HAVE_WINSOCK2_H], 1, 
+    AC_CHECK_HEADER(winsock2.h, [AC_DEFINE([HAVE_WINSOCK2_H], 1,
       [Define if you have the <winsock2.h> header file.])])
     AC_CHECK_LIB(ws2_32, main)
-    LIBOBJS="$LIBOBJS uname.o dirent.o"
-    if test $enable_shared = yes ; then
-      EXTRA_DEFS="-D__SCM_IMPORT__ -D__REGEX_IMPORT__ -D__CRYPT_IMPORT__"
-      EXTRA_LIB_DEFS="-D__REGEX_IMPORT__ -D__CRYPT_IMPORT__"
+    LIBOBJS="$LIBOBJS win32-uname.o win32-dirent.o"
+    if test "$enable_networking" = yes ; then
+      LIBOBJS="$LIBOBJS win32-socket.o"
+    fi
+    if test "$enable_shared" = yes ; then
+      EXTRA_DEFS="-DSCM_IMPORT"
+      AC_DEFINE(USE_DLL_IMPORT, 1,
+        [Define if you need additional CPP macros on Win32 platforms.])
+    fi
+    if test x"$enable_ltdl_install" = x"yes" ; then
+      INCLTDL="-DLIBLTDL_DLL_IMPORT $INCLTDL"
     fi
 fi
 AC_SUBST(EXTRA_DEFS)
-AC_SUBST(EXTRA_LIB_DEFS)
 
 dnl Check for dynamic linking
 
@@ -261,6 +276,7 @@ if test "$use_modules" != no; then
     done
   fi
 fi
+
 AC_SUBST(INCLTDL)
 AC_SUBST(LIBLTDL)
 AC_SUBST(DLPREOPEN)
@@ -336,7 +352,12 @@ fi
 AC_MSG_CHECKING(whether uint32_t is defined)
 AC_CACHE_VAL(guile_cv_have_uint32_t,
   [AC_TRY_COMPILE([#include <sys/types.h>
-                  #include <netdb.h>],
+                  #if HAVE_STDINT_H
+                  #include <stdint.h>
+                   #endif
+                  #ifndef __MINGW32__
+                  #include <netdb.h>
+                  #endif],
                  [uint32_t a;],
                  guile_cv_have_uint32_t=yes, guile_cv_have_uint32_t=no)])
 AC_MSG_RESULT($guile_cv_have_uint32_t)
@@ -596,10 +617,6 @@ if test "${THREAD_PACKAGE}" != "" ; then
     AC_CHECK_LIB(pthread, main)
   fi
 fi
-AC_SUBST(LIBGUILEQTHREADS_INTERFACE_CURRENT)
-AC_SUBST(LIBGUILEQTHREADS_INTERFACE_REVISION)
-AC_SUBST(LIBGUILEQTHREADS_INTERFACE_AGE)
-AC_SUBST(LIBGUILEQTHREADS_INTERFACE)
 
 ## If we're using GCC, ask for aggressive warnings.
 case "$GCC" in
@@ -614,6 +631,10 @@ esac
 
 AC_PROG_AWK
 
+## Remove fileblocks.o from the object list.  This file gets added by
+## the Autoconf macro AC_STRUCT_ST_BLOCKS.  But there is no need.
+LIBOBJS="`echo ${LIBOBJS} | sed 's/fileblocks\.o//g'`"
+
 ## 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.
@@ -628,11 +649,31 @@ AC_SUBST(GUILE_MINOR_VERSION)
 AC_SUBST(GUILE_MICRO_VERSION)
 AC_SUBST(GUILE_VERSION)
 
+#######################################################################
+# library versioning
+
+AC_SUBST(LIBQTHREADS_INTERFACE_CURRENT)
+AC_SUBST(LIBQTHREADS_INTERFACE_REVISION)
+AC_SUBST(LIBQTHREADS_INTERFACE_AGE)
+AC_SUBST(LIBQTHREADS_INTERFACE)
+
 AC_SUBST(LIBGUILE_INTERFACE_CURRENT)
 AC_SUBST(LIBGUILE_INTERFACE_REVISION)
 AC_SUBST(LIBGUILE_INTERFACE_AGE)
 AC_SUBST(LIBGUILE_INTERFACE)
 
+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_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)
+
+#######################################################################
+
 dnl Tell guile-config what flags guile users should link against.
 GUILE_LIBS="$LDFLAGS $THREAD_LIBS_INSTALLED $LIBS"
 AC_SUBST(GUILE_LIBS)
@@ -642,16 +683,26 @@ AC_SUBST(LIBLOBJS)
 AC_SUBST(EXTRA_DOT_DOC_FILES)
 AC_SUBST(EXTRA_DOT_X_FILES)
 
+dnl See also top_builddir in info node: (libtool)AC_PROG_LIBTOOL
+top_builddir_absolute=`pwd`
+AC_SUBST(top_builddir_absolute)
+top_srcdir_absolute=`(cd $srcdir ; pwd)`
+AC_SUBST(top_srcdir_absolute)
+
 AC_CONFIG_FILES([
   Makefile
+  am/Makefile
   libguile/Makefile
   libguile/guile-snarf
   libguile/guile-doc-snarf
   libguile/guile-func-name-check
   libguile/guile-snarf-docs
-  libguile/guile-snarf-docs-texi
   libguile/version.h
   ice-9/Makefile
+  lang/Makefile
+  lang/elisp/Makefile
+  lang/elisp/internals/Makefile
+  lang/elisp/primitives/Makefile
   oop/Makefile
   oop/goops/Makefile
   scripts/Makefile
@@ -676,16 +727,17 @@ AC_CONFIG_FILES([
   examples/safe/Makefile
   test-suite/Makefile
   check-guile
-  guile-tools])
+  guile-tools
+  pre-inst-guile])
 
 AC_CONFIG_COMMANDS(default,
   [ chmod +x libguile/guile-snarf \
              libguile/guile-doc-snarf \
              libguile/guile-func-name-check \
              libguile/guile-snarf-docs \
-             libguile/guile-snarf-docs-texi \
              check-guile \
-             guile-tools])
+             guile-tools \
+             pre-inst-guile])
 
 AC_OUTPUT