Mercurial > pidgin.yaz
diff setup-gettext @ 3414:4149e5e36eb9
[gaim-migrate @ 3433]
This is easier to maintain, cleaner, and you can take the script with you.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Tue, 20 Aug 2002 08:54:56 +0000 |
parents | |
children | d7c90e6ecc23 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/setup-gettext Tue Aug 20 08:54:56 2002 +0000 @@ -0,0 +1,142 @@ +#!/bin/sh + +VERSION=0.1.0 + +parse_gettext_version() { + GETTEXT_VERSION=`$GETTEXT_TOOL --version | sed -n 's/^.*\([0-9]\+\)\.\([0-9]\+\)\.\([0-9]\+\).*$/\1.\2.\3/p'` + GETTEXT_MAJOR_VERSION=`echo $GETTEXT_VERSION | sed -n 's/^\([0-9]\+\).*/\1/p'` + GETTEXT_MINOR_VERSION=`echo $GETTEXT_VERSION | sed -n 's/^[0-9]\+\.\([0-9]\+\).*/\1/p'` + GETTEXT_MICRO_VERSION=`echo $GETTEXT_VERSION | sed -n 's/^[0-9]\+\.[0-9]\+\.\([0-9]\+\).*/\1/p'` +} + +find_gettext() { + GETTEXT_TOOL=autopoint + + (autopoint --version) < /dev/null > /dev/null 2>&1 || { + GETTEXT_TOOL=gettextize + + (gettextize --version) < /dev/null > /dev/null 2>&1 || { + GETTEXT_TOOL= + } + } +} + +backup_m4() { + [ -d m4 ] && mv m4 m4~ +} + +restore_m4() { + [ -d m4~ ] && { + rm -rf m4 + mv m4~ m4 + } +} + +restore_files() { + [ -e configure.in~ ] && mv -f configure.in~ configure.in + [ -e configure.ac~ ] && mv -f configure.ac~ configure.ac + [ -e Makefile.am~ ] && mv -f Makefile.am~ Makefile.am +} + +abort() { + restore_files + restore_m4 + + exit 1 +} + +# Main code + +find_gettext + +# See if a version of gettext and its tools are installed. +if [ x$GETTEXT_TOOL == x ]; then + echo + echo "You do not have a version of gettext installed." + echo "Please download one from your locak package repository or" + echo "from ftp://ftp.gnu.org/pub/gnu/gettext/" + echo + exit 1 +fi + +parse_gettext_version + +NUMVAR=$# + +if [ $NUMVAR -gt 0 ]; then + if [ $NUMVAR -gt 1 ]; then + echo "Only one option at a time!" + exit 1 + + elif [ $1 == "--gettext-tool" ]; then + echo $GETTEXT_TOOL + exit 0 + + elif [ $1 == "--help" ]; then + echo "setup-gettext v$VERSION" + echo "Usage:" + echo " --gettext-tool Returns gettextize or autopoint, depending" + echo " on the version of gettext installed." + echo " --gettext-version Returns the version of gettext installed." + echo " --gettext-major-version Returns the major version of gettext installed." + echo " --gettext-minor-version Returns the minor version of gettext installed." + echo " --gettext-micro-version Returns the micro version of gettext installed." + echo " --help Displays this help screen." + echo + exit 0 + + elif [ $1 == "--version" ]; then + echo $VERSION + exit 0 + + elif [ $1 == "--gettext-version" ]; then + echo $GETTEXT_VERSION + exit 0 + + elif [ $1 == "--gettext-major-version" ]; then + echo $GETTEXT_MAJOR_VERSION + exit 0 + + elif [ $1 == "--gettext-minor-version" ]; then + echo $GETTEXT_MINOR_VERSION + exit 0 + + elif [ $1 == "--gettext-micro-version" ]; then + echo $GETTEXT_MICRO_VERSION + exit 0 + + elif [ $1 == "--happy-url" ]; then + echo http://gaim.sf.net/forkgettext.jpg + exit 0 + + else + echo "Invalid option '$1'" + exit 1 + fi +fi + +# Okay, run the main stuff +if [ "$GETTEXT_TOOL" == "autopoint" ]; then + backup_m4 + echo n | autopoint --force || abort + restore_m4 +else + if [ $GETTEXT_MINOR_VERSION -eq 11 ]; then + backup_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` > .temp-gettextize + chmod +x .temp-gettextize + echo n | ./.temp-gettextize --copy --force --intl --no-changelog || abort + rm .temp-gettextize + + restore_files + restore_m4 + + [ -e po/Makevars.template ] && mv po/Makevars.template po/Makevars + else + echo n | gettextize --copy --force || exit; + fi +fi +