Merge \"Convert Android.mk to Android.bp\"
am: f47bfd7f77

Change-Id: I9aea1a844c568ae72864f898accdf6a259472c00
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..8fae10e
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,129 @@
+// 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.
+//
+
+cc_defaults {
+    name: "gmock_flags",
+
+    local_include_dirs: ["include"],
+    export_include_dirs: ["include"],
+    include_dirs: ["external/gtest/include"],
+
+    cflags: ["-Wno-missing-field-initializers"],
+}
+
+cc_defaults {
+    name: "gmock_ndk",
+    sdk_version: "9",
+    stl: "gnustl_static",
+    cppflags: ["-std=c++11"],
+}
+
+cc_defaults {
+    name: "gmock_defaults",
+    host_supported: true,
+    sanitize: {
+        never: true,
+    },
+    target: {
+        windows: {
+            enabled: true,
+        },
+    },
+}
+
+//######################################################################
+// gmock lib for the NDK
+cc_library_static {
+    name: "libgmock_ndk",
+    defaults: ["gmock_ndk", "gmock_flags"],
+    srcs: ["src/gmock-all.cc"],
+}
+
+//######################################################################
+// gmock_main for the NDK
+cc_library_static {
+    name: "libgmock_main_ndk",
+    defaults: ["gmock_ndk", "gmock_flags"],
+    srcs: ["src/gmock_main.cc"],
+}
+
+//######################################################################
+// gmock lib target and host
+cc_library_static {
+    name: "libgmock",
+    defaults: ["gmock_defaults", "gmock_flags"],
+    srcs: ["src/gmock-all.cc"],
+    rtti: true,
+}
+
+//######################################################################
+// gmock_main lib target and host
+cc_library_static {
+    name: "libgmock_main",
+    defaults: ["gmock_defaults", "gmock_flags"],
+    srcs: ["src/gmock_main.cc"],
+}
+
+//######################################################################
+// gmock lib host
+// Deprecated: use libgmock instead
+cc_library_host_static {
+    name: "libgmock_host",
+    defaults: ["gmock_defaults", "gmock_flags"],
+    srcs: ["src/gmock-all.cc"],
+    rtti: true,
+}
+
+// Test for gmock. Run using 'runtest'.
+// The linux build and tests are run under valgrind by 'runtest'.
+
+cc_test {
+    name: "libgmock_test",
+    gtest: false,
+    host_supported: true,
+    test_per_src: true,
+
+    // The remaining tests aren't executed by the configure/make/make check sequence.
+    srcs: [
+        "test/gmock_test.cc",
+        "test/gmock-spec-builders_test.cc",
+        "test/gmock_link_test.cc",
+    ],
+
+    cflags: ["-Wno-empty-body"],
+    static_libs: [
+        "libgmock_main",
+        "libgmock",
+        "libgtest",
+        "libgtest_main",
+    ],
+
+    target: {
+        host: {
+            cflags: ["-O0"],
+            host_ldlibs: ["-lpthread"],
+        },
+    },
+}
diff --git a/Android.mk b/Android.mk
deleted file mode 100644
index 44199ab..0000000
--- a/Android.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright (C) 2009 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.
-#
-#
-
-include $(call all-subdir-makefiles)
diff --git a/src/Android.mk b/src/Android.mk
deleted file mode 100644
index 1248fa4..0000000
--- a/src/Android.mk
+++ /dev/null
@@ -1,145 +0,0 @@
-# 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.
-
-# 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_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/../include
-LOCAL_CPPFLAGS := -std=c++11
-LOCAL_CFLAGS += $(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_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/../include
-LOCAL_CPPFLAGS := -std=c++11
-LOCAL_CFLAGS += $(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_CFLAGS += $(libgmock_cflags)
-LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/../include
-LOCAL_MODULE := libgmock_host
-LOCAL_MULTILIB := both
-LOCAL_SANITIZE := never
-LOCAL_RTTI_FLAG := -frtti
-LOCAL_MODULE_HOST_OS := linux darwin windows
-
-include $(BUILD_HOST_STATIC_LIBRARY)
-
-#######################################################################
-# gmock_main lib host
-
-include $(CLEAR_VARS)
-
-LOCAL_CPP_EXTENSION := .cc
-LOCAL_SRC_FILES := gmock_main.cc
-LOCAL_C_INCLUDES := $(libgmock_host_includes)
-LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/../include
-LOCAL_CFLAGS += $(libgmock_cflags)
-LOCAL_MODULE := libgmock_main_host
-LOCAL_MULTILIB := both
-LOCAL_SANITIZE := never
-LOCAL_MODULE_HOST_OS := linux darwin windows
-
-include $(BUILD_HOST_STATIC_LIBRARY)
-
-#######################################################################
-# gmock lib target
-
-include $(CLEAR_VARS)
-
-LOCAL_CPP_EXTENSION := .cc
-LOCAL_SRC_FILES := gmock-all.cc
-LOCAL_C_INCLUDES := $(libgmock_target_includes)
-LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/../include
-LOCAL_CFLAGS += $(libgmock_cflags)
-LOCAL_MODULE := libgmock
-LOCAL_SANITIZE := never
-LOCAL_RTTI_FLAG := -frtti
-
-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_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/../include
-LOCAL_CFLAGS += $(libgmock_cflags)
-LOCAL_MODULE := libgmock_main
-LOCAL_SANITIZE := never
-
-include $(BUILD_STATIC_LIBRARY)
-endif
diff --git a/test/Android.mk b/test/Android.mk
deleted file mode 100644
index 8aca24b..0000000
--- a/test/Android.mk
+++ /dev/null
@@ -1,84 +0,0 @@
-# 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.
-#
-#
-
-# Test for gmock. Run using 'runtest'.
-# The linux build and tests are run under valgrind by 'runtest'.
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-# TODO: Refactor these as 1st class build templates as suggested in
-# review of the original import.
-
-libgmock_test_common_includes := \
-    $(LOCAL_PATH)/../include \
-    $(LOCAL_PATH)/.. \
-    $(TOP)/external/gtest/include \
-
-libgmock_test_includes := $(libgmock_test_common_includes)
-libgmock_test_static_lib := libgmock_main libgmock libgtest libgtest_main
-libgmock_test_ldflags :=
-
-libgmock_test_host_includes := $(libgmock_test_common_includes)
-libgmock_test_host_static_lib := libgmock_main_host libgmock_host libgtest_host libgtest_main_host
-libgmock_test_host_ldflags := -lpthread
-
-# $(2) and $(4) must be set or cleared in sync. $(2) is used to
-# generate the right make target (host vs device). $(4) is used in the
-# module's name and to have different module names for the host vs
-# device builds. Finally $(4) is used to pick up the right set of
-# libraries, typically the host libs have a _host suffix in their
-# names.
-# $(1): source list
-# $(2): "HOST_" or empty
-# $(3): extra CFLAGS or empty
-# $(4): "_host" or empty
-# $(5): "TARGET_OUT_DATA_NATIVE_TESTS" or empty (where to install)
-define _define-test
-$(foreach file,$(1), \
-  $(eval include $(CLEAR_VARS)) \
-  $(eval LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk) \
-  $(eval LOCAL_CPP_EXTENSION := .cc) \
-  $(eval LOCAL_SRC_FILES := $(file)) \
-  $(eval LOCAL_C_INCLUDES := $(libgmock_test$(4)_includes)) \
-  $(eval LOCAL_MODULE := $(notdir $(file:%.cc=%))$(4)) \
-  $(eval LOCAL_CFLAGS += $(3) -Wno-empty-body) \
-  $(eval LOCAL_LDFLAGS += $(libgmock_test$(4)_ldflags)) \
-  $(eval LOCAL_STATIC_LIBRARIES := $(libgmock_test$(4)_static_lib)) \
-  $(eval LOCAL_SHARED_LIBRARIES := $(libgmock_test$(4)_shared_lib)) \
-  $(if $(2),,$(eval LOCAL_MODULE_TAGS := tests)) \
-  $(eval LOCAL_MODULE_PATH := $($(5))) \
-  $(eval include $(BUILD_$(2)EXECUTABLE)) \
-)
-endef
-
-define host-test
-$(call _define-test,$(1),HOST_,-O0,_host,)
-endef
-
-define target-test
-$(call _define-test,$(1),,,,TARGET_OUT_DATA_NATIVE_TESTS)
-endef
-
-sources := \
-    gmock_test.cc \
-    gmock-spec-builders_test.cc \
-    gmock_link_test.cc \
-
-# The remaining tests aren't executed by the configure/make/make check sequence.
-
-$(call host-test, $(sources))
-$(call target-test, $(sources))