Home | History | Annotate | Download | only in src
      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