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=utf8 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 | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++--------- configure.ac | 2 +- 2 files changed, 107 insertions(+), 19 deletions(-) diff --git a/autogen.sh b/autogen.sh index 6b1f6ea..7fbbdf0 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 + +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 + +(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 } -GTKDOCIZE=`which gtkdocize` -if test -z $GTKDOCIZE; then - echo "*** No gtk-doc support ***" - echo "EXTRA_DIST =" > gtk-doc.make +if automake-1.11 --version < /dev/null > /dev/null 2>&1 ; then + AUTOMAKE=automake-1.11 + ACLOCAL=aclocal-1.11 else - ${GTKDOCIZE} || 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 -AUTORECONF=`which autoreconf` -if test -z $AUTORECONF; then - echo "*** No autoreconf found ***" - exit 1 -else - ACLOCAL="${ACLOCAL-aclocal} $ACLOCAL_FLAGS" ${AUTORECONF} -f -v --install || exit $? +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 8570063..91b7973 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" -- 2.7.4