X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=configure.ac;h=14a3ad154c94a5ab82b6b9805d999eb6e6ce89b2;hb=b24792b081f7f74cf52c0c3178cb71fccfc1fcb3;hp=7c948878dc3d52219370d19b37502283a8d7ee11;hpb=cf00e6f9496393962342df483f9555b8c71ae0c2;p=ghc-hetmet.git diff --git a/configure.ac b/configure.ac index 7c94887..14a3ad1 100644 --- a/configure.ac +++ b/configure.ac @@ -89,6 +89,11 @@ AC_ARG_WITH([ghc], fi WithGhc="$GHC"]) + +dnl ** Tell the make system which OS we are using +dnl $OSTYPE is set by the operating system to "msys" or "cygwin" or something +AC_SUBST(OSTYPE) + dnl ** Booting from .hc files? dnl -------------------------------------------------------------- AC_ARG_ENABLE(hc-boot, @@ -125,12 +130,7 @@ if test "$WithGhc" != ""; then AC_SUBST(GhcPatchLevel)dnl GhcMinVersion2=`echo "$GhcMinVersion" | sed 's/^\\(.\\)$/0\\1/'` GhcCanonVersion="$GhcMajVersion$GhcMinVersion2" - FP_COMPARE_VERSIONS($GhcVersion,[-ge],[6.10.2], - [ghc_ge_6102=YES], [ghc_ge_6102=NO]) - if test $GhcCanonVersion -ge 611; then ghc_ge_611=YES; else ghc_ge_611=NO; fi if test $GhcCanonVersion -ge 613; then ghc_ge_613=YES; else ghc_ge_613=NO; fi - AC_SUBST(ghc_ge_6102)dnl - AC_SUBST(ghc_ge_611)dnl AC_SUBST(ghc_ge_613)dnl fi @@ -287,6 +287,7 @@ x86_64-apple-darwin) ;; esac +# Sync this with cTargetArch in compiler/ghc.mk checkArch() { case $1 in alpha|arm|hppa|hppa1_1|i386|ia64|m68k|mips|mipseb|mipsel|powerpc|powerpc64|rs6000|s390|sparc|sparc64|vax|x86_64) @@ -350,6 +351,16 @@ checkArch "$TargetArch" checkVendor "$TargetVendor" checkOS "$TargetOS" +# Verify that the installed (bootstrap) GHC is capable of generating +# code for the requested build platform. +if test "$build" != "$bootstrap_target" +then + echo "This GHC (${WithGhc}) does not generate code for the build platform" + echo " GHC target platform : $bootstrap_target" + echo " Desired build platform : $BuildPlatform" + exit 1 +fi + AC_SUBST(BuildPlatform) AC_SUBST(HostPlatform) AC_SUBST(TargetPlatform) @@ -393,10 +404,14 @@ then LD="$hardtop/inplace/mingw/bin/ld.exe" NM="$hardtop/inplace/mingw/bin/nm.exe" fp_prog_ar_raw="$hardtop/inplace/mingw/bin/ar.exe" + + # NB. If you update the tarbballs to a new version of gcc, don't + # forget to tweak the paths in driver/gcc/gcc.c. if ! test -d inplace/mingw || test inplace/mingw -ot ghc-tarballs/mingw/binutils*.tar.lzma || test inplace/mingw -ot ghc-tarballs/mingw/gcc-core*.tar.lzma || test inplace/mingw -ot ghc-tarballs/mingw/gcc-c++*.tar.lzma || + test inplace/mingw -ot ghc-tarballs/mingw/libgcc*.tar.gz || test inplace/mingw -ot ghc-tarballs/mingw/libgmp*.tar.gz || test inplace/mingw -ot ghc-tarballs/mingw/libmpc*.tar.gz || test inplace/mingw -ot ghc-tarballs/mingw/libmpfr*.tar.gz || @@ -413,6 +428,7 @@ then tar --lzma -xf ../../ghc-tarballs/mingw/binutils*.tar.lzma && tar --lzma -xf ../../ghc-tarballs/mingw/gcc-core*.tar.lzma && tar --lzma -xf ../../ghc-tarballs/mingw/gcc-c++*.tar.lzma && + tar --lzma -xf ../../ghc-tarballs/mingw/libgcc*.tar.lzma && tar --lzma -xf ../../ghc-tarballs/mingw/libgmp*.tar.lzma && tar --lzma -xf ../../ghc-tarballs/mingw/libmpc*.tar.lzma && tar --lzma -xf ../../ghc-tarballs/mingw/libmpfr*.tar.lzma && @@ -532,11 +548,11 @@ dnl If gcc, make sure it's at least 2.1 dnl FP_HAVE_GCC -FPTOOLS_SET_C_LD_FLAGS([target],[CFLAGS],[LDFLAGS],[CPPFLAGS]) -FPTOOLS_SET_C_LD_FLAGS([build],[CONF_CC_OPTS_STAGE0],[CONF_LD_OPTS_STAGE0],[CONF_CPP_OPTS_STAGE0]) -FPTOOLS_SET_C_LD_FLAGS([target],[CONF_CC_OPTS_STAGE1],[CONF_LD_OPTS_STAGE1],[CONF_CPP_OPTS_STAGE1]) +FPTOOLS_SET_C_LD_FLAGS([target],[CFLAGS],[LDFLAGS],[IGNORE_LINKER_LD_FLAGS],[CPPFLAGS]) +FPTOOLS_SET_C_LD_FLAGS([build],[CONF_CC_OPTS_STAGE0],[CONF_GCC_LINKER_OPTS_STAGE0],[CONF_LD_LINKER_OPTS_STAGE0],[CONF_CPP_OPTS_STAGE0]) +FPTOOLS_SET_C_LD_FLAGS([target],[CONF_CC_OPTS_STAGE1],[CONF_GCC_LINKER_OPTS_STAGE1],[CONF_LD_LINKER_OPTS_STAGE1],[CONF_CPP_OPTS_STAGE1]) # Stage 3 won't be supported by cross-compilation -FPTOOLS_SET_C_LD_FLAGS([target],[CONF_CC_OPTS_STAGE2],[CONF_LD_OPTS_STAGE2],[CONF_CPP_OPTS_STAGE2]) +FPTOOLS_SET_C_LD_FLAGS([target],[CONF_CC_OPTS_STAGE2],[CONF_GCC_LINKER_OPTS_STAGE2],[CONF_LD_LINKER_OPTS_STAGE2],[CONF_CPP_OPTS_STAGE2]) FP_GCC_EXTRA_FLAGS @@ -546,9 +562,12 @@ AC_PROG_CPP AC_SUBST(CONF_CC_OPTS_STAGE0) AC_SUBST(CONF_CC_OPTS_STAGE1) AC_SUBST(CONF_CC_OPTS_STAGE2) -AC_SUBST(CONF_LD_OPTS_STAGE0) -AC_SUBST(CONF_LD_OPTS_STAGE1) -AC_SUBST(CONF_LD_OPTS_STAGE2) +AC_SUBST(CONF_GCC_LINKER_OPTS_STAGE0) +AC_SUBST(CONF_GCC_LINKER_OPTS_STAGE1) +AC_SUBST(CONF_GCC_LINKER_OPTS_STAGE2) +AC_SUBST(CONF_LD_LINKER_OPTS_STAGE0) +AC_SUBST(CONF_LD_LINKER_OPTS_STAGE1) +AC_SUBST(CONF_LD_LINKER_OPTS_STAGE2) AC_SUBST(CONF_CPP_OPTS_STAGE0) AC_SUBST(CONF_CPP_OPTS_STAGE1) AC_SUBST(CONF_CPP_OPTS_STAGE2) @@ -593,7 +612,7 @@ dnl ** check for dtrace (currently only implemented for Mac OS X) HaveDtrace=NO AC_PATH_PROG(DtraceCmd,dtrace) if test -n "$DtraceCmd"; then - if test "x$TargetOS_CPP-$TargetVendor_CPP" == "xdarwin-apple"; then + if test "x$TargetOS_CPP-$TargetVendor_CPP" == "xdarwin-apple" -o "x$TargetOS_CPP-$TargetVendor_CPP" == "xsolaris2-unknown"; then HaveDtrace=YES fi fi