Simplify: Remove the ability to install a preloadable library.
diff --git a/.gitignore b/.gitignore
index bfad69e..80da75a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -233,9 +233,6 @@
 /libcharset/autoconf/aclocal.m4
 /libcharset/configure
 /libcharset/config.h.in
-# Built by preload/Makefile.devel.
-/preload/aclocal.m4
-/preload/configure
 
 # Files generated by "make -f Makefile.devel" and even kept by "make maintainer-clean":
 # Built by Makefile.devel.
@@ -284,7 +281,6 @@
 /man/iconv_open_into.3.html
 # Built by libcharset/Makefile.devel.
 /libcharset/include/localcharset.h.build.in
-# Built by preload/Makefile.devel.
 
 # ---------- "make maintainerclean" gets you here ----------
 
@@ -333,12 +329,6 @@
 # Erased by lib/Makefile.
 /lib/Makefile
 /lib/config.h
-# Erased by preload/Makefile.
-/preload/config.status
-/preload/config.log
-/preload/config.cache
-/preload/Makefile
-/preload/libtool
 # Erased by srclib/Makefile.
 /srclib/Makefile
 # Erased by src/Makefile.
@@ -371,8 +361,6 @@
 /libcharset/lib/_libs/
 /lib/.libs/
 /lib/_libs/
-/preload/.libs/
-/preload/_libs/
 /src/.libs/
 /src/_libs/
 /tests/.libs/
@@ -405,16 +393,6 @@
 /lib/core
 /lib/*.stackdump
 /lib/so_locations
-# Erased by preload/Makefile.
-/preload/*.o
-/preload/*.lo
-/preload/*.a
-/preload/*.la
-/preload/preloadable_libiconv*
-/preload/core
-/preload/*.stackdump
-/preload/so_locations
-/preload/objects
 # Erased by srclib/Makefile.
 /srclib/**/*.o
 /srclib/core
diff --git a/ChangeLog b/ChangeLog
index 54f27b6..3fe0b87 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2018-05-04  Bruno Haible  <bruno@clisp.org>
 
