Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added script for buildbot to use on NaCl target.
- Loading branch information
Showing
1 changed file
with
64 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 ..."; | ||
|