diff options
author | 2021-01-08 14:25:31 -0500 | |
---|---|---|
committer | 2021-02-04 00:35:30 +0000 | |
commit | c1f093f6bd6f611c8a22ac786090f132b1325aa7 (patch) | |
tree | 71dfcfe7dccae5c0e15544c5b1c692d635b92701 | |
parent | 7af525ef9537b6870dd2717ddf59533c06ba17fe (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.h | 15 | ||||
-rw-r--r-- | include/android/imagedecoder.h | 14 | ||||
-rw-r--r-- | libs/nativewindow/Android.bp | 1 |
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 { |