X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fconfig.mk.in;h=f42e5fa76416cb22ba993977a0765bae572fa0b0;hb=c29b47b74c7625c66d81405907e303ea66bdb061;hp=6fce4518ec8f28593f2eaf91380d146af8f7cd68;hpb=ccc9a4a5c7131e5bece84c0983d7d3f8d6480967;p=ghc-hetmet.git diff --git a/mk/config.mk.in b/mk/config.mk.in index 6fce451..f42e5fa 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -242,6 +242,11 @@ GhcStage3HcOpts=-O2 GhcProfiled=NO GhcDebugged=NO +# Build shared and/or static libs? +BuildSharedLibs=@BuildSharedLibs@ +# ToDo later: +# BuildStaticLibs=@BuildStaticLibs@ + # Build a compiler that will build *unregisterised* libraries and # binaries by default. Unregisterised code is supposed to compile and # run without any support for architecture-specific assembly mangling, @@ -277,9 +282,6 @@ GhcWithNativeCodeGen=$(strip\ $(if $(filter YESYESNO,\ $(OsSupportsNCG)$(ArchSupportsNCG)$(GhcUnregisterised)),YES,NO)) -# Include support for generating Java -GhcWithJavaGen=NO - HaveLibDL = @HaveLibDL@ # ArchSupportsSMP should be set iff there is support for that arch in @@ -349,8 +351,6 @@ BuildingGranSim=$(subst mg,YES,$(filter mg,$(WAYS))) HscIfaceFileVersion=6 -MakefileDeps=YES - #------------------------------------------------------------------------------ # Options for Libraries @@ -367,6 +367,10 @@ else GhcLibWays=p endif +ifeq "$(BuildSharedLibs)" "YES" +GhcLibWays += dyn +endif + # In addition, the RTS is built in some further variations. Ways that # make sense here: # @@ -386,6 +390,10 @@ ifeq "$(BootingFromHc)" "NO" GhcRTSWays += debug endif +ifeq "$(BuildSharedLibs)" "YES" +GhcRTSWays += debug_dyn 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. @@ -442,10 +450,6 @@ SplitObjs=$(strip $(if $(filter $(TargetArch_CPP),i386 x86_64 powerpc sparc),\ # Math library LIBM=@LIBM@ -# Build the ObjectIO ? -# -GhcLibsWithObjectIO=@GhcLibsWithObjectIO@ - # .NET interop support? # DotnetSupport=@DotnetSupport@ @@ -634,10 +638,7 @@ ifacedir = $(libdir) # (NOTE: configure script setting is ignored). libexecdir = $(libdir) -# This is a bit of a lie, as this is a wrapper rather than the program -# itself. However, it means that we don't have to worry about Windows -# and non-Windows having different extensions. -GHC_PKG_PROG = $(FPTOOLS_TOP_ABS)/$(GHC_PKG_DIR_REL)/ghc-pkg-inplace +GHC_PKG_PROG = $(FPTOOLS_TOP_ABS)/$(GHC_PKG_DIR_REL)/install-inplace/bin/ghc-pkg #----------------------------------------------------------------------------- # install configuration @@ -720,7 +721,7 @@ GC_CPP_OPTS += -P -E -x c -traditional -D__GLASGOW_HASKELL__ GHC_UTILS_DIR_REL = utils GHC_INCLUDE_DIR_REL = includes -GHC_COMPILER_DIR_REL = compiler +GHC_COMPILER_DIR_REL = ghc GHC_RTS_DIR_REL = rts GHC_UTILS_DIR_REL = utils GHC_DRIVER_DIR_REL = driver @@ -797,6 +798,7 @@ GHC_TOUCHY_DIR_ABS = $(FPTOOLS_TOP_ABS)/$(GHC_TOUCHY_DIR_REL) GHC_PKG_DIR_ABS = $(FPTOOLS_TOP_ABS)/$(GHC_PKG_DIR_REL) GHC_GENPRIMOP_DIR_ABS = $(FPTOOLS_TOP_ABS)/$(GHC_GENPRIMOP_DIR_REL) GHC_GENAPPLY_DIR_ABS = $(FPTOOLS_TOP_ABS)/$(GHC_GENAPPLY_DIR_REL) +GHC_COMPILER_DIR_ABS = $(FPTOOLS_TOP_ABS)/$(GHC_COMPILER_DIR_REL) GHC_MANGLER_DIR_ABS = $(FPTOOLS_TOP_ABS)/$(GHC_MANGLER_DIR_REL) GHC_SYSMAN_DIR_ABS = $(FPTOOLS_TOP_ABS)/$(GHC_SYSMAN_DIR_REL) @@ -817,7 +819,6 @@ GHC_TOUCHY_PGM = touchy$(exeext) GHC_MANGLER_PGM = ghc-asm GHC_SPLIT_PGM = ghc-split GHC_SYSMAN_PGM = SysMan -GHC_PKG_INPLACE_PGM = ghc-pkg-inplace GHC_GENPRIMOP_PGM = genprimopcode GHC_GENAPPLY_PGM = genapply GHC_MKDEPENDC_PGM = mkdependC @@ -842,7 +843,7 @@ HSC2HS_INPLACE = $(GHC_HSC2HS_DIR)/install-inplace/bin/$(GHC_HSC2HS_INPLACE_PGM MANGLER = $(GHC_MANGLER_DIR)/$(GHC_MANGLER_PGM) SPLIT = $(GHC_SPLIT_DIR)/$(GHC_SPLIT_PGM) SYSMAN = $(GHC_SYSMAN_DIR)/$(GHC_SYSMAN_PGM) -GHC_PKG_INPLACE = $(GHC_PKG_DIR)/$(GHC_PKG_INPLACE_PGM) +GHC_PKG_INPLACE = $(GHC_PKG_PROG) GENPRIMOP = $(GHC_GENPRIMOP_DIR)/$(GHC_GENPRIMOP_PGM) GENAPPLY = $(GHC_GENAPPLY_DIR)/$(GHC_GENAPPLY_PGM) MKDEPENDC = $(GHC_MKDEPENDC_DIR)/$(GHC_MKDEPENDC_PGM) @@ -879,10 +880,12 @@ NHC = @NHC@ # places (eg. it's handy to have a nofib & a ghc build in the same # tree). We can refer to "this ghc" as $(GHC_INPLACE): -GHC_INPLACE = $(GHC_COMPILER_DIR)/ghc-inplace -GHC_STAGE1 = $(GHC_COMPILER_DIR)/stage1/ghc-inplace -no-user-package-conf -GHC_STAGE2 = $(GHC_COMPILER_DIR)/stage2/ghc-inplace -no-user-package-conf -GHC_STAGE3 = $(GHC_COMPILER_DIR)/stage3/ghc-inplace -no-user-package-conf +GHC_INPLACE = $(GHC_STAGE1) +GHC_STAGE1 = $(GHC_COMPILER_DIR_ABS)/stage1-inplace/ghc +GHC_STAGE2 = $(GHC_COMPILER_DIR_ABS)/stage2-inplace/ghc +GHC_STAGE3 = $(GHC_COMPILER_DIR_ABS)/stage3-inplace/ghc +# XXX All those used to have -no-user-package-conf, but then we can't +# pass them to Cabal BOOTSTRAPPING_CONF = $(FPTOOLS_TOP_ABS)/libraries/bootstrapping.conf @@ -964,12 +967,6 @@ SRC_CC_OPTS += -G0 endif SRC_HSC2HS_OPTS += $(addprefix --cflag=,$(filter-out -O,$(SRC_CC_OPTS))) -SRC_HSC2HS_OPTS += --cc=$(CC) -SRC_HSC2HS_OPTS += --ld=$(CC) -SRC_HSC2HS_OPTS += --cflag=-D__GLASGOW_HASKELL__=$(ProjectVersionInt) -SRC_HSC2HS_OPTS += --lflag=-no-auto-link-packages -SRC_HSC2HS_OPTS += -I$(GHC_INCLUDE_DIR_ABS) -SRC_HSC2HS_OPTS += -I$(FPTOOLS_TOP_ABS)/gmp/gmpbuild # Given # foo bar