* procprop.c (scm_i_procedure_arity): Made global; New code to
[bpt/guile.git] / aclocal.m4
index a775f3b..eff9309 100644 (file)
@@ -302,12 +302,11 @@ done<<>>dnl>>)
 changequote([,]))])
 
 
-# serial 25 AM_PROG_LIBTOOL
+# serial 24 AM_PROG_LIBTOOL
 AC_DEFUN(AM_PROG_LIBTOOL,
 [AC_REQUIRE([AM_ENABLE_SHARED])dnl
 AC_REQUIRE([AM_ENABLE_STATIC])dnl
 AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
 AC_REQUIRE([AC_PROG_RANLIB])dnl
 AC_REQUIRE([AC_PROG_CC])dnl
 AC_REQUIRE([AM_PROG_LD])dnl
@@ -352,24 +351,14 @@ case "$host" in
   # On SCO OpenServer 5, we need -belf to get full-featured binaries.
   CFLAGS="$CFLAGS -belf"
   ;;
-
-*-*-cygwin32*)
-  AM_SYS_LIBTOOL_CYGWIN32
-  ;;
-
 esac
 
 # Actually configure libtool.  ac_aux_dir is where install-sh is found.
 CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
 LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \
-DLLTOOL="$DLLTOOL" AS="$AS" \
-${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
+${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig \
 $libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
 || AC_MSG_ERROR([libtool configure failed])
-
-# Redirect the config.log output again, so that the ltconfig log is not
-# clobbered by the next message.
-exec 5>>./config.log
 ])
 
 # AM_ENABLE_SHARED - implement the --enable-shared flag
@@ -380,8 +369,10 @@ AC_DEFUN(AM_ENABLE_SHARED,
 [define([AM_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
 AC_ARG_ENABLE(shared,
 changequote(<<, >>)dnl
-<<  --enable-shared[=PKGS]  build shared libraries [default=>>AM_ENABLE_SHARED_DEFAULT],
+<<  --enable-shared         build shared libraries [default=>>AM_ENABLE_SHARED_DEFAULT]
 changequote([, ])dnl
+[  --enable-shared=PKGS    only build shared libraries if the current package
+                          appears as an element in the PKGS list],
 [p=${PACKAGE-default}
 case "$enableval" in
 yes) enable_shared=yes ;;
@@ -417,8 +408,10 @@ AC_DEFUN(AM_ENABLE_STATIC,
 [define([AM_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
 AC_ARG_ENABLE(static,
 changequote(<<, >>)dnl
-<<  --enable-static[=PKGS]  build static libraries [default=>>AM_ENABLE_STATIC_DEFAULT],
+<<  --enable-static         build static libraries [default=>>AM_ENABLE_STATIC_DEFAULT]
 changequote([, ])dnl
+[  --enable-static=PKGS    only build shared libraries if the current package
+                          appears as an element in the PKGS list],
 [p=${PACKAGE-default}
 case "$enableval" in
 yes) enable_static=yes ;;
@@ -452,9 +445,7 @@ if test "$ac_cv_prog_gcc" = yes; then
   ac_prog=`($CC -print-prog-name=ld) 2>&5`
   case "$ac_prog" in
   # Accept absolute paths.
-changequote(,)dnl
   /* | [A-Za-z]:\\*)
-changequote([,])dnl
     test -z "$LD" && LD="$ac_prog"
     ;;
   "")
@@ -517,10 +508,11 @@ fi])
 AC_DEFUN(AM_PROG_NM,
 [AC_MSG_CHECKING([for BSD-compatible nm])
 AC_CACHE_VAL(ac_cv_path_NM,
-[if test -n "$NM"; then
-  # Let the user override the test.
-  ac_cv_path_NM="$NM"
-else
+[case "$NM" in
+/* | [A-Za-z]:\\*)
+  ac_cv_path_NM="$NM" # Let the user override the test with a path.
+  ;;
+*)
   IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
   for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do
     test -z "$ac_dir" && ac_dir=.
@@ -540,19 +532,124 @@ else
   done
   IFS="$ac_save_ifs"
   test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
-fi])
+  ;;
+esac])
 NM="$ac_cv_path_NM"
 AC_MSG_RESULT([$NM])
 AC_SUBST(NM)
 ])
 
-# AM_SYS_LIBTOOL_CYGWIN32 - find tools needed on cygwin32
-AC_DEFUN(AM_SYS_LIBTOOL_CYGWIN32,
-[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-AC_CHECK_TOOL(AS, as, false)
+
+# serial 1
+
+# @defmac AC_PROG_CC_STDC
+# @maindex PROG_CC_STDC
+# @ovindex CC
+# If the C compiler in not in ANSI C mode by default, try to add an option
+# to output variable @code{CC} to make it so.  This macro tries various
+# options that select ANSI C on some system or another.  It considers the
+# compiler to be in ANSI C mode if it handles function prototypes correctly.
+#
+# If you use this macro, you should check after calling it whether the C
+# compiler has been set to accept ANSI C; if not, the shell variable
+# @code{am_cv_prog_cc_stdc} is set to @samp{no}.  If you wrote your source
+# code in ANSI C, you can make an un-ANSIfied copy of it by using the
+# program @code{ansi2knr}, which comes with Ghostscript.
+# @end defmac
+
+AC_DEFUN(AM_PROG_CC_STDC,
+[AC_REQUIRE([AC_PROG_CC])
+AC_BEFORE([$0], [AC_C_INLINE])
+AC_BEFORE([$0], [AC_C_CONST])
+dnl Force this before AC_PROG_CPP.  Some cpp's, eg on HPUX, require
+dnl a magic option to avoid problems with ANSI preprocessor commands
+dnl like #elif.
+dnl FIXME: can't do this because then AC_AIX won't work due to a
+dnl circular dependency.
+dnl AC_BEFORE([$0], [AC_PROG_CPP])
+AC_MSG_CHECKING(for ${CC-cc} option to accept ANSI C)
+AC_CACHE_VAL(am_cv_prog_cc_stdc,
+[am_cv_prog_cc_stdc=no
+ac_save_CC="$CC"
+# Don't try gcc -ansi; that turns off useful extensions and
+# breaks some systems' header files.
+# AIX                  -qlanglvl=ansi
+# Ultrix and OSF/1     -std1
+# HP-UX                        -Aa -D_HPUX_SOURCE
+# SVR4                 -Xc -D__EXTENSIONS__
+for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  AC_TRY_COMPILE(
+[#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+], [
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+],
+[am_cv_prog_cc_stdc="$ac_arg"; break])
+done
+CC="$ac_save_CC"
+])
+if test -z "$am_cv_prog_cc_stdc"; then
+  AC_MSG_RESULT([none needed])
+else
+  AC_MSG_RESULT($am_cv_prog_cc_stdc)
+fi
+case "x$am_cv_prog_cc_stdc" in
+  x|xno) ;;
+  *) CC="$CC $am_cv_prog_cc_stdc" ;;
+esac
 ])
 
 dnl   Autoconf macros for configuring the QuickThreads package
+dnl   Jim Blandy <jimb@red-bean.com> --- July 1998
+dnl
+dnl    Copyright (C) 1998 Free Software Foundation, Inc.
+dnl
+dnl   This file is part of GUILE.
+dnl   
+dnl   GUILE is free software; you can redistribute it and/or modify
+dnl   it under the terms of the GNU General Public License as
+dnl   published by the Free Software Foundation; either version 2, or
+dnl   (at your option) any later version.
+dnl   
+dnl   GUILE is distributed in the hope that it will be useful, but
+dnl   WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+dnl   GNU General Public License for more details.
+dnl   
+dnl   You should have received a copy of the GNU General Public
+dnl   License along with GUILE; see the file COPYING.  If not, write
+dnl   to the Free Software Foundation, Inc., 59 Temple Place, Suite
+dnl   330, Boston, MA 02111-1307 USA
+
+
 
 dnl   QTHREADS_CONFIGURE configures the QuickThreads package.  The QT
 dnl   sources should be in $srcdir/qt.  If configuration succeeds, this
@@ -560,7 +657,10 @@ dnl   macro creates the appropriate symlinks in the qt object directory,
 dnl   and sets the following variables, used in building libqthreads.a:
 dnl      QTHREAD_LTLIBS --- set to libqthreads.la if configuration
 dnl         succeeds, or the empty string if configuration fails.
-dnl      qtmd_h --- the name of the machine-dependent header file.
+dnl      qtmd_h, qtmds_s, qtmdc_c, qtdmdb_s --- the names of the machine-
+dnl         dependent source files.
+dnl      qthread_asflags --- flags to pass to the compiler when processing
+dnl         assembly-language files.
 dnl
 dnl   It also sets the following variables, which describe how clients
 dnl   can link against libqthreads.a:
@@ -584,13 +684,13 @@ dnl           pass the relative path to the ../libfoo.la file, but
 dnl     2) once the whole package has been installed, users should
 dnl        link using -lfoo. 
 dnl   Normally, we only care about the first case, but since the
-dnl   build-guile script needs to give users all the flags they need
+dnl   guile-config script needs to give users all the flags they need
 dnl   to link programs against guile, the GUILE_WITH_THREADS macro
 dnl   needs to supply the second piece of information as well.
 dnl
 dnl   This whole thing is a little confused about what ought to be
 dnl   done in the top-level configure script, and what ought to be
-dnl   taken care of in the subdirectory.  For example, qtmdc_lo and
+dnl   taken care of in the subdirectory.  For example, qtmds_s and
 dnl   friends really ought not to be even mentioned in the top-level
 dnl   configure script, but here they are.
 
@@ -606,6 +706,7 @@ AC_DEFUN([QTHREADS_CONFIGURE],[
   changequote(,)dnl We use [ and ] in a regexp in the case
 
   THREAD_PACKAGE=QT
+  qthread_asflags=''
   case "$host" in
     i[3456]86-*-*)
       port_name=i386
@@ -613,6 +714,17 @@ AC_DEFUN([QTHREADS_CONFIGURE],[
       qtmds_s=md/i386.s
       qtmdc_c=md/null.c 
       qtdmdb_s=
+      case "$host" in
+        *-*-netbsd* )
+          ## NetBSD needs to be told to pass the assembly code through
+          ## the C preprocessor.  Other GCC installations seem to do
+          ## this by default, but NetBSD's doesn't.  We could get the
+          ## same effect by giving the file a name ending with .S
+          ## instead of .s, but I don't see how to tell automake to do
+          ## that.
+          qthread_asflags='-x assembler-with-cpp'
+        ;;
+      esac
       ;;
     mips-sgi-irix[56]*)
       port_name=irix
@@ -672,6 +784,7 @@ AC_DEFUN([QTHREADS_CONFIGURE],[
   AC_SUBST(qtmds_s)
   AC_SUBST(qtmdc_c)
   AC_SUBST(qtdmdb_s)
+  AC_SUBST(qthread_asflags)
   AC_SUBST(THREAD_PACKAGE)
   AC_SUBST(THREAD_CPPFLAGS)
   AC_SUBST(THREAD_LIBS_LOCAL)