OSDN Git Service

sdk: provide ABI-dependent atree files
authorDavid 'Digit' Turner <digit@android.com>
Thu, 23 Jun 2011 10:49:02 +0000 (12:49 +0200)
committerDavid 'Digit' Turner <digit@google.com>
Thu, 7 Jul 2011 21:57:22 +0000 (23:57 +0200)
Backport from AOSP master

This patch allows development/sdk/ to provide ABI-specific .atree
files. This is useful to copy prebuilt CPU model-specific files
to the SDK platform image directory.

This is needed to deal with the fact that for ARMv7 platform builds,
the kernel image to use is prebuilt/android-arm/kernel-qemu-armv7 instead
of prebuilt/android-arm/kernel/qemu

Change-Id: Ib76caa54a059eca2dafc9cdba812b29f98b5e3c3
Orig-Change-Id: Icdca751852c01421fccf196436a9bc1114ea90f7

core/Makefile

index 8de9b04..10f82df 100644 (file)
@@ -1291,6 +1291,14 @@ sdk_atree_files := \
        $(atree_dir)/sdk-$(HOST_OS)-$(HOST_ARCH).atree \
        sdk/build/tools.atree
 
+# development/build/sdk-android-<abi>.atree is used to differentiate
+# between architecture models (e.g. ARMv5TE versus ARMv7) when copying
+# files like the kernel image. We use TARGET_CPU_ABI because we don't
+# have a better way to distinguish between CPU models.
+ifneq (,$(strip $(wildcard $(atree_dir)/sdk-android-$(TARGET_CPU_ABI).atree)))
+  sdk_atree_files += $(atree_dir)/sdk-android-$(TARGET_CPU_ABI).atree
+endif
+
 deps := \
        $(target_notice_file_txt) \
        $(tools_notice_file_txt) \
@@ -1341,7 +1349,7 @@ $(INTERNAL_SDK_TARGET): $(deps)
                        -v "TARGET_CPU_ABI=$(TARGET_CPU_ABI)" \
                        -o $(PRIVATE_DIR) && \
                cp -f $(target_notice_file_txt) \
-                               $(PRIVATE_DIR)/platforms/android-$(PLATFORM_VERSION)/images/NOTICE.txt && \
+                               $(PRIVATE_DIR)/platforms/android-$(PLATFORM_VERSION)/images/$(TARGET_CPU_ABI)/NOTICE.txt && \
                cp -f $(tools_notice_file_txt) $(PRIVATE_DIR)/tools/NOTICE.txt && \
                HOST_OUT_EXECUTABLES=$(HOST_OUT_EXECUTABLES) HOST_OS=$(HOST_OS) \
                 development/build/tools/sdk_clean.sh $(PRIVATE_DIR) && \