aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/osx
diff options
context:
space:
mode:
authorGravatar plf <plf@google.com>2018-02-12 04:37:41 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-12 04:39:21 -0800
commitc7e343ad314aeab6283b5939bc8126a112140a11 (patch)
tree26d3e9e06f114916512310b218ef2af447063b4b /tools/osx
parentc527b4f1f9e8c4c48b136b190b6e92e9c80b09a4 (diff)
C++: Allows adding linkopts through file.
The file can be generated during execution by a different rule. RELNOTES:none PiperOrigin-RevId: 185361140
Diffstat (limited to 'tools/osx')
-rw-r--r--tools/osx/crosstool/CROSSTOOL.tpl270
1 files changed, 270 insertions, 0 deletions
diff --git a/tools/osx/crosstool/CROSSTOOL.tpl b/tools/osx/crosstool/CROSSTOOL.tpl
index e16052b0f7..d0058a7023 100644
--- a/tools/osx/crosstool/CROSSTOOL.tpl
+++ b/tools/osx/crosstool/CROSSTOOL.tpl
@@ -1144,6 +1144,27 @@ toolchain {
}
}
feature {
+ name: "linkopts_file"
+ flag_set {
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ flag_group {
+ flag: "-Wl,@%{linkopts_file}"
+ }
+ expand_if_all_available: "linkopts_file"
+ }
+ flag_set {
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
+ flag_group {
+ flag: "@%{linkopts_file}"
+ }
+ expand_if_all_available: "linkopts_file"
+ }
+ }
+ feature {
name: "linker_param_file"
flag_set {
action: "c++-link-executable"
@@ -1627,6 +1648,7 @@ toolchain {
implies: "force_pic_flags"
implies: "legacy_link_flags"
implies: "strip_debug_symbols"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "version_min"
implies: "apple_env"
@@ -1650,6 +1672,7 @@ toolchain {
implies: "input_param_flags"
implies: "legacy_link_flags"
implies: "strip_debug_symbols"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "version_min"
implies: "apple_env"
@@ -1666,6 +1689,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -1680,6 +1704,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -1694,6 +1719,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -1708,6 +1734,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -2858,6 +2885,27 @@ toolchain {
}
}
feature {
+ name: "linkopts_file"
+ flag_set {
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ flag_group {
+ flag: "-Wl,@%{linkopts_file}"
+ }
+ expand_if_all_available: "linkopts_file"
+ }
+ flag_set {
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
+ flag_group {
+ flag: "@%{linkopts_file}"
+ }
+ expand_if_all_available: "linkopts_file"
+ }
+ }
+ feature {
name: "linker_param_file"
flag_set {
action: "c++-link-executable"
@@ -3343,6 +3391,7 @@ toolchain {
implies: "force_pic_flags"
implies: "legacy_link_flags"
implies: "strip_debug_symbols"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "version_min"
implies: "apple_env"
@@ -3366,6 +3415,7 @@ toolchain {
implies: "input_param_flags"
implies: "legacy_link_flags"
implies: "strip_debug_symbols"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "version_min"
implies: "apple_env"
@@ -3382,6 +3432,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -3396,6 +3447,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -3410,6 +3462,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -3424,6 +3477,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -4576,6 +4630,27 @@ toolchain {
}
}
feature {
+ name: "linkopts_file"
+ flag_set {
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ flag_group {
+ flag: "-Wl,@%{linkopts_file}"
+ }
+ expand_if_all_available: "linkopts_file"
+ }
+ flag_set {
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
+ flag_group {
+ flag: "@%{linkopts_file}"
+ }
+ expand_if_all_available: "linkopts_file"
+ }
+ }
+ feature {
name: "linker_param_file"
flag_set {
action: "c++-link-executable"
@@ -5061,6 +5136,7 @@ toolchain {
implies: "force_pic_flags"
implies: "legacy_link_flags"
implies: "strip_debug_symbols"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "version_min"
implies: "apple_env"
@@ -5084,6 +5160,7 @@ toolchain {
implies: "input_param_flags"
implies: "legacy_link_flags"
implies: "strip_debug_symbols"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "version_min"
implies: "apple_env"
@@ -5100,6 +5177,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -5114,6 +5192,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -5128,6 +5207,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -5142,6 +5222,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -6314,6 +6395,27 @@ toolchain {
}
}
feature {
+ name: "linkopts_file"
+ flag_set {
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ flag_group {
+ flag: "-Wl,@%{linkopts_file}"
+ }
+ expand_if_all_available: "linkopts_file"
+ }
+ flag_set {
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
+ flag_group {
+ flag: "@%{linkopts_file}"
+ }
+ expand_if_all_available: "linkopts_file"
+ }
+ }
+ feature {
name: "linker_param_file"
flag_set {
action: "c++-link-executable"
@@ -6806,6 +6908,7 @@ toolchain {
implies: "force_pic_flags"
implies: "legacy_link_flags"
implies: "strip_debug_symbols"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "version_min"
implies: "apple_env"
@@ -6830,6 +6933,7 @@ toolchain {
implies: "input_param_flags"
implies: "legacy_link_flags"
implies: "strip_debug_symbols"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "version_min"
implies: "apple_env"
@@ -6847,6 +6951,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -6861,6 +6966,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -6875,6 +6981,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -6889,6 +6996,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -8039,6 +8147,27 @@ toolchain {
}
}
feature {
+ name: "linkopts_file"
+ flag_set {
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ flag_group {
+ flag: "-Wl,@%{linkopts_file}"
+ }
+ expand_if_all_available: "linkopts_file"
+ }
+ flag_set {
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
+ flag_group {
+ flag: "@%{linkopts_file}"
+ }
+ expand_if_all_available: "linkopts_file"
+ }
+ }
+ feature {
name: "linker_param_file"
flag_set {
action: "c++-link-executable"
@@ -8524,6 +8653,7 @@ toolchain {
implies: "force_pic_flags"
implies: "legacy_link_flags"
implies: "strip_debug_symbols"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "version_min"
implies: "apple_env"
@@ -8547,6 +8677,7 @@ toolchain {
implies: "input_param_flags"
implies: "legacy_link_flags"
implies: "strip_debug_symbols"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "version_min"
implies: "apple_env"
@@ -8563,6 +8694,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -8577,6 +8709,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -8591,6 +8724,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -8605,6 +8739,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -9745,6 +9880,27 @@ toolchain {
}
}
feature {
+ name: "linkopts_file"
+ flag_set {
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ flag_group {
+ flag: "-Wl,@%{linkopts_file}"
+ }
+ expand_if_all_available: "linkopts_file"
+ }
+ flag_set {
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
+ flag_group {
+ flag: "@%{linkopts_file}"
+ }
+ expand_if_all_available: "linkopts_file"
+ }
+ }
+ feature {
name: "linker_param_file"
flag_set {
action: "c++-link-executable"
@@ -10228,6 +10384,7 @@ toolchain {
implies: "force_pic_flags"
implies: "legacy_link_flags"
implies: "strip_debug_symbols"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "version_min"
implies: "apple_env"
@@ -10251,6 +10408,7 @@ toolchain {
implies: "input_param_flags"
implies: "legacy_link_flags"
implies: "strip_debug_symbols"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "version_min"
implies: "apple_env"
@@ -10267,6 +10425,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -10281,6 +10440,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -10295,6 +10455,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -10309,6 +10470,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -11451,6 +11613,27 @@ toolchain {
}
}
feature {
+ name: "linkopts_file"
+ flag_set {
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ flag_group {
+ flag: "-Wl,@%{linkopts_file}"
+ }
+ expand_if_all_available: "linkopts_file"
+ }
+ flag_set {
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
+ flag_group {
+ flag: "@%{linkopts_file}"
+ }
+ expand_if_all_available: "linkopts_file"
+ }
+ }
+ feature {
name: "linker_param_file"
flag_set {
action: "c++-link-executable"
@@ -11934,6 +12117,7 @@ toolchain {
implies: "force_pic_flags"
implies: "legacy_link_flags"
implies: "strip_debug_symbols"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "version_min"
implies: "apple_env"
@@ -11957,6 +12141,7 @@ toolchain {
implies: "input_param_flags"
implies: "legacy_link_flags"
implies: "strip_debug_symbols"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "version_min"
implies: "apple_env"
@@ -11973,6 +12158,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -11987,6 +12173,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -12001,6 +12188,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -12015,6 +12203,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -13177,6 +13366,27 @@ toolchain {
}
}
feature {
+ name: "linkopts_file"
+ flag_set {
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ flag_group {
+ flag: "-Wl,@%{linkopts_file}"
+ }
+ expand_if_all_available: "linkopts_file"
+ }
+ flag_set {
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
+ flag_group {
+ flag: "@%{linkopts_file}"
+ }
+ expand_if_all_available: "linkopts_file"
+ }
+ }
+ feature {
name: "linker_param_file"
flag_set {
action: "c++-link-executable"
@@ -13667,6 +13877,7 @@ toolchain {
implies: "force_pic_flags"
implies: "legacy_link_flags"
implies: "strip_debug_symbols"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "version_min"
implies: "apple_env"
@@ -13691,6 +13902,7 @@ toolchain {
implies: "input_param_flags"
implies: "legacy_link_flags"
implies: "strip_debug_symbols"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "version_min"
implies: "apple_env"
@@ -13708,6 +13920,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -13722,6 +13935,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -13736,6 +13950,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -13750,6 +13965,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -14890,6 +15106,27 @@ toolchain {
}
}
feature {
+ name: "linkopts_file"
+ flag_set {
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ flag_group {
+ flag: "-Wl,@%{linkopts_file}"
+ }
+ expand_if_all_available: "linkopts_file"
+ }
+ flag_set {
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
+ flag_group {
+ flag: "@%{linkopts_file}"
+ }
+ expand_if_all_available: "linkopts_file"
+ }
+ }
+ feature {
name: "linker_param_file"
flag_set {
action: "c++-link-executable"
@@ -15373,6 +15610,7 @@ toolchain {
implies: "force_pic_flags"
implies: "legacy_link_flags"
implies: "strip_debug_symbols"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "version_min"
implies: "apple_env"
@@ -15396,6 +15634,7 @@ toolchain {
implies: "input_param_flags"
implies: "legacy_link_flags"
implies: "strip_debug_symbols"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "version_min"
implies: "apple_env"
@@ -15412,6 +15651,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -15426,6 +15666,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -15440,6 +15681,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -15454,6 +15696,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -16597,6 +16840,27 @@ toolchain {
}
}
feature {
+ name: "linkopts_file"
+ flag_set {
+ action: "c++-link-executable"
+ action: "c++-link-dynamic-library"
+ flag_group {
+ flag: "-Wl,@%{linkopts_file}"
+ }
+ expand_if_all_available: "linkopts_file"
+ }
+ flag_set {
+ action: "c++-link-static-library"
+ action: "c++-link-alwayslink-static-library"
+ action: "c++-link-pic-static-library"
+ action: "c++-link-alwayslink-pic-static-library"
+ flag_group {
+ flag: "@%{linkopts_file}"
+ }
+ expand_if_all_available: "linkopts_file"
+ }
+ }
+ feature {
name: "linker_param_file"
flag_set {
action: "c++-link-executable"
@@ -17080,6 +17344,7 @@ toolchain {
implies: "force_pic_flags"
implies: "legacy_link_flags"
implies: "strip_debug_symbols"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "version_min"
implies: "apple_env"
@@ -17103,6 +17368,7 @@ toolchain {
implies: "input_param_flags"
implies: "legacy_link_flags"
implies: "strip_debug_symbols"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "version_min"
implies: "apple_env"
@@ -17119,6 +17385,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -17133,6 +17400,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -17147,6 +17415,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}
@@ -17161,6 +17430,7 @@ toolchain {
implies: "runtime_root_flags"
implies: "archiver_flags"
implies: "input_param_flags"
+ implies: "linkopts_file"
implies: "linker_param_file"
implies: "apple_env"
}