diff options
-rw-r--r-- | benchmarks/Android.mk | 30 | ||||
-rw-r--r-- | build/run-on-host.mk | 39 | ||||
-rw-r--r-- | tests/Android.mk | 42 |
3 files changed, 62 insertions, 49 deletions
diff --git a/benchmarks/Android.mk b/benchmarks/Android.mk index f163463..5ce8542 100644 --- a/benchmarks/Android.mk +++ b/benchmarks/Android.mk @@ -73,26 +73,22 @@ LOCAL_CXX_STL := libc++ include $(BUILD_HOST_EXECUTABLE) ifeq ($(HOST_OS)-$(HOST_ARCH),$(filter $(HOST_OS)-$(HOST_ARCH),linux-x86 linux-x86_64)) -ifeq ($(TARGET_ARCH),x86) -LINKER = linker -NATIVE_SUFFIX=32 -else -LINKER = linker64 -NATIVE_SUFFIX=64 +include $(LOCAL_PATH)/../build/run-on-host.mk + +ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),x86 x86_64)) +bionic-benchmarks-run-on-host32: bionic-benchmarks bionic-prepare-run-on-host + ANDROID_DATA=$(TARGET_OUT_DATA) \ + ANDROID_ROOT=$(TARGET_OUT) \ + $(TARGET_OUT_EXECUTABLES)/bionic-benchmarks32 $(BIONIC_BENCHMARKS_FLAGS) endif -bionic-benchmarks-run-on-host: bionic-benchmarks $(TARGET_OUT_EXECUTABLES)/$(LINKER) $(TARGET_OUT_EXECUTABLES)/sh - if [ ! -d /system ]; then \ - echo "Attempting to create /system"; \ - sudo mkdir -p -m 0777 /system; \ - fi - mkdir -p $(TARGET_OUT_DATA)/local/tmp - ln -fs `realpath $(TARGET_OUT)/bin` /system/ - ln -fs `realpath $(TARGET_OUT)/etc` /system/ +ifeq ($(TARGET_IS_64_BIT),true) +bionic-benchmarks-run-on-host64: bionic-benchmarks bionic-prepare-run-on-host ANDROID_DATA=$(TARGET_OUT_DATA) \ ANDROID_ROOT=$(TARGET_OUT) \ - LD_LIBRARY_PATH=$(TARGET_OUT_SHARED_LIBRARIES) \ - $(TARGET_OUT_EXECUTABLES)/bionic-benchmarks$(NATIVE_SUFFIX) $(BIONIC_BENCHMARKS_FLAGS) -endif # linux-x86 + $(TARGET_OUT_EXECUTABLES)/bionic-benchmarks64 $(BIONIC_BENCHMARKS_FLAGS) +endif + +endif endif # !BUILD_TINY_ANDROID diff --git a/build/run-on-host.mk b/build/run-on-host.mk new file mode 100644 index 0000000..f016361 --- /dev/null +++ b/build/run-on-host.mk @@ -0,0 +1,39 @@ +# +# Copyright (C) 2014 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. +# + +ifneq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),arm mips x86)) +LINKER = linker64 +else +LINKER = linker +endif + +ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),x86 x86_64)) +# gtest needs ANDROID_DATA/local/tmp for death test output. +# Make sure to create ANDROID_DATA/local/tmp if doesn't exist. +# bionic itself should always work relative to ANDROID_DATA or ANDROID_ROOT. +bionic-prepare-run-on-host: $(TARGET_OUT_EXECUTABLES)/$(LINKER) $(TARGET_OUT)/etc/hosts $(TARGET_OUT_EXECUTABLES)/sh + if [ ! -d /system ]; then \ + echo "Attempting to create /system"; \ + sudo mkdir -p -m 0777 /system; \ + fi + mkdir -p $(TARGET_OUT_DATA)/local/tmp + ln -fs `realpath $(TARGET_OUT)/bin` /system/ + ln -fs `realpath $(TARGET_OUT)/etc` /system/ + ln -fs `realpath $(TARGET_OUT)/lib` /system/ + if [ -d "$(TARGET_OUT)/lib64" ]; then \ + ln -fs `realpath $(TARGET_OUT)/lib64` /system/; \ + fi +endif diff --git a/tests/Android.mk b/tests/Android.mk index 6010def..93ab9bd 100644 --- a/tests/Android.mk +++ b/tests/Android.mk @@ -373,14 +373,6 @@ include $(BUILD_STATIC_LIBRARY) # Host glibc tests. # ----------------------------------------------------------------------------- -ifneq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),arm mips x86)) -LINKER = linker64 -NATIVE_TEST_SUFFIX=64 -else -LINKER = linker -NATIVE_TEST_SUFFIX=32 -endif - # gtest needs ANDROID_DATA/local/tmp for death test output. # Make sure to create ANDROID_DATA/local/tmp if doesn't exist. # Use the current target out directory as ANDROID_DATA. @@ -389,46 +381,32 @@ bionic-unit-tests-glibc-run: bionic-unit-tests-glibc mkdir -p $(TARGET_OUT_DATA)/local/tmp ANDROID_DATA=$(TARGET_OUT_DATA) \ ANDROID_ROOT=$(TARGET_OUT) \ - $(HOST_OUT_EXECUTABLES)/bionic-unit-tests-glibc$(NATIVE_TEST_SUFFIX) $(BIONIC_TEST_FLAGS) + $(HOST_OUT_EXECUTABLES)/bionic-unit-tests-glibc64 $(BIONIC_TEST_FLAGS) # ----------------------------------------------------------------------------- # Run the unit tests built against x86 bionic on an x86 host. # ----------------------------------------------------------------------------- +include $(LOCAL_PATH)/../build/run-on-host.mk + ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),x86 x86_64)) -# gtest needs ANDROID_DATA/local/tmp for death test output. -# Make sure to create ANDROID_DATA/local/tmp if doesn't exist. -# bionic itself should always work relative to ANDROID_DATA or ANDROID_ROOT. # BIONIC_TEST_FLAGS is either empty or it comes from the user. -bionic-unit-tests-run-on-host-prepare: $(TARGET_OUT_EXECUTABLES)/$(LINKER) $(TARGET_OUT)/etc/hosts $(TARGET_OUT_EXECUTABLES)/sh - if [ ! -d /system ]; then \ - echo "Attempting to create /system"; \ - sudo mkdir -p -m 0777 /system; \ - fi - mkdir -p $(TARGET_OUT_DATA)/local/tmp - ln -fs `realpath $(TARGET_OUT)/bin` /system/ - ln -fs `realpath $(TARGET_OUT)/etc` /system/ - ln -fs `realpath $(TARGET_OUT)/lib` /system/ - if [ -d "$(TARGET_OUT)/lib64" ]; then \ - ln -fs `realpath $(TARGET_OUT)/lib64` /system/; \ - fi - -bionic-unit-tests-run-on-host: bionic-unit-tests bionic-unit-tests-run-on-host-prepare +bionic-unit-tests-run-on-host32: bionic-unit-tests bionic-prepare-run-on-host ANDROID_DATA=$(TARGET_OUT_DATA) \ ANDROID_DNS_MODE=local \ ANDROID_ROOT=$(TARGET_OUT) \ - $(TARGET_OUT_DATA_NATIVE_TESTS)/bionic-unit-tests/bionic-unit-tests$(NATIVE_TEST_SUFFIX) $(BIONIC_TEST_FLAGS) -endif + $(TARGET_OUT_DATA)/nativetest/bionic-unit-tests/bionic-unit-tests32 $(BIONIC_TEST_FLAGS) -ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),x86_64)) -# add target to run lp32 tests -bionic-unit-tests-run-on-host32: bionic-unit-tests_32 bionic-unit-tests-run-on-host-prepare +ifeq ($(TARGET_IS_64_BIT),true) +# add target to run lp64 tests +bionic-unit-tests-run-on-host64: bionic-unit-tests bionic-prepare-run-on-host ANDROID_DATA=$(TARGET_OUT_DATA) \ ANDROID_DNS_MODE=local \ ANDROID_ROOT=$(TARGET_OUT) \ - $(2ND_TARGET_OUT_DATA_NATIVE_TESTS)/bionic-unit-tests/bionic-unit-tests32 $(BIONIC_TEST_FLAGS) + $(TARGET_OUT_DATA)/nativetest64/bionic-unit-tests/bionic-unit-tests64 $(BIONIC_TEST_FLAGS) endif +endif # x86 x86_64 endif # linux-x86 include $(call first-makefiles-under,$(LOCAL_PATH)) |