Do not require user to have intltool installed

This commit is contained in:
Yevgen Muntyan 2008-09-16 10:10:42 -05:00
parent 2dbc70aa52
commit ea7285569e
13 changed files with 213 additions and 70 deletions

View File

@ -28,19 +28,11 @@ intltool-update.in
ltmain.sh ltmain.sh
missing missing
mkinstalldirs mkinstalldirs
po-gsv/Makefile.in.in
po-gsv/dist
po-gsv/missing
po-gsv/notexist
po-gsv/pot
po/Makefile.in.in
po/dist
po/missing
po/notexist
po/pot
syntax: regexp syntax: regexp
^po(-gsv)?/(Makefile\.in\.in|dist|missing|notexist|pot|intltool-update)$
^Makefile\.am ^Makefile\.am
^medit/Makefile\.am ^medit/Makefile\.am
^moo/Makefile\.am ^moo/Makefile\.am

View File

@ -1,12 +1,14 @@
AUTOMAKE_OPTIONS = dist-bzip2 no-dist-gzip AUTOMAKE_OPTIONS = dist-bzip2 no-dist-gzip
EXTRA_DIST += \ EXTRA_DIST += \
autogen.sh \
mingw-configure \ mingw-configure \
COPYING.GPL \ COPYING.GPL \
COPYING \ COPYING \
LICENSE \ LICENSE \
THANKS THANKS \
intltool-extract.in \
intltool-merge.in \
intltool-update.in
@MOO_PO_SUBDIRS_RULE@ @MOO_PO_SUBDIRS_RULE@
@MOO_PO_SUBDIRS_RULE2@ @MOO_PO_SUBDIRS_RULE2@

View File

@ -9,7 +9,7 @@ srcdir=`cd $rel_srcdir && pwd`
echo "srcdir="$srcdir echo "srcdir="$srcdir
aclocal_extra= aclocal_extra=
for d in m4 moo/m4 ugly/m4; do for d in m4 moo/m4 ugly/m4 intltool/aclocal; do
if [ -d $rel_srcdir/$d ]; then if [ -d $rel_srcdir/$d ]; then
aclocal_extra="$aclocal_extra -I $d" aclocal_extra="$aclocal_extra -I $d"
fi fi
@ -39,10 +39,20 @@ fi
if [ -d po ]; then if [ -d po ]; then
echo glib-gettextize --force --copy echo glib-gettextize --force --copy
glib-gettextize --force --copy || exit $? glib-gettextize --force --copy || exit $?
echo intltoolize --automake --force --copy
intltoolize --automake --force --copy || exit $? if [ -d intltool ]; then
echo rm -f intltool-extract.in intltool-merge.in intltool-update.in for f in intltool-extract.in intltool-merge.in intltool-update.in; do
rm -f intltool-extract.in intltool-merge.in intltool-update.in echo "rm -f $f && ln -s intltool/intltool/$f $f"
rm -f $f || exit $?
ln -s intltool/intltool/$f $f || exit $?
done
echo "rm -f po/Makefile.in.in && cp intltool/intltool/Makefile.in.in po/Makefile.in.in"
rm -f po/Makefile.in.in || exit $?
cp intltool/intltool/Makefile.in.in po/Makefile.in.in || exit $?
else
echo intltoolize --automake --force --copy
intltoolize --automake --force --copy || exit $?
fi
fi fi
if [ -d po-gsv ] ; then if [ -d po-gsv ] ; then

2
intltool/README Normal file
View File

@ -0,0 +1,2 @@
This is stuff from intltool-0.40 (rev 758), fixed back so it doesn't
require user to have it installed.

View File

@ -0,0 +1 @@
/usr/local/src/intltool-svn/intltool.m4

152
intltool/intltool.patch Normal file
View File

