diff options
author | Andreas Gampe <agampe@google.com> | 2014-03-25 18:09:32 -0700 |
---|---|---|
committer | Andreas Gampe <agampe@google.com> | 2014-04-01 13:58:32 -0700 |
commit | afbaa1aab02cfe519d00336870b1bcd24b61378d (patch) | |
tree | ec33583d52a42ee49082f4bce404e8c434cfd8f5 /build/Android.common.mk | |
parent | 8ce67ac16abcd25b376be622cbd20a34aec4a59d (diff) | |
download | art-afbaa1aab02cfe519d00336870b1bcd24b61378d.zip art-afbaa1aab02cfe519d00336870b1bcd24b61378d.tar.gz art-afbaa1aab02cfe519d00336870b1bcd24b61378d.tar.bz2 |
Build changes to build multilib tests
Test files will be emitted into directories for both first and second
target architectures. Going with the naming scheme for binaries,
single-architecture and 32b cases have the standard name, and
64b goes into a directory with "64" suffix.
In multi-architecture setups, the default concrete test targets are
extended with a "32" and "64" suffix, e.g., test-art-target-oat-JniTest64.
The suffix-less form is linked to the primary architecture target (usually 64).
That means running combined targets, e.g., test-art-target-oat, will only
test the primary architecture right now.
Fixed target run tests calling the right dalvikvm. Fixed library search
path for tests derived from CommonRuntimeTest.
Missing in this work-in-progress is correct handling of dex2oat for the
secondary architecture. To make it work on 64b, comment out line 101
in build/Android.executable.mk
Change-Id: I3d260994e6efe8b73b56c71994053cc9392943a9
Diffstat (limited to 'build/Android.common.mk')
-rw-r--r-- | build/Android.common.mk | 44 |
1 files changed, 40 insertions, 4 deletions
diff --git a/build/Android.common.mk b/build/Android.common.mk index d80d039..b9a297b 100644 --- a/build/Android.common.mk +++ b/build/Android.common.mk @@ -127,12 +127,48 @@ endif ART_DALVIK_CACHE_DIR := /data/dalvik-cache # directory used for gtests on device -ART_NATIVETEST_DIR := /data/nativetest/art -ART_NATIVETEST_OUT := $(TARGET_OUT_DATA_NATIVE_TESTS)/art +ART_BASE_NATIVETEST_DIR := /data/nativetest/art +ART_BASE_NATIVETEST_OUT := $(TARGET_OUT_DATA_NATIVE_TESTS)/art # directory used for tests on device -ART_TEST_DIR := /data/art-test -ART_TEST_OUT := $(TARGET_OUT_DATA)/art-test +ART_BASE_TEST_DIR := /data/art-test +ART_BASE_TEST_OUT := $(TARGET_OUT_DATA)/art-test + +# Primary vs. secondary +2ND_TARGET_ARCH := $(TARGET_2ND_ARCH) +ART_PHONY_TEST_TARGET_SUFFIX := +2ND_ART_PHONY_TEST_TARGET_SUFFIX := +ART_TARGET_BINARY_SUFFIX := +2ND_ART_TARGET_BINARY_SUFFIX := +ifdef TARGET_2ND_ARCH + art_test_primary_suffix := + art_test_secondary_suffix := + ifneq ($(filter %64,$(TARGET_ARCH)),) + art_test_primary_suffix := 64 + ART_PHONY_TEST_TARGET_SUFFIX := 64 + 2ND_ART_PHONY_TEST_TARGET_SUFFIX := 32 + ART_TARGET_BINARY_SUFFIX := 64 + else + # TODO: ??? + $(error Do not know what to do with this multi-target configuration!) + endif + # Primary with primary suffix + ART_NATIVETEST_DIR := $(ART_BASE_NATIVETEST_DIR)$(art_test_primary_suffix) + ART_NATIVETEST_OUT := $(ART_BASE_NATIVETEST_OUT)$(art_test_primary_suffix) + ART_TEST_DIR := $(ART_BASE_TEST_DIR)$(art_test_primary_suffix) + ART_TEST_OUT := $(ART_BASE_TEST_OUT)$(art_test_primary_suffix) + # Secondary with 2ND_ prefix and secondary suffix + 2ND_ART_NATIVETEST_DIR := $(ART_BASE_NATIVETEST_DIR)$(art_test_secondary_suffix) + 2ND_ART_NATIVETEST_OUT := $(ART_BASE_NATIVETEST_OUT)$(art_test_secondary_suffix) + 2ND_ART_TEST_DIR := $(ART_BASE_TEST_DIR)$(art_test_secondary_suffix) + 2ND_ART_TEST_OUT := $(ART_BASE_TEST_OUT)$(art_test_secondary_suffix) +else + ART_NATIVETEST_DIR := $(ART_BASE_NATIVETEST_DIR) + ART_NATIVETEST_OUT := $(ART_BASE_NATIVETEST_OUT) + ART_TEST_DIR := $(ART_BASE_TEST_DIR) + ART_TEST_OUT := $(ART_BASE_TEST_OUT) + # No secondary +endif ART_CPP_EXTENSION := .cc |