diff --git a/hadrian/src/Settings/Builders/Configure.hs b/hadrian/src/Settings/Builders/Configure.hs index 49f497672911f9e5a06401f1b5bd7f0f2cec5b4e..83d60306728dbaf689eb58e40dc4ac79c12d5490 100644 --- a/hadrian/src/Settings/Builders/Configure.hs +++ b/hadrian/src/Settings/Builders/Configure.hs @@ -15,7 +15,6 @@ configureBuilderArgs = do targetPlatform <- queryTarget targetPlatformTriple buildPlatform <- queryBuild targetPlatformTriple pure $ [ "--enable-shared=no" - , "--with-pic=yes" , "--host=" ++ targetPlatform -- GMP's host is our target , "--build=" ++ buildPlatform ] -- Disable GMP's alloca usage on wasm32, it may @@ -25,6 +24,10 @@ configureBuilderArgs = do -- more detailed explanation of this configure -- option. <> [ "--enable-alloca=malloc-reentrant" | targetArch == "wasm32" ] + -- Enable PIC unless target is wasm32, in which + -- case we don't want libgmp.a to be bloated due + -- to PIC overhead. + <> [ "--with-pic=yes" | targetArch /= "wasm32" ] , builder (Configure libffiPath) ? do top <- expr topDirectory