From 366063645f9af34faf106058b89699cb77f858e5 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 9 Jun 2021 16:09:16 +0200 Subject: [PATCH] build-sys: make autogen.sh output more user friendly Signed-off-by: Karel Zak --- autogen.sh | 98 +++++++++++++++++++++++------------------------------- 1 file changed, 41 insertions(+), 57 deletions(-) diff --git a/autogen.sh b/autogen.sh index b8f8eb6af..4d03c3b42 100755 --- a/autogen.sh +++ b/autogen.sh @@ -13,6 +13,25 @@ THEDIR=`pwd` cd $srcdir DIE=0 +warn_mesg () +{ + echo + echo "WARNING: $1" + test -z "$2" || + echo " $2" + echo +} + +error_mesg () +{ + echo + echo "ERROR: $1" + test -z "$2" || + echo " $2" + echo + DIE=1 +} + # provide simple gettext backward compatibility autopoint_fun () { @@ -24,7 +43,7 @@ autopoint_fun () sed -n -e 's/.* \(0\.17\|0\.18\|0\.18\.[1-2]\)$/\1/p'` if [ -n "$gt_ver" ]; then - echo "warning: forcing autopoint to use old gettext $gt_ver" + warn_mesg "warning: forcing autopoint to use old gettext $gt_ver" rm -f configure.ac.autogenbak sed -i.autogenbak configure.ac \ -e "s/\(AM_GNU_GETTEXT_VERSION\).*/\1([$gt_ver])/" @@ -39,55 +58,30 @@ autopoint_fun () return $ret } -test -f sys-utils/mount.c || { - echo - echo "You must run this script in the top-level util-linux directory." - echo - DIE=1 -} +test -f sys-utils/mount.c || + error_mesg "You must run this script in the top-level util-linux directory." -(autopoint --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "You must have autopoint installed to generate the util-linux build system." - echo "The autopoint command is part of the GNU gettext package." - echo - DIE=1 -} -(autoconf --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "You must have autoconf installed to generate the util-linux build system." - echo - DIE=1 -} -(autoheader --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "You must have autoheader installed to generate the util-linux build system." - echo "The autoheader command is part of the GNU autoconf package." - echo - DIE=1 -} +(autopoint --version) < /dev/null > /dev/null 2>&1 || + error_mesg "You must have autopoint installed to generate the util-linux build system." "The autopoint command is part of the GNU gettext package." -[ -x "$(command -v gettext)" -o -x "$(command -v xgettext)" ] || { - echo - echo "You need have [x]gettext binary installed to update po/ stuff." - echo -} +(autoconf --version) < /dev/null > /dev/null 2>&1 || + error_mesg "You must have autoconf installed to generate the util-linux build system." + +(autoheader --version) < /dev/null > /dev/null 2>&1 || + error_mesg "You must have autoheader installed to generate the util-linux build system." "The autoheader command is part of the GNU autoconf package." + +[ -x "$(command -v gettext)" -o -x "$(command -v xgettext)" ] || + warn_mesg "You need have [x]gettext binary installed to update po/ stuff." if ! (bison --version) < /dev/null > /dev/null 2>&1; then - echo - echo "You must have bison installed to build the util-linux." - echo - DIE=1 + error_mesg "You must have bison installed to build the util-linux." else lexver=$(bison --version | awk '/^bison \(GNU [Bb]ison\)/ { print $4 }') case "$lexver" in [2-9].*) ;; *) - echo - echo "You must have bison version >= 2.x, but you have $lexver." - echo - DIE=1 + error_mesg "You must have bison version >= 2.x, but you have $lexver." ;; esac fi @@ -95,27 +89,16 @@ fi LIBTOOLIZE=libtoolize case `uname` in Darwin*) LIBTOOLIZE=glibtoolize ;; esac if ! ($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1; then - echo - echo "You must have libtool-2 installed to generate the util-linux build system." - echo - DIE=1 + error_mesg "You must have libtool-2 installed to generate the util-linux build system." else ltver=$($LIBTOOLIZE --version | awk '/^[g]*libtoolize/ { print $4 }') ltver=${ltver:-"none"} - test ${ltver##2.} = "$ltver" && { - echo - echo "You must have libtool version >= 2.x.x, but you have $ltver." - echo - DIE=1 - } + test ${ltver##2.} = "$ltver" && + error_mesg "You must have libtool version >= 2.x.x, but you have $ltver." fi -(automake --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "You must have automake installed to generate the util-linux build system." - echo - DIE=1 -} +(automake --version) < /dev/null > /dev/null 2>&1 || + error_mesg "You must have automake installed to generate the util-linux build system." if test "$DIE" -eq 1; then exit 1 @@ -130,6 +113,7 @@ echo " autoheader: $(autoheader --version | head -1)" echo " automake: $(automake --version | head -1)" echo " libtoolize: $($LIBTOOLIZE --version | head -1)" echo " bison: $(bison --version | head -1)" +echo rm -rf autom4te.cache @@ -137,7 +121,7 @@ set -e po/update-potfiles autopoint_fun --force $AP_OPTS if ! grep -q datarootdir po/Makefile.in.in; then - echo autopoint does not honor dataroot variable, patching. + echo "INFO: autopoint does not honor dataroot variable, patching." sed -i -e 's/^datadir *=\(.*\)/datarootdir = @datarootdir@\ datadir = @datadir@/g' po/Makefile.in.in fi