mirror of
https://github.com/Ryujinx/SDL.git
synced 2024-12-22 19:25:33 +00:00
106 lines
2.5 KiB
Bash
106 lines
2.5 KiB
Bash
|
#!/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
|