Mercurial > pidgin.yaz
view autogen.sh @ 3402:2490433b7417
[gaim-migrate @ 3421]
Okay, rant time. Anybody who has experienced this problem will appreciate
this.
Gettext 0.11.x is, as we all know, evil. People have been complaining
that, now that 0.11.x actually works, they're getting the following
message:
"Press Return to acknowledge the previous ___."
It had been assumed that the previous paragraphs were the reasons for the
pause. However, you always get at least one error. It's hard-coded in.
It's more of a "friendly reminder," really. On top of that, even if
there were no errors, the pause after the message is also hard-coded in
outside of any conditionals. You CANNOT get rid of it by "fixing" anything
in the tree. It's always there.
On top of that, take a look at these lines:
echo "Press Return to acknowledge the previous $count."
# Read from /dev/tty, not stdin, so that gettextize cannot be abused by
# non-interactive tools.
read < /dev/tty
See that? They specifically coded it so you cannot bypass it.
This commit bypasses it.
We're copying gettextize to gaim-gettextize and removing that read line,
running it, removing gaim-gettextize. Nasty hack, but it works.
You can all thank me when I wake up tomorrow. :)
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Sun, 18 Aug 2002 09:26:36 +0000 |
parents | 83314a9985ef |
children | 1240eb03569b |
line wrap: on
line source
#!/bin/sh abort() { # Don't break the tree if something goes wrong. if [ -e m4~ ]; then rm -rf m4 mv m4~ m4 fi exit 1 } (gettextize --version) < /dev/null > /dev/null 2>&1 || { echo; echo "You must have gettext installed to compile Gaim"; echo; exit; } (libtoolize --version) < /dev/null > /dev/null 2>&1 || { echo; echo "You must have libtool installed to compile Gaim"; echo; exit; } (automake --version) < /dev/null > /dev/null 2>&1 || { echo; echo "You must have automake installed to compile Gaim"; echo; exit; } (autoconf --version) < /dev/null > /dev/null 2>&1 || { echo; echo "You must have autoconf installed to compile Gaim"; echo; exit; } # Thanks decklin if test -f configure.ac ; then if autoconf --version | grep '2\.[01]' > /dev/null 2>&1 ; then mv configure.ac configure.2.1x; echo "configure.ac has been moved to configure.2.1x to retain compatibility with autoconf 2.1x" echo "Future versions of Gaim will not support autoconf versions older than 2.50" fi fi echo "Generating configuration files for Gaim, please wait...." echo; echo "Running gettextize, please ignore non-fatal messages...." # Get the major version of gettext. GETTEXT_VER=`gettextize --version | sed -n 's/^.*[0-9]\+\.\([0-9]\+\)\..*$/\1/p'` # Decide how we want to run gettext. if [ $GETTEXT_VER -eq 11 ]; then mv -f m4 m4~ # Gettext is pure evil. It DEMANDS that we press Return no matter # what. This gets rid of their happy "feature" of doom. sed 's:read < /dev/tty::' `which gettextize` > gaim-gettextize chmod +x gaim-gettextize echo n | ./gaim-gettextize --copy --force --intl --no-changelog || abort rm gaim-gettextize # Now restore the things that brain-dead gettext modified. [ -e configure.in~ ] && mv -f configure.in~ configure.in [ -e Makefile.am~ ] && mv -f Makefile.am~ Makefile.am rm -rf m4 mv -f m4~ m4 mv -f po/Makevars.template po/Makevars else echo n | gettextize --copy --force || exit; fi echo "Running libtoolize, please ignore non-fatal messages...." echo n | libtoolize --copy --force || exit; aclocal -I m4 $ACLOCAL_FLAGS || exit; autoheader || exit; automake --add-missing --copy; autoconf || exit; automake || exit; ./configure $@