[project @ 1998-11-17 01:24:58 by reid]
authorreid <unknown>
Tue, 17 Nov 1998 01:25:00 +0000 (01:25 +0000)
committerreid <unknown>
Tue, 17 Nov 1998 01:25:00 +0000 (01:25 +0000)
Added tests required by Hugs

acconfig.h
aclocal.m4
configure.in

index fb03bfa..a3f0116 100644 (file)
 /* Define if time.h or sys/time.h define the altzone variable */
 #undef HAVE_ALTZONE
 
+/* Define if you have /bin/sh */
+#define HAVE_BIN_SH 0
+
+/* Define if you have the GetModuleFileName function.  */
+#define HAVE_GETMODULEFILENAME 0
+
 /* Define if C compiler supports long long types */
 #undef HAVE_LONG_LONG
 
 /* Define if fcntl.h defines O_BINARY */
 #undef HAVE_O_BINARY
 
+/* Define if compiler supports prototypes. */
+#define HAVE_PROTOTYPES 0
+
+/* Define if you have the WinExec function.  */
+#define HAVE_WINEXEC 0
+
 /* Define if C Symbols have a leading underscore added by the compiler */
 #undef LEADING_UNDERSCORE
 
 /* Define to the type of the timezone variable (usually long or time_t) */
 #undef TYPE_TIMEZONE
 
