Exclude lib/arm(64) from the library absence check.
Test: m systemimage on cf_x86_phone-userdebug (in internal and AOSP). Test: Check that the generated find command works on MacOS Bug: 124293228 Change-Id: I5dfb534aa2bc24a8d0a75fde31b139a6ed86e6a5
This commit is contained in:
@@ -2187,6 +2187,15 @@ APEX_MODULE_LIBS= \
|
||||
# still may create these libraries in /system (b/129006418).
|
||||
DISABLE_APEX_LIBS_ABSENCE_CHECK ?=
|
||||
|
||||
# Exclude lib/arm and lib/arm64 which contain the native bridge proxy libs.
|
||||
# They are compiled for the guest architecture and used with an entirely
|
||||
# different linker config. The native libs are then linked to as usual via
|
||||
# exported interfaces, so the proxy libs do not violate the interface boundaries
|
||||
# on the native architecture.
|
||||
# TODO(b/130630776): Introduce a make variable for the appropriate directory
|
||||
# when native bridge is active.
|
||||
APEX_LIBS_ABSENCE_CHECK_EXCLUDE=lib/arm lib/arm64
|
||||
|
||||
# If the check below fails, some library has ended up in system/lib or
|
||||
# system/lib64 that is intended to only go into some APEX package. The likely
|
||||
# cause is that a library or binary in /system has grown a dependency that
|
||||
@@ -2211,8 +2220,11 @@ DISABLE_APEX_LIBS_ABSENCE_CHECK ?=
|
||||
ifndef DISABLE_APEX_LIBS_ABSENCE_CHECK
|
||||
define check-apex-libs-absence
|
||||
$(hide) ( \
|
||||
cd $(TARGET_OUT); \
|
||||
findres=$$(find lib* -type f \( -false $(foreach lib,$(APEX_MODULE_LIBS),-o -name $(lib)) \) -print) || exit 1; \
|
||||
cd $(TARGET_OUT) && \
|
||||
findres=$$(find lib* \
|
||||
$(foreach dir,$(APEX_LIBS_ABSENCE_CHECK_EXCLUDE),-path $(dir) -prune -o) \
|
||||
-type f \( -false $(foreach lib,$(APEX_MODULE_LIBS),-o -name $(lib)) \) \
|
||||
-print) && \
|
||||
if [ -n "$$findres" ]; then \
|
||||
echo "APEX libraries found in system image (see comment in build/make/core/Makefile for details):" 1>&2; \
|
||||
echo "$$findres" | sort 1>&2; \
|
||||
|
Reference in New Issue
Block a user