Added script for buildbot to use on NaCl target.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
diff --git a/build-scripts/nacl-buildbot.sh b/build-scripts/nacl-buildbot.sh
new file mode 100755
index 0000000..af81e67
--- /dev/null
+++ b/build-scripts/nacl-buildbot.sh
@@ -0,0 +1,64 @@
+#!/bin/bash
+
+# This is the script buildbot.libsdl.org uses to cross-compile SDL2 from
+# amd64 Linux to NaCl.
+
+# The final tarball can be unpacked in the root directory of a RPi,
+# so the SDL2 install lands in /usr/local. Run ldconfig, and then
+# you should be able to build and run SDL2-based software on your
+# Pi. Standard configure scripts should be able to find SDL and
+# build against it, and sdl2-config should work correctly on the
+# actual device.
+
+export NACL_SDK_ROOT="/nacl_sdk/pepper_35"
+
+TARBALL="$1"
+if [ -z $1 ]; then
+ TARBALL=sdl-nacl.tar.xz
+fi
+
+OSTYPE=`uname -s`
+if [ "$OSTYPE" != "Linux" ]; then
+ # !!! FIXME
+ echo "This only works on x86 or x64-64 Linux at the moment." 1>&2
+ exit 1
+fi
+
+if [ "x$MAKE" == "x" ]; then
+ NCPU=`cat /proc/cpuinfo |grep vendor_id |wc -l`
+ let NCPU=$NCPU+1
+ MAKE="make -j$NCPU"
+fi
+
+BUILDBOTDIR="nacl-buildbot"
+PARENTDIR="$PWD"
+
+set -e
+set -x
+rm -f $TARBALL
+rm -rf $BUILDBOTDIR
+mkdir -p $BUILDBOTDIR
+pushd $BUILDBOTDIR
+
+# !!! FIXME: ccache?
+export CC="$NACL_SDK_ROOT/toolchain/linux_pnacl/bin/pnacl-clang"
+export CFLAGS="$CFLAGS -I$NACL_SDK_ROOT/include -I$NACL_SDK_ROOT/include/pnacl"
+export AR="$NACL_SDK_ROOT/toolchain/linux_pnacl/bin/pnacl-ar"
+export LD="$NACL_SDK_ROOT/toolchain/linux_pnacl/bin/pnacl-ar"
+export RANLIB="$NACL_SDK_ROOT/toolchain/linux_pnacl/bin/pnacl-ranlib"
+
+../configure --host=pnacl --prefix=$PWD/nacl-sdl2-installed
+$MAKE
+$MAKE install
+# Fix up a few things to a real install path on a real Raspberry Pi...
+perl -w -pi -e "s#$PWD/nacl-sdl2-installed#/usr/local#g;" ./nacl-sdl2-installed/lib/libSDL2.la ./nacl-sdl2-installed/lib/pkgconfig/sdl2.pc ./nacl-sdl2-installed/bin/sdl2-config
+mkdir -p ./usr
+mv ./nacl-sdl2-installed ./usr/local
+
+popd
+tar -cJvvf $TARBALL -C $BUILDBOTDIR usr
+rm -rf $BUILDBOTDIR
+
+set +x
+echo "All done. Final installable is in $TARBALL ...";
+