Skip to content

Commit 5bf69e7

Browse files
committed
Always write build-info, even before building
1 parent d42a431 commit 5bf69e7

File tree

1 file changed

+19
-15
lines changed

1 file changed

+19
-15
lines changed

Cabal/src/Distribution/Simple/Build.hs

+19-15
Original file line numberDiff line numberDiff line change
@@ -114,21 +114,9 @@ build pkg_descr lbi flags suffixes = do
114114

115115
internalPackageDB <- createInternalPackageDB verbosity lbi distPref
116116

117-
(\f -> foldM_ f (installedPkgs lbi) componentsToBuild) $ \index target -> do
118-
let comp = targetComponent target
119-
clbi = targetCLBI target
120-
componentInitialBuildSteps distPref pkg_descr lbi clbi verbosity
121-
let bi = componentBuildInfo comp
122-
progs' = addInternalBuildTools pkg_descr lbi bi (withPrograms lbi)
123-
lbi' = lbi {
124-
withPrograms = progs',
125-
withPackageDB = withPackageDB lbi ++ [internalPackageDB],
126-
installedPkgs = index
127-
}
128-
mb_ipi <- buildComponent verbosity (buildNumJobs flags) pkg_descr
129-
lbi' suffixes comp clbi distPref
130-
return (maybe index (Index.insert `flip` index) mb_ipi)
131-
117+
-- Before the actual building, dump out build-information.
118+
-- This way, if the actual compilation failed, the options have still been
119+
-- dumped.
132120
when shouldDumpBuildInfo $ do
133121
-- Changing this line might break consumers of the dumped build info.
134122
-- Announce changes on mailing lists!
@@ -150,6 +138,22 @@ build pkg_descr lbi flags suffixes = do
150138
exists <- doesFileExist (buildInfoPref distPref)
151139
when exists $ removeFile (buildInfoPref distPref)
152140

141+
-- Now do the actual building
142+
(\f -> foldM_ f (installedPkgs lbi) componentsToBuild) $ \index target -> do
143+
let comp = targetComponent target
144+
clbi = targetCLBI target
145+
componentInitialBuildSteps distPref pkg_descr lbi clbi verbosity
146+
let bi = componentBuildInfo comp
147+
progs' = addInternalBuildTools pkg_descr lbi bi (withPrograms lbi)
148+
lbi' = lbi {
149+
withPrograms = progs',
150+
withPackageDB = withPackageDB lbi ++ [internalPackageDB],
151+
installedPkgs = index
152+
}
153+
mb_ipi <- buildComponent verbosity (buildNumJobs flags) pkg_descr
154+
lbi' suffixes comp clbi distPref
155+
return (maybe index (Index.insert `flip` index) mb_ipi)
156+
153157
return ()
154158
where
155159
distPref = fromFlag (buildDistPref flags)

0 commit comments

Comments
 (0)