Add support for building internationalized translations.

A new directory install/po has been added which contains all
the translations for all files in IPA.

The build has been agumented to build these files. Also the
autogen.sh script was mostly replaced by autoreconf, the preferred
method. The old autogen.sh sript also had some serious bugs in the
way it compared versions which caused it to run old versions of some
of the tools, using standared autoreconf is much better.
This commit is contained in:
John Dennis
2010-02-09 13:14:25 -05:00
committed by Rob Crittenden
parent 0ce253fae4
commit 4461a74403
8 changed files with 991 additions and 205 deletions

View File

@@ -1,208 +1,14 @@
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
set -e
PACKAGE=freeipa
LIBTOOLIZE=${LIBTOOLIZE-libtoolize}
LIBTOOLIZE_FLAGS="--copy --force"
AUTOHEADER=${AUTOHEADER-autoheader}
AUTOMAKE_FLAGS="--add-missing --gnu"
AUTOCONF=${AUTOCONF-autoconf}
# automake 1.8 requires autoconf 2.58
# automake 1.7 requires autoconf 2.54
automake_min_vers=1.7
aclocal_min_vers=$automake_min_vers
autoconf_min_vers=2.54
libtoolize_min_vers=1.4
# The awk-based string->number conversion we use needs a C locale to work
# as expected. Setting LC_ALL overrides whether the user set LC_ALL,
# LC_NUMERIC, or LANG.
LC_ALL=C
ARGV0=$0
# Allow invocation from a separate build directory; in that case, we change
# to the source directory to run the auto*, then change back before running configure
#srcdir=`dirname $ARGV0`
#test -z "$srcdir" && srcdir=.
srcdir="."
#ORIGDIR=`pwd`
#cd $srcdir
# Usage:
# compare_versions MIN_VERSION ACTUAL_VERSION
# returns true if ACTUAL_VERSION >= MIN_VERSION
compare_versions() {
ch_min_version=$1
ch_actual_version=$2
ch_status=0
IFS="${IFS= }"; ch_save_IFS="$IFS"; IFS="."
set $ch_actual_version
for ch_min in $ch_min_version; do
ch_cur=`echo $1 | sed 's/[^0-9].*$//'`; shift # remove letter suffixes
if [ -z "$ch_min" ]; then break; fi
if [ -z "$ch_cur" ]; then ch_status=1; break; fi
if [ $ch_cur -gt $ch_min ]; then break; fi
if [ $ch_cur -lt $ch_min ]; then ch_status=1; break; fi
done
IFS="$ch_save_IFS"
return $ch_status
}
if ($AUTOCONF --version) < /dev/null > /dev/null 2>&1 ; then
if ($AUTOCONF --version | head -n 1 | awk 'NR==1 { if( $(NF) >= '$autoconf_min_vers') \
exit 1; exit 0; }');
then
echo "$ARGV0: ERROR: \`$AUTOCONF' is too old."
$AUTOCONF --version
echo " (version $autoconf_min_vers or newer is required)"
DIE="yes"
# automake demands these files exist when run in gnu mode which is the default,
# automake can be run in foreign mode to avoid failing on the absence of these
# files, but unfortunately there is no way to pass the --foreign flag to
# automake when run from autoreconf.
for f in NEWS README AUTHORS ChangeLog; do
if [ ! -e $f ]; then
touch $f
fi
else
echo $AUTOCONF: command not found
echo
echo "$ARGV0: ERROR: You must have \`autoconf' installed to compile $PACKAGE."
echo " (version $autoconf_min_vers or newer is required)"
DIE="yes"
fi
done
#
# Hunt for an appropriate version of automake and aclocal; we can't
# assume that 'automake' is necessarily the most recent installed version
#
# We check automake first to allow it to be a newer version than we know about.
#
if test x"$AUTOMAKE" = x || test x"$ACLOCAL" = x ; then
am_ver=""
for ver in "" "-1.9" "-1.8" "-1.7" ; do
am="automake$ver"
if ($am --version) < /dev/null > /dev/null 2>&1 ; then
if ($am --version | head -n 1 | awk 'NR==1 { if( $(NF) >= '$automake_min_vers') \
exit 1; exit 0; }'); then : ; else
am_ver=$ver
break;
fi
fi
done
AUTOMAKE=${AUTOMAKE-automake$am_ver}
ACLOCAL=${ACLOCAL-aclocal$am_ver}
fi
#
# Now repeat the tests with the copies we decided upon and error out if they
# aren't sufficiently new.
#
if ($AUTOMAKE --version) < /dev/null > /dev/null 2>&1 ; then
automake_actual_version=`$AUTOMAKE --version | head -n 1 | \
sed 's/^.*[ ]\([0-9.]*[a-z]*\).*$/\1/'`
if ! compare_versions $automake_min_vers $automake_actual_version; then
echo "$ARGV0: ERROR: \`$AUTOMAKE' is too old."
$AUTOMAKE --version
echo " (version $automake_min_vers or newer is required)"
DIE="yes"
fi
if ($ACLOCAL --version) < /dev/null > /dev/null 2>&1; then
aclocal_actual_version=`$ACLOCAL --version | head -n 1 | \
sed 's/^.*[ ]\([0-9.]*[a-z]*\).*$/\1/'`
if ! compare_versions $aclocal_min_vers $aclocal_actual_version; then
echo "$ARGV0: ERROR: \`$ACLOCAL' is too old."
$ACLOCAL --version
echo " (version $aclocal_min_vers or newer is required)"
DIE="yes"
fi
else
echo $ACLOCAL: command not found
echo
echo "$ARGV0: ERROR: Missing \`$ACLOCAL'"
echo " The version of $AUTOMAKE installed doesn't appear recent enough."
DIE="yes"
fi
else
echo $AUTOMAKE: command not found
echo
echo "$ARGV0: ERROR: You must have \`automake' installed to compile $PACKAGE."
echo " (version $automake_min_vers or newer is required)"
DIE="yes"
fi
if ($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1 ; then
if ($LIBTOOLIZE --version | awk 'NR==1 { if( $4 >= '$libtoolize_min_vers') \
exit 1; exit 0; }');
then
echo "$ARGV0: ERROR: \`$LIBTOOLIZE' is too old."
echo " (version $libtoolize_min_vers or newer is required)"
DIE="yes"
fi
else
echo $LIBTOOLIZE: command not found
echo
echo "$ARGV0: ERROR: You must have \`libtoolize' installed to compile $PACKAGE."
echo " (version $libtoolize_min_vers or newer is required)"
DIE="yes"
fi
if test -z "$ACLOCAL_FLAGS"; then
acdir=`$ACLOCAL --print-ac-dir`
if [ ! -f $acdir/pkg.m4 ]; then
echo "$ARGV0: Error: Could not find pkg-config macros."
echo " (Looked in $acdir/pkg.m4)"
echo " If pkg.m4 is available in /another/directory, please set"
echo " ACLOCAL_FLAGS=\"-I /another/directory\""
echo " Otherwise, please install pkg-config."
echo ""
echo "pkg-config is available from:"
echo "http://www.freedesktop.org/software/pkgconfig/"
DIE=yes
fi
fi
if test "X$DIE" != X; then
exit 1
fi
if test -z "$*"; then
echo "$ARGV0: Note: \`./configure' will be run with no arguments."
echo " If you wish to pass any to it, please specify them on the"
echo " \`$0' command line."
echo
fi
do_cmd() {
echo "$ARGV0: running \`$@'"
$@
}
# I don't want a tool telling me what files I need to have
remauto=0
if [ ! -e AUTHORS ]; then
touch AUTHORS ChangeLog NEWS README
remauto=1
fi
do_cmd $LIBTOOLIZE $LIBTOOLIZE_FLAGS
do_cmd $ACLOCAL $ACLOCAL_FLAGS
do_cmd $AUTOHEADER
do_cmd $AUTOMAKE $AUTOMAKE_FLAGS
do_cmd $AUTOCONF
if [ $remauto -eq 1 ]; then
rm -f AUTHORS ChangeLog NEWS README
fi
#cd $ORIGDIR || exit 1
rm -f config.cache
do_cmd $srcdir/configure --cache-file=config.cache --disable-static --enable-maintainer-mode --enable-gtk-doc ${1+"$@"} && echo "Now type \`make' to compile" || exit 1
autoreconf -i
./configure ${1+"$@"}