Merge "zip2zip: Support sorting globbed arguments, '**'"
diff --git a/OWNERS b/OWNERS
new file mode 100644
index 0000000..89b446a
--- /dev/null
+++ b/OWNERS
@@ -0,0 +1,2 @@
+ccross@android.com
+dwillemsen@google.com
diff --git a/build_test.bash b/build_test.bash
index f833366..ab841cb 100755
--- a/build_test.bash
+++ b/build_test.bash
@@ -30,5 +30,11 @@
export TOP=$(cd $(dirname ${BASH_SOURCE[0]})/../..; PWD= /bin/pwd)
source "${TOP}/build/soong/cmd/microfactory/microfactory.bash"
+case $(uname) in
+ Linux)
+ export LD_PRELOAD=/lib/x86_64-linux-gnu/libSegFault.so
+ ;;
+esac
+
build_go multiproduct_kati android/soong/cmd/multiproduct_kati
exec "$(getoutdir)/multiproduct_kati" "$@"
diff --git a/cc/linker.go b/cc/linker.go
index 5a3b478..2c39132 100644
--- a/cc/linker.go
+++ b/cc/linker.go
@@ -87,6 +87,14 @@
// group static libraries. This can resolve missing symbols issues with interdependencies
// between static libraries, but it is generally better to order them correctly instead.
Group_static_libs *bool `android:"arch_variant"`
+
+ Target struct {
+ Vendor struct {
+ // list of shared libs that should not be used to build
+ // the vendor variant of the C/C++ module.
+ Exclude_shared_libs []string
+ }
+ }
}
func NewBaseLinker() *baseLinker {
@@ -123,6 +131,10 @@
deps.StaticLibs = append(deps.StaticLibs, linker.Properties.Static_libs...)
deps.SharedLibs = append(deps.SharedLibs, linker.Properties.Shared_libs...)
+ if ctx.vndk() {
+ deps.SharedLibs = removeListFromList(deps.SharedLibs, linker.Properties.Target.Vendor.Exclude_shared_libs)
+ }
+
deps.ReexportHeaderLibHeaders = append(deps.ReexportHeaderLibHeaders, linker.Properties.Export_header_lib_headers...)
deps.ReexportStaticLibHeaders = append(deps.ReexportStaticLibHeaders, linker.Properties.Export_static_lib_headers...)
deps.ReexportSharedLibHeaders = append(deps.ReexportSharedLibHeaders, linker.Properties.Export_shared_lib_headers...)
diff --git a/cc/util.go b/cc/util.go
index d9cd6f7..eeb64eb 100644
--- a/cc/util.go
+++ b/cc/util.go
@@ -66,6 +66,16 @@
return
}
+func removeListFromList(list []string, filter_out []string) (result []string) {
+ result = make([]string, 0, len(list))
+ for _, l := range list {
+ if !inList(l, filter_out) {
+ result = append(result, l)
+ }
+ }
+ return
+}
+
func removeFromList(s string, list []string) (bool, []string) {
i := indexList(s, list)
if i != -1 {
diff --git a/ui/build/kati.go b/ui/build/kati.go
index 972b559..48c38d4 100644
--- a/ui/build/kati.go
+++ b/ui/build/kati.go
@@ -74,6 +74,7 @@
"--detect_android_echo",
"--color_warnings",
"--gen_all_targets",
+ "--werror_find_emulator",
"-f", "build/core/main.mk",
}