Merge "Convert goldfish-opengl/system/hal to bp" into main
diff --git a/Android.mk b/Android.mk
index 943da93..92f443d 100644
--- a/Android.mk
+++ b/Android.mk
@@ -139,10 +139,6 @@
 # Note that the build system will complain if you try to import a
 # module that hasn't been declared yet anyway.
 #
-ifneq (true,$(GOLDFISH_OPENGL_BUILD_FOR_HOST))
-include $(GOLDFISH_OPENGL_PATH)/system/hals/Android.mk
-endif
-
 endif
 
 endif # ENABLE_GOLDFISH_OPENGL_FOLDER
diff --git a/system/hals/Android.bp b/system/hals/Android.bp
index cec9efb..d13c1a0 100644
--- a/system/hals/Android.bp
+++ b/system/hals/Android.bp
@@ -33,6 +33,61 @@
     ],
     export_header_lib_headers: [
         "libcutils_headers",
-        "libqemupipe-types.ranchu"
+        "libqemupipe-types.ranchu",
+    ],
+}
+
+cc_defaults {
+    name: "android.hardware.graphics_defaults",
+    relative_install_path: "hw",
+    vendor: true,
+    static_libs: [
+        "libqemupipe.ranchu",
+        "libGoldfishAddressSpace",
+    ],
+    shared_libs: [
+        "android.hardware.graphics.mapper@3.0",
+        "libbase",
+        "libcutils",
+        "libdrm",
+        "libhidlbase",
+        "liblog",
+        "libutils",
+        "libOpenglCodecCommon",
+        "libOpenglSystemCommon",
+    ],
+    header_libs: ["libgralloc_cb.ranchu"],
+    include_dirs: [
+        "external/libdrm",
+        "external/minigbm/cros_gralloc",
+        "hardware/google/gfxstream/guest/include",
+        // "hardware/google/gfxstream/guest/iostream/include/libOpenglRender" does not exist.
+        "hardware/google/gfxstream/guest/platform/include",
+        "hardware/google/gfxstream/guest/renderControl_enc",
+        "hardware/google/gfxstream/guest/GoldfishAddressSpace/include",
+        "hardware/google/gfxstream/guest/OpenglCodecCommon",
+        "hardware/google/gfxstream/guest/OpenglSystemCommon",
+    ],
+    cflags: ["-DVIRTIO_GPU"],
+}
+
+cc_binary {
+    name: "android.hardware.graphics.allocator@3.0-service.ranchu",
+    defaults: ["android.hardware.graphics_defaults"],
+    srcs: ["allocator3.cpp"],
+    init_rc: ["android.hardware.graphics.allocator@3.0-service.ranchu.rc"],
+    vintf_fragments: ["android.hardware.graphics.gralloc3.ranchu.xml"],
+    shared_libs: [
+        "android.hardware.graphics.allocator@3.0",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.graphics.mapper@3.0-impl-ranchu",
+    defaults: ["android.hardware.graphics_defaults"],
+    srcs: ["mapper3.cpp"],
+    shared_libs: [
+        "libsync",
+        "libandroidemu",
     ],
 }
diff --git a/system/hals/Android.mk b/system/hals/Android.mk
deleted file mode 100644
index 1c5ed51..0000000
--- a/system/hals/Android.mk
+++ /dev/null
@@ -1,99 +0,0 @@
-#
-# Copyright 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.
-
-LOCAL_PATH:= $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := android.hardware.graphics.allocator@3.0-service.ranchu
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../LICENSE
-LOCAL_MODULE_RELATIVE_PATH := hw
-LOCAL_VENDOR_MODULE := true
-LOCAL_SRC_FILES := allocator3.cpp
-LOCAL_INIT_RC := android.hardware.graphics.allocator@3.0-service.ranchu.rc
-LOCAL_VINTF_FRAGMENTS := android.hardware.graphics.gralloc3.ranchu.xml
-
-LOCAL_SHARED_LIBRARIES += \
-    android.hardware.graphics.allocator@3.0 \
-    android.hardware.graphics.mapper@3.0 \
-    libOpenglSystemCommon \
-    libOpenglCodecCommon$(GOLDFISH_OPENGL_LIB_SUFFIX) \
-    libbase \
-    libcutils \
-    libhidlbase \
-    liblog \
-    libutils \
-
-LOCAL_STATIC_LIBRARIES += libqemupipe.ranchu libGoldfishAddressSpace$(GOLDFISH_OPENGL_LIB_SUFFIX)
-LOCAL_HEADER_LIBRARIES += libgralloc_cb.ranchu
-
-LOCAL_C_INCLUDES += \
-    hardware/google/gfxstream/guest/GoldfishAddressSpace/include \
-    hardware/google/gfxstream/guest/include \
-    hardware/google/gfxstream/guest/platform/include \
-    hardware/google/gfxstream/guest/iostream/include/libOpenglRender \
-    hardware/google/gfxstream/guest/OpenglCodecCommon \
-    hardware/google/gfxstream/guest/OpenglSystemCommon \
-    hardware/google/gfxstream/guest/renderControl_enc \
-
-LOCAL_CFLAGS += -DVIRTIO_GPU
-LOCAL_C_INCLUDES += external/libdrm external/minigbm/cros_gralloc
-LOCAL_SHARED_LIBRARIES += libdrm
-
-include $(BUILD_EXECUTABLE)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := android.hardware.graphics.mapper@3.0-impl-ranchu
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../LICENSE
-LOCAL_MODULE_RELATIVE_PATH := hw
-LOCAL_VENDOR_MODULE := true
-LOCAL_SRC_FILES := mapper3.cpp
-
-#     android.hardware.graphics.allocator@3.0 \
-
-LOCAL_SHARED_LIBRARIES += \
-    android.hardware.graphics.mapper@3.0 \
-    libOpenglSystemCommon \
-    libOpenglCodecCommon$(GOLDFISH_OPENGL_LIB_SUFFIX) \
-    libbase \
-    libcutils \
-    libhidlbase \
-    liblog \
-    libutils \
-    libsync \
-	libandroidemu \
-
-LOCAL_STATIC_LIBRARIES += libqemupipe.ranchu libGoldfishAddressSpace$(GOLDFISH_OPENGL_LIB_SUFFIX)
-LOCAL_HEADER_LIBRARIES += libgralloc_cb.ranchu
-
-LOCAL_C_INCLUDES += \
-    hardware/google/gfxstream/guest/GoldfishAddressSpace/include \
-    hardware/google/gfxstream/guest/include \
-    hardware/google/gfxstream/guest/platform/include \
-    hardware/google/gfxstream/guest/iostream/include/libOpenglRender \
-    hardware/google/gfxstream/guest/OpenglCodecCommon \
-    hardware/google/gfxstream/guest/OpenglSystemCommon \
-    hardware/google/gfxstream/guest/renderControl_enc \
-
-LOCAL_CFLAGS += -DVIRTIO_GPU
-LOCAL_C_INCLUDES += external/libdrm external/minigbm/cros_gralloc
-LOCAL_SHARED_LIBRARIES += libdrm
-
-include $(BUILD_SHARED_LIBRARY)