Merge "Use hermetic ckati/makeparallel prebuilts"
This commit is contained in:
commit
b8744a26e4
3 changed files with 12 additions and 45 deletions
|
@ -442,6 +442,8 @@ endif
|
||||||
#
|
#
|
||||||
# Tools that are prebuilts for TARGET_BUILD_APPS
|
# Tools that are prebuilts for TARGET_BUILD_APPS
|
||||||
#
|
#
|
||||||
|
prebuilt_sdk_tools := prebuilts/sdk/tools
|
||||||
|
prebuilt_sdk_tools_bin := $(prebuilt_sdk_tools)/$(HOST_OS)/bin
|
||||||
|
|
||||||
ACP := $(HOST_OUT_EXECUTABLES)/acp
|
ACP := $(HOST_OUT_EXECUTABLES)/acp
|
||||||
AIDL := $(HOST_OUT_EXECUTABLES)/aidl
|
AIDL := $(HOST_OUT_EXECUTABLES)/aidl
|
||||||
|
@ -455,13 +457,14 @@ BCC_COMPAT := $(HOST_OUT_EXECUTABLES)/bcc_compat
|
||||||
DX := $(HOST_OUT_EXECUTABLES)/dx
|
DX := $(HOST_OUT_EXECUTABLES)/dx
|
||||||
MAINDEXCLASSES := $(HOST_OUT_EXECUTABLES)/mainDexClasses
|
MAINDEXCLASSES := $(HOST_OUT_EXECUTABLES)/mainDexClasses
|
||||||
|
|
||||||
|
# Always use prebuilts for ckati and makeparallel
|
||||||
|
CKATI := $(prebuilt_sdk_tools_bin)/ckati
|
||||||
|
MAKEPARALLEL := $(prebuilt_sdk_tools_bin)/makeparallel
|
||||||
|
|
||||||
USE_PREBUILT_SDK_TOOLS_IN_PLACE := true
|
USE_PREBUILT_SDK_TOOLS_IN_PLACE := true
|
||||||
|
|
||||||
# Override the definitions above for unbundled and PDK builds
|
# Override the definitions above for unbundled and PDK builds
|
||||||
ifneq (,$(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK)))
|
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
|
ACP := $(prebuilt_sdk_tools_bin)/acp
|
||||||
AIDL := $(prebuilt_sdk_tools_bin)/aidl
|
AIDL := $(prebuilt_sdk_tools_bin)/aidl
|
||||||
AAPT := $(prebuilt_sdk_tools_bin)/aapt
|
AAPT := $(prebuilt_sdk_tools_bin)/aapt
|
||||||
|
@ -479,6 +482,8 @@ LLVM_RS_CC := $(prebuilt_sdk_tools_bin)/llvm-rs-cc
|
||||||
BCC_COMPAT := $(prebuilt_sdk_tools_bin)/bcc_compat
|
BCC_COMPAT := $(prebuilt_sdk_tools_bin)/bcc_compat
|
||||||
endif # TARGET_BUILD_PDK
|
endif # TARGET_BUILD_PDK
|
||||||
endif # TARGET_BUILD_APPS || TARGET_BUILD_PDK
|
endif # TARGET_BUILD_APPS || TARGET_BUILD_PDK
|
||||||
|
prebuilt_sdk_tools :=
|
||||||
|
prebuilt_sdk_tools_bin :=
|
||||||
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
|
|
|
@ -1,14 +1,7 @@
|
||||||
NINJA ?= prebuilts/ninja/$(HOST_PREBUILT_TAG)/ninja
|
NINJA ?= prebuilts/ninja/$(HOST_PREBUILT_TAG)/ninja
|
||||||
|
|
||||||
ifeq ($(USE_SOONG),true)
|
ifeq ($(USE_SOONG),true)
|
||||||
USE_SOONG_FOR_KATI := true
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_SOONG_FOR_KATI),true)
|
|
||||||
include $(BUILD_SYSTEM)/soong.mk
|
include $(BUILD_SYSTEM)/soong.mk
|
||||||
else
|
|
||||||
KATI ?= $(HOST_OUT_EXECUTABLES)/ckati
|
|
||||||
MAKEPARALLEL ?= $(HOST_OUT_EXECUTABLES)/makeparallel
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
KATI_OUTPUT_PATTERNS := $(OUT_DIR)/build%.ninja $(OUT_DIR)/ninja%.sh
|
KATI_OUTPUT_PATTERNS := $(OUT_DIR)/build%.ninja $(OUT_DIR)/ninja%.sh
|
||||||
|
@ -69,7 +62,7 @@ PARSE_TIME_MAKE_GOALS := \
|
||||||
-include vendor/google/build/ninja_config.mk
|
-include vendor/google/build/ninja_config.mk
|
||||||
|
|
||||||
# Any Android goals that need to be built.
|
# Any Android goals that need to be built.
|
||||||
ANDROID_GOALS := $(filter-out $(KATI_OUTPUT_PATTERNS) $(KATI) $(MAKEPARALLEL),\
|
ANDROID_GOALS := $(filter-out $(KATI_OUTPUT_PATTERNS) $(CKATI) $(MAKEPARALLEL),\
|
||||||
$(sort $(ORIGINAL_MAKECMDGOALS) $(MAKECMDGOALS)))
|
$(sort $(ORIGINAL_MAKECMDGOALS) $(MAKECMDGOALS)))
|
||||||
# Goals we need to pass to Ninja.
|
# Goals we need to pass to Ninja.
|
||||||
NINJA_GOALS := $(filter-out $(NINJA_EXCLUDE_GOALS), $(ANDROID_GOALS))
|
NINJA_GOALS := $(filter-out $(NINJA_EXCLUDE_GOALS), $(ANDROID_GOALS))
|
||||||
|
@ -155,34 +148,9 @@ KATI_FIND_EMULATOR := --use_find_emulator
|
||||||
ifeq ($(KATI_EMULATE_FIND),false)
|
ifeq ($(KATI_EMULATE_FIND),false)
|
||||||
KATI_FIND_EMULATOR :=
|
KATI_FIND_EMULATOR :=
|
||||||
endif
|
endif
|
||||||
$(KATI_BUILD_NINJA): $(KATI) $(MAKEPARALLEL) $(SOONG_ANDROID_MK) FORCE
|
$(KATI_BUILD_NINJA): $(CKATI) $(MAKEPARALLEL) $(SOONG_ANDROID_MK) FORCE
|
||||||
@echo Running kati to generate build$(KATI_NINJA_SUFFIX).ninja...
|
@echo Running kati to generate build$(KATI_NINJA_SUFFIX).ninja...
|
||||||
+$(hide) $(KATI_MAKEPARALLEL) $(KATI) --ninja --ninja_dir=$(OUT_DIR) --ninja_suffix=$(KATI_NINJA_SUFFIX) --regen --ignore_dirty=$(OUT_DIR)/% --no_ignore_dirty=$(SOONG_ANDROID_MK) --ignore_optional_include=$(OUT_DIR)/%.P --detect_android_echo $(KATI_FIND_EMULATOR) -f build/core/main.mk $(KATI_GOALS) --gen_all_targets BUILDING_WITH_NINJA=true SOONG_ANDROID_MK=$(SOONG_ANDROID_MK)
|
+$(hide) $(KATI_MAKEPARALLEL) $(CKATI) --ninja --ninja_dir=$(OUT_DIR) --ninja_suffix=$(KATI_NINJA_SUFFIX) --regen --ignore_dirty=$(OUT_DIR)/% --no_ignore_dirty=$(SOONG_ANDROID_MK) --ignore_optional_include=$(OUT_DIR)/%.P --detect_android_echo $(KATI_FIND_EMULATOR) -f build/core/main.mk $(KATI_GOALS) --gen_all_targets BUILDING_WITH_NINJA=true SOONG_ANDROID_MK=$(SOONG_ANDROID_MK)
|
||||||
|
|
||||||
ifneq ($(USE_SOONG_FOR_KATI),true)
|
|
||||||
KATI_CXX := $(CLANG_CXX) $(CLANG_HOST_GLOBAL_CFLAGS) $(CLANG_HOST_GLOBAL_CPPFLAGS) $(HOST_SYSTEMCPP_CPPFLAGS)
|
|
||||||
KATI_LD := $(CLANG_CXX) $(CLANG_HOST_GLOBAL_LDFLAGS) $(HOST_SYSTEMCPP_LDFLAGS)
|
|
||||||
# Build static ckati. Unfortunately Mac OS X doesn't officially support static exectuables.
|
|
||||||
ifeq ($(BUILD_OS),linux)
|
|
||||||
# We need everything in libpthread.a otherwise C++11's threading library will be disabled.
|
|
||||||
KATI_LD += -static -Wl,--whole-archive -lpthread -Wl,--no-whole-archive -ldl
|
|
||||||
endif
|
|
||||||
|
|
||||||
KATI_INTERMEDIATES_PATH := $(HOST_OUT_INTERMEDIATES)/EXECUTABLES/ckati_intermediates
|
|
||||||
KATI_BIN_PATH := $(HOST_OUT_EXECUTABLES)
|
|
||||||
include build/kati/Makefile.ckati
|
|
||||||
|
|
||||||
MAKEPARALLEL_CXX := $(CLANG_CXX) $(CLANG_HOST_GLOBAL_CFLAGS) $(CLANG_HOST_GLOBAL_CPPFLAGS) $(HOST_SYSTEMCPP_CPPFLAGS)
|
|
||||||
MAKEPARALLEL_LD := $(CLANG_CXX) $(CLANG_HOST_GLOBAL_LDFLAGS) $(HOST_SYSTEMCPP_LDFLAGS)
|
|
||||||
# Build static makeparallel. Unfortunately Mac OS X doesn't officially support static exectuables.
|
|
||||||
ifeq ($(BUILD_OS),linux)
|
|
||||||
MAKEPARALLEL_LD += -static
|
|
||||||
endif
|
|
||||||
|
|
||||||
MAKEPARALLEL_INTERMEDIATES_PATH := $(HOST_OUT_INTERMEDIATES)/EXECUTABLES/makeparallel_intermediates
|
|
||||||
MAKEPARALLEL_BIN_PATH := $(HOST_OUT_EXECUTABLES)
|
|
||||||
include build/tools/makeparallel/Makefile
|
|
||||||
endif
|
|
||||||
|
|
||||||
.PHONY: FORCE
|
.PHONY: FORCE
|
||||||
FORCE:
|
FORCE:
|
||||||
|
|
|
@ -4,9 +4,6 @@ SOONG_BUILD_NINJA := $(SOONG_OUT_DIR)/build.ninja
|
||||||
SOONG_ANDROID_MK := $(SOONG_OUT_DIR)/Android.mk
|
SOONG_ANDROID_MK := $(SOONG_OUT_DIR)/Android.mk
|
||||||
SOONG_VARIABLES := $(SOONG_OUT_DIR)/soong.variables
|
SOONG_VARIABLES := $(SOONG_OUT_DIR)/soong.variables
|
||||||
SOONG_IN_MAKE := $(SOONG_OUT_DIR)/.soong.in_make
|
SOONG_IN_MAKE := $(SOONG_OUT_DIR)/.soong.in_make
|
||||||
SOONG_HOST_EXECUTABLES := $(SOONG_OUT_DIR)/host/$(HOST_PREBUILT_TAG)/bin
|
|
||||||
KATI := $(SOONG_HOST_EXECUTABLES)/ckati
|
|
||||||
MAKEPARALLEL := $(SOONG_HOST_EXECUTABLES)/makeparallel
|
|
||||||
|
|
||||||
ifeq (,$(filter /%,$(SOONG_OUT_DIR)))
|
ifeq (,$(filter /%,$(SOONG_OUT_DIR)))
|
||||||
SOONG_TOP_RELPATH := $(shell python -c "import os; print os.path.relpath('$(TOP)', '$(SOONG_OUT_DIR)')")
|
SOONG_TOP_RELPATH := $(shell python -c "import os; print os.path.relpath('$(TOP)', '$(SOONG_OUT_DIR)')")
|
||||||
|
@ -63,7 +60,4 @@ $(SOONG_IN_MAKE):
|
||||||
|
|
||||||
# Build an Android.mk listing all soong outputs as prebuilts
|
# Build an Android.mk listing all soong outputs as prebuilts
|
||||||
$(SOONG_ANDROID_MK): $(SOONG) $(SOONG_VARIABLES) $(SOONG_IN_MAKE) FORCE
|
$(SOONG_ANDROID_MK): $(SOONG) $(SOONG_VARIABLES) $(SOONG_IN_MAKE) FORCE
|
||||||
$(hide) $(SOONG) $(KATI) $(MAKEPARALLEL) $(NINJA_ARGS)
|
$(hide) $(SOONG) $(SOONG_BUILD_NINJA) $(NINJA_ARGS)
|
||||||
|
|
||||||
$(KATI): $(SOONG_ANDROID_MK)
|
|
||||||
$(MAKEPARALLEL): $(SOONG_ANDROID_MK)
|
|
||||||
|
|
Loading…
Reference in a new issue