@@ -53,6 +53,8 @@ import Distribution.Types.BuildType
53
53
import Distribution.Types.ComponentRequestedSpec
54
54
import qualified Distribution.Types.LocalBuildConfig as LBC
55
55
import Distribution.Types.LocalBuildInfo
56
+ import Distribution.Utils.Path
57
+ ( relativeSymbolicPath )
56
58
57
59
import qualified Data.Set as Set
58
60
@@ -216,12 +218,19 @@ configure
216
218
OneComponentRequestedSpec {} -> True
217
219
ComponentRequestedSpec {} -> False
218
220
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
+
220
229
-- Write the LocalBuildInfo to disk. This is needed, for instance, if we
221
230
-- skip re-configuring; we retrieve the LocalBuildInfo stored on disk from
222
231
-- 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
225
234
226
235
wantComponent :: ComponentRequestedSpec -> Component -> Bool
227
236
wantComponent compReq comp = case compReq of
0 commit comments