summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorBrian Carlstrom <bdc@google.com>2013-07-12 18:05:20 -0700
committerBrian Carlstrom <bdc@google.com>2013-07-12 18:05:53 -0700
commit1db9113bcc12368e405583804ceb8aa7c80cc0cd (patch)
treeb826b626f901b6012adecf697cb979d371aca78f /build
parentbba5dd55b7deda3a3271be502f1d3b0c30a759d6 (diff)
parent7940e44f4517de5e2634a7e07d58d0fb26160513 (diff)
downloadart-1db9113bcc12368e405583804ceb8aa7c80cc0cd.zip
art-1db9113bcc12368e405583804ceb8aa7c80cc0cd.tar.gz
art-1db9113bcc12368e405583804ceb8aa7c80cc0cd.tar.bz2
resolved conflicts for merge of 7940e44f to dalvik-dev
Change-Id: I6529b2fc27dfaedd2cb87b3697d049ccabed36ee
Diffstat (limited to 'build')
-rw-r--r--build/Android.common.mk49
-rw-r--r--build/Android.executable.mk60
-rw-r--r--build/Android.gtest.mk90
-rw-r--r--build/Android.libart-compiler.mk223
-rw-r--r--build/Android.libart.mk371
-rw-r--r--build/Android.libarttest.mk2
-rw-r--r--build/Android.oattest.mk138
7 files changed, 109 insertions, 824 deletions
diff --git a/build/Android.common.mk b/build/Android.common.mk
index 671ce5c..fcaa2bd 100644
--- a/build/Android.common.mk
+++ b/build/Android.common.mk
@@ -14,6 +14,36 @@
# limitations under the License.
#
+# These can be overridden via the environment or by editing to
+# enable/disable certain build configuration.
+#
+# For example, to disable everything but the host debug build you use:
+#
+# (export ART_BUILD_TARGET_NDEBUG=false && export ART_BUILD_TARGET_DEBUG=false && export ART_BUILD_HOST_NDEBUG=false && ...)
+#
+# Beware that tests may use the non-debug build for performance, notable 055-enum-performance
+#
+ART_BUILD_TARGET_NDEBUG ?= true
+ART_BUILD_TARGET_DEBUG ?= true
+ART_BUILD_HOST_NDEBUG ?= true
+ART_BUILD_HOST_DEBUG ?= true
+
+ifeq ($(ART_BUILD_TARGET_NDEBUG),false)
+$(info Disabling ART_BUILD_TARGET_NDEBUG)
+endif
+ifeq ($(ART_BUILD_TARGET_DEBUG),false)
+$(info Disabling ART_BUILD_TARGET_DEBUG)
+endif
+ifeq ($(ART_BUILD_HOST_NDEBUG),false)
+$(info Disabling ART_BUILD_HOST_NDEBUG)
+endif
+ifeq ($(ART_BUILD_HOST_DEBUG),false)
+$(info Disabling ART_BUILD_HOST_DEBUG)
+endif
+
+#
+# Used to enable smart mode
+#
ART_SMALL_MODE := false
ifneq ($(wildcard art/SMALL_ART),)
$(info Enabling ART_SMALL_MODE because of existence of art/SMALL_ART)
@@ -23,6 +53,9 @@ ifeq ($(WITH_ART_SMALL_MODE), true)
ART_SMALL_MODE := true
endif
+#
+# Used to enable SEA mode
+#
ART_SEA_IR_MODE := false
ifneq ($(wildcard art/SEA_IR_ART),)
$(info Enabling ART_SEA_IR_MODE because of existence of art/SEA_IR_ART)
@@ -32,6 +65,9 @@ ifeq ($(WITH_ART_SEA_IR_MODE), true)
ART_SEA_IR_MODE := true
endif
+#
+# Used to enable portable mode
+#
ART_USE_PORTABLE_COMPILER := false
ifneq ($(wildcard art/USE_PORTABLE_COMPILER),)
$(info Enabling ART_USE_PORTABLE_COMPILER because of existence of art/USE_PORTABLE_COMPILER)
@@ -59,12 +95,14 @@ ART_TEST_OUT := $(TARGET_OUT_DATA)/art-test
ART_CPP_EXTENSION := .cc
+ART_HOST_SHLIB_EXTENSION := $(HOST_SHLIB_SUFFIX)
+ART_HOST_SHLIB_EXTENSION ?= .so
+
ART_C_INCLUDES := \
external/gtest/include \
external/valgrind/main/include \
external/zlib \
- frameworks/compile/mclinker/include \
- art/src
+ frameworks/compile/mclinker/include
art_cflags := \
-fno-rtti \
@@ -125,8 +163,11 @@ ifneq ($(filter 4.6 4.6.%, $(TARGET_GCC_VERSION)),)
else
# Warn if not using GCC 4.6 for target builds when not doing a top-level or 'mma' build.
ifneq ($(ONE_SHOT_MAKEFILE),)
- # Enable target GCC 4.6 with: export TARGET_GCC_VERSION_EXP=4.6
- $(info Using target GCC $(TARGET_GCC_VERSION) disables thread-safety checks.)
+ ifneq ($(ART_THREAD_SAFETY_CHECK_WARNING),true)
+ # Enable target GCC 4.6 with: export TARGET_GCC_VERSION_EXP=4.6
+ $(info Using target GCC $(TARGET_GCC_VERSION) disables thread-safety checks.)
+ ART_THREAD_SAFETY_CHECK_WARNING := true
+ endif
endif
endif
# We build with GCC 4.6 on the host.
diff --git a/build/Android.executable.mk b/build/Android.executable.mk
index e74645c..54f9926 100644
--- a/build/Android.executable.mk
+++ b/build/Android.executable.mk
@@ -14,11 +14,7 @@
# limitations under the License.
#
-DEX2OAT_SRC_FILES := \
- src/dex2oat.cc
-
-OATDUMP_SRC_FILES := \
- src/oatdump.cc
+include art/build/Android.common.mk
ART_HOST_EXECUTABLES :=
ART_TARGET_EXECUTABLES :=
@@ -30,26 +26,28 @@ endif
# $(1): executable ("d" will be appended for debug version)
# $(2): source
-# $(3): shared libraries
-# $(4): target or host
-# $(5): ndebug or debug
+# $(3): extra shared libraries
+# $(4): extra include directories
+# $(5): target or host
+# $(6): ndebug or debug
define build-art-executable
- ifneq ($(4),target)
- ifneq ($(4),host)
- $$(error expected target or host for argument 4, received $(4))
+ ifneq ($(5),target)
+ ifneq ($(5),host)
+ $$(error expected target or host for argument 5, received $(5))
endif
endif
- ifneq ($(5),ndebug)
- ifneq ($(5),debug)
- $$(error expected ndebug or debug for argument 5, received $(5))
+ ifneq ($(6),ndebug)
+ ifneq ($(6),debug)
+ $$(error expected ndebug or debug for argument 6, received $(6))
endif
endif
art_executable := $(1)
art_source := $(2)
art_shared_libraries := $(3)
- art_target_or_host := $(4)
- art_ndebug_or_debug := $(5)
+ art_c_includes := $(4)
+ art_target_or_host := $(5)
+ art_ndebug_or_debug := $(6)
include $(CLEAR_VARS)
ifeq ($$(art_target_or_host),target)
@@ -59,7 +57,7 @@ define build-art-executable
LOCAL_CPP_EXTENSION := $(ART_CPP_EXTENSION)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $$(art_source)
- LOCAL_C_INCLUDES += $(ART_C_INCLUDES)
+ LOCAL_C_INCLUDES += $(ART_C_INCLUDES) art/runtime $$(art_c_includes)
LOCAL_SHARED_LIBRARIES := $$(art_shared_libraries) # libnativehelper
ifeq ($$(art_ndebug_or_debug),ndebug)
@@ -97,8 +95,8 @@ define build-art-executable
LOCAL_SHARED_LIBRARIES += libstlport
endif
- LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/build/Android.common.mk
- LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/build/Android.executable.mk
+ LOCAL_ADDITIONAL_DEPENDENCIES := art/build/Android.common.mk
+ LOCAL_ADDITIONAL_DEPENDENCIES += art/build/Android.executable.mk
ifeq ($$(art_target_or_host),target)
include $(BUILD_EXECUTABLE)
@@ -109,27 +107,3 @@ define build-art-executable
endif
endef
-
-ifeq ($(ART_BUILD_TARGET_NDEBUG),true)
- $(eval $(call build-art-executable,dex2oat,$(DEX2OAT_SRC_FILES),libart-compiler,target,ndebug))
- $(eval $(call build-art-executable,oatdump,$(OATDUMP_SRC_FILES),,target,ndebug))
-endif
-ifeq ($(ART_BUILD_TARGET_DEBUG),true)
- $(eval $(call build-art-executable,dex2oat,$(DEX2OAT_SRC_FILES),libartd-compiler,target,debug))
- $(eval $(call build-art-executable,oatdump,$(OATDUMP_SRC_FILES),,target,debug))
-endif
-
-# We always build dex2oat and dependencies, even if the host build is otherwise disabled, since they are used to cross compile for the target.
-ifeq ($(ART_BUILD_NDEBUG),true)
- $(eval $(call build-art-executable,dex2oat,$(DEX2OAT_SRC_FILES),libart-compiler,host,ndebug))
-endif
-ifeq ($(ART_BUILD_NDEBUG),true)
- $(eval $(call build-art-executable,dex2oat,$(DEX2OAT_SRC_FILES),libartd-compiler,host,debug))
-endif
-
-ifeq ($(ART_BUILD_HOST_NDEBUG),true)
- $(eval $(call build-art-executable,oatdump,$(OATDUMP_SRC_FILES),,host,ndebug))
-endif
-ifeq ($(ART_BUILD_HOST_DEBUG),true)
- $(eval $(call build-art-executable,oatdump,$(OATDUMP_SRC_FILES),,host,debug))
-endif
diff --git a/build/Android.gtest.mk b/build/Android.gtest.mk
index 46311e7..99ee14f 100644
--- a/build/Android.gtest.mk
+++ b/build/Android.gtest.mk
@@ -14,46 +14,48 @@
# limitations under the License.
#
+LOCAL_PATH := art
+
TEST_COMMON_SRC_FILES := \
- src/barrier_test.cc \
- src/base/histogram_test.cc \
- src/base/mutex_test.cc \
- src/base/unix_file/fd_file_test.cc \
- src/base/unix_file/mapped_file_test.cc \
- src/base/unix_file/null_file_test.cc \
- src/base/unix_file/random_access_file_utils_test.cc \
- src/base/unix_file/string_file_test.cc \
- src/class_linker_test.cc \
- src/compiler/driver/compiler_driver_test.cc \
- src/compiler/elf_writer_test.cc \
- src/compiler/jni/jni_compiler_test.cc \
- src/dex_file_test.cc \
- src/dex_instruction_visitor_test.cc \
- src/dex_method_iterator_test.cc \
- src/exception_test.cc \
- src/gc/accounting/space_bitmap_test.cc \
- src/gc/heap_test.cc \
- src/gc/space/space_test.cc \
- src/gtest_test.cc \
- src/image_test.cc \
- src/indenter_test.cc \
- src/indirect_reference_table_test.cc \
- src/intern_table_test.cc \
- src/jni_internal_test.cc \
- src/mirror/dex_cache_test.cc \
- src/mirror/object_test.cc \
- src/oat/utils/arm/managed_register_arm_test.cc \
- src/oat/utils/x86/managed_register_x86_test.cc \
- src/oat_test.cc \
- src/output_stream_test.cc \
- src/reference_table_test.cc \
- src/runtime_support_test.cc \
- src/runtime_test.cc \
- src/thread_pool_test.cc \
- src/utils_test.cc \
- src/verifier/method_verifier_test.cc \
- src/verifier/reg_type_test.cc \
- src/zip_archive_test.cc
+ runtime/barrier_test.cc \
+ runtime/base/histogram_test.cc \
+ runtime/base/mutex_test.cc \
+ runtime/base/unix_file/fd_file_test.cc \
+ runtime/base/unix_file/mapped_file_test.cc \
+ runtime/base/unix_file/null_file_test.cc \
+ runtime/base/unix_file/random_access_file_utils_test.cc \
+ runtime/base/unix_file/string_file_test.cc \
+ runtime/class_linker_test.cc \
+ runtime/dex_file_test.cc \
+ runtime/dex_instruction_visitor_test.cc \
+ runtime/dex_method_iterator_test.cc \
+ runtime/exception_test.cc \
+ runtime/gc/accounting/space_bitmap_test.cc \
+ runtime/gc/heap_test.cc \
+ runtime/gc/space/space_test.cc \
+ runtime/gtest_test.cc \
+ runtime/image_test.cc \
+ runtime/indenter_test.cc \
+ runtime/indirect_reference_table_test.cc \
+ runtime/intern_table_test.cc \
+ runtime/jni_internal_test.cc \
+ runtime/mirror/dex_cache_test.cc \
+ runtime/mirror/object_test.cc \
+ runtime/oat/utils/arm/managed_register_arm_test.cc \
+ runtime/oat/utils/x86/managed_register_x86_test.cc \
+ runtime/oat_test.cc \
+ runtime/output_stream_test.cc \
+ runtime/reference_table_test.cc \
+ runtime/runtime_support_test.cc \
+ runtime/runtime_test.cc \
+ runtime/thread_pool_test.cc \
+ runtime/utils_test.cc \
+ runtime/verifier/method_verifier_test.cc \
+ runtime/verifier/reg_type_test.cc \
+ runtime/zip_archive_test.cc \
+ compiler/driver/compiler_driver_test.cc \
+ compiler/elf_writer_test.cc \
+ compiler/jni/jni_compiler_test.cc
ifeq ($(ART_SEA_IR_MODE),true)
TEST_COMMON_SRC_FILES += \
@@ -65,7 +67,7 @@ TEST_TARGET_SRC_FILES := \
TEST_HOST_SRC_FILES := \
$(TEST_COMMON_SRC_FILES) \
- src/oat/utils/x86/assembler_x86_test.cc
+ runtime/oat/utils/x86/assembler_x86_test.cc
ART_HOST_TEST_EXECUTABLES :=
ART_TARGET_TEST_EXECUTABLES :=
@@ -101,11 +103,11 @@ define build-art-test
ifeq ($$(art_target_or_host),target)
LOCAL_MODULE_TAGS := tests
endif
- LOCAL_SRC_FILES := $$(art_gtest_filename) src/common_test.cc
- LOCAL_C_INCLUDES += $(ART_C_INCLUDES)
+ LOCAL_SRC_FILES := $$(art_gtest_filename) runtime/common_test.cc
+ LOCAL_C_INCLUDES += $(ART_C_INCLUDES) art/runtime art/compiler
LOCAL_SHARED_LIBRARIES := libartd-compiler libartd
- LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/build/Android.common.mk
- LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/build/Android.gtest.mk
+ LOCAL_ADDITIONAL_DEPENDENCIES := art/build/Android.common.mk
+ LOCAL_ADDITIONAL_DEPENDENCIES += art/build/Android.gtest.mk
# Mac OS linker doesn't understand --export-dynamic.
ifneq ($(HOST_OS)-$$(art_target_or_host),darwin-host)
diff --git a/build/Android.libart-compiler.mk b/build/Android.libart-compiler.mk
deleted file mode 100644
index ce6edba..0000000
--- a/build/Android.libart-compiler.mk
+++ /dev/null
@@ -1,223 +0,0 @@
-#
-# Copyright (C) 2012 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LIBART_COMPILER_SRC_FILES := \
- src/compiler/dex/local_value_numbering.cc \
- src/compiler/dex/arena_allocator.cc \
- src/compiler/dex/arena_bit_vector.cc \
- src/compiler/dex/quick/arm/assemble_arm.cc \
- src/compiler/dex/quick/arm/call_arm.cc \
- src/compiler/dex/quick/arm/fp_arm.cc \
- src/compiler/dex/quick/arm/int_arm.cc \
- src/compiler/dex/quick/arm/target_arm.cc \
- src/compiler/dex/quick/arm/utility_arm.cc \
- src/compiler/dex/quick/codegen_util.cc \
- src/compiler/dex/quick/gen_common.cc \
- src/compiler/dex/quick/gen_invoke.cc \
- src/compiler/dex/quick/gen_loadstore.cc \
- src/compiler/dex/quick/local_optimizations.cc \
- src/compiler/dex/quick/mips/assemble_mips.cc \
- src/compiler/dex/quick/mips/call_mips.cc \
- src/compiler/dex/quick/mips/fp_mips.cc \
- src/compiler/dex/quick/mips/int_mips.cc \
- src/compiler/dex/quick/mips/target_mips.cc \
- src/compiler/dex/quick/mips/utility_mips.cc \
- src/compiler/dex/quick/mir_to_lir.cc \
- src/compiler/dex/quick/ralloc_util.cc \
- src/compiler/dex/quick/x86/assemble_x86.cc \
- src/compiler/dex/quick/x86/call_x86.cc \
- src/compiler/dex/quick/x86/fp_x86.cc \
- src/compiler/dex/quick/x86/int_x86.cc \
- src/compiler/dex/quick/x86/target_x86.cc \
- src/compiler/dex/quick/x86/utility_x86.cc \
- src/compiler/dex/portable/mir_to_gbc.cc \
- src/compiler/dex/dex_to_dex_compiler.cc \
- src/compiler/dex/mir_dataflow.cc \
- src/compiler/dex/mir_optimization.cc \
- src/compiler/dex/frontend.cc \
- src/compiler/dex/mir_graph.cc \
- src/compiler/dex/vreg_analysis.cc \
- src/compiler/dex/ssa_transformation.cc \
- src/compiler/driver/compiler_driver.cc \
- src/compiler/driver/dex_compilation_unit.cc \
- src/compiler/jni/portable/jni_compiler.cc \
- src/compiler/jni/quick/arm/calling_convention_arm.cc \
- src/compiler/jni/quick/mips/calling_convention_mips.cc \
- src/compiler/jni/quick/x86/calling_convention_x86.cc \
- src/compiler/jni/quick/calling_convention.cc \
- src/compiler/jni/quick/jni_compiler.cc \
- src/compiler/llvm/compiler_llvm.cc \
- src/compiler/llvm/gbc_expander.cc \
- src/compiler/llvm/generated/art_module.cc \
- src/compiler/llvm/intrinsic_helper.cc \
- src/compiler/llvm/ir_builder.cc \
- src/compiler/llvm/llvm_compilation_unit.cc \
- src/compiler/llvm/md_builder.cc \
- src/compiler/llvm/runtime_support_builder.cc \
- src/compiler/llvm/runtime_support_builder_arm.cc \
- src/compiler/llvm/runtime_support_builder_thumb2.cc \
- src/compiler/llvm/runtime_support_builder_x86.cc \
- src/compiler/stubs/portable/stubs.cc \
- src/compiler/stubs/quick/stubs.cc \
- src/compiler/elf_fixup.cc \
- src/compiler/elf_stripper.cc \
- src/compiler/elf_writer.cc \
- src/compiler/elf_writer_quick.cc \
- src/compiler/image_writer.cc \
- src/compiler/oat_writer.cc
-
-ifeq ($(ART_SEA_IR_MODE),true)
-LIBART_COMPILER_SRC_FILES += \
- src/compiler/sea_ir/frontend.cc \
- src/compiler/sea_ir/instruction_tools.cc
-endif
-
-LIBART_COMPILER_CFLAGS :=
-ifeq ($(ART_USE_PORTABLE_COMPILER),true)
- LIBART_COMPILER_SRC_FILES += src/compiler/elf_writer_mclinker.cc
- LIBART_COMPILER_CFLAGS += -DART_USE_PORTABLE_COMPILER=1
-endif
-
-# $(1): target or host
-# $(2): ndebug or debug
-define build-libart-compiler
- ifneq ($(1),target)
- ifneq ($(1),host)
- $$(error expected target or host for argument 1, received $(1))
- endif
- endif
- ifneq ($(2),ndebug)
- ifneq ($(2),debug)
- $$(error expected ndebug or debug for argument 2, received $(2))
- endif
- endif
-
- art_target_or_host := $(1)
- art_ndebug_or_debug := $(2)
-
- include $(CLEAR_VARS)
- ifeq ($$(art_target_or_host),target)
- include external/stlport/libstlport.mk
- endif
- LOCAL_CPP_EXTENSION := $(ART_CPP_EXTENSION)
- ifeq ($$(art_ndebug_or_debug),ndebug)
- LOCAL_MODULE := libart-compiler
- else # debug
- LOCAL_MODULE := libartd-compiler
- endif
-
- LOCAL_MODULE_TAGS := optional
- LOCAL_MODULE_CLASS := SHARED_LIBRARIES
-
- LOCAL_SRC_FILES := $$(LIBART_COMPILER_SRC_FILES)
-
- LOCAL_CFLAGS := $$(LIBART_COMPILER_CFLAGS)
- ifeq ($$(art_target_or_host),target)
- LOCAL_CLANG := $(ART_TARGET_CLANG)
- LOCAL_CFLAGS += $(ART_TARGET_CFLAGS)
- else # host
- LOCAL_CLANG := $(ART_HOST_CLANG)
- LOCAL_CFLAGS += $(ART_HOST_CFLAGS)
- endif
-
- # TODO: clean up the compilers and remove this.
- LOCAL_CFLAGS += -Wno-unused-parameter
-
- LOCAL_SHARED_LIBRARIES := liblog
- ifeq ($$(art_ndebug_or_debug),debug)
- ifeq ($$(art_target_or_host),target)
- LOCAL_CFLAGS += $(ART_TARGET_DEBUG_CFLAGS)
- else # host
- LOCAL_CFLAGS += $(ART_HOST_DEBUG_CFLAGS)
- endif
- LOCAL_SHARED_LIBRARIES += libartd
- else
- ifeq ($$(art_target_or_host),target)
- LOCAL_CFLAGS += $(ART_TARGET_NON_DEBUG_CFLAGS)
- else # host
- LOCAL_CFLAGS += $(ART_HOST_NON_DEBUG_CFLAGS)
- endif
- LOCAL_SHARED_LIBRARIES += libart
- endif
- LOCAL_SHARED_LIBRARIES += libbcc libLLVM
-
- ifeq ($(ART_USE_PORTABLE_COMPILER),true)
- LOCAL_CFLAGS += -DART_USE_PORTABLE_COMPILER=1
- endif
-
- LOCAL_C_INCLUDES += $(ART_C_INCLUDES)
-
- ifeq ($$(art_target_or_host),target)
- LOCAL_SHARED_LIBRARIES += libstlport
- else # host
- LOCAL_LDLIBS := -ldl -lpthread
- endif
- LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/build/Android.common.mk
- LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/build/Android.libart-compiler.mk
- ifeq ($$(art_target_or_host),target)
- LOCAL_SHARED_LIBRARIES += libcutils
- include $(LLVM_GEN_INTRINSICS_MK)
- include $(LLVM_DEVICE_BUILD_MK)
- include $(BUILD_SHARED_LIBRARY)
- else # host
- LOCAL_IS_HOST_MODULE := true
- LOCAL_STATIC_LIBRARIES += libcutils
- include $(LLVM_GEN_INTRINSICS_MK)
- include $(LLVM_HOST_BUILD_MK)
- include $(BUILD_HOST_SHARED_LIBRARY)
- endif
-
- ifeq ($$(art_target_or_host),target)
- ifeq ($$(art_ndebug_or_debug),debug)
- $(TARGET_OUT_EXECUTABLES)/dex2oatd: $$(LOCAL_INSTALLED_MODULE)
- else
- $(TARGET_OUT_EXECUTABLES)/dex2oat: $$(LOCAL_INSTALLED_MODULE)
- endif
- else # host
- ifeq ($$(art_ndebug_or_debug),debug)
- $(HOST_OUT_EXECUTABLES)/dex2oatd: $$(LOCAL_INSTALLED_MODULE)
- else
- $(HOST_OUT_EXECUTABLES)/dex2oat: $$(LOCAL_INSTALLED_MODULE)
- endif
- endif
-
-endef
-
-ifeq ($(ART_BUILD_TARGET_NDEBUG),true)
- $(eval $(call build-libart-compiler,target,ndebug))
-endif
-ifeq ($(ART_BUILD_TARGET_DEBUG),true)
- $(eval $(call build-libart-compiler,target,debug))
-endif
-# We always build dex2oat and dependencies, even if the host build is otherwise disabled, since they are used to cross compile for the target.
-ifeq ($(ART_BUILD_NDEBUG),true)
- $(eval $(call build-libart-compiler,host,ndebug))
-endif
-ifeq ($(ART_BUILD_DEBUG),true)
- $(eval $(call build-libart-compiler,host,debug))
-endif
-
-# Rule to build /system/lib/libcompiler_rt.a
-# Usually static libraries are not installed on the device.
-ifeq ($(ART_USE_PORTABLE_COMPILER),true)
-ifeq ($(ART_BUILD_TARGET),true)
-# TODO: Move to external/compiler_rt
-$(eval $(call copy-one-file, $(call intermediates-dir-for,STATIC_LIBRARIES,libcompiler_rt,,)/libcompiler_rt.a, $(TARGET_OUT_SHARED_LIBRARIES)/libcompiler_rt.a))
-
-$(DEX2OAT): $(TARGET_OUT_SHARED_LIBRARIES)/libcompiler_rt.a
-
-endif
-endif
diff --git a/build/Android.libart.mk b/build/Android.libart.mk
deleted file mode 100644
index 2f17583..0000000
--- a/build/Android.libart.mk
+++ /dev/null
@@ -1,371 +0,0 @@
-#
-# Copyright (C) 2011 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LIBART_COMMON_SRC_FILES := \
- src/atomic.cc.arm \
- src/barrier.cc \
- src/base/logging.cc \
- src/base/mutex.cc \
- src/base/stringpiece.cc \
- src/base/stringprintf.cc \
- src/base/timing_logger.cc \
- src/base/unix_file/fd_file.cc \
- src/base/unix_file/mapped_file.cc \
- src/base/unix_file/null_file.cc \
- src/base/unix_file/random_access_file_utils.cc \
- src/base/unix_file/string_file.cc \
- src/check_jni.cc \
- src/class_linker.cc \
- src/common_throws.cc \
- src/compiled_method.cc \
- src/debugger.cc \
- src/dex_file.cc \
- src/dex_file_verifier.cc \
- src/dex_instruction.cc \
- src/disassembler.cc \
- src/disassembler_arm.cc \
- src/disassembler_mips.cc \
- src/disassembler_x86.cc \
- src/elf_file.cc \
- src/file_output_stream.cc \
- src/gc/allocator/dlmalloc.cc \
- src/gc/accounting/card_table.cc \
- src/gc/accounting/heap_bitmap.cc \
- src/gc/accounting/mod_union_table.cc \
- src/gc/accounting/space_bitmap.cc \
- src/gc/collector/garbage_collector.cc \
- src/gc/collector/mark_sweep.cc \
- src/gc/collector/partial_mark_sweep.cc \
- src/gc/collector/sticky_mark_sweep.cc \
- src/gc/heap.cc \
- src/gc/space/dlmalloc_space.cc \
- src/gc/space/image_space.cc \
- src/gc/space/large_object_space.cc \
- src/gc/space/space.cc \
- src/hprof/hprof.cc \
- src/image.cc \
- src/indirect_reference_table.cc \
- src/instrumentation.cc \
- src/intern_table.cc \
- src/interpreter/interpreter.cc \
- src/jdwp/jdwp_event.cc \
- src/jdwp/jdwp_expand_buf.cc \
- src/jdwp/jdwp_handler.cc \
- src/jdwp/jdwp_main.cc \
- src/jdwp/jdwp_request.cc \
- src/jdwp/jdwp_socket.cc \
- src/jdwp/object_registry.cc \
- src/jni_internal.cc \
- src/jobject_comparator.cc \
- src/locks.cc \
- src/mem_map.cc \
- src/memory_region.cc \
- src/mirror/abstract_method.cc \
- src/mirror/array.cc \
- src/mirror/class.cc \
- src/mirror/dex_cache.cc \
- src/mirror/field.cc \
- src/mirror/object.cc \
- src/mirror/stack_trace_element.cc \
- src/mirror/string.cc \
- src/mirror/throwable.cc \
- src/monitor.cc \
- src/native/dalvik_system_DexFile.cc \
- src/native/dalvik_system_VMDebug.cc \
- src/native/dalvik_system_VMRuntime.cc \
- src/native/dalvik_system_VMStack.cc \
- src/native/dalvik_system_Zygote.cc \
- src/native/java_lang_Class.cc \
- src/native/java_lang_Object.cc \
- src/native/java_lang_Runtime.cc \
- src/native/java_lang_String.cc \
- src/native/java_lang_System.cc \
- src/native/java_lang_Thread.cc \
- src/native/java_lang_Throwable.cc \
- src/native/java_lang_VMClassLoader.cc \
- src/native/java_lang_reflect_Array.cc \
- src/native/java_lang_reflect_Constructor.cc \
- src/native/java_lang_reflect_Field.cc \
- src/native/java_lang_reflect_Method.cc \
- src/native/java_lang_reflect_Proxy.cc \
- src/native/java_util_concurrent_atomic_AtomicLong.cc \
- src/native/org_apache_harmony_dalvik_ddmc_DdmServer.cc \
- src/native/org_apache_harmony_dalvik_ddmc_DdmVmInternal.cc \
- src/native/sun_misc_Unsafe.cc \
- src/oat.cc \
- src/oat/utils/arm/assembler_arm.cc \
- src/oat/utils/arm/managed_register_arm.cc \
- src/oat/utils/assembler.cc \
- src/oat/utils/mips/assembler_mips.cc \
- src/oat/utils/mips/managed_register_mips.cc \
- src/oat/utils/x86/assembler_x86.cc \
- src/oat/utils/x86/managed_register_x86.cc \
- src/oat_file.cc \
- src/offsets.cc \
- src/os_linux.cc \
- src/primitive.cc \
- src/reference_table.cc \
- src/reflection.cc \
- src/runtime.cc \
- src/runtime_support.cc \
- src/runtime_support_llvm.cc \
- src/signal_catcher.cc \
- src/stack.cc \
- src/thread.cc \
- src/thread_list.cc \
- src/thread_pool.cc \
- src/throw_location.cc \
- src/trace.cc \
- src/utf.cc \
- src/utils.cc \
- src/vector_output_stream.cc \
- src/verifier/dex_gc_map.cc \
- src/verifier/instruction_flags.cc \
- src/verifier/method_verifier.cc \
- src/verifier/reg_type.cc \
- src/verifier/reg_type_cache.cc \
- src/verifier/register_line.cc \
- src/well_known_classes.cc \
- src/zip_archive.cc
-
-LIBART_COMMON_SRC_FILES += \
- src/oat/runtime/context.cc \
- src/oat/runtime/support_alloc.cc \
- src/oat/runtime/support_cast.cc \
- src/oat/runtime/support_deoptimize.cc \
- src/oat/runtime/support_dexcache.cc \
- src/oat/runtime/support_field.cc \
- src/oat/runtime/support_fillarray.cc \
- src/oat/runtime/support_instrumentation.cc \
- src/oat/runtime/support_invoke.cc \
- src/oat/runtime/support_jni.cc \
- src/oat/runtime/support_locks.cc \
- src/oat/runtime/support_math.cc \
- src/oat/runtime/support_proxy.cc \
- src/oat/runtime/support_stubs.cc \
- src/oat/runtime/support_thread.cc \
- src/oat/runtime/support_throw.cc \
- src/oat/runtime/support_interpreter.cc
-
-ifeq ($(ART_SEA_IR_MODE),true)
-LIBART_COMMON_SRC_FILES += \
- src/compiler/sea_ir/sea.cc \
- src/compiler/sea_ir/instruction_tools.cc
-endif
-
-LIBART_TARGET_SRC_FILES := \
- $(LIBART_COMMON_SRC_FILES) \
- src/base/logging_android.cc \
- src/jdwp/jdwp_adb.cc \
- src/monitor_android.cc \
- src/runtime_android.cc \
- src/thread_android.cc
-
-ifeq ($(TARGET_ARCH),arm)
-LIBART_TARGET_SRC_FILES += \
- src/oat/runtime/arm/context_arm.cc.arm \
- src/oat/runtime/arm/oat_support_entrypoints_arm.cc \
- src/oat/runtime/arm/runtime_support_arm.S
-else # TARGET_ARCH != arm
-ifeq ($(TARGET_ARCH),x86)
-LIBART_TARGET_SRC_FILES += \
- src/oat/runtime/x86/context_x86.cc \
- src/oat/runtime/x86/oat_support_entrypoints_x86.cc \
- src/oat/runtime/x86/runtime_support_x86.S
-else # TARGET_ARCH != x86
-ifeq ($(TARGET_ARCH),mips)
-LIBART_TARGET_SRC_FILES += \
- src/oat/runtime/mips/context_mips.cc \
- src/oat/runtime/mips/oat_support_entrypoints_mips.cc \
- src/oat/runtime/mips/runtime_support_mips.S
-else # TARGET_ARCH != mips
-$(error unsupported TARGET_ARCH=$(TARGET_ARCH))
-endif # TARGET_ARCH != mips
-endif # TARGET_ARCH != x86
-endif # TARGET_ARCH != arm
-
-ifeq ($(TARGET_ARCH),arm)
-LIBART_TARGET_SRC_FILES += src/thread_arm.cc
-else # TARGET_ARCH != arm
-ifeq ($(TARGET_ARCH),x86)
-LIBART_TARGET_SRC_FILES += src/thread_x86.cc
-else # TARGET_ARCH != x86
-ifeq ($(TARGET_ARCH),mips)
-LIBART_TARGET_SRC_FILES += src/thread_mips.cc
-else # TARGET_ARCH != mips
-$(error unsupported TARGET_ARCH=$(TARGET_ARCH))
-endif # TARGET_ARCH != mips
-endif # TARGET_ARCH != x86
-endif # TARGET_ARCH != arm
-
-LIBART_HOST_SRC_FILES := \
- $(LIBART_COMMON_SRC_FILES) \
- src/base/logging_linux.cc \
- src/monitor_linux.cc \
- src/runtime_linux.cc \
- src/thread_linux.cc
-
-ifeq ($(HOST_ARCH),x86)
-LIBART_HOST_SRC_FILES += \
- src/oat/runtime/x86/context_x86.cc \
- src/oat/runtime/x86/oat_support_entrypoints_x86.cc \
- src/oat/runtime/x86/runtime_support_x86.S
-else # HOST_ARCH != x86
-$(error unsupported HOST_ARCH=$(HOST_ARCH))
-endif # HOST_ARCH != x86
-
-ifeq ($(HOST_ARCH),x86)
-LIBART_HOST_SRC_FILES += src/thread_x86.cc
-else # HOST_ARCH != x86
-$(error unsupported HOST_ARCH=$(HOST_ARCH))
-endif # HOST_ARCH != x86
-
-
-LIBART_ENUM_OPERATOR_OUT_HEADER_FILES := \
- src/base/mutex.h \
- src/compiler/dex/compiler_enums.h \
- src/dex_file.h \
- src/dex_instruction.h \
- src/gc/collector/gc_type.h \
- src/gc/space/space.h \
- src/gc/heap.h \
- src/indirect_reference_table.h \
- src/instruction_set.h \
- src/invoke_type.h \
- src/jdwp/jdwp.h \
- src/jdwp/jdwp_constants.h \
- src/locks.h \
- src/mirror/class.h \
- src/thread.h \
- src/thread_state.h \
- src/verifier/method_verifier.h
-
-LIBART_CFLAGS :=
-ifeq ($(ART_USE_PORTABLE_COMPILER),true)
- LIBART_CFLAGS += -DART_USE_PORTABLE_COMPILER=1
-endif
-
-# $(1): target or host
-# $(2): ndebug or debug
-define build-libart
- ifneq ($(1),target)
- ifneq ($(1),host)
- $$(error expected target or host for argument 1, received $(1))
- endif
- endif
- ifneq ($(2),ndebug)
- ifneq ($(2),debug)
- $$(error expected ndebug or debug for argument 2, received $(2))
- endif
- endif
-
- art_target_or_host := $(1)
- art_ndebug_or_debug := $(2)
-
- include $(CLEAR_VARS)
- ifeq ($$(art_target_or_host),target)
- include external/stlport/libstlport.mk
- endif
- LOCAL_CPP_EXTENSION := $(ART_CPP_EXTENSION)
- ifeq ($$(art_ndebug_or_debug),ndebug)
- LOCAL_MODULE := libart
- else # debug
- LOCAL_MODULE := libartd
- endif
-
- LOCAL_MODULE_TAGS := optional
- LOCAL_MODULE_CLASS := SHARED_LIBRARIES
-
- ifeq ($$(art_target_or_host),target)
- LOCAL_SRC_FILES := $(LIBART_TARGET_SRC_FILES)
- else # host
- LOCAL_SRC_FILES := $(LIBART_HOST_SRC_FILES)
- LOCAL_IS_HOST_MODULE := true
- endif
-
- GENERATED_SRC_DIR := $$(call intermediates-dir-for,$$(LOCAL_MODULE_CLASS),$$(LOCAL_MODULE),$$(LOCAL_IS_HOST_MODULE),)
- ENUM_OPERATOR_OUT_CC_FILES := $$(patsubst %.h,%_operator_out.cc,$$(LIBART_ENUM_OPERATOR_OUT_HEADER_FILES))
- ENUM_OPERATOR_OUT_GEN := $$(addprefix $$(GENERATED_SRC_DIR)/,$$(ENUM_OPERATOR_OUT_CC_FILES))
-
-$$(ENUM_OPERATOR_OUT_GEN): art/tools/generate-operator-out.py
-$$(ENUM_OPERATOR_OUT_GEN): PRIVATE_CUSTOM_TOOL = art/tools/generate-operator-out.py $$< > $$@
-$$(ENUM_OPERATOR_OUT_GEN): $$(GENERATED_SRC_DIR)/%_operator_out.cc : art/%.h
- $$(transform-generated-source)
-
- LOCAL_GENERATED_SOURCES += $$(ENUM_OPERATOR_OUT_GEN)
-
- LOCAL_CFLAGS := $(LIBART_CFLAGS)
- ifeq ($$(art_target_or_host),target)
- LOCAL_CLANG := $(ART_TARGET_CLANG)
- LOCAL_CFLAGS += $(ART_TARGET_CFLAGS)
- else # host
- LOCAL_CLANG := $(ART_HOST_CLANG)
- LOCAL_CFLAGS += $(ART_HOST_CFLAGS)
- endif
- ifeq ($$(art_ndebug_or_debug),debug)
- ifeq ($$(art_target_or_host),target)
- LOCAL_CFLAGS += $(ART_TARGET_DEBUG_CFLAGS)
- else # host
- LOCAL_CFLAGS += $(ART_HOST_DEBUG_CFLAGS)
- LOCAL_LDLIBS += $(ART_HOST_DEBUG_LDLIBS)
- LOCAL_STATIC_LIBRARIES := libgtest_host
- endif
- else
- ifeq ($$(art_target_or_host),target)
- LOCAL_CFLAGS += $(ART_TARGET_NON_DEBUG_CFLAGS)
- else # host
- LOCAL_CFLAGS += $(ART_HOST_NON_DEBUG_CFLAGS)
- endif
- endif
- LOCAL_C_INCLUDES += $(ART_C_INCLUDES)
- LOCAL_SHARED_LIBRARIES := liblog libnativehelper
- LOCAL_SHARED_LIBRARIES += libcorkscrew # native stack trace support
- ifeq ($$(art_target_or_host),target)
- LOCAL_SHARED_LIBRARIES += libcutils libstlport libz libdl libselinux
- else # host
- LOCAL_STATIC_LIBRARIES += libcutils
- LOCAL_SHARED_LIBRARIES += libz-host
- LOCAL_LDLIBS += -ldl -lpthread
- ifeq ($(HOST_OS),linux)
- LOCAL_LDLIBS += -lrt
- endif
- endif
- include $(LLVM_GEN_INTRINSICS_MK)
- LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/build/Android.common.mk
- LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/build/Android.libart.mk
- ifeq ($$(art_target_or_host),target)
- include $(LLVM_DEVICE_BUILD_MK)
- include $(BUILD_SHARED_LIBRARY)
- else # host
- include $(LLVM_HOST_BUILD_MK)
- include $(BUILD_HOST_SHARED_LIBRARY)
- endif
-endef
-
-ifeq ($(ART_BUILD_TARGET_NDEBUG),true)
- $(eval $(call build-libart,target,ndebug))
-endif
-ifeq ($(ART_BUILD_TARGET_DEBUG),true)
- $(eval $(call build-libart,target,debug))
-endif
-
-# We always build dex2oat and dependencies, even if the host build is otherwise disabled, since they are used to cross compile for the target.
-ifeq ($(ART_BUILD_NDEBUG),true)
- $(eval $(call build-libart,host,ndebug))
-endif
-ifeq ($(ART_BUILD_DEBUG),true)
- $(eval $(call build-libart,host,debug))
-endif
diff --git a/build/Android.libarttest.mk b/build/Android.libarttest.mk
index 64f8368..239f6c1 100644
--- a/build/Android.libarttest.mk
+++ b/build/Android.libarttest.mk
@@ -40,7 +40,7 @@ define build-libarttest
endif
LOCAL_SRC_FILES := $(LIBARTTEST_COMMON_SRC_FILES)
LOCAL_SHARED_LIBRARIES := libartd
- LOCAL_C_INCLUDES += $(ART_C_INCLUDES)
+ LOCAL_C_INCLUDES += $(ART_C_INCLUDES) art/runtime
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/build/Android.common.mk
LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/build/Android.libarttest.mk
ifeq ($$(art_target_or_host),target)
diff --git a/build/Android.oattest.mk b/build/Android.oattest.mk
deleted file mode 100644
index 726298f..0000000
--- a/build/Android.oattest.mk
+++ /dev/null
@@ -1,138 +0,0 @@
-#
-# Copyright (C) 2011 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-########################################################################
-
-# subdirectories of test/ which are used as inputs for gtests
-TEST_DEX_DIRECTORIES := \
- AbstractMethod \
- AllFields \
- CreateMethodSignature \
- ExceptionHandle \
- Interfaces \
- Main \
- MyClass \
- MyClassNatives \
- Nested \
- NonStaticLeafMethods \
- ProtoCompare \
- ProtoCompare2 \
- StaticLeafMethods \
- Statics \
- StaticsFromCode \
- XandY
-
-# subdirectories of test/ which are used with test-art-target-oat
-# Declare the simplest tests (Main, HelloWorld) first, the rest are alphabetical
-TEST_OAT_DIRECTORIES := \
- Main \
- HelloWorld \
- NativeAllocations \
- ParallelGC \
- ReferenceMap \
- StackWalk \
- ThreadStress
-
-# TODO: Enable when the StackWalk2 tests are passing
-# StackWalk2 \
-
-ART_TEST_TARGET_DEX_FILES :=
-ART_TEST_HOST_DEX_FILES :=
-
-# $(1): module prefix
-# $(2): input test directory
-# $(3): target output module path (default module path is used on host)
-define build-art-test-dex
- ifeq ($(ART_BUILD_TARGET),true)
- include $(CLEAR_VARS)
- LOCAL_MODULE := $(1)-$(2)
- LOCAL_MODULE_TAGS := tests
- LOCAL_SRC_FILES := $(call all-java-files-under, test/$(2))
- LOCAL_JAVA_LIBRARIES := $(TARGET_CORE_JARS)
- LOCAL_NO_STANDARD_LIBRARIES := true
- LOCAL_MODULE_PATH := $(3)
- LOCAL_DEX_PREOPT_IMAGE := $(TARGET_CORE_IMG_OUT)
- LOCAL_DEX_PREOPT := false
- LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/build/Android.common.mk
- LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/build/Android.oattest.mk
- include $(BUILD_JAVA_LIBRARY)
- ART_TEST_TARGET_DEX_FILES += $(3)/$$(LOCAL_MODULE).jar
- endif
-
- ifeq ($(ART_BUILD_HOST),true)
- include $(CLEAR_VARS)
- LOCAL_MODULE := $(1)-$(2)
- LOCAL_SRC_FILES := $(call all-java-files-under, test/$(2))
- LOCAL_JAVA_LIBRARIES := $(HOST_CORE_JARS)
- LOCAL_NO_STANDARD_LIBRARIES := true
- LOCAL_DEX_PREOPT_IMAGE := $(HOST_CORE_IMG_OUT)
- LOCAL_BUILD_HOST_DEX := true
- LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/build/Android.common.mk
- LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/build/Android.oattest.mk
- include $(BUILD_HOST_JAVA_LIBRARY)
- ART_TEST_HOST_DEX_FILES += $$(LOCAL_MODULE_PATH)/$$(LOCAL_MODULE).jar
- endif
-endef
-$(foreach dir,$(TEST_DEX_DIRECTORIES), $(eval $(call build-art-test-dex,art-test-dex,$(dir),$(ART_NATIVETEST_OUT))))
-$(foreach dir,$(TEST_OAT_DIRECTORIES), $(eval $(call build-art-test-dex,oat-test-dex,$(dir),$(ART_TEST_OUT))))
-
-########################################################################
-
-ART_TEST_TARGET_OAT_TARGETS :=
-ART_TEST_HOST_OAT_TARGETS :=
-ART_TEST_HOST_INTERPRETER_OAT_TARGETS :=
-
-# $(1): directory
-# $(2): arguments
-define declare-test-art-oat-targets
-.PHONY: test-art-target-oat-$(1)
-test-art-target-oat-$(1): $(ART_TEST_OUT)/oat-test-dex-$(1).jar test-art-target-sync
- adb shell touch $(ART_TEST_DIR)/test-art-target-oat-$(1)
- adb shell rm $(ART_TEST_DIR)/test-art-target-oat-$(1)
- adb shell sh -c "dalvikvm -XXlib:libartd.so -Ximage:$(ART_TEST_DIR)/core.art -classpath $(ART_TEST_DIR)/oat-test-dex-$(1).jar -Djava.library.path=$(ART_TEST_DIR) $(1) $(2) && touch $(ART_TEST_DIR)/test-art-target-oat-$(1)"
- $(hide) (adb pull $(ART_TEST_DIR)/test-art-target-oat-$(1) /tmp/ && echo test-art-target-oat-$(1) PASSED) || (echo test-art-target-oat-$(1) FAILED && exit 1)
- $(hide) rm /tmp/test-art-target-oat-$(1)
-
-$(HOST_OUT_JAVA_LIBRARIES)/oat-test-dex-$(1).odex: $(HOST_OUT_JAVA_LIBRARIES)/oat-test-dex-$(1).jar $(HOST_CORE_IMG_OUT) | $(DEX2OAT)
- $(DEX2OAT) --runtime-arg -Xms16m --runtime-arg -Xmx16m --boot-image=$(HOST_CORE_IMG_OUT) --dex-file=$$< --oat-file=$$@ --instruction-set=$(HOST_ARCH) --host --host-prefix="" --android-root=$(HOST_OUT)
-
-.PHONY: test-art-host-oat-$(1)
-test-art-host-oat-$(1): $(HOST_OUT_JAVA_LIBRARIES)/oat-test-dex-$(1).odex test-art-host-dependencies
- mkdir -p /tmp/android-data/test-art-host-oat-$(1)
- ANDROID_DATA=/tmp/android-data/test-art-host-oat-$(1) \
- ANDROID_ROOT=$(HOST_OUT) \
- LD_LIBRARY_PATH=$(HOST_OUT_SHARED_LIBRARIES) \
- dalvikvm -XXlib:libartd.so -Ximage:$(shell pwd)/$(HOST_CORE_IMG_OUT) -classpath $(HOST_OUT_JAVA_LIBRARIES)/oat-test-dex-$(1).jar -Djava.library.path=$(HOST_OUT_SHARED_LIBRARIES) $(1) $(2) \
- && echo test-art-host-oat-$(1) PASSED || (echo test-art-host-oat-$(1) FAILED && exit 1)
- $(hide) rm -r /tmp/android-data/test-art-host-oat-$(1)
-
-.PHONY: test-art-host-interpreter-oat-$(1)
-test-art-host-interpreter-oat-$(1): $(HOST_OUT_JAVA_LIBRARIES)/oat-test-dex-$(1).odex test-art-host-dependencies
- mkdir -p /tmp/android-data/test-art-host-interpreter-oat-$(1)
- ANDROID_DATA=/tmp/android-data/test-art-host-interpreter-oat-$(1) \
- ANDROID_ROOT=$(HOST_OUT) \
- LD_LIBRARY_PATH=$(HOST_OUT_SHARED_LIBRARIES) \
- dalvikvm -XXlib:libartd.so -Ximage:$(shell pwd)/$(HOST_CORE_IMG_OUT) -Xint -classpath $(HOST_OUT_JAVA_LIBRARIES)/oat-test-dex-$(1).jar -Djava.library.path=$(HOST_OUT_SHARED_LIBRARIES) $(1) $(2) \
- && echo test-art-host-interpreter-oat-$(1) PASSED || (echo test-art-host-interpreter-oat-$(1) FAILED && exit 1)
- $(hide) rm -r /tmp/android-data/test-art-host-interpreter-oat-$(1)
-
-ART_TEST_TARGET_OAT_TARGETS += test-art-target-oat-$(1)
-ART_TEST_HOST_OAT_TARGETS += test-art-host-oat-$(1)
-ART_TEST_HOST_INTERPRETER_OAT_TARGETS += test-art-host-interpreter-oat-$(1)
-endef
-$(foreach dir,$(TEST_OAT_DIRECTORIES), $(eval $(call declare-test-art-oat-targets,$(dir))))
-
-########################################################################