summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1995-10-17 02:14:34 +0000
committerRoland McGrath <roland@gnu.org>1995-10-17 02:14:34 +0000
commitcb2f05ed72575a2d5769a7772a935eda461ad0b8 (patch)
tree3e055198b66c8ed92e76858950c87626cfb6bd33
parentd17e960c2bb10746bda675deb88d8b496f834eba (diff)
* 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.
-rw-r--r--ChangeLog7
-rw-r--r--configure.in2
-rw-r--r--libc-symbols.h19
-rw-r--r--locale/Makefile2
-rw-r--r--locale/SYS_libc.c4
5 files changed, 32 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index f427e33cea..c0f61f090b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
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
diff --git a/configure.in b/configure.in
index dbfb695a0b..ead6813ba0 100644
--- a/configure.in
+++ b/configure.in
@@ -373,7 +373,7 @@ extern int glibc_conftest_frobozz;
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
diff --git a/libc-symbols.h b/libc-symbols.h
index 1b6d1d0392..7997c8d0de 100644
--- a/libc-symbols.h
+++ b/libc-symbols.h
@@ -46,7 +46,26 @@ Cambridge, MA 02139, USA. */
tests this symbol to see if it is being compiled as part
of the C library. */
#define _LIBC 1
+/*
+
+
+ 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
+
+/*
+
+*/
/* 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
diff --git a/locale/Makefile b/locale/Makefile
index 1a37f44923..8865fc3c1a 100644
--- a/locale/Makefile
+++ b/locale/Makefile
@@ -28,7 +28,7 @@ distribute = localeinfo.h categories.def \
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) \
diff --git a/locale/SYS_libc.c b/locale/SYS_libc.c
new file mode 100644
index 0000000000..99db8e67a3
--- /dev/null
+++ b/locale/SYS_libc.c
@@ -0,0 +1,4 @@
+/* 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";