Android.libarttest.mk revision dc781a13ddb4dabf646bb45d0c53b65cab948e5b
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)
340796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom  ifeq ($$(art_target_or_host),target)
3507d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom   include external/stlport/libstlport.mk
3607d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom  endif
370796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom
3807d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom  LOCAL_CPP_EXTENSION := $(ART_CPP_EXTENSION)
3907d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom  LOCAL_MODULE := libarttest
40871599a0289b6b81f83caafae7ba755718186205Brian Carlstrom  ifeq ($$(art_target_or_host),target)
41871599a0289b6b81f83caafae7ba755718186205Brian Carlstrom    LOCAL_MODULE_TAGS := tests
42871599a0289b6b81f83caafae7ba755718186205Brian Carlstrom  endif
4307d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom  LOCAL_SRC_FILES := $(LIBARTTEST_COMMON_SRC_FILES)
44025218c7e4330a4942b14f9a8f1f68bd3390261cElliott Hughes  LOCAL_SHARED_LIBRARIES += libartd
457940e44f4517de5e2634a7e07d58d0fb26160513Brian Carlstrom  LOCAL_C_INCLUDES += $(ART_C_INCLUDES) art/runtime
4651c2467e8771b56e25ae4f17f66522f979f57a7eBrian Carlstrom  LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/build/Android.common.mk
4751c2467e8771b56e25ae4f17f66522f979f57a7eBrian Carlstrom  LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/build/Android.libarttest.mk
480796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom  ifeq ($$(art_target_or_host),target)
49cd5d0422ac07b03220970a3606f8b402a3636528Ian Rogers    LOCAL_CLANG := $(ART_TARGET_CLANG)
508692721dd8a3679ca874c3d1be0cecb62ff148f6Brian Carlstrom    LOCAL_CFLAGS := $(ART_TARGET_CFLAGS) $(ART_TARGET_DEBUG_CFLAGS)
51dc781a13ddb4dabf646bb45d0c53b65cab948e5bColin Cross    LOCAL_CFLAGS_x86 := $(ART_TARGET_CFLAGS_x86)
52b3733086ab415088b97fac20b3eea24433a7d2c5Hiroshi Yamauchi    LOCAL_SHARED_LIBRARIES += libdl libcutils
539407c60800c95902fba0b3c3265520d47c1e7052Shih-wei Liao    LOCAL_STATIC_LIBRARIES := libgtest
54b9cc1ca34adec5e9254f78e9ee40d57348aa2fd0Brian Carlstrom    LOCAL_MODULE_PATH := $(ART_TEST_OUT)
55dc781a13ddb4dabf646bb45d0c53b65cab948e5bColin Cross    LOCAL_MODULE_TARGET_ARCH := $(ART_SUPPORTED_ARCH)
560796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom    include $(BUILD_SHARED_LIBRARY)
570796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom  else # host
58cd5d0422ac07b03220970a3606f8b402a3636528Ian Rogers    LOCAL_CLANG := $(ART_HOST_CLANG)
598692721dd8a3679ca874c3d1be0cecb62ff148f6Brian Carlstrom    LOCAL_CFLAGS := $(ART_HOST_CFLAGS) $(ART_HOST_DEBUG_CFLAGS)
60b3733086ab415088b97fac20b3eea24433a7d2c5Hiroshi Yamauchi    LOCAL_STATIC_LIBRARIES := libcutils
61ad6c9c3dbf7541340f22ccbb333f08556ad7e000Elliott Hughes    LOCAL_LDLIBS := -ldl -lpthread
62ad6c9c3dbf7541340f22ccbb333f08556ad7e000Elliott Hughes    ifeq ($(HOST_OS),linux)
63ad6c9c3dbf7541340f22ccbb333f08556ad7e000Elliott Hughes      LOCAL_LDLIBS += -lrt
64ad6c9c3dbf7541340f22ccbb333f08556ad7e000Elliott Hughes    endif
6507d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom    include $(BUILD_HOST_SHARED_LIBRARY)
6607d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom  endif
6707d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstromendef
6807d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom
694b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromifeq ($(ART_BUILD_TARGET),true)
704b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom  $(eval $(call build-libarttest,target))
714b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromendif
7219e776ceb178397661b0323a9a982f6db249a56dBrian Carlstromifeq ($(WITH_HOST_DALVIK),true)
7319e776ceb178397661b0323a9a982f6db249a56dBrian Carlstrom  ifeq ($(ART_BUILD_HOST),true)
7419e776ceb178397661b0323a9a982f6db249a56dBrian Carlstrom    $(eval $(call build-libarttest,host))
7519e776ceb178397661b0323a9a982f6db249a56dBrian Carlstrom  endif
7607d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstromendif
77