Skip to content

Commit 64062ec

Browse files
committed
Merge remote-tracking branch 'origin/main' into martin4861/bazel-compiler-flags-with-tests
2 parents d2468a5 + 1ae7bb5 commit 64062ec

File tree

24 files changed

+179
-54
lines changed

24 files changed

+179
-54
lines changed

MODULE.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
module(
1212
name = "rules_swiftnav",
13-
version = "0.7.0",
13+
version = "0.9.0",
1414
compatibility_level = 1,
1515
)
1616

MODULE.bazel.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cc/BUILD.bazel

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -219,15 +219,6 @@ config_setting(
219219
visibility = ["//visibility:public"],
220220
)
221221

222-
config_setting(
223-
name = "_enable_bzlmod_not_libcpp",
224-
flag_values = {
225-
":enable_bzlmod": "true",
226-
":use_libcpp": "false",
227-
},
228-
visibility = ["//visibility:public"],
229-
)
230-
231222
py_binary(
232223
name = "fix_include_guards",
233224
srcs = [

cc/constraints/BUILD.bazel

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,13 @@ constraint_value(
2020
)
2121

2222
constraint_value(
23-
name = "gcc_11_system_toolchain",
24-
constraint_setting = ":toolchain",
23+
name = "x86_64_linux_gcc11_system_toolchain",
24+
constraint_setting = ":toolchain",
25+
)
26+
27+
constraint_value(
28+
name = "gcc_12_system_toolchain",
29+
constraint_setting = ":toolchain",
2530
)
2631

2732
constraint_value(

cc/defs.bzl

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -579,6 +579,33 @@ def swift_cc_tool(**kwargs):
579579

580580
native.cc_binary(**kwargs)
581581

582+
def swift_c_test_library(**kwargs):
583+
"""Wraps cc_library to enforce Swift test library conventions.
584+
585+
Args:
586+
**kwargs: See https://bazel.build/reference/be/c-cpp#cc_library
587+
588+
The following additional attributes are supported:
589+
590+
local_includes: List of local (non-public) include paths. Prefer
591+
this to passing local includes using copts. Paths are expected to
592+
be relative to the package this macro is called from.
593+
"""
594+
595+
_ = kwargs.pop("nocopts", []) # To handle API compatibility.
596+
597+
local_includes = _construct_local_includes(kwargs.pop("local_includes", []))
598+
599+
extensions = kwargs.pop("extensions", False)
600+
standard = kwargs.pop("standard", 99)
601+
602+
kwargs["copts"] = local_includes + kwargs.get("copts", []) + _tests_warn_deprecated_declarations() + _c_standard(extensions, standard)
603+
kwargs["linkstatic"] = kwargs.get("linkstatic", True)
604+
kwargs["tags"] = [TEST_LIBRARY] + kwargs.get("tags", [])
605+
kwargs["target_compatible_with"] = kwargs.get("target_compatible_with", []) + _test_compatible_with()
606+
607+
native.cc_library(**kwargs)
608+
582609
def swift_cc_test_library(**kwargs):
583610
"""Wraps cc_library to enforce Swift test library conventions.
584611

cc/toolchains/llvm/aarch64-darwin/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ cc_toolchain_config(
118118
"strip": "wrappers/llvm-strip",
119119
},
120120
toolchain_identifier = "clang-aarch64-darwin",
121-
toolchain_path_prefix = "external/aarch64-darwin-llvm",
121+
toolchain_path_prefix = "external/rules_swiftnav++swift_cc_toolchain_extension+aarch64-darwin-llvm",
122122
use_lld = False,
123123
)
124124

cc/toolchains/llvm/aarch64-linux/BUILD.bazel

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,7 @@ cc_toolchain_config(
117117
abi_version = "clang",
118118
builtin_sysroot = select({
119119
"@rules_swiftnav//cc:_use_libcpp": None,
120-
# When bzlmod is enabled but libcpp is not, use the bzlmod path
121-
"@rules_swiftnav//cc:_enable_bzlmod_not_libcpp": "external/rules_swiftnav++swift_cc_toolchain_extension+aarch64-sysroot",
122-
"//conditions:default": "external/aarch64-sysroot",
120+
"//conditions:default": "external/rules_swiftnav++swift_cc_toolchain_extension+aarch64-sysroot",
123121
}),
124122
compiler = "clang",
125123
cxx_builtin_include_directories = select({
@@ -148,7 +146,7 @@ cc_toolchain_config(
148146
"strip": "wrappers/llvm-strip",
149147
},
150148
toolchain_identifier = "clang-aarch64-linux",
151-
toolchain_path_prefix = "external/aarch64-linux-llvm",
149+
toolchain_path_prefix = "external/rules_swiftnav++swift_cc_toolchain_extension+aarch64-linux-llvm",
152150
)
153151

154152
cc_toolchain(

cc/toolchains/llvm/x86_64-aarch64-linux/BUILD.bazel

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,9 +103,7 @@ cc_toolchain_config(
103103
abi_version = "clang",
104104
builtin_sysroot = select({
105105
"@rules_swiftnav//cc:_use_libcpp": None,
106-
# When bzlmod is enabled but libcpp is not, use the bzlmod path
107-
"@rules_swiftnav//cc:_enable_bzlmod_not_libcpp": "external/rules_swiftnav++swift_cc_toolchain_extension+aarch64-sysroot",
108-
"//conditions:default": "external/aarch64-sysroot",
106+
"//conditions:default": "external/rules_swiftnav++swift_cc_toolchain_extension+aarch64-sysroot",
109107
}),
110108
compiler = "clang",
111109
cxx_builtin_include_directories = [
@@ -134,7 +132,7 @@ cc_toolchain_config(
134132
"strip": "wrappers/llvm-strip",
135133
},
136134
toolchain_identifier = "clang-x86_64-linux",
137-
toolchain_path_prefix = "external/x86_64-linux-llvm",
135+
toolchain_path_prefix = "external/rules_swiftnav++swift_cc_toolchain_extension+x86_64-linux-llvm",
138136
)
139137

140138
cc_toolchain(

cc/toolchains/llvm/x86_64-darwin/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ cc_toolchain_config(
119119
"strip": "wrappers/llvm-strip",
120120
},
121121
toolchain_identifier = "clang-x86_64-darwin",
122-
toolchain_path_prefix = "external/x86_64-darwin-llvm",
122+
toolchain_path_prefix = "external/rules_swiftnav++swift_cc_toolchain_extension+x86_64-darwin-llvm",
123123
)
124124

125125
cc_toolchain(

cc/toolchains/llvm/x86_64-linux/BUILD.bazel

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,7 @@ cc_toolchain_config(
117117
abi_version = "clang",
118118
builtin_sysroot = select({
119119
"@rules_swiftnav//cc:_use_libcpp": None,
120-
# When bzlmod is enabled but libcpp is not, use the bzlmod path
121-
"@rules_swiftnav//cc:_enable_bzlmod_not_libcpp": "external/rules_swiftnav++swift_cc_toolchain_extension+x86_64-sysroot",
122-
"//conditions:default": "external/x86_64-sysroot",
120+
"//conditions:default": "external/rules_swiftnav++swift_cc_toolchain_extension+x86_64-sysroot",
123121
}),
124122
compiler = "clang",
125123
cxx_builtin_include_directories = select({
@@ -148,7 +146,7 @@ cc_toolchain_config(
148146
"strip": "wrappers/llvm-strip",
149147
},
150148
toolchain_identifier = "clang-x86_64-linux",
151-
toolchain_path_prefix = "external/x86_64-linux-llvm",
149+
toolchain_path_prefix = "external/rules_swiftnav++swift_cc_toolchain_extension+x86_64-linux-llvm",
152150
)
153151

154152
cc_toolchain(

0 commit comments

Comments
 (0)