summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHerbert Valerio Riedel <hvr@gnu.org>2015-11-03 16:18:30 -0600
committerAustin Seipp <austin@well-typed.com>2015-11-03 16:18:33 -0600
commit0e21678677894ed7cb236499ec6f2041efae22a2 (patch)
treef552c985f4d8e1fc94dee3c7ebdc4025133a339c
parent987d542749be3b53d8461fa5abb770f0b9d8ba5e (diff)
downloadhaskell-0e21678677894ed7cb236499ec6f2041efae22a2.tar.gz
Cabal-level sanity check to enforce Cabal flag-invariant
This helps catch cabal-flag misconfiguration early on during `cabal configure`, rather than much later in the build-process during compilation. Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D1423
-rw-r--r--libraries/base/base.cabal5
1 files changed, 5 insertions, 0 deletions
diff --git a/libraries/base/base.cabal b/libraries/base/base.cabal
index d98e7bfc00..e94d38949a 100644
--- a/libraries/base/base.cabal
+++ b/libraries/base/base.cabal
@@ -94,6 +94,11 @@ Library
Unsafe
build-depends: rts == 1.0.*, ghc-prim == 0.5.*
+
+ -- sanity-check to ensure exactly one flag is set
+ if !((flag(integer-gmp) && !flag(integer-simple)) || (!flag(integer-gmp) && flag(integer-simple)))
+ build-depends: invalid-cabal-flag-settings<0
+
if flag(integer-simple)
build-depends: integer-simple >= 0.1.1 && < 0.2