diff --git a/swift/internal/compiling.bzl b/swift/internal/compiling.bzl index f61a08113..991edd66e 100644 --- a/swift/internal/compiling.bzl +++ b/swift/internal/compiling.bzl @@ -1592,6 +1592,8 @@ def _collect_clang_module_inputs( # use include scanning from Starlark, we can't compute a more # precise input set. compilation_context = clang_module.compilation_context + if not compilation_context: + continue transitive_inputs.append(compilation_context.headers) transitive_inputs.append( depset(compilation_context.direct_textual_headers), diff --git a/swift/internal/swift_clang_module_aspect.bzl b/swift/internal/swift_clang_module_aspect.bzl index 2cb271c7c..c736b0fe0 100644 --- a/swift/internal/swift_clang_module_aspect.bzl +++ b/swift/internal/swift_clang_module_aspect.bzl @@ -587,7 +587,9 @@ def _handle_module( else: return [] - compilation_contexts_to_merge_for_compilation = [compilation_context] + compilation_contexts_to_merge_for_compilation = [] + if compilation_context: + compilation_contexts_to_merge_for_compilation.append(compilation_context) # Fold the `strict_includes` from `apple_common.Objc` into the Clang module # descriptor in `SwiftInfo` so that the `Objc` provider doesn't have to be diff --git a/swift/internal/utils.bzl b/swift/internal/utils.bzl index 730464db2..40bfb28da 100644 --- a/swift/internal/utils.bzl +++ b/swift/internal/utils.bzl @@ -110,7 +110,6 @@ def compilation_context_for_explicit_module_compilation( includes = clang.strict_includes, ), ) - return cc_common.merge_compilation_contexts( compilation_contexts = all_compilation_contexts, ) diff --git a/test/explicit_modules_test.bzl b/test/explicit_modules_test.bzl index ba5770565..6015c6829 100644 --- a/test/explicit_modules_test.bzl +++ b/test/explicit_modules_test.bzl @@ -52,40 +52,6 @@ def explicit_modules_test_suite(name): target_compatible_with = ["@platforms//os:macos"], ) - # Verify that the swift_c_module precompiles. - explicit_modules_action_command_line_test( - name = "{}_enabled_c_module_side".format(name), - expected_argv = [ - "-fsystem-module", - "-module-name SwiftShims", - "-emit-pcm", - "-fno-implicit-module-maps", - "-fno-implicit-modules", - ], - mnemonic = "SwiftPrecompileCModule", - tags = [name], - target_under_test = "@build_bazel_rules_swift//test/fixtures/explicit_modules:shims", - target_compatible_with = ["@platforms//os:macos"], - ) - - # Verify that a swift_c_module with dependencies precompiles. - explicit_modules_action_command_line_test( - name = "{}_enabled_c_module_deps".format(name), - expected_argv = [ - "-fsystem-module", - "-fmodule-file=_Builtin_stddef_max_align_t", - "-fmodule-map-file=__BAZEL_XCODE_DEVELOPER_DIR__/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/clang/include/module.modulemap", - "-module-name Darwin", - "-emit-pcm", - "-fno-implicit-module-maps", - "-fno-implicit-modules", - ], - mnemonic = "SwiftPrecompileCModule", - tags = [name], - target_under_test = "@build_bazel_rules_swift//test/fixtures/explicit_modules:Darwin", - target_compatible_with = ["@platforms//os:macos"], - ) - # Verify that the default behavior isn't impacted. implicit_modules_action_command_line_test( name = "{}_disabled_test".format(name), diff --git a/test/fixtures/explicit_modules/BUILD b/test/fixtures/explicit_modules/BUILD index 5ae032abf..6d9228685 100644 --- a/test/fixtures/explicit_modules/BUILD +++ b/test/fixtures/explicit_modules/BUILD @@ -1,4 +1,4 @@ -load("//swift:swift.bzl", "swift_c_module", "swift_library") +load("//swift:swift.bzl", "swift_interop_hint", "swift_library") load("//test/fixtures:common.bzl", "FIXTURE_TAGS") package( @@ -17,26 +17,9 @@ swift_library( deps = [":shims"], ) -swift_c_module( +swift_interop_hint( name = "shims", module_name = "SwiftShims", - system_module_map = "__BAZEL_XCODE_SDKROOT__/usr/lib/swift/shims/module.modulemap", - tags = FIXTURE_TAGS, -) - -swift_c_module( - name = "Darwin", - module_name = "Darwin", - system_module_map = "__BAZEL_XCODE_SDKROOT__/usr/include/module.modulemap", - tags = FIXTURE_TAGS, - deps = [ - ":_Builtin_stddef_max_align_t", - ], -) - -swift_c_module( - name = "_Builtin_stddef_max_align_t", - module_name = "_Builtin_stddef_max_align_t", - system_module_map = "__BAZEL_XCODE_DEVELOPER_DIR__/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/clang/include/module.modulemap", + module_map = "__BAZEL_XCODE_SDKROOT__/usr/lib/swift/shims/module.modulemap", tags = FIXTURE_TAGS, )