The variable BISON_LOCALEDIR is assigned only by the output of 'bison --print-localedir', we add option --with-bisonlocaledir to assign it explicitly. It is helpful for user to split the native compile and cross compile.
For backward compatibility, if option not used, it still make use of the output of 'bison --print-localedir'. Signed-off-by: Hongxu Jia <[email protected]> --- m4/bison-i18n.m4 | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/m4/bison-i18n.m4 b/m4/bison-i18n.m4 index 8e57caf..f74187a 100644 --- a/m4/bison-i18n.m4 +++ b/m4/bison-i18n.m4 @@ -16,11 +16,16 @@ dnl sets BISON_LOCALEDIR to indicate where to find the bison-runtime.mo files dnl and defines YYENABLE_NLS if there are bison-runtime.mo files at all. AC_DEFUN([BISON_I18N], [ + dnl Default is not to set bisonlocaledir + AC_ARG_WITH([bisonlocaledir], + [ --with-bisonlocaledir sets BISON_LOCALEDIR to indicate where to find the bison-runtime.mo files], + BISON_LOCALEDIR=$withval, + BISON_LOCALEDIR=) + if test -z "$USE_NLS"; then echo "The BISON-I18N macro is used without being preceded by AM-GNU-GETTEXT." 1>&2 exit 1 fi - BISON_LOCALEDIR= BISON_USE_NLS=no if test "$USE_NLS" = yes; then dnl Determine bison's localedir. @@ -28,9 +33,10 @@ AC_DEFUN([BISON_I18N], 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 + if test -z "$BISON_LOCALEDIR" -a ${YACC-${BISON-:}} --print-localedir >/dev/null 2>&1; then BISON_LOCALEDIR=`${YACC-${BISON-:}} --print-localedir` fi + AC_MSG_RESULT([$BISON_LOCALEDIR]) AC_SUBST([BISON_LOCALEDIR]) if test -n "$BISON_LOCALEDIR"; then dnl There is no need to enable internationalization if the user doesn't -- 1.9.1
