Android.libarttest.mk revision bd5ea6a2f7c61c4cd7b66fead1bedd96e938369d
107d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom#
207d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# Copyright (C) 2011 The Android Open Source Project
307d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom#
407d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# Licensed under the Apache License, Version 2.0 (the "License");
507d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# you may not use this file except in compliance with the License.
607d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# You may obtain a copy of the License at
707d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom#
807d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom#      http://www.apache.org/licenses/LICENSE-2.0
907d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom#
1007d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# Unless required by applicable law or agreed to in writing, software
1107d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# distributed under the License is distributed on an "AS IS" BASIS,
1207d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1307d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# See the License for the specific language governing permissions and
1407d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# limitations under the License.
1507d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom#
1607d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom
1751c2467e8771b56e25ae4f17f66522f979f57a7eBrian CarlstromLIBARTTEST_COMMON_SRC_FILES := \
18ce88853ab316c70ef7b598978a3609611db60552Brian Carlstrom	test/JniTest/jni_test.cc \
1951c2467e8771b56e25ae4f17f66522f979f57a7eBrian Carlstrom	test/ReferenceMap/stack_walk_refmap_jni.cc \
204d2efce8bf1947880b90efc44448b4940c8016fbHiroshi Yamauchi	test/StackWalk/stack_walk_jni.cc \
214d2efce8bf1947880b90efc44448b4940c8016fbHiroshi Yamauchi	test/UnsafeTest/unsafe_test.cc
2251c2467e8771b56e25ae4f17f66522f979f57a7eBrian Carlstrom
2307d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# $(1): target or host
2407d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstromdefine build-libarttest
250796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom  ifneq ($(1),target)
260796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom    ifneq ($(1),host)
270796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom      $$(error expected target or host for argument 1, received $(1))
280796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom    endif
290796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom  endif
300796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom
310796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom  art_target_or_host := $(1)
320796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom
3307d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom  include $(CLEAR_VARS)
3407d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom  LOCAL_CPP_EXTENSION := $(ART_CPP_EXTENSION)
3507d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom  LOCAL_MODULE := libarttest
36871599a0289b6b81f83caafae7ba755718186205Brian Carlstrom  ifeq ($$(art_target_or_host),target)
37871599a0289b6b81f83caafae7ba755718186205Brian Carlstrom    LOCAL_MODULE_TAGS := tests
38871599a0289b6b81f83caafae7ba755718186205Brian Carlstrom  endif
3907d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom  LOCAL_SRC_FILES := $(LIBARTTEST_COMMON_SRC_FILES)
40025218c7e4330a4942b14f9a8f1f68bd3390261cElliott Hughes  LOCAL_SHARED_LIBRARIES += libartd
417940e44f4517de5e2634a7e07d58d0fb26160513Brian Carlstrom  LOCAL_C_INCLUDES += $(ART_C_INCLUDES) art/runtime
4251c2467e8771b56e25ae4f17f66522f979f57a7eBrian Carlstrom  LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/build/Android.common.mk
4351c2467e8771b56e25ae4f17f66522f979f57a7eBrian Carlstrom  LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/build/Android.libarttest.mk
440796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom  ifeq ($$(art_target_or_host),target)
45cd5d0422ac07b03220970a3606f8b402a3636528Ian Rogers    LOCAL_CLANG := $(ART_TARGET_CLANG)
468692721dd8a3679ca874c3d1be0cecb62ff148f6Brian Carlstrom    LOCAL_CFLAGS := $(ART_TARGET_CFLAGS) $(ART_TARGET_DEBUG_CFLAGS)
47dc781a13ddb4dabf646bb45d0c53b65cab948e5bColin Cross    LOCAL_CFLAGS_x86 := $(ART_TARGET_CFLAGS_x86)
48b3733086ab415088b97fac20b3eea24433a7d2c5Hiroshi Yamauchi    LOCAL_SHARED_LIBRARIES += libdl libcutils
499407c60800c95902fba0b3c3265520d47c1e7052Shih-wei Liao    LOCAL_STATIC_LIBRARIES := libgtest
50afbaa1aab02cfe519d00336870b1bcd24b61378dAndreas Gampe    LOCAL_MULTILIB := both
51afbaa1aab02cfe519d00336870b1bcd24b61378dAndreas Gampe    LOCAL_MODULE_PATH_32 := $(ART_BASE_TEST_OUT)
52afbaa1aab02cfe519d00336870b1bcd24b61378dAndreas Gampe    LOCAL_MODULE_PATH_64 := $(ART_BASE_TEST_OUT)64
53dc781a13ddb4dabf646bb45d0c53b65cab948e5bColin Cross    LOCAL_MODULE_TARGET_ARCH := $(ART_SUPPORTED_ARCH)
54bd5ea6a2f7c61c4cd7b66fead1bedd96e938369dIan Rogers    include art/build/Android.libcxx.mk
550796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom    include $(BUILD_SHARED_LIBRARY)
560796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom  else # host
57cd5d0422ac07b03220970a3606f8b402a3636528Ian Rogers    LOCAL_CLANG := $(ART_HOST_CLANG)
588692721dd8a3679ca874c3d1be0cecb62ff148f6Brian Carlstrom    LOCAL_CFLAGS := $(ART_HOST_CFLAGS) $(ART_HOST_DEBUG_CFLAGS)
59b3733086ab415088b97fac20b3eea24433a7d2c5Hiroshi Yamauchi    LOCAL_STATIC_LIBRARIES := libcutils
60ad6c9c3dbf7541340f22ccbb333f08556ad7e000Elliott Hughes    LOCAL_LDLIBS := -ldl -lpthread
61ad6c9c3dbf7541340f22ccbb333f08556ad7e000Elliott Hughes    ifeq ($(HOST_OS),linux)
62ad6c9c3dbf7541340f22ccbb333f08556ad7e000Elliott Hughes      LOCAL_LDLIBS += -lrt
63ad6c9c3dbf7541340f22ccbb333f08556ad7e000Elliott Hughes    endif
64bd5ea6a2f7c61c4cd7b66fead1bedd96e938369dIan Rogers    LOCAL_IS_HOST_MODULE := true
65bd5ea6a2f7c61c4cd7b66fead1bedd96e938369dIan Rogers    include art/build/Android.libcxx.mk
6607d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom    include $(BUILD_HOST_SHARED_LIBRARY)
6707d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom  endif
6807d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstromendef
6907d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom
704b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromifeq ($(ART_BUILD_TARGET),true)
714b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom  $(eval $(call build-libarttest,target))
724b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromendif
7319e776ceb178397661b0323a9a982f6db249a56dBrian Carlstromifeq ($(WITH_HOST_DALVIK),true)
7419e776ceb178397661b0323a9a982f6db249a56dBrian Carlstrom  ifeq ($(ART_BUILD_HOST),true)
7519e776ceb178397661b0323a9a982f6db249a56dBrian Carlstrom    $(eval $(call build-libarttest,host))
7619e776ceb178397661b0323a9a982f6db249a56dBrian Carlstrom  endif
7707d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstromendif
78