+
+dnl ** what's the type of timezone?
+FPTOOLS_HAVE_TIMEZONE
+FPTOOLS_TYPE_TIMEZONE
+
+dnl ** do we have altzone?
+FPTOOLS_ALTZONE
+
+dnl ** does struct stat contain st_blksize?
+AC_STRUCT_ST_BLKSIZE
+
+dnl ** what are the sizes of various types
+dnl (these must come before GHC_CHECK_ALIGNMENT)
+AC_CHECK_SIZEOF(unsigned int,4)
+AC_CHECK_SIZEOF(float, 4)
+AC_CHECK_SIZEOF(double, 8)
+AC_CHECK_SIZEOF(long, 4)
+AC_CHECK_SIZEOF(void *, 4)
+
+dnl ** what are alignment constraints on various types
+FPTOOLS_CHECK_ALIGNMENT(unsigned int) dnl redundant but harmless
+FPTOOLS_CHECK_ALIGNMENT(long)
+FPTOOLS_CHECK_ALIGNMENT(float)
+FPTOOLS_CHECK_ALIGNMENT(double)
+
+dnl ** do we have long longs?
+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)".