Gettextize the source, make library strings translatable.
[libguestfs.git] / m4 / po.m4
1 # po.m4 serial 15 (gettext-0.17)
2 dnl Copyright (C) 1995-2007 Free Software Foundation, Inc.
3 dnl This file is free software; the Free Software Foundation
4 dnl gives unlimited permission to copy and/or distribute it,
5 dnl with or without modifications, as long as this notice is preserved.
6 dnl
7 dnl This file can can be used in projects which are not available under
8 dnl the GNU General Public License or the GNU Library General Public
9 dnl License but which still want to provide support for the GNU gettext
10 dnl functionality.
11 dnl Please note that the actual code of the GNU gettext library is covered
12 dnl by the GNU Library General Public License, and the rest of the GNU
13 dnl gettext package package is covered by the GNU General Public License.
14 dnl They are *not* in the public domain.
15
16 dnl Authors:
17 dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
18 dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
19
20 AC_PREREQ(2.50)
21
22 dnl Checks for all prerequisites of the po subdirectory.
23 AC_DEFUN([AM_PO_SUBDIRS],
24 [
25   AC_REQUIRE([AC_PROG_MAKE_SET])dnl
26   AC_REQUIRE([AC_PROG_INSTALL])dnl
27   AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
28   AC_REQUIRE([AM_NLS])dnl
29
30   dnl Release version of the gettext macros. This is used to ensure that
31   dnl the gettext macros and po/Makefile.in.in are in sync.
32   AC_SUBST([GETTEXT_MACRO_VERSION], [0.17])
33
34   dnl Perform the following tests also if --disable-nls has been given,
35   dnl because they are needed for "make dist" to work.
36
37   dnl Search for GNU msgfmt in the PATH.
38   dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
39   dnl The second test excludes FreeBSD msgfmt.
40   AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
41     [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
42      (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
43     :)
44   AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
45
46   dnl Test whether it is GNU msgfmt >= 0.15.
47 changequote(,)dnl
48   case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
49     '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
50     *) MSGFMT_015=$MSGFMT ;;
51   esac
52 changequote([,])dnl
53   AC_SUBST([MSGFMT_015])
54 changequote(,)dnl
55   case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
56     '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
57     *) GMSGFMT_015=$GMSGFMT ;;
58   esac
59 changequote([,])dnl
60   AC_SUBST([GMSGFMT_015])
61
62   dnl Search for GNU xgettext 0.12 or newer in the PATH.
63   dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
64   dnl The second test excludes FreeBSD xgettext.
65   AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
66     [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
67      (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
68     :)
69   dnl Remove leftover from FreeBSD xgettext call.
70   rm -f messages.po
71
72   dnl Test whether it is GNU xgettext >= 0.15.
73 changequote(,)dnl
74   case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
75     '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
76     *) XGETTEXT_015=$XGETTEXT ;;
77   esac
78 changequote([,])dnl
79   AC_SUBST([XGETTEXT_015])
80
81   dnl Search for GNU msgmerge 0.11 or newer in the PATH.
82   AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
83     [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
84
85   dnl Installation directories.
86   dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we
87   dnl have to define it here, so that it can be used in po/Makefile.
88   test -n "$localedir" || localedir='${datadir}/locale'
89   AC_SUBST([localedir])
90
91   dnl Support for AM_XGETTEXT_OPTION.
92   test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
93   AC_SUBST([XGETTEXT_EXTRA_OPTIONS])
94
95   AC_CONFIG_COMMANDS([po-directories], [[
96     for ac_file in $CONFIG_FILES; do
97       # Support "outfile[:infile[:infile...]]"
98       case "$ac_file" in
99         *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
100       esac
101       # PO directories have a Makefile.in generated from Makefile.in.in.
102       case "$ac_file" in */Makefile.in)
103         # Adjust a relative srcdir.
104         ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
105         ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
106         ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
107         # In autoconf-2.13 it is called $ac_given_srcdir.
108         # In autoconf-2.50 it is called $srcdir.
109         test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
110         case "$ac_given_srcdir" in
111           .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
112           /*) top_srcdir="$ac_given_srcdir" ;;
113           *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
114         esac
115         # Treat a directory as a PO directory if and only if it has a
116         # POTFILES.in file. This allows packages to have multiple PO
117         # directories under different names or in different locations.
118         if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
119           rm -f "$ac_dir/POTFILES"
120           test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
121           cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[   ]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
122           POMAKEFILEDEPS="POTFILES.in"
123           # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
124           # on $ac_dir but don't depend on user-specified configuration
125           # parameters.
126           if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
127             # The LINGUAS file contains the set of available languages.
128             if test -n "$OBSOLETE_ALL_LINGUAS"; then
129               test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
130             fi
131             ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
132             # Hide the ALL_LINGUAS assigment from automake < 1.5.
133             eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
134             POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
135           else
136             # The set of available languages was given in configure.in.
137             # Hide the ALL_LINGUAS assigment from automake < 1.5.
138             eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
139           fi
140           # Compute POFILES
141           # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
142           # Compute UPDATEPOFILES
143           # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
144           # Compute DUMMYPOFILES
145           # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
146           # Compute GMOFILES
147           # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
148           case "$ac_given_srcdir" in
149             .) srcdirpre= ;;
150             *) srcdirpre='$(srcdir)/' ;;
151           esac
152           POFILES=
153           UPDATEPOFILES=
154           DUMMYPOFILES=
155           GMOFILES=
156           for lang in $ALL_LINGUAS; do
157             POFILES="$POFILES $srcdirpre$lang.po"
158             UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
159             DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
160             GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
161           done
162           # CATALOGS depends on both $ac_dir and the user's LINGUAS
163           # environment variable.
164           INST_LINGUAS=
165           if test -n "$ALL_LINGUAS"; then
166             for presentlang in $ALL_LINGUAS; do
167               useit=no
168               if test "%UNSET%" != "$LINGUAS"; then
169                 desiredlanguages="$LINGUAS"
170               else
171                 desiredlanguages="$ALL_LINGUAS"
172               fi
173               for desiredlang in $desiredlanguages; do
174                 # Use the presentlang catalog if desiredlang is
175                 #   a. equal to presentlang, or
176                 #   b. a variant of presentlang (because in this case,
177                 #      presentlang can be used as a fallback for messages
178                 #      which are not translated in the desiredlang catalog).
179                 case "$desiredlang" in
180                   "$presentlang"*) useit=yes;;
181                 esac
182               done
183               if test $useit = yes; then
184                 INST_LINGUAS="$INST_LINGUAS $presentlang"
185               fi
186             done
187           fi
188           CATALOGS=
189           if test -n "$INST_LINGUAS"; then
190             for lang in $INST_LINGUAS; do
191               CATALOGS="$CATALOGS $lang.gmo"
192             done
193           fi
194           test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
195           sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
196           for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
197             if test -f "$f"; then
198               case "$f" in
199                 *.orig | *.bak | *~) ;;
200                 *) cat "$f" >> "$ac_dir/Makefile" ;;
201               esac
202             fi
203           done
204         fi
205         ;;
206       esac
207     done]],
208    [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
209     # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
210     # from automake < 1.5.
211     eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
212     # Capture the value of LINGUAS because we need it to compute CATALOGS.
213     LINGUAS="${LINGUAS-%UNSET%}"
214    ])
215 ])
216
217 dnl Postprocesses a Makefile in a directory containing PO files.
218 AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
219 [
220   # When this code is run, in config.status, two variables have already been
221   # set:
222   # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
223   # - LINGUAS is the value of the environment variable LINGUAS at configure
224   #   time.
225
226 changequote(,)dnl
227   # Adjust a relative srcdir.
228   ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
229   ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
230   ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
231   # In autoconf-2.13 it is called $ac_given_srcdir.
232   # In autoconf-2.50 it is called $srcdir.
233   test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
234   case "$ac_given_srcdir" in
235     .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
236     /*) top_srcdir="$ac_given_srcdir" ;;
237     *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
238   esac
239
240   # Find a way to echo strings without interpreting backslash.
241   if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
242     gt_echo='echo'
243   else
244     if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
245       gt_echo='printf %s\n'
246     else
247       echo_func () {
248         cat <<EOT
249 $*
250 EOT
251       }
252       gt_echo='echo_func'
253     fi
254   fi
255
256   # A sed script that extracts the value of VARIABLE from a Makefile.
257   sed_x_variable='
258 # Test if the hold space is empty.
259 x
260 s/P/P/
261 x
262 ta
263 # Yes it was empty. Look if we have the expected variable definition.
264 /^[      ]*VARIABLE[     ]*=/{
265   # Seen the first line of the variable definition.
266   s/^[   ]*VARIABLE[     ]*=//
267   ba
268 }
269 bd
270 :a
271 # Here we are processing a line from the variable definition.
272 # Remove comment, more precisely replace it with a space.
273 s/#.*$/ /
274 # See if the line ends in a backslash.
275 tb
276 :b
277 s/\\$//
278 # Print the line, without the trailing backslash.
279 p
280 tc
281 # There was no trailing backslash. The end of the variable definition is
282 # reached. Clear the hold space.
283 s/^.*$//
284 x
285 bd
286 :c
287 # A trailing backslash means that the variable definition continues in the
288 # next line. Put a nonempty string into the hold space to indicate this.
289 s/^.*$/P/
290 x
291 :d
292 '
293 changequote([,])dnl
294
295   # Set POTFILES to the value of the Makefile variable POTFILES.
296   sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`
297   POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
298   # Compute POTFILES_DEPS as
299   #   $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
300   POTFILES_DEPS=
301   for file in $POTFILES; do
302     POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
303   done
304   POMAKEFILEDEPS=""
305
306   if test -n "$OBSOLETE_ALL_LINGUAS"; then
307     test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
308   fi
309   if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
310     # The LINGUAS file contains the set of available languages.
311     ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
312     POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
313   else
314     # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
315     sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
316     ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
317   fi
318   # Hide the ALL_LINGUAS assigment from automake < 1.5.
319   eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
320   # Compute POFILES
321   # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
322   # Compute UPDATEPOFILES
323   # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
324   # Compute DUMMYPOFILES
325   # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
326   # Compute GMOFILES
327   # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
328   # Compute PROPERTIESFILES
329   # as      $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
330   # Compute CLASSFILES
331   # as      $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
332   # Compute QMFILES
333   # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
334   # Compute MSGFILES
335   # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
336   # Compute RESOURCESDLLFILES
337   # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
338   case "$ac_given_srcdir" in
339     .) srcdirpre= ;;
340     *) srcdirpre='$(srcdir)/' ;;
341   esac
342   POFILES=
343   UPDATEPOFILES=
344   DUMMYPOFILES=
345   GMOFILES=
346   PROPERTIESFILES=
347   CLASSFILES=
348   QMFILES=
349   MSGFILES=
350   RESOURCESDLLFILES=
351   for lang in $ALL_LINGUAS; do
352     POFILES="$POFILES $srcdirpre$lang.po"
353     UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
354     DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
355     GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
356     PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
357     CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
358     QMFILES="$QMFILES $srcdirpre$lang.qm"
359     frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
360     MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
361     frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
362     RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
363   done
364   # CATALOGS depends on both $ac_dir and the user's LINGUAS
365   # environment variable.
366   INST_LINGUAS=
367   if test -n "$ALL_LINGUAS"; then
368     for presentlang in $ALL_LINGUAS; do
369       useit=no
370       if test "%UNSET%" != "$LINGUAS"; then
371         desiredlanguages="$LINGUAS"
372       else
373         desiredlanguages="$ALL_LINGUAS"
374       fi
375       for desiredlang in $desiredlanguages; do
376         # Use the presentlang catalog if desiredlang is
377         #   a. equal to presentlang, or
378         #   b. a variant of presentlang (because in this case,
379         #      presentlang can be used as a fallback for messages
380         #      which are not translated in the desiredlang catalog).
381         case "$desiredlang" in
382           "$presentlang"*) useit=yes;;
383         esac
384       done
385       if test $useit = yes; then
386         INST_LINGUAS="$INST_LINGUAS $presentlang"
387       fi
388     done
389   fi
390   CATALOGS=
391   JAVACATALOGS=
392   QTCATALOGS=
393   TCLCATALOGS=
394   CSHARPCATALOGS=
395   if test -n "$INST_LINGUAS"; then
396     for lang in $INST_LINGUAS; do
397       CATALOGS="$CATALOGS $lang.gmo"
398       JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
399       QTCATALOGS="$QTCATALOGS $lang.qm"
400       frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
401       TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
402       frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
403       CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
404     done
405   fi
406
407   sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
408   if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
409     # Add dependencies that cannot be formulated as a simple suffix rule.
410     for lang in $ALL_LINGUAS; do
411       frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
412       cat >> "$ac_file.tmp" <<EOF
413 $frobbedlang.msg: $lang.po
414         @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
415         \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
416 EOF
417     done
418   fi
419   if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
420     # Add dependencies that cannot be formulated as a simple suffix rule.
421     for lang in $ALL_LINGUAS; do
422       frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
423       cat >> "$ac_file.tmp" <<EOF
424 $frobbedlang/\$(DOMAIN).resources.dll: $lang.po
425         @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
426         \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
427 EOF
428     done
429   fi
430   if test -n "$POMAKEFILEDEPS"; then
431     cat >> "$ac_file.tmp" <<EOF
432 Makefile: $POMAKEFILEDEPS
433 EOF
434   fi
435   mv "$ac_file.tmp" "$ac_file"
436 ])
437
438 dnl Initializes the accumulator used by AM_XGETTEXT_OPTION.
439 AC_DEFUN([AM_XGETTEXT_OPTION_INIT],
440 [
441   XGETTEXT_EXTRA_OPTIONS=
442 ])
443
444 dnl Registers an option to be passed to xgettext in the po subdirectory.
445 AC_DEFUN([AM_XGETTEXT_OPTION],
446 [
447   AC_REQUIRE([AM_XGETTEXT_OPTION_INIT])
448   XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS $1"
449 ])