[Android] [PATCH 7/7] src: Enforce x86 build checking as well
Rafaël Carré
funman at videolan.org
Mon Jul 23 16:29:58 CEST 2012
Le 2012-07-23 05:56, Edward Wang a écrit :
> ---
> vlc-android/src/org/videolan/vlc/Util.java | 22 ++++++++++++++++++----
> 1 files changed, 18 insertions(+), 4 deletions(-)
>
> diff --git a/vlc-android/src/org/videolan/vlc/Util.java b/vlc-android/src/org/videolan/vlc/Util.java
> index ba0f315..8ab20c5 100644
> --- a/vlc-android/src/org/videolan/vlc/Util.java
> +++ b/vlc-android/src/org/videolan/vlc/Util.java
> @@ -220,12 +220,17 @@ public class Util {
> boolean NO_FPU = properties.getProperty("NO_FPU").equals("1");
> boolean NO_ARMV6 = properties.getProperty("NO_ARMV6").equals("1");
> boolean hasNeon = false, hasFpu = false, hasArmV6 = false, hasArmV7 = false;
> + boolean hasX86 = false;
>
> try {
> FileReader fileReader = new FileReader("/proc/cpuinfo");
> BufferedReader br = new BufferedReader(fileReader);
> String line;
> while((line = br.readLine()) != null) {
> + if(!hasX86 && line.contains("vendor_id")) {
Hm really? No ARM cpu can have a vendor_id line?
> + hasX86 = true;
> + break;
> + }
> if(!hasNeon && line.contains("neon"))
> hasNeon = true;
> if(!hasArmV7 && line.contains("ARMv7")) {
> @@ -245,6 +250,13 @@ public class Util {
> return false;
> }
>
> + // Enforce proper architecture to prevent problems
> + if(ANDROID_ABI.equals("x86") && !hasX86) {
> + errorMsg = "x86 build on non-x86 device";
> + isCompatible = false;
> + return false;
> + }
> +
> if(ANDROID_ABI.equals("armeabi-v7a") && !hasArmV7) {
> errorMsg = "ARMv7 build on non-ARMv7 device";
> isCompatible = false;
> @@ -261,10 +273,12 @@ public class Util {
> return false;
> }
> }
> - if(!NO_NEON && !hasNeon) {
> - errorMsg = "NEON build on non-NEON device";
> - isCompatible = false;
> - return false;
> + if(ANDROID_ABI.equals("armeabi") || ANDROID_ABI.equals("armeabi-v7a")) {
> + if(!NO_NEON && !hasNeon) {
> + errorMsg = "NEON build on non-NEON device";
> + isCompatible = false;
> + return false;
> + }
> }
> errorMsg = null;
> isCompatible = true;
>
More information about the Android
mailing list