* dynl.c: Only check that HAVE_DLOPEN is defined before loading
[bpt/guile.git] / configure.in
index 1c8e8bb..69f685c 100644 (file)
@@ -61,6 +61,8 @@ 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
 
@@ -68,6 +70,7 @@ 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)
@@ -77,14 +80,20 @@ 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
 
+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)
+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>
 
@@ -139,16 +148,14 @@ fi
 if test "$ac_cv_header_regex_h" = yes ||
    test "$ac_cv_header_rxposix_h" = yes ||
    test "$ac_cv_header_rx_rxposix_h" = yes; then
-  unset ac_cv_func_regcomp
-  AC_CHECK_FUNC(regcomp, [LIBOBJS="regex-posix.o $LIBOBJS"])
-  if test "$ac_cv_func_regcomp" != yes; then
-    AC_CHECK_LIB(rx, main)
-    unset ac_cv_func_regcomp
-    AC_CHECK_FUNC(regcomp, [LIBOBJS="regex-posix.o $LIBOBJS"])
-  fi
+  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" = yes; then
+  if test "$ac_cv_func_regcomp_norx" = yes ||
+     test "$ac_cv_func_regcomp_rx" = yes; then
     AC_DEFINE(HAVE_REGCOMP)
   fi
 fi
@@ -314,6 +321,19 @@ if test "$cy_cv_threads_package" != ""; then
   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" ;;
@@ -329,6 +349,8 @@ LIBLOBJS="`echo ${LIBOBJS} | sed 's/\.o/.lo/g'`"
 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
@@ -370,7 +392,7 @@ i[3456]86-*-*)
        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
@@ -409,7 +431,7 @@ changequote([, ])
 
 
 if $threads_enabled; then
-   target_libs=libqt.a
+   target_libs=libqthreads.a
 else
    target_libs=
 fi
@@ -427,7 +449,7 @@ AC_SUBST(qtmds_s)
 AC_SUBST(qtmds_o)
 AC_SUBST(qtmdb_s)
 
-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], [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 "