all.sh: new option --no-armcc

With this option, don't run anything that requires armcc, so
the script can run offline.
diff --git a/tests/scripts/all.sh b/tests/scripts/all.sh
index c23f161..348d153 100755
--- a/tests/scripts/all.sh
+++ b/tests/scripts/all.sh
@@ -34,6 +34,7 @@
 FORCE=0
 KEEP_GOING=0
 RELEASE=0
+RUN_ARMCC=1
 
 # Default commands, can be overriden by the environment
 : ${OPENSSL:="openssl"}
@@ -54,6 +55,8 @@
   -f|--force            Force the tests to overwrite any modified files.
   -k|--keep-going       Run all tests and report errors at the end.
   -m|--memory           Additional optional memory tests.
+     --armcc            Run ARM Compiler builds (on by default).
+     --no-armcc         Skip ARM Compiler builds.
      --out-of-source-dir=<path>  Directory used for CMake out-of-source build tests.
   -r|--release-test     Run this script in release mode. This fixes the seed value to 1.
   -s|--seed             Integer seed value to use for this test run.
@@ -126,6 +129,9 @@
 
 while [ $# -gt 0 ]; do
     case "$1" in
+        --armcc)
+            RUN_ARMCC=1
+            ;;
         --force|-f)
             FORCE=1
             ;;
@@ -155,6 +161,9 @@
         --memory|-m)
             MEMORY=1
             ;;
+        --no-armcc)
+            RUN_ARMCC=0
+            ;;
         --openssl)
             shift
             OPENSSL="$1"
@@ -296,7 +305,10 @@
 # Make sure the tools we need are available.
 check_tools "$OPENSSL" "$OPENSSL_LEGACY" "$GNUTLS_CLI" "$GNUTLS_SERV" \
             "$GNUTLS_LEGACY_CLI" "$GNUTLS_LEGACY_SERV" "doxygen" "dot" \
-            "arm-none-eabi-gcc" "armcc"
+            "arm-none-eabi-gcc"
+if [ $RUN_ARMCC -ne 0 ]; then
+    check_tools "armcc"
+fi
 
 #
 # Test Suites to be executed
@@ -472,25 +484,27 @@
 scripts/config.pl unset POLARSSL_MEMORY_BUFFER_ALLOC_C # calls exit
 make CC=arm-none-eabi-gcc AR=arm-none-eabi-ar LD=arm-none-eabi-ld CFLAGS=-Werror lib
 
-msg "build: armcc, make"
-cleanup
-cp "$CONFIG_H" "$CONFIG_BAK"
-scripts/config.pl full
-scripts/config.pl unset POLARSSL_NET_C
-scripts/config.pl unset POLARSSL_TIMING_C
-scripts/config.pl unset POLARSSL_FS_IO
-scripts/config.pl unset POLARSSL_HAVE_TIME
-scripts/config.pl unset POLARSSL_ERROR_STRERROR_BC # deprecated
-scripts/config.pl unset POLARSSL_PBKDF2_C # deprecated
-scripts/config.pl set POLARSSL_NO_PLATFORM_ENTROPY
-# following things are not in the default config
-scripts/config.pl unset POLARSSL_DEPRECATED_WARNING
-scripts/config.pl unset POLARSSL_HAVEGE_C # depends on timing.c
-scripts/config.pl unset POLARSSL_THREADING_PTHREAD
-scripts/config.pl unset POLARSSL_THREADING_C
-scripts/config.pl unset POLARSSL_MEMORY_BACKTRACE # execinfo.h
-scripts/config.pl unset POLARSSL_MEMORY_BUFFER_ALLOC_C # calls exit
-make CC=armcc AR=armar WARNING_CFLAGS= lib
+if [ $RUN_ARMCC -ne 0 ]; then
+    msg "build: armcc, make"
+    cleanup
+    cp "$CONFIG_H" "$CONFIG_BAK"
+    scripts/config.pl full
+    scripts/config.pl unset POLARSSL_NET_C
+    scripts/config.pl unset POLARSSL_TIMING_C
+    scripts/config.pl unset POLARSSL_FS_IO
+    scripts/config.pl unset POLARSSL_HAVE_TIME
+    scripts/config.pl unset POLARSSL_ERROR_STRERROR_BC # deprecated
+    scripts/config.pl unset POLARSSL_PBKDF2_C # deprecated
+    scripts/config.pl set POLARSSL_NO_PLATFORM_ENTROPY
+    # following things are not in the default config
+    scripts/config.pl unset POLARSSL_DEPRECATED_WARNING
+    scripts/config.pl unset POLARSSL_HAVEGE_C # depends on timing.c
+    scripts/config.pl unset POLARSSL_THREADING_PTHREAD
+    scripts/config.pl unset POLARSSL_THREADING_C
+    scripts/config.pl unset POLARSSL_MEMORY_BACKTRACE # execinfo.h
+    scripts/config.pl unset POLARSSL_MEMORY_BUFFER_ALLOC_C # calls exit
+    make CC=armcc AR=armar WARNING_CFLAGS= lib
+fi
 
 if which i686-w64-mingw32-gcc >/dev/null; then
     msg "build: cross-mingw64, make" # ~ 30s