Edit

kc3-lang/SDL/build-scripts/naclbuild.sh

Branch :

  • Show log

    Commit

  • Author : Gabriel Jacobo
    Date : 2014-06-20 11:50:31
    Hash : 3b217eef
    Message : Fix another NaCl warning

  • build-scripts/naclbuild.sh
  • #!/bin/bash
    if [ -z "$1" ] && [ -z "$NACL_SDK_ROOT" ]; then
        echo "Usage: ./naclbuild ~/nacl/pepper_35"
        echo "This will build SDL for Native Client, and testgles2.c as a demo"
        echo "You can set env vars CC, AR, LD and RANLIB to override the default PNaCl toolchain used"
        echo "You can set env var SOURCES to select a different source file than testgles2.c"
        exit 1
    fi
    
    if [ -n "$1" ]; then
        NACL_SDK_ROOT="$1"
    fi
    
    CC=""
    
    if [ -n "$2" ]; then
        CC="$2"
    fi
    
    echo "Using SDK at $NACL_SDK_ROOT"
    
    export NACL_SDK_ROOT="$NACL_SDK_ROOT"
    export CFLAGS="$CFLAGS -I$NACL_SDK_ROOT/include -I$NACL_SDK_ROOT/include/pnacl"
    
    NCPUS="1"
    case "$OSTYPE" in
        darwin*)
            NCPU=`sysctl -n hw.ncpu`
            ;; 
        linux*)
            if [ -n `which nproc` ]; then
                NCPUS=`nproc`
            fi  
            ;;
      *);;
    esac
    
    CURDIR=`pwd -P`
    SDLPATH="$( cd "$(dirname "$0")/.." ; pwd -P )"
    BUILDPATH="$SDLPATH/build/nacl"
    TESTBUILDPATH="$BUILDPATH/test"
    SDL2_STATIC="$BUILDPATH/build/.libs/libSDL2.a"
    mkdir -p $BUILDPATH
    mkdir -p $TESTBUILDPATH
    
    if [ -z "$CC" ]; then
        export CC="$NACL_SDK_ROOT/toolchain/linux_pnacl/bin/pnacl-clang"
    fi
    if [ -z "$AR" ]; then
        export AR="$NACL_SDK_ROOT/toolchain/linux_pnacl/bin/pnacl-ar"
    fi
    if [ -z "$LD" ]; then
        export LD="$NACL_SDK_ROOT/toolchain/linux_pnacl/bin/pnacl-ar"
    fi
    if [ -z "$RANLIB" ]; then
        export RANLIB="$NACL_SDK_ROOT/toolchain/linux_pnacl/bin/pnacl-ranlib"
    fi
    
    if [ -z "$SOURCES" ]; then
        export SOURCES="$SDLPATH/test/testgles2.c"
    fi
    
    if [ ! -f "$CC" ]; then
        echo "Could not find compiler at $CC"
        exit 1
    fi
    
    
    
    
    cd $BUILDPATH
    $SDLPATH/configure --host=pnacl --prefix $TESTBUILDPATH
    make -j$NCPUS CFLAGS="$CFLAGS -I./include"
    make install
    
    if [ ! -f "$SDL2_STATIC" ]; then
        echo "Build failed! $SDL2_STATIC"
        exit 1
    fi
    
    echo "Building test"
    cp -f $SDLPATH/test/nacl/* $TESTBUILDPATH
    # Some tests need these resource files
    cp -f $SDLPATH/test/*.bmp $TESTBUILDPATH
    cp -f $SDLPATH/test/*.wav $TESTBUILDPATH
    cp -f $SDL2_STATIC $TESTBUILDPATH
    
    # Copy user sources
    _SOURCES=($SOURCES)
    for src in "${_SOURCES[@]}"
    do
        cp $src $TESTBUILDPATH
    done
    export SOURCES="$SOURCES"
    
    cd $TESTBUILDPATH
    make -j$NCPUS CONFIG="Release" CFLAGS="$CFLAGS -I$TESTBUILDPATH/include/SDL2 -I$SDLPATH/include"
    make -j$NCPUS CONFIG="Debug" CFLAGS="$CFLAGS -I$TESTBUILDPATH/include/SDL2 -I$SDLPATH/include"
    
    echo
    echo "Run the test with: "
    echo "cd $TESTBUILDPATH;python -m SimpleHTTPServer"
    echo "Then visit http://localhost:8000 with Chrome"
    
    cd $CURDIR