summaryrefslogtreecommitdiff
path: root/gcc/intl.c
diff options
context:
space:
mode:
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2001-10-19 15:17:39 +0000
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2001-10-19 15:17:39 +0000
commiteb7186891856a0581365fb285ab212f91b1d2ac7 (patch)
tree081319da8a2e78a4efbfcb39e1acf6aca8752c83 /gcc/intl.c
parentaf12f29db9b76408d5225feb09ee477ca2a8dacb (diff)
downloadgcc-eb7186891856a0581365fb285ab212f91b1d2ac7.tar.gz
* aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
USE_INCLUDED_LIBINTL when appropriate. * configure, config.in: Regenerate. * Makefile.in (datadir): Set to @datadir@. (intl.o): Also depend on $(CONFIG_H) and system.h. * intl.c: Factor out common gettext initialization sequence. (gcc_init_libintl): New function. * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL; otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn off NLS. Add multiple include guard. No need to #ifdef-guard an #undef. Prototype gcc_init_libintl here. * collect2.c (main), cppmain.c (general_init), gcc.c (main), gcov.c (main), protoize.c (main), toplev.c (toplev_main): Use gcc_init_libintl. intl: * Makefile.in: Don't copy libgnuintl.h anywhere. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46348 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/intl.c')
-rw-r--r--gcc/intl.c46
1 files changed, 43 insertions, 3 deletions
diff --git a/gcc/intl.c b/gcc/intl.c
index 761daf33e06..feefc3e5f63 100644
--- a/gcc/intl.c
+++ b/gcc/intl.c
@@ -1,6 +1,46 @@
-/* intl.c - internationalization */
+/* Message translation utilities.
+ Copyright (C) 2001 Free Software Foundation, Inc.
-#include "ansidecl.h"
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2, or (at your option) any later
+version.
+
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING. If not, write to the Free
+Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA. */
+
+#include "config.h"
+#include "system.h"
#include "intl.h"
-const char localedir[] = LOCALEDIR;
+#ifdef ENABLE_NLS
+
+/* Initialize the translation library for GCC. This performs the
+ appropriate sequence of calls - setlocale, bindtextdomain,
+ textdomain. LC_CTYPE determines the character set used by the
+ terminal, so it has be set to output messages correctly. */
+
+void
+gcc_init_libintl ()
+{
+#ifdef HAVE_LC_MESSAGES
+ setlocale (LC_CTYPE, "");
+ setlocale (LC_MESSAGES, "");
+#else
+ setlocale (LC_ALL, "");
+#endif
+
+ (void) bindtextdomain (PACKAGE, LOCALEDIR);
+ (void) textdomain (PACKAGE);
+}
+
+#endif