[commit: ghc] master: Build system: do not build stm and parallel by default (392ff06)

git at git.haskell.org git at git.haskell.org
Tue Jul 14 08:25:01 UTC 2015


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/392ff06d4bc47bcd731404a48355d8b165609293/ghc

>---------------------------------------------------------------

commit 392ff06d4bc47bcd731404a48355d8b165609293
Author: Thomas Miedema <thomasmiedema at gmail.com>
Date:   Fri Jul 10 19:15:49 2015 +0200

    Build system: do not build stm and parallel by default
    
    stm and parallel have an 'extra' tag in the ./packages file, so would get
    added to PACKAGES_STAGE2 by default, and subsequently build by the stage2
    compiler.
    
    With this patch, this happens only when you set BUILD_EXTRA_PKGS=YES in
    build.mk. A normal validate still builds (and tests) the 'extra'
    packages, but they are skipped for `validate --fast`. Maybe this brings
    us closer to finishing within the 50 minute Travis limit as well.
    
    We can later try to give random, primitive and vector an 'extra' tag as
    well (now they have a 'dph' tag), but some tests will probably fail at
    first.
    
    Differential Revision: https://phabricator.haskell.org/D1065


>---------------------------------------------------------------

392ff06d4bc47bcd731404a48355d8b165609293
 ghc.mk             | 14 ++++++--------
 mk/build.mk.sample |  4 ++++
 mk/config.mk.in    |  2 ++
 validate           |  5 +++++
 4 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/ghc.mk b/ghc.mk
index 219cdc7..db077bc 100644
--- a/ghc.mk
+++ b/ghc.mk
@@ -435,16 +435,14 @@ define addExtraPackage
 ifeq "$2" "-"
 # Do nothing; this package is already handled above
 else ifeq "$2" "dph"
-## DPH-specific clause
-ifeq "$$(GhcProfiled)" "YES"
-# Ignore package: The DPH packages need TH, which is incompatible with
-# a profiled GHC
-else ifneq "$$(BUILD_DPH)" "YES"
-# Ignore package: DPH was disabled
-else
+ifeq "$$(BUILD_DPH) $$(GhcProfiled)" "YES NO"
+# The DPH packages need TH, which is incompatible with a profiled GHC.
+PACKAGES_STAGE2 += $1
+endif
+else ifeq "$2" "extra"
+ifeq "$$(BUILD_EXTRA_PKGS)" "YES"
 PACKAGES_STAGE2 += $1
 endif
-## end of DPH-specific clause
 else
 PACKAGES_STAGE2 += $1
 endif
diff --git a/mk/build.mk.sample b/mk/build.mk.sample
index 3f97702..19a59ae 100644
--- a/mk/build.mk.sample
+++ b/mk/build.mk.sample
@@ -69,6 +69,10 @@ V = 1
 # working on stage 2 and want to freeze stage 1 and the libraries for
 # a while.
 
+# Build the "extra" packages (see ./packages). This enables more tests. See:
+# https://ghc.haskell.org/trac/ghc/wiki/Building/RunningTests/Running#AdditionalPackages
+#BUILD_EXTRA_PKGS=YES
+
 # Uncomment the following line to enable building DPH
 #BUILD_DPH=YES
 
diff --git a/mk/config.mk.in b/mk/config.mk.in
index bcdebbf..175aa06 100644
--- a/mk/config.mk.in
+++ b/mk/config.mk.in
@@ -773,6 +773,8 @@ endif
 
 # Build DPH?
 BUILD_DPH = NO
+# Build the "extra" packages (see ./packages)?
+BUILD_EXTRA_PKGS = NO
 
 ################################################################################
 #
diff --git a/validate b/validate
index fbf3c1b..e72a578 100755
--- a/validate
+++ b/validate
@@ -171,6 +171,11 @@ echo "ValidateSpeed=$speed" >> mk/are-validating.mk
 echo "ValidateHpc=$hpc"     >> mk/are-validating.mk
 echo "V=0"                  >> mk/are-validating.mk # Less gunk
 
+if [ $speed != "FAST" ]; then
+    # Build the "extra" packages (see ./packages), to enable more tests.
+    echo "BUILD_EXTRA_PKGS=YES" >> mk/are-validating.mk
+fi
+
 if [ $use_dph -eq 1 ]; then
     echo "BUILD_DPH=YES"    >> mk/are-validating.mk
 else



More information about the ghc-commits mailing list