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