X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=configure.ac;h=14d8710c079d2f73baa56c11c5b7ca7265c90981;hb=8ec978161d50e476e327b59bdf1a2d5e57705609;hp=57174a26f267cc2aa1c33939ca41cec1927072eb;hpb=8e9626ce5158f434a63f4948b5607150786f9c75;p=ghc-hetmet.git diff --git a/configure.ac b/configure.ac index 57174a2..14d8710 100644 --- a/configure.ac +++ b/configure.ac @@ -33,6 +33,17 @@ fi AC_SUBST([CONFIGURE_ARGS], [$ac_configure_args]) +dnl ---------------------------------------------------------- +dnl ** Find unixy sort and find commands, +dnl ** which are needed by FP_SETUP_PROJECT_VERSION + +dnl ** Find find command (for Win32's benefit) +FP_PROG_FIND + +dnl ** Find sort command (for the benefit of Win32 environs) +FP_PROG_SORT + +dnl ---------------------------------------------------------- FP_SETUP_PROJECT_VERSION # Hmmm, we fix the RPM release number to 1 here... Is this convenient? @@ -78,6 +89,22 @@ AC_ARG_WITH([ghc], fi WithGhc="$GHC"]) +dnl ** Booting from .hc files? +dnl -------------------------------------------------------------- +AC_ARG_ENABLE(hc-boot, +[AC_HELP_STRING([--enable-hc-boot], +[Boot the Glasgow Haskell Compiler from intermediate .hc files. + (This option is mostly of interest to porters.) [default=no]])], +[ if test x"$enableval" = x"yes"; then + BootingFromHc=YES + else + BootingFromHc=NO + fi +], +[BootingFromHc=NO] +) +AC_SUBST(BootingFromHc) + dnl ** Booting from unregisterised .hc files? dnl -------------------------------------------------------------- AC_ARG_ENABLE(hc-boot-unregisterised, @@ -101,26 +128,6 @@ AC_MSG_ERROR([--enable-hc-boot-unregisterised requires --enable-hc-boot.]) fi; fi; -dnl ** Must have GHC to build GHC, unless --enable-hc-boot is on -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.8], - [AC_MSG_ERROR([GHC version 6.8 or later is required to compile GHC.])])dnl - - if test `expr $GhcMinVersion % 2` = "1"; then - echo $EnableBootstrapWithDevelSnaphost - if test "$EnableBootstrapWithDevelSnaphost" = "NO"; then - AC_MSG_ERROR([ - $WithGhc is a development snapshot of GHC, version $GhcVersion. - Bootstrapping using this version of GHC is not supported, and may not - work. Use --enable-bootstrap-with-devel-snapshot to try it anyway, - or --with-ghc to specify a different GHC to use.]) - fi - fi -fi; - AC_ARG_ENABLE(bootstrap-with-devel-snapshot, [AC_HELP_STRING([--enable-bootstrap-with-devel-snapshot], [Allow bootstrapping using a development snapshot of GHC. This is not guaranteed to work.])], @@ -145,6 +152,25 @@ if test "$WithGhc" != ""; then AC_SUBST(ghc_ge_609)dnl fi +dnl ** Must have GHC to build GHC, unless --enable-hc-boot is on +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.8], + [AC_MSG_ERROR([GHC version 6.8 or later is required to compile GHC.])])dnl + + if test `expr $GhcMinVersion % 2` = "1"; then + if test "$EnableBootstrapWithDevelSnaphost" = "NO"; then + AC_MSG_ERROR([ + $WithGhc is a development snapshot of GHC, version $GhcVersion. + Bootstrapping using this version of GHC is not supported, and may not + work. Use --enable-bootstrap-with-devel-snapshot to try it anyway, + or --with-ghc to specify a different GHC to use.]) + fi + fi +fi; + # GHC is passed to Cabal, so we need a native path if test "${WithGhc}" != "" then @@ -164,6 +190,9 @@ then fi AC_SUBST([WithGhc]) +dnl ** Without optimization some INLINE trickery fails for GHCi +SRC_CC_OPTS="-O" + dnl-------------------------------------------------------------------- dnl * Choose host(/target/build) platform dnl-------------------------------------------------------------------- @@ -182,7 +211,7 @@ if test "$build" = "" then if test "${WithGhc}" != "" then - build=`${WithGhc} +RTS --info | grep '^ ,("Target platform"' | sed -e 's/.*, "//' -e 's/")//'` + build=`${WithGhc} +RTS --info | grep '^ ,("Target platform"' | sed -e 's/.*, "//' -e 's/")//' | tr -d '\r'` echo "Build platform inferred as: $build" else echo "Can't work out build platform" @@ -194,7 +223,7 @@ if test "$host" = "" then if test "${WithGhc}" != "" then - host=`${WithGhc} +RTS --info | grep '^ ,("Target platform"' | sed -e 's/.*, "//' -e 's/")//'` + host=`${WithGhc} +RTS --info | grep '^ ,("Target platform"' | sed -e 's/.*, "//' -e 's/")//' | tr -d '\r'` echo "Host platform inferred as: $host" else echo "Can't work out host platform" @@ -206,7 +235,7 @@ if test "$target" = "" then if test "${WithGhc}" != "" then - target=`${WithGhc} +RTS --info | grep '^ ,("Target platform"' | sed -e 's/.*, "//' -e 's/")//'` + target=`${WithGhc} +RTS --info | grep '^ ,("Target platform"' | sed -e 's/.*, "//' -e 's/")//' | tr -d '\r'` echo "Target platform inferred as: $target" else echo "Can't work out target platform" @@ -228,11 +257,17 @@ case $host in ;; i386-apple-darwin|powerpc-apple-darwin) soext='.dylib' + CFLAGS="$CFLAGS -m32" + LDFLAGS="$LDFLAGS -m32" + SRC_CC_OPTS="$SRC_CC_OPTS -m32" + SRC_LD_OPTS="$SRC_LD_OPTS -m32" ;; x86_64-apple-darwin) soext='.dylib' CFLAGS="$CFLAGS -m64" LDFLAGS="$LDFLAGS -m64" + SRC_CC_OPTS="$SRC_CC_OPTS -m64" + SRC_LD_OPTS="$SRC_LD_OPTS -m64" ;; esac @@ -263,7 +298,7 @@ checkOS() { linux|freebsd|netbsd|openbsd|osf1|osf3|hpux|linuxaout|kfreebsdgnu|freebsd2|solaris2|cygwin32|mingw32|darwin|gnu|nextstep2|nextstep3|sunos4|ultrix|irix|aix) ;; *) - echo "Unknown OS $1" + echo "Unknown OS '$1'" exit 1 ;; esac @@ -380,52 +415,6 @@ 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, -[AC_HELP_STRING([--enable-hc-boot], -[Boot the Glasgow Haskell Compiler from intermediate .hc files. - (This option is mostly of interest to porters.) [default=no]])], -[ if test x"$enableval" = x"yes"; then - BootingFromHc=YES - else - BootingFromHc=NO - fi -], -[BootingFromHc=NO] -) -AC_SUBST(BootingFromHc) - # This uses GHC, so put it after the "GHC is required" check above: FP_FIND_ROOT @@ -540,24 +529,12 @@ FP_GCC_EXTRA_FLAGS dnl ** figure out how to invoke cpp directly (gcc -E is no good) AC_PROG_CPP -dnl ** Without optimization some INLINE trickery fails for GHCi -SRC_CC_OPTS="-O" - -SRC_CC_OPTS="$SRC_CC_OPTS $CFLAGS" -SRC_LD_OPTS="$SRC_LD_OPTS $LDFLAGS" - AC_SUBST(SRC_CC_OPTS) AC_SUBST(SRC_LD_OPTS) dnl ** figure out how to do context diffs FP_PROG_CONTEXT_DIFF -dnl ** Find find command (for Win32's benefit) -FP_PROG_FIND - -dnl ** Find sort command (for the benefit of Win32 environs) -FP_PROG_SORT - dnl Let's make sure install-sh is executable here. If we got it from dnl a darcs repo, it might not be (see bug #978). chmod +x install-sh @@ -859,6 +836,8 @@ AC_CHECK_HEADER([papi.h], [HavePapiHeader=YES], [HavePapiHeader=NO]) AC_SUBST(HavePapiLib) AC_SUBST(HavePapiHeader) +AC_CHECK_FUNCS(__mingw_vfprintf) + if test "$HavePapiLib" = "YES" -a "$HavePapiHeader" = "YES"; then HavePapi=YES else @@ -886,7 +865,11 @@ fi AC_SUBST(BUILD_DOCBOOK_PS) AC_SUBST(BUILD_DOCBOOK_PDF) -AC_CONFIG_FILES([mk/config.mk mk/project.mk compiler/ghc.cabal ghc/ghc-bin.cabal ghc.spec extra-gcc-opts docs/users_guide/ug-book.xml distrib/ghc.iss]) +if grep ' ' compiler/ghc.cabal.in 2>&1 >/dev/null; then + AC_MSG_ERROR([compiler/ghc.cabal.in contains tab characters; please remove them]) +fi + +AC_CONFIG_FILES([mk/config.mk mk/install.mk mk/project.mk compiler/ghc.cabal ghc/ghc-bin.cabal ghc.spec extra-gcc-opts docs/users_guide/ug-book.xml distrib/ghc.iss]) AC_CONFIG_COMMANDS([mk/stamp-h],[echo timestamp > mk/stamp-h]) AC_OUTPUT @@ -956,9 +939,7 @@ fi echo ["\ Building DocBook HTML documentation : $BUILD_DOCBOOK_HTML Building DocBook PS documentation : $BUILD_DOCBOOK_PS - Building DocBook PDF documentation : $BUILD_DOCBOOK_PDF - - Building shared libraries : $BuildSharedLibs"] + Building DocBook PDF documentation : $BUILD_DOCBOOK_PDF"] echo ["---------------------------------------------------------------------- "]