Skip to content

Commit af736a8

Browse files
authored
Fix derive files with bitcode (bazelbuild#509)
1 parent af9eb15 commit af736a8

File tree

3 files changed

+70
-2
lines changed

3 files changed

+70
-2
lines changed

swift/internal/xcode_swift_toolchain.bzl

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,6 @@ def _all_action_configs(
319319
swift_toolchain_config.action_config(
320320
actions = [
321321
swift_action_names.COMPILE,
322-
swift_action_names.DERIVE_FILES,
323322
swift_action_names.PRECOMPILE_C_MODULE,
324323
],
325324
configurators = [swift_toolchain_config.add_arg("-embed-bitcode")],
@@ -328,7 +327,6 @@ def _all_action_configs(
328327
swift_toolchain_config.action_config(
329328
actions = [
330329
swift_action_names.COMPILE,
331-
swift_action_names.DERIVE_FILES,
332330
swift_action_names.PRECOMPILE_C_MODULE,
333331
],
334332
configurators = [

test/BUILD

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,11 @@ bzl_library(
3232
"//test/rules:starlark_tests_bzls",
3333
],
3434
)
35+
36+
# TODO: Remove once https://github.com/bazelbuild/bazel/pull/10945 lands
37+
config_setting(
38+
name = "linux",
39+
constraint_values = [
40+
"@bazel_tools//platforms:linux",
41+
],
42+
)

test/split_derived_files_tests.bzl

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,22 @@ split_swiftmodule_indexing_test = make_action_command_line_test_rule(
6464
],
6565
},
6666
)
67+
split_swiftmodule_bitcode_test = make_action_command_line_test_rule(
68+
config_settings = {
69+
"//command_line_option:apple_bitcode": "embedded",
70+
"//command_line_option:features": [
71+
"swift.split_derived_files_generation",
72+
],
73+
},
74+
)
75+
split_swiftmodule_bitcode_markers_test = make_action_command_line_test_rule(
76+
config_settings = {
77+
"//command_line_option:apple_bitcode": "embedded_markers",
78+
"//command_line_option:features": [
79+
"swift.split_derived_files_generation",
80+
],
81+
},
82+
)
6783

6884
def split_derived_files_test_suite(name = "split_derived_files"):
6985
"""Test suite for split derived files options.
@@ -256,6 +272,52 @@ def split_derived_files_test_suite(name = "split_derived_files"):
256272
target_under_test = "@build_bazel_rules_swift//test/fixtures/debug_settings:simple",
257273
)
258274

275+
split_swiftmodule_bitcode_test(
276+
name = "{}_bitcode_compile".format(name),
277+
expected_argv = select({
278+
"//test:linux": [],
279+
"//conditions:default": [
280+
"-embed-bitcode",
281+
],
282+
}),
283+
mnemonic = "SwiftCompile",
284+
tags = [name],
285+
target_under_test = "@build_bazel_rules_swift//test/fixtures/debug_settings:simple",
286+
)
287+
288+
split_swiftmodule_bitcode_test(
289+
name = "{}_bitcode_derive_files".format(name),
290+
not_expected_argv = [
291+
"-embed-bitcode",
292+
],
293+
mnemonic = "SwiftDeriveFiles",
294+
tags = [name],
295+
target_under_test = "@build_bazel_rules_swift//test/fixtures/debug_settings:simple",
296+
)
297+
298+
split_swiftmodule_bitcode_markers_test(
299+
name = "{}_bitcode_markers_compile".format(name),
300+
expected_argv = select({
301+
"//test:linux": [],
302+
"//conditions:default": [
303+
"-embed-bitcode-marker",
304+
],
305+
}),
306+
mnemonic = "SwiftCompile",
307+
tags = [name],
308+
target_under_test = "@build_bazel_rules_swift//test/fixtures/debug_settings:simple",
309+
)
310+
311+
split_swiftmodule_bitcode_markers_test(
312+
name = "{}_bitcode_markers_derive_files".format(name),
313+
not_expected_argv = [
314+
"-embed-bitcode-marker",
315+
],
316+
mnemonic = "SwiftDeriveFiles",
317+
tags = [name],
318+
target_under_test = "@build_bazel_rules_swift//test/fixtures/debug_settings:simple",
319+
)
320+
259321
native.test_suite(
260322
name = name,
261323
tags = [name],

0 commit comments

Comments
 (0)