@@ -57,6 +57,7 @@ module Distribution.Client.ProjectConfig
5757  , BuildTimeSettings  (.. )
5858  , resolveBuildTimeSettings 
5959  , resolveNumJobsSetting 
60+   , resolveProgramDb 
6061
6162    --  * Checking configuration
6263  , checkBadPerPackageCompilerPaths 
@@ -175,6 +176,9 @@ import Distribution.Simple.InstallDirs
175176  )
176177import  Distribution.Simple.Program 
177178  ( ConfiguredProgram  (.. )
179+   , ProgramDb 
180+   , defaultProgramDb 
181+   , userSpecifyPaths 
178182  )
179183import  Distribution.Simple.Setup 
180184  ( Flag  (Flag )
@@ -245,6 +249,7 @@ import System.IO
245249  )
246250
247251import  Distribution.Deprecated.ProjectParseUtils  (ProjectParseError  (.. ), ProjectParseWarning )
252+ import  Distribution.Simple.Program.Db  (prependProgramSearchPath )
248253import  Distribution.Solver.Types.ProjectConfigPath 
249254
250255---------------------------------------- 
@@ -554,6 +559,12 @@ resolveNumJobsSetting projectConfigUseSemaphore projectConfigNumJobs =
554559      1  ->  Serial 
555560      n ->  NumJobs  (Just  n)
556561
562+ resolveProgramDb  ::  Verbosity  ->  PackageConfig  ->  IO   ProgramDb 
563+ resolveProgramDb verbosity pkgconf =  do 
564+   let  extraPath =  fromNubList (packageConfigProgramPathExtra pkgconf)
565+   progdb <-  prependProgramSearchPath verbosity extraPath []  defaultProgramDb
566+   return  $  userSpecifyPaths (Map. toList (getMapLast (packageConfigProgramPaths pkgconf))) progdb
567+ 
557568--------------------------------------------- 
558569--  Reading and writing project config files
559570-- 
0 commit comments