Home | History | Annotate | Download | only in m4
      1 # po.m4 serial 17b
      2 dnl Copyright (C) 1995-2012 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 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.18])
     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           gt_tab=`printf '\t'`
    122           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"
    123           POMAKEFILEDEPS="POTFILES.in"
    124           # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
    125           # on $ac_dir but don't depend on user-specified configuration
    126           # parameters.
    127           if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
    128             # The LINGUAS file contains the set of available languages.
    129             if test -n "$OBSOLETE_ALL_LINGUAS"; then
    130               test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
    131             fi
    132             ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
    133             # Hide the ALL_LINGUAS assignment from automake < 1.5.
    134             eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
    135             POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
    136           else
    137             # The set of available languages was given in configure.in.
    138             # Hide the ALL_LINGUAS assignment from automake < 1.5.
    139             eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
    140           fi
    141           # Compute POFILES
    142           # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
    143           # Compute UPDATEPOFILES
    144           # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
    145           # Compute DUMMYPOFILES
    146           # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
    147           # Compute GMOFILES
    148           # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
    149           case "$ac_given_srcdir" in
    150             .) srcdirpre= ;;
    151             *) srcdirpre='$(srcdir)/' ;;
    152           esac
    153           POFILES=
    154           UPDATEPOFILES=
    155           DUMMYPOFILES=
    156           GMOFILES=
    157           for lang in $ALL_LINGUAS; do
    158             POFILES="$POFILES $srcdirpre$lang.po"
    159             UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
    160             DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
    161             GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
    162           done
    163           # CATALOGS depends on both $ac_dir and the user's LINGUAS
    164           # environment variable.
    165           INST_LINGUAS=
    166           if test -n "$ALL_LINGUAS"; then
    167             for presentlang in $ALL_LINGUAS; do
    168               useit=no
    169               if test "%UNSET%" != "$LINGUAS"; then
    170                 desiredlanguages="$LINGUAS"
    171               else
    172                 desiredlanguages="$ALL_LINGUAS"
    173               fi
    174               for desiredlang in $desiredlanguages; do
    175                 # Use the presentlang catalog if desiredlang is
    176                 #   a. equal to presentlang, or
    177                 #   b. a variant of presentlang (because in this case,
    178                 #      presentlang can be used as a fallback for messages
    179                 #      which are not translated in the desiredlang catalog).
    180                 case "$desiredlang" in
    181                   "$presentlang"*) useit=yes;;
    182                 esac
    183               done
    184               if test $useit = yes; then
    185                 INST_LINGUAS="$INST_LINGUAS $presentlang"
    186               fi
    187             done
    188           fi
    189           CATALOGS=
    190           if test -n "$INST_LINGUAS"; then
    191             for lang in $INST_LINGUAS; do
    192               CATALOGS="$CATALOGS $lang.gmo"
    193             done
    194           fi
    195           test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
    196           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"
    197           for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
    198             if test -f "$f"; then
    199               case "$f" in
    200                 *.orig | *.bak | *~) ;;
    201                 *) cat "$f" >> "$ac_dir/Makefile" ;;
    202               esac
    203             fi
    204           done
    205         fi
    206         ;;
    207       esac
    208     done]],
    209    [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
    210     # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
    211     # from automake < 1.5.
    212     eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
    213     # Capture the value of LINGUAS because we need it to compute CATALOGS.
    214     LINGUAS="${LINGUAS-%UNSET%}"
    215    ])
    216 ])
    217 
    218 dnl Postprocesses a Makefile in a directory containing PO files.
    219 AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
    220 [
    221   # When this code is run, in config.status, two variables have already been
    222   # set:
    223   # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
    224   # - LINGUAS is the value of the environment variable LINGUAS at configure
    225   #   time.
    226 
    227 changequote(,)dnl
    228   # Adjust a relative srcdir.
    229   ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
    230   ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
    231   ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
    232   # In autoconf-2.13 it is called $ac_given_srcdir.
    233   # In autoconf-2.50 it is called $srcdir.
    234   test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
    235   case "$ac_given_srcdir" in
    236     .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
    237     /*) top_srcdir="$ac_given_srcdir" ;;
    238     *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
    239   esac
    240 
    241   # Find a way to echo strings without interpreting backslash.
    242   if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
    243     gt_echo='echo'
    244   else
    245     if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
    246       gt_echo='printf %s\n'
    247     else
    248       echo_func () {
    249         cat <<EOT
    250 $*
    251 EOT
    252       }
    253       gt_echo='echo_func'
    254     fi
    255   fi
    256 
    257   # A sed script that extracts the value of VARIABLE from a Makefile.
    258   tab=`printf '\t'`
    259   sed_x_variable='
    260 # Test if the hold space is empty.
    261 x
    262 s/P/P/
    263 x
    264 ta
    265 # Yes it was empty. Look if we have the expected variable definition.
    266 /^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=/{
    267   # Seen the first line of the variable definition.
    268   s/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=//
    269   ba
    270 }
    271 bd
    272 :a
    273 # Here we are processing a line from the variable definition.
    274 # Remove comment, more precisely replace it with a space.
    275 s/#.*$/ /
    276 # See if the line ends in a backslash.
    277 tb
    278 :b
    279 s/\\$//
    280 # Print the line, without the trailing backslash.
    281 p
    282 tc
    283 # There was no trailing backslash. The end of the variable definition is
    284 # reached. Clear the hold space.
    285 s/^.*$//
    286 x
    287 bd
    288 :c
    289 # A trailing backslash means that the variable definition continues in the
    290 # next line. Put a nonempty string into the hold space to indicate this.
    291 s/^.*$/P/
    292 x
    293 :d
    294 '
    295 changequote([,])dnl
    296 
    297   # Set POTFILES to the value of the Makefile variable POTFILES.
    298   sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`
    299   POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
    300   # Compute POTFILES_DEPS as
    301   #   $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
    302   POTFILES_DEPS=
    303   for file in $POTFILES; do
    304     POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
    305   done
    306   POMAKEFILEDEPS=""
    307 
    308   if test -n "$OBSOLETE_ALL_LINGUAS"; then
    309     test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
    310   fi
    311   if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
    312     # The LINGUAS file contains the set of available languages.
    313     ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
    314     POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
    315   else
    316     # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
    317     sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
    318     ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
    319   fi
    320   # Hide the ALL_LINGUAS assignment from automake < 1.5.
    321   eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
    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), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
    332   # Compute CLASSFILES
    333   # as      $(foreach lang, $(ALL_LINGUAS), $(top_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 \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
    359     CLASSFILES="$CLASSFILES \$(top_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"*) useit=yes;;
    385         esac
    386       done
    387       if test $useit = yes; then
    388         INST_LINGUAS="$INST_LINGUAS $presentlang"
    389       fi
    390     done
    391   fi
    392   CATALOGS=
    393   JAVACATALOGS=
    394   QTCATALOGS=
    395   TCLCATALOGS=
    396   CSHARPCATALOGS=
    397   if test -n "$INST_LINGUAS"; then
    398     for lang in $INST_LINGUAS; do
    399       CATALOGS="$CATALOGS $lang.gmo"
    400       JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
    401       QTCATALOGS="$QTCATALOGS $lang.qm"
    402       frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
    403       TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
    404       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/'`
    405       CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
    406     done
    407   fi
    408 
    409   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"
    410   tab=`printf '\t'`
    411   if grep -l '@TCLCATALOGS@' "$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/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
    415       cat >> "$ac_file.tmp" <<EOF
    416 $frobbedlang.msg: $lang.po
    417 ${tab}@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
    418 ${tab}\$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
    419 EOF
    420     done
    421   fi
    422   if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
    423     # Add dependencies that cannot be formulated as a simple suffix rule.
    424     for lang in $ALL_LINGUAS; do
    425       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/'`
    426       cat >> "$ac_file.tmp" <<EOF
    427 $frobbedlang/\$(DOMAIN).resources.dll: $lang.po
    428 ${tab}@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
    429 ${tab}\$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
    430 EOF
    431     done
    432   fi
    433   if test -n "$POMAKEFILEDEPS"; then
    434     cat >> "$ac_file.tmp" <<EOF
    435 Makefile: $POMAKEFILEDEPS
    436 EOF
    437   fi
    438   mv "$ac_file.tmp" "$ac_file"
    439 ])
    440 
    441 dnl Initializes the accumulator used by AM_XGETTEXT_OPTION.
    442 AC_DEFUN([AM_XGETTEXT_OPTION_INIT],
    443 [
    444   XGETTEXT_EXTRA_OPTIONS=
    445 ])
    446 
    447 dnl Registers an option to be passed to xgettext in the po subdirectory.
    448 AC_DEFUN([AM_XGETTEXT_OPTION],
    449 [
    450   AC_REQUIRE([AM_XGETTEXT_OPTION_INIT])
    451   XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS $1"
    452 ])
    453