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

Commit 5023711e authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Always check VNDK variant identicalness"

parents 0188eb5d 4873e65c
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