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

Commit 9272ef87 authored by Justin Yun's avatar Justin Yun
Browse files

Check conformity of VNDK version

Allow BOARD_VNDK_VERSION=<version> only if the prebuilt VNDK for
the <version> is provided.

If PRODUCT_EXTRA_VNDK_VERSIONS is set, all the versions in the list
will be checked as well.

Bug: 38304393
Bug: 65377115
Bug: 68123344
Test: Set BOARD_VNDK_VERSION := current and check build
Test: Set PRODUCT_EXTRA_VNDK_VERSIONS := 27 and check if it returns
      error when prebuilts/vndk/v27/Android.mk is not provided

Change-Id: I2e43d71f1ea3717ab8c45de84c926ecc43193307
parent 59dddf42
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -285,9 +285,14 @@ ifeq ($(AB_OTA_UPDATER),true)
endif

# Check BOARD_VNDK_VERSION
define check_vndk_version
  $(eval vndk_path := prebuilts/vndk/v$(1)) \
  $(if $(wildcard $(vndk_path)/Android.bp),,$(error VNDK version $(1) not found))
endef

ifdef BOARD_VNDK_VERSION
  ifneq ($(BOARD_VNDK_VERSION),current)
    $(error BOARD_VNDK_VERSION: Only "current" is implemented)
    $(call check_vndk_version,$(BOARD_VNDK_VERSION))
  endif

  TARGET_VENDOR_TEST_SUFFIX := /vendor
@@ -295,6 +300,10 @@ else
  TARGET_VENDOR_TEST_SUFFIX :=
endif

ifdef PRODUCT_EXTRA_VNDK_VERSIONS
  $(foreach v,$(PRODUCT_EXTRA_VNDK_VERSIONS),$(call check_vndk_version,$(v)))
endif

# ---------------------------------------------------------------
# Set up configuration for target machine.
# The following must be set:
+1 −0
Original line number Diff line number Diff line
@@ -112,6 +112,7 @@ $(call add_json_list, DeviceKernelHeaders, $(TARGET_PROJECT_SYSTEM
$(call add_json_bool, DevicePrefer32BitExecutables,      $(filter true,$(TARGET_PREFER_32_BIT_EXECUTABLES)))
$(call add_json_val,  DeviceUsesClang,                   $(if $(USE_CLANG_PLATFORM_BUILD),$(USE_CLANG_PLATFORM_BUILD),false))
$(call add_json_str,  DeviceVndkVersion,                 $(BOARD_VNDK_VERSION))
$(call add_json_list, ExtraVndkVersions,                 $(PRODUCT_EXTRA_VNDK_VERSIONS))
$(call add_json_bool, Malloc_not_svelte,                 $(call invert_bool,$(filter true,$(MALLOC_SVELTE))))
$(call add_json_str,  Override_rs_driver,                $(OVERRIDE_RS_DRIVER))
$(call add_json_bool, Treble,                            $(filter true,$(PRODUCT_FULL_TREBLE)))
+14 −1
Original line number Diff line number Diff line
@@ -96,7 +96,7 @@ endif
	@chmod a+x $@

include $(CLEAR_VARS)
LOCAL_MODULE := vndk_package
LOCAL_MODULE := vndk_current
LOCAL_REQUIRED_MODULES := \
    $(addsuffix .vendor,$(VNDK_CORE_LIBRARIES)) \
    $(addsuffix .vendor,$(VNDK_SAMEPROCESS_LIBRARIES)) \
@@ -105,4 +105,17 @@ LOCAL_REQUIRED_MODULES := \
    vndksp.libraries.txt

include $(BUILD_PHONY_PACKAGE)

include $(CLEAR_VARS)
LOCAL_MODULE := vndk_package
ifeq (current,$(BOARD_VNDK_VERSION))
LOCAL_REQUIRED_MODULES := \
    vndk_current
else
LOCAL_REQUIRED_MODULES := \
    vndk_v$(BOARD_VNDK_VERSION)
endif
LOCAL_REQUIRED_MODULES += \
    $(foreach vndk_ver,$(PRODUCT_EXTRA_VNDK_VERSIONS),vndk_v$(vndk_ver))
include $(BUILD_PHONY_PACKAGE)
endif # BOARD_VNDK_VERSION is set