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