X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=configure.ac;h=734dbd75138ddabc5e279011f437399cbb09d9ec;hp=66ed8a0b86449d2ef54be52e5cad67019531c791;hb=df9195e35a6e7c4bce8737e6930d73781ac6cb58;hpb=fc3ed3199e11aa4b9434e52436d98083ddac0cd0 diff --git a/configure.ac b/configure.ac index 66ed8a0..734dbd7 100644 --- a/configure.ac +++ b/configure.ac @@ -170,6 +170,15 @@ amd64-*-freebsd*|x86_64-*-freebsd*) HostVendor_CPP='unknown' HostOS_CPP='freebsd' ;; +amd64-*-netbsd*|x86_64-*-netbsd*) + HostPlatform=x86_64-unknown-netbsd + TargetPlatform=x86_64-unknown-netbsd + BuildPlatform=x86_64-unknown-netbsd + HostPlatform_CPP='x86_64_unknown_netbsd' + HostArch_CPP='x86_64' + HostVendor_CPP='unknown' + HostOS_CPP='netbsd' + ;; arm*-linux*) HostPlatform=arm-unknown-linux # hack again TargetPlatform=arm-unknown-linux @@ -635,10 +644,16 @@ 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]) -FP_FIND_ROOT - AC_ARG_WITH(hc, [AC_HELP_STRING([--with-hc=ARG], [Use ARG as the path to the compiler for compiling ordinary @@ -656,20 +671,16 @@ if test "$WithGhc" != ""; then AC_SUBST(GhcPatchLevel)dnl GhcMinVersion2=`echo "$GhcMinVersion" | sed 's/^\\(.\\)$/0\\1/'` GhcCanonVersion="$GhcMajVersion$GhcMinVersion2" - if test $GhcCanonVersion -ge 601; then ghc_ge_601=YES; else ghc_ge_601=NO; fi - if test $GhcCanonVersion -ge 602; then ghc_ge_602=YES; else ghc_ge_602=NO; fi - if test $GhcCanonVersion -ge 603; then ghc_ge_603=YES; else ghc_ge_603=NO; fi 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 - AC_SUBST(ghc_ge_601)dnl - AC_SUBST(ghc_ge_602)dnl - AC_SUBST(ghc_ge_603)dnl + 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 -# Check whether this GHC has readline installed -FP_GHC_HAS_READLINE +# Check whether this GHC has editline installed +FP_GHC_HAS_EDITLINE AC_PATH_PROGS(NHC,nhc nhc98) AC_PATH_PROG(HBC,hbc) @@ -680,13 +691,12 @@ AC_ARG_WITH(gcc, [AC_HELP_STRING([--with-gcc=ARG], [Use ARG as the path to GCC [default=autodetect]])], [WhatGccIsCalled="$withval" - if test "x$HostPlatform" = "xi386-unknown-mingw32" - then - if test "${OSTYPE}" != "msys" - then - # Canonicalise to :/path/to/gcc - withval=`cygpath -w ${withval} | sed -e 's@\\\\@/@g' ` - fi + if test "x$HostPlatform" = "xi386-unknown-mingw32" && \ + test "${OSTYPE}" != "msys" && \ + test "${withval}" != "" + then + # Canonicalise to :/path/to/gcc + withval=`cygpath -m ${withval}` fi; CC="$withval" export CC @@ -700,13 +710,12 @@ dnl -------------------------------------------------------------- AC_ARG_WITH(ld, [AC_HELP_STRING([--with-ld=ARG], [Use ARG as the path to LD [default=autodetect]])], -[if test "x$HostPlatform" = "xi386-unknown-mingw32" - then - if test "${OSTYPE}" != "msys" - then - # Canonicalise to :/path/to/ld - withval=`cygpath -w ${withval} | sed -e 's@\\\\@/@g' ` - fi +[if test "x$HostPlatform" = "xi386-unknown-mingw32" && \ + test "${OSTYPE}" != "msys" && \ + test "${withval}" != "" + then + # Canonicalise to :/path/to/ld + withval=`cygpath -m ${withval}` fi; LD=$withval FP_PROG_LD([$LD]) @@ -714,6 +723,35 @@ 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. [default=no]])], +[ if test x"$enableval" = x"yes"; then + 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, @@ -754,10 +792,17 @@ fi; fi; dnl ** Must have GHC to build GHC, unless --enable-hc-boot is on -if test "$BootingFromHc" = "NO" -a "$WithGhc" = "" -a -d "$srcdir/compiler"; then -AC_MSG_ERROR([GHC is required unless bootstrapping from .hc files.]) +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 fi; +# This uses GHC, so put it after the "GHC is required" check above: +FP_FIND_ROOT + dnl ** Enable the construction of Win32 DLLs? dnl -------------------------------------------------------------- dnl @@ -791,21 +836,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, @@ -820,6 +850,23 @@ AC_ARG_ENABLE(dotnet, ) AC_SUBST(DotnetSupport) +dnl ** Mac OS X: explicit deployment target +dnl -------------------------------------------------------------- +AC_ARG_WITH([macosx-deployment-target], +[AC_HELP_STRING([--with-macosx-deployment-target=VERSION], + [Build for Mac OS VERSION and higher (default= version of build host)])], +[FP_MACOSX_DEPLOYMENT_TARGET="$withval" + if test "x$TargetOS_CPP-$TargetVendor_CPP" != "xdarwin-apple"; then + # ignore everywhere, but on Mac OS + AC_MSG_WARN([--macosx-deployment-target is only available on Mac OS X]) + FP_MACOSX_DEPLOYMENT_TARGET=none + fi], +[FP_MACOSX_DEPLOYMENT_TARGET=none] +) +FP_CHECK_MACOSX_DEPLOYMENT_TARGET +AC_SUBST(MACOSX_DEPLOYMENT_VERSION) +AC_SUBST(MACOSX_DEPLOYMENT_SDK) + dnl -------------------------------------------------------------- dnl End of configure script option section dnl -------------------------------------------------------------- @@ -884,10 +931,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 @@ -929,13 +972,12 @@ AC_PATH_PROGS(TarCmd,gtar tar,tar) AC_PATH_PROG(HSCOLOUR,HsColour) # HsColour is passed to Cabal, so we need a native path -if test "x$HostPlatform" = "xi386-unknown-mingw32" - then - if test "${OSTYPE}" != "msys" - then - # Canonicalise to :/path/to/gcc - HSCOLOUR=`cygpath -w ${HSCOLOUR} | sed -e 's@\\\\@/@g' ` - fi +if test "x$HostPlatform" = "xi386-unknown-mingw32" && \ + test "${OSTYPE}" != "msys" && \ + test "${HSCOLOUR}" != "" +then + # Canonicalise to :/path/to/gcc + HSCOLOUR=`cygpath -m ${HSCOLOUR}` fi dnl ** check for DocBook toolchain @@ -988,18 +1030,6 @@ AC_SYS_LARGEFILE dnl ** check for specific header (.h) files that we are interested in AC_CHECK_HEADERS([bfd.h ctype.h dirent.h dlfcn.h errno.h fcntl.h grp.h limits.h locale.h nlist.h pthread.h pwd.h signal.h sys/mman.h sys/resource.h sys/time.h sys/timeb.h sys/timers.h sys/times.h sys/utsname.h sys/wait.h termios.h time.h utime.h windows.h winsock.h]) -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 - GhcLibsWithReadline=YES - AC_DEFINE([HAVE_READLINE_HEADERS], [1], [Define to 1 if readline/readline.h and readline/history.h exist.]) -else - GhcLibsWithReadline=NO - AC_DEFINE([HAVE_READLINE_HEADERS], [0], [Define to 1 if readline/readline.h and readline/history.h exist.]) -fi -AC_SUBST(GhcLibsWithReadline) - dnl ** check if it is safe to include both and AC_HEADER_TIME