]> git.saurik.com Git - bison.git/blob - m4/bison-i18n.m4
Support i18n of the parse error messages.
[bison.git] / m4 / bison-i18n.m4
1 # bison-i18n.m4 serial 2
2 dnl Copyright (C) 2005-2006, 2009 Free Software Foundation, Inc.
3 dnl This file is free software; the Free Software Foundation
4 dnl gives unlimited permission to copy and/or distribute it,
5 dnl with or without modifications, as long as this notice is preserved.
6
7 dnl From Bruno Haible.
8
9 dnl Support for internationalization of bison-generated parsers.
10
11 dnl BISON_I18N
12 dnl should be used in configure.ac, after AM_GNU_GETTEXT. If USE_NLS is yes, it
13 dnl sets BISON_LOCALEDIR to indicate where to find the bison-runtime.mo files
14 dnl and defines YYENABLE_NLS if there are bison-runtime.mo files at all.
15 AC_DEFUN([BISON_I18N],
16 [
17 if test -z "$USE_NLS"; then
18 echo "The BISON-I18N macro is used without being preceded by AM-GNU-GETTEXT." 1>&2
19 exit 1
20 fi
21 BISON_LOCALEDIR=
22 BISON_USE_NLS=no
23 if test "$USE_NLS" = yes; then
24 dnl Determine bison's localedir.
25 dnl AC_PROG_YACC sets the YACC variable; other macros set the BISON variable.
26 dnl But even is YACC is called "yacc", it may be a script that invokes bison
27 dnl and accepts the --print-localedir option.
28 dnl YACC's default value is empty; BISON's default value is :.
29 if (${YACC-${BISON-:}} --print-localedir) >/dev/null 2>&1; then
30 BISON_LOCALEDIR=`${YACC-${BISON-:}} --print-localedir`
31 fi
32 AC_SUBST([BISON_LOCALEDIR])
33 if test -n "$BISON_LOCALEDIR"; then
34 dnl There is no need to enable internationalization if the user doesn't
35 dnl want message catalogs. So look at the language/locale names for
36 dnl which the user wants message catalogs. This is $LINGUAS. If unset
37 dnl or empty, he wants all of them.
38 USER_LINGUAS="${LINGUAS-%UNSET%}"
39 if test -n "$USER_LINGUAS"; then
40 BISON_USE_NLS=yes
41 fi
42 fi
43 fi
44 if test $BISON_USE_NLS = yes; then
45 AC_DEFINE([YYENABLE_NLS], 1,
46 [Define to 1 to internationalize bison runtime messages.])
47 fi
48 ])