From 0f6336052a6bb8a6d1cb98e2c0a754b5680f8795 Mon Sep 17 00:00:00 2001
From: dev <dev@robertfoss.se>
Date: Sat, 7 May 2016 01:34:38 +0000
Subject: [PATCH] core/buildscripts: Added ARM support to BITS detection.

Added support for armv6/armv7/aarch32/aarch64 BITS detection
to build scripts.
---
 core/c/jbigi/build_jbigi.sh | 18 ++++++++++++++----
 core/c/jbigi/mbuild-all.sh  | 11 ++++++++++-
 core/c/jcpuid/build.sh      | 11 ++++++++++-
 3 files changed, 34 insertions(+), 6 deletions(-)

diff --git a/core/c/jbigi/build_jbigi.sh b/core/c/jbigi/build_jbigi.sh
index f2c042ef03..73cc5db834 100755
--- a/core/c/jbigi/build_jbigi.sh
+++ b/core/c/jbigi/build_jbigi.sh
@@ -5,18 +5,28 @@
 [ -z "$CC" ] && CC="gcc"
 
 if [ -z $BITS ]; then
-  if [[ $(uname -a) =~ "x86_64" ]]; then
+  UNAME="$(uname -a)"
+  if test "${UNAME#*x86_64}" != "x86_&4"; then
     BITS=64
-  elif [[ $(uname -a) =~ "i386" ]]; then
+  elif test "${UNAME#*i386}" != "i386"; then
     BITS=32
-  elif [[ $(uname -a) =~ "i686" ]]; then
+  elif test "${UNAME#*i686}" != "i686"; then
     BITS=32
+  elif test "${UNAME#*armv6}" != "armv6"; then
+    BITS=32
+  elif test "${UNAME#*armv7}" != "armv7"; then
+    BITS=32
+  elif test "${UNAME#*aarch32}" != "aarch32"; then
+    BITS=32
+  elif test "${UNAME#*aarch64}" != "aarch64"; then
+    BITS=64
   else
+ 
     echo "Unable to detect default setting for BITS variable"
     exit
   fi
 
-  printf "\aBITS variable not set, defaulting to $BITS\n\a" >&2
+  printf "\aBITS variable not set, $BITS bit system detected\n\a" >&2
 fi
 
 # If JAVA_HOME isn't set we'll try to figure it out
diff --git a/core/c/jbigi/mbuild-all.sh b/core/c/jbigi/mbuild-all.sh
index 5099b578d2..be3072ac8b 100755
--- a/core/c/jbigi/mbuild-all.sh
+++ b/core/c/jbigi/mbuild-all.sh
@@ -93,12 +93,21 @@ if [ -z $BITS ]; then
     BITS=32
   elif test "${UNAME#*i686}" != "i686"; then
     BITS=32
+  elif test "${UNAME#*armv6}" != "armv6"; then
+    BITS=32
+  elif test "${UNAME#*armv7}" != "armv7"; then
+    BITS=32
+  elif test "${UNAME#*aarch32}" != "aarch32"; then
+    BITS=32
+  elif test "${UNAME#*aarch64}" != "aarch64"; then
+    BITS=64
   else
+ 
     echo "Unable to detect default setting for BITS variable"
     exit
   fi
 
-  printf "\aBITS variable not set, defaulting to $BITS\n\a" >&2
+  printf "\aBITS variable not set, $BITS bit system detected\n\a" >&2
 fi
 
 
diff --git a/core/c/jcpuid/build.sh b/core/c/jcpuid/build.sh
index 63dacb55e9..98fb67ab63 100755
--- a/core/c/jcpuid/build.sh
+++ b/core/c/jcpuid/build.sh
@@ -31,12 +31,21 @@ if [ -z $BITS ]; then
     BITS=32
   elif test "${UNAME#*i686}" != "i686"; then
     BITS=32
+  elif test "${UNAME#*armv6}" != "armv6"; then
+    BITS=32
+  elif test "${UNAME#*armv7}" != "armv7"; then
+    BITS=32
+  elif test "${UNAME#*aarch32}" != "aarch32"; then
+    BITS=32
+  elif test "${UNAME#*aarch64}" != "aarch64"; then
+    BITS=64
   else
+ 
     echo "Unable to detect default setting for BITS variable"
     exit
   fi
 
-  printf "\aBITS variable not set, defaulting to $BITS\n\a" >&2
+  printf "\aBITS variable not set, $BITS bit system detected\n\a" >&2
 fi
 
 
-- 
GitLab