@@ -57,6 +57,7 @@ module Distribution.Client.ProjectConfig
5757  , BuildTimeSettings  (.. )
5858  , resolveBuildTimeSettings 
5959  , resolveNumJobsSetting 
60+   , resolveProgramDb 
6061
6162    --  * Checking configuration
6263  , checkBadPerPackageCompilerPaths 
@@ -174,7 +175,7 @@ import Distribution.Simple.InstallDirs
174175  , toPathTemplate 
175176  )
176177import  Distribution.Simple.Program 
177-   ( ConfiguredProgram  (.. )
178+   ( ConfiguredProgram  (.. ),  defaultProgramDb ,  userSpecifyPaths ,  ProgramDb 
178179  )
179180import  Distribution.Simple.Setup 
180181  ( Flag  (Flag )
@@ -246,6 +247,7 @@ import System.IO
246247
247248import  Distribution.Deprecated.ProjectParseUtils  (ProjectParseError  (.. ), ProjectParseWarning )
248249import  Distribution.Solver.Types.ProjectConfigPath 
250+ import  Distribution.Simple.Program.Db  (prependProgramSearchPath )
249251
250252---------------------------------------- 
251253--  Resolving configuration to settings
@@ -554,6 +556,12 @@ resolveNumJobsSetting projectConfigUseSemaphore projectConfigNumJobs =
554556      1  ->  Serial 
555557      n ->  NumJobs  (Just  n)
556558
559+ resolveProgramDb  ::  Verbosity  ->  PackageConfig  ->  IO   ProgramDb 
560+ resolveProgramDb verbosity pkgconf =  do 
561+   let  extraPath =  fromNubList (packageConfigProgramPathExtra pkgconf)
562+   progdb <-  prependProgramSearchPath verbosity extraPath []  defaultProgramDb
563+   return  $  userSpecifyPaths (Map. toList (getMapLast (packageConfigProgramPaths pkgconf))) progdb
564+ 
557565--------------------------------------------- 
558566--  Reading and writing project config files
559567-- 
0 commit comments