]> gitweb.michael.orlitzky.com - email-validator.git/commitdiff
makefile,email-validator.cabal: move ghc-options to the makefile.
authorMichael Orlitzky <michael@orlitzky.com>
Sun, 28 Aug 2022 16:35:26 +0000 (12:35 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Sun, 28 Aug 2022 16:35:26 +0000 (12:35 -0400)
email-validator.cabal
makefile

index 61f280912e2e9142c9cfc6b09e937ec548392ec0..c5c2a7ebc97d78578669c5059c6727c7ed7005ce 100644 (file)
@@ -70,18 +70,6 @@ executable email-validator
     EmailAddress
     Paths_email_validator
 
-  ghc-options:
-    -Weverything
-    -Wno-implicit-prelude
-    -Wno-safe
-    -Wno-unsafe
-    -Wno-all-missed-specialisations
-    -rtsopts
-    -threaded
-    -optc-O3
-    -optc-march=native
-    -O2
-
 
 test-suite testsuite
   type: exitcode-stdio-1.0
@@ -103,19 +91,6 @@ test-suite testsuite
   other-modules:
     EmailAddress
 
-  -- It's not entirely clear to me why I have to reproduce all of this.
-  ghc-options:
-    -Weverything
-    -Wno-implicit-prelude
-    -Wno-safe
-    -Wno-unsafe
-    -Wno-all-missed-specialisations
-    -rtsopts
-    -threaded
-    -optc-O3
-    -optc-march=native
-    -O2
-
 
 test-suite doctests
   type: exitcode-stdio-1.0
@@ -126,25 +101,6 @@ test-suite doctests
     -- Additional test dependencies.
     doctest   >= 0.9
 
-  -- It's not entirely clear to me why I have to reproduce all of this.
-  ghc-options:
-    -Wall
-    -fwarn-hi-shadowing
-    -fwarn-missing-signatures
-    -fwarn-name-shadowing
-    -fwarn-orphans
-    -fwarn-type-defaults
-    -fwarn-tabs
-    -fwarn-incomplete-record-updates
-    -fwarn-monomorphism-restriction
-    -fwarn-unused-do-bind
-    -rtsopts
-    -threaded
-    -optc-O3
-    -optc-march=native
-    -O2
-
-
 
 source-repository head
   type: git
index 5df18d207398361a1226352d3b39fcb56a6db516..41b916c8eeba2c7c5ff2c35f00410cd6e9bacc71 100644 (file)
--- a/makefile
+++ b/makefile
@@ -2,12 +2,26 @@ PN            = email-validator
 BIN           = dist/build/$(PN)/$(PN)
 TESTSUITE_BIN = dist/build/testsuite/testsuite
 
+# Append these warnings to the HCFLAGS environment variable that gets
+# passed as options to GHC. We want to see the warnings while developing
+# but don't want them hard-coded in the cabal file for end users.
+HCFLAGS += -Weverything \
+           -Wno-implicit-prelude \
+           -Wno-safe \
+           -Wno-unsafe \
+           -Wno-all-missed-specialisations \
+           -Wno-prepositive-qualified-module \
+           -Wno-missing-safe-haskell-mode \
+           -Wno-missing-deriving-strategies \
+           -rtsopts \
+           -threaded
+
 .PHONY : test dist hlint
 
 $(BIN): $(PN).cabal src/*.hs
        runghc Setup.hs clean
        runghc Setup.hs configure --user
-       runghc Setup.hs build
+       runghc Setup.hs build --ghc-options="${HCFLAGS}"
 
 doc: src/*.hs
        runghc Setup.hs configure --user
@@ -21,7 +35,7 @@ clean:
 
 $(TESTSUITE_BIN): $(PN).cabal src/*.hs test/*.hs
        runghc Setup.hs configure --user --enable-tests
-       runghc Setup.hs build
+       runghc Setup.hs build --ghc-options="${HCFLAGS}"
 
 check: $(BIN) $(TESTSUITE_BIN)
        runghc Setup.hs test