diff --git a/options/options.c b/options/options.c index 1f9f1ee2c0..a98f03a7da 100644 --- a/options/options.c +++ b/options/options.c @@ -740,7 +740,7 @@ const m_option_t mp_opts[] = { OPT_SUBSTRUCT("", macos_opts, macos_conf, 0), #endif -#if HAVE_ANDROID +#if HAVE_EGL_ANDROID OPT_SUBSTRUCT("", android_opts, android_conf, 0), #endif diff --git a/osdep/io.h b/osdep/io.h index e0d6284baa..7e8a267541 100644 --- a/osdep/io.h +++ b/osdep/io.h @@ -33,7 +33,7 @@ #include #endif -#ifdef __ANDROID__ +#if HAVE_ANDROID # include # include @@ -58,7 +58,7 @@ static inline int mp_fseeko(FILE* fp, off64_t offset, int whence) { } #define fseeko(f,p,w) mp_fseeko((f), (p), (w)) -#endif // __ANDROID__ +#endif // HAVE_ANDROID #ifndef O_BINARY #define O_BINARY 0 diff --git a/osdep/posix-spawn.h b/osdep/posix-spawn.h index d8bf874c98..fdba50149c 100644 --- a/osdep/posix-spawn.h +++ b/osdep/posix-spawn.h @@ -19,7 +19,9 @@ #pragma once -#ifdef __ANDROID__ +#include "config.h" + +#if HAVE_ANDROID // posix_spawn(p) does not exist at all on Android #include "osdep/android/posix-spawn.h" #else diff --git a/osdep/strnlen.h b/osdep/strnlen.h index 0a971d0ab0..e66932a89a 100644 --- a/osdep/strnlen.h +++ b/osdep/strnlen.h @@ -20,7 +20,9 @@ #ifndef MP_OSDEP_STRNLEN #define MP_OSDEP_STRNLEN -#ifdef __ANDROID__ +#include "config.h" + +#if HAVE_ANDROID // strnlen is broken on current android ndk, see https://code.google.com/p/android/issues/detail?id=74741 #include "osdep/android/strnlen.h" #define strnlen freebsd_strnlen diff --git a/video/out/gpu/context.c b/video/out/gpu/context.c index 36f9c2dad5..7964e12623 100644 --- a/video/out/gpu/context.c +++ b/video/out/gpu/context.c @@ -62,7 +62,7 @@ static const struct ra_ctx_fns *contexts[] = { #endif // OpenGL contexts: -#if HAVE_ANDROID +#if HAVE_EGL_ANDROID &ra_ctx_android, #endif #if HAVE_RPI diff --git a/wscript b/wscript index e0dbeab322..eaeb091a52 100644 --- a/wscript +++ b/wscript @@ -155,11 +155,13 @@ main_dependencies = [ }, { 'name': '--android', 'desc': 'Android environment', - 'func': compose_checks( - check_statement('android/api-level.h', '(void)__ANDROID__'), # arbitrary android-specific header - check_cc(lib="android"), - check_cc(lib="EGL"), - ) + 'func': check_statement('android/api-level.h', '(void)__ANDROID__'), # arbitrary android-specific header + }, { + 'name': '--egl-android', + 'desc': 'Android EGL support', + 'deps': 'android', + 'groups': [ 'gl' ], + 'func': check_cc(lib=['android', 'EGL']), }, { 'name': 'posix-or-mingw', 'desc': 'development environment', @@ -804,7 +806,7 @@ video_output_features = [ 'name': 'egl-helpers', 'desc': 'EGL helper functions', 'deps': 'egl-x11 || mali-fbdev || rpi || gl-wayland || egl-drm || ' + - 'egl-angle-win32 || android', + 'egl-angle-win32 || egl-android', 'func': check_true } ] diff --git a/wscript_build.py b/wscript_build.py index 4d974fd9c3..35b16856ea 100644 --- a/wscript_build.py +++ b/wscript_build.py @@ -442,7 +442,7 @@ def build(ctx): ( "video/out/opengl/angle_dynamic.c", "egl-angle" ), ( "video/out/opengl/common.c", "gl" ), ( "video/out/opengl/context.c", "gl" ), - ( "video/out/opengl/context_android.c", "android" ), + ( "video/out/opengl/context_android.c", "egl-android" ), ( "video/out/opengl/context_angle.c", "egl-angle-win32" ), ( "video/out/opengl/context_cocoa.c", "gl-cocoa" ), ( "video/out/opengl/context_drm_egl.c", "egl-drm" ),