From e3265fb743e13a1b602f220f58b398d82772eabb Mon Sep 17 00:00:00 2001 From: Ying Wang Date: Mon, 25 Jan 2010 09:56:41 -0800 Subject: [PATCH] Makefile change for build against historical sdk versions. If LOCAL_SDK_VERSION is current, link against the stub, otherwise link against prebuilt historical sdk --- core/base_rules.mk | 23 +++++++++++++++++++++-- core/java.mk | 6 +++++- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/core/base_rules.mk b/core/base_rules.mk index a2acb01d9..2b3e94b85 100644 --- a/core/base_rules.mk +++ b/core/base_rules.mk @@ -186,7 +186,14 @@ ifneq ($(strip $(aidl_sources)),) aidl_java_sources := $(patsubst %.aidl,%.java,$(addprefix $(intermediates.COMMON)/src/, $(aidl_sources))) aidl_sources := $(addprefix $(TOP_DIR)$(LOCAL_PATH)/, $(aidl_sources)) -$(aidl_java_sources): PRIVATE_AIDL_FLAGS := -b -I$(LOCAL_PATH) -I$(LOCAL_PATH)/src $(addprefix -I,$(LOCAL_AIDL_INCLUDES)) +aidl_preprocess_import := +LOCAL_SDK_VERSION:=$(strip $(LOCAL_SDK_VERSION)) +ifdef LOCAL_SDK_VERSION +ifneq ($(LOCAL_SDK_VERSION),current) +aidl_preprocess_import := -p$(TOPDIR)prebuilt/sdk/$(LOCAL_SDK_VERSION)/framework.aidl +endif # !current +endif # LOCAL_SDK_VERSION +$(aidl_java_sources): PRIVATE_AIDL_FLAGS := -b $(aidl_preprocess_import) -I$(LOCAL_PATH) -I$(LOCAL_PATH)/src $(addprefix -I,$(LOCAL_AIDL_INCLUDES)) $(aidl_java_sources): $(intermediates.COMMON)/src/%.java: $(TOPDIR)$(LOCAL_PATH)/%.aidl $(PRIVATE_ADDITIONAL_DEPENDENCIES) $(AIDL) $(transform-aidl-to-java) @@ -330,9 +337,21 @@ ifdef LOCAL_IS_HOST_MODULE full_java_libs := $(addprefix $(HOST_OUT_JAVA_LIBRARIES)/,$(addsuffix $(COMMON_JAVA_PACKAGE_SUFFIX),$(LOCAL_JAVA_LIBRARIES))) full_java_lib_deps := $(full_java_libs) else +ifdef LOCAL_SDK_VERSION +ifneq ($(LOCAL_SDK_VERSION),current) +full_java_libs := $(call java-lib-files,$(LOCAL_JAVA_LIBRARIES),$(LOCAL_IS_HOST_MODULE)) +# For prebuilt sdk versions, we can't depend on the javalib.jar but classes.jar. +full_java_lib_deps := $(call java-lib-deps,$(filter-out sdk_v$(LOCAL_SDK_VERSION),$(LOCAL_JAVA_LIBRARIES)),$(LOCAL_IS_HOST_MODULE)) +full_java_lib_deps += $(call java-lib-files,sdk_v$(LOCAL_SDK_VERSION),$(LOCAL_IS_HOST_MODULE)) +else full_java_libs := $(call java-lib-files,$(LOCAL_JAVA_LIBRARIES),$(LOCAL_IS_HOST_MODULE)) full_java_lib_deps := $(call java-lib-deps,$(LOCAL_JAVA_LIBRARIES),$(LOCAL_IS_HOST_MODULE)) -endif +endif # !current +else +full_java_libs := $(call java-lib-files,$(LOCAL_JAVA_LIBRARIES),$(LOCAL_IS_HOST_MODULE)) +full_java_lib_deps := $(call java-lib-deps,$(LOCAL_JAVA_LIBRARIES),$(LOCAL_IS_HOST_MODULE)) +endif # LOCAL_SDK_VERSION +endif # !LOCAL_IS_HOST_MODULE full_java_libs += $(full_static_java_libs) $(LOCAL_CLASSPATH) full_java_lib_deps += $(full_static_java_libs) $(LOCAL_CLASSPATH) diff --git a/core/java.mk b/core/java.mk index d57ffca9c..fc28abf38 100644 --- a/core/java.mk +++ b/core/java.mk @@ -20,7 +20,11 @@ ifneq ($(LOCAL_SDK_VERSION),) $(error $(LOCAL_PATH): Invalid LOCAL_SDK_VERSION '$(LOCAL_SDK_VERSION)' \ Choices are: $(TARGET_AVAILABLE_SDK_VERSIONS)) else - LOCAL_JAVA_LIBRARIES := android_stubs_$(LOCAL_SDK_VERSION) $(LOCAL_JAVA_LIBRARIES) + ifeq ($(LOCAL_SDK_VERSION),current) + LOCAL_JAVA_LIBRARIES := android_stubs_$(LOCAL_SDK_VERSION) $(LOCAL_JAVA_LIBRARIES) + else + LOCAL_JAVA_LIBRARIES := sdk_v$(LOCAL_SDK_VERSION) $(LOCAL_JAVA_LIBRARIES) + endif endif endif else -- 2.11.0