forked from hrydgard/ppsspp
-
Notifications
You must be signed in to change notification settings - Fork 1
/
.travis.yml
99 lines (90 loc) · 3.8 KB
/
.travis.yml
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# https://travis-ci.org
language: cpp
notifications:
irc:
channels: "chat.freenode.net#ppsspp"
on_success: change
on_failure: always
skip_join: true
template:
- "%{repository_slug}:%{branch} - %{message} %{build_url}"
env:
- PPSSPP_BUILD_TYPE=Linux
CMAKE=TRUE
- PPSSPP_BUILD_TYPE=Android
- PPSSPP_BUILD_TYPE=Blackberry
CMAKE=TRUE
- PPSSPP_BUILD_TYPE=Symbian
compiler:
- gcc
matrix:
include:
- compiler: clang
env: PPSSPP_BUILD_TYPE=Linux
CMAKE=TRUE
before_install:
- git submodule update --init --recursive
- sudo apt-get update -qq
- sudo apt-get install aria2 -qq
- download_extract() { aria2c -x 16 $1 -o $2 && tar -xf $2; }
# Travis uses CMake 2.8.7. We require 2.8.8. Grab latest
- if [ "$CMAKE" == "TRUE" ]; then
sudo apt-get install lib32stdc++6 lib32z1 lib32z1-dev -qq &&
aria2c -x 16 http://www.cmake.org/files/v2.8/cmake-2.8.12.2-Linux-i386.sh &&
chmod a+x cmake-2.8.12.2-Linux-i386.sh &&
sudo ./cmake-2.8.12.2-Linux-i386.sh --skip-license --prefix=/usr;
fi
install:
# Ubuntu Linux + GCC 4.8
- if [ "$PPSSPP_BUILD_TYPE" == "Linux" ]; then
sudo add-apt-repository ppa:zoogie/sdl2-snapshots -y &&
if [[ "$CXX" == g++ ]]; then
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y;
fi;
sudo apt-get update &&
sudo apt-get install libsdl2-dev -qq &&
if [[ "$CXX" == g++ ]]; then
sudo apt-get install g++-4.8 -qq &&
export CXX="g++-4.8" CC="gcc-4.8";
fi;
fi
# Android NDK + GCC 4.8
- if [ "$PPSSPP_BUILD_TYPE" == "Android" ]; then
NDK_VER=android-ndk-r9d &&
sudo apt-get install ant -qq &&
download_extract http://dl.google.com/android/ndk/${NDK_VER}-linux-x86_64.tar.bz2 ${NDK_VER}-linux-x86_64.tar.bz2 &&
export ANDROID_HOME=$(pwd)/${NDK_VER} NDK=$(pwd)/${NDK_VER} &&
if [[ "$CXX" == *clang* ]]; then export NDK_TOOLCHAIN_VERSION=clang; fi;
fi
# Blackberry NDK: 10.3.0.440 + GCC: 4.8.2
- if [ "$PPSSPP_BUILD_TYPE" == "Blackberry" ]; then
download_extract http://downloads.blackberry.com/upr/developers/update/bbndk/10_3_beta/ndktarget_10.3.0.440/ndktargetrepo_10.3.0.440/packages/bbndk.linux.libraries.10.3.0.440.tar.gz libs.tar.gz &&
download_extract http://downloads.blackberry.com/upr/developers/update/bbndk/10_3_beta/ndktarget_10.3.0.440/ndktargetrepo_10.3.0.440/packages/bbndk.linux.tools.10.3.0.2702.tar.gz tools.tar.gz &&
sed -i 's/-g../&-4.8.2/g' Blackberry/bb.toolchain.cmake &&
export QNX_TARGET="$(pwd)/target_10_3_0_440/qnx6" QNX_HOST="$(pwd)/host_10_3_0_2702/linux/x86" && PATH="$QNX_HOST/usr/bin:$PATH";
fi
# Symbian NDK: Belle + GCC: 4.8.3
- if [ "$PPSSPP_BUILD_TYPE" == "Symbian" ]; then
sudo apt-get install lib32stdc++6 lib32bz2-1.0 -qq &&
download_extract https://github.com/xsacha/SymbianGCC/releases/download/4.8.3/gcc4.8.3_x86-64.tar.bz2 compiler.tar.bz2 &&
download_extract https://github.com/xsacha/SymbianGCC/releases/download/4.8.3/ndk.tar.bz2 ndk.tar.bz2 &&
export EPOCROOT=$(pwd)/SDKs/SymbianSR1Qt474/ SBS_GCCE483BIN=$(pwd)/gcc4.8.3_x86-64/bin &&
cp ffmpeg/symbian/armv6/lib/* $EPOCROOT/epoc32/release/armv5/urel/ &&
PATH=$SBS_GCCE483BIN:$(pwd)/tools/sbs/bin:$EPOCROOT/epoc32/tools:$EPOCROOT/bin:$(pwd)/tools/sbs/linux-x86_64-libc2_15/bin:$PATH;
fi
script:
# Compile PPSSPP
- if [ "$PPSSPP_BUILD_TYPE" == "Linux" ]; then
./b.sh --headless;
fi
- if [ "$PPSSPP_BUILD_TYPE" == "Android" ]; then
pushd android && ./ab.sh -j2 && popd;
fi
- if [ "$PPSSPP_BUILD_TYPE" == "Blackberry" ]; then
./b.sh --release --no-package;
fi
- if [ "$PPSSPP_BUILD_TYPE" == "Symbian" ]; then
QMAKE_ARGS="CONFIG+=no_assets" ./b.sh --debug --no-package;
fi
after_success:
- if [ "$PPSSPP_BUILD_TYPE" == "Linux" ]; then ./test.py; fi