guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 01/01: Avoid Gnulib unistr/* modules


From: Andy Wingo
Subject: [Guile-commits] 01/01: Avoid Gnulib unistr/* modules
Date: Sun, 10 Jul 2016 10:50:57 +0000 (UTC)

wingo pushed a commit to branch master
in repository guile.

commit b05b67b2b3677be51297791ad16cd73a37918ada
Author: Andy Wingo <address@hidden>
Date:   Sun Jul 10 12:44:35 2016 +0200

    Avoid Gnulib unistr/* modules
    
    (unistr/base, unistr/u8-mbtouc, unistr/u8-mbtouc-unsafe)
    (unistr/u8-mbtoucr, unistr/u8-prev unistr/u8-uctomb, unitypes): --avoid
    these modules.
---
 build-aux/snippet/unused-parameter.h |   36 --
 lib/Makefile.am                      |  101 +----
 lib/unistr.in.h                      |  750 ----------------------------------
 lib/unistr/u8-mbtouc-aux.c           |  240 -----------
 lib/unistr/u8-mbtouc-unsafe-aux.c    |  260 ------------
 lib/unistr/u8-mbtouc-unsafe.c        |  271 ------------
 lib/unistr/u8-mbtouc.c               |  250 ------------
 lib/unistr/u8-mbtoucr.c              |  285 -------------
 lib/unistr/u8-prev.c                 |   93 -----
 lib/unistr/u8-uctomb-aux.c           |   69 ----
 lib/unistr/u8-uctomb.c               |   88 ----
 lib/unitypes.in.h                    |   46 ---
 m4/gnulib-cache.m4                   |    4 +-
 m4/gnulib-comp.m4                    |   35 --
 m4/inline.m4                         |   40 --
 m4/libunistring-base.m4              |  141 -------
 16 files changed, 4 insertions(+), 2705 deletions(-)

diff --git a/build-aux/snippet/unused-parameter.h 
b/build-aux/snippet/unused-parameter.h
deleted file mode 100644
index 843db76..0000000
--- a/build-aux/snippet/unused-parameter.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* A C macro for declaring that specific function parameters are not used.
-   Copyright (C) 2008-2016 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* _GL_UNUSED_PARAMETER is a marker that can be appended to function parameter
-   declarations for parameters that are not used.  This helps to reduce
-   warnings, such as from GCC -Wunused-parameter.  The syntax is as follows:
-       type param _GL_UNUSED_PARAMETER
-   or more generally
-       param_decl _GL_UNUSED_PARAMETER
-   For example:
-       int param _GL_UNUSED_PARAMETER
-       int *(*param)(void) _GL_UNUSED_PARAMETER
-   Other possible, but obscure and discouraged syntaxes:
-       int _GL_UNUSED_PARAMETER *(*param)(void)
-       _GL_UNUSED_PARAMETER int *(*param)(void)
- */
-#ifndef _GL_UNUSED_PARAMETER
-# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
-#  define _GL_UNUSED_PARAMETER __attribute__ ((__unused__))
-# else
-#  define _GL_UNUSED_PARAMETER
-# endif
-#endif
diff --git a/lib/Makefile.am b/lib/Makefile.am
index b65c942..adf9537 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -21,9 +21,9 @@
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --local-dir=gnulib-local --lib=libgnu 
--source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests 
--aux-dir=build-aux --avoid=lock --lgpl=3 --conditional-dependencies --libtool 
--macro-prefix=gl --no-vc-files accept alignof alloca-opt announce-gen 
autobuild bind byteswap c-strcase canonicalize-lgpl ceil clock-time close 
connect copysign dirfd duplocale environ extensions flock floor fpieee frexp 
fstat fsync full-read full-write func gendocs getad [...]
+# Reproduce by: gnulib-tool --import --local-dir=gnulib-local --lib=libgnu 
--source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests 
--aux-dir=build-aux --avoid=lock --avoid=unistr/base --avoid=unistr/u8-mbtouc 
--avoid=unistr/u8-mbtouc-unsafe --avoid=unistr/u8-mbtoucr 
--avoid=unistr/u8-prev --avoid=unistr/u8-uctomb --avoid=unitypes --lgpl=3 
--conditional-dependencies --libtool --macro-prefix=gl --no-vc-files accept 
alignof alloca-opt announce-gen autobuild bind byteswap c-strcase  [...]
 
-AUTOMAKE_OPTIONS = 1.9.6 gnits subdir-objects
+AUTOMAKE_OPTIONS = 1.9.6 gnits
 
 SUBDIRS =
 noinst_HEADERS =
@@ -2014,31 +2014,6 @@ EXTRA_DIST += $(top_srcdir)/build-aux/snippet/c++defs.h
 
 ## end   gnulib module snippet/c++defs
 
-## begin gnulib module snippet/unused-parameter
-
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
-
-BUILT_SOURCES += unused-parameter.h
-# The unused-parameter.h that gets inserted into generated .h files is the same
-# as build-aux/snippet/unused-parameter.h, except that it has the copyright
-# header cut off.
-unused-parameter.h: $(top_srcdir)/build-aux/snippet/unused-parameter.h
-       $(AM_V_GEN)rm -f address@hidden $@ && \
-       sed -n -e '/GL_UNUSED_PARAMETER/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/unused-parameter.h \
-         > address@hidden && \
-       mv address@hidden $@
-MOSTLYCLEANFILES += unused-parameter.h unused-parameter.h-t
-
-UNUSED_PARAMETER_H=unused-parameter.h
-
-EXTRA_DIST += $(top_srcdir)/build-aux/snippet/unused-parameter.h
-
-## end   gnulib module snippet/unused-parameter
-
 ## begin gnulib module snippet/warn-on-use
 
 BUILT_SOURCES += warn-on-use.h
@@ -3161,78 +3136,6 @@ EXTRA_DIST += unistd.in.h
 
 ## end   gnulib module unistd
 
-## begin gnulib module unistr/base
-
-BUILT_SOURCES += $(LIBUNISTRING_UNISTR_H)
-
-unistr.h: unistr.in.h
-       $(AM_V_GEN)rm -f address@hidden $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         cat $(srcdir)/unistr.in.h; \
-       } > address@hidden && \
-       mv -f address@hidden $@
-MOSTLYCLEANFILES += unistr.h unistr.h-t
-
-EXTRA_DIST += unistr.in.h
-
-## end   gnulib module unistr/base
-
-## begin gnulib module unistr/u8-mbtouc
-
-if LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC
-libgnu_la_SOURCES += unistr/u8-mbtouc.c unistr/u8-mbtouc-aux.c
-endif
-
-## end   gnulib module unistr/u8-mbtouc
-
-## begin gnulib module unistr/u8-mbtouc-unsafe
-
-if LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_UNSAFE
-libgnu_la_SOURCES += unistr/u8-mbtouc-unsafe.c unistr/u8-mbtouc-unsafe-aux.c
-endif
-
-## end   gnulib module unistr/u8-mbtouc-unsafe
-
-## begin gnulib module unistr/u8-mbtoucr
-
-if LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR
-libgnu_la_SOURCES += unistr/u8-mbtoucr.c
-endif
-
-## end   gnulib module unistr/u8-mbtoucr
-
-## begin gnulib module unistr/u8-prev
-
-if LIBUNISTRING_COMPILE_UNISTR_U8_PREV
-libgnu_la_SOURCES += unistr/u8-prev.c
-endif
-
-## end   gnulib module unistr/u8-prev
-
-## begin gnulib module unistr/u8-uctomb
-
-if LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB
-libgnu_la_SOURCES += unistr/u8-uctomb.c unistr/u8-uctomb-aux.c
-endif
-
-## end   gnulib module unistr/u8-uctomb
-
-## begin gnulib module unitypes
-
-BUILT_SOURCES += $(LIBUNISTRING_UNITYPES_H)
-
-unitypes.h: unitypes.in.h
-       $(AM_V_GEN)rm -f address@hidden $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         cat $(srcdir)/unitypes.in.h; \
-       } > address@hidden && \
-       mv -f address@hidden $@
-MOSTLYCLEANFILES += unitypes.h unitypes.h-t
-
-EXTRA_DIST += unitypes.in.h
-
-## end   gnulib module unitypes
-
 ## begin gnulib module unsetenv
 
 if gl_GNULIB_ENABLED_unsetenv
