]> git.xonotic.org Git - xonotic/darkplaces.git/blob - .travis-script-xonotic.sh
Now that SSE is off, we can also kill -mstackrealign. GCC bug worked around!
[xonotic/darkplaces.git] / .travis-script-xonotic.sh
1 #!/bin/sh
2
3 set -e
4
5 openssl aes-256-cbc -K $encrypted_eeb6f7a14a8e_key -iv $encrypted_eeb6f7a14a8e_iv -in .travis-id_rsa-xonotic -out id_rsa-xonotic -d
6
7 set -x
8
9 chmod 0600 id_rsa-xonotic
10 # ssh-keygen -y -f id_rsa-xonotic
11
12 rev=`git rev-parse HEAD`
13
14 sftp -oStrictHostKeyChecking=no -i id_rsa-xonotic -P 2222 -b - autobuild-bin-uploader@beta.xonotic.org <<EOF || true
15 mkdir ${rev}
16 EOF
17
18 for os in "$@"; do
19
20   deps=".deps/${os}"
21   case "${os}" in
22     linux32)
23       chroot="sudo chroot ${PWD}/buildroot.i386"
24       makeflags='STRIP=:
25         CC="${CC} -m32 -march=i686 -g1 -I../../../${deps}/include -L../../../${deps}/lib -DSUPPORTIPV6"
26         SDL_CONFIG=sdl2-config
27         DP_LINK_CRYPTO=shared
28           LIB_CRYPTO="../../../${deps}/lib/libd0_blind_id.a ../../../${deps}/lib/libgmp.a"
29         DP_LINK_CRYPTO_RIJNDAEL=dlopen
30         DP_LINK_JPEG=shared
31           LIB_JPEG=../../../${deps}/lib/libjpeg.a
32         DP_LINK_ODE=shared
33           CFLAGS_ODE="-DUSEODE -DLINK_TO_LIBODE -DdDOUBLE"
34           LIB_ODE="../../../${deps}/lib/libode.a -lstdc++"
35         DP_LINK_ZLIB=shared'
36       maketargets='release'
37       outputs='darkplaces-glx:darkplaces-linux32-glx darkplaces-sdl:darkplaces-linux32-sdl darkplaces-dedicated:darkplaces-linux32-dedicated'
38       ;;
39     linux64)
40       chroot=
41       makeflags='STRIP=:
42         CC="${CC} -m64 -g1 -I../../../${deps}/include -L../../../${deps}/lib -DSUPPORTIPV6"
43         SDL_CONFIG=sdl2-config
44         DP_LINK_CRYPTO=shared
45           LIB_CRYPTO="../../../${deps}/lib/libd0_blind_id.a ../../../${deps}/lib/libgmp.a"
46         DP_LINK_CRYPTO_RIJNDAEL=dlopen
47         DP_LINK_JPEG=shared
48           LIB_JPEG="../../../${deps}/lib/libjpeg.a"
49         DP_LINK_ODE=shared
50           CFLAGS_ODE="-DUSEODE -DLINK_TO_LIBODE -DdDOUBLE"
51           LIB_ODE="../../../${deps}/lib/libode.a -lstdc++"
52         DP_LINK_ZLIB=shared'
53       maketargets='release'
54       outputs='darkplaces-glx:darkplaces-linux64-glx darkplaces-sdl:darkplaces-linux64-sdl darkplaces-dedicated:darkplaces-linux64-dedicated'
55       ;;
56     win32)
57       chroot=
58       makeflags='STRIP=:
59         D3D=1
60         DP_MAKE_TARGET=mingw
61         UNAME=MINGW32
62         WIN32RELEASE=1
63         CC="i686-w64-mingw32-gcc -g1 -Wl,--dynamicbase -Wl,--nxcompat -I../../../${deps}/include -L../../../${deps}/lib -DUSE_WSPIAPI_H -DSUPPORTIPV6"
64         CPUOPTIMIZATIONS="-march=pentium2 -fno-math-errno -ffinite-math-only -fno-rounding-math -fno-signaling-nans -fno-trapping-math"
65         WINDRES="i686-w64-mingw32-windres"
66         SDL_CONFIG="../../../${deps}/bin/sdl2-config"
67         DP_LINK_CRYPTO=dlopen
68         DP_LINK_CRYPTO_RIJNDAEL=dlopen
69         DP_LINK_JPEG=dlopen
70         DP_LINK_ODE=dlopen
71         DP_LINK_ZLIB=dlopen'
72       maketargets='release'
73       outputs='darkplaces.exe:darkplaces-x86-wgl.exe darkplaces-sdl.exe:darkplaces-x86.exe darkplaces-dedicated.exe:darkplaces-x86-dedicated.exe'
74       ;;
75     win64)
76       chroot=
77       makeflags='STRIP=:
78         D3D=1
79         DP_MAKE_TARGET=mingw
80         UNAME=MINGW32
81         WIN64RELEASE=1
82         CC="x86_64-w64-mingw32-gcc -g1 -Wl,--dynamicbase -Wl,--nxcompat -I../../../${deps}/include -L../../../${deps}/lib -DSUPPORTIPV6"
83         WINDRES="x86_64-w64-mingw32-windres"
84         SDL_CONFIG="../../../${deps}/bin/sdl2-config"
85         DP_LINK_CRYPTO=dlopen
86         DP_LINK_CRYPTO_RIJNDAEL=dlopen
87         DP_LINK_JPEG=dlopen
88         DP_LINK_ODE=dlopen
89         DP_LINK_ZLIB=dlopen'
90       maketargets='release'
91       outputs='darkplaces.exe:darkplaces-wgl.exe darkplaces-sdl.exe:darkplaces.exe darkplaces-dedicated.exe:darkplaces-dedicated.exe'
92       ;;
93     osx)
94       chroot=
95       makeflags='STRIP=:
96         CC="gcc -g1 -arch x86_64 -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -mmacosx-version-min=10.5 -I../../../${deps}/include -L../../../${deps}/lib -DSUPPORTIPV6"
97         SDLCONFIG_MACOSXCFLAGS="-I${PWD}/SDL2.framework/Headers"
98         SDLCONFIG_MACOSXLIBS="-F${PWD} -framework SDL2 -framework Cocoa -I${PWD}/SDL2.framework/Headers"
99         SDLCONFIG_MACOSXSTATICLIBS="-F${PWD} -framework SDL2 -framework Cocoa -I${PWD}/SDL2.framework/Headers"
100         DP_LINK_CRYPTO=dlopen
101         DP_LINK_CRYPTO_RIJNDAEL=dlopen
102         DP_LINK_JPEG=dlopen
103         DP_LINK_ODE=dlopen
104         DP_LINK_ZLIB=shared'
105       maketargets='sv-release sdl-release'
106       outputs='darkplaces-sdl:darkplaces-osx-sdl-bin darkplaces-dedicated:darkplaces-osx-dedicated'
107       ;;
108   esac
109
110   # Condense whitespace in makeflags.
111   makeflags=$(
112     printf "%s\n" "$makeflags" | tr '\n' ' '
113   )
114
115   (
116   trap "${chroot} make -C ${PWD} ${makeflags} clean" EXIT
117   eval "${chroot} make -C ${PWD} ${makeflags} ${maketargets}"
118   for o in $outputs; do
119     src=${o%%:*}
120     dst=${o#*:}
121     sftp -oStrictHostKeyChecking=no -i id_rsa-xonotic -P 2222 -b - autobuild-bin-uploader@beta.xonotic.org <<EOF
122 put ${src} ${rev}/${dst}
123 EOF
124   done
125   )
126
127 done