1*795d594fSAndroid Build Coastguard Worker# 2*795d594fSAndroid Build Coastguard Worker# Copyright (C) 2011 The Android Open Source Project 3*795d594fSAndroid Build Coastguard Worker# 4*795d594fSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 5*795d594fSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 6*795d594fSAndroid Build Coastguard Worker# You may obtain a copy of the License at 7*795d594fSAndroid Build Coastguard Worker# 8*795d594fSAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 9*795d594fSAndroid Build Coastguard Worker# 10*795d594fSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 11*795d594fSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 12*795d594fSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*795d594fSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 14*795d594fSAndroid Build Coastguard Worker# limitations under the License. 15*795d594fSAndroid Build Coastguard Worker# 16*795d594fSAndroid Build Coastguard Worker 17*795d594fSAndroid Build Coastguard Workerifndef ART_ANDROID_COMMON_MK 18*795d594fSAndroid Build Coastguard WorkerART_ANDROID_COMMON_MK = true 19*795d594fSAndroid Build Coastguard Worker 20*795d594fSAndroid Build Coastguard WorkerART_TARGET_SUPPORTED_ARCH := arm arm64 riscv64 x86 x86_64 21*795d594fSAndroid Build Coastguard WorkerART_HOST_SUPPORTED_ARCH := x86 x86_64 22*795d594fSAndroid Build Coastguard WorkerART_DEXPREOPT_BOOT_JAR_DIR := apex/com.android.art/javalib 23*795d594fSAndroid Build Coastguard WorkerCONSCRYPT_DEXPREOPT_BOOT_JAR_DIR := apex/com.android.conscrypt/javalib 24*795d594fSAndroid Build Coastguard Worker 25*795d594fSAndroid Build Coastguard Workerifneq ($(HOST_OS),darwin) 26*795d594fSAndroid Build Coastguard Worker ART_HOST_SUPPORTED_ARCH := x86 x86_64 27*795d594fSAndroid Build Coastguard Workerelse 28*795d594fSAndroid Build Coastguard Worker # Mac OS doesn't support low-4GB allocation in a 64-bit process. So we won't be able to create 29*795d594fSAndroid Build Coastguard Worker # our heaps. 30*795d594fSAndroid Build Coastguard Worker ART_HOST_SUPPORTED_ARCH := x86 31*795d594fSAndroid Build Coastguard Workerendif 32*795d594fSAndroid Build Coastguard Worker 33*795d594fSAndroid Build Coastguard WorkerART_COVERAGE := false 34*795d594fSAndroid Build Coastguard Worker 35*795d594fSAndroid Build Coastguard Workerifeq ($(ART_COVERAGE),true) 36*795d594fSAndroid Build Coastguard Worker# https://gcc.gnu.org/onlinedocs/gcc/Cross-profiling.html 37*795d594fSAndroid Build Coastguard WorkerGCOV_PREFIX := /data/local/tmp/gcov 38*795d594fSAndroid Build Coastguard Worker# GCOV_PREFIX_STRIP is an integer that defines how many levels should be 39*795d594fSAndroid Build Coastguard Worker# stripped off the beginning of the path. We want the paths in $GCOV_PREFIX to 40*795d594fSAndroid Build Coastguard Worker# be relative to $ANDROID_BUILD_TOP so we can just adb pull from the top and not 41*795d594fSAndroid Build Coastguard Worker# have to worry about placing things ourselves. 42*795d594fSAndroid Build Coastguard WorkerGCOV_PREFIX_STRIP := $(shell echo $(ANDROID_BUILD_TOP) | grep -o / | wc -l) 43*795d594fSAndroid Build Coastguard WorkerGCOV_ENV := GCOV_PREFIX=$(GCOV_PREFIX) GCOV_PREFIX_STRIP=$(GCOV_PREFIX_STRIP) 44*795d594fSAndroid Build Coastguard Workerelse 45*795d594fSAndroid Build Coastguard WorkerGCOV_ENV := 46*795d594fSAndroid Build Coastguard Workerendif 47*795d594fSAndroid Build Coastguard Worker 48*795d594fSAndroid Build Coastguard Workerifeq (,$(filter $(TARGET_ARCH),$(ART_TARGET_SUPPORTED_ARCH))) 49*795d594fSAndroid Build Coastguard Worker$(warning unsupported TARGET_ARCH=$(TARGET_ARCH)) 50*795d594fSAndroid Build Coastguard Workerendif 51*795d594fSAndroid Build Coastguard Workerifeq (,$(filter $(HOST_ARCH),$(ART_HOST_SUPPORTED_ARCH))) 52*795d594fSAndroid Build Coastguard Worker$(warning unsupported HOST_ARCH=$(HOST_ARCH)) 53*795d594fSAndroid Build Coastguard Workerendif 54*795d594fSAndroid Build Coastguard Worker 55*795d594fSAndroid Build Coastguard Worker# Primary vs. secondary 56*795d594fSAndroid Build Coastguard Worker2ND_TARGET_ARCH := $(TARGET_2ND_ARCH) 57*795d594fSAndroid Build Coastguard WorkerTARGET_INSTRUCTION_SET_FEATURES := $(DEX2OAT_TARGET_INSTRUCTION_SET_FEATURES) 58*795d594fSAndroid Build Coastguard Worker2ND_TARGET_INSTRUCTION_SET_FEATURES := $($(TARGET_2ND_ARCH_VAR_PREFIX)DEX2OAT_TARGET_INSTRUCTION_SET_FEATURES) 59*795d594fSAndroid Build Coastguard Workerifdef TARGET_2ND_ARCH 60*795d594fSAndroid Build Coastguard Worker ifneq ($(filter %64,$(TARGET_ARCH)),) 61*795d594fSAndroid Build Coastguard Worker ART_PHONY_TEST_TARGET_SUFFIX := 64 62*795d594fSAndroid Build Coastguard Worker 2ND_ART_PHONY_TEST_TARGET_SUFFIX := 32 63*795d594fSAndroid Build Coastguard Worker else 64*795d594fSAndroid Build Coastguard Worker ART_PHONY_TEST_TARGET_SUFFIX := 32 65*795d594fSAndroid Build Coastguard Worker 2ND_ART_PHONY_TEST_TARGET_SUFFIX := 66*795d594fSAndroid Build Coastguard Worker endif 67*795d594fSAndroid Build Coastguard Workerelse 68*795d594fSAndroid Build Coastguard Worker ifneq ($(filter %64,$(TARGET_ARCH)),) 69*795d594fSAndroid Build Coastguard Worker ART_PHONY_TEST_TARGET_SUFFIX := 64 70*795d594fSAndroid Build Coastguard Worker 2ND_ART_PHONY_TEST_TARGET_SUFFIX := 71*795d594fSAndroid Build Coastguard Worker else 72*795d594fSAndroid Build Coastguard Worker ART_PHONY_TEST_TARGET_SUFFIX := 32 73*795d594fSAndroid Build Coastguard Worker 2ND_ART_PHONY_TEST_TARGET_SUFFIX := 74*795d594fSAndroid Build Coastguard Worker endif 75*795d594fSAndroid Build Coastguard Workerendif 76*795d594fSAndroid Build Coastguard Worker 77*795d594fSAndroid Build Coastguard WorkerART_HOST_SHLIB_EXTENSION := $(HOST_SHLIB_SUFFIX) 78*795d594fSAndroid Build Coastguard WorkerART_HOST_SHLIB_EXTENSION ?= .so 79*795d594fSAndroid Build Coastguard Workerifeq ($(HOST_PREFER_32_BIT),true) 80*795d594fSAndroid Build Coastguard Worker ART_PHONY_TEST_HOST_SUFFIX := 32 81*795d594fSAndroid Build Coastguard Worker 2ND_ART_PHONY_TEST_HOST_SUFFIX := 82*795d594fSAndroid Build Coastguard Worker ART_HOST_ARCH := x86 83*795d594fSAndroid Build Coastguard Worker 2ND_ART_HOST_ARCH := 84*795d594fSAndroid Build Coastguard Worker 2ND_HOST_ARCH := 85*795d594fSAndroid Build Coastguard Worker ART_HOST_OUT_SHARED_LIBRARIES := $(2ND_HOST_OUT_SHARED_LIBRARIES) 86*795d594fSAndroid Build Coastguard Worker 2ND_ART_HOST_OUT_SHARED_LIBRARIES := 87*795d594fSAndroid Build Coastguard Workerelse 88*795d594fSAndroid Build Coastguard Worker ART_PHONY_TEST_HOST_SUFFIX := 64 89*795d594fSAndroid Build Coastguard Worker 2ND_ART_PHONY_TEST_HOST_SUFFIX := 32 90*795d594fSAndroid Build Coastguard Worker ART_HOST_ARCH := x86_64 91*795d594fSAndroid Build Coastguard Worker 2ND_ART_HOST_ARCH := x86 92*795d594fSAndroid Build Coastguard Worker 2ND_HOST_ARCH := x86 93*795d594fSAndroid Build Coastguard Worker ART_HOST_OUT_SHARED_LIBRARIES := $(HOST_OUT_SHARED_LIBRARIES) 94*795d594fSAndroid Build Coastguard Worker 2ND_ART_HOST_OUT_SHARED_LIBRARIES := $(2ND_HOST_OUT_SHARED_LIBRARIES) 95*795d594fSAndroid Build Coastguard Workerendif 96*795d594fSAndroid Build Coastguard Worker 97*795d594fSAndroid Build Coastguard WorkerADB_EXECUTABLE := $(HOST_OUT_EXECUTABLES)/adb 98*795d594fSAndroid Build Coastguard WorkerADB ?= $(ADB_EXECUTABLE) 99*795d594fSAndroid Build Coastguard Worker 100*795d594fSAndroid Build Coastguard Workerendif # ART_ANDROID_COMMON_MK 101