From a0e75045e6817a51e4e6b05880d871525a4d52fe Mon Sep 17 00:00:00 2001 From: Jiyong Park Date: Thu, 24 May 2018 14:11:00 +0900 Subject: [PATCH] Build adbd for recovery adbd (and its dependencies) are marked as recovery_available:true so that recovery version of the binary is built separately from the one for system partition. This allows us to stop copying the system version to the recovery partition and also opens up the way to enable shared libraries in the recovery partition. Then we can also build adbd as a dynamic executable. Bug: 79146551 Test: m -j adbd.recovery Change-Id: Ib95614c7435f9d0afc02a0c7d5ae1a94e439e32a --- adb/Android.bp | 2 ++ base/Android.bp | 1 + debuggerd/Android.bp | 4 ++++ demangle/Android.bp | 1 + diagnose_usb/Android.bp | 1 + fs_mgr/Android.bp | 2 ++ libasyncio/Android.bp | 1 + libbacktrace/Android.bp | 7 +++++-- libcrypto_utils/Android.bp | 1 + libkeyutils/Android.bp | 1 + libprocinfo/Android.bp | 1 + libsparse/Android.bp | 1 + libunwindstack/Android.bp | 9 +++++++++ logwrapper/Android.bp | 1 + qemu_pipe/Android.bp | 1 + 15 files changed, 32 insertions(+), 2 deletions(-) diff --git a/adb/Android.bp b/adb/Android.bp index 1f41e4f3f..ee1bdaa29 100644 --- a/adb/Android.bp +++ b/adb/Android.bp @@ -276,6 +276,7 @@ cc_binary_host { cc_library_static { name: "libadbd", defaults: ["adb_defaults"], + recovery_available: true, // libminadbd wants both, for some reason. compile_multilib: "both", @@ -302,6 +303,7 @@ cc_binary { // adbd must be static, as it is copied into the recovery image. static_executable: true, + recovery_available: true, srcs: [ "daemon/main.cpp", diff --git a/base/Android.bp b/base/Android.bp index 47b29c6a6..71bf1540c 100644 --- a/base/Android.bp +++ b/base/Android.bp @@ -95,6 +95,7 @@ cc_library { name: "libbase", defaults: ["libbase_defaults"], vendor_available: true, + recovery_available: true, host_supported: true, vndk: { enabled: true, diff --git a/debuggerd/Android.bp b/debuggerd/Android.bp index 7c28b2814..0b1366209 100644 --- a/debuggerd/Android.bp +++ b/debuggerd/Android.bp @@ -17,6 +17,7 @@ cc_defaults { cc_library_headers { name: "libdebuggerd_common_headers", export_include_dirs: ["common/include"], + recovery_available: true, } cc_library_shared { @@ -67,6 +68,7 @@ cc_library_static { cc_library_static { name: "libdebuggerd_handler_core", defaults: ["debuggerd_defaults"], + recovery_available: true, srcs: ["handler/debuggerd_handler.cpp"], header_libs: [ @@ -88,6 +90,7 @@ cc_library_static { cc_library_static { name: "libdebuggerd_handler", defaults: ["debuggerd_defaults"], + recovery_available: true, srcs: ["handler/debuggerd_fallback_nop.cpp"], whole_static_libs: [ @@ -143,6 +146,7 @@ cc_library { cc_library_static { name: "libdebuggerd", defaults: ["debuggerd_defaults"], + recovery_available: true, srcs: [ "libdebuggerd/backtrace.cpp", diff --git a/demangle/Android.bp b/demangle/Android.bp index cf6abfde0..fd79cf88f 100644 --- a/demangle/Android.bp +++ b/demangle/Android.bp @@ -36,6 +36,7 @@ cc_library { name: "libdemangle", defaults: ["libdemangle_defaults"], vendor_available: true, + recovery_available: true, srcs: [ "Demangler.cpp", diff --git a/diagnose_usb/Android.bp b/diagnose_usb/Android.bp index a7ecf3737..6bee28c10 100644 --- a/diagnose_usb/Android.bp +++ b/diagnose_usb/Android.bp @@ -2,6 +2,7 @@ cc_library_static { name: "libdiagnose_usb", cflags: ["-Wall", "-Wextra", "-Werror"], host_supported: true, + recovery_available: true, target: { windows: { enabled: true, diff --git a/fs_mgr/Android.bp b/fs_mgr/Android.bp index 05dba1524..bc3b04b02 100644 --- a/fs_mgr/Android.bp +++ b/fs_mgr/Android.bp @@ -33,6 +33,7 @@ cc_defaults { cc_library_static { name: "libfs_mgr", defaults: ["fs_mgr_defaults"], + recovery_available: true, export_include_dirs: ["include"], include_dirs: ["system/vold"], srcs: [ @@ -79,6 +80,7 @@ cc_library_static { cc_library_static { name: "libfstab", vendor_available: true, + recovery_available: true, defaults: ["fs_mgr_defaults"], srcs: [ "fs_mgr_fstab.cpp", diff --git a/libasyncio/Android.bp b/libasyncio/Android.bp index 8a2afea3d..4ab439d57 100644 --- a/libasyncio/Android.bp +++ b/libasyncio/Android.bp @@ -27,6 +27,7 @@ cc_library { name: "libasyncio", defaults: ["libasyncio_defaults"], vendor_available: true, + recovery_available: true, host_supported: true, srcs: [ "AsyncIO.cpp", diff --git a/libbacktrace/Android.bp b/libbacktrace/Android.bp index 0f93dd071..b4bf35fba 100644 --- a/libbacktrace/Android.bp +++ b/libbacktrace/Android.bp @@ -58,6 +58,7 @@ cc_library_headers { cc_library { name: "libbacktrace", vendor_available: false, + recovery_available: true, vndk: { enabled: true, support_system_process: true, @@ -102,8 +103,6 @@ cc_library { include_dirs: [ "art/runtime", ], - - header_libs: ["jni_headers"], }, android: { static_libs: ["libasync_safe"], @@ -112,6 +111,10 @@ cc_library { cflags: ["-DNO_LIBDEXFILE_SUPPORT"], exclude_shared_libs: ["libdexfile"], }, + recovery: { + cflags: ["-DNO_LIBDEXFILE_SUPPORT"], + exclude_shared_libs: ["libdexfile"], + }, }, whole_static_libs: ["libdemangle"], } diff --git a/libcrypto_utils/Android.bp b/libcrypto_utils/Android.bp index 47de12ab0..e47560f79 100644 --- a/libcrypto_utils/Android.bp +++ b/libcrypto_utils/Android.bp @@ -17,6 +17,7 @@ cc_library { name: "libcrypto_utils", vendor_available: true, + recovery_available: true, vndk: { enabled: true, }, diff --git a/libkeyutils/Android.bp b/libkeyutils/Android.bp index f3593ff5d..b388e9555 100644 --- a/libkeyutils/Android.bp +++ b/libkeyutils/Android.bp @@ -2,6 +2,7 @@ cc_library { name: "libkeyutils", cflags: ["-Werror"], defaults: ["linux_bionic_supported"], + recovery_available: true, export_include_dirs: ["include/"], local_include_dirs: ["include/"], srcs: ["keyutils.cpp"], diff --git a/libprocinfo/Android.bp b/libprocinfo/Android.bp index d776b3d8e..15f03d080 100644 --- a/libprocinfo/Android.bp +++ b/libprocinfo/Android.bp @@ -27,6 +27,7 @@ cc_library { name: "libprocinfo", defaults: ["libprocinfo_defaults"], vendor_available: true, + recovery_available: true, vndk: { enabled: true, }, diff --git a/libsparse/Android.bp b/libsparse/Android.bp index b8946563c..c7c089f49 100644 --- a/libsparse/Android.bp +++ b/libsparse/Android.bp @@ -3,6 +3,7 @@ cc_library { name: "libsparse", host_supported: true, + recovery_available: true, unique_host_soname: true, srcs: [ "backed_block.c", diff --git a/libunwindstack/Android.bp b/libunwindstack/Android.bp index a6bf73073..6bcbbb8b2 100644 --- a/libunwindstack/Android.bp +++ b/libunwindstack/Android.bp @@ -38,6 +38,7 @@ cc_defaults { cc_library { name: "libunwindstack", vendor_available: true, + recovery_available: true, vndk: { enabled: true, support_system_process: true, @@ -93,6 +94,14 @@ cc_library { ], exclude_shared_libs: ["libdexfile"], }, + recovery: { + cflags: ["-DNO_LIBDEXFILE_SUPPORT"], + exclude_srcs: [ + "DexFile.cpp", + "DexFiles.cpp", + ], + exclude_shared_libs: ["libdexfile"], + }, }, arch: { diff --git a/logwrapper/Android.bp b/logwrapper/Android.bp index d4ba4f47f..c37864613 100644 --- a/logwrapper/Android.bp +++ b/logwrapper/Android.bp @@ -12,6 +12,7 @@ cc_defaults { cc_library { name: "liblogwrap", defaults: ["logwrapper_defaults"], + recovery_available: true, srcs: ["logwrap.c"], shared_libs: [ "libcutils", diff --git a/qemu_pipe/Android.bp b/qemu_pipe/Android.bp index 93c347beb..c6bda4a28 100644 --- a/qemu_pipe/Android.bp +++ b/qemu_pipe/Android.bp @@ -3,6 +3,7 @@ cc_library_static { name: "libqemu_pipe", vendor_available: true, + recovery_available: true, sanitize: { misc_undefined: ["integer"], },