Exclude lib/arm(64) from the library absence check.

(cherry picked from commit 4655206209)

Test: m systemimage
Test: build_test on Forrest
Bug: 132289438
Merged-In: I5dfb534aa2bc24a8d0a75fde31b139a6ed86e6a5
Change-Id: Ied158548f391d67f44ca31b74a3711d1cb5216fe
This commit is contained in:
Martin Stjernholm 2019-04-17 19:23:05 -07:00
parent 42d18f6ca8
commit b4e549bfb7
1 changed files with 14 additions and 2 deletions

View File

@ -2283,6 +2283,15 @@ APEX_MODULE_LIBS += \
# still may create these libraries in /system (b/129006418). # still may create these libraries in /system (b/129006418).
DISABLE_APEX_LIBS_ABSENCE_CHECK ?= 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 # 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 # 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 # cause is that a library or binary in /system has grown a dependency that
@ -2307,8 +2316,11 @@ DISABLE_APEX_LIBS_ABSENCE_CHECK ?=
ifndef DISABLE_APEX_LIBS_ABSENCE_CHECK ifndef DISABLE_APEX_LIBS_ABSENCE_CHECK
define check-apex-libs-absence define check-apex-libs-absence
$(hide) ( \ $(hide) ( \
cd $(TARGET_OUT); \ cd $(TARGET_OUT) && \
findres=$$(find lib* -type f \( -false $(foreach lib,$(APEX_MODULE_LIBS),-o -name $(lib)) \) -print) || exit 1; \ 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 \ if [ -n "$$findres" ]; then \
echo "APEX libraries found in system image (see comment in build/make/core/Makefile for details):" 1>&2; \ echo "APEX libraries found in system image (see comment in build/make/core/Makefile for details):" 1>&2; \
echo "$$findres" | sort 1>&2; \ echo "$$findres" | sort 1>&2; \