Consolidate the logic for the sdk prebuilt module names.
I'm making some changes to it, and found the names are scattered in various places. Make a macro and re-use the logic instead. Bug: 77525052 Test: make droid Change-Id: I0f2da80b8b4d427353509b27ec720d024eee7a6e
This commit is contained in:
parent
f05573eb91
commit
400673cf1e
4 changed files with 20 additions and 13 deletions
|
@ -956,6 +956,15 @@ else
|
|||
SUPPORT_LIBRARY_ROOT := frameworks/support
|
||||
endif
|
||||
|
||||
# Resolve LOCAL_SDK_VERSION to prebuilt module name, e.g.:
|
||||
# 23 -> sdk_v23
|
||||
# system_current -> sdk_vsystem_current
|
||||
# Note: this also replaces core_X with X (to be removed as there are prebuilts for core now).
|
||||
# $(1): An sdk version (LOCAL_SDK_VERSION)
|
||||
define resolve-prebuilt-sdk-module
|
||||
sdk_v$(patsubst core_%,%,$(1))
|
||||
endef
|
||||
|
||||
# Historical SDK version N is stored in $(HISTORICAL_SDK_VERSIONS_ROOT)/N.
|
||||
# The 'current' version is whatever this source tree is.
|
||||
#
|
||||
|
|
|
@ -75,12 +75,11 @@ ifneq ($(LOCAL_SDK_VERSION),)
|
|||
LOCAL_JAVA_LIBRARIES := core.current.stubs $(LOCAL_JAVA_LIBRARIES)
|
||||
$(full_target): PRIVATE_BOOTCLASSPATH := $(call java-lib-files, core.current.stubs)
|
||||
else
|
||||
# core_<ver> is subset of <ver>. Instead of defining a prebuilt lib for core_<ver>,
|
||||
# use the stub for <ver> when building for apps.
|
||||
_version := $(patsubst core_%,%,$(LOCAL_SDK_VERSION))
|
||||
LOCAL_JAVA_LIBRARIES := sdk_v$(_version) $(LOCAL_JAVA_LIBRARIES)
|
||||
$(full_target): PRIVATE_BOOTCLASSPATH := $(call java-lib-files, sdk_v$(_version))
|
||||
_version :=
|
||||
# TARGET_BUILD_APPS is set. Use the modules defined in prebuilts/sdk/Android.mk.
|
||||
_module_name := $(call resolve-prebuilt-sdk-module,$(LOCAL_SDK_VERSION))
|
||||
LOCAL_JAVA_LIBRARIES := $(_module_name) $(LOCAL_JAVA_LIBRARIES)
|
||||
$(full_target): PRIVATE_BOOTCLASSPATH := $(call java-lib-files, $(_module_name))
|
||||
_module_name :=
|
||||
endif
|
||||
else
|
||||
ifeq ($(LOCAL_NO_STANDARD_LIBRARIES),true)
|
||||
|
|
|
@ -406,7 +406,7 @@ endif
|
|||
proguard_dictionary := $(intermediates.COMMON)/proguard_dictionary
|
||||
|
||||
# When an app contains references to APIs that are not in the SDK specified by
|
||||
# its LOCAL_SDK_VERSION for example added by support library or by runtime
|
||||
# its LOCAL_SDK_VERSION for example added by support library or by runtime
|
||||
# classes added by desugar, we artifically raise the "SDK version" "linked" by
|
||||
# ProGuard, to
|
||||
# - suppress ProGuard warnings of referencing symbols unknown to the lower SDK version.
|
||||
|
@ -416,7 +416,7 @@ my_proguard_sdk_raise :=
|
|||
ifdef LOCAL_SDK_VERSION
|
||||
ifdef TARGET_BUILD_APPS
|
||||
ifeq (,$(filter current system_current test_current core_current, $(LOCAL_SDK_VERSION)))
|
||||
my_proguard_sdk_raise := $(call java-lib-header-files, sdk_vcurrent)
|
||||
my_proguard_sdk_raise := $(call java-lib-header-files, $(call resolve-prebuilt-sdk-module,current))
|
||||
endif
|
||||
else
|
||||
# For platform build, we can't just raise to the "current" SDK,
|
||||
|
|
|
@ -261,11 +261,10 @@ ifndef LOCAL_IS_HOST_MODULE
|
|||
else ifeq ($(LOCAL_SDK_VERSION)$(TARGET_BUILD_APPS),core_current)
|
||||
full_java_bootclasspath_libs := $(call java-lib-header-files,core.current.stubs)
|
||||
else
|
||||
# core_<ver> is subset of <ver>. Instead of defining a prebuilt lib for core_<ver>,
|
||||
# use the stub for <ver> when building for apps.
|
||||
_version := $(patsubst core_%,%,$(LOCAL_SDK_VERSION))
|
||||
full_java_bootclasspath_libs := $(call java-lib-header-files,sdk_v$(_version))
|
||||
_version :=
|
||||
# TARGET_BUILD_APPS is set. Use the modules defined in prebuilts/sdk/Android.mk.
|
||||
_module_name := $(call resolve-prebuilt-sdk-module,$(LOCAL_SDK_VERSION))
|
||||
full_java_bootclasspath_libs := $(call java-lib-header-files,$(_module_name))
|
||||
_module_name :=
|
||||
endif # current, system_current, system_${VER}, test_current or core_current
|
||||
endif # LOCAL_SDK_VERSION
|
||||
|
||||
|
|
Loading…
Reference in a new issue