X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=configure.in;h=86e3a989083227ed173b3871296614beb401b0d2;hb=4864e9d7088661849d37bd00356cc210c6a091d2;hp=a7fa648358a0c38a0dec68da58f2e03da08cc23a;hpb=d04fb5dc5364513882e3e7619bfb4d459fc3ed51;p=ghc-hetmet.git diff --git a/configure.in b/configure.in index a7fa648..86e3a98 100644 --- a/configure.in +++ b/configure.in @@ -242,6 +242,15 @@ m68k-*-openbsd*) HostVendor_CPP='unknown' HostOS_CPP='openbsd' ;; +m68k-apple-netbsd*) + HostPlatform=m68k-apple-netbsd + TargetPlatform=m68k-apple-netbsd + BuildPlatform=m68k-apple-netbsd + HostPlatform_CPP='m68k_apple_netbsd' + HostArch_CPP='m68k' + HostVendor_CPP='apple' + HostOS_CPP='netbsd' + ;; m68k-sun-sunos4*) HostPlatform=m68k-sun-sunos4 TargetPlatform=m68k-sun-sunos4 #hack @@ -585,6 +594,7 @@ dnl If gcc, make sure it's at least 2.1 dnl AC_PROG_CC FPTOOLS_HAVE_GCC +FPTOOLS_GCC_NEEDS_NO_OMIT_LFPTR dnl ** figure out how to invoke cpp directly (gcc -E is no good) AC_PROG_CPP @@ -711,11 +721,11 @@ 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(Files.h arpa/inet.h assert.h console.h ctype.h dirent.h errno.h fcntl.h float.h ftw.h grp.h ieee754.h inttypes.h limits.h malloc.h memory.h nlist.h pascal.h pwd.h sgtty.h siginfo.h signal.h stat.h stdint.h stdlib.h stddef.h stdarg.h string.h sys/fault.h sys/file.h sys/ioctl.h sys/limits.h sys/mman.h sys/param.h sys/procfs.h sys/resource.h sys/signal.h sys/socket.h netdb.h netinet/in.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/un.h sys/utsname.h sys/vadvise.h sys/wait.h termio.h termios.h time.h types.h utime.h values.h vfork.h bfd.h winsock.h pthread.h sys/uio.h) -AC_CHECK_HEADER(unistd.h,AC_CHECK_FUNC(lchown)) +AC_CHECK_HEADERS(Files.h arpa/inet.h assert.h console.h ctype.h dirent.h errno.h fcntl.h float.h ftw.h grp.h ieee754.h inttypes.h limits.h malloc.h memory.h nlist.h pascal.h pwd.h sgtty.h siginfo.h signal.h stat.h stdint.h stdlib.h stddef.h stdarg.h string.h sys/fault.h sys/file.h sys/ioctl.h sys/limits.h sys/mman.h sys/param.h sys/procfs.h sys/resource.h sys/signal.h sys/socket.h netdb.h netinet/in.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/un.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 bfd.h winsock.h pthread.h sys/uio.h) +AC_CHECK_HEADER(unistd.h,[AC_CHECK_FUNCS(lchown)]) -AC_CHECK_HEADER(readline/readline.h, HaveReadlineReadlineH=YES, HaveReadlineReadlineH=NO) -AC_CHECK_HEADER(readline/history.h, HaveReadlineHistoryH=YES, HaveReadlineHistoryH=NO) +AC_CHECK_HEADER(readline/readline.h, [HaveReadlineReadlineH=YES], [HaveReadlineReadlineH=NO]) +AC_CHECK_HEADER(readline/history.h, [HaveReadlineHistoryH=YES], [HaveReadlineHistoryH=NO]) if test $HaveReadlineReadlineH = YES && test $HaveReadlineHistoryH = YES ; then HaveReadlineHeaders=YES @@ -742,14 +752,14 @@ 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)) +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)) +AC_CHECK_HEADER(malloc.h,[AC_CHECK_FUNCS(valloc)]) dnl ** check for POSIX regex HavePosixRegex=NO -AC_CHECK_HEADER(regex.h,AC_CHECK_FUNC(regcomp, HavePosixRegex=YES)) +AC_CHECK_HEADER(regex.h,[AC_CHECK_FUNC(regcomp, [HavePosixRegex=YES])]) AC_SUBST(HavePosixRegex) dnl ** how do we get a timezone name, and UTC offset ? @@ -944,7 +954,7 @@ 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 readlink setitimer stat lstat symlink sysconf timelocal times vadvise vfork localtime_r gmtime_r readdir_r) +AC_CHECK_FUNCS(access ftime getclock getpagesize getrusage gettimeofday mktime mprotect readlink setitimer stat lstat symlink sysconf timelocal times vadvise vfork localtime_r gmtime_r readdir_r getgrgid_r getgrnam_r getpwuid_r getpwnam_r) dnl ** check whether this machine has gmp3 installed AC_CHECK_LIB(gmp, __gmpz_fdiv_qr, HaveLibGmp=YES; LibGmp=gmp, @@ -953,6 +963,21 @@ AC_CHECK_LIB(gmp, __gmpz_fdiv_qr, HaveLibGmp=YES; LibGmp=gmp, AC_SUBST(HaveLibGmp) AC_SUBST(LibGmp) +dnl ** (Mac OS X only: check for HaskellSupport.framework) +HaveFrameworkHaskellSupport=NO +if test $HostPlatform = "powerpc-apple-darwin"; then + AC_MSG_CHECKING([for HaskellSupport.framework]) + save_libs="$LIBS" + LIBS="-framework HaskellSupport" + AC_TRY_LINK_FUNC(__gmpz_fdiv_qr, HaveFrameworkHaskellSupport=YES,) + if test $HaveFrameworkHaskellSupport = YES; then + AC_DEFINE(HAVE_FRAMEWORK_HASKELLSUPPORT) + fi; + LIBS="$save_libs" + AC_MSG_RESULT([$HaveFrameworkHaskellSupport]) +fi; +AC_SUBST(HaveFrameworkHaskellSupport) + dnl ** check for mingwex library AC_CHECK_LIB(mingwex, closedir, HaveLibMingwEx=YES, HaveLibMingwEx=NO) AC_SUBST(HaveLibMingwEx) @@ -1027,88 +1052,149 @@ dnl ################################################################ dnl ** check for libdl & RTLD_NEXT -AC_CHECK_LIB(dl, dlopen, - [HaveLibDL=YES - AC_DEFINE(HAVE_LIBDL) - LIBS="$LIBS -ldl"], - [HaveLibDL=NO]) -AC_CHECK_FUNCS(dlopen) -AC_SUBST(HaveLibDL) - -dnl ** sometimes RTLD_NEXT is hidden in #ifdefs we really don't wan to set -AC_MSG_CHECKING(for RTLD_NEXT from dlfcn.h) -AC_EGREP_CPP(yes, -[ - #include - #ifdef RTLD_NEXT - yes - #endif -], [ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_RTLDNEXT) - HaveRtldNext=YES -], [ - AC_MSG_RESULT(no) - HaveRtldNext=NO - ]) -AC_SUBST(HaveRtldNext) - -dnl ** RTLD_LOCAL isn't available on cygwin or openbsd -AC_MSG_CHECKING(for RTLD_LOCAL from dlfcn.h) -AC_EGREP_CPP(yes, -[ - #include - #ifdef RTLD_LOCAL - yes - #endif -], [ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_RTLDLOCAL) - HaveRtldLocal=YES -], [ - AC_MSG_RESULT(no) - HaveRtldLocal=NO - ]) -AC_SUBST(HaveRtldLocal) - -dnl ** RTLD_GLOBAL isn't available on openbsd -AC_MSG_CHECKING(for RTLD_GLOBAL from dlfcn.h) -AC_EGREP_CPP(yes, -[ - #include - #ifdef RTLD_GLOBAL - yes - #endif -], [ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_RTLDGLOBAL) - HaveRtldGlobal=YES -], [ - AC_MSG_RESULT(no) - HaveRtldGlobal=NO - ]) -AC_SUBST(HaveRtldGlobal) - -dnl ** RTLD_NOW isn't available on openbsd -AC_MSG_CHECKING(for RTLD_NOW from dlfcn.h) -AC_EGREP_CPP(yes, -[ - #include - #ifdef RTLD_NOW - yes - #endif -], [ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_RTLDNOW) - HaveRtldNow=YES -], [ - AC_MSG_RESULT(no) - HaveRtldNow=NO - ]) -AC_SUBST(HaveRtldNow) +dnl (Mac OS X only) ... but don't check if we already have the +dnl HaskellSupport.framework + +if test $HaveFrameworkHaskellSupport = YES; then + HaveLibDL = NO + HaveRtldNext=NO + HaveRtldLocal=YES + AC_DEFINE(HAVE_RTLDLOCAL) + HaveRtldGlobal=YES + AC_DEFINE(HAVE_RTLDGLOBAL) + HaveRtldNow=YES + AC_DEFINE(HAVE_RTLDNOW) + AC_SUBST(HaveLibDL) + AC_SUBST(HaveRtldNext) + AC_SUBST(HaveRtldLocal) + AC_SUBST(HaveRtldGlobal) + AC_SUBST(HaveRtldNow) +else + AC_CHECK_LIB(dl, dlopen, + [HaveLibDL=YES + AC_DEFINE(HAVE_LIBDL) + LIBS="$LIBS -ldl"], + [HaveLibDL=NO]) + AC_CHECK_FUNCS(dlopen) + AC_SUBST(HaveLibDL) + + dnl ** sometimes RTLD_NEXT is hidden in #ifdefs we really don't wan to set + AC_MSG_CHECKING(for RTLD_NEXT from dlfcn.h) + AC_EGREP_CPP(yes, + [ + #include + #ifdef RTLD_NEXT + yes + #endif + ], [ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_RTLDNEXT) + HaveRtldNext=YES + ], [ + AC_MSG_RESULT(no) + HaveRtldNext=NO + ]) + AC_SUBST(HaveRtldNext) + + dnl ** RTLD_LOCAL isn't available on cygwin or openbsd + AC_MSG_CHECKING(for RTLD_LOCAL from dlfcn.h) + AC_EGREP_CPP(yes, + [ + #include + #ifdef RTLD_LOCAL + yes + #endif + ], [ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_RTLDLOCAL) + HaveRtldLocal=YES + ], [ + AC_MSG_RESULT(no) + HaveRtldLocal=NO + ]) + AC_SUBST(HaveRtldLocal) + + dnl ** RTLD_GLOBAL isn't available on openbsd + AC_MSG_CHECKING(for RTLD_GLOBAL from dlfcn.h) + AC_EGREP_CPP(yes, + [ + #include + #ifdef RTLD_GLOBAL + yes + #endif + ], [ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_RTLDGLOBAL) + HaveRtldGlobal=YES + ], [ + AC_MSG_RESULT(no) + HaveRtldGlobal=NO + ]) + AC_SUBST(HaveRtldGlobal) + + dnl ** RTLD_NOW isn't available on openbsd + AC_MSG_CHECKING(for RTLD_NOW from dlfcn.h) + AC_EGREP_CPP(yes, + [ + #include + #ifdef RTLD_NOW + yes + #endif + ], [ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_RTLDNOW) + HaveRtldNow=YES + ], [ + AC_MSG_RESULT(no) + HaveRtldNow=NO + ]) + AC_SUBST(HaveRtldNow) +fi FPTOOLS_CHECK_LIB_NOWARN(m, atan) +dnl ---------- usleep ---------- +dnl --- stolen from guile configure --- +dnl --- FIXME: /usr/include/unistd.h can't be right? + +### On some systems usleep has no return value. If it does have one, +### we'd like to return it; otherwise, we'll fake it. +AC_CACHE_CHECK([return type of usleep], cv_func_usleep_return_type, + [AC_EGREP_HEADER(changequote(<, >)changequote([, ]), + /usr/include/unistd.h, + [cv_func_usleep_return_type=void], + [cv_func_usleep_return_type=int])]) +case "$cv_func_usleep_return_type" in + "void" ) + AC_DEFINE(USLEEP_RETURNS_VOID, 1, + [Define if the system headers declare usleep to return void.]) + ;; +esac + +dnl -------------------------------------------------- +dnl * test for in_addr_t +dnl -------------------------------------------------- +AC_MSG_CHECKING(for in_addr_t in netinet/in.h) +AC_EGREP_HEADER(in_addr_t, netinet/in.h, + [ AC_DEFINE(HAVE_IN_ADDR_T) AC_MSG_RESULT(yes) ], + AC_MSG_RESULT(no)) + +dnl -------------------------------------------------- +dnl * test for Linux sendfile(2) +dnl -------------------------------------------------- +AC_MSG_CHECKING(for sendfile in sys/sendfile.h) +AC_EGREP_HEADER(sendfile, sys/sendfile.h, + [ AC_DEFINE(HAVE_LINUX_SENDFILE) AC_MSG_RESULT(yes) ], + AC_MSG_RESULT(no)) + +dnl -------------------------------------------------- +dnl * test for BSD sendfile(2) +dnl -------------------------------------------------- +AC_MSG_CHECKING(for sendfile in sys/socket.h) +AC_EGREP_HEADER(sendfile, sys/socket.h, + [ AC_DEFINE(HAVE_BSD_SENDFILE) AC_MSG_RESULT(yes) ], + AC_MSG_RESULT(no)) + dnl -------------------------------------------------- dnl * test for GTK+ dnl -------------------------------------------------- @@ -1157,15 +1243,6 @@ errprint(if you are using 2.13 or earlier, you may get a (harmless) warning mess dnl ** check for leading underscores in symbol names FPTOOLS_UNDERSCORE -dnl ** how is the end of text section signalled? -FPTOOLS_END_TEXT_SECTION - -dnl ** how is the end of data section signalled? -FPTOOLS_END_DATA_SECTION - -dnl ** code before data? -FPTOOLS_CODE_BEFORE_DATA - dnl ** check for ld, and whether ld has -x option AC_PATH_PROG(LdCmdRaw, ld) case $HostOS_CPP in @@ -1185,4 +1262,23 @@ we_have_sigpoll #endif ], AC_DEFINE(HAVE_SIGPOLL) haveSIGPOLL=yes, haveSIGPOLL=no) AC_MSG_RESULT([$haveSIGPOLL]) + +AC_MSG_CHECKING(for _SC_GETGR_R_SIZE_MAX) +AC_EGREP_CPP(we_have_that_sysconf_thing, +[ +#include +#ifdef _SC_GETGR_R_SIZE_MAX +we_have_that_sysconf_thing +#endif +], AC_MSG_RESULT(yes) AC_DEFINE(HAVE_SC_GETGR_R_SIZE_MAX), AC_MSG_RESULT(no)) + +AC_MSG_CHECKING(for _SC_GETPW_R_SIZE_MAX) +AC_EGREP_CPP(we_have_that_sysconf_thing, +[ +#include +#ifdef _SC_GETPW_R_SIZE_MAX +we_have_that_sysconf_thing +#endif +], AC_MSG_RESULT(yes) AC_DEFINE(HAVE_SC_GETPW_R_SIZE_MAX), AC_MSG_RESULT(no)) + AC_OUTPUT(mk/config.mk, echo timestamp > mk/stamp-h )