+	Simplify: Remove the ability to install a preloadable library.
+	* preload/*: Remove directory.
+	* Makefile.devel: Don't recurse into 'preload'.
+	* Makefile.in: Likewise.
+	* configure.ac: Don't declare 'preload' as a subdirectory.
+	* README, NEWS: Update.
+
+2018-05-04  Bruno Haible  <bruno@clisp.org>
+
 	Simplify code. Drop support for Borland C++ on Windows.
 	* lib/iconv.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
 	'defined _WIN32'.
diff --git a/Makefile.devel b/Makefile.devel
index b965339..6d534ac 100644
--- a/Makefile.devel
+++ b/Makefile.devel
@@ -28,7 +28,6 @@
       man/iconv.1.html man/iconv.3.html man/iconv_close.3.html man/iconv_open.3.html man/iconvctl.3.html man/iconv_open_into.3.html \
       force
 	cd libcharset && $(MAKE) -f Makefile.devel all
-	cd preload && $(MAKE) -f Makefile.devel all
 
 
 # Before making a new release:
@@ -243,7 +242,6 @@
 	rm -f lib/translit.h
 	rm -f man/iconv.1.html man/iconv.3.html man/iconv_close.3.html man/iconv_open.3.html man/iconvctl.3.html man/iconv_open_into.3.html
 	cd libcharset && $(MAKE) -f Makefile.devel totally-clean
-	cd preload && $(MAKE) -f Makefile.devel totally-clean
 
 
 force :
diff --git a/Makefile.in b/Makefile.in
index de37605..0c1012e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -31,7 +31,6 @@
 
 all : lib/localcharset.h force
 	cd lib && $(MAKE) all
-	cd preload && $(MAKE) all
 	cd srclib && $(MAKE) all
 	cd src && $(MAKE) all
 	cd po && $(MAKE) all
@@ -51,7 +50,6 @@
 install : lib/localcharset.h force
 	cd libcharset && $(MAKE) install prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
 	cd lib && $(MAKE) install prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
-	cd preload && $(MAKE) install prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
 	cd srclib && $(MAKE) install prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
 	cd src && $(MAKE) install prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
 	if [ ! -d $(DESTDIR)$(includedir) ] ; then $(mkinstalldirs) $(DESTDIR)$(includedir) ; fi
@@ -62,7 +60,6 @@
 install-strip : lib/localcharset.h force
 	cd libcharset && $(MAKE) install-strip prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
 	cd lib && $(MAKE) install-strip prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
-	cd preload && $(MAKE) install-strip prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
 	cd srclib && $(MAKE) install-strip prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
 	cd src && $(MAKE) install-strip prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
 	if [ ! -d $(DESTDIR)$(includedir) ] ; then $(mkinstalldirs) $(DESTDIR)$(includedir) ; fi
@@ -73,7 +70,6 @@
 installdirs : force
 	cd libcharset && $(MAKE) installdirs prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
 	cd lib && $(MAKE) installdirs prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
-	cd preload && $(MAKE) installdirs prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
 	cd srclib && $(MAKE) installdirs prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
 	cd src && $(MAKE) installdirs prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
 	if [ ! -d $(DESTDIR)$(includedir) ] ; then $(mkinstalldirs) $(DESTDIR)$(includedir) ; fi
@@ -83,7 +79,6 @@
 uninstall : force
 	cd libcharset && $(MAKE) uninstall prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
 	cd lib && $(MAKE) uninstall prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
-	cd preload && $(MAKE) uninstall prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
 	cd srclib && $(MAKE) uninstall prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
 	cd src && $(MAKE) uninstall prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
 	$(RM) $(DESTDIR)$(includedir)/iconv.h
@@ -93,7 +88,6 @@
 check : all force
 	cd libcharset && $(MAKE) check
 	cd lib && $(MAKE) check
-	cd preload && $(MAKE) check
 	cd srclib && $(MAKE) check
 	cd src && $(MAKE) check
 	cd po && $(MAKE) check
@@ -104,7 +98,6 @@
 	cd libcharset && $(MAKE) mostlyclean
 	$(RM) lib/charset.alias lib/libcharset.* lib/localcharset.h
 	cd lib && $(MAKE) mostlyclean
-	cd preload && $(MAKE) mostlyclean
 	cd srclib && $(MAKE) mostlyclean
 	cd src && $(MAKE) mostlyclean
 	cd po && $(MAKE) mostlyclean
@@ -116,7 +109,6 @@
 	cd libcharset && $(MAKE) clean
 	$(RM) lib/charset.alias lib/libcharset.* lib/localcharset.h
 	cd lib && $(MAKE) clean
-	cd preload && $(MAKE) clean
 	cd srclib && $(MAKE) clean
 	cd src && $(MAKE) clean
 	cd po && $(MAKE) clean
@@ -128,7 +120,6 @@
 	cd libcharset && if test -f Makefile; then $(MAKE) distclean; fi
 	$(RM) lib/charset.alias lib/libcharset.* lib/localcharset.h
 	cd lib && if test -f Makefile; then $(MAKE) distclean; fi
-	cd preload && if test -f Makefile; then $(MAKE) distclean; fi
 	cd srclib && if test -f Makefile; then $(MAKE) distclean; fi
 	cd src && if test -f Makefile; then $(MAKE) distclean; fi
 	cd po && if test -f Makefile; then $(MAKE) distclean; fi
@@ -143,7 +134,6 @@
 	cd libcharset && if test -f Makefile; then $(MAKE) maintainer-clean; fi
 	$(RM) lib/charset.alias lib/libcharset.* lib/localcharset.h
 	cd lib && if test -f Makefile; then $(MAKE) maintainer-clean; fi
-	cd preload && if test -f Makefile; then $(MAKE) maintainer-clean; fi
 	cd srclib && if test -f Makefile; then $(MAKE) maintainer-clean; fi
 	cd src && if test -f Makefile; then $(MAKE) maintainer-clean; fi
 	cd po && if test -f Makefile; then $(MAKE) maintainer-clean; fi
@@ -243,7 +233,6 @@
 	done
 	test -d '$(distdir)'/libcharset || mkdir '$(distdir)'/libcharset; cd libcharset && $(MAKE) distdir distdir='$(distdir)'/libcharset
 	test -d '$(distdir)'/lib || mkdir '$(distdir)'/lib; cd lib && $(MAKE) distdir distdir='$(distdir)'/lib
-	test -d '$(distdir)'/preload || mkdir '$(distdir)'/preload; cd preload && $(MAKE) distdir distdir='$(distdir)'/preload
 	test -d '$(distdir)'/srclib || mkdir '$(distdir)'/srclib; cd srclib && $(MAKE) distdir distdir='$(distdir)'/srclib
 	test -d '$(distdir)'/src || mkdir '$(distdir)'/src; cd src && $(MAKE) distdir distdir='$(distdir)'/src
 	test -d '$(distdir)'/tests || mkdir '$(distdir)'/tests; cd tests && $(MAKE) distdir distdir='$(distdir)'/tests
diff --git a/NEWS b/NEWS
index cb2a5fb..7bee459 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,6 @@
+New in 1.16:
+* The preloadable library has been removed.
+
 New in 1.15:
 * The UTF-8 converter now rejects surrogates and out-of-range code points.
 * Added ISO-2022-JP-MS converter.
diff --git a/README b/README
index 176d2b7..fdd9e6a 100644
--- a/README
+++ b/README
@@ -109,39 +109,22 @@
 Recall that before building a package for the second time, you need to erase
 the traces of the first build by running "make distclean".
 
-This library can be built and installed in two variants:
+This library installs:
+  - a library 'libiconv.so',
+  - a header file '<iconv.h>'.
 
-  - The library mode. This works on all systems, and uses a library
-    'libiconv.so' and a header file '<iconv.h>'. (Both are installed
-    through "make install".)
+To use it, simply #include <iconv.h> and use the functions.
 
-    To use it, simply #include <iconv.h> and use the functions.
-
-    To use it in an autoconfiguring package:
-    - If you don't use automake, append m4/iconv.m4 to your aclocal.m4
-      file.
-    - If you do use automake, add m4/iconv.m4 to your m4 macro repository.
-    - Add to the link command line of libraries and executables that use
-      the functions the placeholder @LIBICONV@ (or, if using libtool for
-      the link, @LTLIBICONV@). If you use automake, the right place for
-      these additions are the *_LDADD variables.
-    Note that 'iconv.m4' is also part of GNU gnulib, available through
-    the gnulib module 'iconv'.
-
-  - The libc plug/override mode. This works on GNU/Linux, Solaris and OSF/1
-    systems only. It is a way to get good iconv support without having
-    glibc-2.1.
-    It installs a library 'preloadable_libiconv.so'. This library can be used
-    with LD_PRELOAD, to override the iconv* functions present in the C library.
-
-    On GNU/Linux and Solaris:
-        $ export LD_PRELOAD=[[PREFIX]]/lib/preloadable_libiconv.so
-
-    On OSF/1:
-        $ export _RLD_LIST=[[PREFIX]]/lib/preloadable_libiconv.so:DEFAULT
-
-    A program's source need not be modified, the program need not even be
-    recompiled. Just set the LD_PRELOAD environment variable, that's it!
+To use it in an autoconfiguring package:
+  - If you don't use automake, append m4/iconv.m4 to your aclocal.m4
+    file.
+  - If you do use automake, add m4/iconv.m4 to your m4 macro repository.
+  - Add to the link command line of libraries and executables that use
+    the functions the placeholder @LIBICONV@ (or, if using libtool for
+    the link, @LTLIBICONV@). If you use automake, the right place for
+    these additions are the *_LDADD variables.
+Note that 'iconv.m4' is also part of GNU gnulib, available through
+the gnulib module 'iconv'.
 
 
 Copyright
diff --git a/configure.ac b/configure.ac
index d1a7339..e88e69e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-dnl Copyright (C) 1999-2011, 2016 Free Software Foundation, Inc.
+dnl Copyright (C) 1999-2011, 2016, 2018 Free Software Foundation, Inc.
 dnl This file is part of the GNU LIBICONV Library.
 dnl
 dnl The GNU LIBICONV Library is free software; you can redistribute it
@@ -198,7 +198,6 @@
 ])
 
 AC_CONFIG_SUBDIRS([libcharset])
-AC_CONFIG_SUBDIRS([preload])
 AC_CONFIG_FILES([Makefile])
 AC_CONFIG_FILES([lib/Makefile])
 AC_CONFIG_FILES([srclib/Makefile])
diff --git a/preload/Makefile.devel b/preload/Makefile.devel
deleted file mode 100644
index d3fd192..0000000
--- a/preload/Makefile.devel
+++ /dev/null
@@ -1,24 +0,0 @@
-# This is the developer's makefile, not the user's makefile.
-# Don't use it unless you know exactly what you do!
-
-SHELL = /bin/sh
-MAKE = make
-AUTOCONF = autoconf-2.69
-ACLOCAL = aclocal-1.16
-CP = cp
-RM = rm -f
-
-all : configures
-
-aclocal.m4 : $(wildcard ../m4/*.m4)
-	$(ACLOCAL) -I ../m4 -I ../srcm4 --output=$@ && rm -rf autom4te.cache
-
-configures : configure
-
-configure : configure.ac aclocal.m4
-	$(AUTOCONF) && rm -rf autom4te.cache
-
-totally-clean : all
-	rm -f aclocal.m4 configure
-
-force :
diff --git a/preload/Makefile.in b/preload/Makefile.in
deleted file mode 100644
index 6bbc5d4..0000000
--- a/preload/Makefile.in
+++ /dev/null
@@ -1,104 +0,0 @@
-# Makefile for libiconv/preload
-
-#### Start of system configuration section. ####
-
-# Directories used by "make":
-srcdir = @srcdir@
-
-# Directories used by "make install":
-prefix = @prefix@
-local_prefix = /usr/local
-exec_prefix = @exec_prefix@
-libdir = @libdir@
-
-# Programs used by "make":
-CC = @CC@
-CFLAGS = @CFLAGS@ @CFLAG_VISIBILITY@
-CPPFLAGS = @CPPFLAGS@
-LDFLAGS = @LDFLAGS@
-INCLUDES = -I../lib -I$(srcdir)/../lib -I../include -I$(srcdir)/../include -I.. -I$(srcdir)/..
-# -DBUILDING_LIBICONV: Change expansion of LIBICONV_DLL_EXPORTED macro.
-# -DBUILDING_DLL: Change expansion of RELOCATABLE_DLL_EXPORTED macro.
-DEFS = -DLIBDIR=\"$(libdir)\" -DBUILDING_LIBICONV -DBUILDING_DLL \
--DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DNO_XMALLOC \
--Dset_relocation_prefix=libiconv_set_relocation_prefix \
--Drelocate=libiconv_relocate @DEFS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_COMPILE = $(LIBTOOL) --mode=compile
-LIBTOOL_LINK = $(LIBTOOL) --mode=link
-LN_S = @LN_S@
-RM = rm -f
-
-# Programs used by "make install":
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_DATA = @INSTALL_DATA@
-mkinstalldirs = $(SHELL) @top_srcdir@/build-aux/mkinstalldirs
-
-#### End of system configuration section. ####
-
-SHELL = /bin/sh
-
-# Needed by $(LIBTOOL).
-top_builddir = .
-
-SOURCES = $(srcdir)/../lib/iconv.c $(srcdir)/../libcharset/lib/localcharset.c $(srcdir)/../lib/relocatable.c
-
-all : @PLUGLIB@
-
-preloadable_libiconv.so : $(SOURCES)
-	$(RM) -r objects
-	mkdir objects && \
-	for f in $(SOURCES); do \
-	  $(LIBTOOL_COMPILE) $(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(DEFS) -DLIBICONV_PLUG -c $$f -o objects/`basename $$f | sed -e 's,\.c$$,.o,'` || exit 1; \
-	done && \
-	$(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(CFLAGS) -o libiconv.la -rpath $(libdir) -no-undefined objects/*.lo && \
-	$(RM) -r objects
-	cp .libs/libiconv.so preloadable_libiconv.so
-
-install : all force
-	if [ ! -d $(DESTDIR)$(libdir) ] ; then $(mkinstalldirs) $(DESTDIR)$(libdir) ; fi
-	if test -n "@PLUGLIB@"; then $(INSTALL_DATA) @PLUGLIB@ $(DESTDIR)$(libdir)/@PLUGLIB@.new && mv $(DESTDIR)$(libdir)/@PLUGLIB@.new $(DESTDIR)$(libdir)/@PLUGLIB@ ; fi
-
-install-strip : install
-
-installdirs : force
-	if [ ! -d $(DESTDIR)$(libdir) ] ; then $(mkinstalldirs) $(DESTDIR)$(libdir) ; fi
-
-uninstall : force
-	if test -n "@PLUGLIB@"; then $(RM) $(DESTDIR)$(libdir)/@PLUGLIB@ ; fi
-
-check : all
-
-mostlyclean : clean
-
-clean : force
-	$(RM) *.o *.lo *.a *.la preloadable_libiconv* core *.stackdump so_locations
-	$(RM) -r .libs _libs objects
-
-distclean : clean
-	$(RM) config.status config.log config.cache Makefile libtool
-
-maintainer-clean : distclean
-
-# List of source files.
-SOURCE_FILES = \
-  configure.ac Makefile.in Makefile.devel
-# List of distributed files imported from other packages.
-IMPORTED_FILES =
-# List of distributed files generated by autotools or Makefile.devel.
-GENERATED_FILES = \
-  aclocal.m4 configure
-# List of distributed files generated by "make".
-DISTRIBUTED_BUILT_FILES =
-# List of distributed files.
-DISTFILES = $(SOURCE_FILES) $(IMPORTED_FILES) $(GENERATED_FILES) $(DISTRIBUTED_BUILT_FILES)
-
-distdir : $(DISTFILES)
-	for file in $(DISTFILES); do \
-	  if test -f $$file; then dir='.'; else dir='$(srcdir)'; fi; \
-	  cp -p "$$dir/$$file" '$(distdir)'/$$file || exit 1; \
-	done
-
-force :
-
diff --git a/preload/configure.ac b/preload/configure.ac
deleted file mode 100644
index d3b8589..0000000
--- a/preload/configure.ac
+++ /dev/null
@@ -1,84 +0,0 @@
-dnl Copyright (C) 1999-2009, 2016-2017 Free Software Foundation, Inc.
-dnl This file is part of the GNU LIBICONV Library.
-dnl
-dnl The GNU LIBICONV Library is free software; you can redistribute it and/or
-dnl modify it under the terms of the GNU Library General Public License as
-dnl published by the Free Software Foundation; either version 2 of the
-dnl License, or (at your option) any later version.
-dnl
-dnl The GNU LIBICONV Library is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-dnl Library General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU Library General Public License
-dnl along with the GNU LIBICONV Library; see the file COPYING.LIB.  If not,
-dnl see <http://www.gnu.org/licenses/>.
-
-AC_PREREQ([2.60])
-AC_INIT([libiconv], [0])
-AC_CONFIG_SRCDIR([configure.ac])
-AC_CONFIG_AUX_DIR([../build-aux])
-AC_PROG_MAKE_SET
-
-dnl           checks for basic programs
-
-AC_PROG_CC
-AC_PROG_CPP
-AC_PROG_INSTALL
-
-dnl           check for host type
-
-AC_CANONICAL_HOST
-
-dnl           checks for installer options
-
-gl_RELOCATABLE_LIBRARY
-
-dnl           checks for programs
-
-AC_PROG_LN_S
-
-dnl           checks for UNIX variants that set DEFS
-
-AC_USE_SYSTEM_EXTENSIONS
-
-dnl           checks for compiler output filename suffixes
-
-AC_OBJEXT
-AC_EXEEXT
-
-dnl           check for build configuration
-
-dnl Here we need to build shared object files, regardless whether the user
-dnl wants to the libiconv library itself to be installed shared or static or
-dnl both. Except that if $LDFLAGS specifies static linking, the creation
-dnl of shared object files would fail anyway.
-case " $LDFLAGS " in
-  *" -static "*) ;;
-  *)
-    enable_shared=yes
-    enable_static=no
-    ;;
-esac
-LT_INIT([win32-dll])
-gl_VISIBILITY
-
-dnl           check whether OS supports plug libraries
-
-if test "$enable_shared" = yes; then
-  case "$host_os" in
-    linux* | solaris* | osf*)
-      PLUGLIB="preloadable_libiconv.so" ;;
-    *)
-      PLUGLIB=""
-  esac
-else
-  # If libtool is not configured for building shared libraries,
-  # the build rule for preloadable_libiconv.so would fail.
-  PLUGLIB=""
-fi
-AC_SUBST([PLUGLIB])
-
-AC_CONFIG_FILES([Makefile])
-AC_OUTPUT