+/* Define if signal handlers have type void (*)(int)
+ * (Otherwise, they're assumed to have type int (*)(void).)
+ */
+#define VOID_INT_SIGNALS 0
 \f
 /* Leave that blank line there!!  Autoheader needs it.
    If you're adding to this file, keep in mind:
index e8e3695..accbaa3 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: aclocal.m4,v 1.30 1998/10/07 12:41:42 simonm Exp $
+dnl $Id: aclocal.m4,v 1.31 1998/11/17 01:24:58 reid Exp $
 dnl 
 dnl Extra autoconf macros for the Glasgow fptools
 dnl
@@ -498,3 +498,99 @@ else
 fi
 fi
 ])])
+
+
+
+dnl Based on AC_TRY_LINK - run iftrue if links cleanly with no warning
+
+dnl FPTOOLS_TRY_LINK_NOWARN(flags,main?,iftrue,iffalse)
+
+AC_DEFUN(FPTOOLS_TRY_LINK_NOWARN,
+[
+ac_save_LIBS="$LIBS"
+LIBS=[$1];
+cat > conftest.$ac_ext <<EOF
+dnl This sometimes fails to find confdefs.h, for some reason.
+dnl [#]line __oline__ "[$]0"
+[#]line __oline__ "configure"
+#include "confdefs.h"
+[$2]
+int t() { return 0; }
+EOF
+if AC_TRY_EVAL(ac_link); then
+  ifelse([$3], , :, [
+    LIBS="$ac_save_LIBS"
+    rm -rf conftest*
+    $3])
+  ifelse([$4], , , [else
+    LIBS="$ac_save_LIBS"
+    rm -rf conftest*
+    $4
+])dnl
+fi
+rm -f conftest*
+]
+)
+
+dnl Loosely based on AC_CHECK_LIB in acgeneral.m4 in autoconf distribution
+
+dnl FPTOOLS_CHECK_FLAG_NOWARN(NAME, FLAG, CODE, iftrue, iffalse)
+
+AC_DEFUN(FPTOOLS_CHECK_FLAG_NOWARN,
+[AC_MSG_CHECKING([for $1])
+ AC_CACHE_VAL(ac_cv_flag_$1,
+   [FPTOOLS_TRY_LINK_NOWARN("$2", [main() { $3; exit(0); } ],
+     eval "ac_cv_flag_$1=yes",
+     eval "ac_cv_flag_$1=no"
+   )]
+ )
+if eval "test \"`echo '$ac_cv_flag_'$1`\" = yes"; then
+  AC_MSG_RESULT(yes)
+  LIBS="$2 $LIBS"
+  $4
+else
+  AC_MSG_RESULT(no)
+  $5
+fi
+])
+
+dnl FPTOOLS_CHECK_LIB_NOWARN(LIBRARY, FUNCTION)
+
+AC_DEFUN(FPTOOLS_CHECK_LIB_NOWARN,
+[FPTOOLS_CHECK_FLAG_NOWARN([function_$2],[],[extern char $2(); $2();],
+[changequote(, )dnl
+  ac_tr_lib=HAVE_LIB`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ changequote([, ])dnl
+ AC_DEFINE_UNQUOTED($ac_tr_lib)
+],
+[FPTOOLS_CHECK_FLAG_NOWARN([library_$1],[-l$1],[extern char $2(); $2();],
+[changequote(, )dnl
+  ac_tr_lib=HAVE_LIB`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ changequote([, ])dnl
+ AC_DEFINE_UNQUOTED($ac_tr_lib)
+],
+[]
+)])]
+)
+
+dnl check for prototypes
+dnl
+AC_DEFUN(AC_C_PROTOTYPES,
+[AC_CACHE_CHECK([prototypes], ac_cv_prototypes,
+[AC_TRY_COMPILE([
+void foo(int);
+void foo(i)
+int i; { 
+return;
+}
+],
+[int i;], 
+ac_cv_prototypes=yes,
+ac_cv_prototypes=no)])
+if test "$ac_cv_prototypes" = yes; then
+AC_DEFINE(HAVE_PROTOTYPES)
+fi
+])
+
+
+# LocalWords:  fi
index ff9d968..9bf7dd2 100644 (file)
@@ -382,6 +382,9 @@ AC_PROG_LEX
 dnl ** figure out how to do a BSD-ish install
 AC_PROG_INSTALL
 
+dnl If you can run configure, you certainly have /bin/sh
+AC_DEFINE(HAVE_BIN_SH)
+
 dnl ** how to invoke `ar' and `ranlib'
 FPTOOLS_PROG_AR_AND_RANLIB
 
@@ -433,11 +436,26 @@ dnl ** check for full ANSI header (.h) files
 AC_HEADER_STDC
 
 dnl ** check for specific header (.h) files that we are interested in
-AC_CHECK_HEADERS(dirent.h fcntl.h grp.h malloc.h memory.h nlist.h pwd.h siginfo.h signal.h stdlib.h string.h sys/fault.h sys/file.h sys/mman.h sys/param.h sys/procfs.h sys/resource.h sys/signal.h sys/socket.h netinet/tcp.h sys/stat.h sys/syscall.h sys/time.h sys/timeb.h sys/timers.h sys/times.h sys/types.h sys/utsname.h sys/vadvise.h sys/wait.h termios.h time.h types.h unistd.h utime.h vfork.h readline/readline.h bfd.h)
+AC_CHECK_HEADERS(Files.h assert.h console.h ctype.h dirent.h errno.h fcntl.h float.h ftw.h grp.h ieee754.h malloc.h memory.h nlist.h pascal.h pwd.h sgtty.h siginfo.h signal.h stat.h stdlib.h stdarg.h string.h sys/fault.h sys/file.h sys/ioctl.h sys/mman.h sys/param.h sys/procfs.h sys/resource.h sys/signal.h sys/socket.h netinet/tcp.h sys/stat.h sys/syscall.h sys/time.h sys/timeb.h sys/timers.h sys/times.h sys/types.h sys/utsname.h sys/vadvise.h sys/wait.h termio.h termios.h time.h types.h unistd.h utime.h values.h vfork.h readline/readline.h bfd.h)
+
+dnl ** check for DOS include files
+AC_CHECK_HEADERS(dos.h conio.h io.h std.h) 
+
+dnl ** check for Windows include files
+AC_CHECK_HEADERS(windows.h)
 
 dnl ** check if it is safe to include both <time.h> and <sys/time.h>
 AC_HEADER_TIME
 
+dnl dynamic loading include files
+AC_CHECK_HEADERS(dlfcn.h dl.h) 
+
+dnl ** check for farcalloc (in bcc)
+AC_CHECK_HEADER(alloc.h,AC_CHECK_FUNCS(farcalloc))
+
+dnl ** check for valloc (in sunos, solaris, mips, amiga, next, minix, ultrix)
+AC_CHECK_HEADER(malloc.h,AC_CHECK_FUNCS(valloc))
+
 dnl ** how do we get a timezone name, and UTC offset ?
 AC_STRUCT_TIMEZONE
 
@@ -470,6 +488,78 @@ FPTOOLS_C_LONG_LONG
 dnl ** can we open files in binary mode?
 FPTOOLS_O_BINARY
 
+dnl ** check for GetModuleFileName and WinExec (windows only)
+dnl Old: AC_CHECK_FUNCS(WinExec GetModuleFileName)       dnl Windows
+dnl Doesn't work because the linker can't see the functions if
+dnl you omit the #include <windows.h>.  (I've no idea why not...)
+
+FPTOOLS_TRY_LINK_NOWARN(,[
+#if HAVE_WINDOWS_H
+#include <windows.h>
+#endif
+main() { 
+  WinExec("",0);
+  exit(0);
+}
+],
+[have_winexec=1],
+[have_winexec=0])
+if test "$have_winexec" = "1"; then
+AC_DEFINE(HAVE_WINEXEC)
+fi
+
+FPTOOLS_TRY_LINK_NOWARN(,[
+#if HAVE_WINDOWS_H
+#include <windows.h>
+#endif
+main() { 
+  char* dir;
+  GetModuleFileName((HMODULE)0,dir,0);
+  exit(0);
+}
+],
+[have_getmodulefilename=1],
+[have_getmodulefilename=0])
+if test "$have_getmodulefilename" = "1"; then
+AC_DEFINE(HAVE_GETMODULEFILENAME)
+fi
+
+dnl ** check return type of signal handlers
+dnl Foo: assumes we can use prototypes.
+dnl On BCC, signal handlers have type "int(void)", elsewhere its "void(int)".
+dnl AC_CACHE_CHECK([type of signal handlers], ac_cv_type_signal_handler,
+dnl [AC_TRY_COMPILE([#include <sys/types.h>
+dnl #include <signal.h>
+dnl #ifdef signal
+dnl #undef signal
+dnl #endif
+dnl void (*signal (int, void (*)(int)))(int);
+dnl ],
+dnl [int i;], 
+dnl ac_cv_type_signal_handler=void_int,
+dnl ac_cv_type_signal_handler=int_void)])
+dnl if test "$ac_cv_type_signal_handler" = void_int; then
+dnl AC_DEFINE(VOID_INT_SIGNALS)
+dnl fi
+
+dnl On BCC, signal handlers have type "int(void)", elsewhere its "void(int)".
+AC_TYPE_SIGNAL
+if test "$ac_cv_type_signal" = void; then
+AC_DEFINE(VOID_INT_SIGNALS)
+fi
+
+dnl ** check for more functions
+AC_CHECK_FUNCS(strcasecmp _stricmp stricmp strcmpi)
+AC_CHECK_FUNCS(strcmp)
+AC_CHECK_FUNCS(realpath _fullpath)  
+AC_CHECK_FUNCS(PBHSetVolSync macsystem)  
+AC_CHECK_FUNCS(fgetpos fsetpos fseek ftell)
+AC_CHECK_FUNCS(vsnprintf _vsnprintf)
+AC_CHECK_FUNCS(snprintf  _snprintf )  
+AC_CHECK_FUNCS(popen     _popen )  
+AC_CHECK_FUNCS(pclose    _pclose )  
+
+
 dnl ** check for specific library functions that we are interested in
 AC_CHECK_FUNCS(access ftime getclock getpagesize getrusage gettimeofday mktime mprotect setitimer stat sysconf timelocal times vadvise vfork)
 
@@ -485,6 +575,13 @@ dnl    the order of these tests matters: bfd needs liberty
 AC_CHECK_LIB(iberty, xmalloc)
 AC_CHECK_LIB(bfd,    bfd_init)
 
+dnl ################################################################
+dnl Check for libraries
+dnl ################################################################
+
+FPTOOLS_CHECK_LIB_NOWARN(dl, dlopen)
+FPTOOLS_CHECK_LIB_NOWARN(dld, shl_load)
+FPTOOLS_CHECK_LIB_NOWARN(m, atan)
 
 dnl --------------------------------------------------
 dnl * Miscellaneous feature tests
@@ -496,6 +593,9 @@ AC_FUNC_ALLOCA
 dnl ** determine whether or not const works
 AC_C_CONST
 
+dnl ** determine whether ANSI-function prototypes work?
+AC_C_PROTOTYPES          
+
 dnl ** are we big endian?
 AC_C_BIGENDIAN