Use a newer build chain for win32/win64.
[xonotic/darkplaces.git] / .travis-before_install-xonotic.sh
1 #!/bin/sh
2
3 set -ex
4
5 if [ "`uname`" = 'Linux' ]; then
6   sudo apt-get update -qq
7 fi
8
9 for os in "$@"; do
10   git archive --format=tar --remote=git://de.git.xonotic.org/xonotic/xonotic.git \
11     --prefix=".deps/${os}/" master:"misc/builddeps/${os}" | tar xvf -
12
13   case "$os" in
14     linux32)
15       # Prepare an i386 chroot. This is required as we otherwise can't install
16       # our dependencies to be able to compile a 32bit binary. Ubuntu...
17       chroot="$PWD"/buildroot.i386
18       mkdir -p "$chroot$PWD"
19       sudo apt-get install -y debootstrap
20       sudo i386 debootstrap --arch=i386 precise "$chroot"
21       sudo mount --rbind "$PWD" "$chroot$PWD"
22       sudo i386 chroot "$chroot" apt-get install -y \
23         build-essential
24       # Now install our dependencies.
25       sudo i386 chroot "$chroot" apt-get install -y \
26         libxpm-dev libsdl1.2-dev libxxf86vm-dev
27       wget https://www.libsdl.org/release/SDL2-2.0.3.tar.gz
28       tar xf SDL2-2.0.3.tar.gz
29       (
30       cd SDL2-2.0.3
31       sudo i386 chroot "$chroot" sh -c "cd $PWD && ./configure --enable-static --disable-shared"
32       sudo i386 chroot "$chroot" make -C "$PWD"
33       sudo i386 chroot "$chroot" make -C "$PWD" install
34       )
35       ;;
36     linux64)
37       sudo apt-get install -y \
38         libxpm-dev libsdl1.2-dev libxxf86vm-dev
39       wget https://www.libsdl.org/release/SDL2-2.0.3.tar.gz
40       tar xf SDL2-2.0.3.tar.gz
41       (
42       cd SDL2-2.0.3
43       ./configure --enable-static --disable-shared
44       make
45       sudo make install
46       )
47       ;;
48     win32)
49       wget -qO- http://beta.xonotic.org/win-builds.org/cross_toolchain_32.tar.xz | sudo tar xaJvf - -C/ opt/cross_toolchain_32
50       # Easiest way to statically link to libwinpthread is to delete the shared version.
51       sudo rm /opt/cross_toolchain_32/bin/libwinpthread-1.dll /opt/cross_toolchain_32/i686-w64-mingw32/lib/libwinpthread.dll.a
52       ;;
53     win64)
54       wget -qO- http://beta.xonotic.org/win-builds.org/cross_toolchain_64.tar.xz | sudo tar xvJf - -C/ opt/cross_toolchain_64
55       # Easiest way to statically link to libwinpthread is to delete the shared version.
56       sudo rm /opt/cross_toolchain_64/bin/libwinpthread-1.dll /opt/cross_toolchain_64/x86_64-w64-mingw32/lib/libwinpthread.dll.a
57       ;;
58     osx)
59       git archive --format=tar --remote=git://de.git.xonotic.org/xonotic/xonotic.git \
60         --prefix=SDL2.framework/ master:misc/buildfiles/osx/Xonotic.app/Contents/Frameworks/SDL2.framework | tar xvf -
61       ;;
62   esac
63 done
64
65 for X in .deps/*; do
66   rsync --remove-source-files -aL "$X"/*/ "$X"/ || true
67 done