From: Simon Marlow Date: Tue, 8 Sep 2009 15:19:08 +0000 (+0000) Subject: add $(CONF_*_OPTS) for options that come from ./configure (fixes #3426) X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=93cd31711eea3dc9aa2ef8995e8ba054dabd87f0;p=ghc-hetmet.git add $(CONF_*_OPTS) for options that come from ./configure (fixes #3426) --- diff --git a/configure.ac b/configure.ac index 8fa8829..5ba6707 100644 --- a/configure.ac +++ b/configure.ac @@ -255,15 +255,15 @@ 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" + CONF_CC_OPTS="$CONF_CC_OPTS -m32" + CONF_LD_OPTS="$CONF_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" + CONF_CC_OPTS="$CONF_CC_OPTS -m64" + CONF_LD_OPTS="$CONF_LD_OPTS -m64" ;; esac @@ -525,8 +525,8 @@ FP_GCC_EXTRA_FLAGS dnl ** figure out how to invoke cpp directly (gcc -E is no good) AC_PROG_CPP -AC_SUBST(SRC_CC_OPTS) -AC_SUBST(SRC_LD_OPTS) +AC_SUBST(CONF_CC_OPTS) +AC_SUBST(CONF_LD_OPTS) dnl ** figure out how to do context diffs FP_PROG_CONTEXT_DIFF diff --git a/mk/config.mk.in b/mk/config.mk.in index ba5406b..53d7f81 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -542,12 +542,13 @@ else endif endif -# default C compiler and linker flags -SRC_CC_OPTS = @SRC_CC_OPTS@ -SRC_LD_OPTS = @SRC_LD_OPTS@ +# C compiler and linker flags from configure (e.g. -m to select +# correct C compiler backend). +CONF_CC_OPTS = @CONF_CC_OPTS@ +CONF_LD_OPTS = @CONF_LD_OPTS@ ifeq "$(TARGETPLATFORM)" "ia64-unknown-linux" -SRC_CC_OPTS += -G0 +CONF_CC_OPTS += -G0 endif SRC_HSC2HS_OPTS += $(addprefix --cflag=,$(filter-out -O,$(SRC_CC_OPTS))) diff --git a/rules/distdir-opts.mk b/rules/distdir-opts.mk index a2dedb0..5265efc 100644 --- a/rules/distdir-opts.mk +++ b/rules/distdir-opts.mk @@ -32,7 +32,8 @@ else $1_$2_DEP_INCLUDE_DIRS_FLAG = -I endif -$1_$2_BUILD_CC_OPTS = \ +$1_$2_DIST_CC_OPTS = \ + $$(CONF_CC_OPTS) \ $$(SRC_CC_OPTS) \ $$($1_CC_OPTS) \ $$(foreach dir,$$(filter-out /%,$$($1_$2_INCLUDE_DIRS)),-I$1/$$(dir)) \ @@ -42,7 +43,8 @@ $1_$2_BUILD_CC_OPTS = \ $$(foreach dir,$$($1_$2_DEP_INCLUDE_DIRS),$$($1_$2_DEP_INCLUDE_DIRS_FLAG)$$(dir)) \ $$($1_$2_DEP_CC_OPTS) -$1_$2_BUILD_LD_OPTS = \ +$1_$2_DIST_LD_OPTS = \ + $$(CONF_LD_OPTS) \ $$(SRC_LD_OPTS) \ $$($1_LD_OPTS) \ $$($1_$2_LD_OPTS) \ @@ -51,7 +53,8 @@ $1_$2_BUILD_LD_OPTS = \ $$($1_$2_DEP_LD_OPTS) # c.f. Cabal's Distribution.Simple.GHC.ghcOptions -$1_$2_BUILD_HC_OPTS = \ +$1_$2_DIST_HC_OPTS = \ + $$(CONF_HC_OPTS) \ $$(SRC_HC_OPTS) \ $$($1_HC_OPTS) \ $$($1_$2_HC_PKGCONF) \ diff --git a/rules/distdir-way-opts.mk b/rules/distdir-way-opts.mk index c3656b7..7a23b72 100644 --- a/rules/distdir-way-opts.mk +++ b/rules/distdir-way-opts.mk @@ -17,16 +17,20 @@ define distdir-way-opts # args: $1 = dir, $2 = distdir, $3 = way # Options for a Haskell compilation: # - SRC_HC_OPTS source-tree-wide options +# (optimisation, heap settings) +# - CONF_HC_OPTS source-tree-wide options, selected at +# configure-time +# - libraries/base_HC_OPTS options from libraries/base for all ways +# - libraries/base_v_HC_OPTS options from libraries/base for way v # - WAY_v_HC_OPTS options for this way -# - libraries/base_BUILD_HC_OPTS options from the build system for this dir +# - EXTRA_HC_OPTS options from the command-line # - -Idir1 -Idir2 ... include-dirs from this package # - -odir/-hidir/-stubdir put the output files under $3/build # - -osuf/-hisuf/-hcsuf suffixes for the output files in this way -# - EXTRA_HC_OPTS options from the command-line $1_$2_$3_MOST_HC_OPTS = \ $$(WAY_$3_HC_OPTS) \ - $$($1_$2_BUILD_HC_OPTS) \ + $$($1_$2_DIST_HC_OPTS) \ $$($1_$2_$3_HC_OPTS) \ $$($$*_HC_OPTS) \ $$(EXTRA_HC_OPTS) @@ -43,17 +47,18 @@ $1_$2_$3_ALL_HC_OPTS = \ $1_$2_$3_ALL_HSC2HS_OPTS = \ --cc=$$(WhatGccIsCalled) \ --ld=$$(WhatGccIsCalled) \ + $$(CONF_HSC2HS_OPTS) \ $$(SRC_HSC2HS_OPTS) \ $$(WAY_$3_HSC2HS_OPTS) \ --cflag=-D__GLASGOW_HASKELL__=$$(ProjectVersionInt) \ - $$(foreach opt,$$($1_$2_BUILD_CC_OPTS),'--cflag=$$(opt)') \ - $$(foreach opt,$$($1_$2_BUILD_LD_OPTS),'--lflag=$$(opt)') \ + $$(foreach opt,$$($1_$2_DIST_CC_OPTS),'--cflag=$$(opt)') \ + $$(foreach opt,$$($1_$2_DIST_LD_OPTS),'--lflag=$$(opt)') \ $$($$*_HSC2HS_OPTS) \ $$(EXTRA_HSC2HS_OPTS) $1_$2_$3_ALL_CC_OPTS = \ $$(WAY_$3_CC_OPTS) \ - $$($1_$2_BUILD_CC_OPTS) \ + $$($1_$2_DIST_CC_OPTS) \ $$($1_$2_$3_CC_OPTS) \ $$($$*_CC_OPTS) \ $$(EXTRA_CC_OPTS) @@ -63,6 +68,7 @@ $1_$2_$3_GHC_CC_OPTS = \ $$($1_$2_$3_MOST_HC_OPTS) $1_$2_$3_ALL_AS_OPTS = \ + $$(CONF_AS_OPTS) \ $$(SRC_AS_OPTS) $$(WAY_$3_AS_OPTS) \ $$($1_AS_OPTS) \ @@ -71,6 +77,7 @@ $1_$2_$3_ALL_AS_OPTS = \ $$(EXTRA_AS_OPTS) $1_$2_$3_ALL_ALEX_OPTS = \ + $$(CONF_ALEX_OPTS) \ $$(SRC_ALEX_OPTS) $$(WAY_$3_ALEX_OPTS) \ $$($1_ALEX_OPTS) \ @@ -79,6 +86,7 @@ $1_$2_$3_ALL_ALEX_OPTS = \ $$(EXTRA_ALEX_OPTS) $1_$2_$3_ALL_HAPPY_OPTS = \ + $$(CONF_HAPPY_OPTS) \ $$(SRC_HAPPY_OPTS) \ $$(WAY_$3_HAPPY_OPTS) \ $$($1_HAPPY_OPTS) \