+2003-04-04 Bruno Haible <bruno@clisp.org>
+
+ * gettextP.h [!_LIBC]: Remove declarations of exported libintl_*
+ functions; include libgnuintl.h instead.
+ * intl-compat.c: Remove include of libgnuintl.h.
+ (DLL_EXPORTED): New macro.
+ (gettext, dgettext, dcgettext, ngettext, dngettext, dcngettext,
+ textdomain, bindtextdomain, bind_textdomain_codeset): Use it.
+
2003-04-04 Bruno Haible <bruno@clisp.org>
* libgnuintl.h.in (libintl_set_relocation_prefix): Convert extern
/* Header describing internals of libintl library.
- Copyright (C) 1995-1999, 2000-2002 Free Software Foundation, Inc.
+ Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.
Written by Ulrich Drepper <drepper@cygnus.com>, 1995.
This program is free software; you can redistribute it and/or modify it
extern char *__bind_textdomain_codeset PARAMS ((const char *__domainname,
const char *__codeset));
#else
-extern char *libintl_gettext PARAMS ((const char *__msgid));
-extern char *libintl_dgettext PARAMS ((const char *__domainname,
- const char *__msgid));
-extern char *libintl_dcgettext PARAMS ((const char *__domainname,
- const char *__msgid, int __category));
-extern char *libintl_ngettext PARAMS ((const char *__msgid1,
- const char *__msgid2,
- unsigned long int __n));
-extern char *libintl_dngettext PARAMS ((const char *__domainname,
- const char *__msgid1,
- const char *__msgid2,
- unsigned long int __n));
-extern char *libintl_dcngettext PARAMS ((const char *__domainname,
- const char *__msgid1,
- const char *__msgid2,
- unsigned long int __n,
- int __category));
+/* Declare the exported libintl_* functions, in a way that allows us to
+ call them under their real name. */
+# define _INTL_REDIRECT_MACROS
+# include "libgnuintl.h"
extern char *libintl_dcigettext PARAMS ((const char *__domainname,
const char *__msgid1,
const char *__msgid2,
int __plural, unsigned long int __n,
int __category));
-extern char *libintl_textdomain PARAMS ((const char *__domainname));
-extern char *libintl_bindtextdomain PARAMS ((const char *__domainname,
- const char *__dirname));
-extern char *libintl_bind_textdomain_codeset PARAMS ((const char *__domainname,
- const char *__codeset));
#endif
/* @@ begin of epilog @@ */
# include <config.h>
#endif
-#define _INTL_REDIRECT_MACROS
-#include "libgnuintl.h"
#include "gettextP.h"
/* @@ end of prolog @@ */
#undef bind_textdomain_codeset
+/* When building a DLL, we must export some functions. Note that because
+ the functions are only defined for binary backward compatibility, we
+ don't need to use __declspec(dllimport) in any case. */
+#if defined _MSC_VER && BUILDING_DLL
+# define DLL_EXPORTED __declspec(dllexport)
+#else
+# define DLL_EXPORTED
+#endif
+
+
+DLL_EXPORTED
char *
gettext (msgid)
const char *msgid;
}
+DLL_EXPORTED
char *
dgettext (domainname, msgid)
const char *domainname;
}
+DLL_EXPORTED
char *
dcgettext (domainname, msgid, category)
const char *domainname;
}
+DLL_EXPORTED
char *
ngettext (msgid1, msgid2, n)
const char *msgid1;
}
+DLL_EXPORTED
char *
dngettext (domainname, msgid1, msgid2, n)
const char *domainname;
}
+DLL_EXPORTED
char *
dcngettext (domainname, msgid1, msgid2, n, category)
const char *domainname;
}
+DLL_EXPORTED
char *
textdomain (domainname)
const char *domainname;
}
+DLL_EXPORTED
char *
bindtextdomain (domainname, dirname)
const char *domainname;
}
+DLL_EXPORTED
char *
bind_textdomain_codeset (domainname, codeset)
const char *domainname;