summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
Diffstat (limited to 'm4')
-rw-r--r--m4/bison-i18n.m437
1 files changed, 26 insertions, 11 deletions
diff --git a/m4/bison-i18n.m4 b/m4/bison-i18n.m4
index 0abdcc42ce..6a5c27df55 100644
--- a/m4/bison-i18n.m4
+++ b/m4/bison-i18n.m4
@@ -1,4 +1,4 @@
-# bison-i18n.m4 serial 3
+# bison-i18n.m4 serial 4
dnl Copyright (C) 2005-2006, 2009-2020 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -15,31 +15,46 @@ dnl and defines YYENABLE_NLS if there are bison-runtime.mo files at all.
AC_DEFUN([BISON_I18N],
[
if test -z "$USE_NLS"; then
- echo "The BISON-I18N macro is used without being preceded by AM-GNU-GETTEXT." 1>&2
+ echo "The BISON-I18N macro is used without being preceded by AM-GNU-GETTEXT." | sed -e 's/-/_/g' 1>&2
exit 1
fi
BISON_LOCALEDIR=
BISON_USE_NLS=no
if test "$USE_NLS" = yes; then
dnl Determine bison's localedir.
- dnl AC_PROG_YACC sets the YACC variable; other macros set the BISON variable.
- dnl But even is YACC is called "yacc", it may be a script that invokes bison
- dnl and accepts the --print-localedir option.
- dnl YACC's default value is empty; BISON's default value is :.
- if (${YACC-${BISON-:}} --print-localedir) >/dev/null 2>&1; then
- BISON_LOCALEDIR=`${YACC-${BISON-:}} --print-localedir`
+ dnl Generally, accept an option --with-bison-prefix=PREFIX to indicate where
+ dnl find bison's runtime data. Additionally, for users who have installed
+ dnl bison in user directories, query the 'bison' program found in $PATH
+ dnl (but not when cross-compiling).
+ dnl Usually ${prefix}/share/locale, but can be influenced by the configure
+ dnl options --datarootdir and --localedir.
+ BISON_LOCALEDIR="${localedir}"
+ AC_ARG_WITH([bison-prefix],
+ [[ with-bison-prefix=DIR search for bison's runtime data in DIR/share]],
+ [if test "X$withval" != "X" && test "X$withval" != "Xno"; then
+ BISON_LOCALEDIR="$withval/share/locale"
+ fi
+ ])
+ if test $cross_compiling != yes; then
+ dnl AC_PROG_YACC sets the YACC variable; other macros set the BISON
+ dnl variable. But even is YACC is called "yacc", it may be a script that
+ dnl invokes bison and accepts the --print-localedir option.
+ dnl YACC's default value is empty; BISON's default value is :.
+ if (${YACC-${BISON-:}} --print-localedir) >/dev/null 2>&1; then
+ BISON_LOCALEDIR=`${YACC-${BISON-:}} --print-localedir`
+ fi
fi
- AC_SUBST([BISON_LOCALEDIR])
if test -n "$BISON_LOCALEDIR"; then
dnl There is no need to enable internationalization if the user doesn't
dnl want message catalogs. So look at the language/locale names for
- dnl which the user wants message catalogs. This is $LINGUAS. If unset
- dnl or empty, he wants all of them.
+ dnl which the user wants message catalogs. This is $LINGUAS. If unset,
+ dnl he wants all of them; if non-empty, he wants some of them.
USER_LINGUAS="${LINGUAS-%UNSET%}"
if test -n "$USER_LINGUAS"; then
BISON_USE_NLS=yes
fi
fi
+ AC_SUBST([BISON_LOCALEDIR])
fi
if test $BISON_USE_NLS = yes; then
AC_DEFINE([YYENABLE_NLS], [1],