83 lines
2.2 KiB
Bash
83 lines
2.2 KiB
Bash
#!/bin/sh
|
|
# This script is used for testing the build, primarily for use
|
|
# with travis, but may be used by hand as well.
|
|
|
|
# Library versions to use
|
|
ZSTD_VER=1.4.4
|
|
WEBP_VER=1.1.0
|
|
|
|
set -e
|
|
set -x
|
|
|
|
# Test autoconf build
|
|
autoconf_build()
|
|
{
|
|
autoreconf -ivf
|
|
|
|
mkdir autoconf-build
|
|
cd autoconf-build
|
|
echo "Running ../configure --prefix=$(pwd)/../autoconf-install) ${opts}"
|
|
../configure --prefix=$(pwd)/../autoconf-install --with-zstd-include-dir=/tmp/include --with-zstd-lib-dir=/tmp/lib --with-webp-include-dir=/tmp/include --with-webp-lib-dir=/tmp/lib ${opts}
|
|
make
|
|
make install
|
|
make check
|
|
make distcheck
|
|
}
|
|
|
|
# Test cmake build
|
|
cmake_build()
|
|
{
|
|
PATH="$(pwd)/tools/bin:$PATH"
|
|
if [ "$(uname -s)" = "Darwin" ]; then
|
|
PATH="$(pwd)/tools/CMake.app/Contents/bin:$PATH"
|
|
fi
|
|
mkdir cmake-build
|
|
cd cmake-build
|
|
echo "Running cmake -G "$1" -DCMAKE_BUILD_TYPE="$2" -DCMAKE_INSTALL_PREFIX=../autoconf-install -DZSTD_INCLUDE_DIR=/tmp/include -DZSTD_LIBRARY=/tmp/lib/libzstd.so -DWEBP_INCLUDE_DIR=/tmp/include -DZWEBP_LIBRARY=/tmp/lib/libwebp.so ${opts} .."
|
|
cmake -G "$1" -DCMAKE_BUILD_TYPE="$2" -DCMAKE_INSTALL_PREFIX=../autoconf-install -DZSTD_INCLUDE_DIR=/tmp/include -DZSTD_LIBRARY=/tmp/lib/libzstd.so -DWEBP_INCLUDE_DIR=/tmp/include -DWEBP_LIBRARY=/tmp/lib/libwebp.so ${opts} ..
|
|
cmake --build .
|
|
cmake --build . --target install
|
|
ctest -V
|
|
}
|
|
|
|
build=$1
|
|
shift
|
|
|
|
# Build zstd
|
|
wget https://github.com/facebook/zstd/archive/v${ZSTD_VER}.tar.gz
|
|
tar xvzf v${ZSTD_VER}.tar.gz
|
|
cd zstd-${ZSTD_VER}/lib
|
|
# Faster build
|
|
make -j3 PREFIX=/tmp ZSTD_LEGACY_SUPPORT=0 CFLAGS=-O1
|
|
make install PREFIX=/tmp ZSTD_LEGACY_SUPPORT=0 CFLAGS=-O1
|
|
cd ../..
|
|
rm -rf zstd-${ZSTD_VER}
|
|
|
|
# Build webp
|
|
wget https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-${WEBP_VER}.tar.gz
|
|
tar xvzf libwebp-${WEBP_VER}.tar.gz
|
|
cd libwebp-${WEBP_VER}
|
|
./configure --prefix=/tmp
|
|
make && make install
|
|
cd ..
|
|
rm -rf libwebp-${WEBP_VER}
|
|
|
|
export LD_LIBRARY_PATH=/tmp/lib
|
|
|
|
case $build in
|
|
autoconf)
|
|
echo "Testing Autoconf build"
|
|
autoconf_build "$@"
|
|
;;
|
|
cmake)
|
|
echo "Testing CMake build"
|
|
cmake_build "$@"
|
|
;;
|
|
*)
|
|
echo "Invalid argument: \"$arg\"" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
exit 0
|