summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevin Moore <devinmoore@google.com>2022-11-22 18:16:02 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-11-22 18:16:02 +0000
commit32acb4a0c2e2fb6f2ab88f135a6906596d3c71eb (patch)
treebea931a7fb94a75fde75530049b77ab873c0e2a2
parent9d6b418d6f4c81058c6ccfe41e941faabe445e91 (diff)
parent65d6174bbc814fbc0602a673840f0c2ab01055f6 (diff)
downloadlibhardware-32acb4a0c2e2fb6f2ab88f135a6906596d3c71eb.tar.gz
Merge "Make libhardware host_supported" am: 65d6174bbc
Original change: https://android-review.googlesource.com/c/platform/hardware/libhardware/+/2305002 Change-Id: If245768b5cfe2dc69b2abc744443d464e2728bce Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--Android.bp4
-rw-r--r--hardware.c9
2 files changed, 11 insertions, 2 deletions
diff --git a/Android.bp b/Android.bp
index e567ccae..7aa3a23c 100644
--- a/Android.bp
+++ b/Android.bp
@@ -86,6 +86,7 @@ cc_library_shared {
header_libs: ["libhardware_headers"],
export_header_lib_headers: ["libhardware_headers"],
+ host_supported: true,
recovery_available: true,
vendor_available: true,
vndk: {
@@ -93,6 +94,9 @@ cc_library_shared {
support_system_process: true,
},
target: {
+ host: {
+ exclude_shared_libs: ["libvndksupport"],
+ },
recovery: {
exclude_shared_libs: ["libvndksupport"],
},
diff --git a/hardware.c b/hardware.c
index 6e72ce9f..d0e91e97 100644
--- a/hardware.c
+++ b/hardware.c
@@ -30,7 +30,7 @@
#define LOG_TAG "HAL"
#include <log/log.h>
-#if !defined(__ANDROID_RECOVERY__)
+#if !defined(__ANDROID_RECOVERY__) && defined(__ANDROID__)
#include <vndksupport/linker.h>
#endif
@@ -97,7 +97,7 @@ static int load(const char *id,
*/
handle = dlopen(path, RTLD_NOW);
} else {
-#if defined(__ANDROID_RECOVERY__)
+#if defined(__ANDROID_RECOVERY__) || !defined(__ANDROID__)
handle = dlopen(path, RTLD_NOW);
#else
handle = android_load_sphal_library(path, RTLD_NOW);
@@ -206,8 +206,13 @@ int hw_get_module_by_class(const char *class_id, const char *inst,
if (inst)
snprintf(name, PATH_MAX, "%s.%s", class_id, inst);
+#if defined(__ANDROID__)
else
strlcpy(name, class_id, PATH_MAX);
+#else
+ else
+ snprintf(name, PATH_MAX, "%s", class_id);
+#endif
/*
* Here we rely on the fact that calling dlopen multiple times on