Skip to content

Commit a439429

Browse files
committed
Add #if for GHC >=810
1 parent c3e68be commit a439429

File tree

2 files changed

+14
-10
lines changed

2 files changed

+14
-10
lines changed

Cabal/src/Distribution/Simple/GHC/Internal.hs

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{-# LANGUAGE CPP #-}
12
{-# LANGUAGE DataKinds #-}
23
{-# LANGUAGE FlexibleContexts #-}
34
{-# LANGUAGE PatternSynonyms #-}
@@ -381,11 +382,14 @@ includePaths lbi bi clbi odir =
381382
allGhcOptExtra :: BuildInfo -> [String]
382383
allGhcOptExtra bi =
383384
["-optP" ++ opt | opt <- cppOptions bi]
384-
++ ["-optc" ++ opt | opt <- ccOptions bi]
385-
++ ["-optcxx" ++ opt | opt <- cxxOptions bi]
386385
++ ["-opta" ++ opt | opt <- asmOptions bi]
387-
++ ["-optl" ++ opt | opt <- ldOptions bi]
388386
++ ["-optJSP" ++ opt | opt <- jsppOptions bi]
387+
++ ["-optl" ++ opt | opt <- ldOptions bi]
388+
++ ["-optc" ++ opt | opt <- ccOptions bi]
389+
#if __GLASGOW_HASKELL__ >= 810
390+
-- Pass -optcxx for GHC >= 8.10 https://github.com/haskell/cabal/pull/7072
391+
++ ["-optcxx" ++ opt | opt <- cxxOptions bi]
392+
#endif
389393

390394
componentCcGhcOptions
391395
:: Verbosity
@@ -423,7 +427,7 @@ componentCcGhcOptions verbosity lbi bi clbi odir filename =
423427
programPath
424428
<$> lookupProgram gccProgram (withPrograms lbi)
425429
, ghcOptObjDir = toFlag odir
426-
, ghcOptExtra = allGhcOptExtra bi <> hcOptions GHC bi
430+
, ghcOptExtra = hcOptions GHC bi
427431
}
428432

429433
componentCxxGhcOptions
@@ -462,7 +466,7 @@ componentCxxGhcOptions verbosity lbi bi clbi odir filename =
462466
programPath
463467
<$> lookupProgram gccProgram (withPrograms lbi)
464468
, ghcOptObjDir = toFlag odir
465-
, ghcOptExtra = allGhcOptExtra bi <> hcOptions GHC bi
469+
, ghcOptExtra = hcOptions GHC bi
466470
}
467471

468472
componentAsmGhcOptions
@@ -497,7 +501,7 @@ componentAsmGhcOptions verbosity lbi bi clbi odir filename =
497501
)
498502
++ asmOptions bi
499503
, ghcOptObjDir = toFlag odir
500-
, ghcOptExtra = allGhcOptExtra bi <> hcOptions GHC bi
504+
, ghcOptExtra = hcOptions GHC bi
501505
}
502506

503507
componentJsGhcOptions
@@ -521,7 +525,7 @@ componentJsGhcOptions verbosity lbi bi clbi odir filename =
521525
, ghcOptPackageDBs = withPackageDB lbi
522526
, ghcOptPackages = toNubListR $ mkGhcOptPackages (promisedPkgs lbi) clbi
523527
, ghcOptObjDir = toFlag odir
524-
, ghcOptExtra = allGhcOptExtra bi <> hcOptions GHC bi
528+
, ghcOptExtra = hcOptions GHC bi
525529
}
526530

527531
componentGhcOptions
@@ -636,7 +640,7 @@ componentCmmGhcOptions verbosity lbi bi clbi odir filename =
636640
, ghcOptPackages = toNubListR $ mkGhcOptPackages (promisedPkgs lbi) clbi
637641
, ghcOptOptimisation = toGhcOptimisation (withOptimization lbi)
638642
, ghcOptDebugInfo = toFlag (withDebugInfo lbi)
639-
, ghcOptExtra = allGhcOptExtra bi <> hcOptions GHC bi <> cmmOptions bi
643+
, ghcOptExtra = hcOptions GHC bi <> cmmOptions bi
640644
, ghcOptObjDir = toFlag odir
641645
}
642646

changelog.d/pr-10969.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
synopsis: Pass *-options to GHC when compiling ordinary Haskell sources
3-
packages: [Cabal, Cabal-syntax]
4-
prs: 10967
3+
packages: [Cabal]
4+
prs: 10969
55
---
66

77
*-options should be always passed when invoking GHC, similarly as ghc-options should be always used when invoking ghc - regardless of what is the intention of a particular GHC-call. GHC might use or not use the options, Cabal cannot know and should not guess.

0 commit comments

Comments
 (0)