Commit 1e19a383 authored by reid's avatar reid

[project @ 1998-11-17 01:24:58 by reid]

Added tests required by Hugs
parent dbf71170
......@@ -36,12 +36,24 @@
/* 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
......@@ -51,6 +63,11 @@
/* 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
/* Leave that blank line there!! Autoheader needs it.
If you're adding to this file, keep in mind:
......
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
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment