diff options
author | Simon Marlow <marlowsd@gmail.com> | 2012-07-04 10:34:48 +0100 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2012-07-04 10:34:48 +0100 |
commit | 99fd2469fba1a38b2a65b4694f337d92e559df01 (patch) | |
tree | 20491590ccb07223afd9d1f6a6546213b0f43577 /compiler/ghc.mk | |
parent | d260d919eef22654b1af61334feed0545f64cea5 (diff) | |
parent | 0d19922acd724991b7b97871b1404f3db5058b49 (diff) | |
download | haskell-99fd2469fba1a38b2a65b4694f337d92e559df01.tar.gz |
Merge remote-tracking branch 'origin/master' into newcg
* origin/master: (756 commits)
don't crash if argv[0] == NULL (#7037)
-package P was loading all versions of P in GHCi (#7030)
Add a Note, copying text from #2437
improve the --help docs a bit (#7008)
Copy Data.HashTable's hashString into our Util module
Build fix
Build fixes
Parse error: suggest brackets and indentation.
Don't build the ghc DLL on Windows; works around trac #5987
On Windows, detect if DLLs have too many symbols; trac #5987
Add some more Integer rules; fixes #6111
Fix PA dfun construction with silent superclass args
Add silent superclass parameters to the vectoriser
Add silent superclass parameters (again)
Mention Generic1 in the user's guide
Make the GHC API a little more powerful.
tweak llvm version warning message
New version of the patch for #5461.
Fix Word64ToInteger conversion rule.
Implemented feature request on reconfigurable pretty-printing in GHCi (#5461)
...
Conflicts:
compiler/basicTypes/UniqSupply.lhs
compiler/cmm/CmmBuildInfoTables.hs
compiler/cmm/CmmLint.hs
compiler/cmm/CmmOpt.hs
compiler/cmm/CmmPipeline.hs
compiler/cmm/CmmStackLayout.hs
compiler/cmm/MkGraph.hs
compiler/cmm/OldPprCmm.hs
compiler/codeGen/CodeGen.lhs
compiler/codeGen/StgCmm.hs
compiler/codeGen/StgCmmBind.hs
compiler/codeGen/StgCmmLayout.hs
compiler/codeGen/StgCmmUtils.hs
compiler/main/CodeOutput.lhs
compiler/main/HscMain.hs
compiler/nativeGen/AsmCodeGen.lhs
compiler/simplStg/SimplStg.lhs
Diffstat (limited to 'compiler/ghc.mk')
-rw-r--r-- | compiler/ghc.mk | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/compiler/ghc.mk b/compiler/ghc.mk index f5b93db162..1ea6159812 100644 --- a/compiler/ghc.mk +++ b/compiler/ghc.mk @@ -1,6 +1,6 @@ # ----------------------------------------------------------------------------- # -# (c) 2009 The University of Glasgow +# (c) 2009-2012 The University of Glasgow # # This file is part of the GHC build system. # @@ -27,8 +27,6 @@ endef # The 'echo' commands simply spit the values of various make variables # into Config.hs, whence they can be compiled and used by GHC itself -compiler_CONFIG_HS = compiler/main/Config.hs - # This is just to avoid generating a warning when generating deps # involving RtsFlags.h compiler_stage1_MKDEPENDC_OPTS = -DMAKING_GHC_BUILD_SYSTEM_DEPENDENCIES @@ -137,9 +135,6 @@ else endif @echo done. -# XXX 2010-08-19: This is a legacy clean. Remove later. -$(eval $(call clean-target,compiler,config_hs,compiler/main/Config.hs)) - # ----------------------------------------------------------------------------- # Create platform includes @@ -315,6 +310,9 @@ ifeq "$(GhcWithInterpreter)" "YES" compiler_stage2_CONFIGURE_OPTS += --flags=ghci ifeq "$(BuildSharedLibs)" "YES" +# There are too many symbols to make a Windows DLL for the ghc package, +# so we don't build it the dyn way; see trac #5987 +ifneq "$(TargetOS_CPP)" "mingw32" compiler_stage2_CONFIGURE_OPTS += --enable-shared # If we are going to use dynamic libraries instead of .o files for ghci, # we will need to always retain CAFs in the compiler. @@ -323,6 +321,7 @@ compiler_stage2_CONFIGURE_OPTS += --enable-shared # code is run. compiler_stage2_CONFIGURE_OPTS += --flags=dynlibs endif +endif ifeq "$(GhcEnableTablesNextToCode) $(GhcUnregisterised)" "YES NO" # Should GHCI be building info tables in the TABLES_NEXT_TO_CODE style @@ -360,7 +359,7 @@ ifeq "$(GhcProfiled)" "YES" compiler/main/GhcMake_HC_OPTS += -auto-all compiler/main/GHC_HC_OPTS += -auto-all -# or alternatively addd {-# OPTIONS_GHC -auto-all #-} to the top of +# or alternatively add {-# OPTIONS_GHC -auto-all #-} to the top of # modules you're interested in. # We seem to still build the vanilla libraries even if we say @@ -408,8 +407,9 @@ endif endif ifeq "$(compiler_stage1_VERSION_MUNGED)" "YES" +compiler_stage1_MUNGED_VERSION = $(subst .$(ProjectPatchLevel),,$(ProjectVersion)) define compiler_PACKAGE_MAGIC -compiler_stage1_VERSION = $(subst .$(ProjectPatchLevel),,$(ProjectVersion)) +compiler_stage1_VERSION = $(compiler_stage1_MUNGED_VERSION) endef # Don't register the non-munged package @@ -427,6 +427,14 @@ compiler_stage1_SplitObjs = NO compiler_stage2_SplitObjs = NO compiler_stage3_SplitObjs = NO +ifeq "$(TargetOS_CPP)" "mingw32" +# There are too many symbols to make a Windows DLL for the ghc package, +# so we don't build it the dyn way; see trac #5987 +compiler_stage1_EXCLUDED_WAYS := dyn +compiler_stage2_EXCLUDED_WAYS := dyn +compiler_stage3_EXCLUDED_WAYS := dyn +endif + # if stage is set to something other than "1" or "", disable stage 1 ifneq "$(filter-out 1,$(stage))" "" compiler_stage1_NOT_NEEDED = YES @@ -497,11 +505,11 @@ compiler/main/Constants_HC_OPTS += -fforce-recomp # LibFFI.hs #includes ffi.h compiler/stage2/build/LibFFI.hs : $(libffi_HEADERS) # On Windows it seems we also need to link directly to libffi -ifeq "$(HOSTPLATFORM)" "i386-unknown-mingw32" +ifeq "$(HostOS_CPP)" "mingw32" define windowsDynLinkToFfi # $1 = way ifneq "$$(findstring dyn, $1)" "" -compiler_stage2_$1_ALL_HC_OPTS += -lffi-5 +compiler_stage2_$1_ALL_HC_OPTS += -l$$(LIBFFI_WINDOWS_LIB) endif endef $(foreach way,$(GhcLibWays),$(eval $(call windowsDynLinkToFfi,$(way)))) |