Remove libpdx*, libbufferhub* from VNDK
This is largely inspired by ag/3865679: dependencies from libui and
libgui to libpdx_default_transport and libbufferhubque are cut when
building libui and libgui for vendors. This is primarily to exclude
libpdx* and libbufferhubqueue from VNDK.
Bug: 79151096
Test: Build system and inspect bufferhub/pdx related libraries are no
longer in vendor partition.
Change-Id: Idcd524db2a9f6ec96262bcf590fc0f80a0bd26e7
Merged-In: Id4768162aeb72b71d63d7e4498980f276ef58e6b
diff --git a/libs/gui/Android.bp b/libs/gui/Android.bp
index 2768ad8..73f2147 100644
--- a/libs/gui/Android.bp
+++ b/libs/gui/Android.bp
@@ -142,10 +142,26 @@
"android.hardware.configstore-utils",
],
+ // bufferhub is not used when building libgui for vendors
+ target: {
+ vendor: {
+ cflags: ["-DNO_BUFFERHUB"],
+ exclude_srcs: [
+ "BufferHubConsumer.cpp",
+ "BufferHubProducer.cpp",
+ ],
+ exclude_shared_libs: [
+ "libbufferhubqueue",
+ "libpdx_default_transport",
+ ],
+ },
+ },
+
header_libs: [
"libdvr_headers",
"libnativebase_headers",
"libgui_headers",
+ "libpdx_headers",
],
export_shared_lib_headers: [
diff --git a/libs/gui/BufferQueue.cpp b/libs/gui/BufferQueue.cpp
index 2917f45..a8da134 100644
--- a/libs/gui/BufferQueue.cpp
+++ b/libs/gui/BufferQueue.cpp
@@ -18,8 +18,11 @@
#define ATRACE_TAG ATRACE_TAG_GRAPHICS
//#define LOG_NDEBUG 0
+#ifndef NO_BUFFERHUB
#include <gui/BufferHubConsumer.h>
#include <gui/BufferHubProducer.h>
+#endif
+
#include <gui/BufferQueue.h>
#include <gui/BufferQueueConsumer.h>
#include <gui/BufferQueueCore.h>
@@ -103,6 +106,7 @@
*outConsumer = consumer;
}
+#ifndef NO_BUFFERHUB
void BufferQueue::createBufferHubQueue(sp<IGraphicBufferProducer>* outProducer,
sp<IGraphicBufferConsumer>* outConsumer) {
LOG_ALWAYS_FATAL_IF(outProducer == NULL, "BufferQueue: outProducer must not be NULL");
@@ -128,5 +132,6 @@
*outProducer = producer;
*outConsumer = consumer;
}
+#endif
}; // namespace android
diff --git a/libs/gui/IGraphicBufferProducer.cpp b/libs/gui/IGraphicBufferProducer.cpp
index 777a3e5..0749fde 100644
--- a/libs/gui/IGraphicBufferProducer.cpp
+++ b/libs/gui/IGraphicBufferProducer.cpp
@@ -27,7 +27,9 @@
#include <binder/Parcel.h>
#include <binder/IInterface.h>
+#ifndef NO_BUFFERHUB
#include <gui/BufferHubProducer.h>
+#endif
#include <gui/BufferQueueDefs.h>
#include <gui/IGraphicBufferProducer.h>
#include <gui/IProducerListener.h>
@@ -706,6 +708,7 @@
}
case USE_BUFFER_HUB: {
ALOGE("createFromParcel: BufferHub not implemented.");
+#ifndef NO_BUFFERHUB
dvr::ProducerQueueParcelable producerParcelable;
res = producerParcelable.readFromParcel(parcel);
if (res != NO_ERROR) {
@@ -713,6 +716,9 @@
return nullptr;
}
return BufferHubProducer::Create(std::move(producerParcelable));
+#else
+ return nullptr;
+#endif
}
default: {
ALOGE("createFromParcel: Unexpected mgaic: 0x%x.", outMagic);
diff --git a/libs/gui/include/gui/BufferQueue.h b/libs/gui/include/gui/BufferQueue.h
index f175573..da95274 100644
--- a/libs/gui/include/gui/BufferQueue.h
+++ b/libs/gui/include/gui/BufferQueue.h
@@ -79,9 +79,11 @@
sp<IGraphicBufferConsumer>* outConsumer,
bool consumerIsSurfaceFlinger = false);
+#ifndef NO_BUFFERHUB
// Creates an IGraphicBufferProducer and IGraphicBufferConsumer pair backed by BufferHub.
static void createBufferHubQueue(sp<IGraphicBufferProducer>* outProducer,
sp<IGraphicBufferConsumer>* outConsumer);
+#endif
BufferQueue() = delete; // Create through createBufferQueue
};
diff --git a/libs/ui/Android.bp b/libs/ui/Android.bp
index 1a9fb8b..ff9d19e 100644
--- a/libs/ui/Android.bp
+++ b/libs/ui/Android.bp
@@ -84,7 +84,6 @@
"libhidlbase",
"libhidltransport",
"libhwbinder",
- "libpdx_default_transport",
"libsync",
"libutils",
"libutilscallstack",
@@ -106,6 +105,7 @@
"libnativebase_headers",
"libhardware_headers",
"libui_headers",
+ "libpdx_headers",
],
export_static_lib_headers: [
diff --git a/libs/vr/libbufferhub/Android.bp b/libs/vr/libbufferhub/Android.bp
index b38ecc7..7b5ad44 100644
--- a/libs/vr/libbufferhub/Android.bp
+++ b/libs/vr/libbufferhub/Android.bp
@@ -56,15 +56,6 @@
export_header_lib_headers: [
"libnativebase_headers",
],
- vendor_available: false,
- vndk: {
- enabled: true,
- },
- target: {
- vendor: {
- exclude_srcs: ["detached_buffer.cpp"],
- },
- },
}
cc_test {
diff --git a/libs/vr/libbufferhubqueue/Android.bp b/libs/vr/libbufferhubqueue/Android.bp
index eeec9ec..9f72c05 100644
--- a/libs/vr/libbufferhubqueue/Android.bp
+++ b/libs/vr/libbufferhubqueue/Android.bp
@@ -59,10 +59,6 @@
static_libs: staticLibraries,
shared_libs: sharedLibraries,
header_libs: headerLibraries,
- vendor_available: false,
- vndk: {
- enabled: true,
- },
}
subdirs = ["benchmarks", "tests"]
diff --git a/libs/vr/libdvr/Android.bp b/libs/vr/libdvr/Android.bp
index d0e34ee..16906f5 100644
--- a/libs/vr/libdvr/Android.bp
+++ b/libs/vr/libdvr/Android.bp
@@ -16,10 +16,7 @@
cc_library_headers {
name: "libdvr_headers",
export_include_dirs: ["include"],
- vendor_available: false,
- vndk: {
- enabled: true,
- },
+ vendor_available: true,
}
cflags = [
diff --git a/libs/vr/libpdx/Android.bp b/libs/vr/libpdx/Android.bp
index 9b84d65..1a9d727 100644
--- a/libs/vr/libpdx/Android.bp
+++ b/libs/vr/libpdx/Android.bp
@@ -1,3 +1,9 @@
+cc_library_headers {
+ name: "libpdx_headers",
+ export_include_dirs: ["private"],
+ vendor_available: true,
+}
+
cc_library_static {
name: "libpdx",
clang: true,
@@ -8,8 +14,8 @@
"-DLOG_TAG=\"libpdx\"",
"-DTRACE=0",
],
- export_include_dirs: ["private"],
- local_include_dirs: ["private"],
+ header_libs: ["libpdx_headers"],
+ export_header_lib_headers: ["libpdx_headers"],
srcs: [
"client.cpp",
"service.cpp",
@@ -22,10 +28,6 @@
"libutils",
"liblog",
],
- vendor_available: false,
- vndk: {
- enabled: true,
- },
}
cc_test {
diff --git a/libs/vr/libpdx_default_transport/Android.bp b/libs/vr/libpdx_default_transport/Android.bp
index 475eb50..74b8c8b 100644
--- a/libs/vr/libpdx_default_transport/Android.bp
+++ b/libs/vr/libpdx_default_transport/Android.bp
@@ -12,10 +12,6 @@
name: "pdx_default_transport_lib_defaults",
export_include_dirs: ["private"],
whole_static_libs: ["libpdx"],
- vendor_available: false,
- vndk: {
- enabled: true,
- },
}
cc_defaults {
@@ -37,10 +33,6 @@
"pdx_default_transport_lib_defaults",
"pdx_use_transport_uds",
],
- vendor_available: false,
- vndk: {
- enabled: true,
- },
shared_libs: [
"libbase",
"libbinder",
diff --git a/libs/vr/libpdx_uds/Android.bp b/libs/vr/libpdx_uds/Android.bp
index 79cfdf6..d640950 100644
--- a/libs/vr/libpdx_uds/Android.bp
+++ b/libs/vr/libpdx_uds/Android.bp
@@ -30,10 +30,6 @@
whole_static_libs: [
"libselinux",
],
- vendor_available: false,
- vndk: {
- enabled: true,
- },
}
cc_test {