diff --git a/core/clear_vars.mk b/core/clear_vars.mk index c3694ab25..6036bcda2 100644 --- a/core/clear_vars.mk +++ b/core/clear_vars.mk @@ -196,6 +196,7 @@ LOCAL_PREBUILT_MODULE_FILE:= LOCAL_PREBUILT_OBJ_FILES:= LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES:= LOCAL_PREBUILT_STRIP_COMMENTS:= +LOCAL_PRIVATE_PLATFORM_APIS:= LOCAL_PRIVILEGED_MODULE:= # '',full,custom,disabled,obfuscation,optimization LOCAL_PRODUCT_MODULE:= diff --git a/core/host_dalvik_java_library.mk b/core/host_dalvik_java_library.mk index 43fc78033..20663d159 100644 --- a/core/host_dalvik_java_library.mk +++ b/core/host_dalvik_java_library.mk @@ -67,6 +67,8 @@ all_java_sources := $(java_sources) include $(BUILD_SYSTEM)/java_common.mk +include $(BUILD_SYSTEM)/sdk_check.mk + $(cleantarget): PRIVATE_CLEAN_FILES += $(intermediates.COMMON) # List of dependencies for anything that needs all java sources in place diff --git a/core/java.mk b/core/java.mk index f92cbca62..442d6cbba 100644 --- a/core/java.mk +++ b/core/java.mk @@ -357,6 +357,8 @@ endif # TURBINE_ENABLED != false include $(BUILD_SYSTEM)/java_common.mk +include $(BUILD_SYSTEM)/sdk_check.mk + $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_HAS_RS_SOURCES := $(if $(renderscript_sources),true) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_RS_SOURCE_INTERMEDIATES_DIR := $(intermediates.COMMON)/renderscript diff --git a/core/sdk_check.mk b/core/sdk_check.mk new file mode 100644 index 000000000..c5c2bc8b7 --- /dev/null +++ b/core/sdk_check.mk @@ -0,0 +1,14 @@ + +# Enforcement checks that LOCAL_SDK_VERSION and LOCAL_PRIVATE_PLATFORM_APIS are +# set correctly. +# Should be included by java targets that allow specifying LOCAL_SDK_VERSION. + +ifeq ($(LOCAL_SDK_VERSION)$(LOCAL_PRIVATE_PLATFORM_APIS),) +ifneq ($(JAVA_SDK_ENFORCEMENT_WARNING),) +$(warning Java modules must specify LOCAL_SDK_VERSION or LOCAL_PRIVATE_PLATFORM_APIS, but $(LOCAL_MODULE) specifies neither.) +endif +else ifneq ($(LOCAL_SDK_VERSION),) +ifneq ($(LOCAL_PRIVATE_PLATFORM_APIS),) +$(error $(LOCAL_MODULE) specifies both LOCAL_SDK_VERSION ($(LOCAL_SDK_VERSION)) and LOCAL_PRIVATE_PLATFORM_APIS ($(LOCAL_PRIVATE_PLATFORM_APIS)), but should specify only one.) +endif +endif