Merge "Convert perfprofd to Android.bp"
diff --git a/perfprofd/Android.bp b/perfprofd/Android.bp
new file mode 100644
index 0000000..58926dc
--- /dev/null
+++ b/perfprofd/Android.bp
@@ -0,0 +1,76 @@
+perfprofd_cppflags = [
+ "-Wall",
+ "-Wno-sign-compare",
+ "-Wno-unused-parameter",
+ "-Werror",
+]
+
+//
+// Static library containing guts of AWP daemon.
+//
+
+cc_library_static {
+ name: "libperfprofdcore",
+ clang: true,
+
+ local_include_dirs: ["quipper/kernel-headers"],
+ export_include_dirs: ["."],
+ static_libs: ["libbase"],
+ srcs: [
+ "perf_profile.proto",
+ "quipper/perf_utils.cc",
+ "quipper/base/logging.cc",
+ "quipper/address_mapper.cc",
+ "quipper/perf_reader.cc",
+ "quipper/perf_parser.cc",
+ "perf_data_converter.cc",
+ "configreader.cc",
+ "cpuconfig.cc",
+ "perfprofdcore.cc",
+ ],
+
+ cppflags: perfprofd_cppflags,
+
+ proto: {
+ export_proto_headers: true,
+ },
+}
+
+//
+// Static library with primary utilities layer (called by perfprofd core)
+//
+cc_library_static {
+ name: "libperfprofdutils",
+ clang: true,
+
+ cppflags: perfprofd_cppflags,
+ srcs: ["perfprofdutils.cc"],
+}
+
+//
+// Main daemon
+//
+cc_binary {
+ name: "perfprofd",
+ clang: true,
+
+ srcs: ["perfprofdmain.cc"],
+ static_libs: [
+ "libperfprofdcore",
+ "libperfprofdutils",
+ ],
+ shared_libs: [
+ "liblog",
+ "libprotobuf-cpp-lite",
+ "libbase",
+ "libcutils"
+ ],
+ system_shared_libs: [
+ "libc",
+ ],
+ cppflags: perfprofd_cppflags,
+
+ init_rc: ["perfprofd.rc"],
+}
+
+subdirs = ["tests"]
diff --git a/perfprofd/Android.mk b/perfprofd/Android.mk
index ce52e29..73a9ecb 100644
--- a/perfprofd/Android.mk
+++ b/perfprofd/Android.mk
@@ -1,74 +1,3 @@
LOCAL_PATH:= $(call my-dir)
-perfprofd_cppflags := \
- -Wall \
- -Wno-sign-compare \
- -Wno-unused-parameter \
- -Werror \
-
-#
-# Static library containing guts of AWP daemon.
-#
-include $(CLEAR_VARS)
-LOCAL_CLANG := true
-LOCAL_CPP_EXTENSION := .cc
-LOCAL_MODULE := libperfprofdcore
-LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-LOCAL_MODULE_TAGS := debug
-proto_header_dir := $(call local-generated-sources-dir)/proto/$(LOCAL_PATH)
-LOCAL_C_INCLUDES += $(proto_header_dir) $(LOCAL_PATH)/quipper/kernel-headers
-LOCAL_STATIC_LIBRARIES := libbase
-LOCAL_EXPORT_C_INCLUDE_DIRS += $(proto_header_dir)
-LOCAL_SRC_FILES := \
- perf_profile.proto \
- quipper/perf_utils.cc \
- quipper/base/logging.cc \
- quipper/address_mapper.cc \
- quipper/perf_reader.cc \
- quipper/perf_parser.cc \
- perf_data_converter.cc \
- configreader.cc \
- cpuconfig.cc \
- perfprofdcore.cc \
-
-LOCAL_CPPFLAGS += $(perfprofd_cppflags)
-include $(BUILD_STATIC_LIBRARY)
-
-#
-# Static library with primary utilities layer (called by perfprofd core)
-#
-include $(CLEAR_VARS)
-LOCAL_CLANG := true
-LOCAL_CPP_EXTENSION := .cc
-LOCAL_CXX_STL := libc++
-LOCAL_MODULE := libperfprofdutils
-LOCAL_MODULE_TAGS := debug
-LOCAL_CPPFLAGS += $(perfprofd_cppflags)
-LOCAL_SRC_FILES := perfprofdutils.cc
-include $(BUILD_STATIC_LIBRARY)
-
-#
-# Main daemon
-#
-include $(CLEAR_VARS)
-LOCAL_CLANG := true
-LOCAL_CPP_EXTENSION := .cc
-LOCAL_CXX_STL := libc++
-LOCAL_SRC_FILES := perfprofdmain.cc
-LOCAL_STATIC_LIBRARIES := libperfprofdcore libperfprofdutils
-LOCAL_SHARED_LIBRARIES := liblog libprotobuf-cpp-lite libbase
-LOCAL_SYSTEM_SHARED_LIBRARIES := libc libstdc++
-LOCAL_CPPFLAGS += $(perfprofd_cppflags)
-LOCAL_CFLAGS := -Wall -Werror
-LOCAL_MODULE := perfprofd
-LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
-LOCAL_MODULE_TAGS := debug
-LOCAL_SHARED_LIBRARIES += libcutils
-LOCAL_INIT_RC := perfprofd.rc
-include $(BUILD_EXECUTABLE)
-
-# Clean temp vars
-perfprofd_cppflags :=
-proto_header_dir :=
-
include $(call first-makefiles-under,$(LOCAL_PATH))
diff --git a/perfprofd/tests/Android.bp b/perfprofd/tests/Android.bp
new file mode 100644
index 0000000..f3a5bb8
--- /dev/null
+++ b/perfprofd/tests/Android.bp
@@ -0,0 +1,42 @@
+// Build the unit tests.
+
+perfprofd_test_cppflags = [
+ "-Wall",
+ "-Wno-sign-compare",
+ "-Wno-unused-parameter",
+ "-Werror",
+]
+
+//
+// Static library with mockup utilities layer (called by unit test).
+//
+cc_library_static {
+ name: "libperfprofdmockutils",
+ clang: true,
+
+ include_dirs: ["system/extras/perfprofd"],
+ cppflags: perfprofd_test_cppflags,
+ srcs: ["perfprofdmockutils.cc"],
+}
+
+//
+// Unit test for perfprofd
+//
+cc_test {
+ name: "perfprofd_test",
+ clang: true,
+
+ stl: "libc++",
+ static_libs: [
+ "libperfprofdcore",
+ "libperfprofdmockutils",
+ "libbase",
+ ],
+ shared_libs: [
+ "libprotobuf-cpp-lite",
+ "liblog",
+ "libcutils",
+ ],
+ srcs: ["perfprofd_test.cc"],
+ cppflags: perfprofd_test_cppflags,
+}
diff --git a/perfprofd/tests/Android.mk b/perfprofd/tests/Android.mk
index a9c370d..30ea7c9 100644
--- a/perfprofd/tests/Android.mk
+++ b/perfprofd/tests/Android.mk
@@ -1,20 +1,6 @@
-# Build the unit tests.
LOCAL_PATH := $(call my-dir)
-perfprofd_test_cppflags := -Wall -Wno-sign-compare -Wno-unused-parameter -Werror
-
-#
-# Static library with mockup utilities layer (called by unit test).
-#
-include $(CLEAR_VARS)
-LOCAL_CLANG := true
-LOCAL_CPP_EXTENSION := .cc
-LOCAL_CXX_STL := libc++
-LOCAL_C_INCLUDES += system/extras/perfprofd
-LOCAL_MODULE := libperfprofdmockutils
-LOCAL_CPPFLAGS += $(perfprofd_test_cppflags)
-LOCAL_SRC_FILES := perfprofdmockutils.cc
-include $(BUILD_STATIC_LIBRARY)
+# Unit tests are in Android.bp
#
# Canned perf.data file needed by unit test.
@@ -37,22 +23,3 @@
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_NATIVE_TESTS)/perfprofd_test
LOCAL_SRC_FILES := callchain.canned.perf.data
include $(BUILD_PREBUILT)
-
-#
-# Unit test for perfprofd
-#
-include $(CLEAR_VARS)
-LOCAL_CLANG := true
-LOCAL_CPP_EXTENSION := .cc
-LOCAL_CXX_STL := libc++
-LOCAL_STATIC_LIBRARIES := libperfprofdcore libperfprofdmockutils libgtest libbase
-LOCAL_SHARED_LIBRARIES := libprotobuf-cpp-lite
-LOCAL_C_INCLUDES += system/extras/perfprofd external/protobuf/src
-LOCAL_SRC_FILES := perfprofd_test.cc
-LOCAL_CPPFLAGS += $(perfprofd_test_cppflags)
-LOCAL_SHARED_LIBRARIES += liblog libcutils
-LOCAL_MODULE := perfprofd_test
-include $(BUILD_NATIVE_TEST)
-
-# Clean temp vars
-perfprofd_test_cppflags :=