From fd08247bcfa47508da3cea41a004310cf28dd0fa Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Wed, 2 Dec 2015 16:33:04 -0800 Subject: [PATCH] Use prebuilt tools in place Don't install the prebuilt SDK tools for TARGET_BUILD_APPS builds, just execute them in place. Avoids issues with duplicate rules for the prebuilts and source modules when building with TARGET_BUILD_APPS in a full platform tree. Change-Id: I3cdb4f1a8208e8750310a5cc6130657613b683d1 --- core/config.mk | 47 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/core/config.mk b/core/config.mk index 930e82bcf..1d7e9f3b9 100644 --- a/core/config.mk +++ b/core/config.mk @@ -444,6 +444,42 @@ endif endif endif +# +# Tools that are prebuilts for TARGET_BUILD_APPS +# + +ACP := $(HOST_OUT_EXECUTABLES)/acp +AIDL := $(HOST_OUT_EXECUTABLES)/aidl +AAPT := $(HOST_OUT_EXECUTABLES)/aapt +ZIPALIGN := $(HOST_OUT_EXECUTABLES)/zipalign +SIGNAPK_JAR := $(HOST_OUT_JAVA_LIBRARIES)/signapk$(COMMON_JAVA_PACKAGE_SUFFIX) +LLVM_RS_CC := $(HOST_OUT_EXECUTABLES)/llvm-rs-cc +BCC_COMPAT := $(HOST_OUT_EXECUTABLES)/bcc_compat + +DX := $(HOST_OUT_EXECUTABLES)/dx +MAINDEXCLASSES := $(HOST_OUT_EXECUTABLES)/mainDexClasses + +# Override the definitions above for unbundled and PDK builds +ifneq (,$(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK))) +prebuilt_sdk_tools := prebuilts/sdk/tools +prebuilt_sdk_tools_bin := $(prebuilt_sdk_tools)/$(HOST_OS)/bin + +ACP := $(prebuilt_sdk_tools_bin)/acp +AIDL := $(prebuilt_sdk_tools_bin)/aidl +AAPT := $(prebuilt_sdk_tools_bin)/aapt +ZIPALIGN := $(prebuilt_sdk_tools_bin)/zipalign +SIGNAPK_JAR := $(prebuilt_sdk_tools)/lib/signapk$(COMMON_JAVA_PACKAGE_SUFFIX) + +DX := $(prebuilt_sdk_tools)/dx +MAINDEXCLASSES := $(prebuilt_sdk_tools)/mainDexClasses + +# Don't use prebuilts in PDK +ifneq ($(TARGET_BUILD_PDK),true) +LLVM_RS_CC := $(prebuilt_sdk_tools_bin)/llvm-rs-cc +BCC_COMPAT := $(prebuilt_sdk_tools_bin)/bcc_compat +endif # TARGET_BUILD_PDK +endif # TARGET_BUILD_APPS || TARGET_BUILD_PDK + # --------------------------------------------------------------- # Generic tools. @@ -463,7 +499,6 @@ YACC := $(BISON) -d YASM := prebuilts/misc/$(BUILD_OS)-$(HOST_PREBUILT_ARCH)/yasm/yasm DOXYGEN:= doxygen -AAPT := $(HOST_OUT_EXECUTABLES)/aapt$(HOST_EXECUTABLE_SUFFIX) AIDL := $(HOST_OUT_EXECUTABLES)/aidl$(HOST_EXECUTABLE_SUFFIX) AIDL_CPP := $(HOST_OUT_EXECUTABLES)/aidl-cpp$(HOST_EXECUTABLE_SUFFIX) ifeq ($(HOST_OS),linux) @@ -474,7 +509,6 @@ BREAKPAD_GENERATE_SYMBOLS := false endif PROTOC := $(HOST_OUT_EXECUTABLES)/aprotoc$(HOST_EXECUTABLE_SUFFIX) DBUS_GENERATOR := $(HOST_OUT_EXECUTABLES)/dbus-binding-generator -SIGNAPK_JAR := $(HOST_OUT_JAVA_LIBRARIES)/signapk$(COMMON_JAVA_PACKAGE_SUFFIX) MKBOOTFS := $(HOST_OUT_EXECUTABLES)/mkbootfs$(HOST_EXECUTABLE_SUFFIX) MINIGZIP := $(HOST_OUT_EXECUTABLES)/minigzip$(HOST_EXECUTABLE_SUFFIX) ifeq (,$(strip $(BOARD_CUSTOM_MKBOOTIMG))) @@ -519,8 +553,6 @@ DEFAULT_JACK_EXTRA_ARGS += --verbose error JILL := java -Xmx3500m -jar $(JILL_JAR) PROGUARD := external/proguard/bin/proguard.sh JAVATAGS := build/tools/java-event-log-tags.py -LLVM_RS_CC := $(HOST_OUT_EXECUTABLES)/llvm-rs-cc$(HOST_EXECUTABLE_SUFFIX) -BCC_COMPAT := $(HOST_OUT_EXECUTABLES)/bcc_compat$(HOST_EXECUTABLE_SUFFIX) RMTYPEDEFS := $(HOST_OUT_EXECUTABLES)/rmtypedefs APPEND2SIMG := $(HOST_OUT_EXECUTABLES)/append2simg VERITY_SIGNER := $(HOST_OUT_EXECUTABLES)/verity_signer @@ -530,13 +562,6 @@ FUTILITY := prebuilts/misc/$(BUILD_OS)-$(HOST_PREBUILT_ARCH)/futility/futility VBOOT_SIGNER := prebuilts/misc/scripts/vboot_signer/vboot_signer.sh FEC := $(HOST_OUT_EXECUTABLES)/fec -# ACP is always for the build OS, not for the host OS -ACP := $(BUILD_OUT_EXECUTABLES)/acp$(BUILD_EXECUTABLE_SUFFIX) - -# dx is java behind a shell script; no .exe necessary. -DX := $(HOST_OUT_EXECUTABLES)/dx -MAINDEXCLASSES := $(HOST_OUT_EXECUTABLES)/mainDexClasses -ZIPALIGN := $(HOST_OUT_EXECUTABLES)/zipalign$(HOST_EXECUTABLE_SUFFIX) ifndef TARGET_BUILD_APPS ZIPTIME := $(HOST_OUT_EXECUTABLES)/ziptime$(HOST_EXECUTABLE_SUFFIX) endif