diff --git a/cabal-install/src/Distribution/Client/ProjectPlanning.hs b/cabal-install/src/Distribution/Client/ProjectPlanning.hs index 16ff6e0d53497e1a64c259b98a04e3801b1a2885..05fbf69909e59db5a095a0c34638dcbe3491a14d 100644 --- a/cabal-install/src/Distribution/Client/ProjectPlanning.hs +++ b/cabal-install/src/Distribution/Client/ProjectPlanning.hs @@ -321,9 +321,17 @@ rebuildProjectConfig verbosity } cliConfig = do + progsearchpath <- liftIO $ getSystemSearchPath + + let fileMonitorProjectConfig = newFileMonitor (distProjectCacheFile "config") + fileMonitorProjectConfigKey <- do configPath <- getConfigFilePath projectConfigConfigFile - return (configPath, distProjectFile "") + return (configPath, distProjectFile "", + (projectConfigHcFlavor, projectConfigHcPath, projectConfigHcPkg), + progsearchpath, + packageConfigProgramPaths, + packageConfigProgramPathExtra) (projectConfig, localPackages) <- runRebuild distProjectRootDirectory @@ -354,18 +362,11 @@ rebuildProjectConfig verbosity where - ProjectConfigShared { projectConfigConfigFile } = - projectConfigShared cliConfig - - ProjectConfigShared { projectConfigIgnoreProject } = + ProjectConfigShared { projectConfigHcFlavor, projectConfigHcPath, projectConfigHcPkg, projectConfigIgnoreProject, projectConfigConfigFile } = projectConfigShared cliConfig - fileMonitorProjectConfig :: - FileMonitor - (FilePath, FilePath) - (ProjectConfig, [PackageSpecifier UnresolvedSourcePackage]) - fileMonitorProjectConfig = - newFileMonitor (distProjectCacheFile "config") + PackageConfig { packageConfigProgramPaths, packageConfigProgramPathExtra } = + projectConfigLocalPackages cliConfig -- Read the cabal.project (or implicit config) and combine it with -- arguments from the command line diff --git a/changelog.d/pr-8819 b/changelog.d/pr-8819 new file mode 100644 index 0000000000000000000000000000000000000000..1398a2ca648139a60503e355db596668f480e2c1 --- /dev/null +++ b/changelog.d/pr-8819 @@ -0,0 +1,9 @@ +synopsis: Use compiler flags for caching project config +packages: cabal-install +prs: #8819 + +description: { + +This ensures that cached project configs with conditionals re-execute the conditional logic when the compiler changes. + +}