[134] | 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 |
---|
| 18 | ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
---|
| 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]) |
---|
| 33 | AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool]) |
---|
| 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]) |
---|
| 47 | test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || |
---|
| 48 | AC_MSG_ERROR([Your intltool is too old. You need intltool $1 or later.]) |
---|
| 49 | fi |
---|
| 50 | |
---|
| 51 | AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update]) |
---|
| 52 | AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge]) |
---|
| 53 | AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract]) |
---|
| 54 | if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then |
---|
| 55 | AC_MSG_ERROR([The intltool scripts were not found. Please install intltool.]) |
---|
| 56 | fi |
---|
| 57 | |
---|
| 58 | 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 $< [$]@' |
---|
| 59 | 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 $< [$]@' |
---|
| 60 | 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 $< [$]@' |
---|
| 61 | 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 $< [$]@' |
---|
| 62 | INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< [$]@' |
---|
| 63 | 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 $< [$]@' |
---|
| 64 | 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 $< [$]@' |
---|
| 65 | 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 $< [$]@' |
---|
| 66 | 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 $< [$]@' |
---|
| 67 | 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 $< [$]@' |
---|
| 68 | 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 $< [$]@' |
---|
| 69 | INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< [$]@' |
---|
| 70 | 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 $< [$]@' |
---|
| 71 | 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 $< [$]@' |
---|
| 72 | 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 $< [$]@' |
---|
| 73 | 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 $< [$]@' |
---|
| 74 | 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 $< [$]@' |
---|
| 75 | 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 $< [$]@' |
---|
| 76 | 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 $< [$]@' |
---|
| 77 | |
---|
| 78 | _IT_SUBST(INTLTOOL_DESKTOP_RULE) |
---|
| 79 | _IT_SUBST(INTLTOOL_DIRECTORY_RULE) |
---|
| 80 | _IT_SUBST(INTLTOOL_KEYS_RULE) |
---|
| 81 | _IT_SUBST(INTLTOOL_PROP_RULE) |
---|
| 82 | _IT_SUBST(INTLTOOL_OAF_RULE) |
---|
| 83 | _IT_SUBST(INTLTOOL_PONG_RULE) |
---|
| 84 | _IT_SUBST(INTLTOOL_SERVER_RULE) |
---|
| 85 | _IT_SUBST(INTLTOOL_SHEET_RULE) |
---|
| 86 | _IT_SUBST(INTLTOOL_SOUNDLIST_RULE) |
---|
| 87 | _IT_SUBST(INTLTOOL_UI_RULE) |
---|
| 88 | _IT_SUBST(INTLTOOL_XAM_RULE) |
---|
| 89 | _IT_SUBST(INTLTOOL_KBD_RULE) |
---|
| 90 | _IT_SUBST(INTLTOOL_XML_RULE) |
---|
| 91 | _IT_SUBST(INTLTOOL_XML_NOMERGE_RULE) |
---|
| 92 | _IT_SUBST(INTLTOOL_CAVES_RULE) |
---|
| 93 | _IT_SUBST(INTLTOOL_SCHEMAS_RULE) |
---|
| 94 | _IT_SUBST(INTLTOOL_THEME_RULE) |
---|
| 95 | _IT_SUBST(INTLTOOL_SERVICE_RULE) |
---|
| 96 | _IT_SUBST(INTLTOOL_POLICY_RULE) |
---|
| 97 | |
---|
| 98 | # Check the gettext tools to make sure they are GNU |
---|
| 99 | AC_PATH_PROG(XGETTEXT, xgettext) |
---|
| 100 | AC_PATH_PROG(MSGMERGE, msgmerge) |
---|
| 101 | AC_PATH_PROG(MSGFMT, msgfmt) |
---|
| 102 | AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) |
---|
| 103 | if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then |
---|
| 104 | AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) |
---|
| 105 | fi |
---|
| 106 | xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" |
---|
| 107 | mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" |
---|
| 108 | if test -z "$xgversion" -o -z "$mmversion"; then |
---|
| 109 | AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) |
---|
| 110 | fi |
---|
| 111 | |
---|
| 112 | AC_PATH_PROG(INTLTOOL_PERL, perl) |
---|
| 113 | if test -z "$INTLTOOL_PERL"; then |
---|
| 114 | AC_MSG_ERROR([perl not found]) |
---|
| 115 | fi |
---|
| 116 | AC_MSG_CHECKING([for perl >= 5.8.1]) |
---|
| 117 | $INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 |
---|
| 118 | if test $? -ne 0; then |
---|
| 119 | AC_MSG_ERROR([perl 5.8.1 is required for intltool]) |
---|
| 120 | else |
---|
| 121 | IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`" |
---|
| 122 | AC_MSG_RESULT([$IT_PERL_VERSION]) |
---|
| 123 | fi |
---|
| 124 | if test "x$2" != "xno-xml"; then |
---|
| 125 | AC_MSG_CHECKING([for XML::Parser]) |
---|
| 126 | if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then |
---|
| 127 | AC_MSG_RESULT([ok]) |
---|
| 128 | else |
---|
| 129 | AC_MSG_ERROR([XML::Parser perl module is required for intltool]) |
---|
| 130 | fi |
---|
| 131 | fi |
---|
| 132 | |
---|
| 133 | # Substitute ALL_LINGUAS so we can use it in po/Makefile |
---|
| 134 | AC_SUBST(ALL_LINGUAS) |
---|
| 135 | |
---|
| 136 | # Set DATADIRNAME correctly if it is not set yet |
---|
| 137 | # (copied from glib-gettext.m4) |
---|
| 138 | if test -z "$DATADIRNAME"; then |
---|
| 139 | AC_LINK_IFELSE( |
---|
| 140 | [AC_LANG_PROGRAM([[]], |
---|
| 141 | [[extern int _nl_msg_cat_cntr; |
---|
| 142 | return _nl_msg_cat_cntr]])], |
---|
| 143 | [DATADIRNAME=share], |
---|
| 144 | [case $host in |
---|
| 145 | *-*-solaris*) |
---|
| 146 | dnl On Solaris, if bind_textdomain_codeset is in libc, |
---|
| 147 | dnl GNU format message catalog is always supported, |
---|
| 148 | dnl since both are added to the libc all together. |
---|
| 149 | dnl Hence, we'd like to go with DATADIRNAME=share |
---|
| 150 | dnl in this case. |
---|
| 151 | AC_CHECK_FUNC(bind_textdomain_codeset, |
---|
| 152 | [DATADIRNAME=share], [DATADIRNAME=lib]) |
---|
| 153 | ;; |
---|
| 154 | *) |
---|
| 155 | [DATADIRNAME=lib] |
---|
| 156 | ;; |
---|
| 157 | esac]) |
---|
| 158 | fi |
---|
| 159 | AC_SUBST(DATADIRNAME) |
---|
| 160 | |
---|
| 161 | IT_PO_SUBDIR([po]) |
---|
| 162 | |
---|
| 163 | ]) |
---|
| 164 | |
---|
| 165 | |
---|
| 166 | # IT_PO_SUBDIR(DIRNAME) |
---|
| 167 | # --------------------- |
---|
| 168 | # All po subdirs have to be declared with this macro; the subdir "po" is |
---|
| 169 | # declared by IT_PROG_INTLTOOL. |
---|
| 170 | # |
---|
| 171 | AC_DEFUN([IT_PO_SUBDIR], |
---|
| 172 | [AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS. |
---|
| 173 | dnl |
---|
| 174 | dnl The following CONFIG_COMMANDS should be exetuted at the very end |
---|
| 175 | dnl of config.status. |
---|
| 176 | AC_CONFIG_COMMANDS_PRE([ |
---|
| 177 | AC_CONFIG_COMMANDS([$1/stamp-it], [ |
---|
| 178 | if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then |
---|
| 179 | AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.]) |
---|
| 180 | fi |
---|
| 181 | rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp" |
---|
| 182 | >"$1/stamp-it.tmp" |
---|
| 183 | [sed '/^#/d |
---|
| 184 | s/^[[].*] *// |
---|
| 185 | /^[ ]*$/d |
---|
| 186 | '"s|^| $ac_top_srcdir/|" \ |
---|
| 187 | "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES" |
---|
| 188 | ] |
---|
| 189 | [sed '/^POTFILES =/,/[^\\]$/ { |
---|
| 190 | /^POTFILES =/!d |
---|
| 191 | r $1/POTFILES |
---|
| 192 | } |
---|
| 193 | ' "$1/Makefile.in" >"$1/Makefile"] |
---|
| 194 | rm -f "$1/Makefile.tmp" |
---|
| 195 | mv "$1/stamp-it.tmp" "$1/stamp-it" |
---|
| 196 | ]) |
---|
| 197 | ])dnl |
---|
| 198 | ]) |
---|
| 199 | |
---|
| 200 | # _IT_SUBST(VARIABLE) |
---|
| 201 | # ------------------- |
---|
| 202 | # Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST |
---|
| 203 | # |
---|
| 204 | AC_DEFUN([_IT_SUBST], |
---|
| 205 | [ |
---|
| 206 | AC_SUBST([$1]) |
---|
| 207 | m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) |
---|
| 208 | ] |
---|
| 209 | ) |
---|
| 210 | |
---|
| 211 | # deprecated macros |
---|
| 212 | AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL]) |
---|
| 213 | # A hint is needed for aclocal from Automake <= 1.9.4: |
---|
| 214 | # AC_DEFUN([AC_PROG_INTLTOOL], ...) |
---|
| 215 | |
---|