@@ -184,14 +184,21 @@ mkHiFileResultCompile
184
184
mkHiFileResultCompile session' tcm simplified_guts ltype = catchErrs $ do
185
185
let session = session' { hsc_dflags = ms_hspp_opts ms }
186
186
ms = pm_mod_summary $ tmrParsed tcm
187
+ tcGblEnv = tmrTypechecked tcm
187
188
-- give variables unique OccNames
188
- (guts, details) <- tidyProgram session simplified_guts
189
-
190
189
let genLinkable = case ltype of
191
190
ObjectLinkable -> generateObjectCode
192
191
BCOLinkable -> generateByteCode
193
192
194
- (diags, linkable) <- genLinkable session ms guts
193
+ (linkable, details, diags) <-
194
+ if mg_hsc_src simplified_guts == HsBootFile
195
+ then do
196
+ details <- mkBootModDetailsTc session tcGblEnv
197
+ pure (Nothing , details, [] )
198
+ else do
199
+ (guts, details) <- tidyProgram session simplified_guts
200
+ (diags, linkable) <- genLinkable session ms guts
201
+ pure (linkable, details, diags)
195
202
#if MIN_GHC_API_VERSION(8,10,0)
196
203
let ! partial_iface = force (mkPartialIface session details simplified_guts)
197
204
final_iface <- mkFullIface session partial_iface
0 commit comments