Merge pull request #12109 from deannagarcia/cherrypickOSX

Cherrypick osx static linking fix
deannagarcia-patch-3
deannagarcia 2 years ago committed by GitHub
commit 4c3d093ec6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      BUILD.bazel
  2. 20
      build_defs/BUILD.bazel
  3. 1
      toolchain/cc_toolchain_config.bzl

@ -179,7 +179,7 @@ cc_binary(
linkopts = LINK_OPTS,
features = select({
# This isn't possible on mac because there is no static library for lcrt0.o
"@platforms//os:osx": [],
"//build_defs:config_osx": [],
# When cross-compiling we need to statically link all C++ libraries.
"//conditions:default": ["fully_static_link"],
}),

@ -1,5 +1,6 @@
# Internal Starlark definitions for Protobuf.
load("@bazel_skylib//lib:selects.bzl", "selects")
load("@rules_cc//cc:defs.bzl", starlark_cc_proto_library = "cc_proto_library")
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
load(":cc_proto_blacklist_test.bzl", "cc_proto_blacklist_test")
@ -83,6 +84,25 @@ config_setting(
},
)
config_setting(
name = "config_osx_aarch64",
values = {"cpu": "osx-aarch_64"},
)
config_setting(
name = "config_osx_x86_64",
values = {"cpu": "osx-aarch_64"},
)
selects.config_setting_group(
name = "config_osx",
match_any = [
"@platforms//os:osx",
":config_osx_aarch64",
":config_osx_x86_64",
]
)
# Internal testing:
starlark_cc_proto_library(

@ -98,6 +98,7 @@ def _impl(ctx):
flags = [
"-B" + ctx.attr.linker_path,
"-lstdc++",
"-lm",
"--target=" + ctx.attr.target_full_name,
] + ctx.attr.extra_linker_flags,
),

Loading…
Cancel
Save