summaryrefslogtreecommitdiff
path: root/hadrian
diff options
context:
space:
mode:
authorGabriella Gonzalez <gabriella@mercury.com>2023-02-01 13:44:44 -0800
committerMarge Bot <ben+marge-bot@smart-cactus.org>2023-03-06 17:06:50 -0500
commit5ed77deb1b49bff7bae9660487ee4a40a496476d (patch)
treeff53bb9ff50c50657fc9513a0bb7184f0f3a1403 /hadrian
parent232cfc241c14ba6a49d9552a90a94857255e455d (diff)
downloadhaskell-5ed77deb1b49bff7bae9660487ee4a40a496476d.tar.gz
Enable response files for linker if supported
Diffstat (limited to 'hadrian')
-rw-r--r--hadrian/bindist/Makefile1
-rw-r--r--hadrian/cfg/system.config.in1
-rw-r--r--hadrian/src/Rules/Generate.hs1
3 files changed, 3 insertions, 0 deletions
diff --git a/hadrian/bindist/Makefile b/hadrian/bindist/Makefile
index f36ffa57c0..274772e80a 100644
--- a/hadrian/bindist/Makefile
+++ b/hadrian/bindist/Makefile
@@ -92,6 +92,7 @@ lib/settings : config.mk
@echo ',("ld flags", "$(SettingsLdFlags)")' >> $@
@echo ',("ld supports compact unwind", "$(LdHasNoCompactUnwind)")' >> $@
@echo ',("ld supports filelist", "$(LdHasFilelist)")' >> $@
+ @echo ',("ld supports response files", "$(LdSupportsResponseFiles)")' >> $@
@echo ',("ld is GNU ld", "$(LdIsGNULd)")' >> $@
@echo ',("Merge objects command", "$(SettingsMergeObjectsCommand)")' >> $@
@echo ',("Merge objects flags", "$(SettingsMergeObjectsFlags)")' >> $@
diff --git a/hadrian/cfg/system.config.in b/hadrian/cfg/system.config.in
index 6a891b4363..57c57aa057 100644
--- a/hadrian/cfg/system.config.in
+++ b/hadrian/cfg/system.config.in
@@ -140,6 +140,7 @@ conf-merge-objects-args-stage3 = @MergeObjsArgs@
gcc-extra-via-c-opts = @GccExtraViaCOpts@
ld-has-no-compact-unwind = @LdHasNoCompactUnwind@
ld-has-filelist = @LdHasFilelist@
+ld-supports-response-files = @LdSupportsResponseFiles@
ld-is-gnu-ld = @LdIsGNULd@
ar-args = @ArArgs@
diff --git a/hadrian/src/Rules/Generate.hs b/hadrian/src/Rules/Generate.hs
index fbd6f8d9aa..1e905438eb 100644
--- a/hadrian/src/Rules/Generate.hs
+++ b/hadrian/src/Rules/Generate.hs
@@ -427,6 +427,7 @@ generateSettings = do
, ("ld flags", expr $ settingsFileSetting SettingsFileSetting_LdFlags)
, ("ld supports compact unwind", expr $ lookupSystemConfig "ld-has-no-compact-unwind")
, ("ld supports filelist", expr $ lookupSystemConfig "ld-has-filelist")
+ , ("ld supports response files", expr $ lookupSystemConfig "ld-supports-response-files")
, ("ld is GNU ld", expr $ lookupSystemConfig "ld-is-gnu-ld")
, ("Merge objects command", expr $ settingsFileSetting SettingsFileSetting_MergeObjectsCommand)
, ("Merge objects flags", expr $ settingsFileSetting SettingsFileSetting_MergeObjectsFlags)