summaryrefslogtreecommitdiffstats
path: root/autogen.sh
diff options
context:
space:
mode:
Diffstat (limited to 'autogen.sh')
-rwxr-xr-xautogen.sh158
1 files changed, 158 insertions, 0 deletions
diff --git a/autogen.sh b/autogen.sh
new file mode 100755
index 0000000..1ccfc6c
--- /dev/null
+++ b/autogen.sh
@@ -0,0 +1,158 @@
+#!/bin/sh
+
+#
+# Helps generate autoconf/automake stuff, when code is checked out from SCM.
+#
+# Copyright (C) 2006-2010 - Karel Zak <kzak@redhat.com>
+#
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+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 ()
+{
+ # 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
+ 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])/"
+ fi
+
+ autopoint "$@" || ret=$?
+
+ if [ -n "$gt_ver" ]; then
+ mv configure.ac.autogenbak configure.ac
+ fi
+
+ return $ret
+}
+
+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 ||
+ error_mesg "You must have autopoint installed to generate the util-linux build system." "The autopoint command is part of the GNU gettext package."
+
+(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
+ 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].*)
+ ;;
+ *)
+ error_mesg "You must have bison version >= 2.x, but you have $lexver."
+ ;;
+ esac
+fi
+
+LIBTOOLIZE=libtoolize
+case `uname` in Darwin*) LIBTOOLIZE=glibtoolize ;; esac
+if ! ($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1; then
+ 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" &&
+ error_mesg "You must have libtool version >= 2.x.x, but you have $ltver."
+fi
+
+(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
+fi
+
+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)"
+echo
+
+rm -rf autom4te.cache
+
+set -e
+po/update-potfiles
+autopoint_fun --force $AP_OPTS
+if ! grep -q datarootdir po/Makefile.in.in; then
+ echo "INFO: 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
+
+# patch libtool
+if test -f tools/libtool.m4.patch; then
+ if test -L m4/libtool.m4; then
+ cp m4/libtool.m4 m4/libtool.m4.org
+ rm m4/libtool.m4
+ mv m4/libtool.m4.org m4/libtool.m4
+ fi
+ set +e
+ patch --batch --dry -p1 < tools/libtool.m4.patch > /dev/null 2>&1
+ if [ "$?" -eq 0 ]; then
+ patch -p1 --batch < tools/libtool.m4.patch
+ fi
+ set -e
+fi
+
+aclocal -I m4 $AL_OPTS
+autoconf $AC_OPTS
+autoheader $AH_OPTS
+
+automake --add-missing $AM_OPTS
+
+
+cd "$THEDIR"
+
+echo
+echo "Now type '$srcdir/configure' and 'make' to compile."
+echo
+
+