diff --git a/lib/unistr.in.h b/lib/unistr.in.h
deleted file mode 100644
index 2a64b31..0000000
--- a/lib/unistr.in.h
+++ /dev/null
@@ -1,750 +0,0 @@
-/* Elementary Unicode string functions.
-   Copyright (C) 2001-2002, 2005-2016 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify it
-   under the terms of the GNU Lesser General Public License as published
-   by the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#ifndef _UNISTR_H
-#define _UNISTR_H
-
-#include "unitypes.h"
-
-/* Get common macros for C.  */
-#include "unused-parameter.h"
-
-/* Get bool.  */
-#include <stdbool.h>
-
-/* Get size_t.  */
-#include <stddef.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Conventions:
-
-   All functions prefixed with u8_ operate on UTF-8 encoded strings.
-   Their unit is an uint8_t (1 byte).
-
-   All functions prefixed with u16_ operate on UTF-16 encoded strings.
-   Their unit is an uint16_t (a 2-byte word).
-
-   All functions prefixed with u32_ operate on UCS-4 encoded strings.
-   Their unit is an uint32_t (a 4-byte word).
-
-   All argument pairs (s, n) denote a Unicode string s[0..n-1] with exactly
-   n units.
-
-   All arguments starting with "str" and the arguments of functions starting
-   with u8_str/u16_str/u32_str denote a NUL terminated string, i.e. a string
-   which terminates at the first NUL unit.  This termination unit is
-   considered part of the string for all memory allocation purposes, but
-   is not considered part of the string for all other logical purposes.
-
-   Functions returning a string result take a (resultbuf, lengthp) argument
-   pair.  If resultbuf is not NULL and the result fits into *lengthp units,
-   it is put in resultbuf, and resultbuf is returned.  Otherwise, a freshly
-   allocated string is returned.  In both cases, *lengthp is set to the
-   length (number of units) of the returned string.  In case of error,
-   NULL is returned and errno is set.  */
-
-
-/* Elementary string checks.  */
-
-/* Check whether an UTF-8 string is well-formed.
-   Return NULL if valid, or a pointer to the first invalid unit otherwise.  */
-extern const uint8_t *
-       u8_check (const uint8_t *s, size_t n)
-       _UC_ATTRIBUTE_PURE;
-
-/* Check whether an UTF-16 string is well-formed.
-   Return NULL if valid, or a pointer to the first invalid unit otherwise.  */
-extern const uint16_t *
-       u16_check (const uint16_t *s, size_t n)
-       _UC_ATTRIBUTE_PURE;
-
-/* Check whether an UCS-4 string is well-formed.
-   Return NULL if valid, or a pointer to the first invalid unit otherwise.  */
-extern const uint32_t *
-       u32_check (const uint32_t *s, size_t n)
-       _UC_ATTRIBUTE_PURE;
-
-
-/* Elementary string conversions.  */
-
-/* Convert an UTF-8 string to an UTF-16 string.  */
-extern uint16_t *
-       u8_to_u16 (const uint8_t *s, size_t n, uint16_t *resultbuf,
-                  size_t *lengthp);
-
-/* Convert an UTF-8 string to an UCS-4 string.  */
-extern uint32_t *
-       u8_to_u32 (const uint8_t *s, size_t n, uint32_t *resultbuf,
-                  size_t *lengthp);
-
-/* Convert an UTF-16 string to an UTF-8 string.  */
-extern uint8_t *
-       u16_to_u8 (const uint16_t *s, size_t n, uint8_t *resultbuf,
-                  size_t *lengthp);
-
-/* Convert an UTF-16 string to an UCS-4 string.  */
-extern uint32_t *
-       u16_to_u32 (const uint16_t *s, size_t n, uint32_t *resultbuf,
-                   size_t *lengthp);
-
-/* Convert an UCS-4 string to an UTF-8 string.  */
-extern uint8_t *
-       u32_to_u8 (const uint32_t *s, size_t n, uint8_t *resultbuf,
-                  size_t *lengthp);
-
-/* Convert an UCS-4 string to an UTF-16 string.  */
-extern uint16_t *
-       u32_to_u16 (const uint32_t *s, size_t n, uint16_t *resultbuf,
-                   size_t *lengthp);
-
-
-/* Elementary string functions.  */
-
-/* Return the length (number of units) of the first character in S, which is
-   no longer than N.  Return 0 if it is the NUL character.  Return -1 upon
-   failure.  */
-/* Similar to mblen(), except that s must not be NULL.  */
-extern int
-       u8_mblen (const uint8_t *s, size_t n)
-       _UC_ATTRIBUTE_PURE;
-extern int
-       u16_mblen (const uint16_t *s, size_t n)
-       _UC_ATTRIBUTE_PURE;
-extern int
-       u32_mblen (const uint32_t *s, size_t n)
-       _UC_ATTRIBUTE_PURE;
-
-/* Return the length (number of units) of the first character in S, putting
-   its 'ucs4_t' representation in *PUC.  Upon failure, *PUC is set to 0xfffd,
-   and an appropriate number of units is returned.
-   The number of available units, N, must be > 0.  */
-/* Similar to mbtowc(), except that puc and s must not be NULL, n must be > 0,
-   and the NUL character is not treated specially.  */
-/* The variants with _safe suffix are safe, even if the library is compiled
-   without --enable-safety.  */
-
-#if GNULIB_UNISTR_U8_MBTOUC_UNSAFE || HAVE_LIBUNISTRING
-# if !HAVE_INLINE
-extern int
-       u8_mbtouc_unsafe (ucs4_t *puc, const uint8_t *s, size_t n);
-# else
-extern int
-       u8_mbtouc_unsafe_aux (ucs4_t *puc, const uint8_t *s, size_t n);
-static inline int
-u8_mbtouc_unsafe (ucs4_t *puc, const uint8_t *s, size_t n)
-{
-  uint8_t c = *s;
-
-  if (c < 0x80)
-    {
-      *puc = c;
-      return 1;
-    }
-  else
-    return u8_mbtouc_unsafe_aux (puc, s, n);
-}
-# endif
-#endif
-
-#if GNULIB_UNISTR_U16_MBTOUC_UNSAFE || HAVE_LIBUNISTRING
-# if !HAVE_INLINE
-extern int
-       u16_mbtouc_unsafe (ucs4_t *puc, const uint16_t *s, size_t n);
-# else
-extern int
-       u16_mbtouc_unsafe_aux (ucs4_t *puc, const uint16_t *s, size_t n);
-static inline int
-u16_mbtouc_unsafe (ucs4_t *puc, const uint16_t *s, size_t n)
-{
-  uint16_t c = *s;
-
-  if (c < 0xd800 || c >= 0xe000)
-    {
-      *puc = c;
-      return 1;
-    }
-  else
-    return u16_mbtouc_unsafe_aux (puc, s, n);
-}
-# endif
-#endif
-
-#if GNULIB_UNISTR_U32_MBTOUC_UNSAFE || HAVE_LIBUNISTRING
-# if !HAVE_INLINE
-extern int
-       u32_mbtouc_unsafe (ucs4_t *puc, const uint32_t *s, size_t n);
-# else
-static inline int
-u32_mbtouc_unsafe (ucs4_t *puc,
-                   const uint32_t *s, size_t n _GL_UNUSED_PARAMETER)
-{
-  uint32_t c = *s;
-
-#  if CONFIG_UNICODE_SAFETY
-  if (c < 0xd800 || (c >= 0xe000 && c < 0x110000))
-#  endif
-    *puc = c;
-#  if CONFIG_UNICODE_SAFETY
-  else
-    /* invalid multibyte character */
-    *puc = 0xfffd;
-#  endif
-  return 1;
-}
-# endif
-#endif
-
-#if GNULIB_UNISTR_U8_MBTOUC || HAVE_LIBUNISTRING
-# if !HAVE_INLINE
-extern int
-       u8_mbtouc (ucs4_t *puc, const uint8_t *s, size_t n);
-# else
-extern int
-       u8_mbtouc_aux (ucs4_t *puc, const uint8_t *s, size_t n);
-static inline int
-u8_mbtouc (ucs4_t *puc, const uint8_t *s, size_t n)
-{
-  uint8_t c = *s;
-
-  if (c < 0x80)
-    {
-      *puc = c;
-      return 1;
-    }
-  else
-    return u8_mbtouc_aux (puc, s, n);
-}
-# endif
-#endif
-
-#if GNULIB_UNISTR_U16_MBTOUC || HAVE_LIBUNISTRING
-# if !HAVE_INLINE
-extern int
-       u16_mbtouc (ucs4_t *puc, const uint16_t *s, size_t n);
-# else
-extern int
-       u16_mbtouc_aux (ucs4_t *puc, const uint16_t *s, size_t n);
-static inline int
-u16_mbtouc (ucs4_t *puc, const uint16_t *s, size_t n)
-{
-  uint16_t c = *s;
-
-  if (c < 0xd800 || c >= 0xe000)
-    {
-      *puc = c;
-      return 1;
-    }
-  else
-    return u16_mbtouc_aux (puc, s, n);
-}
-# endif
-#endif
-
-#if GNULIB_UNISTR_U32_MBTOUC || HAVE_LIBUNISTRING
-# if !HAVE_INLINE
-extern int
-       u32_mbtouc (ucs4_t *puc, const uint32_t *s, size_t n);
-# else
-static inline int
-u32_mbtouc (ucs4_t *puc, const uint32_t *s, size_t n _GL_UNUSED_PARAMETER)
-{
-  uint32_t c = *s;
-
-  if (c < 0xd800 || (c >= 0xe000 && c < 0x110000))
-    *puc = c;
-  else
-    /* invalid multibyte character */
-    *puc = 0xfffd;
-  return 1;
-}
-# endif
-#endif
-
-/* Return the length (number of units) of the first character in S, putting
-   its 'ucs4_t' representation in *PUC.  Upon failure, *PUC is set to 0xfffd,
-   and -1 is returned for an invalid sequence of units, -2 is returned for an
-   incomplete sequence of units.
-   The number of available units, N, must be > 0.  */
-/* Similar to u*_mbtouc(), except that the return value gives more details
-   about the failure, similar to mbrtowc().  */
-
-#if GNULIB_UNISTR_U8_MBTOUCR || HAVE_LIBUNISTRING
-extern int
-       u8_mbtoucr (ucs4_t *puc, const uint8_t *s, size_t n);
-#endif
-
-#if GNULIB_UNISTR_U16_MBTOUCR || HAVE_LIBUNISTRING
-extern int
-       u16_mbtoucr (ucs4_t *puc, const uint16_t *s, size_t n);
-#endif
-
-#if GNULIB_UNISTR_U32_MBTOUCR || HAVE_LIBUNISTRING
-extern int
-       u32_mbtoucr (ucs4_t *puc, const uint32_t *s, size_t n);
-#endif
-
-/* Put the multibyte character represented by UC in S, returning its
-   length.  Return -1 upon failure, -2 if the number of available units, N,
-   is too small.  The latter case cannot occur if N >= 6/2/1, respectively.  */
-/* Similar to wctomb(), except that s must not be NULL, and the argument n
-   must be specified.  */
-
-#if GNULIB_UNISTR_U8_UCTOMB || HAVE_LIBUNISTRING
-/* Auxiliary function, also used by u8_chr, u8_strchr, u8_strrchr.  */
-extern int
-       u8_uctomb_aux (uint8_t *s, ucs4_t uc, int n);
-# if !HAVE_INLINE
-extern int
-       u8_uctomb (uint8_t *s, ucs4_t uc, int n);
-# else
-static inline int
-u8_uctomb (uint8_t *s, ucs4_t uc, int n)
-{
-  if (uc < 0x80 && n > 0)
-    {
-      s[0] = uc;
-      return 1;
-    }
-  else
-    return u8_uctomb_aux (s, uc, n);
-}
-# endif
-#endif
-
-#if GNULIB_UNISTR_U16_UCTOMB || HAVE_LIBUNISTRING
-/* Auxiliary function, also used by u16_chr, u16_strchr, u16_strrchr.  */
-extern int
-       u16_uctomb_aux (uint16_t *s, ucs4_t uc, int n);
-# if !HAVE_INLINE
-extern int
-       u16_uctomb (uint16_t *s, ucs4_t uc, int n);
-# else
-static inline int
-u16_uctomb (uint16_t *s, ucs4_t uc, int n)
-{
-  if (uc < 0xd800 && n > 0)
-    {
-      s[0] = uc;
-      return 1;
-    }
-  else
-    return u16_uctomb_aux (s, uc, n);
-}
-# endif
-#endif
-
-#if GNULIB_UNISTR_U32_UCTOMB || HAVE_LIBUNISTRING
-# if !HAVE_INLINE
-extern int
-       u32_uctomb (uint32_t *s, ucs4_t uc, int n);
-# else
-static inline int
-u32_uctomb (uint32_t *s, ucs4_t uc, int n)
-{
-  if (uc < 0xd800 || (uc >= 0xe000 && uc < 0x110000))
-    {
-      if (n > 0)
-        {
-          *s = uc;
-          return 1;
-        }
-      else
-        return -2;
-    }
-  else
-    return -1;
-}
-# endif
-#endif
-
-/* Copy N units from SRC to DEST.  */
-/* Similar to memcpy().  */
-extern uint8_t *
-       u8_cpy (uint8_t *dest, const uint8_t *src, size_t n);
-extern uint16_t *
-       u16_cpy (uint16_t *dest, const uint16_t *src, size_t n);
-extern uint32_t *
-       u32_cpy (uint32_t *dest, const uint32_t *src, size_t n);
-
-/* Copy N units from SRC to DEST, guaranteeing correct behavior for
-   overlapping memory areas.  */
-/* Similar to memmove().  */
-extern uint8_t *
-       u8_move (uint8_t *dest, const uint8_t *src, size_t n);
-extern uint16_t *
-       u16_move (uint16_t *dest, const uint16_t *src, size_t n);
-extern uint32_t *
-       u32_move (uint32_t *dest, const uint32_t *src, size_t n);
-
-/* Set the first N characters of S to UC.  UC should be a character that
-   occupies only 1 unit.  */
-/* Similar to memset().  */
-extern uint8_t *
-       u8_set (uint8_t *s, ucs4_t uc, size_t n);
-extern uint16_t *
-       u16_set (uint16_t *s, ucs4_t uc, size_t n);
-extern uint32_t *
-       u32_set (uint32_t *s, ucs4_t uc, size_t n);
-
-/* Compare S1 and S2, each of length N.  */
-/* Similar to memcmp().  */
-extern int
-       u8_cmp (const uint8_t *s1, const uint8_t *s2, size_t n)
-       _UC_ATTRIBUTE_PURE;
-extern int
-       u16_cmp (const uint16_t *s1, const uint16_t *s2, size_t n)
-       _UC_ATTRIBUTE_PURE;
-extern int
-       u32_cmp (const uint32_t *s1, const uint32_t *s2, size_t n)
-       _UC_ATTRIBUTE_PURE;
-
-/* Compare S1 and S2.  */
-/* Similar to the gnulib function memcmp2().  */
-extern int
-       u8_cmp2 (const uint8_t *s1, size_t n1, const uint8_t *s2, size_t n2)
-       _UC_ATTRIBUTE_PURE;
-extern int
-       u16_cmp2 (const uint16_t *s1, size_t n1, const uint16_t *s2, size_t n2)
-       _UC_ATTRIBUTE_PURE;
-extern int
-       u32_cmp2 (const uint32_t *s1, size_t n1, const uint32_t *s2, size_t n2)
-       _UC_ATTRIBUTE_PURE;
-
-/* Search the string at S for UC.  */
-/* Similar to memchr().  */
-extern uint8_t *
-       u8_chr (const uint8_t *s, size_t n, ucs4_t uc)
-       _UC_ATTRIBUTE_PURE;
-extern uint16_t *
-       u16_chr (const uint16_t *s, size_t n, ucs4_t uc)
-       _UC_ATTRIBUTE_PURE;
-extern uint32_t *
-       u32_chr (const uint32_t *s, size_t n, ucs4_t uc)
-       _UC_ATTRIBUTE_PURE;
-
-/* Count the number of Unicode characters in the N units from S.  */
-/* Similar to mbsnlen().  */
-extern size_t
-       u8_mbsnlen (const uint8_t *s, size_t n)
-       _UC_ATTRIBUTE_PURE;
-extern size_t
-       u16_mbsnlen (const uint16_t *s, size_t n)
-       _UC_ATTRIBUTE_PURE;
-extern size_t
-       u32_mbsnlen (const uint32_t *s, size_t n)
-       _UC_ATTRIBUTE_PURE;
-
-/* Elementary string functions with memory allocation.  */
-
-/* Make a freshly allocated copy of S, of length N.  */
-extern uint8_t *
-       u8_cpy_alloc (const uint8_t *s, size_t n);
-extern uint16_t *
-       u16_cpy_alloc (const uint16_t *s, size_t n);
-extern uint32_t *
-       u32_cpy_alloc (const uint32_t *s, size_t n);
-
-/* Elementary string functions on NUL terminated strings.  */
-
-/* Return the length (number of units) of the first character in S.
-   Return 0 if it is the NUL character.  Return -1 upon failure.  */
-extern int
-       u8_strmblen (const uint8_t *s)
-       _UC_ATTRIBUTE_PURE;
-extern int
-       u16_strmblen (const uint16_t *s)
-       _UC_ATTRIBUTE_PURE;
-extern int
-       u32_strmblen (const uint32_t *s)
-       _UC_ATTRIBUTE_PURE;
-
-/* Return the length (number of units) of the first character in S, putting
-   its 'ucs4_t' representation in *PUC.  Return 0 if it is the NUL
-   character.  Return -1 upon failure.  */
-extern int
-       u8_strmbtouc (ucs4_t *puc, const uint8_t *s);
-extern int
-       u16_strmbtouc (ucs4_t *puc, const uint16_t *s);
-extern int
-       u32_strmbtouc (ucs4_t *puc, const uint32_t *s);
-
-/* Forward iteration step.  Advances the pointer past the next character,
-   or returns NULL if the end of the string has been reached.  Puts the
-   character's 'ucs4_t' representation in *PUC.  */
-extern const uint8_t *
-       u8_next (ucs4_t *puc, const uint8_t *s);
-extern const uint16_t *
-       u16_next (ucs4_t *puc, const uint16_t *s);
-extern const uint32_t *
-       u32_next (ucs4_t *puc, const uint32_t *s);
-
-/* Backward iteration step.  Advances the pointer to point to the previous
-   character, or returns NULL if the beginning of the string had been reached.
-   Puts the character's 'ucs4_t' representation in *PUC.  */
-extern const uint8_t *
-       u8_prev (ucs4_t *puc, const uint8_t *s, const uint8_t *start);
-extern const uint16_t *
-       u16_prev (ucs4_t *puc, const uint16_t *s, const uint16_t *start);
-extern const uint32_t *
-       u32_prev (ucs4_t *puc, const uint32_t *s, const uint32_t *start);
-
-/* Return the number of units in S.  */
-/* Similar to strlen(), wcslen().  */
-extern size_t
-       u8_strlen (const uint8_t *s)
-       _UC_ATTRIBUTE_PURE;
-extern size_t
-       u16_strlen (const uint16_t *s)
-       _UC_ATTRIBUTE_PURE;
-extern size_t
-       u32_strlen (const uint32_t *s)
-       _UC_ATTRIBUTE_PURE;
-
-/* Return the number of units in S, but at most MAXLEN.  */
-/* Similar to strnlen(), wcsnlen().  */
-extern size_t
-       u8_strnlen (const uint8_t *s, size_t maxlen)
-       _UC_ATTRIBUTE_PURE;
-extern size_t
-       u16_strnlen (const uint16_t *s, size_t maxlen)
-       _UC_ATTRIBUTE_PURE;
-extern size_t
-       u32_strnlen (const uint32_t *s, size_t maxlen)
-       _UC_ATTRIBUTE_PURE;
-
-/* Copy SRC to DEST.  */
-/* Similar to strcpy(), wcscpy().  */
-extern uint8_t *
-       u8_strcpy (uint8_t *dest, const uint8_t *src);
-extern uint16_t *
-       u16_strcpy (uint16_t *dest, const uint16_t *src);
-extern uint32_t *
-       u32_strcpy (uint32_t *dest, const uint32_t *src);
-
-/* Copy SRC to DEST, returning the address of the terminating NUL in DEST.  */
-/* Similar to stpcpy().  */
-extern uint8_t *
-       u8_stpcpy (uint8_t *dest, const uint8_t *src);
-extern uint16_t *
-       u16_stpcpy (uint16_t *dest, const uint16_t *src);
-extern uint32_t *
-       u32_stpcpy (uint32_t *dest, const uint32_t *src);
-
-/* Copy no more than N units of SRC to DEST.  */
-/* Similar to strncpy(), wcsncpy().  */
-extern uint8_t *
-       u8_strncpy (uint8_t *dest, const uint8_t *src, size_t n);
-extern uint16_t *
-       u16_strncpy (uint16_t *dest, const uint16_t *src, size_t n);
-extern uint32_t *
-       u32_strncpy (uint32_t *dest, const uint32_t *src, size_t n);
-
-/* Copy no more than N units of SRC to DEST.  Return a pointer past the last
-   non-NUL unit written into DEST.  */
-/* Similar to stpncpy().  */
-extern uint8_t *
-       u8_stpncpy (uint8_t *dest, const uint8_t *src, size_t n);
-extern uint16_t *
-       u16_stpncpy (uint16_t *dest, const uint16_t *src, size_t n);
-extern uint32_t *
-       u32_stpncpy (uint32_t *dest, const uint32_t *src, size_t n);
-
-/* Append SRC onto DEST.  */
-/* Similar to strcat(), wcscat().  */
-extern uint8_t *
-       u8_strcat (uint8_t *dest, const uint8_t *src);
-extern uint16_t *
-       u16_strcat (uint16_t *dest, const uint16_t *src);
-extern uint32_t *
-       u32_strcat (uint32_t *dest, const uint32_t *src);
-
-/* Append no more than N units of SRC onto DEST.  */
-/* Similar to strncat(), wcsncat().  */
-extern uint8_t *
-       u8_strncat (uint8_t *dest, const uint8_t *src, size_t n);
-extern uint16_t *
-       u16_strncat (uint16_t *dest, const uint16_t *src, size_t n);
-extern uint32_t *
-       u32_strncat (uint32_t *dest, const uint32_t *src, size_t n);
-
-/* Compare S1 and S2.  */
-/* Similar to strcmp(), wcscmp().  */
-#ifdef __sun
-/* Avoid a collision with the u8_strcmp() function in Solaris 11 libc.  */
-extern int
-       u8_strcmp_gnu (const uint8_t *s1, const uint8_t *s2)
-       _UC_ATTRIBUTE_PURE;
-# define u8_strcmp u8_strcmp_gnu
-#else
-extern int
-       u8_strcmp (const uint8_t *s1, const uint8_t *s2)
-       _UC_ATTRIBUTE_PURE;
-#endif
-extern int
-       u16_strcmp (const uint16_t *s1, const uint16_t *s2)
-       _UC_ATTRIBUTE_PURE;
-extern int
-       u32_strcmp (const uint32_t *s1, const uint32_t *s2)
-       _UC_ATTRIBUTE_PURE;
-
-/* Compare S1 and S2 using the collation rules of the current locale.
-   Return -1 if S1 < S2, 0 if S1 = S2, 1 if S1 > S2.
-   Upon failure, set errno and return any value.  */
-/* Similar to strcoll(), wcscoll().  */
-extern int
-       u8_strcoll (const uint8_t *s1, const uint8_t *s2);
-extern int
-       u16_strcoll (const uint16_t *s1, const uint16_t *s2);
-extern int
-       u32_strcoll (const uint32_t *s1, const uint32_t *s2);
-
-/* Compare no more than N units of S1 and S2.  */
-/* Similar to strncmp(), wcsncmp().  */
-extern int
-       u8_strncmp (const uint8_t *s1, const uint8_t *s2, size_t n)
-       _UC_ATTRIBUTE_PURE;
-extern int
-       u16_strncmp (const uint16_t *s1, const uint16_t *s2, size_t n)
-       _UC_ATTRIBUTE_PURE;
-extern int
-       u32_strncmp (const uint32_t *s1, const uint32_t *s2, size_t n)
-       _UC_ATTRIBUTE_PURE;
-
-/* Duplicate S, returning an identical malloc'd string.  */
-/* Similar to strdup(), wcsdup().  */
-extern uint8_t *
-       u8_strdup (const uint8_t *s);
-extern uint16_t *
-       u16_strdup (const uint16_t *s);
-extern uint32_t *
-       u32_strdup (const uint32_t *s);
-
-/* Find the first occurrence of UC in STR.  */
-/* Similar to strchr(), wcschr().  */
-extern uint8_t *
-       u8_strchr (const uint8_t *str, ucs4_t uc)
-       _UC_ATTRIBUTE_PURE;
-extern uint16_t *
-       u16_strchr (const uint16_t *str, ucs4_t uc)
-       _UC_ATTRIBUTE_PURE;
-extern uint32_t *
-       u32_strchr (const uint32_t *str, ucs4_t uc)
-       _UC_ATTRIBUTE_PURE;
-
-/* Find the last occurrence of UC in STR.  */
-/* Similar to strrchr(), wcsrchr().  */
-extern uint8_t *
-       u8_strrchr (const uint8_t *str, ucs4_t uc)
-       _UC_ATTRIBUTE_PURE;
-extern uint16_t *
-       u16_strrchr (const uint16_t *str, ucs4_t uc)
-       _UC_ATTRIBUTE_PURE;
-extern uint32_t *
-       u32_strrchr (const uint32_t *str, ucs4_t uc)
-       _UC_ATTRIBUTE_PURE;
-
-/* Return the length of the initial segment of STR which consists entirely
-   of Unicode characters not in REJECT.  */
-/* Similar to strcspn(), wcscspn().  */
-extern size_t
-       u8_strcspn (const uint8_t *str, const uint8_t *reject)
-       _UC_ATTRIBUTE_PURE;
-extern size_t
-       u16_strcspn (const uint16_t *str, const uint16_t *reject)
-       _UC_ATTRIBUTE_PURE;
-extern size_t
-       u32_strcspn (const uint32_t *str, const uint32_t *reject)
-       _UC_ATTRIBUTE_PURE;
-
-/* Return the length of the initial segment of STR which consists entirely
-   of Unicode characters in ACCEPT.  */
-/* Similar to strspn(), wcsspn().  */
-extern size_t
-       u8_strspn (const uint8_t *str, const uint8_t *accept)
-       _UC_ATTRIBUTE_PURE;
-extern size_t
-       u16_strspn (const uint16_t *str, const uint16_t *accept)
-       _UC_ATTRIBUTE_PURE;
-extern size_t
-       u32_strspn (const uint32_t *str, const uint32_t *accept)
-       _UC_ATTRIBUTE_PURE;
-
-/* Find the first occurrence in STR of any character in ACCEPT.  */
-/* Similar to strpbrk(), wcspbrk().  */
-extern uint8_t *
-       u8_strpbrk (const uint8_t *str, const uint8_t *accept)
-       _UC_ATTRIBUTE_PURE;
-extern uint16_t *
-       u16_strpbrk (const uint16_t *str, const uint16_t *accept)
-       _UC_ATTRIBUTE_PURE;
-extern uint32_t *
-       u32_strpbrk (const uint32_t *str, const uint32_t *accept)
-       _UC_ATTRIBUTE_PURE;
-
-/* Find the first occurrence of NEEDLE in HAYSTACK.  */
-/* Similar to strstr(), wcsstr().  */
-extern uint8_t *
-       u8_strstr (const uint8_t *haystack, const uint8_t *needle)
-       _UC_ATTRIBUTE_PURE;
-extern uint16_t *
-       u16_strstr (const uint16_t *haystack, const uint16_t *needle)
-       _UC_ATTRIBUTE_PURE;
-extern uint32_t *
-       u32_strstr (const uint32_t *haystack, const uint32_t *needle)
-       _UC_ATTRIBUTE_PURE;
-
-/* Test whether STR starts with PREFIX.  */
-extern bool
-       u8_startswith (const uint8_t *str, const uint8_t *prefix)
-       _UC_ATTRIBUTE_PURE;
-extern bool
-       u16_startswith (const uint16_t *str, const uint16_t *prefix)
-       _UC_ATTRIBUTE_PURE;
-extern bool
-       u32_startswith (const uint32_t *str, const uint32_t *prefix)
-       _UC_ATTRIBUTE_PURE;
-
-/* Test whether STR ends with SUFFIX.  */
-extern bool
-       u8_endswith (const uint8_t *str, const uint8_t *suffix)
-       _UC_ATTRIBUTE_PURE;
-extern bool
-       u16_endswith (const uint16_t *str, const uint16_t *suffix)
-       _UC_ATTRIBUTE_PURE;
-extern bool
-       u32_endswith (const uint32_t *str, const uint32_t *suffix)
-       _UC_ATTRIBUTE_PURE;
-
-/* Divide STR into tokens separated by characters in DELIM.
-   This interface is actually more similar to wcstok than to strtok.  */
-/* Similar to strtok_r(), wcstok().  */
-extern uint8_t *
-       u8_strtok (uint8_t *str, const uint8_t *delim, uint8_t **ptr);
-extern uint16_t *
-       u16_strtok (uint16_t *str, const uint16_t *delim, uint16_t **ptr);
-extern uint32_t *
-       u32_strtok (uint32_t *str, const uint32_t *delim, uint32_t **ptr);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _UNISTR_H */
diff --git a/lib/unistr/u8-mbtouc-aux.c b/lib/unistr/u8-mbtouc-aux.c
deleted file mode 100644
index d546ae7..0000000
--- a/lib/unistr/u8-mbtouc-aux.c
+++ /dev/null
@@ -1,240 +0,0 @@
-/* Conversion UTF-8 to UCS-4.
-   Copyright (C) 2001-2002, 2006-2007, 2009-2016 Free Software Foundation, Inc.
-   Written by Bruno Haible <address@hidden>, 2001.
-
-   This program is free software: you can redistribute it and/or modify it
-   under the terms of the GNU Lesser General Public License as published
-   by the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-/* Specification.  */
-#include "unistr.h"
-
-#if defined IN_LIBUNISTRING || HAVE_INLINE
-
-int
-u8_mbtouc_aux (ucs4_t *puc, const uint8_t *s, size_t n)
-{
-  uint8_t c = *s;
-
-  if (c >= 0xc2)
-    {
-      if (c < 0xe0)
-        {
-          if (n >= 2)
-            {
-              if ((s[1] ^ 0x80) < 0x40)
-                {
-                  *puc = ((unsigned int) (c & 0x1f) << 6)
-                         | (unsigned int) (s[1] ^ 0x80);
-                  return 2;
-                }
-              /* invalid multibyte character */
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              return 1;
-            }
-        }
-      else if (c < 0xf0)
-        {
-          if (n >= 3)
-            {
-              if ((s[1] ^ 0x80) < 0x40)
-                {
-                  if ((s[2] ^ 0x80) < 0x40)
-                    {
-                      if ((c >= 0xe1 || s[1] >= 0xa0)
-                          && (c != 0xed || s[1] < 0xa0))
-                        {
-                          *puc = ((unsigned int) (c & 0x0f) << 12)
-                                 | ((unsigned int) (s[1] ^ 0x80) << 6)
-                                 | (unsigned int) (s[2] ^ 0x80);
-                          return 3;
-                        }
-                      /* invalid multibyte character */
-                      *puc = 0xfffd;
-                      return 3;
-                    }
-                  /* invalid multibyte character */
-                  *puc = 0xfffd;
-                  return 2;
-                }
-              /* invalid multibyte character */
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              if (n == 1 || (s[1] ^ 0x80) >= 0x40)
-                return 1;
-              else
-                return 2;
-            }
-        }
-      else if (c < 0xf8)
-        {
-          if (n >= 4)
-            {
-              if ((s[1] ^ 0x80) < 0x40)
-                {
-                  if ((s[2] ^ 0x80) < 0x40)
-                    {
-                      if ((s[3] ^ 0x80) < 0x40)
-                        {
-                          if ((c >= 0xf1 || s[1] >= 0x90)
-#if 1
-                              && (c < 0xf4 || (c == 0xf4 && s[1] < 0x90))
-#endif
-                             )
-                            {
-                              *puc = ((unsigned int) (c & 0x07) << 18)
-                                     | ((unsigned int) (s[1] ^ 0x80) << 12)
-                                     | ((unsigned int) (s[2] ^ 0x80) << 6)
-                                     | (unsigned int) (s[3] ^ 0x80);
-                              return 4;
-                            }
-                          /* invalid multibyte character */
-                          *puc = 0xfffd;
-                          return 4;
-                        }
-                      /* invalid multibyte character */
-                      *puc = 0xfffd;
-                      return 3;
-                    }
-                  /* invalid multibyte character */
-                  *puc = 0xfffd;
-                  return 2;
-                }
-              /* invalid multibyte character */
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              if (n == 1 || (s[1] ^ 0x80) >= 0x40)
-                return 1;
-              else if (n == 2 || (s[2] ^ 0x80) >= 0x40)
-                return 2;
-              else
-                return 3;
-            }
-        }
-#if 0
-      else if (c < 0xfc)
-        {
-          if (n >= 5)
-            {
-              if ((s[1] ^ 0x80) < 0x40)
-                {
-                  if ((s[2] ^ 0x80) < 0x40)
-                    {
-                      if ((s[3] ^ 0x80) < 0x40)
-                        {
-                          if ((s[4] ^ 0x80) < 0x40)
-                            {
-                              if (c >= 0xf9 || s[1] >= 0x88)
-                                {
-                                  *puc = ((unsigned int) (c & 0x03) << 24)
-                                         | ((unsigned int) (s[1] ^ 0x80) << 18)
-                                         | ((unsigned int) (s[2] ^ 0x80) << 12)
-                                         | ((unsigned int) (s[3] ^ 0x80) << 6)
-                                         | (unsigned int) (s[4] ^ 0x80);
-                                  return 5;
-                                }
-                              /* invalid multibyte character */
-                              *puc = 0xfffd;
-                              return 5;
-                            }
-                          /* invalid multibyte character */
-                          *puc = 0xfffd;
-                          return 4;
-                        }
-                      /* invalid multibyte character */
-                      *puc = 0xfffd;
-                      return 3;
-                    }
-                  /* invalid multibyte character */
-                  return 2;
-                }
-              /* invalid multibyte character */
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              return n;
-            }
-        }
-      else if (c < 0xfe)
-        {
-          if (n >= 6)
-            {
-              if ((s[1] ^ 0x80) < 0x40)
-                {
-                  if ((s[2] ^ 0x80) < 0x40)
-                    {
-                      if ((s[3] ^ 0x80) < 0x40)
-                        {
-                          if ((s[4] ^ 0x80) < 0x40)
-                            {
-                              if ((s[5] ^ 0x80) < 0x40)
-                                {
-                                  if (c >= 0xfd || s[1] >= 0x84)
-                                    {
-                                      *puc = ((unsigned int) (c & 0x01) << 30)
-                                             | ((unsigned int) (s[1] ^ 0x80) 
<< 24)
-                                             | ((unsigned int) (s[2] ^ 0x80) 
<< 18)
-                                             | ((unsigned int) (s[3] ^ 0x80) 
<< 12)
-                                             | ((unsigned int) (s[4] ^ 0x80) 
<< 6)
-                                             | (unsigned int) (s[5] ^ 0x80);
-                                      return 6;
-                                    }
-                                  /* invalid multibyte character */
-                                  *puc = 0xfffd;
-                                  return 6;
-                                }
-                              /* invalid multibyte character */
-                              *puc = 0xfffd;
-                              return 5;
-                            }
-                          /* invalid multibyte character */
-                          *puc = 0xfffd;
-                          return 4;
-                        }
-                      /* invalid multibyte character */
-                      *puc = 0xfffd;
-                      return 3;
-                    }
-                  /* invalid multibyte character */
-                  return 2;
-                }
-              /* invalid multibyte character */
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              return n;
-            }
-        }
-#endif
-    }
-  /* invalid multibyte character */
-  *puc = 0xfffd;
-  return 1;
-}
-
-#endif
diff --git a/lib/unistr/u8-mbtouc-unsafe-aux.c 
b/lib/unistr/u8-mbtouc-unsafe-aux.c
deleted file mode 100644
index 61783e4..0000000
--- a/lib/unistr/u8-mbtouc-unsafe-aux.c
+++ /dev/null
@@ -1,260 +0,0 @@
-/* Conversion UTF-8 to UCS-4.
-   Copyright (C) 2001-2002, 2006-2007, 2009-2016 Free Software Foundation, Inc.
-   Written by Bruno Haible <address@hidden>, 2001.
-
-   This program is free software: you can redistribute it and/or modify it
-   under the terms of the GNU Lesser General Public License as published
-   by the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-/* Specification.  */
-#include "unistr.h"
-
-#if defined IN_LIBUNISTRING || HAVE_INLINE
-
-int
-u8_mbtouc_unsafe_aux (ucs4_t *puc, const uint8_t *s, size_t n)
-{
-  uint8_t c = *s;
-
-  if (c >= 0xc2)
-    {
-      if (c < 0xe0)
-        {
-          if (n >= 2)
-            {
-#if CONFIG_UNICODE_SAFETY
-              if ((s[1] ^ 0x80) < 0x40)
-#endif
-                {
-                  *puc = ((unsigned int) (c & 0x1f) << 6)
-                         | (unsigned int) (s[1] ^ 0x80);
-                  return 2;
-                }
-#if CONFIG_UNICODE_SAFETY
-              /* invalid multibyte character */
-#endif
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              return 1;
-            }
-        }
-      else if (c < 0xf0)
-        {
-          if (n >= 3)
-            {
-#if CONFIG_UNICODE_SAFETY
-              if ((s[1] ^ 0x80) < 0x40)
-                {
-                  if ((s[2] ^ 0x80) < 0x40)
-                    {
-                      if ((c >= 0xe1 || s[1] >= 0xa0)
-                          && (c != 0xed || s[1] < 0xa0))
-#endif
-                        {
-                          *puc = ((unsigned int) (c & 0x0f) << 12)
-                                 | ((unsigned int) (s[1] ^ 0x80) << 6)
-                                 | (unsigned int) (s[2] ^ 0x80);
-                          return 3;
-                        }
-#if CONFIG_UNICODE_SAFETY
-                      /* invalid multibyte character */
-                      *puc = 0xfffd;
-                      return 3;
-                    }
-                  /* invalid multibyte character */
-                  *puc = 0xfffd;
-                  return 2;
-                }
-              /* invalid multibyte character */
-#endif
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              if (n == 1 || (s[1] ^ 0x80) >= 0x40)
-                return 1;
-              else
-                return 2;
-            }
-        }
-      else if (c < 0xf8)
-        {
-          if (n >= 4)
-            {
-#if CONFIG_UNICODE_SAFETY
-              if ((s[1] ^ 0x80) < 0x40)
-                {
-                  if ((s[2] ^ 0x80) < 0x40)
-                    {
-                      if ((s[3] ^ 0x80) < 0x40)
-                        {
-                          if ((c >= 0xf1 || s[1] >= 0x90)
-#if 1
-                              && (c < 0xf4 || (c == 0xf4 && s[1] < 0x90))
-#endif
-                             )
-#endif
-                            {
-                              *puc = ((unsigned int) (c & 0x07) << 18)
-                                     | ((unsigned int) (s[1] ^ 0x80) << 12)
-                                     | ((unsigned int) (s[2] ^ 0x80) << 6)
-                                     | (unsigned int) (s[3] ^ 0x80);
-                              return 4;
-                            }
-#if CONFIG_UNICODE_SAFETY
-                          /* invalid multibyte character */
-                          *puc = 0xfffd;
-                          return 4;
-                        }
-                      /* invalid multibyte character */
-                      *puc = 0xfffd;
-                      return 3;
-                    }
-                  /* invalid multibyte character */
-                  *puc = 0xfffd;
-                  return 2;
-                }
-              /* invalid multibyte character */
-#endif
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              if (n == 1 || (s[1] ^ 0x80) >= 0x40)
-                return 1;
-              else if (n == 2 || (s[2] ^ 0x80) >= 0x40)
-                return 2;
-              else
-                return 3;
-            }
-        }
-#if 0
-      else if (c < 0xfc)
-        {
-          if (n >= 5)
-            {
-#if CONFIG_UNICODE_SAFETY
-              if ((s[1] ^ 0x80) < 0x40)
-                {
-                  if ((s[2] ^ 0x80) < 0x40)
-                    {
-                      if ((s[3] ^ 0x80) < 0x40)
-                        {
-                          if ((s[4] ^ 0x80) < 0x40)
-                            {
-                              if (c >= 0xf9 || s[1] >= 0x88)
-#endif
-                                {
-                                  *puc = ((unsigned int) (c & 0x03) << 24)
-                                         | ((unsigned int) (s[1] ^ 0x80) << 18)
-                                         | ((unsigned int) (s[2] ^ 0x80) << 12)
-                                         | ((unsigned int) (s[3] ^ 0x80) << 6)
-                                         | (unsigned int) (s[4] ^ 0x80);
-                                  return 5;
-                                }
-#if CONFIG_UNICODE_SAFETY
-                              /* invalid multibyte character */
-                              *puc = 0xfffd;
-                              return 5;
-                            }
-                          /* invalid multibyte character */
-                          *puc = 0xfffd;
-                          return 4;
-                        }
-                      /* invalid multibyte character */
-                      *puc = 0xfffd;
-                      return 3;
-                    }
-                  /* invalid multibyte character */
-                  return 2;
-                }
-              /* invalid multibyte character */
-#endif
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              return n;
-            }
-        }
-      else if (c < 0xfe)
-        {
-          if (n >= 6)
-            {
-#if CONFIG_UNICODE_SAFETY
-              if ((s[1] ^ 0x80) < 0x40)
-                {
-                  if ((s[2] ^ 0x80) < 0x40)
-                    {
-                      if ((s[3] ^ 0x80) < 0x40)
-                        {
-                          if ((s[4] ^ 0x80) < 0x40)
-                            {
-                              if ((s[5] ^ 0x80) < 0x40)
-                                {
-                                  if (c >= 0xfd || s[1] >= 0x84)
-#endif
-                                    {
-                                      *puc = ((unsigned int) (c & 0x01) << 30)
-                                             | ((unsigned int) (s[1] ^ 0x80) 
<< 24)
-                                             | ((unsigned int) (s[2] ^ 0x80) 
<< 18)
-                                             | ((unsigned int) (s[3] ^ 0x80) 
<< 12)
-                                             | ((unsigned int) (s[4] ^ 0x80) 
<< 6)
-                                             | (unsigned int) (s[5] ^ 0x80);
-                                      return 6;
-                                    }
-#if CONFIG_UNICODE_SAFETY
-                                  /* invalid multibyte character */
-                                  *puc = 0xfffd;
-                                  return 6;
-                                }
-                              /* invalid multibyte character */
-                              *puc = 0xfffd;
-                              return 5;
-                            }
-                          /* invalid multibyte character */
-                          *puc = 0xfffd;
-                          return 4;
-                        }
-                      /* invalid multibyte character */
-                      *puc = 0xfffd;
-                      return 3;
-                    }
-                  /* invalid multibyte character */
-                  return 2;
-                }
-              /* invalid multibyte character */
-#endif
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              return n;
-            }
-        }
-#endif
-    }
-  /* invalid multibyte character */
-  *puc = 0xfffd;
-  return 1;
-}
-
-#endif
diff --git a/lib/unistr/u8-mbtouc-unsafe.c b/lib/unistr/u8-mbtouc-unsafe.c
deleted file mode 100644
index b73e99a..0000000
--- a/lib/unistr/u8-mbtouc-unsafe.c
+++ /dev/null
@@ -1,271 +0,0 @@
-/* Look at first character in UTF-8 string.
-   Copyright (C) 1999-2002, 2006-2007, 2009-2016 Free Software Foundation, Inc.
-   Written by Bruno Haible <address@hidden>, 2001.
-
-   This program is free software: you can redistribute it and/or modify it
-   under the terms of the GNU Lesser General Public License as published
-   by the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-#if defined IN_LIBUNISTRING
-/* Tell unistr.h to declare u8_mbtouc_unsafe as 'extern', not
-   'static inline'.  */
-# include "unistring-notinline.h"
-#endif
-
-/* Specification.  */
-#include "unistr.h"
-
-#if !HAVE_INLINE
-
-int
-u8_mbtouc_unsafe (ucs4_t *puc, const uint8_t *s, size_t n)
-{
-  uint8_t c = *s;
-
-  if (c < 0x80)
-    {
-      *puc = c;
-      return 1;
-    }
-  else if (c >= 0xc2)
-    {
-      if (c < 0xe0)
-        {
-          if (n >= 2)
-            {
-#if CONFIG_UNICODE_SAFETY
-              if ((s[1] ^ 0x80) < 0x40)
-#endif
-                {
-                  *puc = ((unsigned int) (c & 0x1f) << 6)
-                         | (unsigned int) (s[1] ^ 0x80);
-                  return 2;
-                }
-#if CONFIG_UNICODE_SAFETY
-              /* invalid multibyte character */
-#endif
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              return 1;
-            }
-        }
-      else if (c < 0xf0)
-        {
-          if (n >= 3)
-            {
-#if CONFIG_UNICODE_SAFETY
-              if ((s[1] ^ 0x80) < 0x40)
-                {
-                  if ((s[2] ^ 0x80) < 0x40)
-                    {
-                      if ((c >= 0xe1 || s[1] >= 0xa0)
-                          && (c != 0xed || s[1] < 0xa0))
-#endif
-                        {
-                          *puc = ((unsigned int) (c & 0x0f) << 12)
-                                 | ((unsigned int) (s[1] ^ 0x80) << 6)
-                                 | (unsigned int) (s[2] ^ 0x80);
-                          return 3;
-                        }
-#if CONFIG_UNICODE_SAFETY
-                      /* invalid multibyte character */
-                      *puc = 0xfffd;
-                      return 3;
-                    }
-                  /* invalid multibyte character */
-                  *puc = 0xfffd;
-                  return 2;
-                }
-              /* invalid multibyte character */
-#endif
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              if (n == 1 || (s[1] ^ 0x80) >= 0x40)
-                return 1;
-              else
-                return 2;
-            }
-        }
-      else if (c < 0xf8)
-        {
-          if (n >= 4)
-            {
-#if CONFIG_UNICODE_SAFETY
-              if ((s[1] ^ 0x80) < 0x40)
-                {
-                  if ((s[2] ^ 0x80) < 0x40)
-                    {
-                      if ((s[3] ^ 0x80) < 0x40)
-                        {
-                          if ((c >= 0xf1 || s[1] >= 0x90)
-#if 1
-                              && (c < 0xf4 || (c == 0xf4 && s[1] < 0x90))
-#endif
-                             )
-#endif
-                            {
-                              *puc = ((unsigned int) (c & 0x07) << 18)
-                                     | ((unsigned int) (s[1] ^ 0x80) << 12)
-                                     | ((unsigned int) (s[2] ^ 0x80) << 6)
-                                     | (unsigned int) (s[3] ^ 0x80);
-                              return 4;
-                            }
-#if CONFIG_UNICODE_SAFETY
-                          /* invalid multibyte character */
-                          *puc = 0xfffd;
-                          return 4;
-                        }
-                      /* invalid multibyte character */
-                      *puc = 0xfffd;
-                      return 3;
-                    }
-                  /* invalid multibyte character */
-                  *puc = 0xfffd;
-                  return 2;
-                }
-              /* invalid multibyte character */
-#endif
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              if (n == 1 || (s[1] ^ 0x80) >= 0x40)
-                return 1;
-              else if (n == 2 || (s[2] ^ 0x80) >= 0x40)
-                return 2;
-              else
-                return 3;
-            }
-        }
-#if 0
-      else if (c < 0xfc)
-        {
-          if (n >= 5)
-            {
-#if CONFIG_UNICODE_SAFETY
-              if ((s[1] ^ 0x80) < 0x40)
-                {
-                  if ((s[2] ^ 0x80) < 0x40)
-                    {
-                      if ((s[3] ^ 0x80) < 0x40)
-                        {
-                          if ((s[4] ^ 0x80) < 0x40)
-                            {
-                              if (c >= 0xf9 || s[1] >= 0x88)
-#endif
-                                {
-                                  *puc = ((unsigned int) (c & 0x03) << 24)
-                                         | ((unsigned int) (s[1] ^ 0x80) << 18)
-                                         | ((unsigned int) (s[2] ^ 0x80) << 12)
-                                         | ((unsigned int) (s[3] ^ 0x80) << 6)
-                                         | (unsigned int) (s[4] ^ 0x80);
-                                  return 5;
-                                }
-#if CONFIG_UNICODE_SAFETY
-                              /* invalid multibyte character */
-                              *puc = 0xfffd;
-                              return 5;
-                            }
-                          /* invalid multibyte character */
-                          *puc = 0xfffd;
-                          return 4;
-                        }
-                      /* invalid multibyte character */
-                      *puc = 0xfffd;
-                      return 3;
-                    }
-                  /* invalid multibyte character */
-                  return 2;
-                }
-              /* invalid multibyte character */
-#endif
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              return n;
-            }
-        }
-      else if (c < 0xfe)
-        {
-          if (n >= 6)
-            {
-#if CONFIG_UNICODE_SAFETY
-              if ((s[1] ^ 0x80) < 0x40)
-                {
-                  if ((s[2] ^ 0x80) < 0x40)
-                    {
-                      if ((s[3] ^ 0x80) < 0x40)
-                        {
-                          if ((s[4] ^ 0x80) < 0x40)
-                            {
-                              if ((s[5] ^ 0x80) < 0x40)
-                                {
-                                  if (c >= 0xfd || s[1] >= 0x84)
-#endif
-                                    {
-                                      *puc = ((unsigned int) (c & 0x01) << 30)
-                                             | ((unsigned int) (s[1] ^ 0x80) 
<< 24)
-                                             | ((unsigned int) (s[2] ^ 0x80) 
<< 18)
-                                             | ((unsigned int) (s[3] ^ 0x80) 
<< 12)
-                                             | ((unsigned int) (s[4] ^ 0x80) 
<< 6)
-                                             | (unsigned int) (s[5] ^ 0x80);
-                                      return 6;
-                                    }
-#if CONFIG_UNICODE_SAFETY
-                                  /* invalid multibyte character */
-                                  *puc = 0xfffd;
-                                  return 6;
-                                }
-                              /* invalid multibyte character */
-                              *puc = 0xfffd;
-                              return 5;
-                            }
-                          /* invalid multibyte character */
-                          *puc = 0xfffd;
-                          return 4;
-                        }
-                      /* invalid multibyte character */
-                      *puc = 0xfffd;
-                      return 3;
-                    }
-                  /* invalid multibyte character */
-                  return 2;
-                }
-              /* invalid multibyte character */
-#endif
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              return n;
-            }
-        }
-#endif
-    }
-  /* invalid multibyte character */
-  *puc = 0xfffd;
-  return 1;
-}
-
-#endif
diff --git a/lib/unistr/u8-mbtouc.c b/lib/unistr/u8-mbtouc.c
deleted file mode 100644
index bfb0e4d..0000000
--- a/lib/unistr/u8-mbtouc.c
+++ /dev/null
@@ -1,250 +0,0 @@
-/* Look at first character in UTF-8 string.
-   Copyright (C) 1999-2002, 2006-2007, 2009-2016 Free Software Foundation, Inc.
-   Written by Bruno Haible <address@hidden>, 2001.
-
-   This program is free software: you can redistribute it and/or modify it
-   under the terms of the GNU Lesser General Public License as published
-   by the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-#if defined IN_LIBUNISTRING
-/* Tell unistr.h to declare u8_mbtouc as 'extern', not 'static inline'.  */
-# include "unistring-notinline.h"
-#endif
-
-/* Specification.  */
-#include "unistr.h"
-
-#if !HAVE_INLINE
-
-int
-u8_mbtouc (ucs4_t *puc, const uint8_t *s, size_t n)
-{
-  uint8_t c = *s;
-
-  if (c < 0x80)
-    {
-      *puc = c;
-      return 1;
-    }
-  else if (c >= 0xc2)
-    {
-      if (c < 0xe0)
-        {
-          if (n >= 2)
-            {
-              if ((s[1] ^ 0x80) < 0x40)
-                {
-                  *puc = ((unsigned int) (c & 0x1f) << 6)
-                         | (unsigned int) (s[1] ^ 0x80);
-                  return 2;
-                }
-              /* invalid multibyte character */
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              return 1;
-            }
-        }
-      else if (c < 0xf0)
-        {
-          if (n >= 3)
-            {
-              if ((s[1] ^ 0x80) < 0x40)
-                {
-                  if ((s[2] ^ 0x80) < 0x40)
-                    {
-                      if ((c >= 0xe1 || s[1] >= 0xa0)
-                          && (c != 0xed || s[1] < 0xa0))
-                        {
-                          *puc = ((unsigned int) (c & 0x0f) << 12)
-                                 | ((unsigned int) (s[1] ^ 0x80) << 6)
-                                 | (unsigned int) (s[2] ^ 0x80);
-                          return 3;
-                        }
-                      /* invalid multibyte character */
-                      *puc = 0xfffd;
-                      return 3;
-                    }
-                  /* invalid multibyte character */
-                  *puc = 0xfffd;
-                  return 2;
-                }
-              /* invalid multibyte character */
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              if (n == 1 || (s[1] ^ 0x80) >= 0x40)
-                return 1;
-              else
-                return 2;
-            }
-        }
-      else if (c < 0xf8)
-        {
-          if (n >= 4)
-            {
-              if ((s[1] ^ 0x80) < 0x40)
-                {
-                  if ((s[2] ^ 0x80) < 0x40)
-                    {
-                      if ((s[3] ^ 0x80) < 0x40)
-                        {
-                          if ((c >= 0xf1 || s[1] >= 0x90)
-#if 1
-                              && (c < 0xf4 || (c == 0xf4 && s[1] < 0x90))
-#endif
-                             )
-                            {
-                              *puc = ((unsigned int) (c & 0x07) << 18)
-                                     | ((unsigned int) (s[1] ^ 0x80) << 12)
-                                     | ((unsigned int) (s[2] ^ 0x80) << 6)
-                                     | (unsigned int) (s[3] ^ 0x80);
-                              return 4;
-                            }
-                          /* invalid multibyte character */
-                          *puc = 0xfffd;
-                          return 4;
-                        }
-                      /* invalid multibyte character */
-                      *puc = 0xfffd;
-                      return 3;
-                    }
-                  /* invalid multibyte character */
-                  *puc = 0xfffd;
-                  return 2;
-                }
-              /* invalid multibyte character */
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              if (n == 1 || (s[1] ^ 0x80) >= 0x40)
-                return 1;
-              else if (n == 2 || (s[2] ^ 0x80) >= 0x40)
-                return 2;
-              else
-                return 3;
-            }
-        }
-#if 0
-      else if (c < 0xfc)
-        {
-          if (n >= 5)
-            {
-              if ((s[1] ^ 0x80) < 0x40)
-                {
-                  if ((s[2] ^ 0x80) < 0x40)
-                    {
-                      if ((s[3] ^ 0x80) < 0x40)
-                        {
-                          if ((s[4] ^ 0x80) < 0x40)
-                            {
-                              if (c >= 0xf9 || s[1] >= 0x88)
-                                {
-                                  *puc = ((unsigned int) (c & 0x03) << 24)
-                                         | ((unsigned int) (s[1] ^ 0x80) << 18)
-                                         | ((unsigned int) (s[2] ^ 0x80) << 12)
-                                         | ((unsigned int) (s[3] ^ 0x80) << 6)
-                                         | (unsigned int) (s[4] ^ 0x80);
-                                  return 5;
-                                }
-                              /* invalid multibyte character */
-                              *puc = 0xfffd;
-                              return 5;
-                            }
-                          /* invalid multibyte character */
-                          *puc = 0xfffd;
-                          return 4;
-                        }
-                      /* invalid multibyte character */
-                      *puc = 0xfffd;
-                      return 3;
-                    }
-                  /* invalid multibyte character */
-                  return 2;
-                }
-              /* invalid multibyte character */
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              return n;
-            }
-        }
-      else if (c < 0xfe)
-        {
-          if (n >= 6)
-            {
-              if ((s[1] ^ 0x80) < 0x40)
-                {
-                  if ((s[2] ^ 0x80) < 0x40)
-                    {
-                      if ((s[3] ^ 0x80) < 0x40)
-                        {
-                          if ((s[4] ^ 0x80) < 0x40)
-                            {
-                              if ((s[5] ^ 0x80) < 0x40)
-                                {
-                                  if (c >= 0xfd || s[1] >= 0x84)
-                                    {
-                                      *puc = ((unsigned int) (c & 0x01) << 30)
-                                             | ((unsigned int) (s[1] ^ 0x80) 
<< 24)
-                                             | ((unsigned int) (s[2] ^ 0x80) 
<< 18)
-                                             | ((unsigned int) (s[3] ^ 0x80) 
<< 12)
-                                             | ((unsigned int) (s[4] ^ 0x80) 
<< 6)
-                                             | (unsigned int) (s[5] ^ 0x80);
-                                      return 6;
-                                    }
-                                  /* invalid multibyte character */
-                                  *puc = 0xfffd;
-                                  return 6;
-                                }
-                              /* invalid multibyte character */
-                              *puc = 0xfffd;
-                              return 5;
-                            }
-                          /* invalid multibyte character */
-                          *puc = 0xfffd;
-                          return 4;
-                        }
-                      /* invalid multibyte character */
-                      *puc = 0xfffd;
-                      return 3;
-                    }
-                  /* invalid multibyte character */
-                  return 2;
-                }
-              /* invalid multibyte character */
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              return n;
-            }
-        }
-#endif
-    }
-  /* invalid multibyte character */
-  *puc = 0xfffd;
-  return 1;
-}
-
-#endif
diff --git a/lib/unistr/u8-mbtoucr.c b/lib/unistr/u8-mbtoucr.c
deleted file mode 100644
index 5fd45b5..0000000
--- a/lib/unistr/u8-mbtoucr.c
+++ /dev/null
@@ -1,285 +0,0 @@
-/* Look at first character in UTF-8 string, returning an error code.
-   Copyright (C) 1999-2002, 2006-2007, 2009-2016 Free Software Foundation, Inc.
-   Written by Bruno Haible <address@hidden>, 2001.
-
-   This program is free software: you can redistribute it and/or modify it
-   under the terms of the GNU Lesser General Public License as published
-   by the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-/* Specification.  */
-#include "unistr.h"
-
-int
-u8_mbtoucr (ucs4_t *puc, const uint8_t *s, size_t n)
-{
-  uint8_t c = *s;
-
-  if (c < 0x80)
-    {
-      *puc = c;
-      return 1;
-    }
-  else if (c >= 0xc2)
-    {
-      if (c < 0xe0)
-        {
-          if (n >= 2)
-            {
-              if ((s[1] ^ 0x80) < 0x40)
-                {
-                  *puc = ((unsigned int) (c & 0x1f) << 6)
-                         | (unsigned int) (s[1] ^ 0x80);
-                  return 2;
-                }
-              /* invalid multibyte character */
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              return -2;
-            }
-        }
-      else if (c < 0xf0)
-        {
-          if (n >= 2)
-            {
-              if ((s[1] ^ 0x80) < 0x40
-                  && (c >= 0xe1 || s[1] >= 0xa0)
-                  && (c != 0xed || s[1] < 0xa0))
-                {
-                  if (n >= 3)
-                    {
-                      if ((s[2] ^ 0x80) < 0x40)
-                        {
-                          *puc = ((unsigned int) (c & 0x0f) << 12)
-                                 | ((unsigned int) (s[1] ^ 0x80) << 6)
-                                 | (unsigned int) (s[2] ^ 0x80);
-                          return 3;
-                        }
-                      /* invalid multibyte character */
-                    }
-                  else
-                    {
-                      /* incomplete multibyte character */
-                      *puc = 0xfffd;
-                      return -2;
-                    }
-                }
-              /* invalid multibyte character */
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              return -2;
-            }
-        }
-      else if (c < 0xf8)
-        {
-          if (n >= 2)
-            {
-              if ((s[1] ^ 0x80) < 0x40
-                  && (c >= 0xf1 || s[1] >= 0x90)
-#if 1
-                  && (c < 0xf4 || (c == 0xf4 && s[1] < 0x90))
-#endif
-                 )
-                {
-                  if (n >= 3)
-                    {
-                      if ((s[2] ^ 0x80) < 0x40)
-                        {
-                          if (n >= 4)
-                            {
-                              if ((s[3] ^ 0x80) < 0x40)
-                                {
-                                  *puc = ((unsigned int) (c & 0x07) << 18)
-                                         | ((unsigned int) (s[1] ^ 0x80) << 12)
-                                         | ((unsigned int) (s[2] ^ 0x80) << 6)
-                                         | (unsigned int) (s[3] ^ 0x80);
-                                  return 4;
-                                }
-                              /* invalid multibyte character */
-                            }
-                          else
-                            {
-                              /* incomplete multibyte character */
-                              *puc = 0xfffd;
-                              return -2;
-                            }
-                        }
-                      /* invalid multibyte character */
-                    }
-                  else
-                    {
-                      /* incomplete multibyte character */
-                      *puc = 0xfffd;
-                      return -2;
-                    }
-                }
-              /* invalid multibyte character */
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              return -2;
-            }
-        }
-#if 0
-      else if (c < 0xfc)
-        {
-          if (n >= 2)
-            {
-              if ((s[1] ^ 0x80) < 0x40
-                  && (c >= 0xf9 || s[1] >= 0x88))
-                {
-                  if (n >= 3)
-                    {
-                      if ((s[2] ^ 0x80) < 0x40)
-                        {
-                          if (n >= 4)
-                            {
-                              if ((s[3] ^ 0x80) < 0x40)
-                                {
-                                  if (n >= 5)
-                                    {
-                                      if ((s[4] ^ 0x80) < 0x40)
-                                        {
-                                          *puc = ((unsigned int) (c & 0x03) << 
24)
-                                                 | ((unsigned int) (s[1] ^ 
0x80) << 18)
-                                                 | ((unsigned int) (s[2] ^ 
0x80) << 12)
-                                                 | ((unsigned int) (s[3] ^ 
0x80) << 6)
-                                                 | (unsigned int) (s[4] ^ 
0x80);
-                                          return 5;
-                                        }
-                                      /* invalid multibyte character */
-                                    }
-                                  else
-                                    {
-                                      /* incomplete multibyte character */
-                                      *puc = 0xfffd;
-                                      return -2;
-                                    }
-                                }
-                              /* invalid multibyte character */
-                            }
-                          else
-                            {
-                              /* incomplete multibyte character */
-                              *puc = 0xfffd;
-                              return -2;
-                            }
-                        }
-                      /* invalid multibyte character */
-                    }
-                  else
-                    {
-                      /* incomplete multibyte character */
-                      *puc = 0xfffd;
-                      return -2;
-                    }
-                }
-              /* invalid multibyte character */
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              return -2;
-            }
-        }
-      else if (c < 0xfe)
-        {
-          if (n >= 2)
-            {
-              if ((s[1] ^ 0x80) < 0x40
-                  && (c >= 0xfd || s[1] >= 0x84))
-                {
-                  if (n >= 3)
-                    {
-                      if ((s[2] ^ 0x80) < 0x40)
-                        {
-                          if (n >= 4)
-                            {
-                              if ((s[3] ^ 0x80) < 0x40)
-                                {
-                                  if (n >= 5)
-                                    {
-                                      if ((s[4] ^ 0x80) < 0x40)
-                                        {
-                                          if (n >= 6)
-                                            {
-                                              if ((s[5] ^ 0x80) < 0x40)
-                                                {
-                                                  *puc = ((unsigned int) (c & 
0x01) << 30)
-                                                         | ((unsigned int) 
(s[1] ^ 0x80) << 24)
-                                                         | ((unsigned int) 
(s[2] ^ 0x80) << 18)
-                                                         | ((unsigned int) 
(s[3] ^ 0x80) << 12)
-                                                         | ((unsigned int) 
(s[4] ^ 0x80) << 6)
-                                                         | (unsigned int) 
(s[5] ^ 0x80);
-                                                  return 6;
-                                                }
-                                              /* invalid multibyte character */
-                                            }
-                                          else
-                                            {
-                                              /* incomplete multibyte 
character */
-                                              *puc = 0xfffd;
-                                              return -2;
-                                            }
-                                        }
-                                      /* invalid multibyte character */
-                                    }
-                                  else
-                                    {
-                                      /* incomplete multibyte character */
-                                      *puc = 0xfffd;
-                                      return -2;
-                                    }
-                                }
-                              /* invalid multibyte character */
-                            }
-                          else
-                            {
-                              /* incomplete multibyte character */
-                              *puc = 0xfffd;
-                              return -2;
-                            }
-                        }
-                      /* invalid multibyte character */
-                    }
-                  else
-                    {
-                      /* incomplete multibyte character */
-                      *puc = 0xfffd;
-                      return -2;
-                    }
-                }
-              /* invalid multibyte character */
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              return -2;
-            }
-        }
-#endif
-    }
-  /* invalid multibyte character */
-  *puc = 0xfffd;
-  return -1;
-}
diff --git a/lib/unistr/u8-prev.c b/lib/unistr/u8-prev.c
deleted file mode 100644
index b609acf..0000000
--- a/lib/unistr/u8-prev.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/* Iterate over previous character in UTF-8 string.
-   Copyright (C) 2002, 2006-2007, 2009-2016 Free Software Foundation, Inc.
-   Written by Bruno Haible <address@hidden>, 2002.
-
-   This program is free software: you can redistribute it and/or modify it
-   under the terms of the GNU Lesser General Public License as published
-   by the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-/* Specification.  */
-#include "unistr.h"
-
-const uint8_t *
-u8_prev (ucs4_t *puc, const uint8_t *s, const uint8_t *start)
-{
-  /* Keep in sync with unistr.h and u8-mbtouc-aux.c.  */
-  if (s != start)
-    {
-      uint8_t c_1 = s[-1];
-
-      if (c_1 < 0x80)
-        {
-          *puc = c_1;
-          return s - 1;
-        }
-#if CONFIG_UNICODE_SAFETY
-      if ((c_1 ^ 0x80) < 0x40)
-#endif
-        if (s - 1 != start)
-          {
-            uint8_t c_2 = s[-2];
-
-            if (c_2 >= 0xc2 && c_2 < 0xe0)
-              {
-                *puc = ((unsigned int) (c_2 & 0x1f) << 6)
-                       | (unsigned int) (c_1 ^ 0x80);
-                return s - 2;
-              }
-#if CONFIG_UNICODE_SAFETY
-            if ((c_2 ^ 0x80) < 0x40)
-#endif
-              if (s - 2 != start)
-                {
-                  uint8_t c_3 = s[-3];
-
-                  if (c_3 >= 0xe0 && c_3 < 0xf0
-#if CONFIG_UNICODE_SAFETY
-                      && (c_3 >= 0xe1 || c_2 >= 0xa0)
-                      && (c_3 != 0xed || c_2 < 0xa0)
-#endif
-                     )
-                    {
-                      *puc = ((unsigned int) (c_3 & 0x0f) << 12)
-                             | ((unsigned int) (c_2 ^ 0x80) << 6)
-                             | (unsigned int) (c_1 ^ 0x80);
-                      return s - 3;
-                    }
-#if CONFIG_UNICODE_SAFETY
-                  if ((c_3 ^ 0x80) < 0x40)
-#endif
-                    if (s - 3 != start)
-                      {
-                        uint8_t c_4 = s[-4];
-
-                        if (c_4 >= 0xf0 && c_4 < 0xf8
-#if CONFIG_UNICODE_SAFETY
-                            && (c_4 >= 0xf1 || c_3 >= 0x90)
-                            && (c_4 < 0xf4 || (c_4 == 0xf4 && c_3 < 0x90))
-#endif
-                           )
-                          {
-                            *puc = ((unsigned int) (c_4 & 0x07) << 18)
-                                   | ((unsigned int) (c_3 ^ 0x80) << 12)
-                                   | ((unsigned int) (c_2 ^ 0x80) << 6)
-                                   | (unsigned int) (c_1 ^ 0x80);
-                            return s - 4;
-                          }
-                      }
-                }
-          }
-    }
-  return NULL;
-}
diff --git a/lib/unistr/u8-uctomb-aux.c b/lib/unistr/u8-uctomb-aux.c
deleted file mode 100644
index 48adae1..0000000
--- a/lib/unistr/u8-uctomb-aux.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Conversion UCS-4 to UTF-8.
-   Copyright (C) 2002, 2006-2007, 2009-2016 Free Software Foundation, Inc.
-   Written by Bruno Haible <address@hidden>, 2002.
-
-   This program is free software: you can redistribute it and/or modify it
-   under the terms of the GNU Lesser General Public License as published
-   by the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-/* Specification.  */
-#include "unistr.h"
-
-int
-u8_uctomb_aux (uint8_t *s, ucs4_t uc, int n)
-{
-  int count;
-
-  if (uc < 0x80)
-    /* The case n >= 1 is already handled by the caller.  */
-    return -2;
-  else if (uc < 0x800)
-    count = 2;
-  else if (uc < 0x10000)
-    {
-      if (uc < 0xd800 || uc >= 0xe000)
-        count = 3;
-      else
-        return -1;
-    }
-#if 0
-  else if (uc < 0x200000)
-    count = 4;
-  else if (uc < 0x4000000)
-    count = 5;
-  else if (uc <= 0x7fffffff)
-    count = 6;
-#else
-  else if (uc < 0x110000)
-    count = 4;
-#endif
-  else
-    return -1;
-
-  if (n < count)
-    return -2;
-
-  switch (count) /* note: code falls through cases! */
-    {
-#if 0
-    case 6: s[5] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x4000000;
-    case 5: s[4] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x200000;
-#endif
-    case 4: s[3] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x10000;
-    case 3: s[2] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x800;
-    case 2: s[1] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0xc0;
-  /*case 1:*/ s[0] = uc;
-    }
-  return count;
-}
diff --git a/lib/unistr/u8-uctomb.c b/lib/unistr/u8-uctomb.c
deleted file mode 100644
index d62ad0f..0000000
--- a/lib/unistr/u8-uctomb.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Store a character in UTF-8 string.
-   Copyright (C) 2002, 2005-2006, 2009-2016 Free Software Foundation, Inc.
-   Written by Bruno Haible <address@hidden>, 2002.
-
-   This program is free software: you can redistribute it and/or modify it
-   under the terms of the GNU Lesser General Public License as published
-   by the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-#if defined IN_LIBUNISTRING
-/* Tell unistr.h to declare u8_uctomb as 'extern', not 'static inline'.  */
-# include "unistring-notinline.h"
-#endif
-
-/* Specification.  */
-#include "unistr.h"
-
-#if !HAVE_INLINE
-
-int
-u8_uctomb (uint8_t *s, ucs4_t uc, int n)
-{
-  if (uc < 0x80)
-    {
-      if (n > 0)
-        {
-          s[0] = uc;
-          return 1;
-        }
-      /* else return -2, below.  */
-    }
-  else
-    {
-      int count;
-
-      if (uc < 0x800)
-        count = 2;
-      else if (uc < 0x10000)
-        {
-          if (uc < 0xd800 || uc >= 0xe000)
-            count = 3;
-          else
-            return -1;
-        }
-#if 0
-      else if (uc < 0x200000)
-        count = 4;
-      else if (uc < 0x4000000)
-        count = 5;
-      else if (uc <= 0x7fffffff)
-        count = 6;
-#else
-      else if (uc < 0x110000)
-        count = 4;
-#endif
-      else
-        return -1;
-
-      if (n >= count)
-        {
-          switch (count) /* note: code falls through cases! */
-            {
-#if 0
-            case 6: s[5] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x4000000;
-            case 5: s[4] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x200000;
-#endif
-            case 4: s[3] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x10000;
-            case 3: s[2] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x800;
-            case 2: s[1] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0xc0;
-          /*case 1:*/ s[0] = uc;
-            }
-          return count;
-        }
-    }
-  return -2;
-}
-
-#endif
diff --git a/lib/unitypes.in.h b/lib/unitypes.in.h
deleted file mode 100644
index 4a1e65e..0000000
--- a/lib/unitypes.in.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Elementary types and macros for the GNU UniString library.
-   Copyright (C) 2002, 2005-2006, 2009-2016 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify it
-   under the terms of the GNU Lesser General Public License as published
-   by the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#ifndef _UNITYPES_H
-#define _UNITYPES_H
-
-/* Get uint8_t, uint16_t, uint32_t.  */
-#include <stdint.h>
-
-/* Type representing a Unicode character.  */
-typedef uint32_t ucs4_t;
-
-/* Attribute of a function whose result depends only on the arguments
-   (not pointers!) and which has no side effects.  */
-#ifndef _UC_ATTRIBUTE_CONST
-# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
-#  define _UC_ATTRIBUTE_CONST __attribute__ ((__const__))
-# else
-#  define _UC_ATTRIBUTE_CONST
-# endif
-#endif
-
-/* Attribute of a function whose result depends only on the arguments
-   (possibly pointers) and global memory, and which has no side effects.  */
-#ifndef _UC_ATTRIBUTE_PURE
-# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
-#  define _UC_ATTRIBUTE_PURE __attribute__ ((__pure__))
-# else
-#  define _UC_ATTRIBUTE_PURE
-# endif
-#endif
-
-#endif /* _UNITYPES_H */
diff --git a/m4/gnulib-cache.m4 b/m4/gnulib-cache.m4
index 917e7ff..fc4fbc6 100644
--- a/m4/gnulib-cache.m4
+++ b/m4/gnulib-cache.m4
@@ -27,7 +27,7 @@
 
 
 # Specification in the form of a command-line invocation:
