1 # -----------------------------------------------------------------------------
3 # (c) 2009 The University of Glasgow
5 # This file is part of the GHC build system.
7 # To understand how the build system works and how to modify it, see
8 # http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
9 # http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
11 # -----------------------------------------------------------------------------
14 define package-config # args: $1 = dir, $2 = distdir, $3 = GHC stage
16 $1_$2_HC = $$(GHC_STAGE$3)
18 # configuration stuff that depends on which GHC we're building with
20 $1_$2_ghc_ge_6102 = $$(ghc_ge_6102)
21 $1_$2_ghc_ge_611 = $$(ghc_ge_611)
22 $1_$2_ghc_ge_613 = $$(ghc_ge_613)
23 $1_$2_HC_CONFIG = $$(GHC_STAGE0)
25 $1_$2_GHC_PKG = $$(GHC_PKG)
27 $1_$2_HC_MK_DEPEND = $$($1_$2_HC)
28 # We can't make rules depend on the bootstrapping compiler, as then
29 # on cygwin we get a dep on c:/ghc/..., and make gets confused by the :
30 $1_$2_HC_MK_DEPEND_DEP =
32 $1_$2_HC_PKGCONF = -package-conf $$(BOOTSTRAPPING_CONF)
33 $1_$2_GHC_PKG_OPTS = --package-conf=$$(BOOTSTRAPPING_CONF)
34 $1_$2_CONFIGURE_OPTS += --package-db=$$(TOP)/$$(BOOTSTRAPPING_CONF)
35 ifeq "$(ghc_ge_613)" "YES"
36 $1_$2_HC_OPTS += -rtsopts
39 $1_$2_ghc_ge_6102 = YES
40 $1_$2_ghc_ge_611 = YES
41 $1_$2_ghc_ge_613 = YES
43 $1_$2_HC_CONFIG = $$(TOP)/$$(DUMMY_GHC_INPLACE)
44 $1_$2_HC_CONFIG_DEP = $$(DUMMY_GHC_INPLACE)
45 $1_$2_GHC_PKG = $$(TOP)/$$(GHC_PKG_INPLACE)
46 $1_$2_GHC_PKG_DEP = $$(GHC_PKG_INPLACE)
48 # If stage is not 0 then we always use stage1 for making .depend, as later
49 # stages aren't available early enough
50 $1_$2_HC_MK_DEPEND = $$(GHC_STAGE1)
51 $1_$2_HC_MK_DEPEND_DEP = $$($1_$2_HC_MK_DEPEND)
52 $1_$2_HC_DEP = $$($1_$2_HC)
53 $1_$2_HC_OPTS += -no-user-package-conf
54 $1_$2_HC_OPTS += -rtsopts
58 $1_$2_SLASH_MODS = $$(subst .,/,$$($1_$2_MODULES))