File tree 8 files changed +50
-2
lines changed
cabal-install/src/Distribution/Client
cabal-testsuite/PackageTests/ConfigFile/T8487
8 files changed +50
-2
lines changed Original file line number Diff line number Diff line change @@ -859,8 +859,10 @@ printPlan verbosity
859
859
ProjectBaseContext {
860
860
buildSettings = BuildTimeSettings {buildSettingDryRun},
861
861
projectConfig = ProjectConfig {
862
+ projectConfigAllPackages =
863
+ PackageConfig {packageConfigOptimization = globalOptimization},
862
864
projectConfigLocalPackages =
863
- PackageConfig {packageConfigOptimization}
865
+ PackageConfig {packageConfigOptimization = localOptimization }
864
866
}
865
867
}
866
868
ProjectBuildContext {
@@ -994,7 +996,7 @@ printPlan verbosity
994
996
showBuildProfile :: String
995
997
showBuildProfile = " Build profile: " ++ unwords [
996
998
" -w " ++ (showCompilerId . pkgConfigCompiler) elaboratedShared,
997
- " -O" ++ (case packageConfigOptimization of
999
+ " -O" ++ (case globalOptimization <> localOptimization of -- if local is not set, read global
998
1000
Setup. Flag NoOptimisation -> " 0"
999
1001
Setup. Flag NormalOptimisation -> " 1"
1000
1002
Setup. Flag MaximumOptimisation -> " 2"
Original file line number Diff line number Diff line change
1
+ # cabal build
2
+ Resolving dependencies...
3
+ Build profile: -w ghc-<GHCVER> -O2
4
+ In order, the following will be built:
5
+ - test-0.1.0.0 (lib) (first run)
6
+ Configuring library for test-0.1.0.0..
7
+ Preprocessing library for test-0.1.0.0..
8
+ Building library for test-0.1.0.0..
Original file line number Diff line number Diff line change
1
+ packages : .
Original file line number Diff line number Diff line change
1
+ -- 2022-09-20, issue #8487
2
+ --
3
+
4
+ import Test.Cabal.Prelude
5
+
6
+ main = cabalTest $ do
7
+ cabalG [ " --config-file" , " config.file" ] " build" [ " test" ]
Original file line number Diff line number Diff line change
1
+ optimization: 2
Original file line number Diff line number Diff line change
1
+ module MyLib (someFunc ) where
2
+
3
+ someFunc :: IO ()
4
+ someFunc = putStrLn " someFunc"
Original file line number Diff line number Diff line change
1
+ cabal-version : 3.0
2
+ name : test
3
+ version : 0.1.0.0
4
+ license : NONE
5
+
6
+ maintainer : Artem Pelenitsyn
7
+ build-type : Simple
8
+
9
+ library
10
+ exposed-modules : MyLib
11
+ build-depends : base
12
+ hs-source-dirs : src
13
+ default-language : Haskell2010
Original file line number Diff line number Diff line change
1
+ synopsis: "Build profile" message now reflects optimization level set in global config
2
+ packages: cabal-install
3
+ prs: #8488
4
+ issues: #8487
5
+
6
+ description: {
7
+
8
+ Imagine you have `optimization: 2` in your `~/.cabal/config`, and you call `cabal build`
9
+ in a project that doesn't have optimization level explicitly set in its project file.
10
+ You will still see 'Build profile: -w ghc-<VER> -O1'. This is incorrect and was fixed
11
+ in this patch: now you'll see '-O2'.
12
+ }
You can’t perform that action at this time.
0 commit comments