@@ -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