1 |
330 |
jeremybenn |
# 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 |
|
|
])
|