blob: 9cc6d2fd9b5d18214fac9479d4300c47673da7a3 [file] [log] [blame] [edit]
load("//cc/toolchains:args.bzl", "cc_args")
load("//cc/toolchains:feature.bzl", "cc_feature")
cc_feature(
name = "feature",
args = select({
"@platforms//os:macos": [":macos_set_install_name"],
"//conditions:default": [],
}),
feature_name = "_soname_flags", # Doesn't override legacy feature, but shouldn't be disabled
visibility = ["//cc/toolchains/args:__pkg__"],
)
cc_args(
name = "macos_set_install_name",
actions = ["//cc/toolchains/actions:link_actions"],
args = ["-Wl,-install_name,@rpath/{runtime_solib_name}"],
format = {"runtime_solib_name": "//cc/toolchains/variables:runtime_solib_name"},
requires_not_none = "//cc/toolchains/variables:runtime_solib_name",
target_compatible_with = ["@platforms//os:macos"],
)
cc_args(
name = "set_soname",
actions = ["//cc/toolchains/actions:link_actions"],
args = ["-Wl,-soname,{runtime_solib_name}"],
format = {"runtime_solib_name": "//cc/toolchains/variables:runtime_solib_name"},
requires_not_none = "//cc/toolchains/variables:runtime_solib_name",
target_compatible_with = ["@platforms//os:linux"],
visibility = ["//visibility:public"],
)