@@ -53,6 +53,8 @@ import Distribution.Types.BuildType
5353import Distribution.Types.ComponentRequestedSpec
5454import qualified Distribution.Types.LocalBuildConfig as LBC
5555import Distribution.Types.LocalBuildInfo
56+ import Distribution.Utils.Path
57+ ( relativeSymbolicPath )
5658
5759import qualified Data.Set as Set
5860
@@ -216,12 +218,19 @@ configure
216218 OneComponentRequestedSpec {} -> True
217219 ComponentRequestedSpec {} -> False
218220 externalPkgDeps <- Cabal. configureDependencies verbosity useExternalInternalDeps pkg_info pkg_descr compRequested
219- lbi <- Cabal. configureComponents lbc2 pbd3 installedPkgs promisedDeps externalPkgDeps
221+ lbi1 <- Cabal. configureComponents lbc2 pbd3 installedPkgs promisedDeps externalPkgDeps
222+
223+ pkgDescrFile <-
224+ case Cabal. flagToMaybe $ Cabal. configCabalFilePath cfg of
225+ Just pkgFile -> return pkgFile
226+ Nothing -> relativeSymbolicPath <$> tryFindPackageDesc verbosity mbWorkDir
227+ let lbi2 = lbi1 { pkgDescrFile = Just pkgDescrFile }
228+
220229 -- Write the LocalBuildInfo to disk. This is needed, for instance, if we
221230 -- skip re-configuring; we retrieve the LocalBuildInfo stored on disk from
222231 -- the previous invocation of 'configure' and pass it to 'build'.
223- Cabal. writePersistBuildConfig mbWorkDir distPref lbi
224- return lbi
232+ Cabal. writePersistBuildConfig mbWorkDir distPref lbi2
233+ return lbi2
225234
226235wantComponent :: ComponentRequestedSpec -> Component -> Bool
227236wantComponent compReq comp = case compReq of
0 commit comments