Merge trunk version 190524 into gupc branch.
[official-gcc.git] / gcc / intl.h
blob03be420fe68d0a219af8ea62df903113bc4cd771
1 /* intl.h - internationalization
2 Copyright 1998, 2001, 2003, 2004, 2007, 2009, 2010
3 Free Software Foundation, Inc.
5 GCC is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3, or (at your option)
8 any later version.
10 GCC is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with GCC; see the file COPYING3. If not see
17 <http://www.gnu.org/licenses/>. */
19 #ifndef GCC_INTL_H
20 #define GCC_INTL_H
22 #ifdef HAVE_LOCALE_H
23 # include <locale.h>
24 #endif
26 #ifndef HAVE_SETLOCALE
27 # define setlocale(category, locale) (locale)
28 #endif
30 /* If libintl.h is available, include it before testing for NLS. If we
31 are building with --disable-nls and another header file includes
32 libintl.h, the stubs defined down below will cause syntax errors
33 when parsing libintl.h. See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54281
34 for details. */
35 #if defined(HAVE_LIBINTL_H) || defined(ENABLE_NLS)
36 # include <libintl.h>
37 #endif
39 #ifdef ENABLE_NLS
40 extern void gcc_init_libintl (void);
41 extern size_t gcc_gettext_width (const char *);
42 #else
43 /* Stubs. */
44 # undef textdomain
45 # define textdomain(domain) (domain)
46 # undef bindtextdomain
47 # define bindtextdomain(domain, directory) (domain)
48 # undef gettext
49 # define gettext(msgid) (msgid)
50 # define ngettext(singular,plural,n) fake_ngettext(singular,plural,n)
51 # define gcc_init_libintl() /* nothing */
52 # define gcc_gettext_width(s) strlen(s)
54 extern const char *fake_ngettext(const char *singular,const char *plural,
55 unsigned long int n);
57 #endif
59 #ifndef _
60 # define _(msgid) gettext (msgid)
61 #endif
63 #ifndef N_
64 # define N_(msgid) msgid
65 #endif
67 #ifndef G_
68 # define G_(gmsgid) gmsgid
69 #endif
71 extern char *get_spaces (const char *);
73 extern const char *open_quote;
74 extern const char *close_quote;
75 extern const char *locale_encoding;
76 extern bool locale_utf8;
78 #endif /* intl.h */