summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGuillem Jover <guillem@debian.org>2011-02-03 00:05:23 +0100
committerGuillem Jover <guillem@debian.org>2011-02-03 00:51:25 +0100
commitb83cc7d551c9aeed7bada926e2e3b3d9fc5c9140 (patch)
tree5a742c9855362233b94ab595939fa5a40edb05a4 /lib
parent61a3cb189063139c8562b2fddc65de0c9996fd8f (diff)
downloaddpkg-b83cc7d551c9aeed7bada926e2e3b3d9fc5c9140.tar.gz
libcompat: Define gettext context functions when NLS is disabled
When the package is configured with NLS disabled (--disable-nls), the build will fail due to undefined references to LC_MESSAGES, the gettext.h header file does not correctly handle the gettext context related function declarations on disabled NLS support, which is known to be used by downstreams. This adds all missing macros corresponding to their NLS enabled counterparts.
Diffstat (limited to 'lib')
-rw-r--r--lib/compat/gettext.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/lib/compat/gettext.h b/lib/compat/gettext.h
index a2e93b213..2d654b7c0 100644
--- a/lib/compat/gettext.h
+++ b/lib/compat/gettext.h
@@ -96,6 +96,8 @@
/* The separator between msgctxt and msgid in a .mo file. */
#define GETTEXT_CONTEXT_GLUE "\004"
+#if ENABLE_NLS
+
/* Pseudo function calls, taking a MSGCTXT and a MSGID instead of just a
MSGID. MSGCTXT and MSGID must be string literals. MSGCTXT should be
short and rarely need to change.
@@ -268,4 +270,34 @@ dcnpgettext_expr (const char *domain,
return (n == 1 ? msgid : msgid_plural);
}
+#else /* ENABLE_NLS */
+
+#define pgettext(Msgctxt, Msgid) ((void) (Msgctxt), gettext (Msgid))
+#define dpgettext(Domainname, Msgctxt, Msgid) \
+ ((void) (Domainname), pgettext (Msgctxt, Msgid))
+#define dcpgettext(Domainname, Msgctxt, Msgid, Category) \
+ ((void) (Category), dpgettext (Domainname, Msgctxt, Msgid))
+
+#define npgettext(Msgctxt, Msgid, MsgidPlural, N) \
+ ((void) (Msgctxt), ngettext (Msgid, MsgidPlural, N))
+#define dnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N) \
+ ((void) (Domainname), npgettext (Msgctxt, Msgid, MsgidPlural, N)
+#define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \
+ ((void) (Category), dnpgettext (Domainname, Msgctxt, Msgid, MsgidPlural, N)
+
+#define pgettext_expr(Msgctxt, Msgid) pgettext (Msgctxt, Msgid)
+#define dpgettext_expr(Domainname, Msgctxt, Msgid) \
+ dpgettext (Domainname, Msgctxt, Msgid)
+#define dcpgettext_expr(Domainname, Msgctxt, Msgid, Category) \
+ dcpgettext (Domainname, Msgctxt, Msgid, Category)
+
+#define npgettext_expr(Msgctxt, Msgid, MsgidPlural, N) \
+ npgettext (Msgctxt, Msgid, MsgidPlural, N)
+#define dnpgettext_expr(Domainname, Msgctxt, Msgid, MsgidPlural, N) \
+ dnpgettext (Domainname, Msgctxt, Msgid, MsgidPlural, N)
+#define dcnpgettext_expr(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \
+ dcnpgettext (Domainname, Msgctxt, Msgid, MsgidPlural, N, Category)
+
+#endif /* ENABLE_NLS */
+
#endif /* _LIBGETTEXT_H */