toxcore/circle.yml
2018-01-19 22:39:42 +00:00

139 lines
7.3 KiB
YAML

machine:
environment:
MAKEFLAGS: "j4"
# --- Android build ---
_toolchain_: "/home/ubuntu/c-toxcore/toolchains/"
_s_: "/home/ubuntu/c-toxcore/src/"
AND_PATH: "$_toolchain_/arm-linux-androideabi/bin:$PATH"
AND_PKG_CONFIG_PATH: "$_toolchain_/arm-linux-androideabi/sysroot/usr/lib/pkgconfig"
AND_CC: "$_toolchain_/arm-linux-androideabi/bin/arm-linux-androideabi-clang"
AND_CXX: "$_toolchain_/arm-linux-androideabi/bin/arm-linux-androideabi-clang++"
# --- Android build ---
dependencies:
pre:
- sudo apt-get update
- sudo apt-get install astyle
- sudo apt-get install clang
- sudo apt-get install build-essential libtool autotools-dev automake checkinstall check git yasm
- sudo apt-get install libopus-dev libvpx-dev pkg-config
# ------------ network_test requires that "localhost" resolves to ::1 ------------
- sudo bash -c "echo '::1 localhost ipv6-localhost ipv6-loopback' >> /etc/hosts" # ipv6 localhost entry
# ------------ network_test requires that "localhost" resolves to ::1 ------------
- sudo bash -c "echo /usr/local/lib/x86_64-linux-gnu > /etc/ld.so.conf.d/fix685519.conf" # fix https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=685519
- java -version ; exit 0
- gcc --version ; exit 0
- clang --version ; exit 0
- astyle --version ; exit 0
compile:
override:
### ----- check code style ------
- cd .. ; cp -av c-toxcore ./astyle_check/
- cd ../astyle_check/ ; ls -al other/astyle/astylerc
- cd ../astyle_check/ ;
SOURCES=`find . -name "*.[ch]" -and -not -name "*.api.h" -and -not -wholename "*crypto_pwhash*" -and -not -wholename "./super_donators/*"|sort`;
astyle -n --options=other/astyle/astylerc $SOURCES ; exit 0
- cd ../astyle_check/ ; git --no-pager diff
- cd ../astyle_check/ ; git diff | cat > $CIRCLE_ARTIFACTS/astyle_check.patch 2>&1
### ----- check code style ------
### ------- get libsodium -------
- mkdir ~/libsodium
- cd ~/libsodium/ ; git clone https://github.com/jedisct1/libsodium.git
- cd ~/libsodium/ ; cd libsodium/ ; git checkout tags/1.0.11
- cd ~/libsodium/ ; cd libsodium/ ; ./autogen.sh
- cd ~/libsodium/ ; cd libsodium/ ; ./configure && make check
- cd ~/libsodium/ ; cd libsodium/ ; sudo bash -c "printf 'y\naa\n\n' | checkinstall --install --pkgname libsodium --pkgversion 1.0.0 --nodoc --deldesc=no --pkglicense='GPL2'"
- cd ~/libsodium/ ; cd libsodium/ ; sudo ldconfig
### ------- get libsodium -------
##### ------------ BUILD ------------
- cmake -DASAN=ON -DDEBUG=ON -DSTRICT_ABI=ON -DTRACE=ON -DWARNINGS=OFF .
#- cmake .
- make
- sudo make install
- sudo ldconfig -v 2>/dev/null | grep toxcore
- sudo ldconfig -v 2>/dev/null | grep sodium
##### ------------ BUILD ------------
# --- Android build ---
- echo 'export PATH="$AND_PATH";export PKG_CONFIG_PATH="$AND_PKG_CONFIG_PATH";export CC="$AND_CC";export CXX="$AND_CXX";export CPPFLAGS="";export LDFLAGS=""' > ~/pp
- chmod u+x ~/pp
- mkdir -p "$_s_"
- rm -Rf /home/ubuntu/install_dest/ ; mkdir -p /home/ubuntu/install_dest/
- mkdir -p $CIRCLE_ARTIFACTS/android/
- . ~/pp;mkdir -p "$PKG_CONFIG_PATH"
- . ~/pp;curl -s http://dl.google.com/android/repository/android-ndk-r13b-linux-x86_64.zip -o android-ndk-r13b-linux-x86_64.zip
- . ~/pp;unzip android-ndk-r13b-linux-x86_64.zip
- . ~/pp;mv -v /home/ubuntu/c-toxcore/android-ndk-r13b /home/ubuntu/android-ndk
- . ~/pp;/home/ubuntu/android-ndk/build/tools/make_standalone_toolchain.py --arch arm --install-dir "$_toolchain_"/arm-linux-androideabi --api 12 --force
- . ~/pp;cd $_s_;git clone --depth=1 --branch=v1.3.0 https://github.com/yasm/yasm.git
- . ~/pp;cd $_s_/yasm/;autoreconf -fi
- . ~/pp;rm -Rf ~/build/
- . ~/pp;mkdir -p ~/build/
- . ~/pp;cd ~/build/;$_s_/yasm/configure --prefix="$_toolchain_"/arm-linux-androideabi/sysroot/usr --disable-shared --disable-soname-versions --host=arm-linux-androideabi --with-sysroot="$_toolchain_"/arm-linux-androideabi/sysroot
- . ~/pp;cd ~/build/;make -j4
- . ~/pp;cd ~/build/;make install
- . ~/pp;cd $_s_;git clone --depth=1 --branch=v1.6.0 https://github.com/webmproject/libvpx.git
- . ~/pp;rm -Rf ~/build/
- . ~/pp;mkdir -p ~/build/
- . ~/pp;cd ~/build/;$_s_/libvpx/configure --prefix="$_toolchain_"/arm-linux-androideabi/sysroot/usr --disable-examples --disable-unit-tests --sdk-path=/home/ubuntu/android-ndk --target=armv7-android-gcc
- . ~/pp;cd ~/build/;make -j4
- . ~/pp;cd ~/build/;make install
- . ~/pp;cd ~/build/;make clean
- rm -Rf /home/ubuntu/install_dest/ ; mkdir -p /home/ubuntu/install_dest/
- . ~/pp;cd ~/build/;make DESTDIR=/home/ubuntu/install_dest/ install
- cd /home/ubuntu/install_dest/ ; cd home/ubuntu/c-toxcore/toolchains/arm-linux-androideabi/sysroot/ ; zip -r $CIRCLE_ARTIFACTS/android/libvpx.zip *
- . ~/pp;cd $_s_;git clone --depth=1 --branch=v1.1.3 https://github.com/xiph/opus.git
- . ~/pp;cd $_s_/opus/;autoreconf -fi
- . ~/pp;rm -Rf ~/build/
- . ~/pp;mkdir -p ~/build/
- . ~/pp;cd ~/build/;$_s_/opus/configure --prefix="$_toolchain_"/arm-linux-androideabi/sysroot/usr --disable-shared --disable-soname-versions --host=arm-linux-androideabi --with-sysroot="$_toolchain_"/arm-linux-androideabi/sysroot
- . ~/pp;cd ~/build/;make -j4
- . ~/pp;cd ~/build/;make install
- . ~/pp;cd ~/build/;make clean
- rm -Rf /home/ubuntu/install_dest/ ; mkdir -p /home/ubuntu/install_dest/
- . ~/pp;cd ~/build/;make DESTDIR=/home/ubuntu/install_dest/ install
- cd /home/ubuntu/install_dest/ ; cd home/ubuntu/c-toxcore/toolchains/arm-linux-androideabi/sysroot/ ; zip -r $CIRCLE_ARTIFACTS/android/opus.zip *
- . ~/pp;cd $_s_;git clone --depth=1 --branch=1.0.11 https://github.com/jedisct1/libsodium.git
- . ~/pp;cd $_s_/libsodium/;autoreconf -fi
- . ~/pp;rm -Rf ~/build/
- . ~/pp;mkdir -p ~/build/
- . ~/pp;cd ~/build/;$_s_/libsodium/configure --prefix="$_toolchain_"/arm-linux-androideabi/sysroot/usr --disable-shared --disable-soname-versions --host=arm-linux-androideabi --with-sysroot="$_toolchain_"/arm-linux-androideabi/sysroot --enable-minimal --disable-pie
- . ~/pp;cd ~/build/;make -j4
- . ~/pp;cd ~/build/;make install
- . ~/pp;cd ~/build/;make clean
- rm -Rf /home/ubuntu/install_dest/ ; mkdir -p /home/ubuntu/install_dest/
- . ~/pp;cd ~/build/;make DESTDIR=/home/ubuntu/install_dest/ install
- cd /home/ubuntu/install_dest/ ; cd home/ubuntu/c-toxcore/toolchains/arm-linux-androideabi/sysroot/ ; zip -r $CIRCLE_ARTIFACTS/android/libsodium.zip *
- . ~/pp;cd ~/c-toxcore/;autoreconf -fi
- . ~/pp;rm -Rf ~/build/
- . ~/pp;mkdir -p ~/build/
- . ~/pp;cd ~/build/;~/c-toxcore/configure --prefix="$_toolchain_"/arm-linux-androideabi/sysroot/usr --disable-soname-versions --host=arm-linux-androideabi --with-sysroot="$_toolchain_"/arm-linux-androideabi/sysroot --disable-testing --disable-rt
- . ~/pp;cd ~/build/;make -j4
- . ~/pp;cd ~/build/;make install
- . ~/pp;cd ~/build/;make clean
- rm -Rf /home/ubuntu/install_dest/ ; mkdir -p /home/ubuntu/install_dest/
- . ~/pp;cd ~/build/;make DESTDIR=/home/ubuntu/install_dest/ install
- cd /home/ubuntu/install_dest/ ; cd home/ubuntu/c-toxcore/toolchains/arm-linux-androideabi/sysroot/ ; zip -r $CIRCLE_ARTIFACTS/android/c-toxcore.zip *
# --- Android build ---
test:
override:
- make VERBOSE=1 test || make VERBOSE=1 ARGS="--rerun-failed" test || make VERBOSE=1 ARGS="--rerun-failed" test || make VERBOSE=1 ARGS="--rerun-failed" test