OSDN Git Service

Updates libgbm to use libdrm_headers
[android-x86/external-minigbm.git] / Android.bp
index 9c1b498..9b3d5ff 100644 (file)
@@ -1,8 +1,5 @@
-/*
- * Copyright 2020 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 cc_defaults {
     name: "minigbm_defaults",
@@ -10,22 +7,16 @@ cc_defaults {
     srcs: [
         "amdgpu.c",
         "drv.c",
-        "evdi.c",
+        "dumb_driver.c",
         "exynos.c",
         "helpers_array.c",
         "helpers.c",
         "i915.c",
-        "marvell.c",
         "mediatek.c",
-        "meson.c",
         "msm.c",
-        "nouveau.c",
-        "radeon.c",
         "rockchip.c",
         "tegra.c",
-        "udl.c",
         "vc4.c",
-        "vgem.c",
         "virtio_gpu.c",
     ],
 
@@ -41,14 +32,10 @@ cc_defaults {
     ],
 
     cppflags: ["-std=c++14"],
-
-    shared_libs: [
-        "libdrm",
-    ],
 }
 
 cc_defaults {
-    name: "minigbm_gralloc_defaults",
+    name: "minigbm_cros_gralloc_defaults",
 
     defaults: ["minigbm_defaults"],
 
@@ -80,18 +67,17 @@ cc_defaults {
 
     shared_libs: [
         "libcutils",
+        "libdrm",
         "libnativewindow",
         "libsync",
         "liblog",
     ],
-
-    relative_install_path: "hw",
 }
 
-cc_library_host_shared {
-    name: "libgbm",
+cc_defaults {
+    name: "gbm_defaults",
+
     defaults: ["minigbm_defaults"],
-    static_libs: ["libdrm"],
 
     srcs: [
         "gbm.c",
@@ -101,9 +87,31 @@ cc_library_host_shared {
     export_include_dirs: ["."],
 }
 
+cc_library {
+    name: "libgbm",
+    defaults: ["gbm_defaults"],
+    host_supported: true,
+
+    target: {
+        host: {
+            // Avoid linking to another host copy of libdrm; this library will cause
+            // binary GPU drivers to be loaded from the host, which might be linked
+            // to a system copy of libdrm, which conflicts with the AOSP one
+            allow_undefined_symbols: true,
+            header_libs: ["libdrm_headers"],
+        },
+        android: {
+            shared_libs: [
+                "libdrm",
+                "liblog"
+            ],
+        },
+    },
+}
+
 cc_library_static {
-    name: "libminigbm_gralloc",
-    defaults: ["minigbm_gralloc_defaults"],
+    name: "libminigbm_cros_gralloc",
+    defaults: ["minigbm_cros_gralloc_defaults"],
     shared_libs: ["liblog"],
     static_libs: ["libdrm"],
 
@@ -112,13 +120,13 @@ cc_library_static {
 
 cc_library_shared {
     name: "gralloc.minigbm",
-    defaults: ["minigbm_gralloc_defaults"],
+    defaults: ["minigbm_cros_gralloc_defaults"],
     srcs: ["cros_gralloc/gralloc0/gralloc0.cc"],
 }
 
 cc_library_shared {
     name: "gralloc.minigbm_intel",
-    defaults: ["minigbm_gralloc_defaults"],
+    defaults: ["minigbm_cros_gralloc_defaults"],
     enabled: false,
     arch: {
         x86: {
@@ -134,7 +142,7 @@ cc_library_shared {
 
 cc_library_shared {
     name: "gralloc.minigbm_meson",
-    defaults: ["minigbm_gralloc_defaults"],
+    defaults: ["minigbm_cros_gralloc_defaults"],
     cflags: ["-DDRV_MESON"],
     srcs: ["cros_gralloc/gralloc0/gralloc0.cc"],
 }