nacl_make revision da5e6e90989427a4bca736992af8bcce9f4ebc4f
1#!/bin/bash 2 3function exportVar { 4 NAME=$1 5 VALUE=$2 6 echo export $NAME=\"$VALUE\" 7 export $NAME="$VALUE" 8} 9 10function setenv { 11 if [ -z "$1" ]; then 12 echo "ERROR: setenv() requires one argument." 13 exit 1 14 fi 15 if [ -z "${NACL_SDK_ROOT}" ]; then 16 echo "ERROR: This script requires NACL_SDK_ROOT to be set." 17 exit 1 18 fi 19 20 ARCH_WIDTH=$1 21 if [ ${ARCH_WIDTH} = "32" ]; then 22 CROSS_ID=i686 23 elif [ ${ARCH_WIDTH} = "64" ]; then 24 CROSS_ID=x86_64 25 else 26 echo "ERROR: Unknown arch width: ${ARCH_WIDTH}" 27 exit 1 28 fi 29 30 OS_NAME=$(uname -s) 31 if [ $OS_NAME = "Darwin" ]; then 32 OS_SUBDIR="mac" 33 OS_SUBDIR_SHORT="mac" 34 OS_JOBS=4 35 elif [ $OS_NAME = "Linux" ]; then 36 OS_SUBDIR="linux" 37 OS_SUBDIR_SHORT="linux" 38 OS_JOBS=4 39 else 40 OS_SUBDIR="windows" 41 OS_SUBDIR_SHORT="win" 42 OS_JOBS=1 43 fi 44 45 NACL_TOOLCHAIN_ROOT=${NACL_SDK_ROOT}/toolchain/${OS_SUBDIR_SHORT}_x86_newlib 46 NACL_BIN_PATH=${NACL_TOOLCHAIN_ROOT}/bin 47 export NACL_CROSS_PREFIX=${CROSS_ID}-nacl 48 49 if [[ -z "$NACL_MAKE_CCACHE" ]]; then 50 exportVar NACLCC ${NACL_BIN_PATH}/${NACL_CROSS_PREFIX}-gcc 51 exportVar NACLCXX ${NACL_BIN_PATH}/${NACL_CROSS_PREFIX}-g++ 52 else 53 exportVar NACLCC "${NACL_MAKE_CCACHE} ${NACL_BIN_PATH}/${NACL_CROSS_PREFIX}-gcc" 54 exportVar NACLCXX "${NACL_MAKE_CCACHE} ${NACL_BIN_PATH}/${NACL_CROSS_PREFIX}-g++" 55 fi 56 exportVar NACLAR ${NACL_BIN_PATH}/${NACL_CROSS_PREFIX}-ar 57 exportVar NACLRANLIB ${NACL_BIN_PATH}/${NACL_CROSS_PREFIX}-ranlib 58 exportVar NACLLD ${NACL_BIN_PATH}/${NACL_CROSS_PREFIX}-ld 59 exportVar NACLSTRINGS ${NACL_BIN_PATH}/${NACL_CROSS_PREFIX}-strings 60 exportVar NACLSTRIP ${NACL_BIN_PATH}/${NACL_CROSS_PREFIX}-strip 61 62 exportVar CC "${NACLCC}" 63 exportVar CXX "${NACLCXX}" 64 exportVar AR "${NACLAR}" 65 exportVar RANLIB "${NACLRANLIB}" 66 exportVar PATH ${NACL_BIN_PATH}:${PATH}; 67 68 exportVar GYP_DEFINES "skia_os=nacl skia_arch_width=${ARCH_WIDTH}" 69} 70 71function build { 72 if [ -z "$1" ]; then 73 echo "ERROR: build() requires one argument." 74 exit 1 75 fi 76 setenv $1 77 78 export SKIA_OUT=out/nacl$1 79 make ${MAKE_ARGS} 80} 81 82MAKE_ARGS="" 83 84while (( "$#" )); do 85 if [[ "$1" == "--use-ccache" ]]; 86 then 87 if [[ -z "$NACL_MAKE_CCACHE" ]]; 88 then 89 NACL_MAKE_CCACHE=$(which ccache) 90 fi 91 elif [ -z "${MAKE_ARGS}" ]; then 92 MAKE_ARGS="$1" 93 else 94 MAKE_ARGS="${MAKE_ARGS} $1" 95 fi 96 shift 97done 98 99if [[ -n "$NACL_MAKE_CCACHE" ]]; then 100 $NACL_MAKE_CCACHE --version &> /dev/null 101 if [[ "$?" != "0" ]]; then 102 echo "Unable to find ccache!" 103 exit 1 104 fi 105fi 106 107build 32 && \ 108build 64 && \ 109if ! [ -L platform_tools/nacl/out ]; then 110 ln -s ../../out platform_tools/nacl 111fi