X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fconfig.mk.in;h=abd7f83ca0bafa310427c973724080ef39bf6bb6;hb=e295322d630f6023dc8f9c0208b6bcc540d0847a;hp=ae7b743691e303763a5ec3d5369f67d78104fbc1;hpb=a12dcc89780ddec69beec723ac444c5fab388a9a;p=ghc-hetmet.git diff --git a/mk/config.mk.in b/mk/config.mk.in index ae7b743..abd7f83 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -247,11 +247,10 @@ endif ArchSupportsNCG=$(strip $(patsubst $(HostArch_CPP), YES, $(findstring $(HostArch_CPP), i386 x86_64 powerpc))) OsSupportsNCG=$(strip $(patsubst $(HostOS_CPP), YES, $(patsubst aix,,$(HostOS_CPP)))) -ifeq "$(OsSupportsNCG)$(ArchSupportsNCG)$(GhcUnregisterised)" "YESYESNO" -GhcWithNativeCodeGen=YES -else -GhcWithNativeCodeGen=NO -endif +# lazy test, because $(GhcUnregisterised) might be set in build.mk later. +GhcWithNativeCodeGen=$(strip\ + $(if $(filter YESYESNO,\ + $(OsSupportsNCG)$(ArchSupportsNCG)$(GhcUnregisterised)),YES,NO)) # Include support for generating Java GhcWithJavaGen=NO @@ -262,11 +261,8 @@ HaveLibDL = @HaveLibDL@ # includes/SMP.h ArchSupportsSMP=$(strip $(patsubst $(HostArch_CPP), YES, $(findstring $(HostArch_CPP), i386 x86_64 sparc powerpc))) -ifeq "$(ArchSupportsSMP)$(GhcUnregisterised)" "YESNO" -GhcWithSMP=YES -else -GhcWithSMP=NO -endif +# lazy test, because $(GhcUnregisterised) might be set in build.mk later. +GhcWithSMP=$(strip $(if $(filter YESNO, $(ArchSupportsSMP)$(GhcUnregisterised)),YES,NO)) # Whether to include GHCi in the compiler. Depends on whether the RTS linker # has support for this OS/ARCH combination. @@ -350,9 +346,9 @@ GhcRTSWays += debug endif # Want the threaded versions unless we're unregisterised -ifeq "$(GhcUnregisterised)" "NO" -GhcRTSWays += thr thr_p thr_debug -endif +# Defer the check until later by using $(if..), because GhcUnregisterised might +# be set in build.mk, which hasn't been read yet. +GhcRTSWays += $(if $(findstring NO, $(GhcUnregisterised)),thr thr_p thr_debug,) # Option flags to pass to GHC when it's compiling modules in # fptools/libraries. Typically these are things like -O or @@ -395,26 +391,15 @@ CorePackages = base Cabal haskell98 readline regex-base regex-compat \ # Don't use -split-objs in in GhcLibHcOpts, because the build # system needs to do other special magic if you are # doing object-file splitting -ifneq "$(findstring $(HostArch_CPP), i386 x86_64 powerpc sparc)" "" -SplitObjs=YES -else -SplitObjs=NO -endif -# Don't split object files for libs if we're building DLLs, or booting from -# .hc files. -ifeq "$(DLLized)" "YES" -SplitObjs=NO -endif -ifeq "$(BootingFromHc)" "YES" -SplitObjs=NO -endif -ifeq "$(GhcUnregisterised)" "YES" -SplitObjs=NO -endif -ifeq "$(TargetArch_CPP)" "ia64" -SplitObjs=NO -endif +# lazy test, so that $(GhcUnregisterised) can be set in build.mk +SplitObjs=$(strip $(if $(filter $(TargetArch_CPP),i386 x86_64 powerpc sparc),\ + $(if $(filter YES,$(BootingFromHC)),\ + NO,\ + $(if $(filter NO,$(GhcUnregisterised)),\ + YES,\ + NO)),\ + NO)) # Math library LIBM=@LIBM@ @@ -786,6 +771,7 @@ LNDIR = $(GHC_LNDIR_DIR)/$(GHC_LNDIR_PGM) RUNTEST = $(GHC_RUNTEST_DIR)/$(GHC_RUNTEST_PGM) GENERATED_FILE = chmod a-w +EXECUTABLE_FILE = chmod +x #----------------------------------------------------------------------------- # Haskell compilers and mkdependHS