summaryrefslogtreecommitdiff
path: root/mk/cabal-flags.mk
blob: d69999f9b0681744e40a9e74f1afdd1b234b9f98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90

nothing=
space=$(nothing) $(nothing)

GHC_PKG_INSTALL_PROG = $(FPTOOLS_TOP_ABS)/utils/ghc-pkg/dist-install/build/ghc-pkg/ghc-pkg

LIBRARIES_ABS = $(FPTOOLS_TOP_ABS)/libraries
UTILS_ABS     = $(FPTOOLS_TOP_ABS)/utils
CABAL = $(LIBRARIES_ABS)/cabal-bin $(GHC) $(LIBRARIES_ABS)/bootstrapping.conf
INSTALL_PACKAGE = \
    $(UTILS_ABS)/installPackage/install-inplace/bin/installPackage
STAGE3_PACKAGE_CONF = $(FPTOOLS_TOP_ABS)/stage3.package.conf

# We rely on all the CONFIGURE_ARGS being quoted with '...', and there
# being no 's inside the values.
FLAGGED_CONFIGURE_ARGS = $(subst $(space)',\
                                 $(space)--configure-option=',\
                                 $(space)$(CONFIGURE_ARGS))

COMMON_CONFIGURE_FLAGS =          \
    --libsubdir='$$pkgid'         \
    --with-gcc=$(WhatGccIsCalled) \
    --with-ld=$(LD)               \
    $(addprefix --hsc2hs-option=,$(SRC_HSC2HS_OPTS))

ifneq "$(HSCOLOUR)" ""
COMMON_CONFIGURE_FLAGS += --with-hscolour=$(HSCOLOUR)
endif

ifneq "$(ALEX)" ""
COMMON_CONFIGURE_FLAGS += --with-alex=$(ALEX)
endif

ifneq "$(HAPPY)" ""
COMMON_CONFIGURE_FLAGS += --with-happy=$(HAPPY)
endif

COMMON_CONFIGURE_FLAGS += $(FLAGGED_CONFIGURE_ARGS) \
                          --configure-option=--with-cc=$(CC)

COMMON_CONFIGURE_FLAGS += $(shell [ -e $(HSC2HS_INPLACE) ] && \
                                  echo --with-hsc2hs=$(HSC2HS_INPLACE) )

ifeq "$(Windows)" "YES"
NONEXISTENT=c:/NONEXISTENT
else
NONEXISTENT=/NONEXISTENT
endif

# We put non-existant paths in when configuring things that we plan to
# install, as we require that builds don't depend on these paths when
# making bindists.
INSTALL_DIRS_CONFIGURE_FLAGS = \
    --prefix=$(NONEXISTENT) \
    --bindir=$(NONEXISTENT) \
    --libdir=$(NONEXISTENT) \
    --libexecdir=$(NONEXISTENT) \
    --datadir=$(NONEXISTENT) \
    --docdir=$(NONEXISTENT) \
    --haddockdir=$(NONEXISTENT) \
    --htmldir=$(NONEXISTENT)

INPLACE_GHC_DATADIR_CONFIGURE_FLAGS = \
    --datadir=$(FPTOOLS_TOP_ABS)/inplace-datadir \
    --datasubdir=.

INPLACE_DIRS_CONFIGURE_FLAGS = \
    --prefix=`$(FPTOOLS_TOP_ABS)/utils/pwd/pwd forwardslash`/install-inplace

USE_BOOT_CONFIGURE_FLAGS = \
    --with-compiler=$(GHC) \
    --with-hc-pkg=$(GHC_PKG) \
	--package-db $(FPTOOLS_TOP_ABS)/libraries/bootstrapping.conf

USE_STAGE_CONFIGURE_FLAGS = \
    --with-hc-pkg=$(GHC_PKG_INPLACE) \
    $(addprefix --cc-option=,$(MACOSX_DEPLOYMENT_CC_OPTS)) \
    $(addprefix --ld-option=,$(MACOSX_DEPLOYMENT_LD_OPTS))

USE_STAGE1_CONFIGURE_FLAGS = \
    --with-compiler=$(GHC_STAGE1) \
    $(USE_STAGE_CONFIGURE_FLAGS)

USE_STAGE2_CONFIGURE_FLAGS =            \
    --with-compiler=$(GHC_STAGE2)       \
    $(USE_STAGE_CONFIGURE_FLAGS)        \
	--package-db $(STAGE3_PACKAGE_CONF)

BUILD_FLAGS = $(addprefix --ghc-option=,$(SRC_HC_OPTS))