[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