termux-packages/packages/mpv/android.patch

124 lines
3.7 KiB
Diff

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 <glob.h>
#endif
-#ifdef __ANDROID__
+#if HAVE_ANDROID
# include <unistd.h>
# include <stdio.h>
@@ -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" ),