X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=distrib%2Fconfigure.ac.in;h=7df0f3b52be79ba13d3cdb51992da541cd1fdbee;hp=ec2ea33f7dbf61c986d5a3342166660405528aef;hb=e5c3b478b3cd1707cf122833822f44b2ac09b8e9;hpb=a8ad2066bf5efa534fccb945da63aad366b989d9 diff --git a/distrib/configure.ac.in b/distrib/configure.ac.in index ec2ea33..7df0f3b 100644 --- a/distrib/configure.ac.in +++ b/distrib/configure.ac.in @@ -6,6 +6,7 @@ dnl AC_INIT([The Glorious Glasgow Haskell Compilation System], [@ProjectVersion@], [glasgow-haskell-bugs@haskell.org], [ghc]) +FP_BINDIST_GHC_PWD FP_FIND_ROOT BootingFromHc=NO @@ -15,20 +16,10 @@ dnl-------------------------------------------------------------------- dnl * Deal with arguments telling us gmp is somewhere odd dnl-------------------------------------------------------------------- -FP_ARG_GMP +FP_GMP -GMP_INCLUDE_DIRS= -GMP_LIB_DIRS= -if test "x$gmp_libraries" != "xNONE"; then - LDFLAGS="-L$gmp_libraries $LDFLAGS" - GMP_LIB_DIRS=$gmp_libraries -fi -if test "x$gmp_includes" != "xNONE"; then - CPPFLAGS="-I$gmp_includes $CPPFLAGS" - GMP_INCLUDE_DIRS=$gmp_includes -fi -AC_SUBST(GMP_INCLUDE_DIRS) -AC_SUBST(GMP_LIB_DIRS) +bootstrap_target=`ghc/stage2/build/tmp/ghc-stage2 +RTS --info | grep '^ ,("Target platform"' | sed -e 's/.*, "//' -e 's/")//' | tr -d '\r'` +FPTOOLS_SET_PLATFORM_VARS # dnl ** Check Perl installation ** @@ -52,19 +43,19 @@ dnl ** how to do symlinks ** AC_PROG_LN_S() # -dnl ** how to invoke `ar' and `ranlib' -# -FP_PROG_AR_NEEDS_RANLIB - -# dnl ** Find the path to sed ** # -AC_PATH_PROG(SedCmd,sed) +AC_PATH_PROG(SedCmd,gsed sed,sed) # -dnl ** How to invoke cpp directly ** +dnl ** How to invoke gcc/cpp ** # -FP_HAVE_GCC +FP_ARG_WITH_PATH_GNU_PROG([CC], [gcc]) +export CC +WhatGccIsCalled="$CC" +AC_SUBST(WhatGccIsCalled) + +FP_GCC_VERSION AC_PROG_CPP # @@ -72,15 +63,53 @@ dnl ** Check gcc version and flags we need to pass it ** # FP_GCC_EXTRA_FLAGS -CONF_CC_OPTS="@CONF_CC_OPTS@" -CONF_LD_OPTS="@CONF_LD_OPTS@" -AC_SUBST(CONF_CC_OPTS) -AC_SUBST(CONF_LD_OPTS) +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_GCC_LINKER_OPTS_STAGE2],[CONF_LD_LINKER_OPTS_STAGE2],[CONF_CPP_OPTS_STAGE2]) + +AC_SUBST(CONF_CC_OPTS_STAGE0) +AC_SUBST(CONF_CC_OPTS_STAGE1) +AC_SUBST(CONF_CC_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) # -AC_CONFIG_FILES(extra-gcc-opts mk/config.mk mk/install.mk) +dnl ** how to invoke `ar' and `ranlib' +# +FP_PROG_AR_NEEDS_RANLIB + +# +AC_CONFIG_FILES(settings mk/config.mk mk/install.mk) 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. +# We would use "grep -q" here, but Solaris's grep doesn't support it. +checkMake380() { + if $1 --version 2>&1 | head -1 | grep 'GNU Make 3\.80' > /dev/null + 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 + echo "****************************************************" echo "Configuration done, ready to 'make install'" echo "(see README and INSTALL files for more info.)"