[PATCH] NLS back to working order.

Philipp Thomas pthomas@suse.de
Tue Jun 6 00:44:00 GMT 2000


I've finally checked in the patches to bring the tree back to working order
for enabled NLS support. Bootstrap with --with-included-gettext succeeded.

gcc/:
2000-06-06  Philipp Thomas  <pthomas@suse.de>
        * configure.in (AC_C_INLINE): Added.
	* configure: Regenerate.

gcc/java:
2000-06-04  Philipp Thomas  <pthomas@suse.de>
	* Makefile.in (INTLLIBS): New.
	(LIBS): Add above.
	(DEPLIBS): Ditto.


gcc/f:
2000-06-04  Philipp Thomas  <pthomas@suse.de>
	* Makefile.in(INTLLIBS): New macro.
	(LIBS): Add INTLLIBS.
	(DEPLIBS): Likewise.

gcc/ch:
2000-06-04  Philipp Thomas  <pthomas@suse.de>
	* Makefile.in: Changed to be processed by configure.
	(INTLLIBS): New macro.
	(LIBS): Add INTLLIBS.
	(DEPLIBS): Likewise.
	* config-lang(outputs): Specify ch/Makefile.

gcc/po:
2000-06-06  Philipp Thomas  <pthomas@suse.de>
	* Makefile.in.in: Add --define switch for xgettext.

gcc/intl:
2000-06-06  Philipp Thomas  <pthomas@suse.de>
	* Makefile.in: Add -DIN_GCC to DEFS, add appropriate -I switches.
	* dcgettext.c: Define _GNU_SOURCE before any system header is
	included. Guard getcwd declaration with HAVE_DECL_GETCWD.
	* loadmsgcat.c (_nl_load_domain): Cast st.st_size in compaison to
	size_t.
	* localealias.c: Define _GNU_SOURCE before any system header is
	included. Don't use return value of memcpy because it could be a
	macro defined in terms of bcopy.
	(read_alias_file): Remove HAVE_MEMCPY guard and just don't use the
	return value of memcpy. Cast argument to fgets and strlen to char *.
	* explodename.c (_nl_explode_name): Cast codeset to unsigned char **
	in call to _nl_normalize_codeset.
	* l10nflist.c: Define _GNU_SOURCE before any system header is
	included.


Index: gcc/configure.in
===================================================================
RCS file: /cvs/gcc/egcs/gcc/configure.in,v
retrieving revision 1.382
diff -u -p -r1.382 configure.in
--- configure.in	2000/05/31 18:10:28	1.382
+++ configure.in	2000/06/06 06:40:42
@@ -378,6 +378,8 @@ else
     AC_MSG_RESULT(no)
 fi
 
+AC_C_INLINE
+
 # Find some useful tools
 AC_PROG_AWK
 AC_PROG_LEX
Index: gcc/ch/Makefile.in
===================================================================
RCS file: /cvs/gcc/egcs/gcc/ch/Makefile.in,v
retrieving revision 1.23
diff -u -p -r1.23 Makefile.in
--- Makefile.in	2000/05/18 22:39:58	1.23
+++ Makefile.in	2000/06/06 06:41:05
@@ -54,7 +54,7 @@ T_CFLAGS =
 X_CPPFLAGS =
 T_CPPFLAGS =
 
-CC = cc
+CC = @CC@
 AR = ar
 AR_FLAGS = rc
 SHELL = /bin/sh
