X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=configure.ac;h=14a3ad154c94a5ab82b6b9805d999eb6e6ce89b2;hb=b24792b081f7f74cf52c0c3178cb71fccfc1fcb3;hp=a18f2f7a4d85c446a81e58376456a963f3600930;hpb=2247d4c49e705ee88f5249368e718c12897fe103;p=ghc-hetmet.git diff --git a/configure.ac b/configure.ac index a18f2f7..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, @@ -282,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) @@ -345,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) @@ -388,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 || @@ -408,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 && @@ -527,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 @@ -541,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) @@ -588,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