11be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania# Copyright (C) 2009 The Android Open Source Project 21be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania# 31be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania# Licensed under the Apache License, Version 2.0 (the "License"); 41be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania# you may not use this file except in compliance with the License. 51be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania# You may obtain a copy of the License at 61be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania# 71be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania# http://www.apache.org/licenses/LICENSE-2.0 81be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania# 91be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania# Unless required by applicable law or agreed to in writing, software 101be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania# distributed under the License is distributed on an "AS IS" BASIS, 111be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 121be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania# See the License for the specific language governing permissions and 131be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania# limitations under the License. 141be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania# 151be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania# 161be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania 1797bd226fd5b5ea1600c00b04fd281c71cdbaa0aaNicolas Catania# Gtest builds 2 libraries: libgtest and libgtest_main. libgtest 1897bd226fd5b5ea1600c00b04fd281c71cdbaa0aaNicolas Catania# contains most of the code (assertions...) and libgtest_main just 1997bd226fd5b5ea1600c00b04fd281c71cdbaa0aaNicolas Catania# provide a common main to run the test (ie if you link against 2097bd226fd5b5ea1600c00b04fd281c71cdbaa0aaNicolas Catania# libgtest_main you won't/should not provide a main() entry point. 2197bd226fd5b5ea1600c00b04fd281c71cdbaa0aaNicolas Catania# 2297bd226fd5b5ea1600c00b04fd281c71cdbaa0aaNicolas Catania# We build these 2 libraries for the target device and for the host if 23cda9ca55683d97e2d215e4a786a865e2b41bc26fNicolas Catania# it is running linux and using ASTL. 2497bd226fd5b5ea1600c00b04fd281c71cdbaa0aaNicolas Catania# 25cda9ca55683d97e2d215e4a786a865e2b41bc26fNicolas Catania 26cda9ca55683d97e2d215e4a786a865e2b41bc26fNicolas Catania# TODO: The targets below have some redundancy. Check if we cannot 27cda9ca55683d97e2d215e4a786a865e2b41bc26fNicolas Catania# condense them using function(s) for the common code. 281be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania 291be2c9def7187e4e643c00a31dd9986395795d7dNicolas CataniaLOCAL_PATH := $(call my-dir) 301be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania 311d24c6454cd05f12c571e62c430bc7b91d532d6aJesse Wilsonlibgtest_target_includes := \ 32d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert $(LOCAL_PATH)/.. \ 33d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert $(LOCAL_PATH)/../include \ 341d24c6454cd05f12c571e62c430bc7b91d532d6aJesse Wilson 351d24c6454cd05f12c571e62c430bc7b91d532d6aJesse Wilsonlibgtest_host_includes := \ 361d24c6454cd05f12c571e62c430bc7b91d532d6aJesse Wilson $(LOCAL_PATH)/.. \ 37d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert $(LOCAL_PATH)/../include \ 3897bd226fd5b5ea1600c00b04fd281c71cdbaa0aaNicolas Catania 39fc2de66453b0669c09eaca643b07d34443858b6fElliott Hugheslibgtest_cflags := \ 40fc2de66453b0669c09eaca643b07d34443858b6fElliott Hughes -Wno-missing-field-initializers \ 41fc2de66453b0669c09eaca643b07d34443858b6fElliott Hughes 421be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania####################################################################### 4356cad5427cdf38f98935dd53e6b4c6563d9697f7Dan Albert# gtest lib for the NDK 4497bd226fd5b5ea1600c00b04fd281c71cdbaa0aaNicolas Catania 4597bd226fd5b5ea1600c00b04fd281c71cdbaa0aaNicolas Cataniainclude $(CLEAR_VARS) 46fde6da7c999728eb1b9b510966040bc1e1190335Dan AlbertLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 4797bd226fd5b5ea1600c00b04fd281c71cdbaa0aaNicolas Catania 48142396ecef3a2a36465f7025e7533e6a62dd3294Elliott HughesLOCAL_SDK_VERSION := 9 49dac6030289c87010b31bad60b769399b387ef15cUlas KirazciLOCAL_NDK_STL_VARIANT := stlport_static 50dac6030289c87010b31bad60b769399b387ef15cUlas Kirazci 5197bd226fd5b5ea1600c00b04fd281c71cdbaa0aaNicolas CataniaLOCAL_CPP_EXTENSION := .cc 5297bd226fd5b5ea1600c00b04fd281c71cdbaa0aaNicolas CataniaLOCAL_SRC_FILES := gtest-all.cc 531d24c6454cd05f12c571e62c430bc7b91d532d6aJesse WilsonLOCAL_C_INCLUDES := $(libgtest_target_includes) 5456cad5427cdf38f98935dd53e6b4c6563d9697f7Dan AlbertLOCAL_CPPFLAGS := -std=gnu++98 55fc2de66453b0669c09eaca643b07d34443858b6fElliott HughesLOCAL_CFLAGS += $(libgtest_cflags) 56ce2c523ab9a9c40a49aa94627b8251b18a61154bDan AlbertLOCAL_MODULE := libgtest_ndk 5797bd226fd5b5ea1600c00b04fd281c71cdbaa0aaNicolas Catania 5897bd226fd5b5ea1600c00b04fd281c71cdbaa0aaNicolas Cataniainclude $(BUILD_STATIC_LIBRARY) 5997bd226fd5b5ea1600c00b04fd281c71cdbaa0aaNicolas Catania 6097bd226fd5b5ea1600c00b04fd281c71cdbaa0aaNicolas Catania####################################################################### 6156cad5427cdf38f98935dd53e6b4c6563d9697f7Dan Albert# gtest_main for the NDK 6297bd226fd5b5ea1600c00b04fd281c71cdbaa0aaNicolas Catania 6397bd226fd5b5ea1600c00b04fd281c71cdbaa0aaNicolas Cataniainclude $(CLEAR_VARS) 64fde6da7c999728eb1b9b510966040bc1e1190335Dan AlbertLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 6597bd226fd5b5ea1600c00b04fd281c71cdbaa0aaNicolas Catania 66142396ecef3a2a36465f7025e7533e6a62dd3294Elliott HughesLOCAL_SDK_VERSION := 9 67dac6030289c87010b31bad60b769399b387ef15cUlas KirazciLOCAL_NDK_STL_VARIANT := stlport_static 68dac6030289c87010b31bad60b769399b387ef15cUlas Kirazci 6997bd226fd5b5ea1600c00b04fd281c71cdbaa0aaNicolas CataniaLOCAL_CPP_EXTENSION := .cc 7097bd226fd5b5ea1600c00b04fd281c71cdbaa0aaNicolas CataniaLOCAL_SRC_FILES := gtest_main.cc 711d24c6454cd05f12c571e62c430bc7b91d532d6aJesse WilsonLOCAL_C_INCLUDES := $(libgtest_target_includes) 7256cad5427cdf38f98935dd53e6b4c6563d9697f7Dan AlbertLOCAL_CPPFLAGS := -std=gnu++98 73fc2de66453b0669c09eaca643b07d34443858b6fElliott HughesLOCAL_CFLAGS += $(libgtest_cflags) 74ce2c523ab9a9c40a49aa94627b8251b18a61154bDan AlbertLOCAL_MODULE := libgtest_main_ndk 7597bd226fd5b5ea1600c00b04fd281c71cdbaa0aaNicolas Catania 7697bd226fd5b5ea1600c00b04fd281c71cdbaa0aaNicolas Cataniainclude $(BUILD_STATIC_LIBRARY) 77d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert 78d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert####################################################################### 79d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert# libc++ 80d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert 81d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert####################################################################### 82d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert# gtest lib host 83d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert 84d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albertinclude $(CLEAR_VARS) 85fde6da7c999728eb1b9b510966040bc1e1190335Dan AlbertLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 86d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert 87be7f2ef983ab49c9c3da8a872661376ea7672acfDan AlbertLOCAL_CLANG := true 88d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan AlbertLOCAL_CPP_EXTENSION := .cc 89d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan AlbertLOCAL_SRC_FILES := gtest-all.cc 90d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan AlbertLOCAL_C_INCLUDES := $(libgtest_host_includes) 91d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan AlbertLOCAL_CFLAGS += $(libgtest_cflags) 92f694f2b912d896c790e5b1a902c1366b5c9e2a9dDan AlbertLOCAL_MODULE := libgtest_host 93e8981d1a842397174f786c510ffd6482b3723e84Christopher FerrisLOCAL_MULTILIB := both 94fde6da7c999728eb1b9b510966040bc1e1190335Dan AlbertLOCAL_ADDRESS_SANITIZER := false 95d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert 96d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albertinclude $(BUILD_HOST_STATIC_LIBRARY) 97d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert 98d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert####################################################################### 99d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert# gtest_main lib host 100d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert 101d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albertinclude $(CLEAR_VARS) 102fde6da7c999728eb1b9b510966040bc1e1190335Dan AlbertLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 103d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert 104be7f2ef983ab49c9c3da8a872661376ea7672acfDan AlbertLOCAL_CLANG := true 105d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan AlbertLOCAL_CPP_EXTENSION := .cc 106d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan AlbertLOCAL_SRC_FILES := gtest_main.cc 107d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan AlbertLOCAL_C_INCLUDES := $(libgtest_host_includes) 108d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan AlbertLOCAL_CFLAGS += $(libgtest_cflags) 109f694f2b912d896c790e5b1a902c1366b5c9e2a9dDan AlbertLOCAL_MODULE := libgtest_main_host 110e8981d1a842397174f786c510ffd6482b3723e84Christopher FerrisLOCAL_MULTILIB := both 111fde6da7c999728eb1b9b510966040bc1e1190335Dan AlbertLOCAL_ADDRESS_SANITIZER := false 112d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert 113d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albertinclude $(BUILD_HOST_STATIC_LIBRARY) 114d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert 115d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert####################################################################### 116e826aa4f99cf7d9e57fe9668e299a2808674ede4Ying Wang# Don't build for unbundled branches 117e826aa4f99cf7d9e57fe9668e299a2808674ede4Ying Wangifeq (,$(TARGET_BUILD_APPS)) 118d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert# gtest lib target 119d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert 120d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albertinclude $(CLEAR_VARS) 121fde6da7c999728eb1b9b510966040bc1e1190335Dan AlbertLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 122d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert 123be7f2ef983ab49c9c3da8a872661376ea7672acfDan AlbertLOCAL_CLANG := true 124d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan AlbertLOCAL_CPP_EXTENSION := .cc 125d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan AlbertLOCAL_SRC_FILES := gtest-all.cc 126d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan AlbertLOCAL_C_INCLUDES := $(libgtest_target_includes) 127d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan AlbertLOCAL_CFLAGS += $(libgtest_cflags) 128ce2c523ab9a9c40a49aa94627b8251b18a61154bDan AlbertLOCAL_MODULE := libgtest 129fde6da7c999728eb1b9b510966040bc1e1190335Dan AlbertLOCAL_ADDRESS_SANITIZER := false 130d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert 131d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albertinclude $(BUILD_STATIC_LIBRARY) 132d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert 133d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert####################################################################### 134d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert# gtest_main lib target 135d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert 136d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albertinclude $(CLEAR_VARS) 137fde6da7c999728eb1b9b510966040bc1e1190335Dan AlbertLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 138d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert 139be7f2ef983ab49c9c3da8a872661376ea7672acfDan AlbertLOCAL_CLANG := true 140d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan AlbertLOCAL_CPP_EXTENSION := .cc 141d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan AlbertLOCAL_SRC_FILES := gtest_main.cc 142d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan AlbertLOCAL_C_INCLUDES := $(libgtest_target_includes) 143d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan AlbertLOCAL_CFLAGS += $(libgtest_cflags) 144ce2c523ab9a9c40a49aa94627b8251b18a61154bDan AlbertLOCAL_MODULE := libgtest_main 145fde6da7c999728eb1b9b510966040bc1e1190335Dan AlbertLOCAL_ADDRESS_SANITIZER := false 146d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albert 147d72b5dc9a6c2d2427c48886a8ffe41a16b88c262Dan Albertinclude $(BUILD_STATIC_LIBRARY) 14875949c699819af8941b4b1e7997a10c3ec5f72cfDan Albertendif 149