From 937e8b891de2166dea05401b3cd4d24a8e6440f5 Mon Sep 17 00:00:00 2001 From: Dan Willemsen Date: Mon, 25 Jul 2016 21:44:02 -0700 Subject: Convert Android.mk to Android.bp Change-Id: Icdcae9998eaf5d11941871070c88129523a046aa --- Android.bp | 129 +++++++++++++++++++++++++++++++++++++++++++++++++ Android.mk | 17 ------- src/Android.mk | 145 -------------------------------------------------------- test/Android.mk | 84 -------------------------------- 4 files changed, 129 insertions(+), 246 deletions(-) create mode 100644 Android.bp delete mode 100644 Android.mk delete mode 100644 src/Android.mk delete mode 100644 test/Android.mk 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)) -- cgit v1.2.3