diff options
author | delphij <delphij@FreeBSD.org> | 2007-07-19 06:57:46 +0000 |
---|---|---|
committer | delphij <delphij@FreeBSD.org> | 2007-07-19 06:57:46 +0000 |
commit | 5c37d64eb9f644e21bb827ae0193405732267cdb (patch) | |
tree | ea2f720013cfb7b4608331e30d2c5561f90198c5 /contrib/diff/exgettext | |
parent | a9b127823d6e6c663ac10c1f52bf7636233d8eb0 (diff) | |
download | FreeBSD-src-5c37d64eb9f644e21bb827ae0193405732267cdb.zip FreeBSD-src-5c37d64eb9f644e21bb827ae0193405732267cdb.tar.gz |
This commit was generated by cvs2svn to compensate for changes in r171490,
which included commits to RCS files with non-trunk default branches.
Diffstat (limited to 'contrib/diff/exgettext')
-rwxr-xr-x | contrib/diff/exgettext | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/contrib/diff/exgettext b/contrib/diff/exgettext deleted file mode 100755 index 4fef5ed..0000000 --- a/contrib/diff/exgettext +++ /dev/null @@ -1,115 +0,0 @@ -#! /bin/sh -# Wrapper around gettext for programs using the msgid convention. - -# Copyright (C) 1998, 2001, 2004 Free Software Foundation, Inc. - -# Written by Paul Eggert <eggert@twinsun.com>. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with GNU CC; see the file COPYING. If not, write to -# the Free Software Foundation, 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. - -# Always operate in the C locale. -LANG=C -LANGUAGE=C -LC_ALL=C -export LANG LANGUAGE LC_ALL - -# Set AWK if environment has not already set it. -AWK=${AWK-awk} - -# The argument to this wrapper is the xgettext command to be executed. -# Extract the xgettext program name from the rest of the command. -xgettext=${1?} -shift - -# Save work if we're just wrapping a no-op. -case $xgettext in -:) exit;; -esac - -# Find the files to be scanned, and the directory to scan them from. -directory=. -files= -for i -do - case $i in - --directory=*) - directory=`expr " $i" : ' --directory=\(.*\)'`;; - --files-from=*) - files_from=`expr " $i" : ' --files-from=\(.*\)'` - files=`$AWK '/^[^#]/ { print }' $files_from`;; - esac -done - -# Generate keyword options for xgettext, -# by scanning for declarations of functions -# whose parameter names end in "msgid". -generate_keyword_options=' - /^[A-Z_a-z].*\(.*msgid[,)]/ { - - paren_index = index($0, "(") - - name = substr($0, 1, paren_index - 1) - sub(/[^0-9A-Z_a-z]*$/, "", name) - sub(/[ ]+PARAMS/, "", name) - sub(/[ ]+VPARAMS/, "", name) - sub(/.*[^0-9A-Z_a-z]/, "", name) - - args = substr($0, paren_index) - sub(/msgid[,)].*/, "", args) - for (n = 1; sub(/^[^,]*,/, "", args); n++) { - continue; - } - - if (n == 1) { - keyword = name - } else { - keyword = name ":" n - } - - if (! keyword_seen[keyword]++) { - print "--keyword=" keyword - } - } -' -keyword_options=`( - cd $directory && - $AWK "$generate_keyword_options" $files < /dev/null -)` || exit - -# Run the xgettext command, with extra input containing the extra -# msgids that it wouldn't normally find. -generate_emsgids=' - /%e.*}/ { - line = $0 - while ((percent_index = index(line, "%e")) != 0) { - line = substr(line, percent_index + 2) - bracket_index = index(line, "}") - if (bracket_index == 0) { - continue - } - msgid = substr(line, 1, bracket_index - 1) - if (index(msgid, "%") != 0) { - continue - } - printf "#line %d \"%s\"\n", FNR, FILENAME - printf "_(\"%s\")\n", msgid - line = substr(line, bracket_index + 1) - } - } -' -(cd $directory && - $AWK "$generate_emsgids" $files < /dev/null -) | "$xgettext" $keyword_options ${1+"$@"} - |