Add Distribution.System to compat
[ghc-hetmet.git] / compat / compat.mk
1 # Settings for using the libghccompat.a library elsewhere in the build
2 # tree: this file is just included into Makefiles, see 
3 # utils/ghc-pkg/Makefile for example.
4 #
5 # This is a poor-mans package, but simpler because we don't
6 # have to deal with variations in the package support of different
7 # versions of GHC.
8
9 ifneq "$(UseStage1)" "YES"
10
11 SRC_HC_OPTS += -DUSING_COMPAT
12
13 # Use libghccompat.a:
14 SRC_HC_OPTS += -i$(GHC_COMPAT_DIR)
15 SRC_LD_OPTS += -L$(GHC_COMPAT_DIR) -lghccompat
16
17 # Do *not* use the installed Cabal:
18 ifeq "$(ghc_ge_603)" "YES"
19 SRC_HC_OPTS += -ignore-package Cabal
20 endif
21
22 ifeq "$(ghc_ge_607)" "YES"
23 SRC_HC_OPTS += -package directory
24 SRC_HC_OPTS += -package pretty
25 endif
26
27 # And similarly for when booting from .hc files:
28 HC_BOOT_LD_OPTS += -L$(GHC_COMPAT_DIR)
29 HC_BOOT_LIBS += -lghccompat
30
31 ifeq "$(Windows)" "YES"
32 # not very nice, but required for -lghccompat on Windows
33 SRC_LD_OPTS += -lshell32
34 HC_BOOT_LIBS += -lshell32
35 endif
36
37 # This is horrible.  We ought to be able to omit the entire directory
38 # from mkDependHS.
39 SRC_MKDEPENDHS_OPTS += \
40         -optdep--exclude-module=Compat.RawSystem \
41         -optdep--exclude-module=Compat.Directory \
42         -optdep--exclude-module=Compat.Unicode \
43         -optdep--exclude-module=Distribution.Compat.FilePath \
44         -optdep--exclude-module=Distribution.Compat.ReadP \
45         -optdep--exclude-module=Distribution.Extension \
46         -optdep--exclude-module=Distribution.GetOpt \
47         -optdep--exclude-module=Distribution.InstalledPackageInfo \
48         -optdep--exclude-module=Distribution.License \
49         -optdep--exclude-module=Distribution.Package \
50         -optdep--exclude-module=Distribution.ParseUtils \
51         -optdep--exclude-module=Distribution.Compiler \
52         -optdep--exclude-module=Distribution.Version \
53         -optdep--exclude-module=System.FilePath \
54         -optdep--exclude-module=System.FilePath.Posix \
55         -optdep--exclude-module=System.FilePath.Windows \
56         -optdep--exclude-module=System.Directory.Internals \
57         -optdep--exclude-module=Trace.Hpc.Mix \
58         -optdep--exclude-module=Trace.Hpc.Tix \
59         -optdep--exclude-module=Trace.Hpc.Util
60
61 PACKAGE_CABAL =
62 PACKAGE_HPC   =
63
64 else
65
66 PACKAGE_CABAL = -package Cabal
67 PACKAGE_HPC   = -package hpc
68
69 endif
70