aboutsummaryrefslogtreecommitdiff
path: root/src/Android.mk
diff options
context:
space:
mode:
Diffstat (limited to 'src/Android.mk')
-rw-r--r--src/Android.mk141
1 files changed, 141 insertions, 0 deletions
diff --git a/src/Android.mk b/src/Android.mk
new file mode 100644
index 0000000..fc7b74e
--- /dev/null
+++ b/src/Android.mk
@@ -0,0 +1,141 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#
+
+# Gmock builds 2 libraries: libgmock and libgmock_main. libgmock
+# contains most of the code (assertions...) and libgmock_main just
+# provide a common main to run the test (ie if you link against
+# libgmock_main you won't/should not provide a main() entry point.
+#
+# We build these 2 libraries for the target device and for the host if
+# it is running linux and using ASTL.
+#
+
+# TODO: The targets below have some redundancy. Check if we cannot
+# condense them using function(s) for the common code.
+
+LOCAL_PATH := $(call my-dir)
+
+libgmock_target_includes := \
+ $(LOCAL_PATH)/.. \
+ $(LOCAL_PATH)/../include \
+ $(TOP)/external/gtest/include
+
+libgmock_host_includes := \
+ $(LOCAL_PATH)/.. \
+ $(LOCAL_PATH)/../include \
+ $(TOP)/external/gtest/include
+
+libgmock_cflags := \
+ -Wno-missing-field-initializers \
+
+#######################################################################
+# gmock lib for the NDK
+
+include $(CLEAR_VARS)
+LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
+
+LOCAL_SDK_VERSION := 9
+LOCAL_NDK_STL_VARIANT := gnustl_static
+
+LOCAL_CPP_EXTENSION := .cc
+LOCAL_SRC_FILES := gmock-all.cc
+LOCAL_C_INCLUDES := $(libgmock_target_includes)
+LOCAL_CPPFLAGS := -std=c++11
+LOCAL_C_FLAGS += $(libgmock_cflags)
+LOCAL_MODULE := libgmock_ndk
+
+include $(BUILD_STATIC_LIBRARY)
+
+#######################################################################
+# gmock_main for the NDK
+
+include $(CLEAR_VARS)
+LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
+
+LOCAL_SDK_VERSION := 9
+LOCAL_NDK_STL_VARIANT := gnustl_static
+
+LOCAL_CPP_EXTENSION := .cc
+LOCAL_SRC_FILES := gmock_main.cc
+LOCAL_C_INCLUDES := $(libgmock_target_includes)
+LOCAL_CPPFLAGS := -std=c++11
+LOCAL_C_FLAGS += $(libgmock_cflags)
+LOCAL_MODULE := libgmock_main_ndk
+
+include $(BUILD_STATIC_LIBRARY)
+
+# Don't build for unbundled branches
+ifeq (,$(TARGET_BUILD_APPS))
+#######################################################################
+# gmock lib host
+
+include $(CLEAR_VARS)
+
+LOCAL_CPP_EXTENSION := .cc
+LOCAL_SRC_FILES := gmock-all.cc
+LOCAL_C_INCLUDES := $(libgmock_host_includes)
+LOCAL_C_FLAGS += $(libgmock_cflags)
+LOCAL_MODULE := libgmock_host
+LOCAL_MULTILIB := both
+LOCAL_ADDRESS_SANITIZER := false
+
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+#######################################################################
+# gmock_main lib target
+
+include $(CLEAR_VARS)
+
+LOCAL_CLANG := true
+LOCAL_CPP_EXTENSION := .cc
+LOCAL_SRC_FILES := gmock_main.cc
+LOCAL_C_INCLUDES := $(libgmock_host_includes)
+LOCAL_C_FLAGS += $(libgmock_cflags)
+LOCAL_MODULE := libgmock_main_host
+LOCAL_MULTILIB := both
+LOCAL_ADDRESS_SANITIZER := false
+
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+#######################################################################
+# gmock lib target
+
+include $(CLEAR_VARS)
+
+LOCAL_CLANG := true
+LOCAL_CPP_EXTENSION := .cc
+LOCAL_SRC_FILES := gmock-all.cc
+LOCAL_C_INCLUDES := $(libgmock_target_includes)
+LOCAL_CFLAGS += $(libgmock_cflags)
+LOCAL_MODULE := libgmock
+LOCAL_ADDRESS_SANITIZER := false
+
+include $(BUILD_STATIC_LIBRARY)
+
+#######################################################################
+# gmock_main lib target
+
+include $(CLEAR_VARS)
+
+LOCAL_CPP_EXTENSION := .cc
+LOCAL_SRC_FILES := gmock_main.cc
+LOCAL_C_INCLUDES := $(libgmock_target_includes)
+LOCAL_CFLAGS += $(libgmock_cflags)
+LOCAL_MODULE := libgmock_main
+LOCAL_ADDRESS_SANITIZER := false
+
+include $(BUILD_STATIC_LIBRARY)
+endif