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