audacia/lib-src/lv2/configure

88 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
# Search for python
python=$(which python python2 python3 | tail -1)
# Define the target build directory
prefix=$(pwd)/build
bypass=
clean=
srcdir=.
while [ $# -gt 0 ]
do
case "${1}" in
--srcdir=*)
srcdir=${1#*=}
;;
--build)
bypass=":"
;;
--clean)
clean="yes"
;;
esac
shift
done
function waf
{
pkg="$1"
shift
mkdir -p ${pkg}
pushd >/dev/null ${pkg}
if [ ! -e "waf" ]
then
cp -pr "../${srcdir}/${pkg}"/{waf,waflib} .
fi
for f in "../${srcdir}/${pkg}"/*
do
[ ! -e "${f##*/}" ] && ln -s "${f}"
done
export CFLAGS="${CFLAGS/++14/11}" # Circumvent travis setting
export PKG_CONFIG_PATH="${prefix}/lib/pkgconfig"
export LDFLAGS="${LDFLAGS} -ldl -lm"
common="--prefix=${prefix} --out=build --destdir=/"
if [ "${clean}" = "yes" ]
then
${python} waf clean ${common} || exit 1
else
${bypass} ${python} waf configure ${common} $@ || exit 1
trap "rm -f .build-timestamp" EXIT
touch .build-timestamp
${python} waf build ${common} $@ || exit 1
if [ -n "$(find . -newer .build-timestamp -type f ! -name compile_commands.json)" ]
then
${python} waf install ${common} $@ || exit 1
fi
rm .build-timestamp
trap - EXIT
fi
popd >/dev/null
}
[ ! -e Makefile ] && ln -s "${srcdir}/Makefile"
[ ! -e configure ] && ln -s "${srcdir}/configure"
waf lv2 --no-plugins --no-coverage
waf serd --static --no-shared --no-coverage --no-utils --largefile
waf sord --static --no-shared --no-coverage --no-utils
waf sratom --static --no-shared --no-coverage
waf lilv --static --no-shared --no-coverage --no-utils
waf suil --static --no-shared
exit 0