android: Add host_cross_supported prop
Some modules are only intended to be build for the build host, e.g. rust_library modules only used in rust_proc_macro or code generators. These should not be expected to be built for or supported on non-build host platforms. Thus, add a host_cross_supported property to disable the HostCross target. Test: m blueprint_tests Test: Modules with host_cross_supported: false don't build for HostCross Change-Id: Ia15f55776e04d86aee19bb0dd0d27e1b985b2b75
This commit is contained in:
@@ -331,6 +331,12 @@ func TestArchMutator(t *testing.T) {
|
||||
host_supported: true,
|
||||
}
|
||||
|
||||
module {
|
||||
name: "nohostcross",
|
||||
host_supported: true,
|
||||
host_cross_supported: false,
|
||||
}
|
||||
|
||||
module {
|
||||
name: "baz",
|
||||
device_supported: false,
|
||||
@@ -355,13 +361,14 @@ func TestArchMutator(t *testing.T) {
|
||||
`
|
||||
|
||||
testCases := []struct {
|
||||
name string
|
||||
preparer FixturePreparer
|
||||
fooVariants []string
|
||||
barVariants []string
|
||||
bazVariants []string
|
||||
quxVariants []string
|
||||
firstVariants []string
|
||||
name string
|
||||
preparer FixturePreparer
|
||||
fooVariants []string
|
||||
barVariants []string
|
||||
noHostCrossVariants []string
|
||||
bazVariants []string
|
||||
quxVariants []string
|
||||
firstVariants []string
|
||||
|
||||
multiTargetVariants []string
|
||||
multiTargetVariantsMap map[string][]string
|
||||
@@ -373,6 +380,7 @@ func TestArchMutator(t *testing.T) {
|
||||
preparer: nil,
|
||||
fooVariants: []string{"android_arm64_armv8-a", "android_arm_armv7-a-neon"},
|
||||
barVariants: append(buildOSVariants, "android_arm64_armv8-a", "android_arm_armv7-a-neon"),
|
||||
noHostCrossVariants: append(buildOSVariants, "android_arm64_armv8-a", "android_arm_armv7-a-neon"),
|
||||
bazVariants: nil,
|
||||
quxVariants: append(buildOS32Variants, "android_arm_armv7-a-neon"),
|
||||
firstVariants: append(buildOS64Variants, "android_arm64_armv8-a"),
|
||||
@@ -390,6 +398,7 @@ func TestArchMutator(t *testing.T) {
|
||||
}),
|
||||
fooVariants: nil,
|
||||
barVariants: buildOSVariants,
|
||||
noHostCrossVariants: buildOSVariants,
|
||||
bazVariants: nil,
|
||||
quxVariants: buildOS32Variants,
|
||||
firstVariants: buildOS64Variants,
|
||||
@@ -406,6 +415,7 @@ func TestArchMutator(t *testing.T) {
|
||||
}),
|
||||
fooVariants: []string{"android_arm64_armv8-a", "android_arm_armv7-a-neon"},
|
||||
barVariants: []string{"linux_musl_x86_64", "linux_musl_arm64", "linux_musl_x86", "android_arm64_armv8-a", "android_arm_armv7-a-neon"},
|
||||
noHostCrossVariants: []string{"linux_musl_x86_64", "linux_musl_x86", "android_arm64_armv8-a", "android_arm_armv7-a-neon"},
|
||||
bazVariants: nil,
|
||||
quxVariants: []string{"linux_musl_x86", "android_arm_armv7-a-neon"},
|
||||
firstVariants: []string{"linux_musl_x86_64", "linux_musl_arm64", "android_arm64_armv8-a"},
|
||||
@@ -461,6 +471,10 @@ func TestArchMutator(t *testing.T) {
|
||||
t.Errorf("want bar variants:\n%q\ngot:\n%q\n", w, g)
|
||||
}
|
||||
|
||||
if g, w := enabledVariants(ctx, "nohostcross"), tt.noHostCrossVariants; !reflect.DeepEqual(w, g) {
|
||||
t.Errorf("want nohostcross variants:\n%q\ngot:\n%q\n", w, g)
|
||||
}
|
||||
|
||||
if g, w := enabledVariants(ctx, "baz"), tt.bazVariants; !reflect.DeepEqual(w, g) {
|
||||
t.Errorf("want baz variants:\n%q\ngot:\n%q\n", w, g)
|
||||
}
|
||||
|
Reference in New Issue
Block a user