From 0e325404aa50fcca400d0cb8020a36bcd81f4c37 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Thu, 9 Sep 2010 11:58:03 +0100 Subject: [PATCH] build: Allow using gettext 0.17 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This requires some autotools magic when setting up the environment through autogen.sh, because autoreconf does not do the right thing by default. The correct order for setting up localization is: ‣ autopoint ‣ aclocal ‣ ... otherwise aclocal will copy the system's gettext.m4 instead of honouring the version we specified with AM_GNU_GETTEXT_VERSION in configure.ac. --- autogen.sh | 126 +++++++++++++++++++++++++++++++++++++++++++-------- configure.ac | 2 +- 2 files changed, 108 insertions(+), 20 deletions(-) diff --git a/autogen.sh b/autogen.sh index 6b1f6ea44..7fbbdf090 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,33 +1,121 @@ -#! /bin/sh +#!/bin/sh +# Run this to generate all the initial makefiles, etc. srcdir=`dirname $0` test -z "$srcdir" && srcdir=. +ORIGDIR=`pwd` +cd $srcdir PROJECT=Clutter -TEST_TYPE=-d -FILE=clutter +TEST_TYPE=-f +FILE=clutter/clutter.h -test $TEST_TYPE $FILE || { - echo "You must run this script in the top-level $PROJECT directory" - exit 1 -} +DIE=0 -GTKDOCIZE=`which gtkdocize` -if test -z $GTKDOCIZE; then - echo "*** No gtk-doc support ***" - echo "EXTRA_DIST =" > gtk-doc.make -else - ${GTKDOCIZE} || exit $? +have_libtool=false +if libtoolize --version < /dev/null > /dev/null 2>&1 ; then + libtool_version=`libtoolize --version | + head -1 | + sed -e 's/^\(.*\)([^)]*)\(.*\)$/\1\2/g' \ + -e 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'` + case $libtool_version in + 2.2*) + have_libtool=true + ;; + esac +fi +if $have_libtool ; then : ; else + echo + echo "You must have libtool 2.2 installed to compile $PROJECT." + echo "Install the appropriate package for your distribution," + echo "or get the source tarball at http://ftp.gnu.org/gnu/libtool/" + DIE=1 fi -AUTORECONF=`which autoreconf` -if test -z $AUTORECONF; then - echo "*** No autoreconf found ***" - exit 1 +(gtkdocize --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "You must have gtk-doc installed to compile $PROJECT." + echo "Install the appropriate package for your distribution," + echo "or get the source tarball at http://ftp.gnome.org/pub/GNOME/sources/gtk-doc/" + DIE=1 +} + +(autoconf --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "You must have autoconf installed to compile $PROJECT." + echo "Install the appropriate package for your distribution," + echo "or get the source tarball at http://ftp.gnu.org/gnu/autoconf/" + DIE=1 +} + +if automake-1.11 --version < /dev/null > /dev/null 2>&1 ; then + AUTOMAKE=automake-1.11 + ACLOCAL=aclocal-1.11 else - ACLOCAL="${ACLOCAL-aclocal} $ACLOCAL_FLAGS" ${AUTORECONF} -f -v --install || exit $? + echo + echo "You must have automake or 1.11.x installed to compile $PROJECT." + echo "Install the appropriate package for your distribution," + echo "or get the source tarball at http://ftp.gnu.org/gnu/automake/" + DIE=1 +fi + +if test "$DIE" -eq 1; then + exit 1 +fi + +test $TEST_TYPE $FILE || { + echo "You must run this script in the top-level $PROJECT directory" + exit 1 +} + +# NOCONFIGURE is used by gnome-common; support both +if ! test -z "$AUTOGEN_SUBDIR_MODE"; then + NOCONFIGURE=1 fi if test -z "$NOCONFIGURE"; then - ./configure "$@" && echo "Now type 'make' to compile $PROJECT." + if test -z "$*"; then + echo "I am going to run ./configure with no arguments - if you wish " + echo "to pass any to it, please specify them on the $0 command line." + fi +fi + +if test -z "$ACLOCAL_FLAGS"; then + + acdir=`$ACLOCAL --print-ac-dir` + m4list="glib-2.0.m4 glib-gettext.m4" + + for file in $m4list + do + if [ ! -f "$acdir/$file" ]; then + echo "WARNING: aclocal's directory is $acdir, but..." + echo " no file $acdir/$file" + echo " You may see fatal macro warnings below." + echo " If these files are installed in /some/dir, set the ACLOCAL_FLAGS " + echo " environment variable to \"-I /some/dir\", or install" + echo " $acdir/$file." + echo "" + fi + done +fi + +rm -rf autom4te.cache + +autopoint --force || exit $? + +$ACLOCAL -I build/autotools $ACLOCAL_FLAGS || exit $? + +libtoolize --force || exit $? +gtkdocize || exit $? +autoheader || exit $? + +$AUTOMAKE --add-missing || exit $? +autoconf || exit $? +cd $ORIGDIR || exit $? + +if test -z "$NOCONFIGURE"; then + $srcdir/configure $AUTOGEN_CONFIGURE_ARGS "$@" || exit $? + + echo + echo "Now type 'make' to compile $PROJECT." fi diff --git a/configure.ac b/configure.ac index 8570063bf..91b797361 100644 --- a/configure.ac +++ b/configure.ac @@ -1093,7 +1093,7 @@ AM_CONDITIONAL(ENABLE_PDFS, [test "x$enable_pdfs" = "xyes"]) dnl === I18N ================================================================== -AM_GNU_GETTEXT_VERSION([0.18.1]) +AM_GNU_GETTEXT_VERSION([0.17]) AM_GNU_GETTEXT([external]) GETTEXT_PACKAGE="clutter-1.0"