mirror of
https://github.com/irungentoo/toxcore.git
synced 2024-03-22 13:30:51 +08:00
1a54be06cd
Have one script per build. This means more duplication between the scripts, but it's much easier to understand and to run locally.
53 lines
1.2 KiB
Bash
Executable File
53 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
ACTION="$1"
|
|
|
|
set -eu
|
|
|
|
CACHEDIR="$HOME/cache"
|
|
NPROC=`nproc`
|
|
|
|
travis_install() {
|
|
# Install vanilla NaCl only.
|
|
[ -f "$CACHEDIR/lib/amd64/libnacl.a" ] || {
|
|
curl https://hyperelliptic.org/nacl/nacl-20110221.tar.bz2 | tar jx
|
|
cd nacl-20110221 # pushd
|
|
"./do"
|
|
# "make install"
|
|
mkdir -p "$CACHEDIR/include"; mv build/*/include/* "$CACHEDIR/include"
|
|
mkdir -p "$CACHEDIR/lib" ; mv build/*/lib/* "$CACHEDIR/lib"
|
|
cd - # popd
|
|
}
|
|
}
|
|
|
|
travis_script() {
|
|
. ".travis/flags-$CC.sh"
|
|
|
|
add_ld_flag -Wl,-z,defs
|
|
|
|
# Make compilation error on a warning
|
|
add_flag -Werror
|
|
|
|
add_config_flag --with-nacl-libs="$CACHEDIR/lib/amd64"
|
|
add_config_flag --with-nacl-headers="$CACHEDIR/include/amd64"
|
|
add_config_flag --disable-ipv6
|
|
add_config_flag --enable-nacl
|
|
add_config_flag --enable-daemon
|
|
add_config_flag --enable-logging
|
|
add_config_flag --with-log-level=TRACE
|
|
|
|
autoreconf -fi
|
|
mkdir -p _build
|
|
cd _build # pushd
|
|
../configure $CONFIG_FLAGS || (cat config.log && false)
|
|
make "-j$NPROC" -k CFLAGS="$C_FLAGS" LDFLAGS="$LD_FLAGS"
|
|
make "-j$NPROC" -k distcheck DISTCHECK_CONFIGURE_FLAGS="$CONFIG_FLAGS"
|
|
cd - # popd
|
|
}
|
|
|
|
if [ "-z" "$ACTION" ]; then
|
|
"travis_script"
|
|
else
|
|
"travis_$ACTION"
|
|
fi
|