summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Leon Scroggins III <scroggo@google.com> 2021-01-08 14:25:31 -0500
committer Elliott Hughes <enh@google.com> 2021-02-04 00:35:30 +0000
commitc1f093f6bd6f611c8a22ac786090f132b1325aa7 (patch)
tree71dfcfe7dccae5c0e15544c5b1c692d635b92701
parent7af525ef9537b6870dd2717ddf59533c06ba17fe (diff)
Support building libjnigraphics on the host
Bug: 169137236 Test: SANITIZE_HOST=address make imagedecoder_fuzzer Along with a change in frameworks/base (I0ffc4e90b4083db79fbb12012e2e1284206b43e3), this will make it possible to run imagedecoder_fuzzer on the host, for faster fuzzing. imagedecoder.h: - define __ANDROID_API__ and __INTRODUCED_IN on non-Android systems, so methods can be called on those systems. bitmap.h: - define __ANDROID_API__ and __INTRODUCED_IN on non-Android systems, so methods can be called on those systems. - include <stddef.h>, which is needed on non-Android systems for size_t. - on Android, unguard types and enums for easier opportunistic usage via dlsym. nativewindow/Android.bp - make libnativewindow_headers host_supported, so that libjnigraphics can access android/data_space.h Bug: http://b/179303032 Change-Id: Iefdb4132d6f10f9164be85f4dc6e11883f6fd37e Merged-In: Iefdb4132d6f10f9164be85f4dc6e11883f6fd37e
-rw-r--r--include/android/bitmap.h15
-rw-r--r--include/android/imagedecoder.h14
-rw-r--r--libs/nativewindow/Android.bp1
3 files changed, 30 insertions, 0 deletions
diff --git a/include/android/bitmap.h b/include/android/bitmap.h
index 36f70d8e15..2362c9e491 100644
--- a/include/android/bitmap.h
+++ b/include/android/bitmap.h
@@ -28,8 +28,23 @@
#include <stdbool.h>
#include <stdint.h>
+#include <stddef.h>
#include <jni.h>
+#ifndef __ANDROID__
+ // Value copied from 'bionic/libc/include/android/api-level.h' which is not available on
+ // non Android systems. It is set to 10000 which is same as __ANDROID_API_FUTURE__ value.
+ #ifndef __ANDROID_API__
+ #define __ANDROID_API__ 10000
+ #endif
+
+ // Value copied from 'bionic/libc/include/android/versioning.h' which is not available on
+ // non Android systems
+ #ifndef __INTRODUCED_IN
+ #define __INTRODUCED_IN(api_level)
+ #endif
+#endif
+
#ifdef __cplusplus
extern "C" {
#endif
diff --git a/include/android/imagedecoder.h b/include/android/imagedecoder.h
index 2aac33cf7e..48d217f765 100644
--- a/include/android/imagedecoder.h
+++ b/include/android/imagedecoder.h
@@ -51,6 +51,20 @@
#include <android/rect.h>
#include <stdint.h>
+#ifndef __ANDROID__
+ // Value copied from 'bionic/libc/include/android/api-level.h' which is not available on
+ // non Android systems. It is set to 10000 which is same as __ANDROID_API_FUTURE__ value.
+ #ifndef __ANDROID_API__
+ #define __ANDROID_API__ 10000
+ #endif
+
+ // Value copied from 'bionic/libc/include/android/versioning.h' which is not available on
+ // non Android systems
+ #ifndef __INTRODUCED_IN
+ #define __INTRODUCED_IN(api_level)
+ #endif
+#endif
+
#ifdef __cplusplus
extern "C" {
#endif
diff --git a/libs/nativewindow/Android.bp b/libs/nativewindow/Android.bp
index 07e5d860d7..3011dccf1e 100644
--- a/libs/nativewindow/Android.bp
+++ b/libs/nativewindow/Android.bp
@@ -28,6 +28,7 @@ cc_library_headers {
// TODO(b/153609531): remove when no longer needed.
native_bridge_supported: true,
min_sdk_version: "29",
+ host_supported: true,
}
ndk_library {