Home | History | Annotate | Download | only in m4
      1 # po.m4 serial 17 (gettext-0.18)
      2 dnl Copyright (C) 1995-2009 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.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 ])
    450