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.in is obsolete" || echo "setting ALL_LINGUAS in configure.in 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.in.
|
---|
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 | ])
|
---|