From fb9cf285f6823b400f3c3c85907f6f814358421e Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Tue, 23 Aug 2022 19:24:59 -0400 Subject: [PATCH] makefile,hath.cabal: move ghc-options into the makefile. --- hath.cabal | 38 -------------------------------------- makefile | 26 +++++++++++++++++++------- 2 files changed, 19 insertions(+), 45 deletions(-) diff --git a/hath.cabal b/hath.cabal index 81d1ec1..8b1b4fe 100644 --- a/hath.cabal +++ b/hath.cabal @@ -113,18 +113,6 @@ executable hath tasty-hunit >= 0.8, tasty-quickcheck >= 0.8.1 - 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 @@ -148,20 +136,6 @@ test-suite testsuite 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 - -optc-O3 - -optc-march=native - -O2 - - -- These won't work without shelltestrunner installed in your -- $PATH. Maybe there is some way to tell Cabal that. test-suite shelltests @@ -173,18 +147,6 @@ test-suite shelltests base == 4.*, process >= 1.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 - -optc-O3 - -optc-march=native - -O2 source-repository head type: git diff --git a/makefile b/makefile index 3091caa..81e6f3b 100644 --- a/makefile +++ b/makefile @@ -1,14 +1,26 @@ -PN = hath -BIN = dist/build/$(PN)/$(PN) -SRCS = $(shell find src/ -type f -name '*.hs') - +PN = hath +BIN = dist/build/$(PN)/$(PN) +SRCS = $(shell find src/ -type f -name '*.hs') + +# 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 : dist hlint $(BIN): $(PN).cabal $(SRCS) runghc Setup.hs configure --user - runghc Setup.hs build - + runghc Setup.hs build --ghc-options="${HCFLAGS}" doc: $(PN).cabal $(SRCS) runghc Setup.hs haddock --all \ @@ -24,7 +36,7 @@ TEST_SRCS := $(shell find test/ -type f -name '*.hs') $(TESTSUITE_BIN): $(PN).cabal $(SRCS) $(TEST_SRCS) runghc Setup.hs configure --user --enable-tests --prefix=/ - runghc Setup.hs build + runghc Setup.hs build --ghc-options="${HCFLAGS}" test: $(BIN) $(TESTSUITE_BIN) -- 2.44.2