Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f253d23e authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge changes from topic "cc_stem"

* changes:
  Remove modules from denylist
  Update runpath for jni libs
  bp2build support for stem
parents 9d1a17d1 cd4d085c
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -837,7 +837,6 @@ var (

		"linker",    // TODO(b/228316882): cc_binary uses link_crt
		"versioner", // TODO(b/228313961):  depends on prebuilt shared library libclang-cpp_host as a shared library, which does not supply expected providers for a shared library
		"tjbench",   // TODO(b/240563612): Stem property

		// requires host tools for apexer
		"apexer_test", "apexer_test_host_tools", "host_apex_verifier",
@@ -1510,9 +1509,6 @@ var (
		"libadb_pairing_connection_static",
		"libadb_pairing_server", "libadb_pairing_server_static",

		// TODO(b/240563612) Needing `stem` selection support for cc_binary
		"crasher",

		// java_import[_host] issues
		// tradefed prebuilts depend on libprotobuf
		"prebuilt_tradefed",
+37 −0
Original line number Diff line number Diff line
@@ -1106,3 +1106,40 @@ func TestCcBinaryWithCfiAndCfiAssemblySupport(t *testing.T) {
		},
	})
}

func TestCcBinaryStem(t *testing.T) {
	runCcBinaryTestCase(t, ccBinaryBp2buildTestCase{
		description: "cc_binary with stem property",
		blueprint: `
cc_binary {
	name: "foo_with_stem_simple",
	stem: "foo",
}
cc_binary {
	name: "foo_with_arch_variant_stem",
	arch: {
		arm: {
			stem: "foo-arm",
		},
		arm64: {
			stem: "foo-arm64",
		},
	},
}
`,
		targets: []testBazelTarget{
			{"cc_binary", "foo_with_stem_simple", AttrNameToString{
				"stem":           `"foo"`,
				"local_includes": `["."]`,
			}},
			{"cc_binary", "foo_with_arch_variant_stem", AttrNameToString{
				"stem": `select({
        "//build/bazel/platforms/arch:arm": "foo-arm",
        "//build/bazel/platforms/arch:arm64": "foo-arm64",
        "//conditions:default": None,
    })`,
				"local_includes": `["."]`,
			}},
		},
	})
}
+39 −0
Original line number Diff line number Diff line
@@ -4812,3 +4812,42 @@ cc_library {
		},
	})
}

func TestCcLibraryWithStem(t *testing.T) {
	runCcLibraryTestCase(t, Bp2buildTestCase{
		Description:                "cc_library with stem property",
		ModuleTypeUnderTest:        "cc_library_shared",
		ModuleTypeUnderTestFactory: cc.LibrarySharedFactory,
		Blueprint: soongCcLibraryPreamble + `
cc_library_shared {
	name: "foo_with_stem_simple",
	stem: "foo",
}
cc_library_shared {
	name: "foo_with_arch_variant_stem",
	arch: {
		arm: {
			stem: "foo-arm",
		},
		arm64: {
			stem: "foo-arm64",
		},
	},
}
`,
		ExpectedBazelTargets: []string{
			MakeBazelTarget("cc_library_shared", "foo_with_stem_simple", AttrNameToString{
				"stem":           `"foo"`,
				"local_includes": `["."]`,
			}),
			MakeBazelTarget("cc_library_shared", "foo_with_arch_variant_stem", AttrNameToString{
				"stem": `select({
        "//build/bazel/platforms/arch:arm": "foo-arm",
        "//build/bazel/platforms/arch:arm64": "foo-arm64",
        "//conditions:default": None,
    })`,
				"local_includes": `["."]`,
			}),
		},
	})
}
+1 −1
Original line number Diff line number Diff line
@@ -68,7 +68,7 @@ func TestJavaBinaryHost(t *testing.T) {
			}),
			MakeBazelTarget("java_binary", "java-binary-host-1", AttrNameToString{
				"main_class": `"com.android.test.MainClass"`,
				"jvm_flags":  `["-Djava.library.path=$${RUNPATH}other"]`,
				"jvm_flags":  `["-Djava.library.path=$${RUNPATH}other/jni-lib-1"]`,
				"target_compatible_with": `select({
        "//build/bazel/platforms/os:android": ["@platforms//:incompatible"],
        "//conditions:default": [],
+8 −0
Original line number Diff line number Diff line
@@ -434,6 +434,7 @@ type compilerAttributes struct {

	features bazel.StringListAttribute

	stem   bazel.StringAttribute
	suffix bazel.StringAttribute

	fdoProfile bazel.LabelAttribute
@@ -819,6 +820,9 @@ func bp2BuildParseBaseProps(ctx android.Bp2buildMutatorContext, module *Module)
						compilerAttrs.stubsVersions.SetSelectValue(axis, cfg, versions)
					}
				}
				if stem := libraryProps.Stem; stem != nil {
					compilerAttrs.stem.SetSelectValue(axis, cfg, stem)
				}
				if suffix := libraryProps.Suffix; suffix != nil {
					compilerAttrs.suffix.SetSelectValue(axis, cfg, suffix)
				}
@@ -1737,6 +1741,7 @@ func bazelLabelForSharedDepsExcludes(ctx android.BazelConversionPathContext, mod

type binaryLinkerAttrs struct {
	Linkshared *bool
	Stem       bazel.StringAttribute
	Suffix     bazel.StringAttribute
}

@@ -1754,6 +1759,9 @@ func bp2buildBinaryLinkerProps(ctx android.BazelConversionPathContext, m *Module
			// nonconfigurable attribute. Only 4 AOSP modules use this feature, defer handling
			ctx.ModuleErrorf("bp2build cannot migrate a module with arch/target-specific static_executable values")
		}
		if stem := linkerProps.Stem; stem != nil {
			attrs.Stem.SetSelectValue(axis, config, stem)
		}
		if suffix := linkerProps.Suffix; suffix != nil {
			attrs.Suffix.SetSelectValue(axis, config, suffix)
		}
Loading