@@ -282,7 +282,7 @@ buildOrReplLib mReplFlags verbosity numJobs pkg_descr lbi lib clbi = do
282
282
whenProfLib = when (not forRepl && withProfLib lbi)
283
283
whenSharedLib forceShared =
284
284
when (not forRepl && (forceShared || withSharedLib lbi))
285
- whenGHCiLib = when (not forRepl && withGHCiLib lbi && withVanillaLib lbi )
285
+ whenGHCiLib = when (not forRepl && withGHCiLib lbi)
286
286
forRepl = maybe False (const True ) mReplFlags
287
287
ifReplLib = when forRepl
288
288
replFlags = fromMaybe mempty mReplFlags
@@ -435,6 +435,7 @@ buildOrReplLib mReplFlags verbosity numJobs pkg_descr lbi lib clbi = do
435
435
profileLibFilePath = libTargetDir </> mkProfLibName uid
436
436
sharedLibFilePath = libTargetDir </> mkSharedLibName (hostPlatform lbi) compiler_id uid
437
437
ghciLibFilePath = libTargetDir </> Internal. mkGHCiLibName uid
438
+ ghciProfLibFilePath = libTargetDir </> Internal. mkGHCiProfLibName uid
438
439
439
440
hObjs <- Internal. getHaskellObjects implInfo lib lbi clbi
440
441
libTargetDir objExtension True
@@ -457,9 +458,6 @@ buildOrReplLib mReplFlags verbosity numJobs pkg_descr lbi lib clbi = do
457
458
profObjectFiles =
458
459
hProfObjs
459
460
++ map (libTargetDir </> ) cProfObjs
460
- ghciObjFiles =
461
- hObjs
462
- ++ map (libTargetDir </> ) cObjs
463
461
dynamicObjectFiles =
464
462
hSharedObjs
465
463
++ map (libTargetDir </> ) cSharedObjs
@@ -483,14 +481,17 @@ buildOrReplLib mReplFlags verbosity numJobs pkg_descr lbi lib clbi = do
483
481
484
482
whenVanillaLib False $ do
485
483
Ar. createArLibArchive verbosity lbi vanillaLibFilePath staticObjectFiles
484
+ whenGHCiLib $ do
485
+ (ldProg, _) <- requireProgram verbosity ldProgram (withPrograms lbi)
486
+ Ld. combineObjectFiles verbosity lbi ldProg
487
+ ghciLibFilePath staticObjectFiles
486
488
487
489
whenProfLib $ do
488
490
Ar. createArLibArchive verbosity lbi profileLibFilePath profObjectFiles
489
-
490
- whenGHCiLib $ do
491
- (ldProg, _) <- requireProgram verbosity ldProgram (withPrograms lbi)
492
- Ld. combineObjectFiles verbosity lbi ldProg
493
- ghciLibFilePath ghciObjFiles
491
+ whenGHCiLib $ do
492
+ (ldProg, _) <- requireProgram verbosity ldProgram (withPrograms lbi)
493
+ Ld. combineObjectFiles verbosity lbi ldProg
494
+ ghciProfLibFilePath profObjectFiles
494
495
495
496
whenSharedLib False $
496
497
runGhcjsProg ghcSharedLinkArgs
@@ -713,10 +714,13 @@ installLib verbosity lbi targetDir dynlibTargetDir builtDir _pkg lib clbi = do
713
714
whenShared $ copyModuleFiles " dyn_hi"
714
715
715
716
-- copy the built library files over:
716
- whenVanilla $ installOrdinaryNative builtDir targetDir vanillaLibName
717
- whenProf $ installOrdinaryNative builtDir targetDir profileLibName
718
- whenGHCi $ installOrdinaryNative builtDir targetDir ghciLibName
719
- whenShared $ installSharedNative builtDir dynlibTargetDir sharedLibName
717
+ whenVanilla $ do
718
+ installOrdinaryNative builtDir targetDir vanillaLibName
719
+ whenGHCi $ installOrdinaryNative builtDir targetDir ghciLibName
720
+ whenProf $ do
721
+ installOrdinaryNative builtDir targetDir profileLibName
722
+ whenGHCi $ installOrdinaryNative builtDir targetDir ghciProfLibName
723
+ whenShared $ installSharedNative builtDir dynlibTargetDir sharedLibName
720
724
721
725
where
722
726
install isShared isJS srcDir dstDir name = do
@@ -747,6 +751,7 @@ installLib verbosity lbi targetDir dynlibTargetDir builtDir _pkg lib clbi = do
747
751
vanillaLibName = mkLibName uid
748
752
profileLibName = mkProfLibName uid
749
753
ghciLibName = Internal. mkGHCiLibName uid
754
+ ghciProfLibName = Internal. mkGHCiProfLibName uid
750
755
sharedLibName = (mkSharedLibName (hostPlatform lbi) compiler_id) uid
751
756
752
757
hasLib = not $ null (allLibModules lib clbi)
0 commit comments