X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=autogen.sh;h=3625b2da9125a105b0f5b6846dfb0075cbf93acc;hb=02a51ce1e3d8cd7b7d41fc8d84018f421b1aa553;hp=70bb96b26132946995a2a03874fee683cd928e4f;hpb=e1bc6da937a2c96b3e8d06e491916a9be5f21a77;p=thirdparty%2Futil-linux.git diff --git a/autogen.sh b/autogen.sh index 70bb96b261..3625b2da91 100755 --- a/autogen.sh +++ b/autogen.sh @@ -3,75 +3,149 @@ # # Helps generate autoconf/automake stuff, when code is checked out from SCM. # -# Copyright (C) 2006 - Karel Zak +# Copyright (C) 2006-2010 - Karel Zak # srcdir=`dirname $0` -test -z "$srcdir" && srcdir=. +test -z "$srcdir" && srcdir=. THEDIR=`pwd` cd $srcdir DIE=0 +# provide simple gettext backward compatibility +autopoint_fun () +{ + # we have to deal with set -e ... + ret="0" + + # check against this hardcoded set of alternative gettext versions + gt_ver=`gettext --version |\ + 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" + rm -f configure.ac.autogenbak + sed -i.autogenbak configure.ac \ + -e "s/\(AM_GNU_GETTEXT_VERSION\).*/\1([$gt_ver])/" + fi + + autopoint "$@" || ret=$? + + if [ -n "$gt_ver" ]; then + mv configure.ac.autogenbak configure.ac + fi + + 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 +} + (autopoint --version) < /dev/null > /dev/null 2>&1 || { echo - echo "You must have autopoint installed to generate util-linux-ng build system.." - echo "Download the appropriate package for your distribution," - echo "or see http://www.gnu.org/software/gettext" + 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 util-linux-ng build system." + echo "You must have autoconf installed to generate the util-linux build system." echo - echo "Download the appropriate package for your distribution," - echo "or see http://www.gnu.org/software/autoconf" DIE=1 } -(automake --version) < /dev/null > /dev/null 2>&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 - echo "You must have automake installed to generate util-linux-ng build system." - echo - echo "Download the appropriate package for your distribution," - echo "or see http://www.gnu.org/software/automake" DIE=1 } -(autoheader --version) < /dev/null > /dev/null 2>&1 || { + +if ! (bison --version) < /dev/null > /dev/null 2>&1; then + echo + echo "You must have bison installed to build the util-linux." echo - echo "You must have autoheader installed to generate util-linux-ng build system." - echo - echo "Download the appropriate package for your distribution," - echo "or see http://www.gnu.org/software/autoheader" DIE=1 -} -(libtool --version) < /dev/null > /dev/null 2>&1 || { +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 + ;; + esac +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 +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 + } +fi + +(automake --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "You must have automake installed to generate the util-linux build system." echo - echo "You must have libtool installed to generate util-linux build-system." - echo "Download the appropriate package for your distribution," - echo "or see http://www.gnu.org/software/libtool" DIE=1 } + if test "$DIE" -eq 1; then exit 1 fi -test -f mount/mount.c || { - echo "You must run this script in the top-level util-linux-ng directory" - exit 1 -} +echo +echo "Generating build-system with:" +echo " autopoint: $(autopoint --version | head -1)" +echo " aclocal: $(aclocal --version | head -1)" +echo " autoconf: $(autoconf --version | head -1)" +echo " autoheader: $(autoheader --version | head -1)" +echo " automake: $(automake --version | head -1)" +echo " libtoolize: $($LIBTOOLIZE --version | head -1)" +echo " bison: $(bison --version | head -1)" + +rm -rf autom4te.cache set -e -autopoint --force -libtoolize --copy --force -aclocal -I m4 -autoconf -autoheader -automake --add-missing +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. + sed -i -e 's/^datadir *=\(.*\)/datarootdir = @datarootdir@\ +datadir = @datadir@/g' po/Makefile.in.in +fi +$LIBTOOLIZE --force $LT_OPTS +aclocal -I m4 $AL_OPTS +autoconf $AC_OPTS +autoheader $AH_OPTS + +automake --add-missing $AM_OPTS -cd $THEDIR +cd "$THEDIR" -echo +echo echo "Now type '$srcdir/configure' and 'make' to compile." -echo +echo