X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=configure.ac;h=a35ad817e5791501707dc162e3e0fc4817e5a579;hb=77f15a8e94b54c4ec1c1cbfbb91a90094383f91d;hp=0a419666226640f98674cd14e07bc4c661a58940;hpb=f1000ee3b4d504c7f1390a7af2e4c247676b9293;p=ghc-hetmet.git diff --git a/configure.ac b/configure.ac index 0a41966..a35ad81 100644 --- a/configure.ac +++ b/configure.ac @@ -13,7 +13,12 @@ dnl # see what flags are available. (Better yet, read the documentation!) # -AC_INIT([fptools build system], [1.0], [cvs-fptools@haskell.org], [fptools]) +AC_INIT([The Glorious Glasgow Haskell Compilation System], [6.5], [glasgow-haskell-bugs@haskell.org], [ghc]) + +FP_SETUP_PROJECT_VERSION + +# Hmmm, we fix the RPM release number to 1 here... Is this convenient? +AC_SUBST([release], [1]) # First off, a distrib sanity check.. AC_CONFIG_SRCDIR([mk/config.mk.in]) @@ -28,7 +33,7 @@ dnl dnl After the toplevel configuration is complete, the script will recurse into dnl these subdirectories if they exist. The use of a cache file makes repeated dnl checks cheap. -AC_CONFIG_SUBDIRS([ghc libraries]) +AC_CONFIG_SUBDIRS([libraries]) # ------------------------------------------------------------------------- # Prepare to generate the following header files @@ -125,6 +130,15 @@ amd64-*-openbsd*|x86_64-*-openbsd*) HostVendor_CPP='unknown' HostOS_CPP='openbsd' ;; +amd64-*-freebsd*) + HostPlatform=x86_64-unknown-freebsd + TargetPlatform=x86_64-unknown-freebsd + BuildPlatform=x86_64-unknown-freebsd + HostPlatform_CPP='x86_64_unknown_freebsd' + HostArch_CPP='x86_64' + HostVendor_CPP='unknown' + HostOS_CPP='freebsd' + ;; arm*-linux*) HostPlatform=arm-unknown-linux # hack again TargetPlatform=arm-unknown-linux @@ -188,6 +202,15 @@ i[[3456]]86-*-linux*) HostVendor_CPP='unknown' HostOS_CPP='linux' ;; +i[[3456]]86-*-kfreebsd*-gnu) + HostPlatform=i386-unknown-kfreebsdgnu # hack again + TargetPlatform=i386-unknown-kfreebsdgnu + BuildPlatform=i386-unknown-kfreebsdgnu + HostPlatform_CPP='i386_unknown_kfreebsdgnu' + HostArch_CPP='i386' + HostVendor_CPP='unknown' + HostOS_CPP='kfreebsdgnu' + ;; i[[3456]]86-*-freebsd[[3-9]]*) # FreeBSD 3.0+ uses ELF HostPlatform=i386-unknown-freebsd # hack again TargetPlatform=i386-unknown-freebsd @@ -253,6 +276,24 @@ i[[3456]]86-*-mingw32*) HostOS_CPP='mingw32' exeext='.exe' ;; +i[[3456]]86-apple-darwin*) + HostPlatform=i386-apple-darwin + TargetPlatform=i386-apple-darwin #hack + BuildPlatform=i386-apple-darwin #hack + HostPlatform_CPP='i386_apple_darwin' + HostArch_CPP='i386' + HostVendor_CPP='apple' + HostOS_CPP='darwin' + ;; +i[[3456]]86-*-gnu*) + HostPlatform=i386-unknown-gnu + TargetPlatform=i386-unknown-gnu + BuildPlatform=i386-unknown-gnu + HostPlatform_CPP=i386_unknown_gnu + HostArch_CPP=i386 + HostVendor_CPP=unknown + HostOS_CPP=gnu + ;; ia64-*-linux*) HostPlatform=ia64-unknown-linux # hack again TargetPlatform=ia64-unknown-linux @@ -613,6 +654,9 @@ if test "$WithGhc" != ""; then AC_SUBST(GhcPatchLevel)dnl fi +# Check whether this GHC has readline installed +FP_GHC_HAS_READLINE + AC_PATH_PROGS(NHC,nhc nhc98) AC_PATH_PROG(HBC,hbc) @@ -681,21 +725,6 @@ if test "$BootingFromHc" = "NO" -a "$WithGhc" = "" -a -d "$srcdir/ghc"; then AC_MSG_ERROR([GHC is required unless bootstrapping from .hc files.]) fi; -dnl ** --enable-threaded-rts (not used any more) -dnl -------------------------------------------------------------- -AC_ARG_ENABLE(threaded-rts, -[AC_HELP_STRING([--enable-threaded-rts], -[DEPRECATED (backwards compatibility only). [default=no]])], -[ if test x"$enableval" = x"yes"; then - ThreadedRts=YES - else - ThreadedRts=NO - fi -], -[ThreadedRts=NO] -) -AC_SUBST(ThreadedRts) - dnl ** Enable the construction of Win32 DLLs? dnl -------------------------------------------------------------- dnl @@ -814,6 +843,7 @@ dnl If gcc, make sure it's at least 2.1 dnl FP_HAVE_GCC FP_MINGW_GCC +FP_GCC_NEEDS_NO_OMIT_LFPTR dnl ** figure out how to invoke cpp directly (gcc -E is no good) AC_PROG_CPP @@ -1041,7 +1071,7 @@ fi dnl ** check for more functions dnl ** The following have been verified to be used in ghc/, but might be used somewhere else, too. -AC_CHECK_FUNCS([getclock getrusage gettimeofday setitimer siginterrupt sysconf times]) +AC_CHECK_FUNCS([getclock getrusage gettimeofday setitimer siginterrupt sysconf times ctime_r]) dnl ** For ghc/rts/gmp: AC_CHECK_FUNCS([getpagesize]) @@ -1052,20 +1082,22 @@ 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], [1], [Define to 1 if the HaskellSupport.framework is installed (Mac OS X only).]) - fi; - LIBS="$save_libs" - AC_MSG_RESULT([$HaveFrameworkHaskellSupport]) -fi; -AC_SUBST(HaveFrameworkHaskellSupport) +dnl ** (Mac OS X only: check for GMP.framework) +HaveFrameworkGMP=NO +case $HostPlatform in +*-apple-darwin) + AC_MSG_CHECKING([for GMP.framework]) + save_libs="$LIBS" + LIBS="-framework GMP" + AC_TRY_LINK_FUNC(__gmpz_fdiv_qr, HaveFrameworkGMP=YES,) + if test $HaveFrameworkGMP = YES; then + AC_DEFINE([HAVE_FRAMEWORK_GMP], [1], [Define to 1 if GMP.framework is installed (Mac OS X only).]) + fi; + LIBS="$save_libs" + AC_MSG_RESULT([$HaveFrameworkGMP]) + ;; +esac +AC_SUBST(HaveFrameworkGMP) dnl ** check for mingwex library AC_CHECK_LIB(mingwex, closedir, HaveLibMingwEx=YES, HaveLibMingwEx=NO) @@ -1131,105 +1163,14 @@ dnl ################################################################ dnl Check for libraries dnl ################################################################ -dnl ** check for libdl & RTLD_NEXT - -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], [1], [Define to 1 if RTLD_LOCAL is available.]) - HaveRtldGlobal=YES - AC_DEFINE([HAVE_RTLDGLOBAL], [1], [Define to 1 if RTLD_GLOBAL is available.]) - HaveRtldNow=YES - AC_DEFINE([HAVE_RTLDNOW], [1], [Define to 1 if we can see RTLD_NOW in dlfcn.h.]) - 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], [1], [Define to 1 if you need -ldl to get dlopen().]) - LIBS="$LIBS -ldl"], - [HaveLibDL=NO]) - 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], [1], [Define to 1 if we can see RTLD_NEXT in dlfcn.h.]) - 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 +dnl ** check whether we need -ldl to get dlopen() + +AC_CHECK_LIB(dl, dlopen, + [HaveLibDL=YES + AC_DEFINE([HAVE_LIBDL], [1], [Define to 1 if you need -ldl to get dlopen().]) + LIBS="$LIBS -ldl"], + [HaveLibDL=NO]) +AC_SUBST(HaveLibDL) dnl -------------------------------------------------- dnl * Miscellaneous feature tests @@ -1271,6 +1212,36 @@ AC_TRY_COMPILE(,[__asm__ (".subsections_via_symbols");], [Define to 1 if Apple-style dead-stripping is supported.]) ]) -AC_CONFIG_FILES([mk/config.mk]) +dnl ** check for librt +AC_CHECK_LIB(rt, clock_gettime) +AC_CHECK_FUNCS(clock_gettime) + +dnl ** check for Apple's "interesting" long double compatibility scheme +AC_MSG_CHECKING(for printf$LDBLStub) +AC_TRY_LINK_FUNC(printf$LSBLStub, + [ + AC_MSG_RESULT(yes) + AC_DEFINE([HAVE_PRINTF_LDBLSTUB],[1], + [Define to 1 if we have printf$LDBLStub (Apple Mac OS >= 10.4, PPC).]) + ], + [ + AC_MSG_RESULT(no) + AC_DEFINE([HAVE_PRINTF_LDBLSTUB],[0], + [Define to 1 if we have printf$LDBLStub (Apple Mac OS >= 10.4, PPC).]) + ]) + +# test for GTK+ +AC_PATH_PROGS([GTK_CONFIG], [pkg-config]) +if test -n "$GTK_CONFIG"; then + if $GTK_CONFIG gtk+-2.0 --atleast-version=2.0; then + GTK_CONFIG="$GTK_CONFIG gtk+-2.0" + else + AC_MSG_WARN([GTK+ not usable, need at least version 2.0]) + GTK_CONFIG= + fi +fi +AC_SUBST([GTK_CONFIG]) + +AC_CONFIG_FILES([mk/config.mk ghc.spec docs/users_guide/ug-book.xml]) AC_CONFIG_COMMANDS([mk/stamp-h],[echo timestamp > mk/stamp-h]) AC_OUTPUT