@@ -114,21 +114,9 @@ build pkg_descr lbi flags suffixes = do
114
114
115
115
internalPackageDB <- createInternalPackageDB verbosity lbi distPref
116
116
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.
132
120
when shouldDumpBuildInfo $ do
133
121
-- Changing this line might break consumers of the dumped build info.
134
122
-- Announce changes on mailing lists!
@@ -150,6 +138,22 @@ build pkg_descr lbi flags suffixes = do
150
138
exists <- doesFileExist (buildInfoPref distPref)
151
139
when exists $ removeFile (buildInfoPref distPref)
152
140
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
+
153
157
return ()
154
158
where
155
159
distPref = fromFlag (buildDistPref flags)
0 commit comments