@@ -81,19 +81,26 @@ GCC_CFLAGS=$(INTERNAL_CFLAGS) $(X_CFLAGS
 program_transform_name =
 objdir = .
 
-target= ... `configure' substitutes actual target name here.
-xmake_file= ... `configure' substitutes actual x- file name here.
-tmake_file= ... `configure' substitutes actual t- file name here.
+target=@target@
+xmake_file=@dep_host_xmake_file@
+tmake_file=@dep_tmake_file@
 #version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < $(srcdir)/version.c`
 #mainversion=`sed -e 's/.*\"\([0-9]*\.[0-9]*\).*/\1/' < $(srcdir)/version.c`
 
 # Directory where sources are, from where we are.
-srcdir = .
+srcdir = @srcdir@
+VPATH = @srcdir@
 
 # CYGNUS LOCAL
 # Directory where texinfo.tex lives
-texidir = $(srcdir)/../../texinfo
+# texidir = $(srcdir)/../../texinfo
 
+# Top build directory, relative to here.
+top_builddir = ..
+
+# Internationalization library.
+INTLLIBS = @INTLLIBS@
+
 # Additional system libraries to link with.
 CLIB=
 
@@ -111,17 +118,23 @@ all: all.indirect
 
 # sed inserts variable overrides after the following line.
 ####target overrides
+@target_overrides@
 ####host overrides
+@host_overrides@
 ####cross overrides
+@cross_defines@
+@cross_overrides@
 ####build overrides
+@build_overrides@
 ####site overrides
+# @site_overrides@
 #
 # Now figure out from those variables how to compile and link.
 
 all.indirect: Makefile ../chill ../cc1chill$(exeext)
 
 # IN_GCC tells obstack.h that we are using gcc's <stddef.h> file.
-INTERNAL_CFLAGS = $(CROSS) -DIN_GCC
+INTERNAL_CFLAGS = $(CROSS) -DIN_GCC @extra_c_flags@
 
 # This is the variable actually used when we compile.
 ALL_CFLAGS = $(INTERNAL_CFLAGS) $(X_CFLAGS) $(T_CFLAGS) $(CFLAGS) $(XCFLAGS)
@@ -134,8 +147,8 @@ LIBIBERTY = ../../libiberty/libiberty.a
 
 # How to link with both our special library facilities
 # and the system's installed libraries.
-LIBS = $(LIBIBERTY) $(CLIB)
-LIBDEPS = $(LIBIBERTY)
+LIBS = $(LIBIBERTY) $(CLIB) $(INTLLIBS)
+LIBDEPS = $(INTLLIBS) $(LIBIBERTY)
 
 # Specify the directories to be searched for header files.
 # Both . and srcdir are used, in that order,
Index: gcc/ch/config-lang.in
===================================================================
RCS file: /cvs/gcc/egcs/gcc/ch/config-lang.in,v
retrieving revision 1.4
diff -u -p -r1.4 config-lang.in
--- config-lang.in	1999/04/14 20:12:19	1.4
+++ config-lang.in	2000/06/06 06:41:05
@@ -33,3 +33,6 @@ compilers="cc1chill\$(exeext)"
 stagestuff="chill chill-cross\$(exeext) cc1chill\$(exeext)"
 
 diff_excludes="-x -x ch/chill.info*"
+
+outputs=ch/Makefile
+
Index: gcc/f/Makefile.in
===================================================================
RCS file: /cvs/gcc/egcs/gcc/f/Makefile.in,v
retrieving revision 1.21
diff -u -p -r1.21 Makefile.in
--- Makefile.in	2000/04/06 00:51:25	1.21
+++ Makefile.in	2000/06/06 06:41:12
@@ -88,6 +88,12 @@ VPATH = @srcdir@
 # Additional system libraries to link with.
 CLIB=
 
+# Top build directory, relative to here.
+top_builddir = ..
+
+# Internationalization library.
+INTLLIBS = @INTLLIBS@
+
 # Choose the real default target.
 ALL=all
 
@@ -135,8 +141,8 @@ LDFLAGS=$(BOOT_LDFLAGS)
 
 # How to link with both our special library facilities
 # and the system's installed libraries.
-LIBS = $(LIBIBERTY) $(CLIB)
-LIBDEPS = $(LIBIBERTY)
+LIBS = $(LIBIBERTY) $(CLIB) $(INTLLIBS)
+LIBDEPS = $(INTLLIBS) $(LIBIBERTY)
 
 # Specify the directories to be searched for header files.
 # Both . and srcdir are used, in that order,
Index: gcc/intl/Makefile.in
===================================================================
RCS file: /cvs/gcc/egcs/gcc/intl/Makefile.in,v
retrieving revision 1.2
diff -u -p -r1.2 Makefile.in
--- Makefile.in	1999/02/02 18:49:16	1.2
+++ Makefile.in	2000/06/06 06:41:14
@@ -48,7 +48,7 @@ CC = @CC@
 LIBTOOL = @LIBTOOL@
 RANLIB = @RANLIB@
 
-DEFS = -DLOCALEDIR=\"$(localedir)\" -DGNULOCALEDIR=\"$(gnulocaledir)\" \
+DEFS = -DIN_GCC -DLOCALEDIR=\"$(localedir)\" -DGNULOCALEDIR=\"$(gnulocaledir)\" \
 -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" @DEFS@
 CPPFLAGS = @CPPFLAGS@
 CFLAGS = @CFLAGS@
@@ -79,7 +79,8 @@ DISTFILES.gettext = libintl.glibc intlh.
 .c.lo:
 	$(LIBTOOL) --mode=compile $(COMPILE) $<
 
-INCLUDES = -I.. -I. -I$(top_srcdir)/intl -I$(top_srcdir)/lib
+INCLUDES = -I.. -I. -I$(top_srcdir)/intl -I$(top_srcdir)/lib -I$(srcdir)/.. \
+-I$(srcdir)/../config -I$(srcdir)/../../include
 
 all: all-@USE_INCLUDED_LIBINTL@
 
Index: gcc/intl/dcgettext.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/intl/dcgettext.c,v
retrieving revision 1.2
diff -u -p -r1.2 dcgettext.c
--- dcgettext.c	1999/09/04 15:08:49	1.2
+++ dcgettext.c	2000/06/06 06:41:15
@@ -19,6 +19,10 @@
 # include <config.h>
 #endif
 
+# ifndef _GNU_SOURCE
+#  define _GNU_SOURCE	1
+# endif
+
 #include <sys/types.h>
 
 #ifdef __GNUC__
@@ -58,9 +62,6 @@ void free ();
 #endif
 
 #if defined HAVE_STRING_H || defined _LIBC
-# ifndef _GNU_SOURCE
-#  define _GNU_SOURCE	1
-# endif
 # include <string.h>
 #else
 # include <strings.h>
@@ -98,7 +99,7 @@ void free ();
 # if !defined HAVE_GETCWD
 char *getwd ();
 #  define getcwd(buf, max) getwd (buf)
-# else
+# elif !defined (HAVE_DECL_GETCWD)
 char *getcwd ();
 # endif
 # ifndef HAVE_STPCPY
Index: gcc/intl/explodename.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/intl/explodename.c,v
retrieving revision 1.2
diff -u -p -r1.2 explodename.c
--- explodename.c	1999/09/04 15:08:49	1.2
+++ explodename.c	2000/06/06 06:41:15
@@ -108,8 +108,9 @@ _nl_explode_name (name, language, modifi
 
 	  if (*codeset != cp && (*codeset)[0] != '\0')
 	    {
-	      *normalized_codeset = _nl_normalize_codeset (*codeset,
-							   cp - *codeset);
+	      *normalized_codeset = _nl_normalize_codeset (
+	      				*((unsigned char **) codeset),
+	      				cp - *codeset);
 	      if (strcmp (*codeset, *normalized_codeset) == 0)
 		free ((char *) *normalized_codeset);
 	      else
Index: gcc/intl/l10nflist.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/intl/l10nflist.c,v
retrieving revision 1.2
diff -u -p -r1.2 l10nflist.c
--- l10nflist.c	1999/09/04 15:08:49	1.2
+++ l10nflist.c	2000/06/06 06:41:15
@@ -20,11 +20,11 @@
 # include <config.h>
 #endif
 
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE	1
+#endif
 
 #if defined HAVE_STRING_H || defined _LIBC
-# ifndef _GNU_SOURCE
-#  define _GNU_SOURCE	1
-# endif
 # include <string.h>
 #else
 # include <strings.h>
Index: gcc/intl/loadmsgcat.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/intl/loadmsgcat.c,v
retrieving revision 1.3
diff -u -p -r1.3 loadmsgcat.c
--- loadmsgcat.c	2000/04/17 17:25:57	1.3
+++ loadmsgcat.c	2000/06/06 06:41:15
@@ -91,7 +91,7 @@ _nl_load_domain (domain_file)
 
   /* We must know about the size of the file.  */
   if (fstat (fd, &st) != 0
-      || (size = (size_t) st.st_size) != st.st_size
+      || (size = (size_t) st.st_size) != (size_t) st.st_size
       || size < sizeof (struct mo_file_header))
     {
       /* Something went wrong.  */
Index: gcc/intl/localealias.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/intl/localealias.c,v
retrieving revision 1.2
diff -u -p -r1.2 localealias.c
--- localealias.c	1999/09/04 15:08:49	1.2
+++ localealias.c	2000/06/06 06:41:16
@@ -20,6 +20,10 @@
 # include <config.h>
 #endif
 
+# ifndef _GNU_SOURCE
+#  define _GNU_SOURCE	1
+# endif
+
 #include <ctype.h>
 #include <stdio.h>
 #include <sys/types.h>
@@ -53,9 +57,6 @@ void free ();
 #endif
 
 #if defined HAVE_STRING_H || defined _LIBC
-# ifndef _GNU_SOURCE
-#  define _GNU_SOURCE	1
-# endif
 # include <string.h>
 #else
 # include <strings.h>
@@ -227,13 +228,8 @@ read_alias_file (fname, fname_len)
 
   full_fname = (char *) alloca (fname_len + sizeof aliasfile);
   ADD_BLOCK (block_list, full_fname);
-#ifdef HAVE_MEMPCPY
-  mempcpy (mempcpy (full_fname, fname, fname_len),
-	   aliasfile, sizeof aliasfile);
-#else
   memcpy (full_fname, fname, fname_len);
   memcpy (&full_fname[fname_len], aliasfile, sizeof aliasfile);
-#endif
 
   fp = fopen (full_fname, "r");
   if (fp == NULL)
@@ -255,7 +251,7 @@ read_alias_file (fname, fname_len)
       unsigned char *value;
       unsigned char *cp;
 
-      if (fgets (buf, sizeof buf, fp) == NULL)
+      if (fgets ((char *)buf, sizeof buf, fp) == NULL)
 	/* EOF reached.  */
 	break;
 
@@ -314,8 +310,8 @@ read_alias_file (fname, fname_len)
 	      if (nmap >= maxmap)
 		extend_alias_table ();
 
-	      alias_len = strlen (alias) + 1;
-	      value_len = strlen (value) + 1;
+	      alias_len = strlen ((char *)alias) + 1;
+	      value_len = strlen ((char *)value) + 1;
 
 	      if (string_space_act + alias_len + value_len > string_space_max)
 		{
@@ -333,12 +329,12 @@ read_alias_file (fname, fname_len)
 		  string_space_max = new_size;
 		}
 
-	      map[nmap].alias = memcpy (&string_space[string_space_act],
-					alias, alias_len);
+	      memcpy (&string_space[string_space_act], alias, alias_len);
+	      map[nmap].alias = &string_space[string_space_act];
 	      string_space_act += alias_len;
 
-	      map[nmap].value = memcpy (&string_space[string_space_act],
-					value, value_len);
+	      memcpy (&string_space[string_space_act], value, value_len);
+	      map[nmap].value = &string_space[string_space_act];
 	      string_space_act += value_len;
 
 	      ++nmap;
Index: gcc/java/Make-lang.in
===================================================================
RCS file: /cvs/gcc/egcs/gcc/java/Make-lang.in,v
retrieving revision 1.30
diff -u -p -r1.30 Make-lang.in
--- Make-lang.in	2000/05/03 22:45:31	1.30
+++ Make-lang.in	2000/06/06 06:41:30
@@ -110,6 +110,8 @@ GCJH_SOURCES = $(srcdir)/java/gjavah.c $
 gcjh$(exeext): $(GCJH_SOURCES) $(LIBDEPS) $(TREE_H)
 	cd java && $(MAKE) $(LANG_FLAGS_TO_PASS) $(JAVA_FLAGS_TO_PASS) ../gcjh$(exeext)
 
+$(INTL_TARGETS): $(srcdir)/java/parse.c $(srcdir)/java/parse-scan.c
+
 # This must be kept in sync with dependencies in Makefile.in.
 JV_SCAN_SOURCES = $(srcdir)/java/parse-scan.y $(srcdir)/java/lex.c \
        $(srcdir)/java/parse.h $(srcdir)/java/lex.h $(srcdir)/java/jv-scan.c
Index: gcc/java/Makefile.in
===================================================================
RCS file: /cvs/gcc/egcs/gcc/java/Makefile.in,v
retrieving revision 1.50
diff -u -p -r1.50 Makefile.in
--- Makefile.in	2000/03/04 22:27:35	1.50
+++ Makefile.in	2000/06/06 06:41:30
@@ -102,6 +102,12 @@ libgcj_zip = $(datadir)/libgcj.zip
 # Additional system libraries to link with.
 CLIB=
 
+# Top build directory, relative to here.
+top_builddir = ..
+
+# Internationalization library.
+INTLLIBS = @INTLLIBS@
+
 # Choose the real default target.
 ALL=all
 
@@ -144,8 +150,8 @@ LIBIBERTY = ../../libiberty/libiberty.a
 
 # How to link with both our special library facilities
 # and the system's installed libraries.
-LIBS = $(LIBIBERTY) $(CLIB)
-LIBDEPS = $(LIBIBERTY) ../errors.o
+LIBS = $(INTLLIBS) $(LIBIBERTY) $(CLIB)
+LIBDEPS = $(INTLLIBS) $(LIBIBERTY) ../errors.o
 
 # Specify the directories to be searched for header files.
 # Both . and srcdir are used, in that order,
Index: gcc/po/Makefile.in.in
===================================================================
RCS file: /cvs/gcc/egcs/gcc/po/Makefile.in.in,v
retrieving revision 1.3
diff -u -p -r1.3 Makefile.in.in
--- Makefile.in.in	2000/05/31 17:46:29	1.3
+++ Makefile.in.in	2000/06/06 06:41:31
@@ -85,7 +85,7 @@ all-no:
 $(srcdir)/$(PACKAGE).pot: $(POTFILES)
 	$(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \
 	  --add-comments --keyword=_ --keyword=N_ \
-	  --files-from=$(srcdir)/POTFILES.in \
+	  --files-from=$(srcdir)/POTFILES.in --defines \
 	&& test ! -f $(PACKAGE).po \
 	   || ( rm -f $(srcdir)/$(PACKAGE).pot \
 		&& mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot )


-- 
Philipp Thomas <pthomas@suse.de>
Development, SuSE GmbH, Schanzaecker Str. 10, D-90443 Nuremberg, Germany

#define NINODE  50              /* number of in core inodes */
#define NPROC   30              /* max number of processes */
 	-- Version 7 UNIX fuer PDP 11, /usr/include/sys/param.h


More information about the Gcc-patches mailing list