Skip to content

Commit 9706ff1

Browse files
authored
Merge branch 'master' into feature/haddock-papercuts
2 parents 5b9236b + 15e793a commit 9706ff1

File tree

78 files changed

+638
-242
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+638
-242
lines changed

Cabal/ChangeLog.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,10 @@
3434
* `install-includes` now works as expected with foreign libraries
3535
([#5302](https://github.com/haskell/cabal/issues/5299)).
3636
* Removed support for JHC.
37-
* Deprecate `cabal hscolour` in favour of `cabal haddock --hyperlink-source`
37+
* Options listed in `ghc-options`, `cc-options`, `ld-options`,
38+
`cxx-options`, `cpp-options` are not deduplicated anymore
39+
([#4449](https://github.com/haskell/cabal/issues/4449)).
40+
* Deprecated `cabal hscolour` in favour of `cabal haddock --hyperlink-source` ([#5236](https://github.com/haskell/cabal/pull/5236)).
3841

3942
----
4043

Cabal/Distribution/Backpack/ConfiguredComponent.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ toConfiguredComponent pkg_descr this_cid dep_map component = do
169169
value <- case Map.lookup cn =<< Map.lookup pn dep_map of
170170
Nothing ->
171171
dieProgress $
172-
text "Dependency on unbuildable" <+>
172+
text "Dependency on unbuildable (i.e. 'buildable: False')" <+>
173173
text (showComponentName cn) <+>
174174
text "from" <+> disp pn
175175
Just v -> return v

Cabal/Distribution/Simple/Doctest.hs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ import Distribution.Simple.Register (internalPackageDBPath)
3737
import Distribution.Simple.BuildPaths
3838
import Distribution.Simple.Utils
3939
import Distribution.System
40-
import Distribution.Utils.NubList
4140
import Distribution.Version
4241
import Distribution.Verbosity
4342

@@ -132,7 +131,7 @@ mkDoctestArgs verbosity tmp lbi clbi inFiles bi = do
132131
, ghcOptFPic = toFlag True
133132
, ghcOptHiSuffix = toFlag "dyn_hi"
134133
, ghcOptObjSuffix = toFlag "dyn_o"
135-
, ghcOptExtra = toNubListR (hcSharedOptions GHC bi)}
134+
, ghcOptExtra = hcSharedOptions GHC bi}
136135
opts <- if withVanillaLib lbi
137136
then return vanillaOpts
138137
else if withSharedLib lbi

Cabal/Distribution/Simple/GHC.hs

Lines changed: 24 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -582,7 +582,7 @@ buildOrReplLib forRepl verbosity numJobs pkg_descr lbi lib clbi = do
582582
(withProfLibDetail lbi),
583583
ghcOptHiSuffix = toFlag "p_hi",
584584
ghcOptObjSuffix = toFlag "p_o",
585-
ghcOptExtra = toNubListR $ hcProfOptions GHC libBi,
585+
ghcOptExtra = hcProfOptions GHC libBi,
586586
ghcOptHPCDir = hpcdir Hpc.Prof
587587
}
588588

@@ -591,23 +591,20 @@ buildOrReplLib forRepl verbosity numJobs pkg_descr lbi lib clbi = do
591591
ghcOptFPic = toFlag True,
592592
ghcOptHiSuffix = toFlag "dyn_hi",
593593
ghcOptObjSuffix = toFlag "dyn_o",
594-
ghcOptExtra = toNubListR $ hcSharedOptions GHC libBi,
594+
ghcOptExtra = hcSharedOptions GHC libBi,
595595
ghcOptHPCDir = hpcdir Hpc.Dyn
596596
}
597597
linkerOpts = mempty {
598-
ghcOptLinkOptions = toNubListR $ PD.ldOptions libBi,
599-
ghcOptLinkLibs = toNubListR $ extraLibs libBi,
598+
ghcOptLinkOptions = PD.ldOptions libBi,
599+
ghcOptLinkLibs = extraLibs libBi,
600600
ghcOptLinkLibPath = toNubListR $ extraLibDirs libBi,
601-
ghcOptLinkFrameworks = toNubListR $
602-
PD.frameworks libBi,
603-
ghcOptLinkFrameworkDirs = toNubListR $
604-
PD.extraFrameworkDirs libBi,
601+
ghcOptLinkFrameworks = toNubListR $ PD.frameworks libBi,
602+
ghcOptLinkFrameworkDirs = toNubListR $ PD.extraFrameworkDirs libBi,
605603
ghcOptInputFiles = toNubListR
606604
[libTargetDir </> x | x <- cObjs]
607605
}
608606
replOpts = vanillaOpts {
609-
ghcOptExtra = overNubListR
610-
Internal.filterGhciFlags $
607+
ghcOptExtra = Internal.filterGhciFlags $
611608
ghcOptExtra vanillaOpts,
612609
ghcOptNumJobs = mempty
613610
}
@@ -794,8 +791,7 @@ buildOrReplLib forRepl verbosity numJobs pkg_descr lbi lib clbi = do
794791
ghcOptDynLinkMode = toFlag GhcDynamicOnly,
795792
ghcOptInputFiles = toNubListR dynamicObjectFiles,
796793
ghcOptOutputFile = toFlag sharedLibFilePath,
797-
ghcOptExtra = toNubListR $
798-
hcSharedOptions GHC libBi,
794+
ghcOptExtra = hcSharedOptions GHC libBi,
799795
-- For dynamic libs, Mac OS/X needs to know the install location
800796
-- at build time. This only applies to GHC < 7.8 - see the
801797
-- discussion in #1660.
@@ -822,7 +818,7 @@ buildOrReplLib forRepl verbosity numJobs pkg_descr lbi lib clbi = do
822818
_ -> [],
823819
ghcOptPackages = toNubListR $
824820
Internal.mkGhcOptPackages clbi ,
825-
ghcOptLinkLibs = toNubListR $ extraLibs libBi,
821+
ghcOptLinkLibs = extraLibs libBi,
826822
ghcOptLinkLibPath = toNubListR $ extraLibDirs libBi,
827823
ghcOptLinkFrameworks = toNubListR $ PD.frameworks libBi,
828824
ghcOptLinkFrameworkDirs =
@@ -834,8 +830,7 @@ buildOrReplLib forRepl verbosity numJobs pkg_descr lbi lib clbi = do
834830
ghcOptStaticLib = toFlag True,
835831
ghcOptInputFiles = toNubListR staticObjectFiles,
836832
ghcOptOutputFile = toFlag staticLibFilePath,
837-
ghcOptExtra = toNubListR $
838-
hcStaticOptions GHC libBi,
833+
ghcOptExtra = hcStaticOptions GHC libBi,
839834
ghcOptHideAllPackages = toFlag True,
840835
ghcOptNoAutoLinkPackages = toFlag True,
841836
ghcOptPackageDBs = withPackageDB lbi,
@@ -855,7 +850,7 @@ buildOrReplLib forRepl verbosity numJobs pkg_descr lbi lib clbi = do
855850
_ -> [],
856851
ghcOptPackages = toNubListR $
857852
Internal.mkGhcOptPackages clbi ,
858-
ghcOptLinkLibs = toNubListR $ extraLibs libBi,
853+
ghcOptLinkLibs = extraLibs libBi,
859854
ghcOptLinkLibPath = toNubListR $ extraLibDirs libBi
860855
}
861856

@@ -1242,8 +1237,7 @@ gbuild verbosity numJobs pkg_descr lbi bm clbi = do
12421237
(withProfExeDetail lbi),
12431238
ghcOptHiSuffix = toFlag "p_hi",
12441239
ghcOptObjSuffix = toFlag "p_o",
1245-
ghcOptExtra = toNubListR
1246-
(hcProfOptions GHC bnfo),
1240+
ghcOptExtra = (hcProfOptions GHC bnfo),
12471241
ghcOptHPCDir = hpcdir Hpc.Prof
12481242
}
12491243
dynOpts = baseOpts `mappend` mempty {
@@ -1252,8 +1246,7 @@ gbuild verbosity numJobs pkg_descr lbi bm clbi = do
12521246
ghcOptFPic = toFlag True,
12531247
ghcOptHiSuffix = toFlag "dyn_hi",
12541248
ghcOptObjSuffix = toFlag "dyn_o",
1255-
ghcOptExtra = toNubListR $
1256-
hcSharedOptions GHC bnfo,
1249+
ghcOptExtra = hcSharedOptions GHC bnfo,
12571250
ghcOptHPCDir = hpcdir Hpc.Dyn
12581251
}
12591252
dynTooOpts = staticOpts `mappend` mempty {
@@ -1263,8 +1256,8 @@ gbuild verbosity numJobs pkg_descr lbi bm clbi = do
12631256
ghcOptHPCDir = hpcdir Hpc.Dyn
12641257
}
12651258
linkerOpts = mempty {
1266-
ghcOptLinkOptions = toNubListR $ PD.ldOptions bnfo,
1267-
ghcOptLinkLibs = toNubListR $ extraLibs bnfo,
1259+
ghcOptLinkOptions = PD.ldOptions bnfo,
1260+
ghcOptLinkLibs = extraLibs bnfo,
12681261
ghcOptLinkLibPath = toNubListR $ extraLibDirs bnfo,
12691262
ghcOptLinkFrameworks = toNubListR $
12701263
PD.frameworks bnfo,
@@ -1277,8 +1270,7 @@ gbuild verbosity numJobs pkg_descr lbi bm clbi = do
12771270
ghcOptRPaths = rpaths
12781271
}
12791272
replOpts = baseOpts {
1280-
ghcOptExtra = overNubListR
1281-
Internal.filterGhciFlags
1273+
ghcOptExtra = Internal.filterGhciFlags
12821274
(ghcOptExtra baseOpts)
12831275
}
12841276
-- For a normal compile we do separate invocations of ghc for
@@ -1423,19 +1415,18 @@ gbuild verbosity numJobs pkg_descr lbi bm clbi = do
14231415
`mappend` mempty {
14241416
ghcOptLinkNoHsMain = toFlag True,
14251417
ghcOptShared = toFlag True,
1426-
ghcOptLinkLibs = toNubListR [
1427-
if needDynamic
1428-
then rtsDynamicLib rtsInfo
1429-
else rtsStaticLib rtsInfo
1430-
],
1418+
ghcOptLinkLibs = [ if needDynamic
1419+
then rtsDynamicLib rtsInfo
1420+
else rtsStaticLib rtsInfo
1421+
],
14311422
ghcOptLinkLibPath = toNubListR $ rtsLibPaths rtsInfo,
14321423
ghcOptFPic = toFlag True,
14331424
ghcOptLinkModDefFiles = toNubListR $ gbuildModDefFiles bm
14341425
}
14351426
-- See Note [RPATH]
14361427
`mappend` ifNeedsRPathWorkaround lbi mempty {
1437-
ghcOptLinkOptions = toNubListR ["-Wl,--no-as-needed"]
1438-
, ghcOptLinkLibs = toNubListR ["ffi"]
1428+
ghcOptLinkOptions = ["-Wl,--no-as-needed"]
1429+
, ghcOptLinkLibs = ["ffi"]
14391430
}
14401431
ForeignLibNativeStatic ->
14411432
-- this should be caught by buildFLib
@@ -1663,15 +1654,15 @@ libAbiHash verbosity _pkg_descr lbi lib clbi = do
16631654
ghcOptFPic = toFlag True,
16641655
ghcOptHiSuffix = toFlag "dyn_hi",
16651656
ghcOptObjSuffix = toFlag "dyn_o",
1666-
ghcOptExtra = toNubListR $ hcSharedOptions GHC libBi
1657+
ghcOptExtra = hcSharedOptions GHC libBi
16671658
}
16681659
profArgs = vanillaArgs `mappend` mempty {
16691660
ghcOptProfilingMode = toFlag True,
16701661
ghcOptProfilingAuto = Internal.profDetailLevelFlag True
16711662
(withProfLibDetail lbi),
16721663
ghcOptHiSuffix = toFlag "p_hi",
16731664
ghcOptObjSuffix = toFlag "p_o",
1674-
ghcOptExtra = toNubListR $ hcProfOptions GHC libBi
1665+
ghcOptExtra = hcProfOptions GHC libBi
16751666
}
16761667
ghcArgs
16771668
| withVanillaLib lbi = vanillaArgs