-#   gnulib-tool --import --local-dir=gnulib-local --lib=libgnu 
--source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests 
--aux-dir=build-aux --avoid=lock --lgpl=3 --conditional-dependencies --libtool 
--macro-prefix=gl --no-vc-files accept alignof alloca-opt announce-gen 
autobuild bind byteswap c-strcase canonicalize-lgpl ceil clock-time close 
connect copysign dirfd duplocale environ extensions flock floor fpieee frexp 
fstat fsync full-read full-write func gendocs getaddrinfo getlo [...]
+#   gnulib-tool --import --local-dir=gnulib-local --lib=libgnu 
--source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests 
--aux-dir=build-aux --avoid=lock --avoid=unistr/base --avoid=unistr/u8-mbtouc 
--avoid=unistr/u8-mbtouc-unsafe --avoid=unistr/u8-mbtoucr 
--avoid=unistr/u8-prev --avoid=unistr/u8-uctomb --avoid=unitypes --lgpl=3 
--conditional-dependencies --libtool --macro-prefix=gl --no-vc-files accept 
alignof alloca-opt announce-gen autobuild bind byteswap c-strcase canonicalize 
[...]
 
 # Specification in the form of a few gnulib-tool.m4 macro invocations:
 gl_LOCAL_DIR([gnulib-local])
