]>
Commit | Line | Data |
---|---|---|
f19dd04a DD |
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 <[email protected]>, 1995-2000. | |
20 | dnl Bruno Haible <[email protected]>, 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 | ]) |