123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- #!/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
|