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

index 8c0aab460b1751ff09945b9e2a2bbbf161f5f261..12779b2d5b595087246cfcd8d425333d5a879d6d 100644 (file)
--- a/makefile
+++ b/makefile
@@ -6,19 +6,33 @@ BIN           = dist/build/spline3/spline3
 DOCTESTS_BIN  = dist/build/doctests/doctests
 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 doc dist hlint
 
 $(BIN): $(PN).cabal $(SRCS)
        runghc Setup.hs configure --user --prefix=/
-       runghc Setup.hs build
+       runghc Setup.hs build --ghc-options="${HCFLAGS}"
 
 $(DOCTESTS_BIN): $(SRCS) test/Doctests.hs
        runghc Setup.hs configure --user --prefix=/ --enable-tests
-       runghc Setup.hs build
+       runghc Setup.hs build --ghc-options="${HCFLAGS}"
 
 $(TESTSUITE_BIN): $(SRCS) test/TestSuite.hs
        runghc Setup.hs configure --user --prefix=/ --enable-tests
-       runghc Setup.hs build
+       runghc Setup.hs build --ghc-options="${HCFLAGS}"
 
 clean:
        runghc Setup.hs clean
index 2e109961e8ded7417f0ba4b0d1f063d22ffdbbd0..4ff6891609c1822f6631a33bc3e149852f313fe7 100644 (file)
@@ -75,25 +75,6 @@ executable spline3
     Values
     Volumetric
 
-  ghc-options:
-    -Weverything
-    -Wno-implicit-prelude
-    -Wno-safe
-    -Wno-unsafe
-    -Wno-all-missed-specialisations
-    -funbox-strict-fields
-    -fexcess-precision
-    -fno-spec-constr-count
-    -rtsopts
-    -threaded
-    -O2
-    -optc-O3
-    -optc-march=native
-
-  ghc-prof-options:
-    -auto-all
-    -caf-all
-
 
 test-suite doctests
   type: exitcode-stdio-1.0
@@ -104,22 +85,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:
-    -Weverything
-    -Wno-implicit-prelude
-    -Wno-safe
-    -Wno-unsafe
-    -Wno-all-missed-specialisations
-    -rtsopts
-    -threaded
-    -funbox-strict-fields
-    -fexcess-precision
-    -fno-spec-constr-count
-    -O2
-    -optc-O3
-    -optc-march=native
-
 
 test-suite testsuite
   type: exitcode-stdio-1.0
@@ -156,24 +121,6 @@ test-suite testsuite
     tasty-hunit                 >= 0.8,
     tasty-quickcheck            >= 0.8.1
 
-  -- 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
-    -funbox-strict-fields
-    -fexcess-precision
-    -fno-spec-constr-count
-
-  ghc-options:
-    -O2
-    -optc-O3
-    -optc-march=native
-
 
 source-repository head
   type: git