display: Partially convert makefiles to blueprints

Change-Id: I5429ecee3985e305290e312921725460ef195b83
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..348067f
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,37 @@
+cc_defaults {
+    name: "display_defaults",
+    cflags: [
+        "-Wno-missing-field-initializers",
+        "-Wconversion",
+        "-Wall",
+        "-Werror",
+        "-std=c++14",
+    ],
+    shared_libs: [
+        "liblog",
+        "libcutils",
+        "libutils",
+    ],
+    header_libs: ["display_headers"],
+    clang: true,
+}
+
+cc_library_headers {
+    name: "display_headers",
+    export_include_dirs: [
+        "include",
+        "libcopybit",
+        "libdrmutils",
+        "libqdutils",
+        "libqservice",
+        "gpu_tonemapper",
+        "sdm/include",
+        "gralloc",
+        "libdebug",
+    ],
+}
+
+subdirs = [
+    "libqservice",
+    "libqdutils",
+]
diff --git a/Android.mk b/Android.mk
index bf7dd6a..891f72c 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1,6 +1,6 @@
 ifneq ($(TARGET_DISABLE_DISPLAY),true)
 sdm-libs := sdm/libs
-display-hals := include libdebug libqservice libqdutils $(sdm-libs)/utils $(sdm-libs)/core
+display-hals := include $(sdm-libs)/utils $(sdm-libs)/core libdebug
 
 ifneq ($(TARGET_IS_HEADLESS), true)
     display-hals += libcopybit liblight libmemtrack hdmi_cec \
diff --git a/include/Android.mk b/include/Android.mk
index 27161c9..1f128c1 100644
--- a/include/Android.mk
+++ b/include/Android.mk
@@ -2,26 +2,19 @@
 include $(LOCAL_PATH)/../common.mk
 include $(CLEAR_VARS)
 
+# Legacy header copy. This is deprecated.
+# Modules using these headers should shift to using
+# LOCAL_HEADER_LIBRARIES := display_headers
 LOCAL_VENDOR_MODULE           := true
 LOCAL_COPY_HEADERS_TO         := $(common_header_export_path)
-LOCAL_COPY_HEADERS            := color_metadata.h
-LOCAL_COPY_HEADERS            += display_color_processing.h
+LOCAL_COPY_HEADERS            := color_metadata.h \
+                                 display_color_processing.h \
+                                 ../libqdutils/qd_utils.h \
+                                 ../libqdutils/qdMetaData.h \
+                                 ../libqdutils/display_config.h \
+                                 ../libqservice/QServiceUtils.h \
+                                 ../libqservice/IQService.h \
+                                 ../libqservice/IQHDMIClient.h \
+                                 ../libqservice/IQClient.h
 
 include $(BUILD_COPY_HEADERS)
