@@ -2316,10 +2316,15 @@ elaborateInstallPlan
2316
2316
{ withVanillaLib = perPkgOptionFlag pkgid True packageConfigVanillaLib -- TODO: [required feature]: also needs to be handled recursively
2317
2317
, withSharedLib = canBuildSharedLibs && pkgid `Set.member` pkgsUseSharedLibrary
2318
2318
, withStaticLib = perPkgOptionFlag pkgid False packageConfigStaticLib
2319
- , withDynExe = perPkgOptionFlag pkgid False packageConfigDynExe
2319
+ , withDynExe =
2320
+ perPkgOptionFlag pkgid False packageConfigDynExe
2321
+ -- We can't produce a dynamic executable if the user
2322
+ -- wants to enable executable profiling but the
2323
+ -- compiler doesn't support prof+dyn.
2324
+ && (okProfDyn || not profExe)
2320
2325
, withFullyStaticExe = perPkgOptionFlag pkgid False packageConfigFullyStaticExe
2321
2326
, withGHCiLib = perPkgOptionFlag pkgid False packageConfigGHCiLib -- TODO: [required feature] needs to default to enabled on windows still
2322
- , withProfExe = perPkgOptionFlag pkgid False packageConfigProf
2327
+ , withProfExe = profExe
2323
2328
, withProfLib = canBuildProfilingLibs && pkgid `Set.member` pkgsUseProfilingLibrary
2324
2329
, withProfLibShared = canBuildProfilingSharedLibs && pkgid `Set.member` pkgsUseProfilingLibraryShared
2325
2330
, exeCoverage = perPkgOptionFlag pkgid False packageConfigCoverage
@@ -2334,6 +2339,8 @@ elaborateInstallPlan
2334
2339
, withProfLibDetail = elabProfExeDetail
2335
2340
, withProfExeDetail = elabProfLibDetail
2336
2341
}
2342
+ okProfDyn = profilingDynamicSupportedOrUnknown compiler
2343
+ profExe = perPkgOptionFlag pkgid False packageConfigProf
2337
2344
2338
2345
( elabProfExeDetail
2339
2346
, elabProfLibDetail
0 commit comments