Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Tom Tromey <tromey@redhat.com>
To: gdb-patches@sources.redhat.com
Subject: RFA: start of i18n
Date: Fri, 21 Jun 2002 10:10:00 -0000	[thread overview]
Message-ID: <87elf0wnp2.fsf@fleche.redhat.com> (raw)

This patch adds some minor infrastructure required to let gdb use
gettext for message translation.  Basically it works the same way as
gettext does in bfd, gas, ld, etc.

No messages are actually translated at this point.  This just makes it
possible to do so.

This causes no test suite regressions on Red Hat Linux 7.3.

Ok to commit?

Tom


Index: ChangeLog
from  Tom Tromey  <tromey@redhat.com>

	* Makefile.in (GDB_CFLAGS): Define LOCALEDIR.
	* configure, config.in: Rebuilt.
	* configure.in (PACKAGE): Define.
	* defs.h: Include locale.h, libintl.h.
	(_, N_): Define.
	* main.c (captured_main): Call setlocale, bindtextdomain,
	textdomain.

Index: Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.209
diff -u -r1.209 Makefile.in
--- Makefile.in 14 Jun 2002 22:30:41 -0000 1.209
+++ Makefile.in 21 Jun 2002 17:02:30 -0000
@@ -312,7 +312,7 @@
 # your system doesn't have fcntl.h in /usr/include (which is where it
 # should be according to Posix).
 DEFS = @DEFS@
-GDB_CFLAGS = -I. -I$(srcdir) -I$(srcdir)/config $(DEFS)
+GDB_CFLAGS = -I. -I$(srcdir) -I$(srcdir)/config -DLOCALEDIR="\"$(prefix)/share/locale\"" $(DEFS)
 
 # M{H,T}_CFLAGS, if defined, have host- and target-dependent CFLAGS
 # from the config directory.
Index: configure.in
===================================================================
RCS file: /cvs/src/src/gdb/configure.in,v
retrieving revision 1.87
diff -u -r1.87 configure.in
--- configure.in 11 May 2002 00:40:25 -0000 1.87
+++ configure.in 21 Jun 2002 17:02:36 -0000
@@ -33,10 +33,11 @@
 AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
 AC_CANONICAL_SYSTEM
 
-dnl gdb doesn't use gettext, but bfd does.  We call this to ensure we
-dnl link with the correct libraries.
+dnl Set up for gettext.  PACKAGE is used when we call bindtextdomain.
 ALL_LINGUAS=
 CY_GNU_GETTEXT
+AC_DEFINE(PACKAGE, "gdb", [Name of this package. ])
+
 
 dnl List of object files added by configure.
 
Index: defs.h
===================================================================
RCS file: /cvs/src/src/gdb/defs.h,v
retrieving revision 1.89
diff -u -r1.89 defs.h
--- defs.h 15 Jun 2002 18:45:31 -0000 1.89
+++ defs.h 21 Jun 2002 17:02:37 -0000
@@ -39,6 +39,28 @@
 #include <unistd.h>
 #endif
 
+#ifdef HAVE_LOCALE_H
+# include <locale.h>
+#endif
+
+#ifdef ENABLE_NLS
+# include <libintl.h>
+# define _(String) gettext (String)
+# ifdef gettext_noop
+#  define N_(String) gettext_noop (String)
+# else
+#  define N_(String) (String)
+# endif
+#else
+# define gettext(Msgid) (Msgid)
+# define dgettext(Domainname, Msgid) (Msgid)
+# define dcgettext(Domainname, Msgid, Category) (Msgid)
+# define textdomain(Domainname) while (0) /* nothing */
+# define bindtextdomain(Domainname, Dirname) while (0) /* nothing */
+# define _(String) (String)
+# define N_(String) (String)
+#endif
+
 /* For ``enum target_signal''.  */
 #include "gdb/signals.h"
 
Index: main.c
===================================================================
RCS file: /cvs/src/src/gdb/main.c,v
retrieving revision 1.16
diff -u -r1.16 main.c
--- main.c 17 Jan 2002 22:15:17 -0000 1.16
+++ main.c 21 Jun 2002 17:02:44 -0000
@@ -157,6 +157,15 @@
 
   long time_at_startup = get_run_time ();
 
+#if defined (HAVE_SETLOCALE) && defined (HAVE_LC_MESSAGES)
+  setlocale (LC_MESSAGES, "");
+#endif
+#if defined (HAVE_SETLOCALE)
+  setlocale (LC_CTYPE, "");
+#endif
+  bindtextdomain (PACKAGE, LOCALEDIR);
+  textdomain (PACKAGE);
+
   START_PROGRESS (argv[0], 0);
 
 #ifdef MPW


             reply	other threads:[~2002-06-21 17:10 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-06-21 10:10 Tom Tromey [this message]
2002-06-21 10:22 ` Andrew Cagney
2002-06-21 10:49   ` Tom Tromey
2002-06-21 12:06     ` Andrew Cagney
2002-06-21 13:13       ` Tom Tromey
2002-06-22  2:47         ` Eli Zaretskii
2002-06-22  8:51           ` Andrew Cagney
2002-06-22 10:25             ` Eli Zaretskii
2002-06-26 20:15               ` Andrew Cagney
2002-06-21 10:46 ` Elena Zannoni
2002-06-21 10:50   ` Tom Tromey
2002-06-21 15:13   ` Andrew Cagney
2002-06-21 15:57     ` Tom Tromey
2002-06-21 16:13       ` Andrew Cagney
2002-06-21 16:45         ` Tom Tromey
2002-06-22 15:24 ` [patch] Update selftest.exp; Was: " Andrew Cagney
2002-06-22 18:13   ` Tom Tromey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87elf0wnp2.fsf@fleche.redhat.com \
    --to=tromey@redhat.com \
    --cc=gdb-patches@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox