~drizzle-trunk/drizzle/development

1667.4.3 by Monty Taylor
Added intltool macro. Removed an old gettext one.
1
## intltool.m4 - Configure intltool for the target system. -*-Shell-script-*-
2
## Copyright (C) 2001 Eazel, Inc.
3
## Author: Maciej Stachowiak <mjs@noisehavoc.org>
4
##         Kenneth Christiansen <kenneth@gnu.org>
5
##
6
## This program is free software; you can redistribute it and/or modify
7
## it under the terms of the GNU General Public License as published by
8
## the Free Software Foundation; either version 2 of the License, or
9
## (at your option) any later version.
10
##
11
## This program is distributed in the hope that it will be useful, but
12
## WITHOUT ANY WARRANTY; without even the implied warranty of
13
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14
## General Public License for more details.
15
##
16
## You should have received a copy of the GNU General Public License
17
## along with this program; if not, write to the Free Software
1802.10.2 by Monty Taylor
Update all of the copyright headers to include the correct address.
18
## Foundation, Inc., 51 Franklin Place - Suite 330, Boston, MA 02110-1301, USA.
1667.4.3 by Monty Taylor
Added intltool macro. Removed an old gettext one.
19
##
20
## As a special exception to the GNU General Public License, if you
21
## distribute this file as part of a program that contains a
22
## configuration script generated by Autoconf, you may include it under
23
## the same distribution terms that you use for the rest of that program.
24
25
dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml])
26
# serial 40 IT_PROG_INTLTOOL
27
AC_DEFUN([IT_PROG_INTLTOOL], [
28
AC_PREREQ([2.50])dnl
29
AC_REQUIRE([AM_NLS])dnl
30
31
case "$am__api_version" in
32
    1.[01234])
2221.1.8 by Monty Taylor
Adds ability to just build libdrizzle without needing all of the rest of the
33
	PANDORA_MSG_ERROR([Automake 1.5 or newer is required to use intltool])
1667.4.3 by Monty Taylor
Added intltool macro. Removed an old gettext one.
34
    ;;
35
    *)
36
    ;;
37
esac
38
39
if test -n "$1"; then
40
    AC_MSG_CHECKING([for intltool >= $1])
41
42
    INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
43
    INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3`
44
    [INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
45
    ]
46
    AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found])
1719.1.1 by Monty Taylor
_actually_ make OSX work with no intltool. Sorry.
47
    AS_IF([test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT"],[
48
      pandora_have_intltool=yes
49
    ],[
50
      pandora_have_intltool=no
51
      AC_MSG_WARN([Your intltool is too old.  You need intltool $1 or later.])
52
    ])
1667.4.3 by Monty Taylor
Added intltool macro. Removed an old gettext one.
53
fi
1724.2.1 by Monty Taylor
It would _REALLY_ help if I could get this right. For once.
54
AC_CHECK_HEADERS([libintl.h])
55
AS_IF([test "x${ac_cv_header_libintl_h}" = "xfalse" -o "x${ac_cv_header_libintl_h}" = "xno"],[
1719.1.2 by Monty Taylor
Ok. FFS.
56
  pandora_have_intltool=no
57
])
1667.4.3 by Monty Taylor
Added intltool macro. Removed an old gettext one.
58
59
AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update])
60
AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge])
61
AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract])
62
if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then
1680.5.1 by Monty Taylor
Made existence of intltool and gettext optional.
63
    AC_MSG_WARN([The intltool scripts were not found. Please install intltool.])
64
    AC_MSG_WARN([On Debian: apt-get install intltool. On Redhat: yum install intltool])
1667.4.3 by Monty Taylor
Added intltool macro. Removed an old gettext one.
65
fi
66
67
  INTLTOOL_DESKTOP_RULE='%.desktop:   %.desktop.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
68
INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
69
     INTLTOOL_KEYS_RULE='%.keys:      %.keys.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
70
     INTLTOOL_PROP_RULE='%.prop:      %.prop.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
71
      INTLTOOL_OAF_RULE='%.oaf:       %.oaf.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< [$]@'
72
     INTLTOOL_PONG_RULE='%.pong:      %.pong.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
73
   INTLTOOL_SERVER_RULE='%.server:    %.server.in    $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
74
    INTLTOOL_SHEET_RULE='%.sheet:     %.sheet.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
75
INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
76
       INTLTOOL_UI_RULE='%.ui:        %.ui.in        $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
77
      INTLTOOL_XML_RULE='%.xml:       %.xml.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
78
      INTLTOOL_XML_NOMERGE_RULE='%.xml:       %.xml.in       $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< [$]@' 
79
      INTLTOOL_XAM_RULE='%.xam:       %.xml.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
80
      INTLTOOL_KBD_RULE='%.kbd:       %.kbd.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
81
    INTLTOOL_CAVES_RULE='%.caves:     %.caves.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
82
  INTLTOOL_SCHEMAS_RULE='%.schemas:   %.schemas.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
83
    INTLTOOL_THEME_RULE='%.theme:     %.theme.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
84
    INTLTOOL_SERVICE_RULE='%.service: %.service.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
85
   INTLTOOL_POLICY_RULE='%.policy:    %.policy.in    $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
86
87
_IT_SUBST(INTLTOOL_DESKTOP_RULE)
88
_IT_SUBST(INTLTOOL_DIRECTORY_RULE)
89
_IT_SUBST(INTLTOOL_KEYS_RULE)
90
_IT_SUBST(INTLTOOL_PROP_RULE)
91
_IT_SUBST(INTLTOOL_OAF_RULE)
92
_IT_SUBST(INTLTOOL_PONG_RULE)
93
_IT_SUBST(INTLTOOL_SERVER_RULE)
94
_IT_SUBST(INTLTOOL_SHEET_RULE)
95
_IT_SUBST(INTLTOOL_SOUNDLIST_RULE)
96
_IT_SUBST(INTLTOOL_UI_RULE)
97
_IT_SUBST(INTLTOOL_XAM_RULE)
98
_IT_SUBST(INTLTOOL_KBD_RULE)
99
_IT_SUBST(INTLTOOL_XML_RULE)
100
_IT_SUBST(INTLTOOL_XML_NOMERGE_RULE)
101
_IT_SUBST(INTLTOOL_CAVES_RULE)
102
_IT_SUBST(INTLTOOL_SCHEMAS_RULE)
103
_IT_SUBST(INTLTOOL_THEME_RULE)
104
_IT_SUBST(INTLTOOL_SERVICE_RULE)
105
_IT_SUBST(INTLTOOL_POLICY_RULE)
106
107
# Check the gettext tools to make sure they are GNU
108
AC_PATH_PROG(XGETTEXT, xgettext)
109
AC_PATH_PROG(MSGMERGE, msgmerge)
110
AC_PATH_PROG(MSGFMT, msgfmt)
111
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
112
if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then
1680.5.1 by Monty Taylor
Made existence of intltool and gettext optional.
113
    AC_MSG_WARN([GNU gettext tools not found; required for intltool])
1667.4.3 by Monty Taylor
Added intltool macro. Removed an old gettext one.
114
fi
115
xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`"
116
mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`"
117
mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`"
118
if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then
1680.5.1 by Monty Taylor
Made existence of intltool and gettext optional.
119
    AC_MSG_WARN([GNU gettext tools not found; required for intltool])
1667.4.3 by Monty Taylor
Added intltool macro. Removed an old gettext one.
120
fi
121
122
AC_PATH_PROG(INTLTOOL_PERL, perl)
123
if test -z "$INTLTOOL_PERL"; then
1680.5.1 by Monty Taylor
Made existence of intltool and gettext optional.
124
   AC_MSG_WARN([perl not found])
1667.4.3 by Monty Taylor
Added intltool macro. Removed an old gettext one.
125
fi
126
AC_MSG_CHECKING([for perl >= 5.8.1])
127
$INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1
128
if test $? -ne 0; then
1680.5.1 by Monty Taylor
Made existence of intltool and gettext optional.
129
   AC_MSG_WARN([perl 5.8.1 is required for intltool])
1667.4.3 by Monty Taylor
Added intltool macro. Removed an old gettext one.
130
else
131
   IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`"
132
   AC_MSG_RESULT([$IT_PERL_VERSION])
133
fi
134
if test "x$2" != "xno-xml"; then
135
   AC_MSG_CHECKING([for XML::Parser])
136
   if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then
137
       AC_MSG_RESULT([ok])
138
   else
1680.5.1 by Monty Taylor
Made existence of intltool and gettext optional.
139
       AC_MSG_WARN([XML::Parser perl module is required for intltool])
1667.4.3 by Monty Taylor
Added intltool macro. Removed an old gettext one.
140
   fi
141
fi
142
143
# Substitute ALL_LINGUAS so we can use it in po/Makefile
144
AC_SUBST(ALL_LINGUAS)
145
146
# Set DATADIRNAME correctly if it is not set yet
147
# (copied from glib-gettext.m4)
148
if test -z "$DATADIRNAME"; then
149
  AC_LINK_IFELSE(
150
    [AC_LANG_PROGRAM([[]],
151
                     [[extern int _nl_msg_cat_cntr;
152
                       return _nl_msg_cat_cntr]])],
153
    [DATADIRNAME=share],
154
    [case $host in
155
    *-*-solaris*)
156
    dnl On Solaris, if bind_textdomain_codeset is in libc,
157
    dnl GNU format message catalog is always supported,
158
    dnl since both are added to the libc all together.
159
    dnl Hence, we'd like to go with DATADIRNAME=share
160
    dnl in this case.
161
    AC_CHECK_FUNC(bind_textdomain_codeset,
162
      [DATADIRNAME=share], [DATADIRNAME=lib])
163
    ;;
164
    *)
165
    [DATADIRNAME=lib]
166
    ;;
167
    esac])
168
fi
169
AC_SUBST(DATADIRNAME)
170
171
IT_PO_SUBDIR([po])
172
])
173
174
175
# IT_PO_SUBDIR(DIRNAME)
176
# ---------------------
177
# All po subdirs have to be declared with this macro; the subdir "po" is
178
# declared by IT_PROG_INTLTOOL.
179
#
180
AC_DEFUN([IT_PO_SUBDIR],
181
[AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS.
182
dnl
183
dnl The following CONFIG_COMMANDS should be exetuted at the very end
184
dnl of config.status.
185
AC_CONFIG_COMMANDS_PRE([
186
  AC_CONFIG_COMMANDS([$1/stamp-it], [
187
    if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then
1719.1.2 by Monty Taylor
Ok. FFS.
188
       AC_MSG_WARN([$1/Makefile.in.in was not created by intltoolize.])
189
    else
190
	    rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp"
191
	    >"$1/stamp-it.tmp"
192
	    [sed '/^#/d
193
		 s/^[[].*] *//
194
		 /^[ 	]*$/d
195
		'"s|^|	$ac_top_srcdir/|" \
196
	      "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES"
197
	    ]
198
	    [sed '/^POTFILES =/,/[^\\]$/ {
199
			/^POTFILES =/!d
200
			r $1/POTFILES
201
		  }
202
		 ' "$1/Makefile.in" >"$1/Makefile"]
203
	    rm -f "$1/Makefile.tmp"
204
	    mv "$1/stamp-it.tmp" "$1/stamp-it"
1667.4.3 by Monty Taylor
Added intltool macro. Removed an old gettext one.
205
    fi
206
  ])
207
])dnl
208
])
209
210
# _IT_SUBST(VARIABLE)
211
# -------------------
212
# Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST
213
#
214
AC_DEFUN([_IT_SUBST],
215
[
216
AC_SUBST([$1])
217
m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])])
218
]
219
)
220
221
# deprecated macros
222
AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL])
223
# A hint is needed for aclocal from Automake <= 1.9.4:
224
# AC_DEFUN([AC_PROG_INTLTOOL], ...)
225