-
-include $(CLEAR_VARS)
-#TODO move all exported headers to this directory
-LOCAL_MODULE                  := display_headers
-LOCAL_VENDOR_MODULE           := true
-LOCAL_EXPORT_C_INCLUDE_DIRS   := $(LOCAL_PATH) \
-                                 $(display_top)/libcopybit \
-                                 $(display_top)/libdrmutils \
-                                 $(display_top)/libqdutils \
-                                 $(display_top)/libqservice \
-                                 $(display_top)/gpu_tonemapper \
-                                 $(display_top)/sdm/include \
-                                 $(display_top)/gralloc \
-                                 $(display_top)/libgralloc1 \
-                                 $(display_top)/libdebug
-
-include $(BUILD_HEADER_LIBRARY)
diff --git a/libqdutils/Android.bp b/libqdutils/Android.bp
new file mode 100644
index 0000000..a32162f
--- /dev/null
+++ b/libqdutils/Android.bp
@@ -0,0 +1,39 @@
+cc_library_shared {
+    name: "libqdutils",
+    vendor: true,
+    defaults: ["display_defaults"],
+    shared_libs: [
+        "libbinder",
+        "libqservice",
+    ],
+    cflags: [
+        "-DLOG_TAG=\"qdutils\"",
+        "-Wno-sign-conversion",
+    ],
+    srcs: [
+        "qd_utils.cpp",
+        "display_config.cpp",
+    ],
+}
+
+cc_library_shared {
+    name: "libqdMetaData",
+    vendor_available: true,
+    defaults: ["display_defaults"],
+    cflags: [
+        "-Wno-sign-conversion",
+        "-DLOG_TAG=\"qdmetadata\"",
+    ],
+    srcs: ["qdMetaData.cpp","qd_utils.cpp"],
+}
+
+// Remove after WFD moves to use libqdMetaData directly
+cc_library_shared {
+    name: "libqdMetaData.system",
+    defaults: ["display_defaults"],
+    cflags: [
+        "-Wno-sign-conversion",
+        "-DLOG_TAG=\"qdmetadata\"",
+    ],
+    srcs: ["qdMetaData.cpp","qd_utils.cpp"],
+}
diff --git a/libqdutils/Android.mk b/libqdutils/Android.mk
deleted file mode 100644
index 820ed87..0000000
--- a/libqdutils/Android.mk
+++ /dev/null
@@ -1,51 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-include $(LOCAL_PATH)/../common.mk
-include $(CLEAR_VARS)
-
-LOCAL_MODULE                  := libqdutils
-LOCAL_VENDOR_MODULE           := true
-LOCAL_MODULE_TAGS             := optional
-LOCAL_SHARED_LIBRARIES        := $(common_libs) libbinder libqservice
-LOCAL_C_INCLUDES              := $(common_includes) $(kernel_includes)
-LOCAL_HEADER_LIBRARIES        := display_headers
-LOCAL_HEADER_LIBRARIES        += libhardware_headers
-LOCAL_CFLAGS                  := $(common_flags) -DLOG_TAG=\"qdutils\" -Wno-sign-conversion
-LOCAL_ADDITIONAL_DEPENDENCIES := $(common_deps)
-LOCAL_COPY_HEADERS_TO         := $(common_header_export_path)
-LOCAL_COPY_HEADERS            := display_config.h qd_utils.h
-LOCAL_SRC_FILES               := qd_utils.cpp \
-                                 display_config.cpp
-include $(BUILD_SHARED_LIBRARY)
-
-include $(CLEAR_VARS)
-
-LOCAL_COPY_HEADERS_TO           := $(common_header_export_path)
-LOCAL_COPY_HEADERS              := qdMetaData.h qd_utils.h
-LOCAL_SHARED_LIBRARIES          := liblog libcutils
-LOCAL_C_INCLUDES                := $(common_includes)
-LOCAL_HEADER_LIBRARIES          := display_headers
-LOCAL_ADDITIONAL_DEPENDENCIES   := $(common_deps)
-LOCAL_SRC_FILES                 := qdMetaData.cpp qd_utils.cpp
-LOCAL_CFLAGS                    := $(common_flags) -Wno-sign-conversion
-LOCAL_CFLAGS                    += -DLOG_TAG=\"DisplayMetaData\"
-
-LOCAL_MODULE_TAGS               := optional
-LOCAL_MODULE                    := libqdMetaData
-LOCAL_VENDOR_MODULE             := true
-include $(BUILD_SHARED_LIBRARY)
-
-
-include $(CLEAR_VARS)
-
-LOCAL_SHARED_LIBRARIES          := liblog libcutils
-LOCAL_C_INCLUDES                := $(common_includes)
-LOCAL_HEADER_LIBRARIES          := display_headers
-LOCAL_ADDITIONAL_DEPENDENCIES   := $(common_deps)
-LOCAL_SRC_FILES                 := qdMetaData.cpp qd_utils.cpp
-LOCAL_CFLAGS                    := $(common_flags) -Wno-sign-conversion
-LOCAL_CFLAGS                    += -DLOG_TAG=\"DisplayMetaData\"
-
-LOCAL_MODULE_TAGS               := optional
-LOCAL_MODULE                    := libqdMetaData.system
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/libqservice/Android.bp b/libqservice/Android.bp
new file mode 100644
index 0000000..fe69d39
--- /dev/null
+++ b/libqservice/Android.bp
@@ -0,0 +1,16 @@
+cc_library_shared {
+    name: "libqservice",
+    vendor: true,
+    defaults: ["display_defaults"],
+    shared_libs: ["libbinder"],
+    cflags: [
+        "-DLOG_TAG=\"qdqservice\"",
+        "-Wno-sign-conversion",
+    ],
+    srcs: [
+        "QService.cpp",
+        "IQService.cpp",
+        "IQClient.cpp",
+        "IQHDMIClient.cpp",
+    ],
+}
diff --git a/libqservice/Android.mk b/libqservice/Android.mk
deleted file mode 100644
index 9cfdf97..0000000
--- a/libqservice/Android.mk
+++ /dev/null
@@ -1,24 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-include $(LOCAL_PATH)/../common.mk
-include $(CLEAR_VARS)
-
-LOCAL_MODULE                  := libqservice
-LOCAL_VENDOR_MODULE           := true
-LOCAL_MODULE_TAGS             := optional
-LOCAL_C_INCLUDES              := $(common_includes) $(kernel_includes)
-LOCAL_SHARED_LIBRARIES        := $(common_libs) libbinder
-LOCAL_CFLAGS                  := $(common_flags) -DLOG_TAG=\"qdqservice\" -Wno-sign-conversion
-LOCAL_ADDITIONAL_DEPENDENCIES := $(common_deps)
-LOCAL_SRC_FILES               := QService.cpp \
-                                 IQService.cpp \
-                                 IQClient.cpp \
-                                 IQHDMIClient.cpp
-LOCAL_COPY_HEADERS_TO         := $(common_header_export_path)
-LOCAL_COPY_HEADERS            := IQService.h \
-                                 IQClient.h \
-                                 QService.h \
-                                 QServiceUtils.h \
-                                 IQHDMIClient.h
-
-
-include $(BUILD_SHARED_LIBRARY)