1 # Copyright (C) 2009 The Android Open Source Project 2 # 3 # Licensed under the Apache License, Version 2.0 (the "License"); 4 # you may not use this file except in compliance with the License. 5 # You may obtain a copy of the License at 6 # 7 # http://www.apache.org/licenses/LICENSE-2.0 8 # 9 # Unless required by applicable law or agreed to in writing, software 10 # distributed under the License is distributed on an "AS IS" BASIS, 11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 # See the License for the specific language governing permissions and 13 # limitations under the License. 14 # 15 # 16 17 # Gtest builds 2 libraries: libgtest and libgtest_main. libgtest 18 # contains most of the code (assertions...) and libgtest_main just 19 # provide a common main to run the test (ie if you link against 20 # libgtest_main you won't/should not provide a main() entry point. 21 # 22 # We build these 2 libraries for the target device and for the host if 23 # it is running linux and using ASTL. 24 # 25 26 # TODO: The targets below have some redundancy. Check if we cannot 27 # condense them using function(s) for the common code. 28 29 LOCAL_PATH := $(call my-dir) 30 31 libgtest_target_includes := \ 32 $(LOCAL_PATH)/.. \ 33 $(LOCAL_PATH)/../include \ 34 35 libgtest_host_includes := \ 36 $(LOCAL_PATH)/.. \ 37 $(LOCAL_PATH)/../include \ 38 39 libgtest_cflags := \ 40 -Wno-missing-field-initializers \ 41 42 ####################################################################### 43 # gtest lib host 44 45 include $(CLEAR_VARS) 46 47 LOCAL_CPP_EXTENSION := .cc 48 LOCAL_SRC_FILES := gtest-all.cc 49 LOCAL_C_INCLUDES := $(libgtest_host_includes) 50 LOCAL_CFLAGS += $(libgtest_cflags) 51 LOCAL_MODULE := libgtest_host 52 LOCAL_MULTILIB := both 53 54 include $(BUILD_HOST_STATIC_LIBRARY) 55 56 ####################################################################### 57 # gtest_main lib host 58 59 include $(CLEAR_VARS) 60 61 LOCAL_CPP_EXTENSION := .cc 62 LOCAL_SRC_FILES := gtest_main.cc 63 LOCAL_C_INCLUDES := $(libgtest_host_includes) 64 LOCAL_CFLAGS += $(libgtest_cflags) 65 LOCAL_MODULE := libgtest_main_host 66 LOCAL_MULTILIB := both 67 68 include $(BUILD_HOST_STATIC_LIBRARY) 69 70 ####################################################################### 71 # gtest lib target 72 73 include $(CLEAR_VARS) 74 75 LOCAL_SDK_VERSION := 9 76 LOCAL_NDK_STL_VARIANT := stlport_static 77 78 LOCAL_CPP_EXTENSION := .cc 79 LOCAL_SRC_FILES := gtest-all.cc 80 LOCAL_C_INCLUDES := $(libgtest_target_includes) 81 LOCAL_CFLAGS += $(libgtest_cflags) 82 LOCAL_MODULE := libgtest 83 84 include $(BUILD_STATIC_LIBRARY) 85 86 ####################################################################### 87 # gtest_main lib target 88 89 include $(CLEAR_VARS) 90 91 LOCAL_SDK_VERSION := 9 92 LOCAL_NDK_STL_VARIANT := stlport_static 93 94 LOCAL_CPP_EXTENSION := .cc 95 LOCAL_SRC_FILES := gtest_main.cc 96 LOCAL_C_INCLUDES := $(libgtest_target_includes) 97 LOCAL_CFLAGS += $(libgtest_cflags) 98 LOCAL_MODULE := libgtest_main 99 100 include $(BUILD_STATIC_LIBRARY) 101 102 # Don't build for unbundled branches 103 ifeq (,$(TARGET_BUILD_APPS)) 104 ####################################################################### 105 # libc++ 106 107 ####################################################################### 108 # gtest lib host 109 110 include $(CLEAR_VARS) 111 112 LOCAL_CLANG := true 113 LOCAL_CPP_EXTENSION := .cc 114 LOCAL_SRC_FILES := gtest-all.cc 115 LOCAL_C_INCLUDES := $(libgtest_host_includes) 116 LOCAL_CFLAGS += $(libgtest_cflags) 117 LOCAL_MODULE := libgtest_libc++_host 118 LOCAL_MULTILIB := both 119 120 include external/libcxx/libcxx.mk 121 include $(BUILD_HOST_STATIC_LIBRARY) 122 123 ####################################################################### 124 # gtest_main lib host 125 126 include $(CLEAR_VARS) 127 128 LOCAL_CLANG := true 129 LOCAL_CPP_EXTENSION := .cc 130 LOCAL_SRC_FILES := gtest_main.cc 131 LOCAL_C_INCLUDES := $(libgtest_host_includes) 132 LOCAL_CFLAGS += $(libgtest_cflags) 133 LOCAL_MODULE := libgtest_main_libc++_host 134 LOCAL_MULTILIB := both 135 136 include external/libcxx/libcxx.mk 137 include $(BUILD_HOST_STATIC_LIBRARY) 138 139 ####################################################################### 140 # gtest lib target 141 142 include $(CLEAR_VARS) 143 144 LOCAL_CLANG := true 145 LOCAL_CPP_EXTENSION := .cc 146 LOCAL_SRC_FILES := gtest-all.cc 147 LOCAL_C_INCLUDES := $(libgtest_target_includes) 148 LOCAL_CFLAGS += $(libgtest_cflags) 149 LOCAL_MODULE := libgtest_libc++ 150 151 include external/libcxx/libcxx.mk 152 include $(BUILD_STATIC_LIBRARY) 153 154 ####################################################################### 155 # gtest_main lib target 156 157 include $(CLEAR_VARS) 158 159 LOCAL_CLANG := true 160 LOCAL_CPP_EXTENSION := .cc 161 LOCAL_SRC_FILES := gtest_main.cc 162 LOCAL_C_INCLUDES := $(libgtest_target_includes) 163 LOCAL_CFLAGS += $(libgtest_cflags) 164 LOCAL_MODULE := libgtest_main_libc++ 165 166 include external/libcxx/libcxx.mk 167 include $(BUILD_STATIC_LIBRARY) 168 endif 169