diff --git a/tools/prepare-build-dir b/tools/prepare-build-dir index 1dd77115c629ada7254ddddd52583d63311abbf7..b366c80ae01c7aa529240dd9170ddd4292f96c44 100755 --- a/tools/prepare-build-dir +++ b/tools/prepare-build-dir @@ -14,11 +14,13 @@ cd "`dirname "${SCRIPTDIR}"`" > /dev/null SCRIPTDIR="`pwd`"; popd > /dev/null +DEBUG=false QUIET=false while getopts :dq OPT; do case $OPT in d) set -x + DEBUG=true ;; q) QUIET=true @@ -87,9 +89,27 @@ for var in $(compgen -e); do MESON_ARGS+=("-D${MESON_BUILD_OPTION_NAME}=${MESON_BUILD_OPTION_VALUE}") done +LOGFILE=$(mktemp --tmpdir=/var/tmp) +cleanup() { + rm -f "${LOGFILE}" +} +trap cleanup EXIT + if ! $QUIET; then set -x fi -exec meson --buildtype=${BUILDTYPE} \ + +meson --buildtype=${BUILDTYPE} \ ${MESON_ARGS[@]} \ - "${ABSOLUTE_BUILDDIR}" + "${ABSOLUTE_BUILDDIR}" |\ + tee "${LOGFILE}" + +if ! $DEBUG; then + set +x +fi + +if grep -F "WARNING: Unknown options:" "${LOGFILE}"; then + echo "ERROR: Unknown meson options found" + rm -r "${ABSOLUTE_BUILDDIR}" "${ABSOLUTE_BUILDDIR_SYMLINK}" + exit 1 +fi