Added script that the buildbot will use for cross-compiling to Raspberry Pi.
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
diff --git a/build-scripts/raspberrypi-buildbot.sh b/build-scripts/raspberrypi-buildbot.sh
new file mode 100755
index 0000000..c87e136
--- /dev/null
+++ b/build-scripts/raspberrypi-buildbot.sh
@@ -0,0 +1,55 @@
+#!/bin/bash
+
+# This is the script buildbot.libsdl.org uses to cross-compile SDL2 from
+# x86 Linux to Raspberry Pi.
+
+# 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.
+
+TARBALL=sdl2-raspberrypi-`hg tip --template '{rev}'`.tar.bz2
+
+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="raspberrypi-buildbot"
+PARENTDIR="$PWD"
+
+set -e
+set -x
+rm -f $TARBALL
+rm -rf $BUILDBOTDIR
+mkdir -p $BUILDBOTDIR
+pushd $BUILDBOTDIR
+
+export CC=/opt/rpi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc
+# !!! FIXME: shouldn't have to --disable-* things here.
+../configure --host=arm-raspberry-linux-gnueabihf --disable-pulseaudio --disable-esd --prefix="$PWD/rpi-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/rpi-sdl2-installed#/usr/local#g;" ./rpi-sdl2-installed/lib/libSDL2.la ./rpi-sdl2-installed/lib/pkgconfig/sdl2.pc ./rpi-sdl2-installed/bin/sdl2-config
+mkdir -p ./usr
+mv ./rpi-sdl2-installed ./usr/local
+
+tar -cjvvf $PARENTDIR/$TARBALL usr
+popd
+rm -rf $BUILDBOTDIR
+
+set +x
+echo "All done. Final installable is in $TARBALL ...";
+
+