* locale/SYS_libc.c: New file.
* libc-symbols.h (_): New macro.
* configure.in (libc_cv_asm_set_directive): Link program into
conftest instead of letting it default to a.out.
Mon Oct 16 03:22:37 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+ * locale/Makefile (aux): Add SYS_libc.
+ * locale/SYS_libc.c: New file.
+ * libc-symbols.h (_): New macro.
+
+ * configure.in (libc_cv_asm_set_directive): Link program into
+ conftest instead of letting it default to a.out.
+
* elf/Makefile (install-others): Add missing slash.
* elf/ldd.sh.in: Prepend `./' to relative file names so ld.so
main () { printf ("%d\n", glibc_conftest_frobozz); }
EOF
if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
- conftest.s conftest1.c 1>&AC_FD_CC 2>&AC_FD_CC; then
+ -o conftest conftest.s conftest1.c 1>&AC_FD_CC 2>&AC_FD_CC; then
libc_cv_asm_set_directive=yes
else
libc_cv_asm_set_directive=no
tests this symbol to see if it is being compiled as part
of the C library. */
#define _LIBC 1
+/*
+\f
+
+ Define the macro `_' for conveniently marking translatable strings
+ in the libc source code. */
+#include <libintl.h>
+extern const char _libc_intl_domainname[];
+#ifdef dgettext
+/* This is defined as an optimizing macro, so use it. */
+#define _(msgid) dgettext (_libc_intl_domainname, (msgid))
+#else
+/* Be sure to use only the __ name when `dgettext' is a plain function
+ instead of an optimizing macro. */
+#define _(msgid) __dgettext (_libc_intl_domainname, (msgid))
+#endif
+
+/*
+\f
+*/
/* The symbols in all the user (non-_) macros are C symbols. Predefined
should be HAVE_WEAK_SYMBOLS and/or HAVE_ELF and/or HAVE_GNU_LD.
HAVE_WEAK_SYMBOLS is implied by the other two. HAVE_GNU_LD without
keyword.gperf keyword.h localedef.h token.h error.h
routines = setlocale loadlocale localeconv nl_langinfo
categories = ctype messages monetary numeric time collate
-aux = $(categories:%=lc-%) $(categories:%=C-%)
+aux = $(categories:%=lc-%) $(categories:%=C-%) SYS_libc
others = localedef locale
install-bin = localedef locale
extra-objs = $(localedef-modules:=.o) $(locale-modules:=.o) \
--- /dev/null
+/* Define a constant for the dgettext domainname for libc internal messages,
+ so the string constant is not repeated in dozens of object files. */
+
+const char _libc_intl_domainname[] = "SYS_libc";