Commit 93cd3171 authored by Simon Marlow's avatar Simon Marlow

add $(CONF_*_OPTS) for options that come from ./configure (fixes #3426)

parent 03bb97e0
......@@ -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
......
......@@ -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<blah> 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)))
......
......@@ -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) \
......
......@@ -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) \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment