X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fconfig.mk.in;h=32fb196eaa03e6dc667337ad8ce29376b0154cbe;hb=e946a8b1020e9a0e75bba33c64739c93c65c1424;hp=53d7f81dc5d72b0f2ec48e41b127d88876403f46;hpb=93cd31711eea3dc9aa2ef8995e8ba054dabd87f0;p=ghc-hetmet.git diff --git a/mk/config.mk.in b/mk/config.mk.in index 53d7f81..32fb196 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -26,7 +26,6 @@ TOP = @hardtop@ include $(TOP)/mk/project.mk -include $(TOP)/mk/install.mk ################################################################################ # @@ -102,13 +101,9 @@ GhcProfiled=NO GhcDebugged=NO GhcLibProfiled=$(if $(filter p,$(GhcLibWays)),YES,NO) -# Build shared and/or static libs? +# Do we support shared libs? PlatformSupportsSharedLibs = $(if $(filter $(TARGETPLATFORM),i386-unknown-linux x86_64-unknown-linux),YES,NO) -ifeq "$(PlatformSupportsSharedLibs)" "YES" -BuildSharedLibs = YES -else -BuildSharedLibs = NO -endif + # ToDo later: # BuildStaticLibs=@BuildStaticLibs@ @@ -196,6 +191,9 @@ else RelocatableBuild = NO endif +# needs to be after $(RelocatableBuild) is set above +include $(TOP)/mk/install.mk + # When building bindists we set this to yes so that the binaries are as # portable as possible. BeConservative = NO @@ -221,10 +219,13 @@ ifneq "$(BootingFromHc)" "YES" GhcLibWays += p endif -ifeq "$(BuildSharedLibs)" "YES" +ifeq "$(PlatformSupportsSharedLibs)" "YES" GhcLibWays += dyn endif +# Handy way to test whether we're building shared libs or not. +BuildSharedLibs=$(strip $(if $(findstring dyn,$(GhcLibWays)),YES,NO)) + # In addition, the RTS is built in some further variations. Ways that # make sense here: # @@ -246,15 +247,12 @@ ifeq "$(BootingFromHc)" "NO" GhcRTSWays += debug endif -ifeq "$(BuildSharedLibs)" "YES" -GhcRTSWays += dyn debug_dyn $(if $(findstring NO, $(GhcUnregisterised)),thr_dyn thr_debug_dyn) -endif - # Want the threaded versions unless we're unregisterised # 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_debug thr_l,) GhcRTSWays += $(if $(findstring p, $(GhcLibWays)),$(if $(findstring NO, $(GhcUnregisterised)),thr_p,),) +GhcRTSWays += $(if $(findstring dyn, $(GhcLibWays)), dyn debug_dyn $(if $(findstring NO, $(GhcUnregisterised)),thr_dyn thr_debug_dyn),) # We can only build GHCi threaded if we have a threaded RTS: GhcThreaded = $(if $(findstring thr,$(GhcRTSWays)),YES,NO) @@ -363,14 +361,11 @@ ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" DEFAULT_TMPDIR = /C/TEMP endif -BIN_DIST_TOPDIR_ABS=$(TOP) -BIN_DIST_DIR=$(BIN_DIST_TOPDIR_ABS)/$(BIN_DIST_NAME) +BIN_DIST_DIR=bindistprep/$(BIN_DIST_NAME) BIN_DIST_NAME=ghc-$(ProjectVersion) -BIN_DIST_TAR=$(TOP)/$(BIN_DIST_NAME)-$(TARGETPLATFORM).tar +BIN_DIST_TAR=$(TOP)/bindistprep/$(BIN_DIST_NAME)-$(TARGETPLATFORM).tar BIN_DIST_TAR_BZ2=$(BIN_DIST_TAR).bz2 -BIN_DIST_PREP_DIR=$(TOP)/bindist-prep -BIN_DIST_PREP=$(BIN_DIST_PREP_DIR)/$(BIN_DIST_NAME) BIN_DIST_LIST=$(TOP)/bindist-list WINDOWS_INSTALLER_BASE = ghc-$(ProjectVersion)-i386-windows @@ -504,7 +499,7 @@ INSTALL_GHC_STAGE=2 BOOTSTRAPPING_CONF = libraries/bootstrapping.conf -INPLACE_PACKAGE_CONF = $(INPLACE_LIB)/package.conf +INPLACE_PACKAGE_CONF = $(INPLACE_LIB)/package.conf.d GhcVersion = @GhcVersion@ GhcPatchLevel = @GhcPatchLevel@ @@ -512,6 +507,8 @@ GhcMajVersion = @GhcMajVersion@ GhcMinVersion = @GhcMinVersion@ ghc_ge_609 = @ghc_ge_609@ +ghc_ge_6102 = @ghc_ge_6102@ +ghc_ge_611 = @ghc_ge_611@ # Canonicalised ghc version number, used for easy (integer) version # comparisons. We must expand $(GhcMinVersion) to two digits by @@ -551,7 +548,7 @@ ifeq "$(TARGETPLATFORM)" "ia64-unknown-linux" CONF_CC_OPTS += -G0 endif -SRC_HSC2HS_OPTS += $(addprefix --cflag=,$(filter-out -O,$(SRC_CC_OPTS))) +SRC_HSC2HS_OPTS += $(addprefix --cflag=,$(filter-out -O,$(SRC_CC_OPTS) $(CONF_CC_OPTS))) SRC_HSC2HS_OPTS += $(foreach d,$(GMP_INCLUDE_DIRS),-I$(d)) #----------------------------------------------------------------------------- @@ -740,7 +737,7 @@ SRC_ALEX_OPTS = -g HSTAGS = @HstagsCmd@ # Should we build haddock docs? -HADDOCK_DOCS = YES +HADDOCK_DOCS = $(GhcWithInterpreter) # And HsColour the sources? ifeq "$(HSCOLOUR)" "" HSCOLOUR_SRCS = NO @@ -748,116 +745,6 @@ else HSCOLOUR_SRCS = YES endif -# -# Options for compiling in different `ways'. -# -# To configure up your own way, have a look at some of the standard ways -# such as profiling, and create your own set of WAY_*_OPTS defs below. -# After having done that, add your way string to WAYS, and after having -# run the configure script, the different projects will add the new way -# to the list of ways they support. -# - -# -# Definitions of the different ways: -# -# * their name: -# - tag, e.g., p -# - description, e.g., profiling -# * what they mean to the driver: -# - WAY_p_HC_OPTS gives the list of command-line options -# to the driver. -# - -# -# The ways currently defined. -# -ALL_WAYS=v p t l s mp mg debug dyn thr thr_l debug_dyn thr_dyn thr_debug_dyn thr_p thr_debug debug_p thr_debug_p - -# -# The following ways currently have treated specially, p t mg, -# as the driver script treats these guys specially and needs to carefully be told -# about the options for these. Hence, we hide the required command line options -# for these in the driver, as this is the only place they are needed. -# -# If you want to add to these default options, fill in the variables below: - -# Way 'v': -WAY_v_NAME=vanilla -WAY_v_HC_OPTS= - -# Way 'p': -WAY_p_NAME=profiling -WAY_p_HC_OPTS= -prof - -# Way 't': -WAY_t_NAME=ticky-ticky profiling -WAY_t_HC_OPTS= -ticky - -# Way 'l': -WAY_l_NAME=event logging -WAY_l_HC_OPTS= -eventlog - -# Way `mp': -WAY_mp_NAME=parallel -WAY_mp_HC_OPTS=-parallel - -# Way `mg': -WAY_mg_NAME=GranSim -WAY_mg_HC_OPTS=-gransim - -# -# These ways apply to the RTS only: -# - -# Way 'thr': -WAY_thr_NAME=threaded -WAY_thr_HC_OPTS=-optc-DTHREADED_RTS - -# Way 'thr_p': -WAY_thr_p_NAME=threaded profiled -WAY_thr_p_HC_OPTS=-optc-DTHREADED_RTS -prof - -# Way 'thr_l': -WAY_thr_l_NAME=threaded event logging -WAY_thr_l_HC_OPTS=-optc-DTHREADED_RTS -eventlog - -# Way 'debug': -WAY_debug_NAME=debug -WAY_debug_HC_OPTS=-optc-DDEBUG - -# Way 'debug_p': -WAY_debug_p_NAME=debug profiled -WAY_debug_p_HC_OPTS=-optc-DDEBUG -prof - -# Way 'debug_t': -WAY_debug_t_NAME=debug ticky-ticky profiling -WAY_debug_t_HC_OPTS= -ticky -optc-DDEBUG - -# Way 'thr_debug': -WAY_thr_debug_NAME=threaded -WAY_thr_debug_HC_OPTS=-optc-DTHREADED_RTS -optc-DDEBUG - -# Way 'thr_debug_p': -WAY_thr_debug_p_NAME=threaded debug profiling -WAY_thr_debug_p_HC_OPTS=-optc-DTHREADED_RTS -optc-DDEBUG -prof - -# Way 'dyn': build dynamic shared libraries -WAY_dyn_NAME=dyn -WAY_dyn_HC_OPTS=-fPIC -dynamic - -# Way 'thr_dyn': -WAY_thr_dyn_NAME=thr_dyn -WAY_thr_dyn_HC_OPTS=-fPIC -dynamic -optc-DTHREADED_RTS - -# Way 'thr_debug_dyn': -WAY_thr_debug_dyn_NAME=thr_dyn -WAY_thr_debug_dyn_HC_OPTS=-fPIC -dynamic -optc-DTHREADED_RTS -optc-DDEBUG - -# Way 'debug_dyn': -WAY_debug_dyn_NAME=thr_dyn -WAY_debug_dyn_HC_OPTS=-fPIC -dynamic -optc-DDEBUG - ################################################################################ # # 31-bit-Int Core files