@@ -126,7 +126,7 @@ gl_MODULES([
   warnings
   wchar
 ])
-gl_AVOID([ lock])
+gl_AVOID([ lock unistr/base unistr/u8-mbtouc unistr/u8-mbtouc-unsafe 
unistr/u8-mbtoucr unistr/u8-prev unistr/u8-uctomb unitypes])
 gl_SOURCE_BASE([lib])
 gl_M4_BASE([m4])
 gl_PO_BASE([])
diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4
index fbdb1e8..98de2b7 100644
--- a/m4/gnulib-comp.m4
+++ b/m4/gnulib-comp.m4
@@ -42,7 +42,6 @@ AC_DEFUN([gl_EARLY],
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   AC_REQUIRE([gl_PROG_AR_RANLIB])
 
-  AC_REQUIRE([AM_PROG_CC_C_O])
   # Code from module absolute-header:
   # Code from module accept:
   # Code from module alignof:
@@ -117,7 +116,6 @@ AC_DEFUN([gl_EARLY],
   # Code from module include_next:
   # Code from module inet_ntop:
   # Code from module inet_pton:
-  # Code from module inline:
   # Code from module intprops:
   # Code from module isfinite:
   # Code from module isinf:
@@ -197,7 +195,6 @@ AC_DEFUN([gl_EARLY],
   # Code from module snippet/_Noreturn:
   # Code from module snippet/arg-nonnull:
   # Code from module snippet/c++defs:
-  # Code from module snippet/unused-parameter:
   # Code from module snippet/warn-on-use:
   # Code from module snprintf:
   # Code from module socket:
@@ -234,13 +231,6 @@ AC_DEFUN([gl_EARLY],
   # Code from module times:
   # Code from module trunc:
   # Code from module unistd:
-  # Code from module unistr/base:
-  # Code from module unistr/u8-mbtouc:
-  # Code from module unistr/u8-mbtouc-unsafe:
-  # Code from module unistr/u8-mbtoucr:
-  # Code from module unistr/u8-prev:
-  # Code from module unistr/u8-uctomb:
-  # Code from module unitypes:
   # Code from module unsetenv:
   # Code from module useless-if-before-free:
   # Code from module vasnprintf:
@@ -436,7 +426,6 @@ AC_DEFUN([gl_INIT],
     gl_PREREQ_INET_PTON
   fi
   gl_ARPA_INET_MODULE_INDICATOR([inet_pton])
-  gl_INLINE
   gl_ISFINITE
   if test $REPLACE_ISFINITE = 1; then
     AC_LIBOBJ([isfinite])
@@ -702,17 +691,6 @@ AC_DEFUN([gl_INIT],
   fi
   gl_MATH_MODULE_INDICATOR([trunc])
   gl_UNISTD_H
-  gl_LIBUNISTRING_LIBHEADER([0.9.4], [unistr.h])
-  gl_MODULE_INDICATOR([unistr/u8-mbtouc])
-  gl_LIBUNISTRING_MODULE([0.9.4], [unistr/u8-mbtouc])
-  gl_MODULE_INDICATOR([unistr/u8-mbtouc-unsafe])
-  gl_LIBUNISTRING_MODULE([0.9.4], [unistr/u8-mbtouc-unsafe])
-  gl_MODULE_INDICATOR([unistr/u8-mbtoucr])
-  gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-mbtoucr])
-  gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-prev])
-  gl_MODULE_INDICATOR([unistr/u8-uctomb])
-  gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-uctomb])
-  gl_LIBUNISTRING_LIBHEADER([0.9.4], [unitypes.h])
   gl_FUNC_VSNPRINTF
   gl_STDIO_MODULE_INDICATOR([vsnprintf])
   gl_WCHAR_H
