Home | History | Annotate | Download | only in test
      1 #
      2 # Copyright (C) 2011 The Android Open Source Project
      3 #
      4 # Licensed under the Apache License, Version 2.0 (the "License");
      5 # you may not use this file except in compliance with the License.
      6 # You may obtain a copy of the License at
      7 #
      8 #      http://www.apache.org/licenses/LICENSE-2.0
      9 #
     10 # Unless required by applicable law or agreed to in writing, software
     11 # distributed under the License is distributed on an "AS IS" BASIS,
     12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13 # See the License for the specific language governing permissions and
     14 # limitations under the License.
     15 #
     16 
     17 LOCAL_PATH := $(call my-dir)
     18 
     19 include art/build/Android.common_build.mk
     20 
     21 LIBARTTEST_COMMON_SRC_FILES := \
     22   004-JniTest/jni_test.cc \
     23   004-SignalTest/signaltest.cc \
     24   004-ReferenceMap/stack_walk_refmap_jni.cc \
     25   004-StackWalk/stack_walk_jni.cc \
     26   004-UnsafeTest/unsafe_test.cc \
     27   051-thread/thread_test.cc \
     28   116-nodex2oat/nodex2oat.cc \
     29   117-nopatchoat/nopatchoat.cc \
     30   118-noimage-dex2oat/noimage-dex2oat.cc
     31 
     32 ART_TARGET_LIBARTTEST_$(ART_PHONY_TEST_TARGET_SUFFIX) += $(ART_TARGET_TEST_OUT)/$(TARGET_ARCH)/libarttest.so
     33 ifdef TARGET_2ND_ARCH
     34   ART_TARGET_LIBARTTEST_$(2ND_ART_PHONY_TEST_TARGET_SUFFIX) += $(ART_TARGET_TEST_OUT)/$(TARGET_2ND_ARCH)/libarttest.so
     35 endif
     36 
     37 # $(1): target or host
     38 define build-libarttest
     39   ifneq ($(1),target)
     40     ifneq ($(1),host)
     41       $$(error expected target or host for argument 1, received $(1))
     42     endif
     43   endif
     44 
     45   art_target_or_host := $(1)
     46 
     47   include $(CLEAR_VARS)
     48   LOCAL_CPP_EXTENSION := $(ART_CPP_EXTENSION)
     49   LOCAL_MODULE := libarttest
     50   ifeq ($$(art_target_or_host),target)
     51     LOCAL_MODULE_TAGS := tests
     52   endif
     53   LOCAL_SRC_FILES := $(LIBARTTEST_COMMON_SRC_FILES)
     54   LOCAL_SHARED_LIBRARIES += libartd
     55   LOCAL_C_INCLUDES += $(ART_C_INCLUDES) art/runtime
     56   LOCAL_ADDITIONAL_DEPENDENCIES := art/build/Android.common_build.mk
     57   LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.libarttest.mk
     58   include external/libcxx/libcxx.mk
     59   ifeq ($$(art_target_or_host),target)
     60     $(call set-target-local-clang-vars)
     61     $(call set-target-local-cflags-vars,debug)
     62     LOCAL_SHARED_LIBRARIES += libdl libcutils
     63     LOCAL_STATIC_LIBRARIES := libgtest
     64     LOCAL_MULTILIB := both
     65     LOCAL_MODULE_PATH_32 := $(ART_TARGET_TEST_OUT)/$(ART_TARGET_ARCH_32)
     66     LOCAL_MODULE_PATH_64 := $(ART_TARGET_TEST_OUT)/$(ART_TARGET_ARCH_64)
     67     LOCAL_MODULE_TARGET_ARCH := $(ART_SUPPORTED_ARCH)
     68     include $(BUILD_SHARED_LIBRARY)
     69   else # host
     70     LOCAL_CLANG := $(ART_HOST_CLANG)
     71     LOCAL_CFLAGS := $(ART_HOST_CFLAGS) $(ART_HOST_DEBUG_CFLAGS)
     72     LOCAL_STATIC_LIBRARIES := libcutils
     73     LOCAL_LDLIBS += -ldl -lpthread
     74     ifeq ($(HOST_OS),linux)
     75       LOCAL_LDLIBS += -lrt
     76     endif
     77     LOCAL_IS_HOST_MODULE := true
     78     LOCAL_MULTILIB := both
     79     include $(BUILD_HOST_SHARED_LIBRARY)
     80   endif
     81 
     82   # Clear locally used variables.
     83   art_target_or_host :=
     84 endef
     85 
     86 ifeq ($(ART_BUILD_TARGET),true)
     87   $(eval $(call build-libarttest,target))
     88 endif
     89 ifeq ($(ART_BUILD_HOST),true)
     90   $(eval $(call build-libarttest,host))
     91 endif
     92 
     93 # Clear locally used variables.
     94 LOCAL_PATH :=
     95 LIBARTTEST_COMMON_SRC_FILES :=
     96