Merge "Support test_suite and test_config with sh_test"
diff --git a/android/module.go b/android/module.go
index c5252c8..9a69a26 100644
--- a/android/module.go
+++ b/android/module.go
@@ -383,6 +383,7 @@
&base.nameProperties,
&base.commonProperties,
&base.variableProperties)
+ base.generalProperties = m.GetProperties()
base.customizableProperties = m.GetProperties()
}
diff --git a/android/path_properties.go b/android/path_properties.go
index 5d89709..1a12290 100644
--- a/android/path_properties.go
+++ b/android/path_properties.go
@@ -33,7 +33,7 @@
return
}
- props := m.base().customizableProperties
+ props := m.base().generalProperties
for _, ps := range props {
pathProperties := pathPropertiesForPropertyStruct(ctx, ps)
diff --git a/android/path_properties_test.go b/android/path_properties_test.go
index 6471a3c..ecc2d21 100644
--- a/android/path_properties_test.go
+++ b/android/path_properties_test.go
@@ -25,7 +25,7 @@
ModuleBase
props struct {
Foo string `android:"path"`
- Bar []string `android:"path"`
+ Bar []string `android:"path,arch_variant"`
Baz *string `android:"path"`
Qux string
}
@@ -36,7 +36,7 @@
func pathDepsMutatorTestModuleFactory() Module {
module := &pathDepsMutatorTestModule{}
module.AddProperties(&module.props)
- InitAndroidModule(module)
+ InitAndroidArchModule(module, DeviceSupported, MultilibBoth)
return module
}
@@ -64,6 +64,23 @@
}`,
deps: []string{"a", "b", "c"},
},
+ {
+ name: "arch variant",
+ bp: `
+ test {
+ name: "foo",
+ arch: {
+ arm64: {
+ bar: [":a"],
+ },
+ arm: {
+ bar: [":b"],
+ },
+ },
+ bar: [":c"],
+ }`,
+ deps: []string{"c", "a"},
+ },
}
buildDir, err := ioutil.TempDir("", "soong_path_properties_test")
@@ -74,8 +91,8 @@
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
- config := TestConfig(buildDir, nil)
- ctx := NewTestContext()
+ config := TestArchConfig(buildDir, nil)
+ ctx := NewTestArchContext()
ctx.RegisterModuleType("test", ModuleFactoryAdaptor(pathDepsMutatorTestModuleFactory))
ctx.RegisterModuleType("filegroup", ModuleFactoryAdaptor(FileGroupFactory))
@@ -110,7 +127,7 @@
_, errs = ctx.PrepareBuildActions(config)
FailIfErrored(t, errs)
- m := ctx.ModuleForTests("foo", "").Module().(*pathDepsMutatorTestModule)
+ m := ctx.ModuleForTests("foo", "android_arm64_armv8-a").Module().(*pathDepsMutatorTestModule)
if g, w := m.sourceDeps, test.deps; !reflect.DeepEqual(g, w) {
t.Errorf("want deps %q, got %q", w, g)
diff --git a/androidmk/cmd/androidmk/android.go b/androidmk/cmd/androidmk/android.go
index 1d66ab7..9276eb5 100644
--- a/androidmk/cmd/androidmk/android.go
+++ b/androidmk/cmd/androidmk/android.go
@@ -76,6 +76,8 @@
"LOCAL_ANNOTATION_PROCESSOR_CLASSES": skip, // Soong gets the processor classes from the plugin
"LOCAL_CTS_TEST_PACKAGE": skip, // Obsolete
+ "LOCAL_JACK_ENABLED": skip, // Obselete
+ "LOCAL_JACK_FLAGS": skip, // Obselete
}
// adds a group of properties all having the same type
diff --git a/androidmk/cmd/androidmk/androidmk_test.go b/androidmk/cmd/androidmk/androidmk_test.go
index 2976a0c..e3499d2 100644
--- a/androidmk/cmd/androidmk/androidmk_test.go
+++ b/androidmk/cmd/androidmk/androidmk_test.go
@@ -1094,6 +1094,22 @@
}
`,
},
+ {
+ desc: "blah",
+ in: `
+include $(CLEAR_VARS)
+LOCAL_MODULE := foo
+LOCAL_JACK_ENABLED := incremental
+LOCAL_JACK_FLAGS := --multi-dex native
+include $(BUILD_PACKAGE)
+ `,
+ expected: `
+android_app {
+ name: "foo",
+
+}
+ `,
+ },
}
func TestEndToEnd(t *testing.T) {
diff --git a/cc/binary.go b/cc/binary.go
index 9952943..cae1739 100644
--- a/cc/binary.go
+++ b/cc/binary.go
@@ -437,7 +437,9 @@
// The original path becomes a symlink to the corresponding file in the
// runtime APEX.
if isBionic(ctx.baseModuleName()) && ctx.Arch().Native && ctx.apexName() == "" && !ctx.inRecovery() {
- binary.installSymlinkToRuntimeApex(ctx, file)
+ if ctx.Device() {
+ binary.installSymlinkToRuntimeApex(ctx, file)
+ }
binary.baseInstaller.subDir = "bootstrap"
}
binary.baseInstaller.install(ctx, file)
diff --git a/cc/config/clang.go b/cc/config/clang.go
index 6a1c736..a57bbf8 100644
--- a/cc/config/clang.go
+++ b/cc/config/clang.go
@@ -174,6 +174,10 @@
// Disable this warning because we don't care about behavior with older compilers.
"-Wno-return-std-move-in-c++11",
+
+ // Disable -Wstring-plus-int until the instances detected by this new warning is
+ // fixed.
+ "-Wno-string-plus-int",
}, " "))
// Extra cflags for projects under external/ directory
diff --git a/cc/config/global.go b/cc/config/global.go
index 689b315..e3fab0c 100644
--- a/cc/config/global.go
+++ b/cc/config/global.go
@@ -120,8 +120,8 @@
// prebuilts/clang default settings.
ClangDefaultBase = "prebuilts/clang/host"
- ClangDefaultVersion = "clang-r349610"
- ClangDefaultShortVersion = "8.0.8"
+ ClangDefaultVersion = "clang-r353983"
+ ClangDefaultShortVersion = "9.0.1"
// Directories with warnings from Android.bp files.
WarningAllowedProjects = []string{
diff --git a/cc/library.go b/cc/library.go
index 6404906..5df5112 100644
--- a/cc/library.go
+++ b/cc/library.go
@@ -920,7 +920,9 @@
// The original path becomes a symlink to the corresponding file in the
// runtime APEX.
if isBionic(ctx.baseModuleName()) && !library.buildStubs() && ctx.Arch().Native && !ctx.inRecovery() {
- library.installSymlinkToRuntimeApex(ctx, file)
+ if ctx.Device() {
+ library.installSymlinkToRuntimeApex(ctx, file)
+ }
library.baseInstaller.subDir = "bootstrap"
}
}
diff --git a/cc/lto.go b/cc/lto.go
index 6302748..0d7a246 100644
--- a/cc/lto.go
+++ b/cc/lto.go
@@ -83,8 +83,7 @@
if lto.LTO() {
var ltoFlag string
if Bool(lto.Properties.Lto.Thin) {
- ltoFlag = "-flto=thin"
-
+ ltoFlag = "-flto=thin -fsplit-lto-unit"
} else {
ltoFlag = "-flto"
}