Home | History | Annotate | Download | only in make-3.81
      1 /* Convenience header for conditional use of GNU <libintl.h>.
      2 Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005,
      3 2006 Free Software Foundation, Inc.
      4 This file is part of GNU Make.
      5 
      6 GNU Make is free software; you can redistribute it and/or modify it under the
      7 terms of the GNU General Public License as published by the Free Software
      8 Foundation; either version 2, or (at your option) any later version.
      9 
     10 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
     11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
     12 A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
     13 
     14 You should have received a copy of the GNU General Public License along with
     15 GNU Make; see the file COPYING.  If not, write to the Free Software
     16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
     17 
     18 #ifndef _LIBGETTEXT_H
     19 #define _LIBGETTEXT_H 1
     20 
     21 /* NLS can be disabled through the configure --disable-nls option.  */
     22 #if ENABLE_NLS
     23 
     24 /* Get declarations of GNU message catalog functions.  */
     25 # include <libintl.h>
     26 
     27 #else
     28 
     29 /* Disabled NLS.
     30    The casts to 'const char *' serve the purpose of producing warnings
     31    for invalid uses of the value returned from these functions.
     32    On pre-ANSI systems without 'const', the config.h file is supposed to
     33    contain "#define const".  */
     34 # define gettext(Msgid) ((const char *) (Msgid))
     35 # define dgettext(Domainname, Msgid) ((const char *) (Msgid))
     36 # define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid))
     37 # define ngettext(Msgid1, Msgid2, N) \
     38     ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
     39 # define dngettext(Domainname, Msgid1, Msgid2, N) \
     40     ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
     41 # define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
     42     ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
     43 # define textdomain(Domainname) ((const char *) (Domainname))
     44 # define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname))
     45 # define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (Codeset))
     46 
     47 #endif
     48 
     49 /* A pseudo function call that serves as a marker for the automated
     50    extraction of messages, but does not call gettext().  The run-time
     51    translation is done at a different place in the code.
     52    The argument, String, should be a literal string.  Concatenated strings
     53    and other string expressions won't work.
     54    The macro's expansion is not parenthesized, so that it is suitable as
     55    initializer for static 'char[]' or 'const char[]' variables.  */
     56 #define gettext_noop(String) String
     57 
     58 #endif /* _LIBGETTEXT_H */
     59