Loading bp2build/cc_library_static_conversion_test.go +1 −7 Original line number Diff line number Diff line Loading @@ -1419,13 +1419,7 @@ cc_library_static { } `, ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "all", AttrNameToString{ "implementation_dynamic_deps": `select({ "//build/bazel/platforms/os:android": [], "//build/bazel/platforms/os:linux_bionic": [], "//conditions:default": [":libc"], })`, }), MakeBazelTarget("cc_library_static", "all", AttrNameToString{}), MakeBazelTarget("cc_library_static", "keep_for_empty_system_shared_libs", AttrNameToString{ "implementation_dynamic_deps": `[":libc"]`, "system_dynamic_deps": `[]`, Loading cc/bp2build.go +4 −1 Original line number Diff line number Diff line Loading @@ -1084,9 +1084,12 @@ func (la *linkerAttributes) convertProductVariables(ctx android.BazelConversionP func (la *linkerAttributes) finalize(ctx android.BazelConversionPathContext) { // if system dynamic deps have the default value, any use of a system dynamic library used will // result in duplicate library errors for bionic OSes. Here, we explicitly exclude those libraries // from bionic OSes. // from bionic OSes and the no config case as these libraries only build for bionic OSes. if la.systemDynamicDeps.IsNil() && len(la.usedSystemDynamicDepAsDynamicDep) > 0 { toRemove := bazelLabelForSharedDeps(ctx, android.SortedStringKeys(la.usedSystemDynamicDepAsDynamicDep)) la.dynamicDeps.Exclude(bazel.NoConfigAxis, "", toRemove) la.implementationDynamicDeps.Exclude(bazel.NoConfigAxis, "", toRemove) la.implementationDynamicDeps.Exclude(bazel.NoConfigAxis, "", toRemove) la.dynamicDeps.Exclude(bazel.OsConfigurationAxis, "android", toRemove) la.dynamicDeps.Exclude(bazel.OsConfigurationAxis, "linux_bionic", toRemove) la.implementationDynamicDeps.Exclude(bazel.OsConfigurationAxis, "android", toRemove) Loading Loading
bp2build/cc_library_static_conversion_test.go +1 −7 Original line number Diff line number Diff line Loading @@ -1419,13 +1419,7 @@ cc_library_static { } `, ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "all", AttrNameToString{ "implementation_dynamic_deps": `select({ "//build/bazel/platforms/os:android": [], "//build/bazel/platforms/os:linux_bionic": [], "//conditions:default": [":libc"], })`, }), MakeBazelTarget("cc_library_static", "all", AttrNameToString{}), MakeBazelTarget("cc_library_static", "keep_for_empty_system_shared_libs", AttrNameToString{ "implementation_dynamic_deps": `[":libc"]`, "system_dynamic_deps": `[]`, Loading
cc/bp2build.go +4 −1 Original line number Diff line number Diff line Loading @@ -1084,9 +1084,12 @@ func (la *linkerAttributes) convertProductVariables(ctx android.BazelConversionP func (la *linkerAttributes) finalize(ctx android.BazelConversionPathContext) { // if system dynamic deps have the default value, any use of a system dynamic library used will // result in duplicate library errors for bionic OSes. Here, we explicitly exclude those libraries // from bionic OSes. // from bionic OSes and the no config case as these libraries only build for bionic OSes. if la.systemDynamicDeps.IsNil() && len(la.usedSystemDynamicDepAsDynamicDep) > 0 { toRemove := bazelLabelForSharedDeps(ctx, android.SortedStringKeys(la.usedSystemDynamicDepAsDynamicDep)) la.dynamicDeps.Exclude(bazel.NoConfigAxis, "", toRemove) la.implementationDynamicDeps.Exclude(bazel.NoConfigAxis, "", toRemove) la.implementationDynamicDeps.Exclude(bazel.NoConfigAxis, "", toRemove) la.dynamicDeps.Exclude(bazel.OsConfigurationAxis, "android", toRemove) la.dynamicDeps.Exclude(bazel.OsConfigurationAxis, "linux_bionic", toRemove) la.implementationDynamicDeps.Exclude(bazel.OsConfigurationAxis, "android", toRemove) Loading