Skip to content

Commit a1d7d1f

Browse files
Krishna Erssoncopybara-github
Krishna Ersson
authored andcommitted
Fix alwayslink in objc_import
When `ObjcCommon` was rewritten in Starlark in 4a0cc3b the `archives` list from `objc_import` (passed in via `extra_import_libraries`) got dropped from the `force_load_library` list in `objc_provider`. This fix adds them back so `-force_load` is correctly applied when `alwayslink` is set. Here is the original Java implementation for reference: https://github.com/bazelbuild/bazel/blob/4a0cc3b3f297f8df60022ae977e170148a4c7ae4/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java#L415-L424 This `for` loop is what was omitted in the rewrite and is what is added in this PR: ```java for (Artifact archive : extraImportLibraries) { objcProvider.add(FORCE_LOAD_LIBRARY, archive); } ``` Closes #15313. PiperOrigin-RevId: 455164591 Change-Id: Icc0a5aab26ec150475d82b57549b263418776141
1 parent 5c544f4 commit a1d7d1f

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

src/main/starlark/builtins_bzl/common/objc/objc_common.bzl

+2
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,8 @@ def _create_context_and_provider(
170170
if compilation_artifacts.archive != None:
171171
direct.append(compilation_artifacts.archive)
172172

173+
direct.extend(extra_import_libraries)
174+
173175
objc_provider_kwargs["force_load_library"] = [
174176
depset(
175177
direct = direct,

0 commit comments

Comments
 (0)