X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=configure.ac;h=85e0617aa0c3eba0b367fb651dcad722a5a6e682;hp=f22ffbe5714711cedfac363a2957f4d6d260aeed;hb=21c190f4ace4e12304a17c8169b75213fb6ea1b4;hpb=cf071813ab8d7edd8ca92a2191812a96e9cb20f0 diff --git a/configure.ac b/configure.ac index f22ffbe..85e0617 100644 --- a/configure.ac +++ b/configure.ac @@ -13,7 +13,7 @@ dnl # see what flags are available. (Better yet, read the documentation!) # -AC_INIT([The Glorious Glasgow Haskell Compilation System], [6.9], [glasgow-haskell-bugs@haskell.org], [ghc]) +AC_INIT([The Glorious Glasgow Haskell Compilation System], [6.11], [glasgow-haskell-bugs@haskell.org], [ghc]) # Set this to YES for a released version, otherwise NO : ${RELEASE=NO} @@ -644,6 +644,14 @@ AC_ARG_WITH([ghc], AC_PATH_PROG([GHC], [ghc]) fi WithGhc="$GHC"]) +# GHC is passed to Cabal, so we need a native path +if test "x$HostPlatform" = "xi386-unknown-mingw32" && \ + test "${OSTYPE}" != "msys" && \ + test "${WithGhc}" != "" +then + # Canonicalise to :/path/to/ghc + WithGhc=`cygpath -m ${WithGhc}` +fi AC_SUBST([WithGhc]) AC_ARG_WITH(hc, @@ -663,10 +671,8 @@ if test "$WithGhc" != ""; then AC_SUBST(GhcPatchLevel)dnl GhcMinVersion2=`echo "$GhcMinVersion" | sed 's/^\\(.\\)$/0\\1/'` GhcCanonVersion="$GhcMajVersion$GhcMinVersion2" - if test $GhcCanonVersion -ge 605; then ghc_ge_605=YES; else ghc_ge_605=NO; fi if test $GhcCanonVersion -ge 607; then ghc_ge_607=YES; else ghc_ge_607=NO; fi if test $GhcCanonVersion -ge 609; then ghc_ge_609=YES; else ghc_ge_609=NO; fi - AC_SUBST(ghc_ge_605)dnl AC_SUBST(ghc_ge_607)dnl AC_SUBST(ghc_ge_609)dnl fi @@ -674,6 +680,22 @@ fi # Check whether this GHC has editline installed FP_GHC_HAS_EDITLINE +# Dummy arguments to print help for --with-editline-* arguments. +# Those are actually passed to the editline package's configure script +# via the CONFIGURE_ARGS variable in mk/config.mk +AC_ARG_WITH(dummy-editline-includes, + [AC_HELP_STRING([--with-editline-includes], + [directory containing editline/editline.h or editline/readline.h])], + [], + []) + +AC_ARG_WITH(dummy-editline-libraries, + [AC_HELP_STRING([--with-editline-libraries], + [directory containing the editline library])], + [], + []) + + AC_PATH_PROGS(NHC,nhc nhc98) AC_PATH_PROG(HBC,hbc) @@ -715,6 +737,36 @@ AC_ARG_WITH(ld, [FP_PROG_LD()] ) +dnl ** Build shared and/or static libs? +dnl -------------------------------------------------------------- +AC_ARG_ENABLE(shared, +[AC_HELP_STRING([--enable-shared], +[Build shared libraries, if available (EXPERIMENTAL, non-working). [default=no]])], +[ if test x"$enableval" = x"yes"; then + AC_MSG_WARN([--enable-shared is experimental and not fully supported at this time]) + BuildSharedLibs=YES + else + BuildSharedLibs=NO + fi +], +[BuildSharedLibs=NO] +) +AC_SUBST(BuildSharedLibs) + +# ToDo later: +# AC_ARG_ENABLE(static, +# [AC_HELP_STRING([--enable-static], +# [Build static libraries. [default=yes]])], +# [ if test x"$enableval" = x"yes"; then +# BuildStaticLibs=YES +# else +# BuildStaticLibs=NO +# fi +# ], +# [BuildStaticLibs=YES] +# ) +# AC_SUBST(BuildStaticLibs) + dnl ** Booting from .hc files? dnl -------------------------------------------------------------- AC_ARG_ENABLE(hc-boot, @@ -759,8 +811,8 @@ if test "$BootingFromHc" = "NO" -a -d "$srcdir/compiler"; then if test "$WithGhc" = ""; then AC_MSG_ERROR([GHC is required unless bootstrapping from .hc files.]) fi - FP_COMPARE_VERSIONS([$GhcVersion],[-lt],[6.4], - [AC_MSG_ERROR([GHC version 6.4 or later is required to compile GHC.])])dnl + FP_COMPARE_VERSIONS([$GhcVersion],[-lt],[6.6], + [AC_MSG_ERROR([GHC version 6.6 or later is required to compile GHC.])])dnl fi; # This uses GHC, so put it after the "GHC is required" check above: @@ -799,35 +851,6 @@ dnl if test x"$EnableWin32DLLs" = "xYES" ; then dnl AC_DEFINE(HAVE_WIN32_DLL_SUPPORT) dnl fi -dnl ** Enable the building of the ObjectIO? -dnl -------------------------------------------------------------- -AC_ARG_ENABLE(objectio, -[AC_HELP_STRING([--enable-objectio], -[Build ObjectIO, a portable GUI library for Haskell. [default=no]])], -[ if test x"$enableval" = x"yes"; then - GhcLibsWithObjectIO=YES - else - GhcLibsWithObjectIO=NO - fi -], -[GhcLibsWithObjectIO=NO] -) -AC_SUBST(GhcLibsWithObjectIO) - -dnl ** .NET interop support? -dnl -------------------------------------------------------------- -AC_ARG_ENABLE(dotnet, -[AC_HELP_STRING([--enable-dotnet], -[Build .NET interop layer. [default=no]])], -[ if test x"$enableval" = x"yes"; then - DotnetSupport=YES; AC_DEFINE([WANT_DOTNET_SUPPORT], [1], [Define to 1 if you want to include .NET interop support.]) - else - DotnetSupport=NO - fi], -[DotnetSupport=NO] -) -AC_SUBST(DotnetSupport) - dnl ** Mac OS X: explicit deployment target dnl -------------------------------------------------------------- AC_ARG_WITH([macosx-deployment-target], @@ -909,10 +932,6 @@ AC_PROG_CPP dnl ** Without optimization some INLINE trickery fails for GHCi SRC_CC_OPTS="-O" -dnl ** Try to add -mno-cygwin to the C compiler options -FP_CHECK_FLAG([-mno-cygwin], [ -SRC_CC_OPTS="-mno-cygwin $SRC_CC_OPTS" -CPPFLAGS="-mno-cygwin $CPPFLAGS"]) AC_SUBST(SRC_CC_OPTS) dnl ** figure out how to do context diffs @@ -985,15 +1004,15 @@ if test "$BootingFromHc" = "NO"; then FPTOOLS_HAPPY fi; -dnl ** check for installed haddock -FPTOOLS_HADDOCK - dnl ** check for installed alex binary + version dnl (don't do it if we're booting from .hc files though.) if test "$BootingFromHc" = "NO"; then FPTOOLS_ALEX fi; +dnl Check we have an acceptable version of windres +FPTOOLS_WINDRES + dnl -------------------------------------------------- dnl ### program checking section ends here ### dnl -------------------------------------------------- @@ -1089,6 +1108,19 @@ 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 ctime_r]) + +AC_TRY_RUN([ +#include +#include +int main(void) { + struct itimerval tval; + tval.it_value.tv_sec = 1; + tval.it_value.tv_usec = 0; + tval.it_interval = tval.it_value; + return setitimer(ITIMER_VIRTUAL, &tval, (void*)0) != 0; +} +],[AC_DEFINE([HAVE_SETITIMER_VIRTUAL], [1], [Define to 1 if setitimer accepts ITIMER_VIRTUAL, 0 else.])]) + dnl ** On OS X 10.4 (at least), time.h doesn't declare ctime_r if dnl ** _POSIX_C_SOURCE is defined AC_CHECK_DECLS([ctime_r], , , @@ -1258,6 +1290,25 @@ else fi AC_SUBST(HavePapi) -AC_CONFIG_FILES([mk/config.mk ghc.spec extra-gcc-opts docs/users_guide/ug-book.xml]) +AC_CONFIG_FILES([mk/config.mk compiler/ghc.cabal ghc/ghc-bin.cabal utils/runghc/runghc.cabal ghc.spec extra-gcc-opts docs/users_guide/ug-book.xml]) AC_CONFIG_COMMANDS([mk/stamp-h],[echo timestamp > mk/stamp-h]) AC_OUTPUT + +# We get caught by +# http://savannah.gnu.org/bugs/index.php?1516 +# $(eval ...) inside conditionals causes errors +# with make 3.80, so warn the user if it looks like they're about to +# try to use it. +checkMake380() { + if $1 --version 2>&1 | head -1 | grep -q 'GNU Make 3\.80' + then + echo + echo "WARNING: It looks like \"$1\" is GNU make 3.80." + echo "This version cannot be used to build GHC." + echo "Please use GNU make >= 3.81." + fi +} + +checkMake380 make +checkMake380 gmake +