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