summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerry Zhang <zhangjerry@google.com>2018-06-20 17:04:52 -0700
committerHridya Valsaraju <hridya@google.com>2018-08-10 11:42:44 -0700
commit551e1f7bd9fbf99d45be20b7c01b5ff995bbd3b7 (patch)
tree767a6913164792f2fe654eaf5ae9e8d7a7dfe447
parent65d52dd3c9982abd7f383f0efddf04e1e0034681 (diff)
downloadlibhardware-551e1f7bd9fbf99d45be20b7c01b5ff995bbd3b7.tar.gz
Allow libhardware to be used in recovery
The default boot ctrl implementation depends on libhardware. Bug: 78793464 Test: Compiles, can load bootctrl in recovery Change-Id: I9c8aa8b00b9b81f11736de13c85973e113056e69
-rw-r--r--Android.bp16
-rw-r--r--hardware.c6
2 files changed, 22 insertions, 0 deletions
diff --git a/Android.bp b/Android.bp
index 4766b71d..ce4214eb 100644
--- a/Android.bp
+++ b/Android.bp
@@ -16,7 +16,17 @@ cc_library_headers {
],
export_include_dirs: ["include"],
+ recovery_available: true,
vendor_available: true,
+ target: {
+ recovery: {
+ exclude_header_libs: [
+ "libaudio_system_headers",
+ "libbluetooth-types-header",
+ ],
+ },
+ },
+
}
cc_library_shared {
@@ -38,9 +48,15 @@ cc_library_shared {
header_libs: ["libhardware_headers"],
export_header_lib_headers: ["libhardware_headers"],
+ recovery_available: true,
vendor_available: true,
vndk: {
enabled: true,
support_system_process: true,
},
+ target: {
+ recovery: {
+ exclude_shared_libs: ["libvndksupport"],
+ },
+ },
}
diff --git a/hardware.c b/hardware.c
index bd55087b..40ae1d13 100644
--- a/hardware.c
+++ b/hardware.c
@@ -29,7 +29,9 @@
#define LOG_TAG "HAL"
#include <log/log.h>
+#if !defined(__ANDROID_RECOVERY__)
#include <vndksupport/linker.h>
+#endif
/** Base path of the hal modules */
#if defined(__LP64__)
@@ -94,7 +96,11 @@ static int load(const char *id,
*/
handle = dlopen(path, RTLD_NOW);
} else {
+#if defined(__ANDROID_RECOVERY__)
+ handle = dlopen(path, RTLD_NOW);
+#else
handle = android_load_sphal_library(path, RTLD_NOW);
+#endif
}
if (handle == NULL) {
char const *err_str = dlerror();