1 #!/bin/bash 2 3 RESULT_BUF=`echo -e ------------------------------------------------------------` 4 RESULT_PASS_COUNT=0 5 RESULT_FAIL_COUNT=0 6 7 TOOLS_DIR="`dirname $0`" 8 9 function result_log 10 { 11 if [ $1 -eq 0 ]; then 12 RESULT_BUF="`printf \"%s\n%55s\tpass\" \"$RESULT_BUF\" \"$2\"`" 13 RESULT_PASS_COUNT=$(($RESULT_PASS_COUNT + 1)) 14 else 15 RESULT_BUF="`printf \"%s\n%55s\tfail\" \"$RESULT_BUF\" \"$2\"`" 16 RESULT_FAIL_COUNT=$(($RESULT_FAIL_COUNT + 1)) 17 fi 18 } 19 20 function result_print 21 { 22 printf "%s" "$RESULT_BUF" 23 echo -e "\n------------------------------------------------------------" 24 printf "pass\t$RESULT_PASS_COUNT\n" 25 printf "fail\t$RESULT_FAIL_COUNT\n" 26 27 exit $RESULT_FAIL_COUNT 28 } 29 30 function get_build_arch 31 { 32 case `uname -m` in 33 arm*) 34 BUILD_ARCH=ARM;; 35 aarch64*) 36 BUILD_ARCH=AARCH64;; 37 *) 38 BUILD_ARCH=other;; 39 esac 40 } 41 42 function set_cross_compile 43 { 44 get_build_arch 45 46 echo "Target: $PLATFORM_ARCH" 47 echo "Build: $BUILD_ARCH" 48 if [ "$PLATFORM_ARCH" = "$BUILD_ARCH" ]; then 49 TEMP_CROSS_COMPILE= 50 elif [ "$PLATFORM_ARCH" == "AARCH64" ]; then 51 if [ X"$CROSS_COMPILE_64" != X"" ]; then 52 TEMP_CROSS_COMPILE="$CROSS_COMPILE_64" 53 else 54 TEMP_CROSS_COMPILE=aarch64-linux-gnu- 55 fi 56 elif [ "$PLATFORM_ARCH" == "ARM" ]; then 57 if [ X"$CROSS_COMPILE_32" != X"" ]; then 58 TEMP_CROSS_COMPILE="$CROSS_COMPILE_32" 59 else 60 TEMP_CROSS_COMPILE=arm-linux-gnueabihf- 61 fi 62 else 63 echo "Unsupported target architecture '$PLATFORM_ARCH'!" >&2 64 fi 65 } 66 67 function get_gcc_version 68 { 69 gcc_version=$($1 -dumpversion) 70 case $gcc_version in 71 4.6*|4.7*|4.8*|4.9*) 72 echo GCC$(echo ${gcc_version} | awk -F. '{print $1$2}') 73 ;; 74 *) 75 echo "Unknown toolchain version '$gcc_version'" >&2 76 echo "Attempting to build using GCC49 profile." >&2 77 echo GCC49 78 ;; 79 esac 80 } 81 82 function get_clang_version 83 { 84 clang_version=`$1 --version | head -1 | sed 's/^.*version\s*\([0-9]*\).\([0-9]*\).*/\1\2/g'` 85 echo "CLANG$clang_version" 86 } 87