Build libbufferhubqueue and libpdx_default_transport as shared library
Now that we are moving BufferHub into libgui, these two libraries are
being linked into libgui.so and libdvr.so respectively as static
lib. This is cauing issues when a binary/app depends on both, i.e. two
copies of the static lib will live in the same binary. We can avoid this
issue by building these two as shared library.
Test: Build system
Bug: 72763929
Change-Id: I26ba18f2b84d43cbd62b26dbb9ee0574c2974f7d
diff --git a/libs/gui/Android.bp b/libs/gui/Android.bp
index ad04d03..065d44d 100644
--- a/libs/gui/Android.bp
+++ b/libs/gui/Android.bp
@@ -120,6 +120,8 @@
shared_libs: [
"libsync",
"libbinder",
+ "libbufferhubqueue", // TODO(b/70046255): Remove this once BufferHub is integrated into libgui.
+ "libpdx_default_transport",
"libcutils",
"libEGL",
"libGLESv2",
@@ -135,13 +137,6 @@
"android.hardware.configstore-utils",
],
- // TODO(b/70046255): Remove these once BufferHub is integrated into libgui.
- static_libs: [
- "libbufferhub",
- "libbufferhubqueue",
- "libpdx_default_transport",
- ],
-
header_libs: [
"libdvr_headers",
"libnativebase_headers",
diff --git a/libs/vr/libbufferhub/Android.bp b/libs/vr/libbufferhub/Android.bp
index 7ea37a7..39814cc 100644
--- a/libs/vr/libbufferhub/Android.bp
+++ b/libs/vr/libbufferhub/Android.bp
@@ -22,10 +22,6 @@
"include",
]
-staticLibraries = [
- "libpdx_default_transport",
-]
-
sharedLibraries = [
"libbase",
"libbinder",
@@ -34,7 +30,8 @@
"liblog",
"libui",
"libutils",
- "libnativewindow"
+ "libnativewindow",
+ "libpdx_default_transport",
]
headerLibraries = [
@@ -52,7 +49,6 @@
"-Werror",
],
export_include_dirs: localIncludeFiles,
- static_libs: staticLibraries,
shared_libs: sharedLibraries,
header_libs: headerLibraries,
name: "libbufferhub",
@@ -68,7 +64,7 @@
cc_test {
tags: ["optional"],
srcs: ["buffer_hub-test.cpp"],
- static_libs: ["libbufferhub"] + staticLibraries,
+ static_libs: ["libbufferhub"],
shared_libs: sharedLibraries,
header_libs: headerLibraries,
name: "buffer_hub-test",
diff --git a/libs/vr/libbufferhubqueue/Android.bp b/libs/vr/libbufferhubqueue/Android.bp
index 84e7427..03cda02 100644
--- a/libs/vr/libbufferhubqueue/Android.bp
+++ b/libs/vr/libbufferhubqueue/Android.bp
@@ -23,7 +23,6 @@
staticLibraries = [
"libbufferhub",
- "libpdx_default_transport",
]
sharedLibraries = [
@@ -34,6 +33,7 @@
"liblog",
"libui",
"libutils",
+ "libpdx_default_transport",
]
headerLibraries = [
@@ -41,7 +41,7 @@
"libnativebase_headers",
]
-cc_library {
+cc_library_shared {
name: "libbufferhubqueue",
cflags: [
"-DLOG_TAG=\"libbufferhubqueue\"",
diff --git a/libs/vr/libbufferhubqueue/tests/Android.bp b/libs/vr/libbufferhubqueue/tests/Android.bp
index 5eba913..de6340a 100644
--- a/libs/vr/libbufferhubqueue/tests/Android.bp
+++ b/libs/vr/libbufferhubqueue/tests/Android.bp
@@ -6,6 +6,7 @@
shared_libraries = [
"libbase",
"libbinder",
+ "libbufferhubqueue",
"libcutils",
"libgui",
"liblog",
@@ -13,14 +14,12 @@
"libui",
"libutils",
"libnativewindow",
+ "libpdx_default_transport",
]
static_libraries = [
- "libbufferhubqueue",
- "libbufferhub",
"libchrome",
"libdvrcommon",
- "libpdx_default_transport",
"libperformance",
]
diff --git a/libs/vr/libdisplay/Android.bp b/libs/vr/libdisplay/Android.bp
index 69dbc84..192fb5d 100644
--- a/libs/vr/libdisplay/Android.bp
+++ b/libs/vr/libdisplay/Android.bp
@@ -27,6 +27,7 @@
sharedLibraries = [
"libbase",
"libbinder",
+ "libbufferhubqueue",
"libcutils",
"liblog",
"libutils",
@@ -35,14 +36,12 @@
"libhardware",
"libsync",
"libnativewindow",
+ "libpdx_default_transport",
]
staticLibraries = [
"libdvrcommon",
- "libbufferhubqueue",
- "libbufferhub",
"libbroadcastring",
- "libpdx_default_transport",
]
headerLibraries = [
diff --git a/libs/vr/libdvr/Android.bp b/libs/vr/libdvr/Android.bp
index 4f0e561..d0e34ee 100644
--- a/libs/vr/libdvr/Android.bp
+++ b/libs/vr/libdvr/Android.bp
@@ -44,8 +44,6 @@
static_libs = [
"libbroadcastring",
- "libbufferhub",
- "libbufferhubqueue",
"libvrsensor",
"libdisplay",
"libvirtualtouchpadclient",
@@ -53,13 +51,13 @@
"libvr_hwc-binder",
"libgrallocusage",
"libperformance",
- "libpdx_default_transport",
]
shared_libs = [
"android.hardware.graphics.bufferqueue@1.0",
"android.hidl.token@1.0-utils",
"libbase",
+ "libbufferhubqueue",
"libbinder",
"liblog",
"libcutils",
@@ -67,6 +65,7 @@
"libnativewindow",
"libgui",
"libui",
+ "libpdx_default_transport",
]
cc_library_shared {
diff --git a/libs/vr/libdvr/tests/Android.bp b/libs/vr/libdvr/tests/Android.bp
index 887766a..e8aa6b7 100644
--- a/libs/vr/libdvr/tests/Android.bp
+++ b/libs/vr/libdvr/tests/Android.bp
@@ -15,6 +15,7 @@
shared_libraries = [
"libbase",
"libbinder",
+ "libbufferhubqueue",
"libcutils",
"libgui",
"liblog",
@@ -22,16 +23,14 @@
"libui",
"libutils",
"libnativewindow",
+ "libpdx_default_transport",
]
static_libraries = [
"libdvr_static",
- "libbufferhubqueue",
- "libbufferhub",
"libchrome",
"libdvrcommon",
"libdisplay",
- "libpdx_default_transport",
"libbroadcastring",
]
diff --git a/libs/vr/libdvrcommon/Android.bp b/libs/vr/libdvrcommon/Android.bp
index c7d808b..32b793a 100644
--- a/libs/vr/libdvrcommon/Android.bp
+++ b/libs/vr/libdvrcommon/Android.bp
@@ -26,9 +26,10 @@
"libui",
"libgui",
"libhardware",
+ "libpdx_default_transport",
]
-staticLibraries = ["libpdx_default_transport", "libbroadcastring"]
+staticLibraries = ["libbroadcastring"]
headerLibraries = [
"libeigen",
diff --git a/libs/vr/libpdx_default_transport/Android.bp b/libs/vr/libpdx_default_transport/Android.bp
index 779e3a1..475eb50 100644
--- a/libs/vr/libpdx_default_transport/Android.bp
+++ b/libs/vr/libpdx_default_transport/Android.bp
@@ -30,13 +30,25 @@
whole_static_libs: ["libpdx_uds"],
}
-cc_library_static {
+cc_library_shared {
name: "libpdx_default_transport",
defaults: [
"pdx_default_transport_compiler_defaults",
"pdx_default_transport_lib_defaults",
"pdx_use_transport_uds",
],
+ vendor_available: false,
+ vndk: {
+ enabled: true,
+ },
+ shared_libs: [
+ "libbase",
+ "libbinder",
+ "libcutils",
+ "liblog",
+ "libutils",
+ "libcrypto",
+ ],
}
cc_binary {
@@ -49,8 +61,6 @@
"libbinder",
"libcutils",
"liblog",
- ],
- static_libs: [
"libpdx_default_transport",
],
}
@@ -69,8 +79,6 @@
"libcutils",
"liblog",
"libutils",
- ],
- static_libs: [
"libpdx_default_transport",
],
}
diff --git a/libs/vr/libperformance/Android.bp b/libs/vr/libperformance/Android.bp
index 7c32dbb..35d3dea 100644
--- a/libs/vr/libperformance/Android.bp
+++ b/libs/vr/libperformance/Android.bp
@@ -19,14 +19,13 @@
includeFiles = [ "include" ]
-staticLibraries = ["libpdx_default_transport"]
-
sharedLibraries = [
"libbase",
"libbinder",
"libcutils",
"liblog",
"libutils",
+ "libpdx_default_transport",
]
cc_library {
@@ -38,7 +37,6 @@
"-Werror",
],
export_include_dirs: includeFiles,
- static_libs: staticLibraries,
shared_libs: sharedLibraries,
name: "libperformance",
}
diff --git a/libs/vr/libvrflinger/Android.bp b/libs/vr/libvrflinger/Android.bp
index 9b6f0c5..23a9853 100644
--- a/libs/vr/libvrflinger/Android.bp
+++ b/libs/vr/libvrflinger/Android.bp
@@ -26,14 +26,11 @@
includeFiles = [ "include" ]
staticLibraries = [
- "libbufferhub",
- "libbufferhubqueue",
"libdisplay",
"libdvrcommon",
"libperformance",
"libvrsensor",
"libbroadcastring",
- "libpdx_default_transport",
"libvr_manager",
"libbroadcastring",
]
@@ -44,6 +41,7 @@
"android.hardware.graphics.composer@2.1",
"libbinder",
"libbase",
+ "libbufferhubqueue",
"libcutils",
"liblog",
"libhardware",
@@ -59,6 +57,7 @@
"libhidlbase",
"libhidltransport",
"libfmq",
+ "libpdx_default_transport",
]
headerLibraries = [
diff --git a/libs/vr/libvrsensor/Android.bp b/libs/vr/libvrsensor/Android.bp
index fe54b4b..8542790 100644
--- a/libs/vr/libvrsensor/Android.bp
+++ b/libs/vr/libvrsensor/Android.bp
@@ -23,21 +23,20 @@
staticLibraries = [
"libdisplay",
- "libbufferhub",
- "libbufferhubqueue",
"libdvrcommon",
"libbroadcastring",
- "libpdx_default_transport",
]
sharedLibraries = [
"libbase",
"libbinder",
+ "libbufferhubqueue",
"libcutils",
"libhardware",
"liblog",
"libutils",
"libui",
+ "libpdx_default_transport",
]
cc_library {