summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2005-07-12 23:28:54 +0000
committerPaul Eggert <eggert@cs.ucla.edu>2005-07-12 23:28:54 +0000
commitf7ab6a5010b6cac6eaa6b6d9e54168764bffed7a (patch)
tree5fb13af9038017c940280f1db8cb0ea57a82fad0 /m4
parent22dda0f00476e140b490979a3894d75ebc45b0cb (diff)
downloadbison-f7ab6a5010b6cac6eaa6b6d9e54168764bffed7a.tar.gz
* bootstrap: Get runtime translations into runtime-po.
Create runtime-po files automatically, if possible. * configure.ac: Invoke BISON_I18N, so that we eat our own dog food. * data/yacc.c: Rewrite inclusion of <libintl.h> so that ENABLE_NLS does not infringe on the user's name space. (YYENABLE_NLS): Renamed from ENABLE_BISON_NLS. * doc/bison.texinfo (Internationalization): Revamp the English and Texinfo syntax a bit, to try to make it clearer. (Bison Options, Option Cross Key): Mention --print-localedir. * m4/bison-i18n.m4 (BISON_I18N): Rename ENABLE_BISON_NLS to YYENABLE_NLS. Quote a bit more. * runtime-po/.cvsignore: New file. * runtime-po/Makefile.in.in (mostlyclean): Remove *.old.pot. * runtime-po/Rules-quot: Remove; now created by bootstrap. * runtime-po/quot.sed: Likewise. * runtime-po/boldquot.sed: Likewise. * runtime-po/en@quot.header: Likewise. * runtime-po/en@boldquot.header: Likewise. * runtime-po/insert-header.sin: Likewise. * runtime-po/remove-potcdate.sin: Likewise. * runtime-po/Makevars: Likewise. * runtime-po/LINGUAS: Likewise. * runtime-po/de.po: Likewise; we will rely on the translation project to maintain this, so "bootstrap" should get it. * src/getarg.s (PRINT_LOCALEDIR_OPTION): Let the C compiler determine its value. * src/main.c (main): Bind the bison-runtime domain, too. * data/yacc.c: Include <libintl.h> when NLS is enabled. (YYI18N): Renamed from _. Use dgettext when NLS is enabled. * po/POTFILES.in: Remove autogenerated file src/parse-gram.c. * runtime-po: New directory. * runtime-po/Makefile.in.in: New file, copied from po/, with modified $(DOMAIN).pot-update rule, so that old messages are never dropped. * runtime-po/Rules-quot: New file, copied from po/. * runtime-po/quot.sed: Likewise. * runtime-po/boldquot.sed: Likewise. * runtime-po/en@quot.header: Likewise. * runtime-po/en@boldquot.header: Likewise. * runtime-po/insert-header.sin: Likewise. * runtime-po/remove-potcdate.sin: Likewise. * runtime-po/Makevars: New file. * runtime-po/POTFILES.in: New file. * runtime-po/LINGUAS: New file. * runtime-po/bison-runtime.pot: New file. * runtime-po/de.po: New file. * m4/bison.m4: New file. * Makefile.am (SUBDIRS): Add runtime-po. (aclocaldir, aclocal_DATA): New variables. * configure.ac: Add AC_CONFIG_FILES of runtime-po/Makefile.in. Define aclocaldir. * src/getargs.c (usage): Document --print-localedir option. (PRINT_LOCALEDIR_OPTION): New enum item. (long_options): Add --print-localedir option. (getargs): Handle --print-localedir option. * doc/bison.texinfo (Bison Parser): Remove paragraph about _(). (Internationalization): New section.
Diffstat (limited to 'm4')
-rw-r--r--m4/bison-i18n.m459
1 files changed, 59 insertions, 0 deletions
diff --git a/m4/bison-i18n.m4 b/m4/bison-i18n.m4
new file mode 100644
index 00000000..2fe6c604
--- /dev/null
+++ b/m4/bison-i18n.m4
@@ -0,0 +1,59 @@
+# bison-i18n.m4 serial 1 (bison-2.1)
+dnl Copyright (C) 2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+dnl Support for internationalization of bison-generated parsers.
+
+dnl BISON_I18N
+dnl should be used in configure.ac, after AM_GNU_GETTEXT. If USE_NLS is yes, it
+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],
+[
+ 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=
+ if test "$USE_NLS" = yes; then
+ dnl AC_PROG_YACC sets the YACC variable; other macros set the BISON variable.
+ if test -n "$YACC"; then
+ case "$YACC" in
+ *bison*)
+ if ($YACC --print-localedir) >/dev/null 2>&1; then
+ BISON_LOCALEDIR=`$YACC --print-localedir`
+ fi
+ ;;
+ esac
+ else
+ if test -n "$BISON"; then
+ if test "$BISON" != ":"; then
+ if ($BISON --print-localedir) >/dev/null 2>&1; then
+ BISON_LOCALEDIR=`$BISON --print-localedir`
+ fi
+ fi
+ fi
+ fi
+ AC_SUBST([BISON_LOCALEDIR])
+ if test -n "$BISON_LOCALEDIR"; then
+ USER_LINGUAS="${LINGUAS-%UNSET%}"
+ if test -n "$USER_LINGUAS"; then
+ BISON_USE_NLS=yes
+ else
+ BISON_USE_NLS=no
+ fi
+ else
+ BISON_USE_NLS=no
+ fi
+ else
+ BISON_USE_NLS=no
+ fi
+ if test $BISON_USE_NLS = yes; then
+ AC_DEFINE([YYENABLE_NLS], 1,
+ [Define to 1 to internationalize bison runtime messages.])
+ fi
+])