diff options
author | Thomas Miedema <thomasmiedema@gmail.com> | 2015-08-31 14:39:47 +0200 |
---|---|---|
committer | Thomas Miedema <thomasmiedema@gmail.com> | 2015-09-07 11:56:14 +0200 |
commit | 2c24fd707f8650205bb574ffac5f376239af3723 (patch) | |
tree | a720bb340f29eff28cb91c8db9c6c79c6bd12d23 /mk/flavours | |
parent | 062feee4e7408ad5b9d882e5fed2c700e337db72 (diff) | |
download | haskell-2c24fd707f8650205bb574ffac5f376239af3723.tar.gz |
Build system: put each BuildFlavour in a separate file (#10223)
This allows easier diffing of different BuildFlavours, including
`mk/flavours/validate.mk`.
Reviewed By: bgamari, austin
Differential Revision: https://phabricator.haskell.org/D1050
Diffstat (limited to 'mk/flavours')
-rw-r--r-- | mk/flavours/bench-cross.mk | 15 | ||||
-rw-r--r-- | mk/flavours/bench-llvm.mk | 10 | ||||
-rw-r--r-- | mk/flavours/bench.mk | 10 | ||||
-rw-r--r-- | mk/flavours/devel1.mk | 12 | ||||
-rw-r--r-- | mk/flavours/devel2.mk | 12 | ||||
-rw-r--r-- | mk/flavours/perf-cross.mk | 15 | ||||
-rw-r--r-- | mk/flavours/perf-llvm.mk | 10 | ||||
-rw-r--r-- | mk/flavours/perf.mk | 10 | ||||
-rw-r--r-- | mk/flavours/prof.mk | 12 | ||||
-rw-r--r-- | mk/flavours/quick-cross.mk | 15 | ||||
-rw-r--r-- | mk/flavours/quick-llvm.mk | 10 | ||||
-rw-r--r-- | mk/flavours/quick.mk | 10 | ||||
-rw-r--r-- | mk/flavours/quickest.mk | 10 | ||||
-rw-r--r-- | mk/flavours/validate.mk | 44 |
14 files changed, 195 insertions, 0 deletions
diff --git a/mk/flavours/bench-cross.mk b/mk/flavours/bench-cross.mk new file mode 100644 index 0000000000..9c3b68c895 --- /dev/null +++ b/mk/flavours/bench-cross.mk @@ -0,0 +1,15 @@ +SRC_HC_OPTS = -O -H64m +GhcStage1HcOpts = -O +GhcStage2HcOpts = -O0 +GhcLibHcOpts = -O2 +BUILD_PROF_LIBS = NO +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +INTEGER_LIBRARY = integer-simple +Stage1Only = YES +DYNAMIC_BY_DEFAULT = NO +DYNAMIC_GHC_PROGRAMS = NO diff --git a/mk/flavours/bench-llvm.mk b/mk/flavours/bench-llvm.mk new file mode 100644 index 0000000000..99957b9fdb --- /dev/null +++ b/mk/flavours/bench-llvm.mk @@ -0,0 +1,10 @@ +SRC_HC_OPTS = -O -H64m +GhcStage1HcOpts = -O -fllvm +GhcStage2HcOpts = -O0 -fllvm +GhcLibHcOpts = -O2 -fllvm +BUILD_PROF_LIBS = NO +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO diff --git a/mk/flavours/bench.mk b/mk/flavours/bench.mk new file mode 100644 index 0000000000..ea4b18e3d5 --- /dev/null +++ b/mk/flavours/bench.mk @@ -0,0 +1,10 @@ +SRC_HC_OPTS = -O -H64m +GhcStage1HcOpts = -O +GhcStage2HcOpts = -O0 +GhcLibHcOpts = -O2 +BUILD_PROF_LIBS = NO +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO diff --git a/mk/flavours/devel1.mk b/mk/flavours/devel1.mk new file mode 100644 index 0000000000..b06b64f72d --- /dev/null +++ b/mk/flavours/devel1.mk @@ -0,0 +1,12 @@ +SRC_HC_OPTS = -O -H64m +GhcStage1HcOpts = -O0 -DDEBUG +GhcStage2HcOpts = -O +GhcLibHcOpts = -O -dcore-lint +BUILD_PROF_LIBS = NO +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +LAX_DEPENDENCIES = YES diff --git a/mk/flavours/devel2.mk b/mk/flavours/devel2.mk new file mode 100644 index 0000000000..156522687d --- /dev/null +++ b/mk/flavours/devel2.mk @@ -0,0 +1,12 @@ +SRC_HC_OPTS = -O -H64m +GhcStage1HcOpts = -O +GhcStage2HcOpts = -O0 -DDEBUG +GhcLibHcOpts = -O -dcore-lint +BUILD_PROF_LIBS = NO +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +LAX_DEPENDENCIES = YES diff --git a/mk/flavours/perf-cross.mk b/mk/flavours/perf-cross.mk new file mode 100644 index 0000000000..3fcc199098 --- /dev/null +++ b/mk/flavours/perf-cross.mk @@ -0,0 +1,15 @@ +SRC_HC_OPTS = -O -H64m -fllvm +GhcStage1HcOpts = -O2 +GhcStage2HcOpts = -O2 -fllvm +GhcLibHcOpts = -O2 +BUILD_PROF_LIBS = YES +#SplitObjs +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +INTEGER_LIBRARY = integer-simple +Stage1Only = YES +DYNAMIC_BY_DEFAULT = NO +DYNAMIC_GHC_PROGRAMS = NO diff --git a/mk/flavours/perf-llvm.mk b/mk/flavours/perf-llvm.mk new file mode 100644 index 0000000000..581037f7f8 --- /dev/null +++ b/mk/flavours/perf-llvm.mk @@ -0,0 +1,10 @@ +SRC_HC_OPTS = -O -H64m -fllvm +GhcStage1HcOpts = -O -fllvm +GhcStage2HcOpts = -O2 -fllvm +GhcLibHcOpts = -O2 +BUILD_PROF_LIBS = YES +#SplitObjs +#HADDOCK_DOCS +#BUILD_DOCBOOK_HTML +#BUILD_DOCBOOK_PS +#BUILD_DOCBOOK_PDF diff --git a/mk/flavours/perf.mk b/mk/flavours/perf.mk new file mode 100644 index 0000000000..d68f2f9102 --- /dev/null +++ b/mk/flavours/perf.mk @@ -0,0 +1,10 @@ +SRC_HC_OPTS = -O -H64m +GhcStage1HcOpts = -O +GhcStage2HcOpts = -O2 +GhcLibHcOpts = -O2 +BUILD_PROF_LIBS = YES +#SplitObjs +#HADDOCK_DOCS +#BUILD_DOCBOOK_HTML +#BUILD_DOCBOOK_PS +#BUILD_DOCBOOK_PDF diff --git a/mk/flavours/prof.mk b/mk/flavours/prof.mk new file mode 100644 index 0000000000..553cb120f7 --- /dev/null +++ b/mk/flavours/prof.mk @@ -0,0 +1,12 @@ +SRC_HC_OPTS = -O0 -H64m +GhcStage1HcOpts = -O +GhcStage2HcOpts = -O +GhcLibHcOpts = -O +BUILD_PROF_LIBS = YES +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +GhcProfiled = YES diff --git a/mk/flavours/quick-cross.mk b/mk/flavours/quick-cross.mk new file mode 100644 index 0000000000..9b6fc27e67 --- /dev/null +++ b/mk/flavours/quick-cross.mk @@ -0,0 +1,15 @@ +SRC_HC_OPTS = -O0 -H64m +GhcStage1HcOpts = -O +GhcStage2HcOpts = -O0 -fllvm +GhcLibHcOpts = -O -fllvm +BUILD_PROF_LIBS = NO +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +INTEGER_LIBRARY = integer-simple +Stage1Only = YES +DYNAMIC_BY_DEFAULT = NO +DYNAMIC_GHC_PROGRAMS = NO diff --git a/mk/flavours/quick-llvm.mk b/mk/flavours/quick-llvm.mk new file mode 100644 index 0000000000..90ccb7ac28 --- /dev/null +++ b/mk/flavours/quick-llvm.mk @@ -0,0 +1,10 @@ +SRC_HC_OPTS = -O0 -H64m -fllvm +GhcStage1HcOpts = -O -fllvm +GhcStage2HcOpts = -O0 -fllvm +GhcLibHcOpts = -O -fllvm +BUILD_PROF_LIBS = NO +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO diff --git a/mk/flavours/quick.mk b/mk/flavours/quick.mk new file mode 100644 index 0000000000..eef6dc5c1a --- /dev/null +++ b/mk/flavours/quick.mk @@ -0,0 +1,10 @@ +SRC_HC_OPTS = -O0 -H64m +GhcStage1HcOpts = -O +GhcStage2HcOpts = -O0 +GhcLibHcOpts = -O +BUILD_PROF_LIBS = NO +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO diff --git a/mk/flavours/quickest.mk b/mk/flavours/quickest.mk new file mode 100644 index 0000000000..71e7c5e94c --- /dev/null +++ b/mk/flavours/quickest.mk @@ -0,0 +1,10 @@ +SRC_HC_OPTS = -O0 -H64m +GhcStage1HcOpts = -O +GhcStage2HcOpts = -O0 +GhcLibHcOpts = -O0 +BUILD_PROF_LIBS = NO +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO diff --git a/mk/flavours/validate.mk b/mk/flavours/validate.mk new file mode 100644 index 0000000000..6c92914525 --- /dev/null +++ b/mk/flavours/validate.mk @@ -0,0 +1,44 @@ +SRC_HC_OPTS = -O0 -H64m +GhcStage1HcOpts = -O +GhcStage2HcOpts = -O -dcore-lint +GhcLibHcOpts = -O -dcore-lint +BUILD_PROF_LIBS = NO +SplitObjs = NO +HADDOCK_DOCS = YES +BUILD_DOCBOOK_HTML = YES +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +ifeq "$(ValidateHpc)" "YES" +GhcStage2HcOpts += -fhpc -hpcdir $(TOP)/testsuite/hpc_output/ +endif +ifeq "$(ValidateSpeed)" "SLOW" +GhcStage2HcOpts += -DDEBUG +endif + +InstallExtraPackages = YES + +WERROR = -Werror + +# DO NOT EDIT THIS FILE! Instead, create a file mk/validate.mk, whose settings +# will override these. See also mk/custom-settings.mk. +# +# +# (Note: these comments are at the end of this file, to make it easier to diff +# this file with other build flavours.) +# +# +# Note [validate build settings] +# +# Using GhcStage2HcOpts=-O (rather than -O0) here bringes my validate down from +# 22mins to 16 mins. Compiling stage2 takes longer, but we gain a faster +# haddock, faster running of the tests, and faster building of the utils to be +# installed +# +# dblatex with miktex under msys/mingw can't build the PS and PDF docs, +# and just building the HTML docs is sufficient to check that the +# markup is correct, so we turn off PS and PDF doc building when +# validating. +# +# We set InstallExtraPackages=YES, because we want to install the "extra" +# packages, so that we can test them. |