From a0e75045e6817a51e4e6b05880d871525a4d52fe Mon Sep 17 00:00:00 2001 From: Jiyong Park <jiyong@google.com> 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 1f41e4f3f4..ee1bdaa29d 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 47b29c6a64..71bf1540c6 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 7c28b28147..0b13662097 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 cf6abfde06..fd79cf88f4 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 a7ecf37372..6bee28c10d 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 05dba15245..bc3b04b023 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 8a2afea3d7..4ab439d572 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 0f93dd0710..b4bf35fbad 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 47de12ab05..e47560f796 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 f3593ff5d3..b388e95559 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 d776b3d8e0..15f03d0801 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 b8946563c9..c7c089f499 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 a6bf730736..6bcbbb8b2e 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 d4ba4f47f8..c37864613d 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 93c347bebc..c6bda4a28a 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"], }, -- GitLab