1#
2# Copyright (C) 2011 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17ifndef ART_ANDROID_COMMON_BUILD_MK
18ART_ANDROID_COMMON_BUILD_MK = true
19
20include art/build/Android.common.mk
21
22# These can be overridden via the environment or by editing to
23# enable/disable certain build configuration.
24#
25# For example, to disable everything but the host debug build you use:
26#
27# (export ART_BUILD_TARGET_NDEBUG=false && export ART_BUILD_TARGET_DEBUG=false && export ART_BUILD_HOST_NDEBUG=false && ...)
28#
29# Beware that tests may use the non-debug build for performance, notable 055-enum-performance
30#
31ART_BUILD_TARGET_NDEBUG ?= true
32ART_BUILD_TARGET_DEBUG ?= true
33ART_BUILD_HOST_NDEBUG ?= true
34ART_BUILD_HOST_DEBUG ?= true
35
36ifeq ($(ART_BUILD_TARGET_NDEBUG),false)
37$(info Disabling ART_BUILD_TARGET_NDEBUG)
38endif
39ifeq ($(ART_BUILD_TARGET_DEBUG),false)
40$(info Disabling ART_BUILD_TARGET_DEBUG)
41endif
42ifeq ($(ART_BUILD_HOST_NDEBUG),false)
43$(info Disabling ART_BUILD_HOST_NDEBUG)
44endif
45ifeq ($(ART_BUILD_HOST_DEBUG),false)
46$(info Disabling ART_BUILD_HOST_DEBUG)
47endif
48
49# Enable the read barrier by default.
50ART_USE_READ_BARRIER ?= true
51
52ART_CPP_EXTENSION := .cc
53
54ifndef LIBART_IMG_HOST_BASE_ADDRESS
55  $(error LIBART_IMG_HOST_BASE_ADDRESS unset)
56endif
57
58ifndef LIBART_IMG_TARGET_BASE_ADDRESS
59  $(error LIBART_IMG_TARGET_BASE_ADDRESS unset)
60endif
61
62# Support for disabling certain builds.
63ART_BUILD_TARGET := false
64ART_BUILD_HOST := false
65ifeq ($(ART_BUILD_TARGET_NDEBUG),true)
66  ART_BUILD_TARGET := true
67endif
68ifeq ($(ART_BUILD_TARGET_DEBUG),true)
69  ART_BUILD_TARGET := true
70endif
71ifeq ($(ART_BUILD_HOST_NDEBUG),true)
72  ART_BUILD_HOST := true
73endif
74ifeq ($(ART_BUILD_HOST_DEBUG),true)
75  ART_BUILD_HOST := true
76endif
77
78endif # ART_ANDROID_COMMON_BUILD_MK
79