@ -0,0 +1,152 @@
Index: intltool-extract.in
===================================================================
--- intltool-extract.in (revision 758)
+++ intltool-extract.in (working copy)
@@ -31,8 +31,8 @@
## Release information
my $PROGRAM = "intltool-extract";
-my $PACKAGE = "@PACKAGE@";
-my $VERSION = "@VERSION@";
+my $PACKAGE = "intltool";
+my $VERSION = "0.40.3";
## Loaded modules
use strict;
Index: intltool.m4
===================================================================
--- intltool.m4 (revision 758)
+++ intltool.m4 (working copy)
@@ -1,3 +1,6 @@
+# This is intltool.m4 from intltool-0.40, fixed back so that user doesn't
+# have to have it installed.
+
## intltool.m4 - Configure intltool for the target system. -*-Shell-script-*-
## Copyright (C) 2001 Eazel, Inc.
## Author: Maciej Stachowiak <mjs@noisehavoc.org>
@@ -36,24 +39,7 @@ case "$am__api_version" in
;;
esac
-if test -n "$1"; then
- AC_MSG_CHECKING([for intltool >= $1])
-
- INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
- INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3`
- [INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
- ]
- AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found])
- test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" ||
- AC_MSG_ERROR([Your intltool is too old. You need intltool $1 or later.])
-fi
-
-AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update])
-AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge])
-AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract])
-if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then
- AC_MSG_ERROR([The intltool scripts were not found. Please install intltool.])
-fi
+## Do not check version at all, since it's all kept in the repo
INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
@@ -110,6 +96,11 @@ if test -z "$xgversion" -o -z "$mmversio
AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
fi
+# Use the tools built into the package, not the ones that are installed.
+AC_SUBST(INTLTOOL_EXTRACT, '$(top_builddir)/intltool-extract')
+AC_SUBST(INTLTOOL_MERGE, '$(top_builddir)/intltool-merge')
+AC_SUBST(INTLTOOL_UPDATE, '$(top_builddir)/intltool-update')
+
AC_PATH_PROG(INTLTOOL_PERL, [perl])
if test -z "$INTLTOOL_PERL"; then
AC_MSG_ERROR([perl not found; required for intltool])
@@ -126,6 +117,42 @@ if test "x$2" != "xno-xml"; then
fi
fi
+dnl The following is very similar to
+dnl
+dnl AC_CONFIG_FILES([intltool-extract intltool-merge intltool-update])
+dnl
+dnl with the following slight differences:
+dnl - the *.in files are in ac_aux_dir,
+dnl - if the file haven't changed upon reconfigure, it's not touched,
+dnl - the evaluation of the third parameter enables a hack which computes
+dnl the actual value of $libdir,
+dnl - the user sees "executing intltool commands", instead of
+dnl "creating intltool-extract" and such.
+dnl
+dnl Nothing crucial here, and we could use AC_CONFIG_FILES, if there were
+dnl a reason for it.
+
+AC_CONFIG_COMMANDS([intltool], [
+
+for file in intltool-extract intltool-merge intltool-update; do
+ sed -e "s|@INTLTOOL_EXTRACT@|`pwd`/intltool-extract|g" \
+ -e "s|@INTLTOOL_LIBDIR@|${INTLTOOL_LIBDIR}|g" \
+ -e "s|@INTLTOOL_PERL@|${INTLTOOL_PERL}|g" \
+ < ${ac_aux_dir}/${file}.in > ${file}.out
+ if cmp -s ${file} ${file}.out 2>/dev/null; then
+ rm -f ${file}.out
+ else
+ mv -f ${file}.out ${file}
+ fi
+ chmod ugo+x ${file}
+ chmod u+w ${file}
+done
+
+],
+[INTLTOOL_PERL='${INTLTOOL_PERL}' ac_aux_dir='${ac_aux_dir}'
+prefix="$prefix" exec_prefix="$exec_prefix" INTLTOOL_LIBDIR="$libdir"
+INTLTOOL_EXTRACT='${INTLTOOL_EXTRACT}'])
+
# Substitute ALL_LINGUAS so we can use it in po/Makefile
AC_SUBST(ALL_LINGUAS)
Index: intltool-update.in
===================================================================
--- intltool-update.in (revision 758)
+++ intltool-update.in (working copy)
@@ -1,4 +1,4 @@
-#!@INTLTOOL_PERL@ -w
+#!@INTLTOOL_PERL@
# -*- Mode: perl; indent-tabs-mode: nil; c-basic-offset: 4 -*-
#
@@ -30,8 +30,8 @@
## Release information
my $PROGRAM = "intltool-update";
-my $VERSION = "@VERSION@";
-my $PACKAGE = "@PACKAGE@";
+my $VERSION = "0.40.3";
+my $PACKAGE = "intltool";
## Loaded modules
use strict;
@@ -442,7 +442,7 @@ sub FindLeftoutFiles
{
if (!s-$match([^\\]|\\.)*?$match-QUOTEDTEXT-)
{
- warn "mismatched quotes at line $. in $file\n";
+ # warn "mismatched quotes at line $. in $file\n";
s-$match.*--;
}
}
Index: intltool-merge.in
===================================================================
--- intltool-merge.in (revision 758)
+++ intltool-merge.in (working copy)
@@ -34,8 +34,8 @@
## Release information
my $PROGRAM = "intltool-merge";
-my $PACKAGE = "@PACKAGE@";
-my $VERSION = "@VERSION@";
+my $PACKAGE = "intltool";
+my $VERSION = "0.40.3";
## Loaded modules
use strict;

View File

@ -0,0 +1 @@
/usr/local/src/intltool-svn/Makefile.in.in

View File

@ -0,0 +1 @@
/usr/local/src/intltool-svn/intltool-extract.in

View File

@ -0,0 +1 @@
/usr/local/src/intltool-svn/intltool-merge.in

View File

@ -0,0 +1 @@
/usr/local/src/intltool-svn/intltool-update.in

View File

@ -7,26 +7,6 @@ AC_DEFUN_ONCE([MOO_AC_PO_GSV],[
IT_PO_SUBDIR([po-gsv]) IT_PO_SUBDIR([po-gsv])
]) ])
# _MOO_AC_PROG_INTLTOOL(min-version,if-found,if-not-found)
AC_DEFUN([_MOO_AC_PROG_INTLTOOL],[
INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
INTLTOOL_APPLIED_VERSION=`intltool-update --version 2>/dev/null | head -1 | cut -d" " -f3`
[INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
]
if test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT"; then
$2
:
else
AC_MSG_CHECKING([for intltool >= $1])
if test "x$INTLTOOL_APPLIED_VERSION" = "x"; then
AC_MSG_RESULT([not found])
else
AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found])
fi
$3
fi
])
AC_DEFUN_ONCE([MOO_AC_I18N],[ AC_DEFUN_ONCE([MOO_AC_I18N],[
AC_REQUIRE([MOO_AC_CHECK_OS]) AC_REQUIRE([MOO_AC_CHECK_OS])
@ -40,7 +20,7 @@ AC_DEFUN_ONCE([MOO_AC_I18N],[
_moo_enable_nls=no _moo_enable_nls=no
],[ ],[
AC_ARG_ENABLE(nls, AC_ARG_ENABLE(nls,
AC_HELP_STRING(--disable-nls, [do not try to use gettext and friends]), AC_HELP_STRING(--disable-nls, [do not try to use intltool and gettext]),
[_moo_enable_nls=$enable_nls],[:]) [_moo_enable_nls=$enable_nls],[:])
]) ])
@ -57,15 +37,8 @@ AC_DEFUN_ONCE([MOO_AC_I18N],[
MOO_PO_SUBDIRS_RULE='po-subdirs-stamp: ; echo dummy > po-subdirs-stamp' MOO_PO_SUBDIRS_RULE='po-subdirs-stamp: ; echo dummy > po-subdirs-stamp'
MOO_PO_SUBDIRS_RULE2='po-subdirs-stamp-2: ; echo dummy > po-subdirs-stamp-2' MOO_PO_SUBDIRS_RULE2='po-subdirs-stamp-2: ; echo dummy > po-subdirs-stamp-2'
],[ ],[
if test "x$_moo_enable_nls" != xno; then
_MOO_AC_PROG_INTLTOOL([0.40],[],[
_moo_enable_nls=no
AC_MSG_WARN([intltool version 0.40 or newer not found, native language support will be disabled])
])
fi
if test "x$_moo_enable_nls" = xyes; then if test "x$_moo_enable_nls" = xyes; then
AC_PROG_INTLTOOL([0.40]) AC_PROG_INTLTOOL([0.37])
AM_GLIB_GNU_GETTEXT AM_GLIB_GNU_GETTEXT
# these two are copied from intltool, need them under different name to use with --disable-nls # these two are copied from intltool, need them under different name to use with --disable-nls

View File

@ -1,17 +1 @@
#!/bin/sh ../po/maintain
for f in pot dist; do if test ! -e $f; then ln -s maintain $f; fi; done
case `basename $0` in
pot)
args="--gettext-package=moo-gsv -p"
;;
dist)
args="--gettext-package=moo-gsv -d"
;;
*)
args="--gettext-package=moo-gsv -m"
;;
esac
exec intltool-update $args $*

View File

@ -1,15 +1,37 @@
#!/bin/sh #!/bin/sh
for f in pot dist; do if test ! -e $f; then ln -s maintain $f; fi; done INTLTOOL_UPDATE_IN=../intltool/intltool/intltool-update.in
INTLTOOL_UPDATE=./intltool-update
GETTEXT_PACKAGE=moo
case `pwd` in
*/po-gsv)
GETTEXT_PACKAGE=moo-gsv
;;
esac
do_or_die() {
echo "$*"
"$@" || exit 1
}
if [ ! -x $INTLTOOL_UPDATE -o $INTLTOOL_UPDATE_IN -nt $INTLTOOL_UPDATE ]; then
echo "sed -e 's,@INTLTOOL_PERL@,/usr/bin/env perl,g' $INTLTOOL_UPDATE_IN > $INTLTOOL_UPDATE.tmp"
sed -e 's,@INTLTOOL_PERL@,/usr/bin/env perl,g' $INTLTOOL_UPDATE_IN > $INTLTOOL_UPDATE.tmp || exit 1
do_or_die mv $INTLTOOL_UPDATE.tmp $INTLTOOL_UPDATE
do_or_die chmod +x $INTLTOOL_UPDATE
fi
for f in pot dist; do if [ ! -e $f ]; then ln -s maintain $f; fi; done
dist () { dist () {
if [ -n "$1" ]; then if [ -n "$1" ]; then
exec intltool-update --gettext-package=moo -d "$@" echo "$INTLTOOL_UPDATE --gettext-package=$GETTEXT_PACKAGE -d $*"
exec $INTLTOOL_UPDATE --gettext-package=$GETTEXT_PACKAGE -d "$@"
fi fi
for f in *.po; do for f in *.po; do
echo "intltool-update --gettext-package=moo -d `basename $f .po`" do_or_die $INTLTOOL_UPDATE --gettext-package=$GETTEXT_PACKAGE -d `basename $f .po`
intltool-update --gettext-package=moo -d `basename $f .po` || exit 1
done done
exit 0 exit 0
@ -17,14 +39,15 @@ dist () {
case `basename $0` in case `basename $0` in
pot) pot)
args="--gettext-package=moo -p" args="--gettext-package=$GETTEXT_PACKAGE -p"
;; ;;
dist) dist)
dist "$@" dist "$@"
;; ;;
*) *)
args="--gettext-package=moo -m" args="--gettext-package=$GETTEXT_PACKAGE -m"
;; ;;
esac esac
exec intltool-update $args "$@" echo "$INTLTOOL_UPDATE $args $*"
exec $INTLTOOL_UPDATE $args "$@"