Move combo makefile parsing
These files may be setting variables usually defined in the BoardConfig. This moves that setting into board_config.mk so that the relevant variables can be made readonly. Test: build_test Test: diff presubmit target_files vs base cl Change-Id: I4dab09fa67c0f2e88a8ce1402a35b4ef5f8a0560
This commit is contained in:
@@ -89,6 +89,16 @@ BOARD_KERNEL_PAGESIZE := $(strip $(BOARD_KERNEL_PAGESIZE))
|
||||
|
||||
INTERNAL_KERNEL_CMDLINE := $(strip $(BOARD_KERNEL_CMDLINE))
|
||||
|
||||
# The combo makefiles sanity-check and set defaults for various CPU configuration
|
||||
combo_target := TARGET_
|
||||
combo_2nd_arch_prefix :=
|
||||
include $(BUILD_SYSTEM)/combo/select.mk
|
||||
|
||||
ifdef TARGET_2ND_ARCH
|
||||
combo_2nd_arch_prefix := $(TARGET_2ND_ARCH_VAR_PREFIX)
|
||||
include $(BUILD_SYSTEM)/combo/select.mk
|
||||
endif
|
||||
|
||||
ifeq ($(TARGET_CPU_ABI),)
|
||||
$(error No TARGET_CPU_ABI defined by board config: $(board_config_mk))
|
||||
endif
|
||||
|
@@ -300,44 +300,6 @@ $(hide) $(HOST_OTOOL) -l $(1) | grep LC_ID_DYLIB -A 5 > $(2)
|
||||
$(hide) $(HOST_NM) -gP $(1) | cut -f1-2 -d" " | (grep -v U$$ >> $(2) || true)
|
||||
endef
|
||||
|
||||
combo_target := HOST_
|
||||
combo_2nd_arch_prefix :=
|
||||
include $(BUILD_SYSTEM)/combo/select.mk
|
||||
|
||||
# Load the 2nd host arch if it's needed.
|
||||
ifdef HOST_2ND_ARCH
|
||||
combo_target := HOST_
|
||||
combo_2nd_arch_prefix := $(HOST_2ND_ARCH_VAR_PREFIX)
|
||||
include $(BUILD_SYSTEM)/combo/select.mk
|
||||
endif
|
||||
|
||||
# Load the windows cross compiler under Linux
|
||||
ifdef HOST_CROSS_OS
|
||||
combo_target := HOST_CROSS_
|
||||
combo_2nd_arch_prefix :=
|
||||
include $(BUILD_SYSTEM)/combo/select.mk
|
||||
|
||||
ifdef HOST_CROSS_2ND_ARCH
|
||||
combo_target := HOST_CROSS_
|
||||
combo_2nd_arch_prefix := $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)
|
||||
include $(BUILD_SYSTEM)/combo/select.mk
|
||||
endif
|
||||
endif
|
||||
|
||||
# on windows, the tools have .exe at the end, and we depend on the
|
||||
# host config stuff being done first
|
||||
|
||||
combo_target := TARGET_
|
||||
combo_2nd_arch_prefix :=
|
||||
include $(BUILD_SYSTEM)/combo/select.mk
|
||||
|
||||
# Load the 2nd target arch if it's needed.
|
||||
ifdef TARGET_2ND_ARCH
|
||||
combo_target := TARGET_
|
||||
combo_2nd_arch_prefix := $(TARGET_2ND_ARCH_VAR_PREFIX)
|
||||
include $(BUILD_SYSTEM)/combo/select.mk
|
||||
endif
|
||||
|
||||
ifeq ($(CALLED_FROM_SETUP),true)
|
||||
include $(BUILD_SYSTEM)/ccache.mk
|
||||
include $(BUILD_SYSTEM)/goma.mk
|
||||
|
@@ -152,6 +152,45 @@ ifeq ($(HOST_OS),darwin)
|
||||
HOST_2ND_ARCH :=
|
||||
endif
|
||||
|
||||
HOST_2ND_ARCH_VAR_PREFIX := 2ND_
|
||||
HOST_2ND_ARCH_MODULE_SUFFIX := _32
|
||||
HOST_CROSS_2ND_ARCH_VAR_PREFIX := 2ND_
|
||||
HOST_CROSS_2ND_ARCH_MODULE_SUFFIX := _64
|
||||
TARGET_2ND_ARCH_VAR_PREFIX := 2ND_
|
||||
.KATI_READONLY := \
|
||||
HOST_ARCH \
|
||||
HOST_2ND_ARCH \
|
||||
HOST_IS_64_BIT \
|
||||
HOST_2ND_ARCH_VAR_PREFIX \
|
||||
HOST_2ND_ARCH_MODULE_SUFFIX \
|
||||
HOST_CROSS_2ND_ARCH_VAR_PREFIX \
|
||||
HOST_CROSS_2ND_ARCH_MODULE_SUFFIX \
|
||||
TARGET_2ND_ARCH_VAR_PREFIX \
|
||||
|
||||
combo_target := HOST_
|
||||
combo_2nd_arch_prefix :=
|
||||
include $(BUILD_COMBOS)/select.mk
|
||||
|
||||
ifdef HOST_2ND_ARCH
|
||||
combo_2nd_arch_prefix := $(HOST_2ND_ARCH_VAR_PREFIX)
|
||||
include $(BUILD_SYSTEM)/combo/select.mk
|
||||
endif
|
||||
|
||||
# Load the windows cross compiler under Linux
|
||||
ifdef HOST_CROSS_OS
|
||||
combo_target := HOST_CROSS_
|
||||
combo_2nd_arch_prefix :=
|
||||
include $(BUILD_SYSTEM)/combo/select.mk
|
||||
|
||||
ifdef HOST_CROSS_2ND_ARCH
|
||||
combo_2nd_arch_prefix := $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)
|
||||
include $(BUILD_SYSTEM)/combo/select.mk
|
||||
endif
|
||||
endif
|
||||
|
||||
# on windows, the tools have .exe at the end, and we depend on the
|
||||
# host config stuff being done first
|
||||
|
||||
BUILD_ARCH := $(HOST_ARCH)
|
||||
BUILD_2ND_ARCH := $(HOST_2ND_ARCH)
|
||||
|
||||
@@ -232,11 +271,10 @@ $(error must be empty or one of: eng user userdebug)
|
||||
endif
|
||||
|
||||
SDK_HOST_ARCH := x86
|
||||
TARGET_OS := linux
|
||||
|
||||
include $(BUILD_SYSTEM)/board_config.mk
|
||||
|
||||
TARGET_OS := linux
|
||||
|
||||
# the target build type defaults to release
|
||||
ifneq ($(TARGET_BUILD_TYPE),debug)
|
||||
TARGET_BUILD_TYPE := release
|
||||
@@ -342,8 +380,6 @@ HOST_OUT_TEST_CONFIG := $(HOST_OUT)/test_config
|
||||
.KATI_READONLY := HOST_OUT_TEST_CONFIG
|
||||
|
||||
# Out for HOST_2ND_ARCH
|
||||
HOST_2ND_ARCH_VAR_PREFIX := 2ND_
|
||||
HOST_2ND_ARCH_MODULE_SUFFIX := _32
|
||||
$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_INTERMEDIATES := $(HOST_OUT)/obj32
|
||||
$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_SHARED_LIBRARIES := $(HOST_OUT)/lib
|
||||
$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_EXECUTABLES := $(HOST_OUT_EXECUTABLES)
|
||||
@@ -351,8 +387,6 @@ $(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_JAVA_LIBRARIES := $(HOST_OUT_JAVA_LIBRARIES)
|
||||
$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_NATIVE_TESTS := $(HOST_OUT)/nativetest
|
||||
$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_TESTCASES := $(HOST_OUT_TESTCASES)
|
||||
.KATI_READONLY := \
|
||||
HOST_2ND_ARCH_VAR_PREFIX \
|
||||
HOST_2ND_ARCH_MODULE_SUFFIX \
|
||||
$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_INTERMEDIATES \
|
||||
$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_SHARED_LIBRARIES \
|
||||
$(HOST_2ND_ARCH_VAR_PREFIX)HOST_OUT_EXECUTABLES \
|
||||
@@ -366,15 +400,11 @@ HOST_LIBRARY_PATH := $(HOST_OUT_SHARED_LIBRARIES)
|
||||
.KATI_READONLY := HOST_LIBRARY_PATH
|
||||
|
||||
# Out for HOST_CROSS_2ND_ARCH
|
||||
HOST_CROSS_2ND_ARCH_VAR_PREFIX := 2ND_
|
||||
HOST_CROSS_2ND_ARCH_MODULE_SUFFIX := _64
|
||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_INTERMEDIATES := $(HOST_CROSS_OUT)/obj64
|
||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_SHARED_LIBRARIES := $(HOST_CROSS_OUT)/lib64
|
||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_EXECUTABLES := $(HOST_CROSS_OUT_EXECUTABLES)
|
||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_NATIVE_TESTS := $(HOST_CROSS_OUT)/nativetest64
|
||||
.KATI_READONLY := \
|
||||
HOST_CROSS_2ND_ARCH_VAR_PREFIX \
|
||||
HOST_CROSS_2ND_ARCH_MODULE_SUFFIX \
|
||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_INTERMEDIATES \
|
||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_SHARED_LIBRARIES \
|
||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_EXECUTABLES \
|
||||
@@ -461,14 +491,13 @@ endif
|
||||
.KATI_READONLY := TARGET_OUT_SYSTEM_OTHER
|
||||
|
||||
# Out for TARGET_2ND_ARCH
|
||||
TARGET_2ND_ARCH_VAR_PREFIX := $(HOST_2ND_ARCH_VAR_PREFIX)
|
||||
ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
|
||||
# With this you can reference the arm binary translation library with libfoo_arm in PRODUCT_PACKAGES.
|
||||
TARGET_2ND_ARCH_MODULE_SUFFIX := _$(TARGET_2ND_ARCH)
|
||||
else
|
||||
TARGET_2ND_ARCH_MODULE_SUFFIX := $(HOST_2ND_ARCH_MODULE_SUFFIX)
|
||||
endif
|
||||
.KATI_READONLY := TARGET_2ND_ARCH_VAR_PREFIX TARGET_2ND_ARCH_MODULE_SUFFIX
|
||||
.KATI_READONLY := TARGET_2ND_ARCH_MODULE_SUFFIX
|
||||
|
||||
ifneq ($(filter address,$(SANITIZE_TARGET)),)
|
||||
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATES := $(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)_asan
|
||||
|
Reference in New Issue
Block a user