fi
AC_ARG_ENABLE(dynamic-linking,
- [ --enable-dynamic-linking Include support for dynamic linking])
+ [ --enable-dynamic-linking Include support for dynamic linking],,
+ enable_dynamic_linking=yes)
AC_ARG_ENABLE(guile-debug,
[ --enable-guile-debug Include internal debugging functions])
AC_HEADER_DIRENT
AC_HEADER_TIME
AC_HEADER_SYS_WAIT
-AC_CHECK_HEADERS(libc.h limits.h malloc.h memory.h string.h sys/ioctl.h sys/select.h sys/time.h sys/timeb.h sys/times.h sys/types.h sys/utime.h time.h unistd.h utime.h)
+AC_CHECK_HEADERS(libc.h limits.h malloc.h memory.h string.h regex.h rxposix.h rx/rxposix.h sys/ioctl.h sys/select.h sys/time.h sys/timeb.h sys/times.h sys/types.h sys/utime.h time.h unistd.h utime.h)
GUILE_HEADER_LIBC_WITH_UNISTD
AC_TYPE_GETGROUPS
AC_TYPE_SIGNAL
AC_TYPE_MODE_T
-AC_CHECK_LIB (rx, main)
+AC_CHECK_LIB(m, main)
+AC_CHECK_FUNC(gethostbyname)
+if test $ac_cv_func_gethostbyname = no; then
+ AC_CHECK_LIB(nsl, gethostbyname)
+fi
+AC_CHECK_FUNC(connect)
+if test $ac_cv_func_connect = no; then
+ AC_CHECK_LIB(socket, connect)
+fi
+AC_CHECK_LIB(termcap, tgoto)
+AC_CHECK_LIB(readline, readline)
+
+# Checks for dynamic linking
+
+if test "$enable_dynamic_linking" = "yes"; then
+
+AC_CHECK_LIB(dl,dlopen)
+if test "$ac_cv_lib_dl_dlopen" = "yes"; then
+ AC_DEFINE(HAVE_DLOPEN)
+ AC_DEFINE(DYNAMIC_LINKING)
+else
+AC_CHECK_LIB(dld,dld_link)
+if test "$ac_cv_lib_dld_dld_link" = "yes"; then
+ AC_DEFINE(DYNAMIC_LINKING)
+else
+AC_CHECK_FUNCS(shl_load)
+if test "$ac_cv_func_shl_load" = "yes"; then
+ AC_DEFINE(DYNAMIC_LINKING)
+else
+AC_CHECK_FUNCS(dlopen)
+if test "$ac_cv_func_dlopen" = "yes"; then
+ AC_DEFINE(DYNAMIC_LINKING)
+fi
+fi
+fi
+fi
+
+fi
-AC_CHECK_FUNCS(ctermid ftime getcwd geteuid gethostent gettimeofday lstat mkdir mknod nice readlink rename rmdir select setegid seteuid setlocale setpgid setsid sigaction strftime strptime symlink sync tcgetpgrp tcsetpgrp times uname waitpid)
+GUILE_DLSYM_USCORE
+
+AC_CHECK_FUNCS(ctermid ftime getcwd geteuid gethostent gettimeofday lstat mkdir mknod nice readlink rename rmdir select setegid seteuid setlocale setpgid setsid sigaction strftime strptime symlink sync tcgetpgrp tcsetpgrp times uname waitpid bzero system)
+
+dnl <GNU-WIN32 hacks>
+
+AC_CHECK_HEADER(sys/un.h, have_sys_un_h=1)
+if test -n "$have_sys_un_h" ; then
+AC_DEFINE(HAVE_UNIX_DOMAIN_SOCKETS)
+fi
+
+AC_CHECK_FUNCS(socketpair getgroups setpwent pause tzset)
+
+dnl I don't know what this prefixing of cygwin32_ is for.
+dnl scmconfig.h wasn't updated with the test results.
+dnl so use AC_CHECK_FUNCS for now.
+
+dnl how about:
+dnl save confdefs.h
+dnl if test $ac_cv_cigwin = yes; then
+dnl modify confdefs.h
+dnl fi
+dnl AC_CHECK_FUNCS...
+dnl restore confdefs.h
+
+dnl cp confdefs.h confdefs.h.bak
+dnl for func in sethostent endhostent getnetent setnetent endnetent getprotoent endprotoent getservent endservent getnetbyaddr getnetbyname inet_lnaof inet_makeaddr inet_netof ; do
+dnl cp confdefs.h.bak confdefs.h
+dnl cat >> confdefs.h << EOF
+dnl #ifdef __CYGWIN32__
+dnl #define $func cygwin32_$func
+dnl #endif
+dnl EOF
+dnl AC_CHECK_FUNC($func)
+dnl done
+dnl cp confdefs.h.bak confdefs.h
+
+AC_CHECK_FUNCS(sethostent endhostent getnetent setnetent endnetent getprotoent endprotoent getservent endservent getnetbyaddr getnetbyname inet_lnaof inet_makeaddr inet_netof)
+
+dnl </GNU-WIN32 hacks>
AC_CACHE_CHECK([for restartable system calls], scm_cv_restarts,
if test $ac_cv_func_sigaction = yes; then
AC_DEFINE(HAVE_RESTARTS)
fi
-AC_CHECK_FUNCS(regcomp, [LIBOBJS="regex-posix.o $LIBOBJS"])
+if test "$ac_cv_header_regex_h" = yes ||
+ test "$ac_cv_header_rxposix_h" = yes ||
+ test "$ac_cv_header_rx_rxposix_h" = yes; then
+ GUILE_NAMED_CHECK_FUNC(regcomp, norx, [LIBOBJS="regex-posix.o $LIBOBJS"],
+ [AC_CHECK_LIB(rx, main)
+ GUILE_NAMED_CHECK_FUNC(regcomp, rx, [LIBOBJS="regex-posix.o $LIBOBJS"])]
+ )
+ dnl The following should not be necessary, but for some reason
+ dnl autoheader misses it if we don't include it!
+ if test "$ac_cv_func_regcomp_norx" = yes ||
+ test "$ac_cv_func_regcomp_rx" = yes; then
+ AC_DEFINE(HAVE_REGCOMP)
+ fi
+fi
AC_REPLACE_FUNCS(inet_aton putenv strerror)
+# When testing for the presence of alloca, we need to add alloca.o
+# explicitly to LIBOBJS to make sure that it is translated to
+# `alloca.lo' for libtool later on. This can and should be done more cleanly.
AC_FUNC_ALLOCA
+if test "$ALLOCA" = "alloca.o"; then LIBOBJS="alloca.o $LIBOBJS"; fi
AC_STRUCT_ST_RDEV
AC_STRUCT_ST_BLKSIZE
AC_STRUCT_TIMEZONE
GUILE_STRUCT_UTIMBUF
-# Checks for dynamic linking
-
-xtra_PLUGIN_guile_libs=""
-AC_SUBST(xtra_PLUGIN_guile_libs)
-
-AC_CHECK_LIB(m, main)
-AC_CHECK_FUNC(gethostbyname)
-if test $ac_cv_func_gethostbyname = no; then
- AC_CHECK_LIB(nsl, gethostbyname)
-fi
-AC_CHECK_FUNC(connect)
-if test $ac_cv_func_connect = no; then
- AC_CHECK_LIB(socket, connect)
-fi
-
-if test "$enable_dynamic_linking" = "yes"; then
-
-AC_CHECK_LIB(dl,dlopen)
-if test "$ac_cv_lib_dl_dlopen" = "yes"; then
- xtra_PLUGIN_guile_libs="-lguile -ldl"
- AC_DEFINE(DYNAMIC_LINKING)
-else
-AC_CHECK_LIB(dld,dld_link)
-if test "$ac_cv_lib_dld_dld_link" = "yes"; then
- xtra_PLUGIN_guile_libs="-lguile -ldld"
- AC_DEFINE(DYNAMIC_LINKING)
-else
-AC_CHECK_FUNCS(shl_load)
-if test "$ac_cv_func_shl_load" = "yes"; then
- AC_DEFINE(DYNAMIC_LINKING)
-fi
-fi
-fi
-
-fi
-
#--------------------------------------------------------------------
#
# Which way does the stack grow?
LIBOBJS="$LIBOBJS threads.o"
fi
+#--------------------------------------------------------------------
+#
+# scm_internal_select
+#
+#--------------------------------------------------------------------
+
+if test "$cy_cv_threads_package" != "" &&
+ test $ac_cv_func_gettimeofday = yes &&
+ test $ac_cv_func_select = yes; then
+ AC_DEFINE(GUILE_ISELECT, 1)
+ LIBOBJS="$LIBOBJS iselect.o"
+fi
+
## If we're using GCC, ask for aggressive warnings.
case "$GCC" in
yes ) CFLAGS="$CFLAGS -Wall -Wpointer-arith" ;;
## given in LIBOBJS. We'll call it LIBLOBJS.
LIBLOBJS="`echo ${LIBOBJS} | sed 's/\.o/.lo/g'`"
-AC_DEFINE_UNQUOTED(GUILE_MAJOR_VERSION, "$GUILE_MAJOR_VERSION")
-AC_DEFINE_UNQUOTED(GUILE_MINOR_VERSION, "$GUILE_MINOR_VERSION")
-AC_DEFINE_UNQUOTED(GUILE_VERSION, "$GUILE_VERSION")
+AC_SUBST(GUILE_MAJOR_VERSION)
+AC_SUBST(GUILE_MINOR_VERSION)
+AC_SUBST(GUILE_VERSION)
+GUILE_LIBS="$LDFLAGS $THREAD_LIBS $LIBS"
+AC_SUBST(GUILE_LIBS)
+
+dnl timestamping the interpreter and scheme libraries:
+dnl
+dnl Help us notice when we're running one version of the Guile
+dnl interpreter against a different version of the ice-9 Scheme code.
+dnl This will definitely detect version skew due to differing
+dnl snapshots and releases, but may not catch skew for the developers.
+dnl Hopefully it will not detect skew when there is none; if that
+dnl happens, the warnings will be useless, and we should remove this.
+GUILE_STAMP="`date`"
+AC_SUBST(GUILE_STAMP)
AC_SUBST(AWK)
AC_SUBST(LIBLOBJS)
qtmd_h=md/i386.h
qtmdc_c=$qtsrcdir/md/null.c
;;
-mips-sgi-irix5*)
+mips-sgi-irix[56]*)
qtmds_s=$qtsrcdir/md/mips-irix5.s
qtmd_h=md/mips.h
qtmdc_c=$qtsrcdir/md/null.c
qtmds_s=$qtsrcdir/md/sparc.s
qtdmdb_s=$qtsrcdir/md/sparc_b.s
;;
+alpha-*-*)
+ qtmd_h=md/axp.h
+ qtmdc_c=$qtsrcdir/md/null.c
+ qtmds_s=$qtsrcdir/md/axp.s
+ qtdmdb_s=$qtsrcdir/md/axp_b.s
+ ;;
*)
echo "Unknown configuration; threads package disabled"
threads_enabled=false
if $threads_enabled; then
- target_libs=libqt.a
+ target_libs=libqthreads.a
else
target_libs=
fi
AC_SUBST(qtmds_o)
AC_SUBST(qtmdb_s)
-AC_OUTPUT([Makefile libguile/Makefile libguile/guile-snarf ice-9/Makefile qt/Makefile qt/qt.h qt/md/Makefile qt/time/Makefile], [chmod +x libguile/guile-snarf])
+AC_OUTPUT([Makefile libguile/Makefile libguile/guile-snarf ice-9/Makefile ice-9/version.scm qt/Makefile qt/qt.h qt/md/Makefile qt/time/Makefile build/Makefile], [chmod +x libguile/guile-snarf])
dnl Local Variables:
dnl comment-start: "dnl "