xref: /aosp_15_r20/art/build/Android.common.mk (revision 795d594fd825385562da6b089ea9b2033f3abf5a)
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