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

Commit 400673cf authored by Anton Hansson's avatar Anton Hansson
Browse files

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
parent f05573eb
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -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.
#
+5 −6
Original line number Diff line number Diff line
@@ -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)
+2 −2
Original line number Diff line number Diff line
@@ -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,
+4 −5
Original line number Diff line number Diff line
@@ -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