Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6f7e9879 authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "Always check VNDK variant identicalness" am: 5023711e am: 5465af32

Change-Id: I4e66677aec4f1337fe3999a8d8191bd4185a50cd
parents f8d70dea 5465af32
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ LOCAL_BUILT_MODULE_STEM:=
LOCAL_CC:=
LOCAL_CERTIFICATE:=
LOCAL_CFLAGS:=
LOCAL_CHECK_SAME_VNDK_VARIANTS:=
LOCAL_CHECKED_MODULE:=
LOCAL_C_INCLUDES:=
LOCAL_CLANG:=
+21 −19
Original line number Diff line number Diff line
@@ -104,33 +104,35 @@ ifdef LOCAL_INSTALLED_MODULE
  endif
endif

ifeq ($(LOCAL_VNDK_DEPEND_ON_CORE_VARIANT),true)
  # Add $(LOCAL_BUILT_MODULE) as a dependency to no_vendor_variant_vndk_check so
  # that the vendor variant will be built and checked against the core variant.
  no_vendor_variant_vndk_check: $(LOCAL_BUILT_MODULE)
my_check_same_vndk_variants :=
ifeq ($(LOCAL_CHECK_SAME_VNDK_VARIANTS),true)
  ifneq ($(filter hwaddress, $(SANITIZE_TARGET)),hwaddress)
    my_check_same_vndk_variants := true
  endif
endif

ifeq ($(my_check_same_vndk_variants),true)
  same_vndk_variants_stamp := $(intermediates)/same_vndk_variants.timestamp

  my_core_register_name := $(subst .vendor,,$(my_register_name))
  my_core_register_name := $(subst .vendor,,$(subst .product,,$(my_register_name)))
  my_core_variant_files := $(call module-target-built-files,$(my_core_register_name))
  my_core_shared_lib := $(sort $(filter %.so,$(my_core_variant_files)))
  $(LOCAL_BUILT_MODULE): PRIVATE_CORE_VARIANT := $(my_core_shared_lib)

  # The built vendor variant library needs to depend on the built core variant
  # so that we can perform identity check against the core variant.
  $(LOCAL_BUILT_MODULE): $(my_core_shared_lib)
endif
  $(same_vndk_variants_stamp): PRIVATE_CORE_VARIANT := $(my_core_shared_lib)
  $(same_vndk_variants_stamp): PRIVATE_VENDOR_VARIANT := $(LOCAL_PREBUILT_MODULE_FILE)
  $(same_vndk_variants_stamp): PRIVATE_TOOLS_PREFIX := $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)TOOLS_PREFIX)

ifeq ($(LOCAL_VNDK_DEPEND_ON_CORE_VARIANT),true)
$(LOCAL_BUILT_MODULE): PRIVATE_TOOLS_PREFIX := $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)TOOLS_PREFIX)
$(LOCAL_BUILT_MODULE): $(LOCAL_PREBUILT_MODULE_FILE) $(LIBRARY_IDENTITY_CHECK_SCRIPT)
  $(same_vndk_variants_stamp): $(my_core_shared_lib) $(LOCAL_PREBUILT_MODULE_FILE)
		$(call verify-vndk-libs-identical,\
		    $(PRIVATE_CORE_VARIANT),\
		$<,\
		    $(PRIVATE_VENDOR_VARIANT)\
		    $(PRIVATE_TOOLS_PREFIX))
	$(copy-file-to-target)
else

  $(LOCAL_BUILT_MODULE): $(same_vndk_variants_stamp)
endif

$(LOCAL_BUILT_MODULE): $(LOCAL_PREBUILT_MODULE_FILE)
	$(transform-prebuilt-to-target)
endif
ifneq ($(filter EXECUTABLES NATIVE_TESTS,$(LOCAL_MODULE_CLASS)),)
	$(hide) chmod +x $@
endif
+5 −3
Original line number Diff line number Diff line
@@ -5,11 +5,13 @@ STRIP_PATH="${1}"
CORE="${2}"
VENDOR="${3}"

stripped_core="${CORE}.vndk_lib_check.stripped"
stripped_vendor="${VENDOR}.vndk_lib_check.stripped"
TMPDIR="$(mktemp -d ${CORE}.vndk_lib_check.XXXXXXXX)"
stripped_core="${TMPDIR}/core"
stripped_vendor="${TMPDIR}/vendor"

function cleanup() {
  rm -f ${stripped_core} ${stripped_vendor}
  rm -f "${stripped_core}" "${stripped_vendor}"
  rmdir "${TMPDIR}"
}
trap cleanup EXIT