3847ffcc0e
The default Treble boot HAL implementation currently can only work in recovery on devices that specifically build their libhardware implementation as a shared library for recovery. This CL adds the option to statically link the libhardware implementation in recovery instead of finding it using hw_get_module(). This new approach allows devices that define PRODUCT_STATIC_BOOT_CONTROL_HAL to begin using the Treble HAL in recovery without requiring device-specific changes. A previous version of this CL broke some device builds by omitting libbase.recovery from LOCAL_SHARED_LIBRARIES. This version fixes that issue. Test: adb sideload succeeds Bug: 78598708 Change-Id: I1c2ef7fa59575ac7975129f7544f741459b8540e Signed-off-by: Connor O'Brien <connoro@google.com>
30 lines
906 B
Makefile
30 lines
906 B
Makefile
# TODO(connoro): Remove this file once we eliminate existing usage of
|
|
# PRODUCT_STATIC_BOOT_CONTROL_HAL
|
|
|
|
LOCAL_PATH := $(call my-dir)
|
|
|
|
ifneq ($(strip $(PRODUCT_STATIC_BOOT_CONTROL_HAL)),)
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := android.hardware.boot@1.0-impl-wrapper.recovery
|
|
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
|
|
LOCAL_MULTILIB := first
|
|
ifeq ($(TARGET_IS_64_BIT),true)
|
|
LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/lib64/hw
|
|
else
|
|
LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/lib/hw
|
|
endif
|
|
LOCAL_SRC_FILES := BootControl.cpp
|
|
LOCAL_CFLAGS := -DBOOT_CONTROL_RECOVERY
|
|
LOCAL_SHARED_LIBRARIES := \
|
|
libbase.recovery \
|
|
liblog.recovery \
|
|
libhidlbase.recovery \
|
|
libhidltransport.recovery \
|
|
libhardware.recovery \
|
|
libutils.recovery \
|
|
android.hardware.boot@1.0.recovery
|
|
LOCAL_STATIC_LIBRARIES := $(PRODUCT_STATIC_BOOT_CONTROL_HAL)
|
|
include $(BUILD_SHARED_LIBRARY)
|
|
|
|
endif
|