Merge "Make the APEX lib absence check optional, for local use."

am: 20ac920654

Change-Id: I076fa80c2a5496eaf0619a8c6a80fc77d698e0ee
This commit is contained in:
Martin Stjernholm 2019-03-29 07:01:58 -07:00 committed by android-build-merger
commit 4598286860

View file

@ -2183,6 +2183,10 @@ APEX_MODULE_LIBS= \
libopenjdkjvmti.so \
libpac.so \
# An option to disable the check below, for local use since some build targets
# still may create these libraries in /system (b/129006418).
DISABLE_APEX_LIBS_ABSENCE_CHECK ?=
# 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
@ -2204,17 +2208,22 @@ APEX_MODULE_LIBS= \
# might be misconfigured or something is wrong in the build system. Please reach
# out to the APEX package owners and/or soong-team@, or
# android-building@googlegroups.com externally.
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; \
if [ -n "$$findres" ]; then \
echo "APEX libraries found in system image (see comment in this 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; \
false; \
fi; \
)
endef
else
define check-apex-libs-absence
endef
endif
# $(1): output file
define build-systemimage-target