| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- #!/bin/bash
- print_help() {
- cat <<EOF
- Usage: command
- command:
- export CROSS_COMPILE
- unset
- example:
- source ./toolchain.sh export arm-linux-androideabi
- source ./toolchain.sh unset
- EOF
- }
- main() {
- if [ $# -lt 1 ]; then
- print_help
- return
- fi
- COMMAND=$1
- if [ $COMMAND = "export" ]; then
- if [ $# -lt 2 ]; then
- print_help
- return
- fi
- CROSS_COMPILE=$2
- if [ ${CROSS_COMPILE:${#CROSS_COMPILE}-1:1} != "-" ]; then
- CROSS_COMPILE=${CROSS_COMPILE}-
- fi
- echo "CROSS_COMPILE=$CROSS_COMPILE"
- export CROSS_COMPILE=${CROSS_COMPILE}
- export CC=${CROSS_COMPILE}gcc
- export CXX=${CROSS_COMPILE}g++
- export AR=${CROSS_COMPILE}ar
- export AS=${CROSS_COMPILE}as
- export LD=${CROSS_COMPILE}ld
- export STRIP=${CROSS_COMPILE}strip
- export RANLIB=${CROSS_COMPILE}ranlib
- export NM=${CROSS_COMPILE}nm
- HOST_OS=`uname -s`
- HOST_ARCH=`uname -m`
- TARGET_PLATFORM=`$CC -v 2>&1 | grep Target | sed 's/Target: //'`
- TARGET_ARCH=`echo $TARGET_PLATFORM | awk -F'-' '{print $1}'`
- case $TARGET_PLATFORM in
- *mingw*) TARGET_OS=Windows ;;
- *android*) TARGET_OS=Android ;;
- *darwin*) TARGET_OS=Darwin ;;
- *) TARGET_OS=Linux ;;
- esac
- # TARGET_OS,TARGET_ARCH used by make
- export HV_HOST_OS=$HOST_OS
- export HV_HOST_ARCH=$HOST_ARCH
- export HV_TARGET_OS=$TARGET_OS
- export HV_TARGET_ARCH=$TARGET_ARCH
- export HOST=$TARGET_PLATFORM
- elif [ $COMMAND = "unset" ]; then
- unset CROSS_COMPILE
- unset CC
- unset CXX
- unset AR
- unset AS
- unset LD
- unset STRIP
- unset RANLIB
- unset NM
- unset HOST_OS
- unset HOST_ARCH
- unset TARGET_OS
- unset TARGET_ARCH
- unset HOST
- else
- print_help
- return
- fi
- }
- main $@
- echo "CC = $CC"
- echo "CXX = $CXX"
- if [ $CC ]; then
- CC_VERSION=`$CC --version 2>&1 | head -n 1`
- echo "$CC_VERSION"
- fi
- echo "AR = $AR"
- echo "AS = $AS"
- echo "LD = $LD"
- echo "STRIP = $STRIP"
- echo "RANLIB = $RANLIB"
- echo "NM = $NM"
- echo "HV_HOST_OS = $HOST_OS"
- echo "HV_HOST_ARCH = $HOST_ARCH"
- echo "HV_TARGET_OS = $TARGET_OS"
- echo "HV_TARGET_ARCH = $TARGET_ARCH"
|