Loading bp2build/cc_library_shared_conversion_test.go +12 −4 Original line number Diff line number Diff line Loading @@ -338,22 +338,30 @@ cc_library_shared { }) } func TestCcLibrarySharedVersionScript(t *testing.T) { func TestCcLibrarySharedVersionScriptAndDynamicList(t *testing.T) { runCcLibrarySharedTestCase(t, Bp2buildTestCase{ Description: "cc_library_shared version script", Description: "cc_library_shared version script and dynamic list", Filesystem: map[string]string{ "version_script": "", "dynamic.list": "", }, Blueprint: soongCcLibrarySharedPreamble + ` cc_library_shared { name: "foo_shared", version_script: "version_script", dynamic_list: "dynamic.list", include_build_directory: false, }`, ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_shared", "foo_shared", AttrNameToString{ "additional_linker_inputs": `["version_script"]`, "linkopts": `["-Wl,--version-script,$(location version_script)"]`, "additional_linker_inputs": `[ "version_script", "dynamic.list", ]`, "linkopts": `[ "-Wl,--version-script,$(location version_script)", "-Wl,--dynamic-list,$(location dynamic.list)", ]`, }), }, }) Loading cc/bp2build.go +4 −2 Original line number Diff line number Diff line Loading @@ -1031,18 +1031,20 @@ func (la *linkerAttributes) bp2buildForAxisAndConfig(ctx android.BazelConversion axisFeatures = append(axisFeatures, "-static_flag") } } additionalLinkerInputs := bazel.LabelList{} if props.Version_script != nil { label := android.BazelLabelForModuleSrcSingle(ctx, *props.Version_script) la.additionalLinkerInputs.SetSelectValue(axis, config, bazel.LabelList{Includes: []bazel.Label{label}}) additionalLinkerInputs.Add(&label) linkerFlags = append(linkerFlags, fmt.Sprintf("-Wl,--version-script,$(location %s)", label.Label)) } if props.Dynamic_list != nil { label := android.BazelLabelForModuleSrcSingle(ctx, *props.Dynamic_list) la.additionalLinkerInputs.SetSelectValue(axis, config, bazel.LabelList{Includes: []bazel.Label{label}}) additionalLinkerInputs.Add(&label) linkerFlags = append(linkerFlags, fmt.Sprintf("-Wl,--dynamic-list,$(location %s)", label.Label)) } la.additionalLinkerInputs.SetSelectValue(axis, config, additionalLinkerInputs) la.linkopts.SetSelectValue(axis, config, parseCommandLineFlags(linkerFlags, false, filterOutClangUnknownCflags)) la.useLibcrt.SetSelectValue(axis, config, props.libCrt()) Loading Loading
bp2build/cc_library_shared_conversion_test.go +12 −4 Original line number Diff line number Diff line Loading @@ -338,22 +338,30 @@ cc_library_shared { }) } func TestCcLibrarySharedVersionScript(t *testing.T) { func TestCcLibrarySharedVersionScriptAndDynamicList(t *testing.T) { runCcLibrarySharedTestCase(t, Bp2buildTestCase{ Description: "cc_library_shared version script", Description: "cc_library_shared version script and dynamic list", Filesystem: map[string]string{ "version_script": "", "dynamic.list": "", }, Blueprint: soongCcLibrarySharedPreamble + ` cc_library_shared { name: "foo_shared", version_script: "version_script", dynamic_list: "dynamic.list", include_build_directory: false, }`, ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_shared", "foo_shared", AttrNameToString{ "additional_linker_inputs": `["version_script"]`, "linkopts": `["-Wl,--version-script,$(location version_script)"]`, "additional_linker_inputs": `[ "version_script", "dynamic.list", ]`, "linkopts": `[ "-Wl,--version-script,$(location version_script)", "-Wl,--dynamic-list,$(location dynamic.list)", ]`, }), }, }) Loading
cc/bp2build.go +4 −2 Original line number Diff line number Diff line Loading @@ -1031,18 +1031,20 @@ func (la *linkerAttributes) bp2buildForAxisAndConfig(ctx android.BazelConversion axisFeatures = append(axisFeatures, "-static_flag") } } additionalLinkerInputs := bazel.LabelList{} if props.Version_script != nil { label := android.BazelLabelForModuleSrcSingle(ctx, *props.Version_script) la.additionalLinkerInputs.SetSelectValue(axis, config, bazel.LabelList{Includes: []bazel.Label{label}}) additionalLinkerInputs.Add(&label) linkerFlags = append(linkerFlags, fmt.Sprintf("-Wl,--version-script,$(location %s)", label.Label)) } if props.Dynamic_list != nil { label := android.BazelLabelForModuleSrcSingle(ctx, *props.Dynamic_list) la.additionalLinkerInputs.SetSelectValue(axis, config, bazel.LabelList{Includes: []bazel.Label{label}}) additionalLinkerInputs.Add(&label) linkerFlags = append(linkerFlags, fmt.Sprintf("-Wl,--dynamic-list,$(location %s)", label.Label)) } la.additionalLinkerInputs.SetSelectValue(axis, config, additionalLinkerInputs) la.linkopts.SetSelectValue(axis, config, parseCommandLineFlags(linkerFlags, false, filterOutClangUnknownCflags)) la.useLibcrt.SetSelectValue(axis, config, props.libCrt()) Loading