Merge "Install LOCAL_SOONG_INSTALL_SYMLINKS even if LOCAL_SOONG_INSTALLED_MODULE isn't set" into main am: 56e8f7009c
Original change: https://android-review.googlesource.com/c/platform/build/+/2737051 Change-Id: Iaa7f81c3a30efd028a29070dabe74d638b0cd748 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
commit
62fcb3fcf5
4 changed files with 27 additions and 10 deletions
|
@ -3353,12 +3353,6 @@ ifdef BOARD_USES_SYSTEM_EXTIMAGE
|
|||
ALL_DEFAULT_INSTALLED_MODULES += $(_systemext_symlink)
|
||||
endif
|
||||
|
||||
# Create symlink /system/bin/hwservicemanager -> /system/system_ext/bin/hwservicemanager
|
||||
# Old vendor libraries (like libhidlbase) may require /system/bin/hwservicemanager to be present
|
||||
$(call symlink-file,$(TARGET_OUT_SYSTEM_EXT)/bin/hwservicemanager,/system/system_ext/bin/hwservicemanager, $(TARGET_OUT)/bin/hwservicemanager)
|
||||
INTERNAL_SYSTEMIMAGE_FILES += \
|
||||
$(TARGET_OUT)/bin/hwservicemanager
|
||||
|
||||
# -----------------------------------------------------------------
|
||||
# system_dlkm partition image
|
||||
|
||||
|
|
|
@ -521,10 +521,6 @@ ifneq (,$(LOCAL_SOONG_INSTALLED_MODULE))
|
|||
# copy of the intermediates for now, as some rules that collect intermediates may expect
|
||||
# them to exist.
|
||||
$(LOCAL_INSTALLED_MODULE): $(LOCAL_BUILT_MODULE)
|
||||
|
||||
$(foreach symlink, $(LOCAL_SOONG_INSTALL_SYMLINKS), \
|
||||
$(call declare-0p-target,$(symlink)))
|
||||
$(my_all_targets) : | $(LOCAL_SOONG_INSTALL_SYMLINKS)
|
||||
else ifneq (true,$(LOCAL_UNINSTALLABLE_MODULE))
|
||||
$(LOCAL_INSTALLED_MODULE): PRIVATE_POST_INSTALL_CMD := $(LOCAL_POST_INSTALL_CMD)
|
||||
$(LOCAL_INSTALLED_MODULE): $(LOCAL_BUILT_MODULE)
|
||||
|
@ -546,6 +542,15 @@ else ifneq (true,$(LOCAL_UNINSTALLABLE_MODULE))
|
|||
|
||||
endif # !LOCAL_UNINSTALLABLE_MODULE
|
||||
|
||||
# Add dependencies on LOCAL_SOONG_INSTALL_SYMLINKS if we're installing any kind of module, not just
|
||||
# ones that set LOCAL_SOONG_INSTALLED_MODULE. This is so we can have a soong module that only
|
||||
# installs symlinks (e.g. install_symlink). We can't set LOCAL_SOONG_INSTALLED_MODULE to a symlink
|
||||
# because cp commands will fail on symlinks.
|
||||
ifneq (,$(or $(LOCAL_SOONG_INSTALLED_MODULE),$(call boolean-not,$(LOCAL_UNINSTALLABLE_MODULE))))
|
||||
$(foreach symlink, $(LOCAL_SOONG_INSTALL_SYMLINKS), $(call declare-0p-target,$(symlink)))
|
||||
$(my_all_targets) : | $(LOCAL_SOONG_INSTALL_SYMLINKS)
|
||||
endif
|
||||
|
||||
###########################################################
|
||||
## VINTF manifest fragment and init.rc goals
|
||||
###########################################################
|
||||
|
@ -1001,6 +1006,16 @@ else ifneq (true,$(LOCAL_UNINSTALLABLE_MODULE))
|
|||
$(my_init_rc_installed) \
|
||||
$(my_vintf_installed))
|
||||
endif
|
||||
|
||||
# Mark LOCAL_SOONG_INSTALL_SYMLINKS as installed if we're installing any kind of module, not just
|
||||
# ones that set LOCAL_SOONG_INSTALLED_MODULE. This is so we can have a soong module that only
|
||||
# installs symlinks (e.g. installed_symlink). We can't set LOCAL_SOONG_INSTALLED_MODULE to a symlink
|
||||
# because cp commands will fail on symlinks.
|
||||
ifneq (,$(or $(LOCAL_SOONG_INSTALLED_MODULE),$(call boolean-not,$(LOCAL_UNINSTALLABLE_MODULE))))
|
||||
ALL_MODULES.$(my_register_name).INSTALLED += $(LOCAL_SOONG_INSTALL_SYMLINKS)
|
||||
ALL_MODULES.$(my_register_name).INSTALLED_SYMLINKS := $(LOCAL_SOONG_INSTALL_SYMLINKS)
|
||||
endif
|
||||
|
||||
ifdef LOCAL_PICKUP_FILES
|
||||
# Files or directories ready to pick up by the build system
|
||||
# when $(LOCAL_BUILT_MODULE) is done.
|
||||
|
|
|
@ -147,6 +147,10 @@ define true-or-empty
|
|||
$(filter true, $(1))
|
||||
endef
|
||||
|
||||
define boolean-not
|
||||
$(if $(filter true,$(1)),,true)
|
||||
endef
|
||||
|
||||
###########################################################
|
||||
## Rule for touching GCNO files.
|
||||
###########################################################
|
||||
|
|
|
@ -132,6 +132,10 @@ PRODUCT_SYSTEM_DEVICE := generic
|
|||
|
||||
_base_mk_allowed_list :=
|
||||
|
||||
# TODO(b/299166571) Remove this after the artifact path requirements checker picks up
|
||||
# hwservicemanager correctly.
|
||||
PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += $(TARGET_COPY_OUT_SYSTEM)/bin/hwservicemanager
|
||||
|
||||
_my_allowed_list := $(_base_mk_allowed_list)
|
||||
|
||||
# For mainline, system.img should be mounted at /, so we include ROOT here.
|
||||
|
|
Loading…
Reference in a new issue