From 5fc72a103b20cc1b484e997e55e7cc9c06cf117a Mon Sep 17 00:00:00 2001 From: Tao Bao Date: Tue, 7 Aug 2018 14:38:51 -0700 Subject: Build `recovery` with Soong. Fixes: 110380063 Test: `mmma -j bootable/recovery` with aosp_taimen-userdebug Test: Build and boot into recovery on taimen. Check the basic functionalities (`Apply update from ADB`, `View recovery logs`, `Run graphics test`). Test: Run recovery_unit_test and recovery_component_test on marlin. Test: Modify `recovery.cpp` locally to trigger the call to is_battery_ok(). Check that the battery info is reported correctly. Test: `build/soong/build_test.bash --dist` Change-Id: I391eb201d57c760e457ba2bf2410ceb72596795c --- Android.mk | 194 ++----------------------------------------------------------- 1 file changed, 6 insertions(+), 188 deletions(-) (limited to 'Android.mk') diff --git a/Android.mk b/Android.mk index b31b20437..8d9094d8c 100644 --- a/Android.mk +++ b/Android.mk @@ -23,11 +23,6 @@ RECOVERY_FSTAB_VERSION := 2 # librecovery_ui_default, which uses ScreenRecoveryUI. TARGET_RECOVERY_UI_LIB ?= librecovery_ui_default -recovery_common_cflags := \ - -Wall \ - -Werror \ - -DRECOVERY_API_VERSION=$(RECOVERY_API_VERSION) - # librecovery_ui_ext (shared library) # =================================== include $(CLEAR_VARS) @@ -49,169 +44,16 @@ LOCAL_WHOLE_STATIC_LIBRARIES := \ LOCAL_SHARED_LIBRARIES := \ libbase \ liblog \ - librecovery_ui - -include $(BUILD_SHARED_LIBRARY) - -# librecovery_ui (shared library) -# =============================== -include $(CLEAR_VARS) -LOCAL_SRC_FILES := \ - device.cpp \ - screen_ui.cpp \ - ui.cpp \ - vr_ui.cpp \ - wear_ui.cpp - -LOCAL_MODULE := librecovery_ui - -LOCAL_CFLAGS := $(recovery_common_cflags) - -LOCAL_MULTILIB := first - -ifeq ($(TARGET_IS_64_BIT),true) -LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/lib64 -else -LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/lib -endif - -LOCAL_STATIC_LIBRARIES := \ - libminui \ - libotautil \ - -LOCAL_SHARED_LIBRARIES := \ - libbase \ - libpng \ - libz \ + librecovery_ui.recovery include $(BUILD_SHARED_LIBRARY) -# librecovery_ui (static library) -# =============================== -include $(CLEAR_VARS) -LOCAL_SRC_FILES := \ - device.cpp \ - screen_ui.cpp \ - ui.cpp \ - vr_ui.cpp \ - wear_ui.cpp - -LOCAL_MODULE := librecovery_ui - -LOCAL_CFLAGS := $(recovery_common_cflags) - -LOCAL_STATIC_LIBRARIES := \ - libminui \ - libotautil \ - -LOCAL_SHARED_LIBRARIES := \ - libbase \ - libpng \ - libz \ - -include $(BUILD_STATIC_LIBRARY) - -# Health HAL dependency -health_hal_static_libraries := \ - android.hardware.health@2.0-impl \ - android.hardware.health@2.0 \ - android.hardware.health@1.0 \ - android.hardware.health@1.0-convert \ - libhealthstoragedefault \ - libhidltransport \ - libhidlbase \ - libhwbinder_noltopgo \ - libvndksupport \ - libbatterymonitor - -librecovery_static_libraries := \ - libfusesideload \ - libminadbd \ - libminui \ - libverifier \ - libotautil \ - $(health_hal_static_libraries) \ - libvintf_recovery \ - libvintf \ - -librecovery_shared_libraries := \ - libasyncio \ - libbase \ - libbootloader_message \ - libcrypto \ - libcrypto_utils \ - libcutils \ - libext4_utils \ - libfs_mgr \ - libhidl-gen-utils \ - liblog \ - libpng \ - libselinux \ - libtinyxml2 \ - libutils \ - libz \ - libziparchive \ - -# librecovery (static library) -# =============================== -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := \ - adb_install.cpp \ - fsck_unshare_blocks.cpp \ - fuse_sdcard_provider.cpp \ - install.cpp \ - recovery.cpp \ - roots.cpp \ - -LOCAL_C_INCLUDES := \ - system/vold \ - -LOCAL_CFLAGS := $(recovery_common_cflags) - -LOCAL_MODULE := librecovery - -LOCAL_STATIC_LIBRARIES := \ - $(librecovery_static_libraries) - -LOCAL_SHARED_LIBRARIES := \ - $(librecovery_shared_libraries) - -include $(BUILD_STATIC_LIBRARY) - -# recovery (static executable) -# =============================== +# recovery_deps: A phony target that's depended on by `recovery`, which +# builds additional modules conditionally based on Makefile variables. +# ====================================================================== include $(CLEAR_VARS) -LOCAL_SRC_FILES := \ - logging.cpp \ - recovery_main.cpp \ - -LOCAL_MODULE := recovery - -LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/bin - -# Cannot link with LLD: undefined symbol: UsbNoPermissionsLongHelpText -# http://b/77543887, lld does not handle -Wl,--gc-sections as well as ld. -LOCAL_USE_CLANG_LLD := false - -LOCAL_CFLAGS := $(recovery_common_cflags) - -LOCAL_STATIC_LIBRARIES := \ - librecovery \ - librecovery_ui_default \ - $(librecovery_static_libraries) - -LOCAL_SHARED_LIBRARIES := \ - librecovery_ui \ - $(librecovery_shared_libraries) - -LOCAL_HAL_STATIC_LIBRARIES := libhealthd - -LOCAL_REQUIRED_MODULES := \ - e2fsdroid.recovery \ - mke2fs.recovery \ - mke2fs.conf +LOCAL_MODULE := recovery_deps ifeq ($(TARGET_USERIMAGES_USE_F2FS),true) ifeq ($(HOST_OS),linux) @@ -235,31 +77,7 @@ LOCAL_REQUIRED_MODULES += \ recovery-refresh endif -LOCAL_REQUIRED_MODULES += \ - librecovery_ui_ext - -# 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) +include $(BUILD_PHONY_PACKAGE) include \ $(LOCAL_PATH)/boot_control/Android.mk \ -- cgit v1.2.3