Portability fixes.
diff --git a/ChangeLog b/ChangeLog
index 6933f34..5fe69df 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,25 @@
-2001-06-26  Bruno Haible  <haible@clisp.cons.org>
+2001-06-27  Bruno Haible  <haible@clisp.cons.org>
 
 	* Version 1.7 released.
 
+2001-06-27  Bruno Haible  <haible@clisp.cons.org>
+
+	* INSTALL.generic (Particular Systems): Generalize section about
+	/usr/local to "most systems".
+
+	* lib/Makefile.in (all): Build @PLUGLIB@ before libiconv.la, because
+	Solaris cc destroys iconv.o and iconv.lo while building
+	libiconv_plug_solaris.so.
+	(clean): Remove so_locations, left there by the OSF/1 linker.
+
+	* lib/cp1255.h (cp1255_decomp): Use 'signed int' instead of 'int'.
+
+	* lib/vietcomb.h (viet_decomp): Use 'unsigned int' instead of
+	'unsigned short'.
+
+	* tests/table-from.c: Include string.h.
+	* tests/table-to.c: Likewise.
+
 2001-06-26  Bruno Haible  <haible@clisp.cons.org>
 
 	* tools/Makefile (jisx0208.h): Replace U+005C with U+FF3C.
diff --git a/INSTALL.generic b/INSTALL.generic
index 0047b16..952cbb7 100644
--- a/INSTALL.generic
+++ b/INSTALL.generic
@@ -122,11 +122,11 @@
 Particular Systems
 ==================
 
-   On FreeBSD, NetBSD, and OpenBSD, the compiler doesn't search include
-files in /usr/local/include, and the linker doesn't search libraries in
-/usr/local/lib.  Therefore some packages won't find other packages
-installed earlier.  To overcome this problem, it is recommended to use
-the following options:
+   On most systems, the compiler doesn't search include files in
+/usr/local/include, and the linker doesn't search libraries in
+/usr/local/lib.  (A notable exception is GNU/Linux.)  Therefore some
+packages won't find other packages installed earlier.  To overcome this
+problem, it is recommended to use the following options:
 
      env CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./configure
 
diff --git a/lib/Makefile.in b/lib/Makefile.in
index c33605c..9804aa8 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -50,7 +50,7 @@
 
 LIBCHARSET_OBJECTS = ../libcharset/lib/localcharset.lo
 
-all : libiconv.la @PLUGLIB@
+all : @PLUGLIB@ libiconv.la
 
 libiconv.la : $(OBJECTS)
 	$(LIBTOOL_LINK) $(CC) $(LDFLAGS) -o libiconv.la -rpath $(libdir) -version-info $(LIBICONV_VERSION_INFO) -no-undefined $(OBJECTS) $(LIBCHARSET_OBJECTS)
@@ -107,7 +107,7 @@
 mostlyclean : clean
 
 clean : force
-	$(RM) *.o *.lo *.a *.la libiconv_plug* core
+	$(RM) *.o *.lo *.a *.la libiconv_plug* core so_locations
 	$(RM) -r .libs _libs
 
 distclean : clean
diff --git a/lib/cp1255.h b/lib/cp1255.h
index 6d17944..2830780 100644
--- a/lib/cp1255.h
+++ b/lib/cp1255.h
@@ -96,7 +96,7 @@
 };
 
 /* Decomposition table for the relevant Unicode characters. */
-struct cp1255_decomp { unsigned short composed; unsigned short base; int comb1 : 8; int comb2 : 8; };
+struct cp1255_decomp { unsigned short composed; unsigned short base; int comb1 : 8; signed int comb2 : 8; };
 static const struct cp1255_decomp cp1255_decomp_table[] = {
   { 0xFB1D, 0x05D9, 0, -1 },
   { 0xFB1F, 0x05F2, 1, -1 },
diff --git a/lib/vietcomb.h b/lib/vietcomb.h
index 814b1f1..83af0f0 100644
--- a/lib/vietcomb.h
+++ b/lib/vietcomb.h
@@ -259,7 +259,7 @@
 };
 
 /* Decomposition table for the relevant Unicode characters. */
-struct viet_decomp { unsigned short composed; unsigned short base : 12; int comb1 : 4; };
+struct viet_decomp { unsigned short composed; unsigned int base : 12; int comb1 : 4; };
 static const struct viet_decomp viet_decomp_table[] = {
   { 0x00B4, 0x0020, 1 }, /* compatility decomposition - for TCVN only */
   { 0x00C0, 0x0041, 0 },
diff --git a/tests/table-from.c b/tests/table-from.c
index abd6b3c..5be3287 100644
--- a/tests/table-from.c
+++ b/tests/table-from.c
@@ -23,6 +23,7 @@
 #include <stddef.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 #include <iconv.h>
 #include <errno.h>
 
diff --git a/tests/table-to.c b/tests/table-to.c
index d11cd07..e6fee35 100644
--- a/tests/table-to.c
+++ b/tests/table-to.c
@@ -23,6 +23,7 @@
 #include <stddef.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 #include <iconv.h>
 #include <errno.h>