[x264-devel] Fix build with Android NDK
Yu Xiaolei
git at videolan.org
Thu Mar 13 21:23:50 CET 2014
x264 | branch: master | Yu Xiaolei <dreifachstein at gmail.com> | Sun Feb 23 04:12:51 2014 -0800| [75d404913b1f84f13bb2c4586b725e646566f947] | committer: Jason Garrett-Glaser
Fix build with Android NDK
Android NDK does not expose sched_getaffinity.
> http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=75d404913b1f84f13bb2c4586b725e646566f947
---
common/cpu.c | 5 +++++
configure | 9 +++++++--
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/common/cpu.c b/common/cpu.c
index f2c7212..f1ae266 100644
--- a/common/cpu.c
+++ b/common/cpu.c
@@ -426,6 +426,10 @@ int x264_cpu_num_processors( void )
return sysconf( _SC_NPROCESSORS_ONLN );
#elif SYS_LINUX
+#ifdef __ANDROID__
+ // Android NDK does not expose sched_getaffinity
+ return sysconf( _SC_NPROCESSORS_CONF );
+#else
cpu_set_t p_aff;
memset( &p_aff, 0, sizeof(p_aff) );
if( sched_getaffinity( 0, sizeof(p_aff), &p_aff ) )
@@ -438,6 +442,7 @@ int x264_cpu_num_processors( void )
np += (((uint8_t *)&p_aff)[bit / 8] >> (bit % 8)) & 1;
return np;
#endif
+#endif
#elif SYS_BEOS
system_info info;
diff --git a/configure b/configure
index 0177cfc..49a3d8f 100755
--- a/configure
+++ b/configure
@@ -806,10 +806,15 @@ if [ "$thread" = "auto" ]; then
fi
;;
QNX)
- cc_check pthread.h -lc && thread="posix" && libpthread="-lc"
+ cc_check pthread.h -lc "pthread_create(0,0,0,0);" && thread="posix" && libpthread="-lc"
;;
*)
- cc_check pthread.h -lpthread && thread="posix" && libpthread="-lpthread"
+ if cc_check pthread.h -lpthread "pthread_create(0,0,0,0);" ; then
+ thread="posix"
+ libpthread="-lpthread"
+ else
+ cc_check pthread.h "" "pthread_create(0,0,0,0);" && thread="posix" && libpthread=""
+ fi
;;
esac
fi
More information about the x264-devel
mailing list