From 818f938188b577c91c3f6cf9b87cfff714f4388f Mon Sep 17 00:00:00 2001 From: Tao Bao Date: Mon, 6 Aug 2018 15:52:24 -0700 Subject: `recovery` uses more shared libraries. Bug: 110380063 Test: `m -j installclean && mmma -j bootable/recovery` with aosp_taimen-userdebug Test: Build (`m -j bootimage`) and boot into recovery. Check that `adb sideload` and `Run graphics test` both work. Test: Run recovery_unit_test and recovery_component_test on marlin. Change-Id: Ie6ed0e7cafa352d5faff9d1b6ccef724a0415e65 --- Android.bp | 14 +++++++++++++- Android.mk | 43 +++++++++++++++++++++++++++++++------------ fuse_sideload/Android.bp | 2 +- minui/Android.bp | 1 + otautil/Android.bp | 17 ++++++++--------- 5 files changed, 54 insertions(+), 23 deletions(-) diff --git a/Android.bp b/Android.bp index 22c90bd3e..97126f5b1 100644 --- a/Android.bp +++ b/Android.bp @@ -16,6 +16,11 @@ cc_defaults { name: "recovery_defaults", cflags: [ + "-D_FILE_OFFSET_BITS=64", + + // Must be the same as RECOVERY_API_VERSION. + "-DRECOVERY_API_VERSION=3", + "-Wall", "-Werror", ], @@ -24,6 +29,7 @@ cc_defaults { // Generic device that uses ScreenRecoveryUI. cc_library_static { name: "librecovery_ui_default", + recovery_available: true, defaults: [ "recovery_defaults", @@ -37,6 +43,7 @@ cc_library_static { // The default wear device that uses WearRecoveryUI. cc_library_static { name: "librecovery_ui_wear", + recovery_available: true, defaults: [ "recovery_defaults", @@ -50,6 +57,7 @@ cc_library_static { // The default VR device that uses VrRecoveryUI. cc_library_static { name: "librecovery_ui_vr", + recovery_available: true, defaults: [ "recovery_defaults", @@ -62,6 +70,7 @@ cc_library_static { cc_library_static { name: "libverifier", + recovery_available: true, defaults: [ "recovery_defaults", @@ -72,10 +81,13 @@ cc_library_static { "verifier.cpp", ], - static_libs: [ + shared_libs: [ "libbase", "libcrypto", "libcrypto_utils", + ], + + static_libs: [ "libotautil", ], } diff --git a/Android.mk b/Android.mk index b25c1f07a..3c340999f 100644 --- a/Android.mk +++ b/Android.mk @@ -125,31 +125,32 @@ health_hal_static_libraries := \ libbatterymonitor librecovery_static_libraries := \ - libbootloader_message \ libfusesideload \ libminadbd \ libminui \ libverifier \ libotautil \ $(health_hal_static_libraries) \ + libvintf_recovery \ + libvintf \ + +librecovery_shared_libraries := \ libasyncio \ - libcrypto_utils \ + libbase \ + libbootloader_message \ libcrypto \ + libcrypto_utils \ + libcutils \ libext4_utils \ libfs_mgr \ - libpng \ - libsparse \ - libvintf_recovery \ - libvintf \ libhidl-gen-utils \ - libtinyxml2 \ - libziparchive \ - libbase \ - libutils \ - libcutils \ liblog \ + libpng \ libselinux \ + libtinyxml2 \ + libutils \ libz \ + libziparchive \ # librecovery (static library) # =============================== @@ -173,6 +174,9 @@ LOCAL_MODULE := librecovery LOCAL_STATIC_LIBRARIES := \ $(librecovery_static_libraries) +LOCAL_SHARED_LIBRARIES := \ + $(librecovery_shared_libraries) + include $(BUILD_STATIC_LIBRARY) # recovery (static executable) @@ -200,6 +204,7 @@ LOCAL_STATIC_LIBRARIES := \ LOCAL_SHARED_LIBRARIES := \ librecovery_ui \ + $(librecovery_shared_libraries) LOCAL_HAL_STATIC_LIBRARIES := libhealthd @@ -219,7 +224,8 @@ endif # e2fsck is needed for adb remount -R. ifeq ($(BOARD_EXT4_SHARE_DUP_BLOCKS),true) ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT))) -LOCAL_REQUIRED_MODULES += e2fsck_static +LOCAL_REQUIRED_MODULES += \ + e2fsck_static endif endif @@ -235,10 +241,23 @@ LOCAL_REQUIRED_MODULES += \ # TODO(b/110380063): Explicitly install the following shared libraries to recovery, until `recovery` # module is built with Soong (with `recovery: true` flag). LOCAL_REQUIRED_MODULES += \ + libasyncio.recovery \ libbase.recovery \ + libbootloader_message.recovery \ + libcrypto.recovery \ + libcrypto_utils.recovery \ + libcutils.recovery \ + libext4_utils.recovery \ + libfs_mgr.recovery \ + libhidl-gen-utils.recovery \ liblog.recovery \ libpng.recovery \ + libselinux.recovery \ + libsparse.recovery \ + libtinyxml2.recovery \ + libutils.recovery \ libz.recovery \ + libziparchive.recovery \ include $(BUILD_EXECUTABLE) diff --git a/fuse_sideload/Android.bp b/fuse_sideload/Android.bp index 76bc16df9..b7f9c039a 100644 --- a/fuse_sideload/Android.bp +++ b/fuse_sideload/Android.bp @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -cc_library_static { +cc_library { name: "libfusesideload", cflags: [ diff --git a/minui/Android.bp b/minui/Android.bp index 31022e1d6..fff3a8ec9 100644 --- a/minui/Android.bp +++ b/minui/Android.bp @@ -14,6 +14,7 @@ cc_library { name: "libminui", + recovery_available: true, defaults: [ "recovery_defaults", diff --git a/otautil/Android.bp b/otautil/Android.bp index b058f7b35..56c7c9e89 100644 --- a/otautil/Android.bp +++ b/otautil/Android.bp @@ -16,6 +16,11 @@ cc_library_static { name: "libotautil", host_supported: true, + recovery_available: true, + + defaults: [ + "recovery_defaults", + ], // Minimal set of files to support host build. srcs: [ @@ -23,16 +28,10 @@ cc_library_static { "rangeset.cpp", ], - static_libs: [ + shared_libs: [ "libbase", ], - cflags: [ - "-D_FILE_OFFSET_BITS=64", - "-Werror", - "-Wall", - ], - export_include_dirs: [ "include", ], @@ -46,9 +45,9 @@ cc_library_static { "thermalutil.cpp", ], - static_libs: [ - "libselinux", + shared_libs: [ "libcutils", + "libselinux", ], }, }, -- cgit v1.2.3