Skip to content
This repository
Browse code

Merge pull request #3256 from perpe/droid-x86

[Droid x86] Additions for Android x86 architecture
  • Loading branch information...
commit 1755968b34ad145bc572b8e6593eb8d3bcb0a528 2 parents b727bbc + defeb74
Memphiz authored September 30, 2013
10  configure.in
@@ -606,13 +606,19 @@ ffmpeg_target_os=$(tolower $(uname -s))
606 606
 
607 607
 # host detection and setup
608 608
 case $host in
609  
-  i*86*-android-linux-gnu*)
  609
+  i*86*-linux-android*)
610 610
      target_platform=target_android
611 611
      ARCH="i486-linux"
612 612
      use_arch="x86"
613 613
      use_cpu="i686"
614 614
      ffmpeg_target_os=linux
615  
-     ;;
  615
+     use_joystick=no
  616
+     use_gles=yes
  617
+     use_optical_drive=no
  618
+     use_sdl=no
  619
+     use_x11=no
  620
+     build_shared_lib=yes    
  621
+    ;;
616 622
   i*86*-linux-gnu*)
617 623
      ARCH="i486-linux"
618 624
      if test "$use_cpu" = "no" -a "$cross_compiling" = "yes";  then
15  docs/README.android
@@ -89,20 +89,7 @@ specifies where the resulting toolchain should be installed (your choice).
89 89
      --toolchain=arm-linux-androideabi-4.7
90 90
 
91 91
 Make sure to pick a toolchain for your desired architecture. Currently only
92  
-gcc 4.7 toolchains are supported, anything else will likely fail to build.
93  
-
94  
-ATTENTION FOR X86 BUILDS - THIS DOES NOT APPLY TO 99% OF BUILDS:
95  
-If you want to build for the x86 platform there is a flaw in the mentioned
96  
-NDK. See http://code.google.com/p/android/issues/detail?id=19851 which results
97  
-in linker errors mentioning "sigsetjmp and siglongjmp".
98  
-In that case you have to download the libc.tar.bz2 from that google issue
99  
-entry:
100  
-
101  
-http://android.googlecode.com/issues/attachment?aid=198510003000&name=libc.tar.bz2&token=6uNpHc1v8ixmVOTq3y6-ohUfb0o%3A1341156659947
102  
-
103  
-And extract it to <android-toolchain>/android-<x>/sysroot/usr/lib/ and overwrite
104  
-the libc.so there. (where <android-toolchain>/android-<x>/ is the path you have given on the
105  
---install-dir option above)
  92
+gcc 4.7 and gcc 4.8 toolchains are supported, anything else will likely fail to build.
106 93
 
107 94
 --------------------------------------------------------------------
108 95
 3.4. Create a (new) debug key to sign debug APKs
2  m4/xbmc_arch.m4
@@ -32,7 +32,7 @@ case $host in
32 32
   arm*-*-linux-gnu*)
33 33
      AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
34 34
      ;;
35  
-  arm*-*linux-android*)
  35
+  *-*linux-android*)
36 36
      AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -DTARGET_ANDROID")
37 37
      ;;
38 38
   *)
3  tools/android/packaging/Makefile
@@ -22,8 +22,9 @@ ARMOVERRIDES=XBMC_OVERRIDE_HOST=arm-linux-androideabi XBMC_OVERRIDE_TOOLCHAIN=$(
22 22
 #this fixes a android ndk fuckup where the pathes to 
23 23
 #prebuilt stuff follow different name shemes for
24 24
 #arm and x86
25  
-ifeq ($(findstring x86,$$(CPU)),x86)
  25
+ifeq ($(findstring i686,$(CPU)),i686)
26 26
 ARCH=x86
  27
+CPU=x86
27 28
 endif
28 29
 ifeq ($(findstring arm,$(CPU)),arm)
29 30
 ARCH=arm
17  tools/android/packaging/xbmc/src/org/xbmc/xbmc/Splash.java
@@ -14,6 +14,7 @@
14 14
 import java.util.zip.ZipFile;
15 15
 
16 16
 import android.os.AsyncTask;
  17
+import android.os.Build;
17 18
 import android.os.Bundle;
18 19
 import android.app.Activity;
19 20
 import android.app.ActivityManager;
@@ -261,16 +262,18 @@ public void onCreate(Bundle savedInstanceState) {
261 262
       }
262 263
 
263 264
     mState = State.Checking;
264  
-
265  
-    boolean ret = ParseCpuFeature();
  265
+    boolean ret = Build.CPU_ABI.equals("x86");
266 266
     if (!ret) {
267  
-      mErrorMsg = "Error! Cannot parse CPU features.";
268  
-      mState = State.InError;
269  
-    } else {
270  
-      ret = CheckCpuFeature("neon");
  267
+      ret = ParseCpuFeature();
271 268
       if (!ret) {
272  
-        mErrorMsg = "This XBMC package is not compatible with your device.\nPlease check the <a href=\"http://wiki.xbmc.org/index.php?title=XBMC_for_Android_specific_FAQ\">XBMC Android wiki</a> for more information.";
  269
+        mErrorMsg = "Error! Cannot parse CPU features.";
273 270
         mState = State.InError;
  271
+      } else {
  272
+        ret = CheckCpuFeature("neon");
  273
+        if (!ret) {
  274
+          mErrorMsg = "This XBMC package is not compatible with your device.\nPlease check the <a href=\"http://wiki.xbmc.org/index.php?title=XBMC_for_Android_specific_FAQ\">XBMC Android wiki</a> for more information.";
  275
+          mState = State.InError;
  276
+        }
274 277
       }
275 278
     }
276 279
     if (mState != State.InError) {
2  tools/depends/configure.in
@@ -102,7 +102,7 @@ case $host in
102 102
     #android builds are always cross
103 103
     cross_compiling="yes"
104 104
   ;;     
105  
-  i*86*-android-linux-gnu*)
  105
+  i*86*-linux-android*)
106 106
     if test "x$use_cpu" = "xauto"; then
107 107
       use_cpu=$host_cpu
108 108
     fi

0 notes on commit 1755968

Please sign in to comment.
Something went wrong with that request. Please try again.