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
+