[444] | 1 | # po.m4 serial 1 (gettext-0.12) |
---|
| 2 | dnl Copyright (C) 1995-2003 Free Software Foundation, Inc. |
---|
| 3 | dnl This file is free software, distributed under the terms of the GNU |
---|
| 4 | dnl General Public License. As a special exception to the GNU General |
---|
| 5 | dnl Public License, this file may be distributed as part of a program |
---|
| 6 | dnl that contains a configuration script generated by Autoconf, under |
---|
| 7 | dnl the same distribution terms as the rest of that program. |
---|
| 8 | dnl |
---|
| 9 | dnl This file can can be used in projects which are not available under |
---|
| 10 | dnl the GNU General Public License or the GNU Library General Public |
---|
| 11 | dnl License but which still want to provide support for the GNU gettext |
---|
| 12 | dnl functionality. |
---|
| 13 | dnl Please note that the actual code of the GNU gettext library is covered |
---|
| 14 | dnl by the GNU Library General Public License, and the rest of the GNU |
---|
| 15 | dnl gettext package package is covered by the GNU General Public License. |
---|
| 16 | dnl They are *not* in the public domain. |
---|
| 17 | |
---|
| 18 | dnl Authors: |
---|
| 19 | dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. |
---|
| 20 | dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003. |
---|
| 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 >/dev/null 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 >/dev/null 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 >/dev/null 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 | if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then |
---|
| 110 | rm -f "$ac_dir/POTFILES" |
---|
| 111 | test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" |
---|
| 112 | cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" |
---|
| 113 | POMAKEFILEDEPS="POTFILES.in" |
---|
| 114 | # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend |
---|
| 115 | # on $ac_dir but don't depend on user-specified configuration |
---|
| 116 | # parameters. |
---|
| 117 | if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then |
---|
| 118 | # The LINGUAS file contains the set of available languages. |
---|
| 119 | if test -n "$OBSOLETE_ALL_LINGUAS"; then |
---|
| 120 | test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.ac is obsolete" || echo "setting ALL_LINGUAS in configure.ac is obsolete" |
---|
| 121 | fi |
---|
| 122 | ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"` |
---|
| 123 | # Hide the ALL_LINGUAS assigment from automake. |
---|
| 124 | eval 'ALL_LINGUAS''=$ALL_LINGUAS_' |
---|
| 125 | POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" |
---|
| 126 | else |
---|
| 127 | # The set of available languages was given in configure.ac. |
---|
| 128 | eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' |
---|
| 129 | fi |
---|
| 130 | case "$ac_given_srcdir" in |
---|
| 131 | .) srcdirpre= ;; |
---|
| 132 | *) srcdirpre='$(srcdir)/' ;; |
---|
| 133 | esac |
---|
| 134 | POFILES= |
---|
| 135 | GMOFILES= |
---|
| 136 | UPDATEPOFILES= |
---|
| 137 | DUMMYPOFILES= |
---|
| 138 | for lang in $ALL_LINGUAS; do |
---|
| 139 | POFILES="$POFILES $srcdirpre$lang.po" |
---|
| 140 | GMOFILES="$GMOFILES $srcdirpre$lang.gmo" |
---|
| 141 | UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" |
---|
| 142 | DUMMYPOFILES="$DUMMYPOFILES $lang.nop" |
---|
| 143 | done |
---|
| 144 | # CATALOGS depends on both $ac_dir and the user's LINGUAS |
---|
| 145 | # environment variable. |
---|
| 146 | INST_LINGUAS= |
---|
| 147 | if test -n "$ALL_LINGUAS"; then |
---|
| 148 | for presentlang in $ALL_LINGUAS; do |
---|
| 149 | useit=no |
---|
| 150 | if test "%UNSET%" != "$LINGUAS"; then |
---|
| 151 | desiredlanguages="$LINGUAS" |
---|
| 152 | else |
---|
| 153 | desiredlanguages="$ALL_LINGUAS" |
---|
| 154 | fi |
---|
| 155 | for desiredlang in $desiredlanguages; do |
---|
| 156 | # Use the presentlang catalog if desiredlang is |
---|
| 157 | # a. equal to presentlang, or |
---|
| 158 | # b. a variant of presentlang (because in this case, |
---|
| 159 | # presentlang can be used as a fallback for messages |
---|
| 160 | # which are not translated in the desiredlang catalog). |
---|
| 161 | case "$desiredlang" in |
---|
| 162 | "$presentlang"*) useit=yes;; |
---|
| 163 | esac |
---|
| 164 | done |
---|
| 165 | if test $useit = yes; then |
---|
| 166 | INST_LINGUAS="$INST_LINGUAS $presentlang" |
---|
| 167 | fi |
---|
| 168 | done |
---|
| 169 | fi |
---|
| 170 | CATALOGS= |
---|
| 171 | if test -n "$INST_LINGUAS"; then |
---|
| 172 | for lang in $INST_LINGUAS; do |
---|
| 173 | CATALOGS="$CATALOGS $lang.gmo" |
---|
| 174 | done |
---|
| 175 | fi |
---|
| 176 | test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" |
---|
| 177 | sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" |
---|
| 178 | for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do |
---|
| 179 | if test -f "$f"; then |
---|
| 180 | case "$f" in |
---|
| 181 | *.orig | *.bak | *~) ;; |
---|
| 182 | *) cat "$f" >> "$ac_dir/Makefile" ;; |
---|
| 183 | esac |
---|
| 184 | fi |
---|
| 185 | done |
---|
| 186 | fi |
---|
| 187 | ;; |
---|
| 188 | esac |
---|
| 189 | done], |
---|
| 190 | [# Capture the value of obsolete ALL_LINGUAS because we need it to compute |
---|
| 191 | # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it |
---|
| 192 | # from automake. |
---|
| 193 | eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' |
---|
| 194 | # Capture the value of LINGUAS because we need it to compute CATALOGS. |
---|
| 195 | LINGUAS="${LINGUAS-%UNSET%}" |
---|
| 196 | ]) |
---|
| 197 | ]) |
---|