hadrian: Properly partition options in sourceArgs
authorMatthew Pickering <matthewtpickering@gmail.com>
Thu, 30 May 2019 15:20:26 +0000 (16:20 +0100)
committerMarge Bot <ben+marge-bot@smart-cactus.org>
Sun, 9 Jun 2019 15:49:09 +0000 (11:49 -0400)
Previously if you build the `ghc` package then it would has the default
opts and the library opts. This is different behaviour to make where the
library opts are only reserved for things in the `libraries`
subdirectory (I believe)

Fixes #16716

hadrian/src/Settings/Default.hs

index f60a11e..16e63fb 100644 (file)
@@ -179,7 +179,10 @@ sourceArgs :: SourceArgs -> Args
 sourceArgs SourceArgs {..} = builder Ghc ? mconcat
     [ hsDefault
     , getContextData hcOpts
-    , libraryPackage   ? hsLibrary
+    -- `compiler` is also a library but the specific arguments that we want
+    -- to apply to that are given by the hsCompiler option. `ghc` is an
+    -- executable so we don't have to exclude that.
+    , libraryPackage   ? notM (packageOneOf [compiler]) ? hsLibrary
     , package compiler ? hsCompiler
     , package ghc      ? hsGhc ]