@@ -1698,7 +1676,6 @@ AC_DEFUN([gl_FILE_LIST], [
   build-aux/snippet/_Noreturn.h
   build-aux/snippet/arg-nonnull.h
   build-aux/snippet/c++defs.h
-  build-aux/snippet/unused-parameter.h
   build-aux/snippet/warn-on-use.h
   build-aux/useless-if-before-free
   build-aux/vc-list-files
@@ -1906,16 +1883,6 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/trunc.c
   lib/unistd.c
   lib/unistd.in.h
-  lib/unistr.in.h
-  lib/unistr/u8-mbtouc-aux.c
-  lib/unistr/u8-mbtouc-unsafe-aux.c
-  lib/unistr/u8-mbtouc-unsafe.c
-  lib/unistr/u8-mbtouc.c
-  lib/unistr/u8-mbtoucr.c
-  lib/unistr/u8-prev.c
-  lib/unistr/u8-uctomb-aux.c
-  lib/unistr/u8-uctomb.c
-  lib/unitypes.in.h
   lib/unsetenv.c
   lib/vasnprintf.c
   lib/vasnprintf.h
@@ -1983,7 +1950,6 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/include_next.m4
   m4/inet_ntop.m4
   m4/inet_pton.m4
-  m4/inline.m4
   m4/intmax_t.m4
   m4/inttypes_h.m4
   m4/isfinite.m4
@@ -1999,7 +1965,6 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/lib-ld.m4
   m4/lib-link.m4
   m4/lib-prefix.m4
-  m4/libunistring-base.m4
   m4/libunistring.m4
   m4/link.m4
   m4/localcharset.m4
diff --git a/m4/inline.m4 b/m4/inline.m4
deleted file mode 100644
index 28fd2d0..0000000
--- a/m4/inline.m4
+++ /dev/null
@@ -1,40 +0,0 @@
-# inline.m4 serial 4
-dnl Copyright (C) 2006, 2009-2016 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Test for the 'inline' keyword or equivalent.
-dnl Define 'inline' to a supported equivalent, or to nothing if not supported,
-dnl like AC_C_INLINE does.  Also, define HAVE_INLINE if 'inline' or an
-dnl equivalent is effectively supported, i.e. if the compiler is likely to
-dnl drop unused 'static inline' functions.
-AC_DEFUN([gl_INLINE],
-[
-  AC_REQUIRE([AC_C_INLINE])
-  AC_CACHE_CHECK([whether the compiler generally respects inline],
-    [gl_cv_c_inline_effective],
-    [if test $ac_cv_c_inline = no; then
-       gl_cv_c_inline_effective=no
-     else
-       dnl GCC defines __NO_INLINE__ if not optimizing or if -fno-inline is
-       dnl specified.
-       dnl Use AC_COMPILE_IFELSE here, not AC_EGREP_CPP, because the result
-       dnl depends on optimization flags, which can be in CFLAGS.
-       dnl (AC_EGREP_CPP looks only at the CPPFLAGS.)
-       AC_COMPILE_IFELSE(
-         [AC_LANG_PROGRAM([[]],
-           [[#ifdef __NO_INLINE__
-               #error "inline is not effective"
-             #endif]])],
-         [gl_cv_c_inline_effective=yes],
-         [gl_cv_c_inline_effective=no])
-     fi
-    ])
-  if test $gl_cv_c_inline_effective = yes; then
-    AC_DEFINE([HAVE_INLINE], [1],
-      [Define to 1 if the compiler supports one of the keywords
-       'inline', '__inline__', '__inline' and effectively inlines
-       functions marked as such.])
-  fi
-])
diff --git a/m4/libunistring-base.m4 b/m4/libunistring-base.m4
deleted file mode 100644
index f911216..0000000
--- a/m4/libunistring-base.m4
+++ /dev/null
@@ -1,141 +0,0 @@
-# libunistring-base.m4 serial 5
-dnl Copyright (C) 2010-2016 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Paolo Bonzini and Bruno Haible.
-
-dnl gl_LIBUNISTRING_MODULE([VERSION], [Module])
-dnl Declares that the source files of Module should be compiled, unless we
-dnl are linking with libunistring and its version is >= the given VERSION.
-dnl Defines an automake conditional LIBUNISTRING_COMPILE_$MODULE that is
-dnl true if the source files of Module should be compiled.
-dnl This macro is to be used for public libunistring API, not for
-dnl undocumented API.
-dnl
-dnl You have to bump the VERSION argument to the next projected version
-dnl number each time you make a change that affects the behaviour of the
-dnl functions defined in Module (even if the sources of Module itself do not
-dnl change).
-
-AC_DEFUN([gl_LIBUNISTRING_MODULE],
-[
-  AC_REQUIRE([gl_LIBUNISTRING_LIB_PREPARE])
-  dnl Use the variables HAVE_LIBUNISTRING, LIBUNISTRING_VERSION from
-  dnl gl_LIBUNISTRING_CORE if that macro has been run.
-  AM_CONDITIONAL(AS_TR_CPP([LIBUNISTRING_COMPILE_$2]),
-    [gl_LIBUNISTRING_VERSION_CMP([$1])])
-])
-
-dnl gl_LIBUNISTRING_LIBHEADER([VERSION], [HeaderFile])
-dnl Declares that HeaderFile should be created, unless we are linking
-dnl with libunistring and its version is >= the given VERSION.
-dnl HeaderFile should be relative to the lib directory and end in '.h'.
-dnl Prepares for substituting LIBUNISTRING_HEADERFILE (to HeaderFile or empty).
-dnl
-dnl When we are linking with the already installed libunistring and its version
-dnl is < VERSION, we create HeaderFile here, because we may compile functions
-dnl (via gl_LIBUNISTRING_MODULE above) that are not contained in the installed
-dnl version.
-dnl When we are linking with the already installed libunistring and its version
-dnl is > VERSION, we don't create HeaderFile here: it could cause compilation
-dnl errors in other libunistring header files if some types are missing.
-dnl
-dnl You have to bump the VERSION argument to the next projected version
-dnl number each time you make a non-comment change to the HeaderFile.
-
-AC_DEFUN([gl_LIBUNISTRING_LIBHEADER],
-[
-  AC_REQUIRE([gl_LIBUNISTRING_LIB_PREPARE])
-  dnl Use the variables HAVE_LIBUNISTRING, LIBUNISTRING_VERSION from
-  dnl gl_LIBUNISTRING_CORE if that macro has been run.
-  if gl_LIBUNISTRING_VERSION_CMP([$1]); then
-    LIBUNISTRING_[]AS_TR_CPP([$2])='$2'
-  else
-    LIBUNISTRING_[]AS_TR_CPP([$2])=
-  fi
-  AC_SUBST([LIBUNISTRING_]AS_TR_CPP([$2]))
-])
-
-dnl Miscellaneous preparations/initializations.
-
-AC_DEFUN([gl_LIBUNISTRING_LIB_PREPARE],
-[
-  dnl Ensure that HAVE_LIBUNISTRING is fully determined at this point.
-  m4_ifdef([gl_LIBUNISTRING], [AC_REQUIRE([gl_LIBUNISTRING])])
-
-  AC_REQUIRE([AC_PROG_AWK])
-
-dnl Sed expressions to extract the parts of a version number.
-changequote(,)
-gl_libunistring_sed_extract_major='/^[0-9]/{s/^\([0-9]*\).*/\1/p;q;}
-i\
-0
-q
-'
-gl_libunistring_sed_extract_minor='/^[0-9][0-9]*[.][0-9]/{s/^[0-9]*[.]\([0-9]*\).*/\1/p;q;}
-i\
-0
-q
-'
-gl_libunistring_sed_extract_subminor='/^[0-9][0-9]*[.][0-9][0-9]*[.][0-9]/{s/^[0-9]*[.][0-9]*[.]\([0-9]*\).*/\1/p;q;}
-i\
-0
-q
-'
-changequote([,])
-
-  if test "$HAVE_LIBUNISTRING" = yes; then
-    LIBUNISTRING_VERSION_MAJOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e 
"$gl_libunistring_sed_extract_major"`
-    LIBUNISTRING_VERSION_MINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e 
"$gl_libunistring_sed_extract_minor"`
-    LIBUNISTRING_VERSION_SUBMINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e 
"$gl_libunistring_sed_extract_subminor"`
-  fi
-])
-
-dnl gl_LIBUNISTRING_VERSION_CMP([VERSION])
-dnl Expands to a shell statement that evaluates to true if LIBUNISTRING_VERSION
-dnl is less than the VERSION argument.
-AC_DEFUN([gl_LIBUNISTRING_VERSION_CMP],
-[ { test "$HAVE_LIBUNISTRING" != yes \
-    || {
-         dnl AS_LITERAL_IF exists and works fine since autoconf-2.59 at least.
-         AS_LITERAL_IF([$1],
-           [dnl This is the optimized variant, that assumes the argument is a 
literal:
-            m4_pushdef([requested_version_major],
-              [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], [^\([0-9]*\).*], 
[\1]), [])])
-            m4_pushdef([requested_version_minor],
-              [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], 
[^[0-9]*[.]\([0-9]*\).*], [\1]), [$1])])
-            m4_pushdef([requested_version_subminor],
-              [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], 
[^[0-9]*[.][0-9]*[.]\([0-9]*\).*], [\1]), [$1])])
-            test $LIBUNISTRING_VERSION_MAJOR -lt requested_version_major \
-            || { test $LIBUNISTRING_VERSION_MAJOR -eq requested_version_major \
-                 && { test $LIBUNISTRING_VERSION_MINOR -lt 
requested_version_minor \
-                      || { test $LIBUNISTRING_VERSION_MINOR -eq 
requested_version_minor \
-                           && test $LIBUNISTRING_VERSION_SUBMINOR -lt 
requested_version_subminor
-                         }
-                    }
-               }
-            m4_popdef([requested_version_subminor])
-            m4_popdef([requested_version_minor])
-            m4_popdef([requested_version_major])
-           ],
-           [dnl This is the unoptimized variant:
-            requested_version_major=`echo '$1' | sed -n -e 
"$gl_libunistring_sed_extract_major"`
-            requested_version_minor=`echo '$1' | sed -n -e 
"$gl_libunistring_sed_extract_minor"`
-            requested_version_subminor=`echo '$1' | sed -n -e 
"$gl_libunistring_sed_extract_subminor"`
-            test $LIBUNISTRING_VERSION_MAJOR -lt $requested_version_major \
-            || { test $LIBUNISTRING_VERSION_MAJOR -eq $requested_version_major 
\
-                 && { test $LIBUNISTRING_VERSION_MINOR -lt 
$requested_version_minor \
-                      || { test $LIBUNISTRING_VERSION_MINOR -eq 
$requested_version_minor \
-                           && test $LIBUNISTRING_VERSION_SUBMINOR -lt 
$requested_version_subminor
-                         }
-                    }
-               }
-           ])
-       }
-  }])
-
-dnl gl_LIBUNISTRING_ARG_OR_ZERO([ARG], [ORIG]) expands to ARG if it is not the
-dnl same as ORIG, otherwise to 0.
-m4_define([gl_LIBUNISTRING_ARG_OR_ZERO], [m4_if([$1], [$2], [0], [$1])])



reply via email to

[Prev in Thread] Current Thread [Next in Thread]