X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fconfig.mk.in;h=996fe6e2e98db3d25b031da5fe5339839df9425e;hb=70c0442b8dbe12bfd0968a1312fabf31a259f996;hp=b60bd8c17b60ffa7f672c088b056fc4d788c4cae;hpb=f5b4352070f1fcbda25608edf3d48bea09ef2465;p=ghc-hetmet.git diff --git a/mk/config.mk.in b/mk/config.mk.in index b60bd8c..996fe6e 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -257,6 +257,14 @@ GhcWithJavaGen=NO HaveLibDL = @HaveLibDL@ +ArchSupportsSMP=$(strip $(patsubst $(HostArch_CPP), YES, $(findstring $(HostArch_CPP), i386 x86_64 sparc))) + +ifeq "$(ArchSupportsSMP)$(GhcUnregisterised)" "YESNO" +GhcWithSMP=YES +else +GhcWithSMP=NO +endif + # Whether to include GHCi in the compiler. Depends on whether the RTS linker # has support for this OS/ARCH combination. @@ -269,6 +277,17 @@ else GhcWithInterpreter=NO endif +# GhcEnableTablesNextToCode tells us whether the target architecture +# supports placing info tables directly before the entry code +# (see TABLES_NEXT_TO_CODE in the RTS). Whether we actually compile for +# TABLES_NEXT_TO_CODE depends on whether we're building unregisterised +# code or not, which may be decided by options to the compiler later. +ifneq "$(findstring $(TargetArch_CPP)X, ia64X powerpc64X)" "" +GhcEnableTablesNextToCode=NO +else +GhcEnableTablesNextToCode=YES +endif + # # Building various ways? # (right now, empty if not). @@ -347,6 +366,15 @@ DLLized=@EnableWin32DLLs@ # StripLibraries=NO +# These are the URL patterns that Haddock uses to generate the "Source +# File" links on each page. +CorePackageSourceURL = http://darcs.haskell.org/ghc-6.6/packages/$(PACKAGE)/%{FILE} +ExtraPackageSourceURL = http://darcs.haskell.org/packages/$(PACKAGE)/%{FILE} + +# These are the packages required to be present in order to bootstrap GHC +# NB. must be synced with libraries/core-packages +CorePackages = base Cabal haskell98 readline regex-base regex-compat \ + regex-posix parsec stm template-haskell unix Win32 # ---------------------------------------------------------------------------- # Object-file splitting @@ -377,18 +405,6 @@ ifeq "$(TargetArch_CPP)" "ia64" SplitObjs=NO endif -# Build the Haskell Readline bindings? -# -GhcLibsWithReadline=@GhcLibsWithReadline@ - -# Libraries needed for linking with readline -LibsReadline=@LibsReadline@ - -# Include path to readline.h -# (no path == in standard include path) -# -ReadlineIncludePath= - # Math library LIBM=@LIBM@ @@ -465,10 +481,10 @@ NoFibRuns = 5 DEFAULT_TMPDIR = /tmp ifeq "$(TARGETPLATFORM)" "i386-unknown-cygwin32" -DEFAULT_TMPDIR = C:/TEMP +DEFAULT_TMPDIR = /C/TEMP endif ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" -DEFAULT_TMPDIR = C:/TEMP +DEFAULT_TMPDIR = /C/TEMP endif # FPTOOLS_TOP: the top of the fptools hierarchy, absolute path. (POSIX / unix-style path). @@ -493,7 +509,7 @@ mandir = @mandir@ ifeq "$(Windows)" "YES" ifeq "$(strip $(prefix))" "" -prefix = c:/ghc +prefix = /c/ghc endif # Hack: our directory layouts tend to be different on Windows, so @@ -707,6 +723,7 @@ GHC_SPLIT_DIR_ABS = $(FPTOOLS_TOP_ABS)/$(GHC_SPLIT_DIR_REL) # xxx the executable relative to the current dir GHC_UNLIT_PGM = unlit$(exeext) +GHC_HP2PS_PGM = hp2ps GHC_HSTAGS_PGM = hasktags GHC_HSC2HS_INPLACE_PGM = hsc2hs-inplace GHC_TOUCHY_PGM = touchy$(exeext) @@ -731,6 +748,7 @@ GHC_PERL = $(PERL) endif UNLIT = $(GHC_UNLIT_DIR)/$(GHC_UNLIT_PGM) +HP2PS = $(GHC_HP2PS_DIR)/$(GHC_HP2PS_PGM) HSTAGS = $(GHC_HSTAGS_DIR)/$(GHC_HSTAGS_PGM) HSC2HS_INPLACE = $(GHC_HSC2HS_DIR)/$(GHC_HSC2HS_INPLACE_PGM) MANGLER = $(GHC_MANGLER_DIR)/$(GHC_MANGLER_PGM) @@ -759,36 +777,13 @@ RUNTEST = $(GHC_RUNTEST_DIR)/$(GHC_RUNTEST_PGM) GHC = @WithGhc@ GhcDir = $(dir $(GHC)) -GhcVersion = @GhcVersion@ -GhcMajVersion = @GhcMajVersion@ -GhcMinVersion = @GhcMinVersion@ -GhcPatchLevel = @GhcPatchLevel@ # Set to YES if $(GHC) has the readline package installed GhcHasReadline = @GhcHasReadline@ -# Canonicalised ghc version number, used for easy (integer) version -# comparisons. We must expand $(GhcMinVersion) to two digits by -# adding a leading zero if necessary: -ifneq "$(findstring $(GhcMinVersion), 0 1 2 3 4 5 6 7 8 9)" "" -GhcCanonVersion = $(GhcMajVersion)0$(GhcMinVersion) -else -GhcCanonVersion = $(GhcMajVersion)$(GhcMinVersion) -endif - HBC = @HBC@ NHC = @NHC@ -# Setting UseStage1=YES forces use of the stage1 compiler to compile -# Haskell code, rather than the installed compiler. -ifeq "$(UseStage1)" "YES" -HC =$(GHC_STAGE1) -MKDEPENDHS =$(GHC_STAGE1) -else -HC = @WithHc@ -MKDEPENDHS = $(GHC) -endif - # Sometimes we want to invoke ghc from the build tree in different # 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): @@ -798,25 +793,48 @@ GHC_STAGE1 = $(GHC_COMPILER_DIR)/stage1/ghc-inplace GHC_STAGE2 = $(GHC_COMPILER_DIR)/stage2/ghc-inplace GHC_STAGE3 = $(GHC_COMPILER_DIR)/stage3/ghc-inplace -# Some useful GHC version predicates: +ifneq "$(findstring YES, $(UseStage1) $(BootingFromHc))" "" + +# We are using the stage1 compiler to compile Haskell code, set up +# some variables appropriately: +HC =$(GHC_STAGE1) +MKDEPENDHS =$(GHC_STAGE1) +GhcVersion = @ProjectVersion@ +GhcPatchLevel = @ProjectPatchLevel@ +# oops, these are wrong: +GhcMajVersion = @GhcMajVersion@ +GhcMinVersion = @GhcMinVersion@ -ifeq "$(UseStage1)" "YES" -ghc_ge_504 = YES -ghc_ge_601 = YES -ghc_ge_602 = YES -ghc_ge_603 = YES -else -ifeq "$(BootingFromHc)" "YES" ghc_ge_504 = YES ghc_ge_601 = YES ghc_ge_602 = YES ghc_ge_603 = YES -else +ghc_ge_605 = YES + +else # not UseStage1 or BootingFromHc + +HC = @WithHc@ +MKDEPENDHS = $(GHC) +GhcVersion = @GhcVersion@ +GhcPatchLevel = @GhcPatchLevel@ +GhcMajVersion = @GhcMajVersion@ +GhcMinVersion = @GhcMinVersion@ + +# Some useful GHC version predicates: ghc_ge_504 = $(shell if (test $(GhcCanonVersion) -ge 504); then echo YES; else echo NO; fi) ghc_ge_601 = $(shell if (test $(GhcCanonVersion) -ge 601); then echo YES; else echo NO; fi) ghc_ge_602 = $(shell if (test $(GhcCanonVersion) -ge 602); then echo YES; else echo NO; fi) ghc_ge_603 = $(shell if (test $(GhcCanonVersion) -ge 603); then echo YES; else echo NO; fi) +ghc_ge_605 = $(shell if (test $(GhcCanonVersion) -ge 605); then echo YES; else echo NO; fi) endif + +# Canonicalised ghc version number, used for easy (integer) version +# comparisons. We must expand $(GhcMinVersion) to two digits by +# adding a leading zero if necessary: +ifneq "$(findstring $(GhcMinVersion), 0 1 2 3 4 5 6 7 8 9)" "" +GhcCanonVersion = $(GhcMajVersion)0$(GhcMinVersion) +else +GhcCanonVersion = $(GhcMajVersion)$(GhcMinVersion) endif #-----------------------------------------------------------------------------