Cabal/Distribution/Simple/GHC/Internal.hs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -284,8 +284,7 @@ componentCcGhcOptions verbosity _implInfo lbi bi clbi odir filename =
284284
ghcOptHideAllPackages= toFlag True,
285285
ghcOptPackageDBs = withPackageDB lbi,
286286
ghcOptPackages = toNubListR $ mkGhcOptPackages clbi,
287-
ghcOptCcOptions = toNubListR $
288-
(case withOptimization lbi of
287+
ghcOptCcOptions = (case withOptimization lbi of
289288
NoOptimisation -> []
290289
_ -> ["-O2"]) ++
291290
(case withDebugInfo lbi of
@@ -321,8 +320,7 @@ componentCxxGhcOptions verbosity _implInfo lbi bi clbi odir filename =
321320
ghcOptHideAllPackages= toFlag True,
322321
ghcOptPackageDBs = withPackageDB lbi,
323322
ghcOptPackages = toNubListR $ mkGhcOptPackages clbi,
324-
ghcOptCxxOptions = toNubListR $
325-
(case withOptimization lbi of
323+
ghcOptCxxOptions = (case withOptimization lbi of
326324
NoOptimisation -> []
327325
_ -> ["-O2"]) ++
328326
(case withDebugInfo lbi of
@@ -378,7 +376,7 @@ componentGhcOptions verbosity implInfo lbi bi clbi odir =
378376
-- potential includes generated by `configure'
379377
-- in the build directory
380378
++ [buildDir lbi </> dir | dir <- PD.includeDirs bi],
381-
ghcOptCppOptions = toNubListR $ cppOptions bi,
379+
ghcOptCppOptions = cppOptions bi,
382380
ghcOptCppIncludes = toNubListR $
383381
[autogenComponentModulesDir lbi clbi </> cppHeaderName],
384382
ghcOptFfiIncludes = toNubListR $ PD.includes bi,
@@ -388,7 +386,7 @@ componentGhcOptions verbosity implInfo lbi bi clbi odir =
388386
ghcOptOutputDir = toFlag odir,
389387
ghcOptOptimisation = toGhcOptimisation (withOptimization lbi),
390388
ghcOptDebugInfo = toFlag (withDebugInfo lbi),
391-
ghcOptExtra = toNubListR $ hcOptions GHC bi,
389+
ghcOptExtra = hcOptions GHC bi,
392390
ghcOptExtraPath = toNubListR $ exe_paths,
393391
ghcOptLanguage = toFlag (fromMaybe Haskell98 (defaultLanguage bi)),
394392
-- Unsupported extensions have already been checked by configure

0 commit comments

Comments
 (0)