Patchwork [CONSOLIDATED,PULL,04/22] libiconv_1.14.bb: Fix build failure

login
register
mail settings
Submitter Saul Wold
Date Jan. 10, 2012, 5:53 a.m.
Message ID <fcb8d6fd9c1d6ee28bb8ab79d7829f719d989bae.1326174744.git.sgw@linux.intel.com>
Download mbox | patch
Permalink /patch/18863/
State New
Headers show

Comments

Saul Wold - Jan. 10, 2012, 5:53 a.m.
From: Khem Raj <raj.khem@gmail.com>

Currently libiconv is failing after upgrade to 1.14
this patch fixes the problem. It uses relocatable
gnulib module which should be added.

Delete unpackaged files.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../libiconv-1.14/add-relocatable-module.patch     | 5008 ++++++++++++++++++++
 meta/recipes-support/libiconv/libiconv_1.14.bb     |    8 +-
 2 files changed, 5015 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-support/libiconv/libiconv-1.14/add-relocatable-module.patch

Patch

diff --git a/meta/recipes-support/libiconv/libiconv-1.14/add-relocatable-module.patch b/meta/recipes-support/libiconv/libiconv-1.14/add-relocatable-module.patch
new file mode 100644
index 0000000..6af377b
--- /dev/null
+++ b/meta/recipes-support/libiconv/libiconv-1.14/add-relocatable-module.patch
@@ -0,0 +1,5008 @@ 
+This patch is needed to solve issues like
+| iconv.o: In function `main':
+| /home/james/stuff/beagle/tmp-eglibc/work/armv7a-vfp-neon-oe-linux-gnueabi/libiconv-1.14-r0/libiconv-1.14/src/./iconv.c:861: undefined reference to `relocate'
+| ../srclib/libicrt.a(progreloc.o): In function `prepare_relocate':
+| /home/james/stuff/beagle/tmp-eglibc/work/armv7a-vfp-neon-oe-linux-gnueabi/libiconv-1.14-r0/libiconv-1.14/srclib/progreloc.c:297: undefined reference to `compute_curr_prefix'
+| /home/james/stuff/beagle/tmp-eglibc/work/armv7a-vfp-neon-oe-linux-gnueabi/libiconv-1.14-r0/libiconv-1.14/srclib/progreloc.c:302: undefined reference to `set_relocation_prefix'
+| collect2: ld returned 1 exit status
+| make[1]: *** [install] Error 1
+
+Upstream-Status: Inappropriate [OE config specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+diff -Naurp libiconv-1.14.org//build-aux/arg-nonnull.h libiconv-1.14/build-aux/arg-nonnull.h
+--- libiconv-1.14.org//build-aux/arg-nonnull.h	1969-12-31 16:00:00.000000000 -0800
++++ libiconv-1.14/build-aux/arg-nonnull.h	2012-01-08 02:07:39.930484438 -0800
+@@ -0,0 +1,26 @@
++/* A C macro for declaring that specific arguments must not be NULL.
++   Copyright (C) 2009-2011 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_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools
++   that the values passed as arguments n, ..., m must be non-NULL pointers.
++   n = 1 stands for the first argument, n = 2 for the second argument etc.  */
++#ifndef _GL_ARG_NONNULL
++# if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3
++#  define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params))
++# else
++#  define _GL_ARG_NONNULL(params)
++# endif
++#endif
+diff -Naurp libiconv-1.14.org//build-aux/c++defs.h libiconv-1.14/build-aux/c++defs.h
+--- libiconv-1.14.org//build-aux/c++defs.h	1969-12-31 16:00:00.000000000 -0800
++++ libiconv-1.14/build-aux/c++defs.h	2012-01-08 02:07:39.942484438 -0800
+@@ -0,0 +1,271 @@
++/* C++ compatible function declaration macros.
++   Copyright (C) 2010-2011 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/>.  */
++
++#ifndef _GL_CXXDEFS_H
++#define _GL_CXXDEFS_H
++
++/* The three most frequent use cases of these macros are:
++
++   * For providing a substitute for a function that is missing on some
++     platforms, but is declared and works fine on the platforms on which
++     it exists:
++
++       #if @GNULIB_FOO@
++       # if !@HAVE_FOO@
++       _GL_FUNCDECL_SYS (foo, ...);
++       # endif
++       _GL_CXXALIAS_SYS (foo, ...);
++       _GL_CXXALIASWARN (foo);
++       #elif defined GNULIB_POSIXCHECK
++       ...
++       #endif
++
++   * For providing a replacement for a function that exists on all platforms,
++     but is broken/insufficient and needs to be replaced on some platforms:
++
++       #if @GNULIB_FOO@
++       # if @REPLACE_FOO@
++       #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
++       #   undef foo
++       #   define foo rpl_foo
++       #  endif
++       _GL_FUNCDECL_RPL (foo, ...);
++       _GL_CXXALIAS_RPL (foo, ...);
++       # else
++       _GL_CXXALIAS_SYS (foo, ...);
++       # endif
++       _GL_CXXALIASWARN (foo);
++       #elif defined GNULIB_POSIXCHECK
++       ...
++       #endif
++
++   * For providing a replacement for a function that exists on some platforms
++     but is broken/insufficient and needs to be replaced on some of them and
++     is additionally either missing or undeclared on some other platforms:
++
++       #if @GNULIB_FOO@
++       # if @REPLACE_FOO@
++       #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
++       #   undef foo
++       #   define foo rpl_foo
++       #  endif
++       _GL_FUNCDECL_RPL (foo, ...);
++       _GL_CXXALIAS_RPL (foo, ...);
++       # else
++       #  if !@HAVE_FOO@   or   if !@HAVE_DECL_FOO@
++       _GL_FUNCDECL_SYS (foo, ...);
++       #  endif
++       _GL_CXXALIAS_SYS (foo, ...);
++       # endif
++       _GL_CXXALIASWARN (foo);
++       #elif defined GNULIB_POSIXCHECK
++       ...
++       #endif
++*/
++
++/* _GL_EXTERN_C declaration;
++   performs the declaration with C linkage.  */
++#if defined __cplusplus
++# define _GL_EXTERN_C extern "C"
++#else
++# define _GL_EXTERN_C extern
++#endif
++
++/* _GL_FUNCDECL_RPL (func, rettype, parameters_and_attributes);
++   declares a replacement function, named rpl_func, with the given prototype,
++   consisting of return type, parameters, and attributes.
++   Example:
++     _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...)
++                                  _GL_ARG_NONNULL ((1)));
++ */
++#define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \
++  _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes)
++#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters_and_attributes) \
++  _GL_EXTERN_C rettype rpl_func parameters_and_attributes
++
++/* _GL_FUNCDECL_SYS (func, rettype, parameters_and_attributes);
++   declares the system function, named func, with the given prototype,
++   consisting of return type, parameters, and attributes.
++   Example:
++     _GL_FUNCDECL_SYS (open, int, (const char *filename, int flags, ...)
++                                  _GL_ARG_NONNULL ((1)));
++ */
++#define _GL_FUNCDECL_SYS(func,rettype,parameters_and_attributes) \
++  _GL_EXTERN_C rettype func parameters_and_attributes
++
++/* _GL_CXXALIAS_RPL (func, rettype, parameters);
++   declares a C++ alias called GNULIB_NAMESPACE::func
++   that redirects to rpl_func, if GNULIB_NAMESPACE is defined.
++   Example:
++     _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...));
++ */
++#define _GL_CXXALIAS_RPL(func,rettype,parameters) \
++  _GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters)
++#if defined __cplusplus && defined GNULIB_NAMESPACE
++# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
++    namespace GNULIB_NAMESPACE                                \
++    {                                                         \
++      rettype (*const func) parameters = ::rpl_func;          \
++    }                                                         \
++    _GL_EXTERN_C int _gl_cxxalias_dummy
++#else
++# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
++    _GL_EXTERN_C int _gl_cxxalias_dummy
++#endif
++
++/* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters);
++   is like  _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters);
++   except that the C function rpl_func may have a slightly different
++   declaration.  A cast is used to silence the "invalid conversion" error
++   that would otherwise occur.  */
++#if defined __cplusplus && defined GNULIB_NAMESPACE
++# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
++    namespace GNULIB_NAMESPACE                                     \
++    {                                                              \
++      rettype (*const func) parameters =                           \
++        reinterpret_cast<rettype(*)parameters>(::rpl_func);        \
++    }                                                              \
++    _GL_EXTERN_C int _gl_cxxalias_dummy
++#else
++# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
++    _GL_EXTERN_C int _gl_cxxalias_dummy
++#endif
++
++/* _GL_CXXALIAS_SYS (func, rettype, parameters);
++   declares a C++ alias called GNULIB_NAMESPACE::func
++   that redirects to the system provided function func, if GNULIB_NAMESPACE
++   is defined.
++   Example:
++     _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...));
++ */
++#if defined __cplusplus && defined GNULIB_NAMESPACE
++  /* If we were to write
++       rettype (*const func) parameters = ::func;
++     like above in _GL_CXXALIAS_RPL_1, the compiler could optimize calls
++     better (remove an indirection through a 'static' pointer variable),
++     but then the _GL_CXXALIASWARN macro below would cause a warning not only
++     for uses of ::func but also for uses of GNULIB_NAMESPACE::func.  */
++# define _GL_CXXALIAS_SYS(func,rettype,parameters) \
++    namespace GNULIB_NAMESPACE                     \
++    {                                              \
++      static rettype (*func) parameters = ::func;  \
++    }                                              \
++    _GL_EXTERN_C int _gl_cxxalias_dummy
++#else
++# define _GL_CXXALIAS_SYS(func,rettype,parameters) \
++    _GL_EXTERN_C int _gl_cxxalias_dummy
++#endif
++
++/* _GL_CXXALIAS_SYS_CAST (func, rettype, parameters);
++   is like  _GL_CXXALIAS_SYS (func, rettype, parameters);
++   except that the C function func may have a slightly different declaration.
++   A cast is used to silence the "invalid conversion" error that would
++   otherwise occur.  */
++#if defined __cplusplus && defined GNULIB_NAMESPACE
++# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
++    namespace GNULIB_NAMESPACE                          \
++    {                                                   \
++      static rettype (*func) parameters =               \
++        reinterpret_cast<rettype(*)parameters>(::func); \
++    }                                                   \
++    _GL_EXTERN_C int _gl_cxxalias_dummy
++#else
++# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
++    _GL_EXTERN_C int _gl_cxxalias_dummy
++#endif
++
++/* _GL_CXXALIAS_SYS_CAST2 (func, rettype, parameters, rettype2, parameters2);
++   is like  _GL_CXXALIAS_SYS (func, rettype, parameters);
++   except that the C function is picked among a set of overloaded functions,
++   namely the one with rettype2 and parameters2.  Two consecutive casts
++   are used to silence the "cannot find a match" and "invalid conversion"
++   errors that would otherwise occur.  */
++#if defined __cplusplus && defined GNULIB_NAMESPACE
++  /* The outer cast must be a reinterpret_cast.
++     The inner cast: When the function is defined as a set of overloaded
++     functions, it works as a static_cast<>, choosing the designated variant.
++     When the function is defined as a single variant, it works as a
++     reinterpret_cast<>. The parenthesized cast syntax works both ways.  */
++# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
++    namespace GNULIB_NAMESPACE                                                \
++    {                                                                         \
++      static rettype (*func) parameters =                                     \
++        reinterpret_cast<rettype(*)parameters>(                               \
++          (rettype2(*)parameters2)(::func));                                  \
++    }                                                                         \
++    _GL_EXTERN_C int _gl_cxxalias_dummy
++#else
++# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
++    _GL_EXTERN_C int _gl_cxxalias_dummy
++#endif
++
++/* _GL_CXXALIASWARN (func);
++   causes a warning to be emitted when ::func is used but not when
++   GNULIB_NAMESPACE::func is used.  func must be defined without overloaded
++   variants.  */
++#if defined __cplusplus && defined GNULIB_NAMESPACE
++# define _GL_CXXALIASWARN(func) \
++   _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE)
++# define _GL_CXXALIASWARN_1(func,namespace) \
++   _GL_CXXALIASWARN_2 (func, namespace)
++/* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
++   we enable the warning only when not optimizing.  */
++# if !__OPTIMIZE__
++#  define _GL_CXXALIASWARN_2(func,namespace) \
++    _GL_WARN_ON_USE (func, \
++                     "The symbol ::" #func " refers to the system function. " \
++                     "Use " #namespace "::" #func " instead.")
++# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
++#  define _GL_CXXALIASWARN_2(func,namespace) \
++     extern __typeof__ (func) func
++# else
++#  define _GL_CXXALIASWARN_2(func,namespace) \
++     _GL_EXTERN_C int _gl_cxxalias_dummy
++# endif
++#else
++# define _GL_CXXALIASWARN(func) \
++    _GL_EXTERN_C int _gl_cxxalias_dummy
++#endif
++
++/* _GL_CXXALIASWARN1 (func, rettype, parameters_and_attributes);
++   causes a warning to be emitted when the given overloaded variant of ::func
++   is used but not when GNULIB_NAMESPACE::func is used.  */
++#if defined __cplusplus && defined GNULIB_NAMESPACE
++# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
++   _GL_CXXALIASWARN1_1 (func, rettype, parameters_and_attributes, \
++                        GNULIB_NAMESPACE)
++# define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \
++   _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace)
++/* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
++   we enable the warning only when not optimizing.  */
++# if !__OPTIMIZE__
++#  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
++    _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \
++                         "The symbol ::" #func " refers to the system function. " \
++                         "Use " #namespace "::" #func " instead.")
++# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
++#  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
++     extern __typeof__ (func) func
++# else
++#  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
++     _GL_EXTERN_C int _gl_cxxalias_dummy
++# endif
++#else
++# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
++    _GL_EXTERN_C int _gl_cxxalias_dummy
++#endif
++
++#endif /* _GL_CXXDEFS_H */
+diff -Naurp libiconv-1.14.org//build-aux/snippet/arg-nonnull.h libiconv-1.14/build-aux/snippet/arg-nonnull.h
+--- libiconv-1.14.org//build-aux/snippet/arg-nonnull.h	2011-08-07 06:22:07.000000000 -0700
++++ libiconv-1.14/build-aux/snippet/arg-nonnull.h	1969-12-31 16:00:00.000000000 -0800
+@@ -1,26 +0,0 @@
+-/* A C macro for declaring that specific arguments must not be NULL.
+-   Copyright (C) 2009-2011 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_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools
+-   that the values passed as arguments n, ..., m must be non-NULL pointers.
+-   n = 1 stands for the first argument, n = 2 for the second argument etc.  */
+-#ifndef _GL_ARG_NONNULL
+-# if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3
+-#  define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params))
+-# else
+-#  define _GL_ARG_NONNULL(params)
+-# endif
+-#endif
+diff -Naurp libiconv-1.14.org//build-aux/snippet/c++defs.h libiconv-1.14/build-aux/snippet/c++defs.h
+--- libiconv-1.14.org//build-aux/snippet/c++defs.h	2011-08-07 06:22:07.000000000 -0700
++++ libiconv-1.14/build-aux/snippet/c++defs.h	1969-12-31 16:00:00.000000000 -0800
+@@ -1,271 +0,0 @@
+-/* C++ compatible function declaration macros.
+-   Copyright (C) 2010-2011 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/>.  */
+-
+-#ifndef _GL_CXXDEFS_H
+-#define _GL_CXXDEFS_H
+-
+-/* The three most frequent use cases of these macros are:
+-
+-   * For providing a substitute for a function that is missing on some
+-     platforms, but is declared and works fine on the platforms on which
+-     it exists:
+-
+-       #if @GNULIB_FOO@
+-       # if !@HAVE_FOO@
+-       _GL_FUNCDECL_SYS (foo, ...);
+-       # endif
+-       _GL_CXXALIAS_SYS (foo, ...);
+-       _GL_CXXALIASWARN (foo);
+-       #elif defined GNULIB_POSIXCHECK
+-       ...
+-       #endif
+-
+-   * For providing a replacement for a function that exists on all platforms,
+-     but is broken/insufficient and needs to be replaced on some platforms:
+-
+-       #if @GNULIB_FOO@
+-       # if @REPLACE_FOO@
+-       #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+-       #   undef foo
+-       #   define foo rpl_foo
+-       #  endif
+-       _GL_FUNCDECL_RPL (foo, ...);
+-       _GL_CXXALIAS_RPL (foo, ...);
+-       # else
+-       _GL_CXXALIAS_SYS (foo, ...);
+-       # endif
+-       _GL_CXXALIASWARN (foo);
+-       #elif defined GNULIB_POSIXCHECK
+-       ...
+-       #endif
+-
+-   * For providing a replacement for a function that exists on some platforms
+-     but is broken/insufficient and needs to be replaced on some of them and
+-     is additionally either missing or undeclared on some other platforms:
+-
+-       #if @GNULIB_FOO@
+-       # if @REPLACE_FOO@
+-       #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+-       #   undef foo
+-       #   define foo rpl_foo
+-       #  endif
+-       _GL_FUNCDECL_RPL (foo, ...);
+-       _GL_CXXALIAS_RPL (foo, ...);
+-       # else
+-       #  if !@HAVE_FOO@   or   if !@HAVE_DECL_FOO@
+-       _GL_FUNCDECL_SYS (foo, ...);
+-       #  endif
+-       _GL_CXXALIAS_SYS (foo, ...);
+-       # endif
+-       _GL_CXXALIASWARN (foo);
+-       #elif defined GNULIB_POSIXCHECK
+-       ...
+-       #endif
+-*/
+-
+-/* _GL_EXTERN_C declaration;
+-   performs the declaration with C linkage.  */
+-#if defined __cplusplus
+-# define _GL_EXTERN_C extern "C"
+-#else
+-# define _GL_EXTERN_C extern
+-#endif
+-
+-/* _GL_FUNCDECL_RPL (func, rettype, parameters_and_attributes);
+-   declares a replacement function, named rpl_func, with the given prototype,
+-   consisting of return type, parameters, and attributes.
+-   Example:
+-     _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...)
+-                                  _GL_ARG_NONNULL ((1)));
+- */
+-#define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \
+-  _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes)
+-#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters_and_attributes) \
+-  _GL_EXTERN_C rettype rpl_func parameters_and_attributes
+-
+-/* _GL_FUNCDECL_SYS (func, rettype, parameters_and_attributes);
+-   declares the system function, named func, with the given prototype,
+-   consisting of return type, parameters, and attributes.
+-   Example:
+-     _GL_FUNCDECL_SYS (open, int, (const char *filename, int flags, ...)
+-                                  _GL_ARG_NONNULL ((1)));
+- */
+-#define _GL_FUNCDECL_SYS(func,rettype,parameters_and_attributes) \
+-  _GL_EXTERN_C rettype func parameters_and_attributes
+-
+-/* _GL_CXXALIAS_RPL (func, rettype, parameters);
+-   declares a C++ alias called GNULIB_NAMESPACE::func
+-   that redirects to rpl_func, if GNULIB_NAMESPACE is defined.
+-   Example:
+-     _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...));
+- */
+-#define _GL_CXXALIAS_RPL(func,rettype,parameters) \
+-  _GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters)
+-#if defined __cplusplus && defined GNULIB_NAMESPACE
+-# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
+-    namespace GNULIB_NAMESPACE                                \
+-    {                                                         \
+-      rettype (*const func) parameters = ::rpl_func;          \
+-    }                                                         \
+-    _GL_EXTERN_C int _gl_cxxalias_dummy
+-#else
+-# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
+-    _GL_EXTERN_C int _gl_cxxalias_dummy
+-#endif
+-
+-/* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters);
+-   is like  _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters);
+-   except that the C function rpl_func may have a slightly different
+-   declaration.  A cast is used to silence the "invalid conversion" error
+-   that would otherwise occur.  */
+-#if defined __cplusplus && defined GNULIB_NAMESPACE
+-# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
+-    namespace GNULIB_NAMESPACE                                     \
+-    {                                                              \
+-      rettype (*const func) parameters =                           \
+-        reinterpret_cast<rettype(*)parameters>(::rpl_func);        \
+-    }                                                              \
+-    _GL_EXTERN_C int _gl_cxxalias_dummy
+-#else
+-# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
+-    _GL_EXTERN_C int _gl_cxxalias_dummy
+-#endif
+-
+-/* _GL_CXXALIAS_SYS (func, rettype, parameters);
+-   declares a C++ alias called GNULIB_NAMESPACE::func
+-   that redirects to the system provided function func, if GNULIB_NAMESPACE
+-   is defined.
+-   Example:
+-     _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...));
+- */
+-#if defined __cplusplus && defined GNULIB_NAMESPACE
+-  /* If we were to write
+-       rettype (*const func) parameters = ::func;
+-     like above in _GL_CXXALIAS_RPL_1, the compiler could optimize calls
+-     better (remove an indirection through a 'static' pointer variable),
+-     but then the _GL_CXXALIASWARN macro below would cause a warning not only
+-     for uses of ::func but also for uses of GNULIB_NAMESPACE::func.  */
+-# define _GL_CXXALIAS_SYS(func,rettype,parameters) \
+-    namespace GNULIB_NAMESPACE                     \
+-    {                                              \
+-      static rettype (*func) parameters = ::func;  \
+-    }                                              \
+-    _GL_EXTERN_C int _gl_cxxalias_dummy
+-#else
+-# define _GL_CXXALIAS_SYS(func,rettype,parameters) \
+-    _GL_EXTERN_C int _gl_cxxalias_dummy
+-#endif
+-
+-/* _GL_CXXALIAS_SYS_CAST (func, rettype, parameters);
+-   is like  _GL_CXXALIAS_SYS (func, rettype, parameters);
+-   except that the C function func may have a slightly different declaration.
+-   A cast is used to silence the "invalid conversion" error that would
+-   otherwise occur.  */
+-#if defined __cplusplus && defined GNULIB_NAMESPACE
+-# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
+-    namespace GNULIB_NAMESPACE                          \
+-    {                                                   \
+-      static rettype (*func) parameters =               \
+-        reinterpret_cast<rettype(*)parameters>(::func); \
+-    }                                                   \
+-    _GL_EXTERN_C int _gl_cxxalias_dummy
+-#else
+-# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
+-    _GL_EXTERN_C int _gl_cxxalias_dummy
+-#endif
+-
+-/* _GL_CXXALIAS_SYS_CAST2 (func, rettype, parameters, rettype2, parameters2);
+-   is like  _GL_CXXALIAS_SYS (func, rettype, parameters);
+-   except that the C function is picked among a set of overloaded functions,
+-   namely the one with rettype2 and parameters2.  Two consecutive casts
+-   are used to silence the "cannot find a match" and "invalid conversion"
+-   errors that would otherwise occur.  */
+-#if defined __cplusplus && defined GNULIB_NAMESPACE
+-  /* The outer cast must be a reinterpret_cast.
+-     The inner cast: When the function is defined as a set of overloaded
+-     functions, it works as a static_cast<>, choosing the designated variant.
+-     When the function is defined as a single variant, it works as a
+-     reinterpret_cast<>. The parenthesized cast syntax works both ways.  */
+-# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
+-    namespace GNULIB_NAMESPACE                                                \
+-    {                                                                         \
+-      static rettype (*func) parameters =                                     \
+-        reinterpret_cast<rettype(*)parameters>(                               \
+-          (rettype2(*)parameters2)(::func));                                  \
+-    }                                                                         \
+-    _GL_EXTERN_C int _gl_cxxalias_dummy
+-#else
+-# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
+-    _GL_EXTERN_C int _gl_cxxalias_dummy
+-#endif
+-
+-/* _GL_CXXALIASWARN (func);
+-   causes a warning to be emitted when ::func is used but not when
+-   GNULIB_NAMESPACE::func is used.  func must be defined without overloaded
+-   variants.  */
+-#if defined __cplusplus && defined GNULIB_NAMESPACE
+-# define _GL_CXXALIASWARN(func) \
+-   _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE)
+-# define _GL_CXXALIASWARN_1(func,namespace) \
+-   _GL_CXXALIASWARN_2 (func, namespace)
+-/* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
+-   we enable the warning only when not optimizing.  */
+-# if !__OPTIMIZE__
+-#  define _GL_CXXALIASWARN_2(func,namespace) \
+-    _GL_WARN_ON_USE (func, \
+-                     "The symbol ::" #func " refers to the system function. " \
+-                     "Use " #namespace "::" #func " instead.")
+-# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
+-#  define _GL_CXXALIASWARN_2(func,namespace) \
+-     extern __typeof__ (func) func
+-# else
+-#  define _GL_CXXALIASWARN_2(func,namespace) \
+-     _GL_EXTERN_C int _gl_cxxalias_dummy
+-# endif
+-#else
+-# define _GL_CXXALIASWARN(func) \
+-    _GL_EXTERN_C int _gl_cxxalias_dummy
+-#endif
+-
+-/* _GL_CXXALIASWARN1 (func, rettype, parameters_and_attributes);
+-   causes a warning to be emitted when the given overloaded variant of ::func
+-   is used but not when GNULIB_NAMESPACE::func is used.  */
+-#if defined __cplusplus && defined GNULIB_NAMESPACE
+-# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
+-   _GL_CXXALIASWARN1_1 (func, rettype, parameters_and_attributes, \
+-                        GNULIB_NAMESPACE)
+-# define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \
+-   _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace)
+-/* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
+-   we enable the warning only when not optimizing.  */
+-# if !__OPTIMIZE__
+-#  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
+-    _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \
+-                         "The symbol ::" #func " refers to the system function. " \
+-                         "Use " #namespace "::" #func " instead.")
+-# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
+-#  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
+-     extern __typeof__ (func) func
+-# else
+-#  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
+-     _GL_EXTERN_C int _gl_cxxalias_dummy
+-# endif
+-#else
+-# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
+-    _GL_EXTERN_C int _gl_cxxalias_dummy
+-#endif
+-
+-#endif /* _GL_CXXDEFS_H */
+diff -Naurp libiconv-1.14.org//build-aux/snippet/_Noreturn.h libiconv-1.14/build-aux/snippet/_Noreturn.h
+--- libiconv-1.14.org//build-aux/snippet/_Noreturn.h	2011-08-07 06:22:07.000000000 -0700
++++ libiconv-1.14/build-aux/snippet/_Noreturn.h	1969-12-31 16:00:00.000000000 -0800
+@@ -1,10 +0,0 @@
+-#ifndef _Noreturn
+-# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
+-      || 0x5110 <= __SUNPRO_C)
+-#  define _Noreturn __attribute__ ((__noreturn__))
+-# elif 1200 <= _MSC_VER
+-#  define _Noreturn __declspec (noreturn)
+-# else
+-#  define _Noreturn
+-# endif
+-#endif
+diff -Naurp libiconv-1.14.org//build-aux/snippet/warn-on-use.h libiconv-1.14/build-aux/snippet/warn-on-use.h
+--- libiconv-1.14.org//build-aux/snippet/warn-on-use.h	2011-08-07 06:22:07.000000000 -0700
++++ libiconv-1.14/build-aux/snippet/warn-on-use.h	1969-12-31 16:00:00.000000000 -0800
+@@ -1,109 +0,0 @@
+-/* A C macro for emitting warnings if a function is used.
+-   Copyright (C) 2010-2011 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_WARN_ON_USE (function, "literal string") issues a declaration
+-   for FUNCTION which will then trigger a compiler warning containing
+-   the text of "literal string" anywhere that function is called, if
+-   supported by the compiler.  If the compiler does not support this
+-   feature, the macro expands to an unused extern declaration.
+-
+-   This macro is useful for marking a function as a potential
+-   portability trap, with the intent that "literal string" include
+-   instructions on the replacement function that should be used
+-   instead.  However, one of the reasons that a function is a
+-   portability trap is if it has the wrong signature.  Declaring
+-   FUNCTION with a different signature in C is a compilation error, so
+-   this macro must use the same type as any existing declaration so
+-   that programs that avoid the problematic FUNCTION do not fail to
+-   compile merely because they included a header that poisoned the
+-   function.  But this implies that _GL_WARN_ON_USE is only safe to
+-   use if FUNCTION is known to already have a declaration.  Use of
+-   this macro implies that there must not be any other macro hiding
+-   the declaration of FUNCTION; but undefining FUNCTION first is part
+-   of the poisoning process anyway (although for symbols that are
+-   provided only via a macro, the result is a compilation error rather
+-   than a warning containing "literal string").  Also note that in
+-   C++, it is only safe to use if FUNCTION has no overloads.
+-
+-   For an example, it is possible to poison 'getline' by:
+-   - adding a call to gl_WARN_ON_USE_PREPARE([[#include <stdio.h>]],
+-     [getline]) in configure.ac, which potentially defines
+-     HAVE_RAW_DECL_GETLINE
+-   - adding this code to a header that wraps the system <stdio.h>:
+-     #undef getline
+-     #if HAVE_RAW_DECL_GETLINE
+-     _GL_WARN_ON_USE (getline, "getline is required by POSIX 2008, but"
+-       "not universally present; use the gnulib module getline");
+-     #endif
+-
+-   It is not possible to directly poison global variables.  But it is
+-   possible to write a wrapper accessor function, and poison that
+-   (less common usage, like &environ, will cause a compilation error
+-   rather than issue the nice warning, but the end result of informing
+-   the developer about their portability problem is still achieved):
+-   #if HAVE_RAW_DECL_ENVIRON
+-   static inline char ***rpl_environ (void) { return &environ; }
+-   _GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared");
+-   # undef environ
+-   # define environ (*rpl_environ ())
+-   #endif
+-   */
+-#ifndef _GL_WARN_ON_USE
+-
+-# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
+-/* A compiler attribute is available in gcc versions 4.3.0 and later.  */
+-#  define _GL_WARN_ON_USE(function, message) \
+-extern __typeof__ (function) function __attribute__ ((__warning__ (message)))
+-# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
+-/* Verify the existence of the function.  */
+-#  define _GL_WARN_ON_USE(function, message) \
+-extern __typeof__ (function) function
+-# else /* Unsupported.  */
+-#  define _GL_WARN_ON_USE(function, message) \
+-_GL_WARN_EXTERN_C int _gl_warn_on_use
+-# endif
+-#endif
+-
+-/* _GL_WARN_ON_USE_CXX (function, rettype, parameters_and_attributes, "string")
+-   is like _GL_WARN_ON_USE (function, "string"), except that the function is
+-   declared with the given prototype, consisting of return type, parameters,
+-   and attributes.
+-   This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does
+-   not work in this case.  */
+-#ifndef _GL_WARN_ON_USE_CXX
+-# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
+-#  define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
+-extern rettype function parameters_and_attributes \
+-     __attribute__ ((__warning__ (msg)))
+-# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
+-/* Verify the existence of the function.  */
+-#  define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
+-extern rettype function parameters_and_attributes
+-# else /* Unsupported.  */
+-#  define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
+-_GL_WARN_EXTERN_C int _gl_warn_on_use
+-# endif
+-#endif
+-
+-/* _GL_WARN_EXTERN_C declaration;
+-   performs the declaration with C linkage.  */
+-#ifndef _GL_WARN_EXTERN_C
+-# if defined __cplusplus
+-#  define _GL_WARN_EXTERN_C extern "C"
+-# else
+-#  define _GL_WARN_EXTERN_C extern
+-# endif
+-#endif
+diff -Naurp libiconv-1.14.org//build-aux/warn-on-use.h libiconv-1.14/build-aux/warn-on-use.h
+--- libiconv-1.14.org//build-aux/warn-on-use.h	1969-12-31 16:00:00.000000000 -0800
++++ libiconv-1.14/build-aux/warn-on-use.h	2012-01-08 02:07:39.950484439 -0800
+@@ -0,0 +1,109 @@
++/* A C macro for emitting warnings if a function is used.
++   Copyright (C) 2010-2011 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_WARN_ON_USE (function, "literal string") issues a declaration
++   for FUNCTION which will then trigger a compiler warning containing
++   the text of "literal string" anywhere that function is called, if
++   supported by the compiler.  If the compiler does not support this
++   feature, the macro expands to an unused extern declaration.
++
++   This macro is useful for marking a function as a potential
++   portability trap, with the intent that "literal string" include
++   instructions on the replacement function that should be used
++   instead.  However, one of the reasons that a function is a
++   portability trap is if it has the wrong signature.  Declaring
++   FUNCTION with a different signature in C is a compilation error, so
++   this macro must use the same type as any existing declaration so
++   that programs that avoid the problematic FUNCTION do not fail to
++   compile merely because they included a header that poisoned the
++   function.  But this implies that _GL_WARN_ON_USE is only safe to
++   use if FUNCTION is known to already have a declaration.  Use of
++   this macro implies that there must not be any other macro hiding
++   the declaration of FUNCTION; but undefining FUNCTION first is part
++   of the poisoning process anyway (although for symbols that are
++   provided only via a macro, the result is a compilation error rather
++   than a warning containing "literal string").  Also note that in
++   C++, it is only safe to use if FUNCTION has no overloads.
++
++   For an example, it is possible to poison 'getline' by:
++   - adding a call to gl_WARN_ON_USE_PREPARE([[#include <stdio.h>]],
++     [getline]) in configure.ac, which potentially defines
++     HAVE_RAW_DECL_GETLINE
++   - adding this code to a header that wraps the system <stdio.h>:
++     #undef getline
++     #if HAVE_RAW_DECL_GETLINE
++     _GL_WARN_ON_USE (getline, "getline is required by POSIX 2008, but"
++       "not universally present; use the gnulib module getline");
++     #endif
++
++   It is not possible to directly poison global variables.  But it is
++   possible to write a wrapper accessor function, and poison that
++   (less common usage, like &environ, will cause a compilation error
++   rather than issue the nice warning, but the end result of informing
++   the developer about their portability problem is still achieved):
++   #if HAVE_RAW_DECL_ENVIRON
++   static inline char ***rpl_environ (void) { return &environ; }
++   _GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared");
++   # undef environ
++   # define environ (*rpl_environ ())
++   #endif
++   */
++#ifndef _GL_WARN_ON_USE
++
++# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
++/* A compiler attribute is available in gcc versions 4.3.0 and later.  */
++#  define _GL_WARN_ON_USE(function, message) \
++extern __typeof__ (function) function __attribute__ ((__warning__ (message)))
++# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
++/* Verify the existence of the function.  */
++#  define _GL_WARN_ON_USE(function, message) \
++extern __typeof__ (function) function
++# else /* Unsupported.  */
++#  define _GL_WARN_ON_USE(function, message) \
++_GL_WARN_EXTERN_C int _gl_warn_on_use
++# endif
++#endif
++
++/* _GL_WARN_ON_USE_CXX (function, rettype, parameters_and_attributes, "string")
++   is like _GL_WARN_ON_USE (function, "string"), except that the function is
++   declared with the given prototype, consisting of return type, parameters,
++   and attributes.
++   This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does
++   not work in this case.  */
++#ifndef _GL_WARN_ON_USE_CXX
++# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
++#  define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
++extern rettype function parameters_and_attributes \
++     __attribute__ ((__warning__ (msg)))
++# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
++/* Verify the existence of the function.  */
++#  define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
++extern rettype function parameters_and_attributes
++# else /* Unsupported.  */
++#  define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
++_GL_WARN_EXTERN_C int _gl_warn_on_use
++# endif
++#endif
++
++/* _GL_WARN_EXTERN_C declaration;
++   performs the declaration with C linkage.  */
++#ifndef _GL_WARN_EXTERN_C
++# if defined __cplusplus
++#  define _GL_WARN_EXTERN_C extern "C"
++# else
++#  define _GL_WARN_EXTERN_C extern
++# endif
++#endif
+diff -Naurp libiconv-1.14.org//srclib/allocator.h libiconv-1.14/srclib/allocator.h
+--- libiconv-1.14.org//srclib/allocator.h	2011-08-07 06:42:06.000000000 -0700
++++ libiconv-1.14/srclib/allocator.h	2012-01-08 02:07:40.050484444 -0800
+@@ -45,11 +45,10 @@ struct allocator
+   /* Call FREE to free memory, like 'free'.  */
+   void (*free) (void *);
+ 
+-  /* If nonnull, call DIE (SIZE) if MALLOC (SIZE) or REALLOC (...,
+-     SIZE) fails.  DIE should not return.  SIZE should equal SIZE_MAX
+-     if size_t overflow was detected while calculating sizes to be
+-     passed to MALLOC or REALLOC.  */
+-  void (*die) (size_t);
++  /* If nonnull, call DIE if MALLOC or REALLOC fails.  DIE should not
++     return.  DIE can be used by code that detects memory overflow
++     while calculating sizes to be passed to MALLOC or REALLOC.  */
++  void (*die) (void);
+ };
+ 
+ /* An allocator using the stdlib functions and a null DIE function.  */
+diff -Naurp libiconv-1.14.org//srclib/canonicalize-lgpl.c libiconv-1.14/srclib/canonicalize-lgpl.c
+--- libiconv-1.14.org//srclib/canonicalize-lgpl.c	2011-08-07 06:42:06.000000000 -0700
++++ libiconv-1.14/srclib/canonicalize-lgpl.c	2012-01-08 02:07:40.094484446 -0800
+@@ -125,7 +125,7 @@ __realpath (const char *name, char *reso
+ #else
+   path_max = pathconf (name, _PC_PATH_MAX);
+   if (path_max <= 0)
+-    path_max = 8192;
++    path_max = 1024;
+ #endif
+ 
+   if (resolved == NULL)
+diff -Naurp libiconv-1.14.org//srclib/careadlinkat.c libiconv-1.14/srclib/careadlinkat.c
+--- libiconv-1.14.org//srclib/careadlinkat.c	2011-08-07 06:42:06.000000000 -0700
++++ libiconv-1.14/srclib/careadlinkat.c	2012-01-08 02:07:40.102484445 -0800
+@@ -133,7 +133,6 @@ careadlinkat (int fd, char const *filena
+           if (buf == stack_buf)
+             {
+               char *b = (char *) alloc->allocate (link_size);
+-              buf_size = link_size;
+               if (! b)
+                 break;
+               memcpy (b, buf, link_size);
+@@ -157,11 +156,6 @@ careadlinkat (int fd, char const *filena
+         buf_size *= 2;
+       else if (buf_size < buf_size_max)
+         buf_size = buf_size_max;
+-      else if (buf_size_max < SIZE_MAX)
+-        {
+-          errno = ENAMETOOLONG;
+-          return NULL;
+-        }
+       else
+         break;
+       buf = (char *) alloc->allocate (buf_size);
+@@ -169,7 +163,7 @@ careadlinkat (int fd, char const *filena
+   while (buf);
+ 
+   if (alloc->die)
+-    alloc->die (buf_size);
++    alloc->die ();
+   errno = ENOMEM;
+   return NULL;
+ }
+diff -Naurp libiconv-1.14.org//srclib/errno.in.h libiconv-1.14/srclib/errno.in.h
+--- libiconv-1.14.org//srclib/errno.in.h	2011-08-07 06:42:06.000000000 -0700
++++ libiconv-1.14/srclib/errno.in.h	2012-01-08 02:07:40.122484446 -0800
+@@ -16,7 +16,7 @@
+    along with this program; if not, write to the Free Software Foundation,
+    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+ 
+-#ifndef _@GUARD_PREFIX@_ERRNO_H
++#ifndef _GL_ERRNO_H
+ 
+ #if __GNUC__ >= 3
+ @PRAGMA_SYSTEM_HEADER@
+@@ -26,8 +26,8 @@
+ /* The include_next requires a split double-inclusion guard.  */
+ #@INCLUDE_NEXT@ @NEXT_ERRNO_H@
+ 
+-#ifndef _@GUARD_PREFIX@_ERRNO_H
+-#define _@GUARD_PREFIX@_ERRNO_H
++#ifndef _GL_ERRNO_H
++#define _GL_ERRNO_H
+ 
+ 
+ /* On native Windows platforms, many macros are not defined.  */
+@@ -147,16 +147,6 @@
+ #  define GNULIB_defined_ENOTSUP 1
+ # endif
+ 
+-# ifndef ENETRESET
+-#  define ENETRESET 2011
+-#  define GNULIB_defined_ENETRESET 1
+-# endif
+-
+-# ifndef ECONNABORTED
+-#  define ECONNABORTED 2012
+-#  define GNULIB_defined_ECONNABORTED 1
+-# endif
+-
+ # ifndef ESTALE
+ #  define ESTALE    2009
+ #  define GNULIB_defined_ESTALE 1
+@@ -173,5 +163,5 @@
+ # endif
+ 
+ 
+-#endif /* _@GUARD_PREFIX@_ERRNO_H */
+-#endif /* _@GUARD_PREFIX@_ERRNO_H */
++#endif /* _GL_ERRNO_H */
++#endif /* _GL_ERRNO_H */
+diff -Naurp libiconv-1.14.org//srclib/error.c libiconv-1.14/srclib/error.c
+--- libiconv-1.14.org//srclib/error.c	2011-08-07 06:42:06.000000000 -0700
++++ libiconv-1.14/srclib/error.c	2012-01-08 02:07:40.134484448 -0800
+@@ -97,15 +97,11 @@ extern void __error_at_line (int status,
+ /* The gnulib override of fcntl is not needed in this file.  */
+ # undef fcntl
+ 
+-# if !HAVE_DECL_STRERROR_R
++# if !HAVE_DECL_STRERROR_R && STRERROR_R_CHAR_P
+ #  ifndef HAVE_DECL_STRERROR_R
+ "this configure-time declaration test was not run"
+ #  endif
+-#  if STRERROR_R_CHAR_P
+ char *strerror_r ();
+-#  else
+-int strerror_r ();
+-#  endif
+ # endif
+ 
+ /* The calling program should define program_name and set it to the
+diff -Naurp libiconv-1.14.org//srclib/fcntl.in.h libiconv-1.14/srclib/fcntl.in.h
+--- libiconv-1.14.org//srclib/fcntl.in.h	2011-08-07 06:42:06.000000000 -0700
++++ libiconv-1.14/srclib/fcntl.in.h	2012-01-08 02:07:40.154484449 -0800
+@@ -40,7 +40,7 @@
+ #else
+ /* Normal invocation convention.  */
+ 
+-#ifndef _@GUARD_PREFIX@_FCNTL_H
++#ifndef _GL_FCNTL_H
+ 
+ #include <sys/types.h>
+ /* On some systems other than glibc, <sys/stat.h> is a prerequisite of
+@@ -55,8 +55,8 @@
+ /* The include_next requires a split double-inclusion guard.  */
+ #@INCLUDE_NEXT@ @NEXT_FCNTL_H@
+ 
+-#ifndef _@GUARD_PREFIX@_FCNTL_H
+-#define _@GUARD_PREFIX@_FCNTL_H
++#ifndef _GL_FCNTL_H
++#define _GL_FCNTL_H
+ 
+ #ifndef __GLIBC__ /* Avoid namespace pollution on glibc systems.  */
+ # include <unistd.h>
+@@ -320,6 +320,6 @@ _GL_WARN_ON_USE (openat, "openat is not
+ #endif
+ 
+ 
+-#endif /* _@GUARD_PREFIX@_FCNTL_H */
+-#endif /* _@GUARD_PREFIX@_FCNTL_H */
++#endif /* _GL_FCNTL_H */
++#endif /* _GL_FCNTL_H */
+ #endif
+diff -Naurp libiconv-1.14.org//srclib/intprops.h libiconv-1.14/srclib/intprops.h
+--- libiconv-1.14.org//srclib/intprops.h	2011-08-07 06:42:06.000000000 -0700
++++ libiconv-1.14/srclib/intprops.h	2012-01-08 02:07:40.174484450 -0800
+@@ -22,13 +22,14 @@
+ 
+ #include <limits.h>
+ 
+-/* Return an integer value, converted to the same type as the integer
+-   expression E after integer type promotion.  V is the unconverted value.  */
+-#define _GL_INT_CONVERT(e, v) (0 * (e) + (v))
++/* Return a integer value, converted to the same type as the integer
++   expression E after integer type promotion.  V is the unconverted value.
++   E should not have side effects.  */
++#define _GL_INT_CONVERT(e, v) ((e) - (e) + (v))
+ 
+ /* Act like _GL_INT_CONVERT (E, -V) but work around a bug in IRIX 6.5 cc; see
+    <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.  */
+-#define _GL_INT_NEGATE_CONVERT(e, v) (0 * (e) - (v))
++#define _GL_INT_NEGATE_CONVERT(e, v) ((e) - (e) - (v))
+ 
+ /* The extra casts in the following macros work around compiler bugs,
+    e.g., in Cray C 5.0.3.0.  */
+@@ -52,7 +53,7 @@
+ #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
+ 
+ /* Return 1 if the integer expression E, after integer promotion, has
+-   a signed type.  */
++   a signed type.  E should not have side effects.  */
+ #define _GL_INT_SIGNED(e) (_GL_INT_NEGATE_CONVERT (e, 1) < 0)
+ 
+ 
+@@ -310,10 +311,13 @@
+ /* Return 1 if the expression A <op> B would overflow,
+    where OP_RESULT_OVERFLOW (A, B, MIN, MAX) does the actual test,
+    assuming MIN and MAX are the minimum and maximum for the result type.
+-   Arguments should be free of side effects.  */
++
++   This macro assumes that A | B is a valid integer if both A and B are,
++   which is true of all known practical hosts.  If this is a problem
++   for you, please let us know how to fix it for your host.  */
+ #define _GL_BINARY_OP_OVERFLOW(a, b, op_result_overflow)        \
+   op_result_overflow (a, b,                                     \
+-                      _GL_INT_MINIMUM (0 * (b) + (a)),          \
+-                      _GL_INT_MAXIMUM (0 * (b) + (a)))
++                      _GL_INT_MINIMUM ((a) | (b)),              \
++                      _GL_INT_MAXIMUM ((a) | (b)))
+ 
+ #endif /* _GL_INTPROPS_H */
+diff -Naurp libiconv-1.14.org//srclib/Makefile.gnulib libiconv-1.14/srclib/Makefile.gnulib
+--- libiconv-1.14.org//srclib/Makefile.gnulib	2012-01-08 02:05:18.754477606 -0800
++++ libiconv-1.14/srclib/Makefile.gnulib	2012-01-08 02:07:43.138484592 -0800
+@@ -9,7 +9,7 @@
+ # the same distribution terms as the rest of that program.
+ #
+ # Generated by gnulib-tool.
+-# Reproduce by: gnulib-tool --import --dir=. --local-dir=gnulib-local --lib=libicrt --source-base=srclib --m4-base=srcm4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --makefile-name=Makefile.gnulib --no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files binary-io error gettext gettext-h libiconv-misc mbstate memmove progname relocatable-prog safe-read sigpipe stdio stdlib strerror unistd uniwidth/width unlocked-io xalloc
++# Reproduce by: gnulib-tool --import --dir=. --local-dir=gnulib-local --lib=libicrt --source-base=srclib --m4-base=srcm4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --makefile-name=Makefile.gnulib --no-libtool --macro-prefix=gl --no-vc-files binary-io error gettext gettext-h libiconv-misc mbstate memmove progname relocatable relocatable-prog safe-read sigpipe stdio stdlib strerror unistd uniwidth/width unlocked-io xalloc
+ 
+ 
+ MOSTLYCLEANFILES += core *.stackdump
+@@ -60,12 +60,60 @@ EXTRA_DIST += areadlink.h
+ 
+ ## end   gnulib module areadlink
+ 
++## begin gnulib module arg-nonnull
++
++# 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 += arg-nonnull.h
++# The arg-nonnull.h that gets inserted into generated .h files is the same as
++# build-aux/arg-nonnull.h, except that it has the copyright header cut off.
++arg-nonnull.h: $(top_srcdir)/build-aux/arg-nonnull.h
++	$(AM_V_GEN)rm -f $@-t $@ && \
++	sed -n -e '/GL_ARG_NONNULL/,$$p' \
++	  < $(top_srcdir)/build-aux/arg-nonnull.h \
++	  > $@-t && \
++	mv $@-t $@
++MOSTLYCLEANFILES += arg-nonnull.h arg-nonnull.h-t
++
++ARG_NONNULL_H=arg-nonnull.h
++
++EXTRA_DIST += $(top_srcdir)/build-aux/arg-nonnull.h
++
++## end   gnulib module arg-nonnull
++
+ ## begin gnulib module binary-io
+ 
+ libicrt_a_SOURCES += binary-io.h
+ 
+ ## end   gnulib module binary-io
+ 
++## begin gnulib module c++defs
++
++# 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 += c++defs.h
++# The c++defs.h that gets inserted into generated .h files is the same as
++# build-aux/c++defs.h, except that it has the copyright header cut off.
++c++defs.h: $(top_srcdir)/build-aux/c++defs.h
++	$(AM_V_GEN)rm -f $@-t $@ && \
++	sed -n -e '/_GL_CXXDEFS/,$$p' \
++	  < $(top_srcdir)/build-aux/c++defs.h \
++	  > $@-t && \
++	mv $@-t $@
++MOSTLYCLEANFILES += c++defs.h c++defs.h-t
++
++CXXDEFS_H=c++defs.h
++
++EXTRA_DIST += $(top_srcdir)/build-aux/c++defs.h
++
++## end   gnulib module c++defs
++
+ ## begin gnulib module canonicalize-lgpl
+ 
+ 
+@@ -100,8 +148,7 @@ if GL_GENERATE_ERRNO_H
+ errno.h: errno.in.h $(top_builddir)/config.status
+ 	$(AM_V_GEN)rm -f $@-t $@ && \
+ 	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+-	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+-	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
++	  sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ 	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ 	      -e 's|@''NEXT_ERRNO_H''@|$(NEXT_ERRNO_H)|g' \
+@@ -142,15 +189,14 @@ BUILT_SOURCES += fcntl.h
+ fcntl.h: fcntl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ 	$(AM_V_GEN)rm -f $@-t $@ && \
+ 	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+-	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+-	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
++	  sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ 	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ 	      -e 's|@''NEXT_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \
+-	      -e 's/@''GNULIB_FCNTL''@/$(GNULIB_FCNTL)/g' \
+-	      -e 's/@''GNULIB_NONBLOCKING''@/$(GNULIB_NONBLOCKING)/g' \
+-	      -e 's/@''GNULIB_OPEN''@/$(GNULIB_OPEN)/g' \
+-	      -e 's/@''GNULIB_OPENAT''@/$(GNULIB_OPENAT)/g' \
++	      -e 's|@''GNULIB_FCNTL''@|$(GNULIB_FCNTL)|g' \
++	      -e 's|@''GNULIB_NONBLOCKING''@|$(GNULIB_NONBLOCKING)|g' \
++	      -e 's|@''GNULIB_OPEN''@|$(GNULIB_OPEN)|g' \
++	      -e 's|@''GNULIB_OPENAT''@|$(GNULIB_OPENAT)|g' \
+ 	      -e 's|@''HAVE_FCNTL''@|$(HAVE_FCNTL)|g' \
+ 	      -e 's|@''HAVE_OPENAT''@|$(HAVE_OPENAT)|g' \
+ 	      -e 's|@''REPLACE_FCNTL''@|$(REPLACE_FCNTL)|g' \
+@@ -297,7 +343,7 @@ EXTRA_DIST += $(top_srcdir)/build-aux/co
+ ## begin gnulib module relocatable-prog-wrapper
+ 
+ 
+-EXTRA_DIST += allocator.c allocator.h areadlink.c areadlink.h c-ctype.c c-ctype.h canonicalize-lgpl.c careadlinkat.c careadlinkat.h malloca.c malloca.h progname.c progname.h progreloc.c readlink.c relocatable.c relocatable.h relocwrapper.c setenv.c
++EXTRA_DIST += allocator.c allocator.h areadlink.c areadlink.h c-ctype.c c-ctype.h canonicalize-lgpl.c careadlinkat.c careadlinkat.h malloca.c malloca.h progname.c progname.h progreloc.c readlink.c relocatable.c relocatable.h relocwrapper.c setenv.c strerror.c
+ 
+ EXTRA_DIST += $(top_srcdir)/build-aux/install-reloc
+ 
+@@ -305,9 +351,10 @@ EXTRA_DIST += $(top_srcdir)/build-aux/in
+ 
+ ## begin gnulib module safe-read
+ 
+-libicrt_a_SOURCES += safe-read.c
+ 
+-EXTRA_DIST += safe-read.h
++EXTRA_DIST += safe-read.c safe-read.h
++
++EXTRA_libicrt_a_SOURCES += safe-read.c
+ 
+ ## end   gnulib module safe-read
+ 
+@@ -320,24 +367,20 @@ BUILT_SOURCES += signal.h
+ signal.h: signal.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ 	$(AM_V_GEN)rm -f $@-t $@ && \
+ 	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+-	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+-	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
++	  sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ 	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ 	      -e 's|@''NEXT_SIGNAL_H''@|$(NEXT_SIGNAL_H)|g' \
+-	      -e 's|@''GNULIB_PTHREAD_SIGMASK''@|$(GNULIB_PTHREAD_SIGMASK)|g' \
+-	      -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GNULIB_SIGNAL_H_SIGPIPE)/g' \
+-	      -e 's/@''GNULIB_SIGPROCMASK''@/$(GNULIB_SIGPROCMASK)/g' \
+-	      -e 's/@''GNULIB_SIGACTION''@/$(GNULIB_SIGACTION)/g' \
++	      -e 's|@''GNULIB_SIGNAL_H_SIGPIPE''@|$(GNULIB_SIGNAL_H_SIGPIPE)|g' \
++	      -e 's|@''GNULIB_SIGPROCMASK''@|$(GNULIB_SIGPROCMASK)|g' \
++	      -e 's|@''GNULIB_SIGACTION''@|$(GNULIB_SIGACTION)|g' \
+ 	      -e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|$(HAVE_POSIX_SIGNALBLOCKING)|g' \
+-	      -e 's|@''HAVE_PTHREAD_SIGMASK''@|$(HAVE_PTHREAD_SIGMASK)|g' \
+ 	      -e 's|@''HAVE_SIGSET_T''@|$(HAVE_SIGSET_T)|g' \
+ 	      -e 's|@''HAVE_SIGINFO_T''@|$(HAVE_SIGINFO_T)|g' \
+ 	      -e 's|@''HAVE_SIGACTION''@|$(HAVE_SIGACTION)|g' \
+ 	      -e 's|@''HAVE_STRUCT_SIGACTION_SA_SIGACTION''@|$(HAVE_STRUCT_SIGACTION_SA_SIGACTION)|g' \
+ 	      -e 's|@''HAVE_TYPE_VOLATILE_SIG_ATOMIC_T''@|$(HAVE_TYPE_VOLATILE_SIG_ATOMIC_T)|g' \
+ 	      -e 's|@''HAVE_SIGHANDLER_T''@|$(HAVE_SIGHANDLER_T)|g' \
+-	      -e 's|@''REPLACE_PTHREAD_SIGMASK''@|$(REPLACE_PTHREAD_SIGMASK)|g' \
+ 	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ 	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ 	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+@@ -368,87 +411,6 @@ EXTRA_libicrt_a_SOURCES += sigprocmask.c
+ 
+ ## end   gnulib module sigprocmask
+ 
+-## begin gnulib module snippet/_Noreturn
+-
+-# Because this Makefile snippet defines a variable used by other
+-# gnulib Makefile snippets, it must be present in all Makefile.am that
+-# need it. This is ensured by the applicability 'all' defined above.
+-
+-_NORETURN_H=$(top_srcdir)/build-aux/snippet/_Noreturn.h
+-
+-EXTRA_DIST += $(top_srcdir)/build-aux/snippet/_Noreturn.h
+-
+-## end   gnulib module snippet/_Noreturn
+-
+-## begin gnulib module snippet/arg-nonnull
+-
+-# 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 += arg-nonnull.h
+-# The arg-nonnull.h that gets inserted into generated .h files is the same as
+-# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut
+-# off.
+-arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h
+-	$(AM_V_GEN)rm -f $@-t $@ && \
+-	sed -n -e '/GL_ARG_NONNULL/,$$p' \
+-	  < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
+-	  > $@-t && \
+-	mv $@-t $@
+-MOSTLYCLEANFILES += arg-nonnull.h arg-nonnull.h-t
+-
+-ARG_NONNULL_H=arg-nonnull.h
+-
+-EXTRA_DIST += $(top_srcdir)/build-aux/snippet/arg-nonnull.h
+-
+-## end   gnulib module snippet/arg-nonnull
+-
+-## begin gnulib module snippet/c++defs
+-
+-# 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 += c++defs.h
+-# The c++defs.h that gets inserted into generated .h files is the same as
+-# build-aux/snippet/c++defs.h, except that it has the copyright header cut off.
+-c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h
+-	$(AM_V_GEN)rm -f $@-t $@ && \
+-	sed -n -e '/_GL_CXXDEFS/,$$p' \
+-	  < $(top_srcdir)/build-aux/snippet/c++defs.h \
+-	  > $@-t && \
+-	mv $@-t $@
+-MOSTLYCLEANFILES += c++defs.h c++defs.h-t
+-
+-CXXDEFS_H=c++defs.h
+-
+-EXTRA_DIST += $(top_srcdir)/build-aux/snippet/c++defs.h
+-
+-## end   gnulib module snippet/c++defs
+-
+-## begin gnulib module snippet/warn-on-use
+-
+-BUILT_SOURCES += warn-on-use.h
+-# The warn-on-use.h that gets inserted into generated .h files is the same as
+-# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut
+-# off.
+-warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
+-	$(AM_V_GEN)rm -f $@-t $@ && \
+-	sed -n -e '/^.ifndef/,$$p' \
+-	  < $(top_srcdir)/build-aux/snippet/warn-on-use.h \
+-	  > $@-t && \
+-	mv $@-t $@
+-MOSTLYCLEANFILES += warn-on-use.h warn-on-use.h-t
+-
+-WARN_ON_USE_H=warn-on-use.h
+-
+-EXTRA_DIST += $(top_srcdir)/build-aux/snippet/warn-on-use.h
+-
+-## end   gnulib module snippet/warn-on-use
+-
+ ## begin gnulib module stat
+ 
+ 
+@@ -491,8 +453,7 @@ if GL_GENERATE_STDDEF_H
+ stddef.h: stddef.in.h $(top_builddir)/config.status
+ 	$(AM_V_GEN)rm -f $@-t $@ && \
+ 	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+-	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+-	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
++	  sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ 	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ 	      -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \
+@@ -521,8 +482,7 @@ if GL_GENERATE_STDINT_H
+ stdint.h: stdint.in.h $(top_builddir)/config.status
+ 	$(AM_V_GEN)rm -f $@-t $@ && \
+ 	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+-	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+-	      -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
++	  sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
+ 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ 	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+@@ -570,63 +530,62 @@ BUILT_SOURCES += stdio.h
+ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ 	$(AM_V_GEN)rm -f $@-t $@ && \
+ 	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+-	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+-	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
++	  sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ 	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ 	      -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \
+-	      -e 's/@''GNULIB_DPRINTF''@/$(GNULIB_DPRINTF)/g' \
+-	      -e 's/@''GNULIB_FCLOSE''@/$(GNULIB_FCLOSE)/g' \
+-	      -e 's/@''GNULIB_FFLUSH''@/$(GNULIB_FFLUSH)/g' \
+-	      -e 's/@''GNULIB_FGETC''@/$(GNULIB_FGETC)/g' \
+-	      -e 's/@''GNULIB_FGETS''@/$(GNULIB_FGETS)/g' \
+-	      -e 's/@''GNULIB_FOPEN''@/$(GNULIB_FOPEN)/g' \
+-	      -e 's/@''GNULIB_FPRINTF''@/$(GNULIB_FPRINTF)/g' \
+-	      -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GNULIB_FPRINTF_POSIX)/g' \
+-	      -e 's/@''GNULIB_FPURGE''@/$(GNULIB_FPURGE)/g' \
+-	      -e 's/@''GNULIB_FPUTC''@/$(GNULIB_FPUTC)/g' \
+-	      -e 's/@''GNULIB_FPUTS''@/$(GNULIB_FPUTS)/g' \
+-	      -e 's/@''GNULIB_FREAD''@/$(GNULIB_FREAD)/g' \
+-	      -e 's/@''GNULIB_FREOPEN''@/$(GNULIB_FREOPEN)/g' \
+-	      -e 's/@''GNULIB_FSCANF''@/$(GNULIB_FSCANF)/g' \
+-	      -e 's/@''GNULIB_FSEEK''@/$(GNULIB_FSEEK)/g' \
+-	      -e 's/@''GNULIB_FSEEKO''@/$(GNULIB_FSEEKO)/g' \
+-	      -e 's/@''GNULIB_FTELL''@/$(GNULIB_FTELL)/g' \
+-	      -e 's/@''GNULIB_FTELLO''@/$(GNULIB_FTELLO)/g' \
+-	      -e 's/@''GNULIB_FWRITE''@/$(GNULIB_FWRITE)/g' \
+-	      -e 's/@''GNULIB_GETC''@/$(GNULIB_GETC)/g' \
+-	      -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \
+-	      -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \
+-	      -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \
+-	      -e 's/@''GNULIB_GETS''@/$(GNULIB_GETS)/g' \
+-	      -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \
+-	      -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \
+-	      -e 's/@''GNULIB_PERROR''@/$(GNULIB_PERROR)/g' \
+-	      -e 's/@''GNULIB_POPEN''@/$(GNULIB_POPEN)/g' \
+-	      -e 's/@''GNULIB_PRINTF''@/$(GNULIB_PRINTF)/g' \
+-	      -e 's/@''GNULIB_PRINTF_POSIX''@/$(GNULIB_PRINTF_POSIX)/g' \
+-	      -e 's/@''GNULIB_PUTC''@/$(GNULIB_PUTC)/g' \
+-	      -e 's/@''GNULIB_PUTCHAR''@/$(GNULIB_PUTCHAR)/g' \
+-	      -e 's/@''GNULIB_PUTS''@/$(GNULIB_PUTS)/g' \
+-	      -e 's/@''GNULIB_REMOVE''@/$(GNULIB_REMOVE)/g' \
+-	      -e 's/@''GNULIB_RENAME''@/$(GNULIB_RENAME)/g' \
+-	      -e 's/@''GNULIB_RENAMEAT''@/$(GNULIB_RENAMEAT)/g' \
+-	      -e 's/@''GNULIB_SCANF''@/$(GNULIB_SCANF)/g' \
+-	      -e 's/@''GNULIB_SNPRINTF''@/$(GNULIB_SNPRINTF)/g' \
+-	      -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GNULIB_SPRINTF_POSIX)/g' \
+-	      -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GNULIB_STDIO_H_NONBLOCKING)/g' \
+-	      -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GNULIB_STDIO_H_SIGPIPE)/g' \
+-	      -e 's/@''GNULIB_TMPFILE''@/$(GNULIB_TMPFILE)/g' \
+-	      -e 's/@''GNULIB_VASPRINTF''@/$(GNULIB_VASPRINTF)/g' \
+-	      -e 's/@''GNULIB_VDPRINTF''@/$(GNULIB_VDPRINTF)/g' \
+-	      -e 's/@''GNULIB_VFPRINTF''@/$(GNULIB_VFPRINTF)/g' \
+-	      -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GNULIB_VFPRINTF_POSIX)/g' \
+-	      -e 's/@''GNULIB_VFSCANF''@/$(GNULIB_VFSCANF)/g' \
+-	      -e 's/@''GNULIB_VSCANF''@/$(GNULIB_VSCANF)/g' \
+-	      -e 's/@''GNULIB_VPRINTF''@/$(GNULIB_VPRINTF)/g' \
+-	      -e 's/@''GNULIB_VPRINTF_POSIX''@/$(GNULIB_VPRINTF_POSIX)/g' \
+-	      -e 's/@''GNULIB_VSNPRINTF''@/$(GNULIB_VSNPRINTF)/g' \
+-	      -e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GNULIB_VSPRINTF_POSIX)/g' \
++	      -e 's|@''GNULIB_DPRINTF''@|$(GNULIB_DPRINTF)|g' \
++	      -e 's|@''GNULIB_FCLOSE''@|$(GNULIB_FCLOSE)|g' \
++	      -e 's|@''GNULIB_FFLUSH''@|$(GNULIB_FFLUSH)|g' \
++	      -e 's|@''GNULIB_FGETC''@|$(GNULIB_FGETC)|g' \
++	      -e 's|@''GNULIB_FGETS''@|$(GNULIB_FGETS)|g' \
++	      -e 's|@''GNULIB_FOPEN''@|$(GNULIB_FOPEN)|g' \
++	      -e 's|@''GNULIB_FPRINTF''@|$(GNULIB_FPRINTF)|g' \
++	      -e 's|@''GNULIB_FPRINTF_POSIX''@|$(GNULIB_FPRINTF_POSIX)|g' \
++	      -e 's|@''GNULIB_FPURGE''@|$(GNULIB_FPURGE)|g' \
++	      -e 's|@''GNULIB_FPUTC''@|$(GNULIB_FPUTC)|g' \
++	      -e 's|@''GNULIB_FPUTS''@|$(GNULIB_FPUTS)|g' \
++	      -e 's|@''GNULIB_FREAD''@|$(GNULIB_FREAD)|g' \
++	      -e 's|@''GNULIB_FREOPEN''@|$(GNULIB_FREOPEN)|g' \
++	      -e 's|@''GNULIB_FSCANF''@|$(GNULIB_FSCANF)|g' \
++	      -e 's|@''GNULIB_FSEEK''@|$(GNULIB_FSEEK)|g' \
++	      -e 's|@''GNULIB_FSEEKO''@|$(GNULIB_FSEEKO)|g' \
++	      -e 's|@''GNULIB_FTELL''@|$(GNULIB_FTELL)|g' \
++	      -e 's|@''GNULIB_FTELLO''@|$(GNULIB_FTELLO)|g' \
++	      -e 's|@''GNULIB_FWRITE''@|$(GNULIB_FWRITE)|g' \
++	      -e 's|@''GNULIB_GETC''@|$(GNULIB_GETC)|g' \
++	      -e 's|@''GNULIB_GETCHAR''@|$(GNULIB_GETCHAR)|g' \
++	      -e 's|@''GNULIB_GETDELIM''@|$(GNULIB_GETDELIM)|g' \
++	      -e 's|@''GNULIB_GETLINE''@|$(GNULIB_GETLINE)|g' \
++	      -e 's|@''GNULIB_GETS''@|$(GNULIB_GETS)|g' \
++	      -e 's|@''GNULIB_OBSTACK_PRINTF''@|$(GNULIB_OBSTACK_PRINTF)|g' \
++	      -e 's|@''GNULIB_OBSTACK_PRINTF_POSIX''@|$(GNULIB_OBSTACK_PRINTF_POSIX)|g' \
++	      -e 's|@''GNULIB_PERROR''@|$(GNULIB_PERROR)|g' \
++	      -e 's|@''GNULIB_POPEN''@|$(GNULIB_POPEN)|g' \
++	      -e 's|@''GNULIB_PRINTF''@|$(GNULIB_PRINTF)|g' \
++	      -e 's|@''GNULIB_PRINTF_POSIX''@|$(GNULIB_PRINTF_POSIX)|g' \
++	      -e 's|@''GNULIB_PUTC''@|$(GNULIB_PUTC)|g' \
++	      -e 's|@''GNULIB_PUTCHAR''@|$(GNULIB_PUTCHAR)|g' \
++	      -e 's|@''GNULIB_PUTS''@|$(GNULIB_PUTS)|g' \
++	      -e 's|@''GNULIB_REMOVE''@|$(GNULIB_REMOVE)|g' \
++	      -e 's|@''GNULIB_RENAME''@|$(GNULIB_RENAME)|g' \
++	      -e 's|@''GNULIB_RENAMEAT''@|$(GNULIB_RENAMEAT)|g' \
++	      -e 's|@''GNULIB_SCANF''@|$(GNULIB_SCANF)|g' \
++	      -e 's|@''GNULIB_SNPRINTF''@|$(GNULIB_SNPRINTF)|g' \
++	      -e 's|@''GNULIB_SPRINTF_POSIX''@|$(GNULIB_SPRINTF_POSIX)|g' \
++	      -e 's|@''GNULIB_STDIO_H_NONBLOCKING''@|$(GNULIB_STDIO_H_NONBLOCKING)|g' \
++	      -e 's|@''GNULIB_STDIO_H_SIGPIPE''@|$(GNULIB_STDIO_H_SIGPIPE)|g' \
++	      -e 's|@''GNULIB_TMPFILE''@|$(GNULIB_TMPFILE)|g' \
++	      -e 's|@''GNULIB_VASPRINTF''@|$(GNULIB_VASPRINTF)|g' \
++	      -e 's|@''GNULIB_VDPRINTF''@|$(GNULIB_VDPRINTF)|g' \
++	      -e 's|@''GNULIB_VFPRINTF''@|$(GNULIB_VFPRINTF)|g' \
++	      -e 's|@''GNULIB_VFPRINTF_POSIX''@|$(GNULIB_VFPRINTF_POSIX)|g' \
++	      -e 's|@''GNULIB_VFSCANF''@|$(GNULIB_VFSCANF)|g' \
++	      -e 's|@''GNULIB_VSCANF''@|$(GNULIB_VSCANF)|g' \
++	      -e 's|@''GNULIB_VPRINTF''@|$(GNULIB_VPRINTF)|g' \
++	      -e 's|@''GNULIB_VPRINTF_POSIX''@|$(GNULIB_VPRINTF_POSIX)|g' \
++	      -e 's|@''GNULIB_VSNPRINTF''@|$(GNULIB_VSNPRINTF)|g' \
++	      -e 's|@''GNULIB_VSPRINTF_POSIX''@|$(GNULIB_VSPRINTF_POSIX)|g' \
+ 	      < $(srcdir)/stdio.in.h | \
+ 	  sed -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \
+ 	      -e 's|@''HAVE_DECL_FSEEKO''@|$(HAVE_DECL_FSEEKO)|g' \
+@@ -691,43 +650,41 @@ BUILT_SOURCES += stdlib.h
+ 
+ # We need the following in order to create <stdlib.h> when the system
+ # doesn't have one that works with the given compiler.
+-stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
+-  $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
++stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ 	$(AM_V_GEN)rm -f $@-t $@ && \
+ 	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+-	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+-	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
++	  sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ 	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ 	      -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \
+-	      -e 's/@''GNULIB__EXIT''@/$(GNULIB__EXIT)/g' \
+-	      -e 's/@''GNULIB_ATOLL''@/$(GNULIB_ATOLL)/g' \
+-	      -e 's/@''GNULIB_CALLOC_POSIX''@/$(GNULIB_CALLOC_POSIX)/g' \
+-	      -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GNULIB_CANONICALIZE_FILE_NAME)/g' \
+-	      -e 's/@''GNULIB_GETLOADAVG''@/$(GNULIB_GETLOADAVG)/g' \
+-	      -e 's/@''GNULIB_GETSUBOPT''@/$(GNULIB_GETSUBOPT)/g' \
+-	      -e 's/@''GNULIB_GRANTPT''@/$(GNULIB_GRANTPT)/g' \
+-	      -e 's/@''GNULIB_MALLOC_POSIX''@/$(GNULIB_MALLOC_POSIX)/g' \
+-	      -e 's/@''GNULIB_MBTOWC''@/$(GNULIB_MBTOWC)/g' \
+-	      -e 's/@''GNULIB_MKDTEMP''@/$(GNULIB_MKDTEMP)/g' \
+-	      -e 's/@''GNULIB_MKOSTEMP''@/$(GNULIB_MKOSTEMP)/g' \
+-	      -e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \
+-	      -e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \
+-	      -e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \
+-	      -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \
+-	      -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \
+-	      -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \
+-	      -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \
+-	      -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \
+-	      -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \
+-	      -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \
+-	      -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \
+-	      -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \
+-	      -e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \
+-	      -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \
+-	      -e 's/@''GNULIB_UNLOCKPT''@/$(GNULIB_UNLOCKPT)/g' \
+-	      -e 's/@''GNULIB_UNSETENV''@/$(GNULIB_UNSETENV)/g' \
+-	      -e 's/@''GNULIB_WCTOMB''@/$(GNULIB_WCTOMB)/g' \
++	      -e 's|@''GNULIB__EXIT''@|$(GNULIB__EXIT)|g' \
++	      -e 's|@''GNULIB_ATOLL''@|$(GNULIB_ATOLL)|g' \
++	      -e 's|@''GNULIB_CALLOC_POSIX''@|$(GNULIB_CALLOC_POSIX)|g' \
++	      -e 's|@''GNULIB_CANONICALIZE_FILE_NAME''@|$(GNULIB_CANONICALIZE_FILE_NAME)|g' \
++	      -e 's|@''GNULIB_GETLOADAVG''@|$(GNULIB_GETLOADAVG)|g' \
++	      -e 's|@''GNULIB_GETSUBOPT''@|$(GNULIB_GETSUBOPT)|g' \
++	      -e 's|@''GNULIB_GRANTPT''@|$(GNULIB_GRANTPT)|g' \
++	      -e 's|@''GNULIB_MALLOC_POSIX''@|$(GNULIB_MALLOC_POSIX)|g' \
++	      -e 's|@''GNULIB_MBTOWC''@|$(GNULIB_MBTOWC)|g' \
++	      -e 's|@''GNULIB_MKDTEMP''@|$(GNULIB_MKDTEMP)|g' \
++	      -e 's|@''GNULIB_MKOSTEMP''@|$(GNULIB_MKOSTEMP)|g' \
++	      -e 's|@''GNULIB_MKOSTEMPS''@|$(GNULIB_MKOSTEMPS)|g' \
++	      -e 's|@''GNULIB_MKSTEMP''@|$(GNULIB_MKSTEMP)|g' \
++	      -e 's|@''GNULIB_MKSTEMPS''@|$(GNULIB_MKSTEMPS)|g' \
++	      -e 's|@''GNULIB_PTSNAME''@|$(GNULIB_PTSNAME)|g' \
++	      -e 's|@''GNULIB_PUTENV''@|$(GNULIB_PUTENV)|g' \
++	      -e 's|@''GNULIB_RANDOM_R''@|$(GNULIB_RANDOM_R)|g' \
++	      -e 's|@''GNULIB_REALLOC_POSIX''@|$(GNULIB_REALLOC_POSIX)|g' \
++	      -e 's|@''GNULIB_REALPATH''@|$(GNULIB_REALPATH)|g' \
++	      -e 's|@''GNULIB_RPMATCH''@|$(GNULIB_RPMATCH)|g' \
++	      -e 's|@''GNULIB_SETENV''@|$(GNULIB_SETENV)|g' \
++	      -e 's|@''GNULIB_STRTOD''@|$(GNULIB_STRTOD)|g' \
++	      -e 's|@''GNULIB_STRTOLL''@|$(GNULIB_STRTOLL)|g' \
++	      -e 's|@''GNULIB_STRTOULL''@|$(GNULIB_STRTOULL)|g' \
++	      -e 's|@''GNULIB_SYSTEM_POSIX''@|$(GNULIB_SYSTEM_POSIX)|g' \
++	      -e 's|@''GNULIB_UNLOCKPT''@|$(GNULIB_UNLOCKPT)|g' \
++	      -e 's|@''GNULIB_UNSETENV''@|$(GNULIB_UNSETENV)|g' \
++	      -e 's|@''GNULIB_WCTOMB''@|$(GNULIB_WCTOMB)|g' \
+ 	      < $(srcdir)/stdlib.in.h | \
+ 	  sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \
+ 	      -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \
+@@ -766,7 +723,6 @@ stdlib.h: stdlib.in.h $(top_builddir)/co
+ 	      -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \
+ 	      -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \
+ 	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+-	      -e '/definition of _Noreturn/r $(_NORETURN_H)' \
+ 	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ 	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
+ 	} > $@-t && \
+@@ -793,15 +749,6 @@ EXTRA_libicrt_a_SOURCES += strerror.c
+ 
+ ## end   gnulib module strerror
+ 
+-## begin gnulib module strerror-override
+-
+-
+-EXTRA_DIST += strerror-override.c strerror-override.h
+-
+-EXTRA_libicrt_a_SOURCES += strerror-override.c
+-
+-## end   gnulib module strerror-override
+-
+ ## begin gnulib module string
+ 
+ BUILT_SOURCES += string.h
+@@ -811,52 +758,47 @@ BUILT_SOURCES += string.h
+ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ 	$(AM_V_GEN)rm -f $@-t $@ && \
+ 	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+-	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+-	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
++	  sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ 	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ 	      -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \
+-	      -e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \
+-	      -e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \
+-	      -e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \
+-	      -e 's/@''GNULIB_MBSNLEN''@/$(GNULIB_MBSNLEN)/g' \
+-	      -e 's/@''GNULIB_MBSCHR''@/$(GNULIB_MBSCHR)/g' \
+-	      -e 's/@''GNULIB_MBSRCHR''@/$(GNULIB_MBSRCHR)/g' \
+-	      -e 's/@''GNULIB_MBSSTR''@/$(GNULIB_MBSSTR)/g' \
+-	      -e 's/@''GNULIB_MBSCASECMP''@/$(GNULIB_MBSCASECMP)/g' \
+-	      -e 's/@''GNULIB_MBSNCASECMP''@/$(GNULIB_MBSNCASECMP)/g' \
+-	      -e 's/@''GNULIB_MBSPCASECMP''@/$(GNULIB_MBSPCASECMP)/g' \
+-	      -e 's/@''GNULIB_MBSCASESTR''@/$(GNULIB_MBSCASESTR)/g' \
+-	      -e 's/@''GNULIB_MBSCSPN''@/$(GNULIB_MBSCSPN)/g' \
+-	      -e 's/@''GNULIB_MBSPBRK''@/$(GNULIB_MBSPBRK)/g' \
+-	      -e 's/@''GNULIB_MBSSPN''@/$(GNULIB_MBSSPN)/g' \
+-	      -e 's/@''GNULIB_MBSSEP''@/$(GNULIB_MBSSEP)/g' \
+-	      -e 's/@''GNULIB_MBSTOK_R''@/$(GNULIB_MBSTOK_R)/g' \
+-	      -e 's/@''GNULIB_MEMCHR''@/$(GNULIB_MEMCHR)/g' \
+-	      -e 's/@''GNULIB_MEMMEM''@/$(GNULIB_MEMMEM)/g' \
+-	      -e 's/@''GNULIB_MEMPCPY''@/$(GNULIB_MEMPCPY)/g' \
+-	      -e 's/@''GNULIB_MEMRCHR''@/$(GNULIB_MEMRCHR)/g' \
+-	      -e 's/@''GNULIB_RAWMEMCHR''@/$(GNULIB_RAWMEMCHR)/g' \
+-	      -e 's/@''GNULIB_STPCPY''@/$(GNULIB_STPCPY)/g' \
+-	      -e 's/@''GNULIB_STPNCPY''@/$(GNULIB_STPNCPY)/g' \
+-	      -e 's/@''GNULIB_STRCHRNUL''@/$(GNULIB_STRCHRNUL)/g' \
+-	      -e 's/@''GNULIB_STRDUP''@/$(GNULIB_STRDUP)/g' \
+-	      -e 's/@''GNULIB_STRNCAT''@/$(GNULIB_STRNCAT)/g' \
+-	      -e 's/@''GNULIB_STRNDUP''@/$(GNULIB_STRNDUP)/g' \
+-	      -e 's/@''GNULIB_STRNLEN''@/$(GNULIB_STRNLEN)/g' \
+-	      -e 's/@''GNULIB_STRPBRK''@/$(GNULIB_STRPBRK)/g' \
+-	      -e 's/@''GNULIB_STRSEP''@/$(GNULIB_STRSEP)/g' \
+-	      -e 's/@''GNULIB_STRSTR''@/$(GNULIB_STRSTR)/g' \
+-	      -e 's/@''GNULIB_STRCASESTR''@/$(GNULIB_STRCASESTR)/g' \
+-	      -e 's/@''GNULIB_STRTOK_R''@/$(GNULIB_STRTOK_R)/g' \
+-	      -e 's/@''GNULIB_STRERROR''@/$(GNULIB_STRERROR)/g' \
+-	      -e 's/@''GNULIB_STRERROR_R''@/$(GNULIB_STRERROR_R)/g' \
+-	      -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \
+-	      -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \
++	      -e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \
++	      -e 's|@''GNULIB_MBSNLEN''@|$(GNULIB_MBSNLEN)|g' \
++	      -e 's|@''GNULIB_MBSCHR''@|$(GNULIB_MBSCHR)|g' \
++	      -e 's|@''GNULIB_MBSRCHR''@|$(GNULIB_MBSRCHR)|g' \
++	      -e 's|@''GNULIB_MBSSTR''@|$(GNULIB_MBSSTR)|g' \
++	      -e 's|@''GNULIB_MBSCASECMP''@|$(GNULIB_MBSCASECMP)|g' \
++	      -e 's|@''GNULIB_MBSNCASECMP''@|$(GNULIB_MBSNCASECMP)|g' \
++	      -e 's|@''GNULIB_MBSPCASECMP''@|$(GNULIB_MBSPCASECMP)|g' \
++	      -e 's|@''GNULIB_MBSCASESTR''@|$(GNULIB_MBSCASESTR)|g' \
++	      -e 's|@''GNULIB_MBSCSPN''@|$(GNULIB_MBSCSPN)|g' \
++	      -e 's|@''GNULIB_MBSPBRK''@|$(GNULIB_MBSPBRK)|g' \
++	      -e 's|@''GNULIB_MBSSPN''@|$(GNULIB_MBSSPN)|g' \
++	      -e 's|@''GNULIB_MBSSEP''@|$(GNULIB_MBSSEP)|g' \
++	      -e 's|@''GNULIB_MBSTOK_R''@|$(GNULIB_MBSTOK_R)|g' \
++	      -e 's|@''GNULIB_MEMCHR''@|$(GNULIB_MEMCHR)|g' \
++	      -e 's|@''GNULIB_MEMMEM''@|$(GNULIB_MEMMEM)|g' \
++	      -e 's|@''GNULIB_MEMPCPY''@|$(GNULIB_MEMPCPY)|g' \
++	      -e 's|@''GNULIB_MEMRCHR''@|$(GNULIB_MEMRCHR)|g' \
++	      -e 's|@''GNULIB_RAWMEMCHR''@|$(GNULIB_RAWMEMCHR)|g' \
++	      -e 's|@''GNULIB_STPCPY''@|$(GNULIB_STPCPY)|g' \
++	      -e 's|@''GNULIB_STPNCPY''@|$(GNULIB_STPNCPY)|g' \
++	      -e 's|@''GNULIB_STRCHRNUL''@|$(GNULIB_STRCHRNUL)|g' \
++	      -e 's|@''GNULIB_STRDUP''@|$(GNULIB_STRDUP)|g' \
++	      -e 's|@''GNULIB_STRNCAT''@|$(GNULIB_STRNCAT)|g' \
++	      -e 's|@''GNULIB_STRNDUP''@|$(GNULIB_STRNDUP)|g' \
++	      -e 's|@''GNULIB_STRNLEN''@|$(GNULIB_STRNLEN)|g' \
++	      -e 's|@''GNULIB_STRPBRK''@|$(GNULIB_STRPBRK)|g' \
++	      -e 's|@''GNULIB_STRSEP''@|$(GNULIB_STRSEP)|g' \
++	      -e 's|@''GNULIB_STRSTR''@|$(GNULIB_STRSTR)|g' \
++	      -e 's|@''GNULIB_STRCASESTR''@|$(GNULIB_STRCASESTR)|g' \
++	      -e 's|@''GNULIB_STRTOK_R''@|$(GNULIB_STRTOK_R)|g' \
++	      -e 's|@''GNULIB_STRERROR''@|$(GNULIB_STRERROR)|g' \
++	      -e 's|@''GNULIB_STRERROR_R''@|$(GNULIB_STRERROR_R)|g' \
++	      -e 's|@''GNULIB_STRSIGNAL''@|$(GNULIB_STRSIGNAL)|g' \
++	      -e 's|@''GNULIB_STRVERSCMP''@|$(GNULIB_STRVERSCMP)|g' \
+ 	      < $(srcdir)/string.in.h | \
+-	  sed -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
+-	      -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \
+-	      -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \
++	  sed -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \
+ 	      -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \
+ 	      -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \
+ 	      -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \
+@@ -912,23 +854,22 @@ sys/stat.h: sys_stat.in.h $(top_builddir
+ 	$(AM_V_at)$(MKDIR_P) sys
+ 	$(AM_V_GEN)rm -f $@-t $@ && \
+ 	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+-	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+-	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
++	  sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ 	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ 	      -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \
+-	      -e 's/@''GNULIB_FCHMODAT''@/$(GNULIB_FCHMODAT)/g' \
+-	      -e 's/@''GNULIB_FSTATAT''@/$(GNULIB_FSTATAT)/g' \
+-	      -e 's/@''GNULIB_FUTIMENS''@/$(GNULIB_FUTIMENS)/g' \
+-	      -e 's/@''GNULIB_LCHMOD''@/$(GNULIB_LCHMOD)/g' \
+-	      -e 's/@''GNULIB_LSTAT''@/$(GNULIB_LSTAT)/g' \
+-	      -e 's/@''GNULIB_MKDIRAT''@/$(GNULIB_MKDIRAT)/g' \
+-	      -e 's/@''GNULIB_MKFIFO''@/$(GNULIB_MKFIFO)/g' \
+-	      -e 's/@''GNULIB_MKFIFOAT''@/$(GNULIB_MKFIFOAT)/g' \
+-	      -e 's/@''GNULIB_MKNOD''@/$(GNULIB_MKNOD)/g' \
+-	      -e 's/@''GNULIB_MKNODAT''@/$(GNULIB_MKNODAT)/g' \
+-	      -e 's/@''GNULIB_STAT''@/$(GNULIB_STAT)/g' \
+-	      -e 's/@''GNULIB_UTIMENSAT''@/$(GNULIB_UTIMENSAT)/g' \
++	      -e 's|@''GNULIB_FCHMODAT''@|$(GNULIB_FCHMODAT)|g' \
++	      -e 's|@''GNULIB_FSTATAT''@|$(GNULIB_FSTATAT)|g' \
++	      -e 's|@''GNULIB_FUTIMENS''@|$(GNULIB_FUTIMENS)|g' \
++	      -e 's|@''GNULIB_LCHMOD''@|$(GNULIB_LCHMOD)|g' \
++	      -e 's|@''GNULIB_LSTAT''@|$(GNULIB_LSTAT)|g' \
++	      -e 's|@''GNULIB_MKDIRAT''@|$(GNULIB_MKDIRAT)|g' \
++	      -e 's|@''GNULIB_MKFIFO''@|$(GNULIB_MKFIFO)|g' \
++	      -e 's|@''GNULIB_MKFIFOAT''@|$(GNULIB_MKFIFOAT)|g' \
++	      -e 's|@''GNULIB_MKNOD''@|$(GNULIB_MKNOD)|g' \
++	      -e 's|@''GNULIB_MKNODAT''@|$(GNULIB_MKNODAT)|g' \
++	      -e 's|@''GNULIB_STAT''@|$(GNULIB_STAT)|g' \
++	      -e 's|@''GNULIB_UTIMENSAT''@|$(GNULIB_UTIMENSAT)|g' \
+ 	      -e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \
+ 	      -e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \
+ 	      -e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \
+@@ -971,16 +912,15 @@ BUILT_SOURCES += time.h
+ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ 	$(AM_V_GEN)rm -f $@-t $@ && \
+ 	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+-	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+-	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
++	  sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ 	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ 	      -e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \
+-	      -e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \
+-	      -e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \
+-	      -e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \
+-	      -e 's/@''GNULIB_TIMEGM''@/$(GNULIB_TIMEGM)/g' \
+-	      -e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \
++	      -e 's|@''GNULIB_MKTIME''@|$(GNULIB_MKTIME)|g' \
++	      -e 's|@''GNULIB_NANOSLEEP''@|$(GNULIB_NANOSLEEP)|g' \
++	      -e 's|@''GNULIB_STRPTIME''@|$(GNULIB_STRPTIME)|g' \
++	      -e 's|@''GNULIB_TIMEGM''@|$(GNULIB_TIMEGM)|g' \
++	      -e 's|@''GNULIB_TIME_R''@|$(GNULIB_TIME_R)|g' \
+ 	      -e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \
+ 	      -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \
+ 	      -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \
+@@ -1013,56 +953,55 @@ BUILT_SOURCES += unistd.h
+ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ 	$(AM_V_GEN)rm -f $@-t $@ && \
+ 	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+-	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+-	      -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
++	  sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
+ 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ 	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ 	      -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \
+-	      -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \
+-	      -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \
+-	      -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \
+-	      -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \
+-	      -e 's/@''GNULIB_ENVIRON''@/$(GNULIB_ENVIRON)/g' \
+-	      -e 's/@''GNULIB_EUIDACCESS''@/$(GNULIB_EUIDACCESS)/g' \
+-	      -e 's/@''GNULIB_FACCESSAT''@/$(GNULIB_FACCESSAT)/g' \
+-	      -e 's/@''GNULIB_FCHDIR''@/$(GNULIB_FCHDIR)/g' \
+-	      -e 's/@''GNULIB_FCHOWNAT''@/$(GNULIB_FCHOWNAT)/g' \
+-	      -e 's/@''GNULIB_FSYNC''@/$(GNULIB_FSYNC)/g' \
+-	      -e 's/@''GNULIB_FTRUNCATE''@/$(GNULIB_FTRUNCATE)/g' \
+-	      -e 's/@''GNULIB_GETCWD''@/$(GNULIB_GETCWD)/g' \
+-	      -e 's/@''GNULIB_GETDOMAINNAME''@/$(GNULIB_GETDOMAINNAME)/g' \
+-	      -e 's/@''GNULIB_GETDTABLESIZE''@/$(GNULIB_GETDTABLESIZE)/g' \
+-	      -e 's/@''GNULIB_GETGROUPS''@/$(GNULIB_GETGROUPS)/g' \
+-	      -e 's/@''GNULIB_GETHOSTNAME''@/$(GNULIB_GETHOSTNAME)/g' \
+-	      -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \
+-	      -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \
+-	      -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \
+-	      -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \
+-	      -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \
+-	      -e 's/@''GNULIB_LCHOWN''@/$(GNULIB_LCHOWN)/g' \
+-	      -e 's/@''GNULIB_LINK''@/$(GNULIB_LINK)/g' \
+-	      -e 's/@''GNULIB_LINKAT''@/$(GNULIB_LINKAT)/g' \
+-	      -e 's/@''GNULIB_LSEEK''@/$(GNULIB_LSEEK)/g' \
+-	      -e 's/@''GNULIB_PIPE''@/$(GNULIB_PIPE)/g' \
+-	      -e 's/@''GNULIB_PIPE2''@/$(GNULIB_PIPE2)/g' \
+-	      -e 's/@''GNULIB_PREAD''@/$(GNULIB_PREAD)/g' \
+-	      -e 's/@''GNULIB_PWRITE''@/$(GNULIB_PWRITE)/g' \
+-	      -e 's/@''GNULIB_READ''@/$(GNULIB_READ)/g' \
+-	      -e 's/@''GNULIB_READLINK''@/$(GNULIB_READLINK)/g' \
+-	      -e 's/@''GNULIB_READLINKAT''@/$(GNULIB_READLINKAT)/g' \
+-	      -e 's/@''GNULIB_RMDIR''@/$(GNULIB_RMDIR)/g' \
+-	      -e 's/@''GNULIB_SLEEP''@/$(GNULIB_SLEEP)/g' \
+-	      -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \
+-	      -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \
+-	      -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \
+-	      -e 's/@''GNULIB_UNISTD_H_GETOPT''@/$(GNULIB_UNISTD_H_GETOPT)/g' \
+-	      -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \
+-	      -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \
+-	      -e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \
+-	      -e 's/@''GNULIB_UNLINKAT''@/$(GNULIB_UNLINKAT)/g' \
+-	      -e 's/@''GNULIB_USLEEP''@/$(GNULIB_USLEEP)/g' \
+-	      -e 's/@''GNULIB_WRITE''@/$(GNULIB_WRITE)/g' \
++	      -e 's|@''GNULIB_CHOWN''@|$(GNULIB_CHOWN)|g' \
++	      -e 's|@''GNULIB_CLOSE''@|$(GNULIB_CLOSE)|g' \
++	      -e 's|@''GNULIB_DUP2''@|$(GNULIB_DUP2)|g' \
++	      -e 's|@''GNULIB_DUP3''@|$(GNULIB_DUP3)|g' \
++	      -e 's|@''GNULIB_ENVIRON''@|$(GNULIB_ENVIRON)|g' \
++	      -e 's|@''GNULIB_EUIDACCESS''@|$(GNULIB_EUIDACCESS)|g' \
++	      -e 's|@''GNULIB_FACCESSAT''@|$(GNULIB_FACCESSAT)|g' \
++	      -e 's|@''GNULIB_FCHDIR''@|$(GNULIB_FCHDIR)|g' \
++	      -e 's|@''GNULIB_FCHOWNAT''@|$(GNULIB_FCHOWNAT)|g' \
++	      -e 's|@''GNULIB_FSYNC''@|$(GNULIB_FSYNC)|g' \
++	      -e 's|@''GNULIB_FTRUNCATE''@|$(GNULIB_FTRUNCATE)|g' \
++	      -e 's|@''GNULIB_GETCWD''@|$(GNULIB_GETCWD)|g' \
++	      -e 's|@''GNULIB_GETDOMAINNAME''@|$(GNULIB_GETDOMAINNAME)|g' \
++	      -e 's|@''GNULIB_GETDTABLESIZE''@|$(GNULIB_GETDTABLESIZE)|g' \
++	      -e 's|@''GNULIB_GETGROUPS''@|$(GNULIB_GETGROUPS)|g' \
++	      -e 's|@''GNULIB_GETHOSTNAME''@|$(GNULIB_GETHOSTNAME)|g' \
++	      -e 's|@''GNULIB_GETLOGIN''@|$(GNULIB_GETLOGIN)|g' \
++	      -e 's|@''GNULIB_GETLOGIN_R''@|$(GNULIB_GETLOGIN_R)|g' \
++	      -e 's|@''GNULIB_GETPAGESIZE''@|$(GNULIB_GETPAGESIZE)|g' \
++	      -e 's|@''GNULIB_GETUSERSHELL''@|$(GNULIB_GETUSERSHELL)|g' \
++	      -e 's|@''GNULIB_GROUP_MEMBER''@|$(GNULIB_GROUP_MEMBER)|g' \
++	      -e 's|@''GNULIB_LCHOWN''@|$(GNULIB_LCHOWN)|g' \
++	      -e 's|@''GNULIB_LINK''@|$(GNULIB_LINK)|g' \
++	      -e 's|@''GNULIB_LINKAT''@|$(GNULIB_LINKAT)|g' \
++	      -e 's|@''GNULIB_LSEEK''@|$(GNULIB_LSEEK)|g' \
++	      -e 's|@''GNULIB_PIPE''@|$(GNULIB_PIPE)|g' \
++	      -e 's|@''GNULIB_PIPE2''@|$(GNULIB_PIPE2)|g' \
++	      -e 's|@''GNULIB_PREAD''@|$(GNULIB_PREAD)|g' \
++	      -e 's|@''GNULIB_PWRITE''@|$(GNULIB_PWRITE)|g' \
++	      -e 's|@''GNULIB_READ''@|$(GNULIB_READ)|g' \
++	      -e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \
++	      -e 's|@''GNULIB_READLINKAT''@|$(GNULIB_READLINKAT)|g' \
++	      -e 's|@''GNULIB_RMDIR''@|$(GNULIB_RMDIR)|g' \
++	      -e 's|@''GNULIB_SLEEP''@|$(GNULIB_SLEEP)|g' \
++	      -e 's|@''GNULIB_SYMLINK''@|$(GNULIB_SYMLINK)|g' \
++	      -e 's|@''GNULIB_SYMLINKAT''@|$(GNULIB_SYMLINKAT)|g' \
++	      -e 's|@''GNULIB_TTYNAME_R''@|$(GNULIB_TTYNAME_R)|g' \
++	      -e 's|@''GNULIB_UNISTD_H_GETOPT''@|$(GNULIB_UNISTD_H_GETOPT)|g' \
++	      -e 's|@''GNULIB_UNISTD_H_NONBLOCKING''@|$(GNULIB_UNISTD_H_NONBLOCKING)|g' \
++	      -e 's|@''GNULIB_UNISTD_H_SIGPIPE''@|$(GNULIB_UNISTD_H_SIGPIPE)|g' \
++	      -e 's|@''GNULIB_UNLINK''@|$(GNULIB_UNLINK)|g' \
++	      -e 's|@''GNULIB_UNLINKAT''@|$(GNULIB_UNLINKAT)|g' \
++	      -e 's|@''GNULIB_USLEEP''@|$(GNULIB_USLEEP)|g' \
++	      -e 's|@''GNULIB_WRITE''@|$(GNULIB_WRITE)|g' \
+ 	      < $(srcdir)/unistd.in.h | \
+ 	  sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \
+ 	      -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \
+@@ -1198,6 +1137,25 @@ EXTRA_DIST += verify.h
+ 
+ ## end   gnulib module verify
+ 
++## begin gnulib module warn-on-use
++
++BUILT_SOURCES += warn-on-use.h
++# The warn-on-use.h that gets inserted into generated .h files is the same as
++# build-aux/warn-on-use.h, except that it has the copyright header cut off.
++warn-on-use.h: $(top_srcdir)/build-aux/warn-on-use.h
++	$(AM_V_GEN)rm -f $@-t $@ && \
++	sed -n -e '/^.ifndef/,$$p' \
++	  < $(top_srcdir)/build-aux/warn-on-use.h \
++	  > $@-t && \
++	mv $@-t $@
++MOSTLYCLEANFILES += warn-on-use.h warn-on-use.h-t
++
++WARN_ON_USE_H=warn-on-use.h
++
++EXTRA_DIST += $(top_srcdir)/build-aux/warn-on-use.h
++
++## end   gnulib module warn-on-use
++
+ ## begin gnulib module xalloc
+ 
+ libicrt_a_SOURCES += xalloc.h xmalloc.c xstrdup.c
+diff -Naurp libiconv-1.14.org//srclib/pathmax.h libiconv-1.14/srclib/pathmax.h
+--- libiconv-1.14.org//srclib/pathmax.h	2011-08-07 06:42:06.000000000 -0700
++++ libiconv-1.14/srclib/pathmax.h	2012-01-08 02:07:40.218484451 -0800
+@@ -19,27 +19,6 @@
+ #ifndef _PATHMAX_H
+ # define _PATHMAX_H
+ 
+-/* POSIX:2008 defines PATH_MAX to be the maximum number of bytes in a filename,
+-   including the terminating NUL byte.
+-   <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html>
+-   PATH_MAX is not defined on systems which have no limit on filename length,
+-   such as GNU/Hurd.
+-
+-   This file does *not* define PATH_MAX always.  Programs that use this file
+-   can handle the GNU/Hurd case in several ways:
+-     - Either with a package-wide handling, or with a per-file handling,
+-     - Either through a
+-         #ifdef PATH_MAX
+-       or through a fallback like
+-         #ifndef PATH_MAX
+-         # define PATH_MAX 8192
+-         #endif
+-       or through a fallback like
+-         #ifndef PATH_MAX
+-         # define PATH_MAX pathconf ("/", _PC_PATH_MAX)
+-         #endif
+- */
+-
+ # include <unistd.h>
+ 
+ # include <limits.h>
+@@ -48,6 +27,11 @@
+ #  define _POSIX_PATH_MAX 256
+ # endif
+ 
++# if !defined PATH_MAX && defined _PC_PATH_MAX && defined HAVE_PATHCONF
++#  define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 \
++                    : pathconf ("/", _PC_PATH_MAX))
++# endif
++
+ /* Don't include sys/param.h if it already has been.  */
+ # if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN
+ #  include <sys/param.h>
+@@ -57,13 +41,8 @@
+ #  define PATH_MAX MAXPATHLEN
+ # endif
+ 
+-# ifdef __hpux
+-/* On HP-UX, PATH_MAX designates the maximum number of bytes in a filename,
+-   *not* including the terminating NUL byte, and is set to 1023.
+-   Additionally, when _XOPEN_SOURCE is defined to 500 or more, PATH_MAX is
+-   not defined at all any more.  */
+-#  undef PATH_MAX
+-#  define PATH_MAX 1024
++# ifndef PATH_MAX
++#  define PATH_MAX _POSIX_PATH_MAX
+ # endif
+ 
+ #endif /* _PATHMAX_H */
+diff -Naurp libiconv-1.14.org//srclib/relocwrapper.c libiconv-1.14/srclib/relocwrapper.c
+--- libiconv-1.14.org//srclib/relocwrapper.c	2011-08-07 06:42:06.000000000 -0700
++++ libiconv-1.14/srclib/relocwrapper.c	2012-01-08 02:07:40.282484455 -0800
+@@ -29,6 +29,7 @@
+     -> relocatable
+     -> setenv
+        -> malloca
++    -> strerror
+     -> c-ctype
+ 
+    Macros that need to be set while compiling this file:
+diff -Naurp libiconv-1.14.org//srclib/safe-read.h libiconv-1.14/srclib/safe-read.h
+--- libiconv-1.14.org//srclib/safe-read.h	2011-08-07 06:42:06.000000000 -0700
++++ libiconv-1.14/srclib/safe-read.h	2012-01-08 02:07:40.298484455 -0800
+@@ -14,19 +14,6 @@
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+ 
+-/* Some system calls may be interrupted and fail with errno = EINTR in the
+-   following situations:
+-     - The process is stopped and restarted (signal SIGSTOP and SIGCONT, user
+-       types Ctrl-Z) on some platforms: MacOS X.
+-     - The process receives a signal for which a signal handler was installed
+-       with sigaction() with an sa_flags field that does not contain
+-       SA_RESTART.
+-     - The process receives a signal for which a signal handler was installed
+-       with signal() and for which no call to siginterrupt(sig,0) was done,
+-       on some platforms: AIX, HP-UX, IRIX, OSF/1, Solaris.
+-
+-   This module provides a wrapper around read() that handles EINTR.  */
+-
+ #include <stddef.h>
+ 
+ #ifdef __cplusplus
+diff -Naurp libiconv-1.14.org//srclib/signal.in.h libiconv-1.14/srclib/signal.in.h
+--- libiconv-1.14.org//srclib/signal.in.h	2011-08-07 06:42:06.000000000 -0700
++++ libiconv-1.14/srclib/signal.in.h	2012-01-08 02:07:40.314484456 -0800
+@@ -20,49 +20,21 @@
+ #endif
+ @PRAGMA_COLUMNS@
+ 
+-#if defined __need_sig_atomic_t || defined __need_sigset_t || defined _GL_ALREADY_INCLUDING_SIGNAL_H || (defined _SIGNAL_H && !defined __SIZEOF_PTHREAD_MUTEX_T)
+-/* Special invocation convention:
+-   - Inside glibc header files.
+-   - On glibc systems we have a sequence of nested includes
+-     <signal.h> -> <ucontext.h> -> <signal.h>.
+-     In this situation, the functions are not yet declared, therefore we cannot
+-     provide the C++ aliases.
+-   - On glibc systems with GCC 4.3 we have a sequence of nested includes
+-     <csignal> -> </usr/include/signal.h> -> <sys/ucontext.h> -> <signal.h>.
+-     In this situation, some of the functions are not yet declared, therefore
+-     we cannot provide the C++ aliases.  */
++#if defined __need_sig_atomic_t || defined __need_sigset_t
++/* Special invocation convention inside glibc header files.  */
+ 
+ # @INCLUDE_NEXT@ @NEXT_SIGNAL_H@
+ 
+ #else
+ /* Normal invocation convention.  */
+ 
+-#ifndef _@GUARD_PREFIX@_SIGNAL_H
+-
+-#define _GL_ALREADY_INCLUDING_SIGNAL_H
+-
+-/* Define pid_t, uid_t.
+-   Also, mingw defines sigset_t not in <signal.h>, but in <sys/types.h>.
+-   On Solaris 10, <signal.h> includes <sys/types.h>, which eventually includes
+-   us; so include <sys/types.h> now, before the second inclusion guard.  */
+-#include <sys/types.h>
++#ifndef _GL_SIGNAL_H
+ 
+ /* The include_next requires a split double-inclusion guard.  */
+ #@INCLUDE_NEXT@ @NEXT_SIGNAL_H@
+ 
+-#undef _GL_ALREADY_INCLUDING_SIGNAL_H
+-
+-#ifndef _@GUARD_PREFIX@_SIGNAL_H
+-#define _@GUARD_PREFIX@_SIGNAL_H
+-
+-/* MacOS X 10.3, FreeBSD 6.4, OpenBSD 3.8, OSF/1 4.0, Solaris 2.6 declare
+-   pthread_sigmask in <pthread.h>, not in <signal.h>.
+-   But avoid namespace pollution on glibc systems.*/
+-#if (@GNULIB_PTHREAD_SIGMASK@ || defined GNULIB_POSIXCHECK) \
+-    && ((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __OpenBSD__ || defined __osf__ || defined __sun) \
+-    && ! defined __GLIBC__
+-# include <pthread.h>
+-#endif
++#ifndef _GL_SIGNAL_H
++#define _GL_SIGNAL_H
+ 
+ /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
+ 
+@@ -70,6 +42,10 @@
+ 
+ /* The definition of _GL_WARN_ON_USE is copied here.  */
+ 
++/* Define pid_t, uid_t.
++   Also, mingw defines sigset_t not in <signal.h>, but in <sys/types.h>.  */
++#include <sys/types.h>
++
+ /* On AIX, sig_atomic_t already includes volatile.  C99 requires that
+    'volatile sig_atomic_t' ignore the extra modifier, but C89 did not.
+    Hence, redefine this to a non-volatile type as needed.  */
+@@ -124,34 +100,6 @@ typedef void (*sighandler_t) (int);
+ #endif
+ 
+ 
+-#if @GNULIB_PTHREAD_SIGMASK@
+-# if @REPLACE_PTHREAD_SIGMASK@
+-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+-#   undef pthread_sigmask
+-#   define pthread_sigmask rpl_pthread_sigmask
+-#  endif
+-_GL_FUNCDECL_RPL (pthread_sigmask, int,
+-                  (int how, const sigset_t *new_mask, sigset_t *old_mask));
+-_GL_CXXALIAS_RPL (pthread_sigmask, int,
+-                  (int how, const sigset_t *new_mask, sigset_t *old_mask));
+-# else
+-#  if !@HAVE_PTHREAD_SIGMASK@
+-_GL_FUNCDECL_SYS (pthread_sigmask, int,
+-                  (int how, const sigset_t *new_mask, sigset_t *old_mask));
+-#  endif
+-_GL_CXXALIAS_SYS (pthread_sigmask, int,
+-                  (int how, const sigset_t *new_mask, sigset_t *old_mask));
+-# endif
+-_GL_CXXALIASWARN (pthread_sigmask);
+-#elif defined GNULIB_POSIXCHECK
+-# undef pthread_sigmask
+-# if HAVE_RAW_DECL_PTHREAD_SIGMASK
+-_GL_WARN_ON_USE (pthread_sigmask, "pthread_sigmask is not portable - "
+-                 "use gnulib module pthread_sigmask for portability");
+-# endif
+-#endif
+-
+-
+ #if @GNULIB_SIGPROCMASK@
+ # if !@HAVE_POSIX_SIGNALBLOCKING@
+ 
+@@ -423,6 +371,6 @@ _GL_WARN_ON_USE (sigaction, "sigaction i
+ #endif
+ 
+ 
+-#endif /* _@GUARD_PREFIX@_SIGNAL_H */
+-#endif /* _@GUARD_PREFIX@_SIGNAL_H */
++#endif /* _GL_SIGNAL_H */
++#endif /* _GL_SIGNAL_H */
+ #endif
+diff -Naurp libiconv-1.14.org//srclib/stat.c libiconv-1.14/srclib/stat.c
+--- libiconv-1.14.org//srclib/stat.c	2011-08-07 06:42:06.000000000 -0700
++++ libiconv-1.14/srclib/stat.c	2012-01-08 02:07:40.330484457 -0800
+@@ -38,7 +38,6 @@ orig_stat (const char *filename, struct
+ #include <stdbool.h>
+ #include <string.h>
+ #include "dosname.h"
+-#include "verify.h"
+ 
+ /* Store information about NAME into ST.  Work around bugs with
+    trailing slashes.  Mingw has other bugs (such as st_ino always
+@@ -64,12 +63,6 @@ rpl_stat (char const *name, struct stat
+     }
+ #endif /* REPLACE_FUNC_STAT_FILE */
+ #if REPLACE_FUNC_STAT_DIR
+-  /* The only known systems where REPLACE_FUNC_STAT_DIR is needed also
+-     have a constant PATH_MAX.  */
+-# ifndef PATH_MAX
+-#  error "Please port this replacement to your platform"
+-# endif
+-
+   if (result == -1 && errno == ENOENT)
+     {
+       /* Due to mingw's oddities, there are some directories (like
+@@ -84,7 +77,6 @@ rpl_stat (char const *name, struct stat
+       char fixed_name[PATH_MAX + 1] = {0};
+       size_t len = strlen (name);
+       bool check_dir = false;
+-      verify (PATH_MAX <= 4096);
+       if (PATH_MAX <= len)
+         errno = ENAMETOOLONG;
+       else if (len)
+diff -Naurp libiconv-1.14.org//srclib/stddef.in.h libiconv-1.14/srclib/stddef.in.h
+--- libiconv-1.14.org//srclib/stddef.in.h	2011-08-07 06:42:06.000000000 -0700
++++ libiconv-1.14/srclib/stddef.in.h	2012-01-08 02:07:40.346484458 -0800
+@@ -38,9 +38,9 @@
+    remember if special invocation has ever been used to obtain wint_t,
+    in which case we need to clean up NULL yet again.  */
+ 
+-# if !(defined _@GUARD_PREFIX@_STDDEF_H && defined _GL_STDDEF_WINT_T)
++# if !(defined _GL_STDDEF_H && defined _GL_STDDEF_WINT_T)
+ #  ifdef __need_wint_t
+-#   undef _@GUARD_PREFIX@_STDDEF_H
++#   undef _GL_STDDEF_H
+ #   define _GL_STDDEF_WINT_T
+ #  endif
+ #  @INCLUDE_NEXT@ @NEXT_STDDEF_H@
+@@ -49,14 +49,14 @@
+ #else
+ /* Normal invocation convention.  */
+ 
+-# ifndef _@GUARD_PREFIX@_STDDEF_H
++# ifndef _GL_STDDEF_H
+ 
+ /* The include_next requires a split double-inclusion guard.  */
+ 
+ #  @INCLUDE_NEXT@ @NEXT_STDDEF_H@
+ 
+-#  ifndef _@GUARD_PREFIX@_STDDEF_H
+-#   define _@GUARD_PREFIX@_STDDEF_H
++#  ifndef _GL_STDDEF_H
++#   define _GL_STDDEF_H
+ 
+ /* On NetBSD 5.0, the definition of NULL lacks proper parentheses.  */
+ #if @REPLACE_NULL@
+@@ -82,6 +82,6 @@
+ # define wchar_t int
+ #endif
+ 
+-#  endif /* _@GUARD_PREFIX@_STDDEF_H */
+-# endif /* _@GUARD_PREFIX@_STDDEF_H */
++#  endif /* _GL_STDDEF_H */
++# endif /* _GL_STDDEF_H */
+ #endif /* __need_XXX */
+diff -Naurp libiconv-1.14.org//srclib/stdint.in.h libiconv-1.14/srclib/stdint.in.h
+--- libiconv-1.14.org//srclib/stdint.in.h	2011-08-07 06:42:06.000000000 -0700
++++ libiconv-1.14/srclib/stdint.in.h	2012-01-08 02:07:40.358484458 -0800
+@@ -21,7 +21,7 @@
+  * <http://www.opengroup.org/susv3xbd/stdint.h.html>
+  */
+ 
+-#ifndef _@GUARD_PREFIX@_STDINT_H
++#ifndef _GL_STDINT_H
+ 
+ #if __GNUC__ >= 3
+ @PRAGMA_SYSTEM_HEADER@
+@@ -52,13 +52,13 @@
+   /* Other systems may have an incomplete or buggy <stdint.h>.
+      Include it before <inttypes.h>, since any "#include <stdint.h>"
+      in <inttypes.h> would reinclude us, skipping our contents because
+-     _@GUARD_PREFIX@_STDINT_H is defined.
++     _GL_STDINT_H is defined.
+      The include_next requires a split double-inclusion guard.  */
+ # @INCLUDE_NEXT@ @NEXT_STDINT_H@
+ #endif
+ 
+-#if ! defined _@GUARD_PREFIX@_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
+-#define _@GUARD_PREFIX@_STDINT_H
++#if ! defined _GL_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
++#define _GL_STDINT_H
+ 
+ /* <sys/types.h> defines some of the stdint.h types as well, on glibc,
+    IRIX 6.5, and OpenBSD 3.8 (via <machine/types.h>).
+@@ -270,36 +270,26 @@ typedef unsigned long int gl_uintptr_t;
+ /* Note: These types are compiler dependent. It may be unwise to use them in
+    public header files. */
+ 
+-/* If the system defines INTMAX_MAX, assume that intmax_t works, and
+-   similarly for UINTMAX_MAX and uintmax_t.  This avoids problems with
+-   assuming one type where another is used by the system.  */
+-
+-#ifndef INTMAX_MAX
+-# undef INTMAX_C
+-# undef intmax_t
+-# if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
++#undef intmax_t
++#if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
+ typedef long long int gl_intmax_t;
+-#  define intmax_t gl_intmax_t
+-# elif defined GL_INT64_T
+-#  define intmax_t int64_t
+-# else
++# define intmax_t gl_intmax_t
++#elif defined GL_INT64_T
++# define intmax_t int64_t
++#else
+ typedef long int gl_intmax_t;
+-#  define intmax_t gl_intmax_t
+-# endif
++# define intmax_t gl_intmax_t
+ #endif
+ 
+-#ifndef UINTMAX_MAX
+-# undef UINTMAX_C
+-# undef uintmax_t
+-# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
++#undef uintmax_t
++#if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
+ typedef unsigned long long int gl_uintmax_t;
+-#  define uintmax_t gl_uintmax_t
+-# elif defined GL_UINT64_T
+-#  define uintmax_t uint64_t
+-# else
++# define uintmax_t gl_uintmax_t
++#elif defined GL_UINT64_T
++# define uintmax_t uint64_t
++#else
+ typedef unsigned long int gl_uintmax_t;
+-#  define uintmax_t gl_uintmax_t
+-# endif
++# define uintmax_t gl_uintmax_t
+ #endif
+ 
+ /* Verify that intmax_t and uintmax_t have the same size.  Too much code
+@@ -441,23 +431,21 @@ typedef int _verify_intmax_size[sizeof (
+ 
+ /* 7.18.2.5. Limits of greatest-width integer types */
+ 
+-#ifndef INTMAX_MAX
+-# undef INTMAX_MIN
+-# ifdef INT64_MAX
+-#  define INTMAX_MIN  INT64_MIN
+-#  define INTMAX_MAX  INT64_MAX
+-# else
+-#  define INTMAX_MIN  INT32_MIN
+-#  define INTMAX_MAX  INT32_MAX
+-# endif
++#undef INTMAX_MIN
++#undef INTMAX_MAX
++#ifdef INT64_MAX
++# define INTMAX_MIN  INT64_MIN
++# define INTMAX_MAX  INT64_MAX
++#else
++# define INTMAX_MIN  INT32_MIN
++# define INTMAX_MAX  INT32_MAX
+ #endif
+ 
+-#ifndef UINTMAX_MAX
+-# ifdef UINT64_MAX
+-#  define UINTMAX_MAX  UINT64_MAX
+-# else
+-#  define UINTMAX_MAX  UINT32_MAX
+-# endif
++#undef UINTMAX_MAX
++#ifdef UINT64_MAX
++# define UINTMAX_MAX  UINT64_MAX
++#else
++# define UINTMAX_MAX  UINT32_MAX
+ #endif
+ 
+ /* 7.18.3. Limits of other integer types */
+@@ -580,27 +568,25 @@ typedef int _verify_intmax_size[sizeof (
+ 
+ /* 7.18.4.2. Macros for greatest-width integer constants */
+ 
+-#ifndef INTMAX_C
+-# if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
+-#  define INTMAX_C(x)   x##LL
+-# elif defined GL_INT64_T
+-#  define INTMAX_C(x)   INT64_C(x)
+-# else
+-#  define INTMAX_C(x)   x##L
+-# endif
++#undef INTMAX_C
++#if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
++# define INTMAX_C(x)   x##LL
++#elif defined GL_INT64_T
++# define INTMAX_C(x)   INT64_C(x)
++#else
++# define INTMAX_C(x)   x##L
+ #endif
+ 
+-#ifndef UINTMAX_C
+-# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
+-#  define UINTMAX_C(x)  x##ULL
+-# elif defined GL_UINT64_T
+-#  define UINTMAX_C(x)  UINT64_C(x)
+-# else
+-#  define UINTMAX_C(x)  x##UL
+-# endif
++#undef UINTMAX_C
++#if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
++# define UINTMAX_C(x)  x##ULL
++#elif defined GL_UINT64_T
++# define UINTMAX_C(x)  UINT64_C(x)
++#else
++# define UINTMAX_C(x)  x##UL
+ #endif
+ 
+ #endif /* !defined __cplusplus || defined __STDC_CONSTANT_MACROS */
+ 
+-#endif /* _@GUARD_PREFIX@_STDINT_H */
+-#endif /* !defined _@GUARD_PREFIX@_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */
++#endif /* _GL_STDINT_H */
++#endif /* !defined _GL_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */
+diff -Naurp libiconv-1.14.org//srclib/stdio.in.h libiconv-1.14/srclib/stdio.in.h
+--- libiconv-1.14.org//srclib/stdio.in.h	2011-08-07 06:42:06.000000000 -0700
++++ libiconv-1.14/srclib/stdio.in.h	2012-01-08 02:07:40.378484459 -0800
+@@ -35,7 +35,7 @@
+ #else
+ /* Normal invocation convention.  */
+ 
+-#ifndef _@GUARD_PREFIX@_STDIO_H
++#ifndef _GL_STDIO_H
+ 
+ #define _GL_ALREADY_INCLUDING_STDIO_H
+ 
+@@ -44,8 +44,8 @@
+ 
+ #undef _GL_ALREADY_INCLUDING_STDIO_H
+ 
+-#ifndef _@GUARD_PREFIX@_STDIO_H
+-#define _@GUARD_PREFIX@_STDIO_H
++#ifndef _GL_STDIO_H
++#define _GL_STDIO_H
+ 
+ /* Get va_list.  Needed on many systems, including glibc 2.8.  */
+ #include <stdarg.h>
+@@ -461,6 +461,25 @@ _GL_FUNCDECL_SYS (fseeko, int, (FILE *fp
+ _GL_CXXALIAS_SYS (fseeko, int, (FILE *fp, off_t offset, int whence));
+ # endif
+ _GL_CXXALIASWARN (fseeko);
++# if (@REPLACE_FSEEKO@ || !@HAVE_FSEEKO@) && !@GNULIB_FSEEK@
++   /* Provide an fseek function that is consistent with fseeko.  */
++   /* In order to avoid that fseek gets defined as a macro here, the
++      developer can request the 'fseek' module.  */
++#  if !GNULIB_defined_fseek_function
++#   undef fseek
++#   define fseek rpl_fseek
++static inline int _GL_ARG_NONNULL ((1))
++rpl_fseek (FILE *fp, long offset, int whence)
++{
++#   if @REPLACE_FSEEKO@
++  return rpl_fseeko (fp, offset, whence);
++#   else
++  return fseeko (fp, offset, whence);
++#   endif
++}
++#   define GNULIB_defined_fseek_function 1
++#  endif
++# endif
+ #elif defined GNULIB_POSIXCHECK
+ # define _GL_FSEEK_WARN /* Category 1, above.  */
+ # undef fseek
+@@ -520,6 +539,25 @@ _GL_FUNCDECL_SYS (ftello, off_t, (FILE *
+ _GL_CXXALIAS_SYS (ftello, off_t, (FILE *fp));
+ # endif
+ _GL_CXXALIASWARN (ftello);
++# if (@REPLACE_FTELLO@ || !@HAVE_FTELLO@) && !@GNULIB_FTELL@
++   /* Provide an ftell function that is consistent with ftello.  */
++   /* In order to avoid that ftell gets defined as a macro here, the
++      developer can request the 'ftell' module.  */
++#  if !GNULIB_defined_ftell_function
++#   undef ftell
++#   define ftell rpl_ftell
++static inline long _GL_ARG_NONNULL ((1))
++rpl_ftell (FILE *f)
++{
++#   if @REPLACE_FTELLO@
++  return rpl_ftello (f);
++#   else
++  return ftello (f);
++#   endif
++}
++#   define GNULIB_defined_ftell_function 1
++#  endif
++# endif
+ #elif defined GNULIB_POSIXCHECK
+ # define _GL_FTELL_WARN /* Category 1, above.  */
+ # undef ftell
+@@ -1307,6 +1345,6 @@ _GL_WARN_ON_USE (vsprintf, "vsprintf is
+ #endif
+ 
+ 
+-#endif /* _@GUARD_PREFIX@_STDIO_H */
+-#endif /* _@GUARD_PREFIX@_STDIO_H */
++#endif /* _GL_STDIO_H */
++#endif /* _GL_STDIO_H */
+ #endif
+diff -Naurp libiconv-1.14.org//srclib/stdlib.in.h libiconv-1.14/srclib/stdlib.in.h
+--- libiconv-1.14.org//srclib/stdlib.in.h	2011-08-07 06:42:06.000000000 -0700
++++ libiconv-1.14/srclib/stdlib.in.h	2012-01-08 02:07:40.390484459 -0800
+@@ -28,13 +28,13 @@
+ #else
+ /* Normal invocation convention.  */
+ 
+-#ifndef _@GUARD_PREFIX@_STDLIB_H
++#ifndef _GL_STDLIB_H
+ 
+ /* The include_next requires a split double-inclusion guard.  */
+ #@INCLUDE_NEXT@ @NEXT_STDLIB_H@
+ 
+-#ifndef _@GUARD_PREFIX@_STDLIB_H
+-#define _@GUARD_PREFIX@_STDLIB_H
++#ifndef _GL_STDLIB_H
++#define _GL_STDLIB_H
+ 
+ /* NetBSD 5.0 mis-defines NULL.  */
+ #include <stddef.h>
+@@ -89,7 +89,11 @@ struct random_data
+ # include <unistd.h>
+ #endif
+ 
+-/* The definition of _Noreturn is copied here.  */
++#if 3 <= __GNUC__ || __GNUC__ == 2 && 8 <= __GNUC_MINOR__
++# define _GL_ATTRIBUTE_NORETURN __attribute__ ((__noreturn__))
++#else
++# define _GL_ATTRIBUTE_NORETURN
++#endif
+ 
+ /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
+ 
+@@ -116,7 +120,7 @@ struct random_data
+ /* Terminate the current process with the given return code, without running
+    the 'atexit' handlers.  */
+ # if !@HAVE__EXIT@
+-_GL_FUNCDECL_SYS (_Exit, _Noreturn void, (int status));
++_GL_FUNCDECL_SYS (_Exit, void, (int status) _GL_ATTRIBUTE_NORETURN);
+ # endif
+ _GL_CXXALIAS_SYS (_Exit, void, (int status));
+ _GL_CXXALIASWARN (_Exit);
+@@ -757,6 +761,6 @@ _GL_CXXALIASWARN (wctomb);
+ #endif
+ 
+ 
+-#endif /* _@GUARD_PREFIX@_STDLIB_H */
+-#endif /* _@GUARD_PREFIX@_STDLIB_H */
++#endif /* _GL_STDLIB_H */
++#endif /* _GL_STDLIB_H */
+ #endif
+diff -Naurp libiconv-1.14.org//srclib/strerror.c libiconv-1.14/srclib/strerror.c
+--- libiconv-1.14.org//srclib/strerror.c	2011-08-07 06:42:06.000000000 -0700
++++ libiconv-1.14/srclib/strerror.c	2012-01-08 02:07:40.406484461 -0800
+@@ -17,54 +17,340 @@
+ 
+ #include <config.h>
+ 
+-/* Specification.  */
+ #include <string.h>
+ 
+-#include <errno.h>
+-#include <stdio.h>
+-#include <stdlib.h>
+-#include <string.h>
++#if REPLACE_STRERROR
++
++# include <errno.h>
++# include <stdio.h>
++
++# if GNULIB_defined_ESOCK /* native Windows platforms */
++#  if HAVE_WINSOCK2_H
++#   include <winsock2.h>
++#  endif
++# endif
+ 
+-#include "intprops.h"
+-#include "strerror-override.h"
+-#include "verify.h"
++# include "intprops.h"
+ 
+ /* Use the system functions, not the gnulib overrides in this file.  */
+-#undef sprintf
++# undef sprintf
++
++# undef strerror
++# if ! HAVE_DECL_STRERROR
++#  define strerror(n) NULL
++# endif
+ 
+ char *
+-strerror (int n)
+-#undef strerror
++rpl_strerror (int n)
+ {
+-  static char buf[STACKBUF_LEN];
+-  size_t len;
++  char const *msg = NULL;
++  /* These error messages are taken from glibc/sysdeps/gnu/errlist.c.  */
++  switch (n)
++    {
++# if GNULIB_defined_ETXTBSY
++    case ETXTBSY:
++      msg = "Text file busy";
++      break;
++# endif
++
++# if GNULIB_defined_ESOCK /* native Windows platforms */
++    /* EWOULDBLOCK is the same as EAGAIN.  */
++    case EINPROGRESS:
++      msg = "Operation now in progress";
++      break;
++    case EALREADY:
++      msg = "Operation already in progress";
++      break;
++    case ENOTSOCK:
++      msg = "Socket operation on non-socket";
++      break;
++    case EDESTADDRREQ:
++      msg = "Destination address required";
++      break;
++    case EMSGSIZE:
++      msg = "Message too long";
++      break;
++    case EPROTOTYPE:
++      msg = "Protocol wrong type for socket";
++      break;
++    case ENOPROTOOPT:
++      msg = "Protocol not available";
++      break;
++    case EPROTONOSUPPORT:
++      msg = "Protocol not supported";
++      break;
++    case ESOCKTNOSUPPORT:
++      msg = "Socket type not supported";
++      break;
++    case EOPNOTSUPP:
++      msg = "Operation not supported";
++      break;
++    case EPFNOSUPPORT:
++      msg = "Protocol family not supported";
++      break;
++    case EAFNOSUPPORT:
++      msg = "Address family not supported by protocol";
++      break;
++    case EADDRINUSE:
++      msg = "Address already in use";
++      break;
++    case EADDRNOTAVAIL:
++      msg = "Cannot assign requested address";
++      break;
++    case ENETDOWN:
++      msg = "Network is down";
++      break;
++    case ENETUNREACH:
++      msg = "Network is unreachable";
++      break;
++    case ENETRESET:
++      msg = "Network dropped connection on reset";
++      break;
++    case ECONNABORTED:
++      msg = "Software caused connection abort";
++      break;
++    case ECONNRESET:
++      msg = "Connection reset by peer";
++      break;
++    case ENOBUFS:
++      msg = "No buffer space available";
++      break;
++    case EISCONN:
++      msg = "Transport endpoint is already connected";
++      break;
++    case ENOTCONN:
++      msg = "Transport endpoint is not connected";
++      break;
++    case ESHUTDOWN:
++      msg = "Cannot send after transport endpoint shutdown";
++      break;
++    case ETOOMANYREFS:
++      msg = "Too many references: cannot splice";
++      break;
++    case ETIMEDOUT:
++      msg = "Connection timed out";
++      break;
++    case ECONNREFUSED:
++      msg = "Connection refused";
++      break;
++    case ELOOP:
++      msg = "Too many levels of symbolic links";
++      break;
++    case EHOSTDOWN:
++      msg = "Host is down";
++      break;
++    case EHOSTUNREACH:
++      msg = "No route to host";
++      break;
++    case EPROCLIM:
++      msg = "Too many processes";
++      break;
++    case EUSERS:
++      msg = "Too many users";
++      break;
++    case EDQUOT:
++      msg = "Disk quota exceeded";
++      break;
++    case ESTALE:
++      msg = "Stale NFS file handle";
++      break;
++    case EREMOTE:
++      msg = "Object is remote";
++      break;
++#  if HAVE_WINSOCK2_H
++    /* WSA_INVALID_HANDLE maps to EBADF */
++    /* WSA_NOT_ENOUGH_MEMORY maps to ENOMEM */
++    /* WSA_INVALID_PARAMETER maps to EINVAL */
++    case WSA_OPERATION_ABORTED:
++      msg = "Overlapped operation aborted";
++      break;
++    case WSA_IO_INCOMPLETE:
++      msg = "Overlapped I/O event object not in signaled state";
++      break;
++    case WSA_IO_PENDING:
++      msg = "Overlapped operations will complete later";
++      break;
++    /* WSAEINTR maps to EINTR */
++    /* WSAEBADF maps to EBADF */
++    /* WSAEACCES maps to EACCES */
++    /* WSAEFAULT maps to EFAULT */
++    /* WSAEINVAL maps to EINVAL */
++    /* WSAEMFILE maps to EMFILE */
++    /* WSAEWOULDBLOCK maps to EWOULDBLOCK */
++    /* WSAEINPROGRESS is EINPROGRESS */
++    /* WSAEALREADY is EALREADY */
++    /* WSAENOTSOCK is ENOTSOCK */
++    /* WSAEDESTADDRREQ is EDESTADDRREQ */
++    /* WSAEMSGSIZE is EMSGSIZE */
++    /* WSAEPROTOTYPE is EPROTOTYPE */
++    /* WSAENOPROTOOPT is ENOPROTOOPT */
++    /* WSAEPROTONOSUPPORT is EPROTONOSUPPORT */
++    /* WSAESOCKTNOSUPPORT is ESOCKTNOSUPPORT */
++    /* WSAEOPNOTSUPP is EOPNOTSUPP */
++    /* WSAEPFNOSUPPORT is EPFNOSUPPORT */
++    /* WSAEAFNOSUPPORT is EAFNOSUPPORT */
++    /* WSAEADDRINUSE is EADDRINUSE */
++    /* WSAEADDRNOTAVAIL is EADDRNOTAVAIL */
++    /* WSAENETDOWN is ENETDOWN */
++    /* WSAENETUNREACH is ENETUNREACH */
++    /* WSAENETRESET is ENETRESET */
++    /* WSAECONNABORTED is ECONNABORTED */
++    /* WSAECONNRESET is ECONNRESET */
++    /* WSAENOBUFS is ENOBUFS */
++    /* WSAEISCONN is EISCONN */
++    /* WSAENOTCONN is ENOTCONN */
++    /* WSAESHUTDOWN is ESHUTDOWN */
++    /* WSAETOOMANYREFS is ETOOMANYREFS */
++    /* WSAETIMEDOUT is ETIMEDOUT */
++    /* WSAECONNREFUSED is ECONNREFUSED */
++    /* WSAELOOP is ELOOP */
++    /* WSAENAMETOOLONG maps to ENAMETOOLONG */
++    /* WSAEHOSTDOWN is EHOSTDOWN */
++    /* WSAEHOSTUNREACH is EHOSTUNREACH */
++    /* WSAENOTEMPTY maps to ENOTEMPTY */
++    /* WSAEPROCLIM is EPROCLIM */
++    /* WSAEUSERS is EUSERS */
++    /* WSAEDQUOT is EDQUOT */
++    /* WSAESTALE is ESTALE */
++    /* WSAEREMOTE is EREMOTE */
++    case WSASYSNOTREADY:
++      msg = "Network subsystem is unavailable";
++      break;
++    case WSAVERNOTSUPPORTED:
++      msg = "Winsock.dll version out of range";
++      break;
++    case WSANOTINITIALISED:
++      msg = "Successful WSAStartup not yet performed";
++      break;
++    case WSAEDISCON:
++      msg = "Graceful shutdown in progress";
++      break;
++    case WSAENOMORE: case WSA_E_NO_MORE:
++      msg = "No more results";
++      break;
++    case WSAECANCELLED: case WSA_E_CANCELLED:
++      msg = "Call was canceled";
++      break;
++    case WSAEINVALIDPROCTABLE:
++      msg = "Procedure call table is invalid";
++      break;
++    case WSAEINVALIDPROVIDER:
++      msg = "Service provider is invalid";
++      break;
++    case WSAEPROVIDERFAILEDINIT:
++      msg = "Service provider failed to initialize";
++      break;
++    case WSASYSCALLFAILURE:
++      msg = "System call failure";
++      break;
++    case WSASERVICE_NOT_FOUND:
++      msg = "Service not found";
++      break;
++    case WSATYPE_NOT_FOUND:
++      msg = "Class type not found";
++      break;
++    case WSAEREFUSED:
++      msg = "Database query was refused";
++      break;
++    case WSAHOST_NOT_FOUND:
++      msg = "Host not found";
++      break;
++    case WSATRY_AGAIN:
++      msg = "Nonauthoritative host not found";
++      break;
++    case WSANO_RECOVERY:
++      msg = "Nonrecoverable error";
++      break;
++    case WSANO_DATA:
++      msg = "Valid name, no data record of requested type";
++      break;
++    /* WSA_QOS_* omitted */
++#  endif
++# endif
++
++# if GNULIB_defined_ENOMSG
++    case ENOMSG:
++      msg = "No message of desired type";
++      break;
++# endif
++
++# if GNULIB_defined_EIDRM
++    case EIDRM:
++      msg = "Identifier removed";
++      break;
++# endif
++
++# if GNULIB_defined_ENOLINK
++    case ENOLINK:
++      msg = "Link has been severed";
++      break;
++# endif
++
++# if GNULIB_defined_EPROTO
++    case EPROTO:
++      msg = "Protocol error";
++      break;
++# endif
++
++# if GNULIB_defined_EMULTIHOP
++    case EMULTIHOP:
++      msg = "Multihop attempted";
++      break;
++# endif
++
++# if GNULIB_defined_EBADMSG
++    case EBADMSG:
++      msg = "Bad message";
++      break;
++# endif
++
++# if GNULIB_defined_EOVERFLOW
++    case EOVERFLOW:
++      msg = "Value too large for defined data type";
++      break;
++# endif
++
++# if GNULIB_defined_ENOTSUP
++    case ENOTSUP:
++      msg = "Not supported";
++      break;
++# endif
++
++# if GNULIB_defined_ESTALE
++    case ESTALE:
++      msg = "Stale NFS file handle";
++      break;
++# endif
++
++# if GNULIB_defined_EDQUOT
++    case EDQUOT:
++      msg = "Disk quota exceeded";
++      break;
++# endif
++
++# if GNULIB_defined_ECANCELED
++    case ECANCELED:
++      msg = "Operation canceled";
++      break;
++# endif
++    }
+ 
+-  /* Cast away const, due to the historical signature of strerror;
+-     callers should not be modifying the string.  */
+-  const char *msg = strerror_override (n);
+   if (msg)
+     return (char *) msg;
+ 
+-  msg = strerror (n);
++  {
++    char *result = strerror (n);
+ 
+-  /* Our strerror_r implementation might use the system's strerror
+-     buffer, so all other clients of strerror have to see the error
+-     copied into a buffer that we manage.  This is not thread-safe,
+-     even if the system strerror is, but portable programs shouldn't
+-     be using strerror if they care about thread-safety.  */
+-  if (!msg || !*msg)
+-    {
+-      static char const fmt[] = "Unknown error %d";
+-      verify (sizeof buf >= sizeof (fmt) + INT_STRLEN_BOUND (n));
+-      sprintf (buf, fmt, n);
+-      errno = EINVAL;
+-      return buf;
+-    }
++    if (result == NULL || result[0] == '\0')
++      {
++        static char const fmt[] = "Unknown error (%d)";
++        static char msg_buf[sizeof fmt + INT_STRLEN_BOUND (n)];
++        sprintf (msg_buf, fmt, n);
++        return msg_buf;
++      }
+ 
+-  /* Fix STACKBUF_LEN if this ever aborts.  */
+-  len = strlen (msg);
+-  if (sizeof buf <= len)
+-    abort ();
+-
+-  return memcpy (buf, msg, len + 1);
++    return result;
++  }
+ }
++
++#endif
+diff -Naurp libiconv-1.14.org//srclib/strerror-override.c libiconv-1.14/srclib/strerror-override.c
+--- libiconv-1.14.org//srclib/strerror-override.c	2011-08-07 06:42:06.000000000 -0700
++++ libiconv-1.14/srclib/strerror-override.c	1969-12-31 16:00:00.000000000 -0800
+@@ -1,279 +0,0 @@
+-/* strerror-override.c --- POSIX compatible system error routine
+-
+-   Copyright (C) 2010-2011 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/>.  */
+-
+-/* Written by Bruno Haible <bruno@clisp.org>, 2010.  */
+-
+-#include <config.h>
+-
+-#include "strerror-override.h"
+-
+-#include <errno.h>
+-
+-#if GNULIB_defined_ESOCK /* native Windows platforms */
+-# if HAVE_WINSOCK2_H
+-#  include <winsock2.h>
+-# endif
+-#endif
+-
+-/* If ERRNUM maps to an errno value defined by gnulib, return a string
+-   describing the error.  Otherwise return NULL.  */
+-const char *
+-strerror_override (int errnum)
+-{
+-  /* These error messages are taken from glibc/sysdeps/gnu/errlist.c.  */
+-  switch (errnum)
+-    {
+-#if REPLACE_STRERROR_0
+-    case 0:
+-      return "Success";
+-#endif
+-
+-#if GNULIB_defined_ETXTBSY
+-    case ETXTBSY:
+-      return "Text file busy";
+-#endif
+-
+-#if GNULIB_defined_ESOCK /* native Windows platforms */
+-      /* EWOULDBLOCK is the same as EAGAIN.  */
+-    case EINPROGRESS:
+-      return "Operation now in progress";
+-    case EALREADY:
+-      return "Operation already in progress";
+-    case ENOTSOCK:
+-      return "Socket operation on non-socket";
+-    case EDESTADDRREQ:
+-      return "Destination address required";
+-    case EMSGSIZE:
+-      return "Message too long";
+-    case EPROTOTYPE:
+-      return "Protocol wrong type for socket";
+-    case ENOPROTOOPT:
+-      return "Protocol not available";
+-    case EPROTONOSUPPORT:
+-      return "Protocol not supported";
+-    case ESOCKTNOSUPPORT:
+-      return "Socket type not supported";
+-    case EOPNOTSUPP:
+-      return "Operation not supported";
+-    case EPFNOSUPPORT:
+-      return "Protocol family not supported";
+-    case EAFNOSUPPORT:
+-      return "Address family not supported by protocol";
+-    case EADDRINUSE:
+-      return "Address already in use";
+-    case EADDRNOTAVAIL:
+-      return "Cannot assign requested address";
+-    case ENETDOWN:
+-      return "Network is down";
+-    case ENETUNREACH:
+-      return "Network is unreachable";
+-    case ENETRESET:
+-      return "Network dropped connection on reset";
+-    case ECONNABORTED:
+-      return "Software caused connection abort";
+-    case ECONNRESET:
+-      return "Connection reset by peer";
+-    case ENOBUFS:
+-      return "No buffer space available";
+-    case EISCONN:
+-      return "Transport endpoint is already connected";
+-    case ENOTCONN:
+-      return "Transport endpoint is not connected";
+-    case ESHUTDOWN:
+-      return "Cannot send after transport endpoint shutdown";
+-    case ETOOMANYREFS:
+-      return "Too many references: cannot splice";
+-    case ETIMEDOUT:
+-      return "Connection timed out";
+-    case ECONNREFUSED:
+-      return "Connection refused";
+-    case ELOOP:
+-      return "Too many levels of symbolic links";
+-    case EHOSTDOWN:
+-      return "Host is down";
+-    case EHOSTUNREACH:
+-      return "No route to host";
+-    case EPROCLIM:
+-      return "Too many processes";
+-    case EUSERS:
+-      return "Too many users";
+-    case EDQUOT:
+-      return "Disk quota exceeded";
+-    case ESTALE:
+-      return "Stale NFS file handle";
+-    case EREMOTE:
+-      return "Object is remote";
+-# if HAVE_WINSOCK2_H
+-      /* WSA_INVALID_HANDLE maps to EBADF */
+-      /* WSA_NOT_ENOUGH_MEMORY maps to ENOMEM */
+-      /* WSA_INVALID_PARAMETER maps to EINVAL */
+-    case WSA_OPERATION_ABORTED:
+-      return "Overlapped operation aborted";
+-    case WSA_IO_INCOMPLETE:
+-      return "Overlapped I/O event object not in signaled state";
+-    case WSA_IO_PENDING:
+-      return "Overlapped operations will complete later";
+-      /* WSAEINTR maps to EINTR */
+-      /* WSAEBADF maps to EBADF */
+-      /* WSAEACCES maps to EACCES */
+-      /* WSAEFAULT maps to EFAULT */
+-      /* WSAEINVAL maps to EINVAL */
+-      /* WSAEMFILE maps to EMFILE */
+-      /* WSAEWOULDBLOCK maps to EWOULDBLOCK */
+-      /* WSAEINPROGRESS is EINPROGRESS */
+-      /* WSAEALREADY is EALREADY */
+-      /* WSAENOTSOCK is ENOTSOCK */
+-      /* WSAEDESTADDRREQ is EDESTADDRREQ */
+-      /* WSAEMSGSIZE is EMSGSIZE */
+-      /* WSAEPROTOTYPE is EPROTOTYPE */
+-      /* WSAENOPROTOOPT is ENOPROTOOPT */
+-      /* WSAEPROTONOSUPPORT is EPROTONOSUPPORT */
+-      /* WSAESOCKTNOSUPPORT is ESOCKTNOSUPPORT */
+-      /* WSAEOPNOTSUPP is EOPNOTSUPP */
+-      /* WSAEPFNOSUPPORT is EPFNOSUPPORT */
+-      /* WSAEAFNOSUPPORT is EAFNOSUPPORT */
+-      /* WSAEADDRINUSE is EADDRINUSE */
+-      /* WSAEADDRNOTAVAIL is EADDRNOTAVAIL */
+-      /* WSAENETDOWN is ENETDOWN */
+-      /* WSAENETUNREACH is ENETUNREACH */
+-      /* WSAENETRESET is ENETRESET */
+-      /* WSAECONNABORTED is ECONNABORTED */
+-      /* WSAECONNRESET is ECONNRESET */
+-      /* WSAENOBUFS is ENOBUFS */
+-      /* WSAEISCONN is EISCONN */
+-      /* WSAENOTCONN is ENOTCONN */
+-      /* WSAESHUTDOWN is ESHUTDOWN */
+-      /* WSAETOOMANYREFS is ETOOMANYREFS */
+-      /* WSAETIMEDOUT is ETIMEDOUT */
+-      /* WSAECONNREFUSED is ECONNREFUSED */
+-      /* WSAELOOP is ELOOP */
+-      /* WSAENAMETOOLONG maps to ENAMETOOLONG */
+-      /* WSAEHOSTDOWN is EHOSTDOWN */
+-      /* WSAEHOSTUNREACH is EHOSTUNREACH */
+-      /* WSAENOTEMPTY maps to ENOTEMPTY */
+-      /* WSAEPROCLIM is EPROCLIM */
+-      /* WSAEUSERS is EUSERS */
+-      /* WSAEDQUOT is EDQUOT */
+-      /* WSAESTALE is ESTALE */
+-      /* WSAEREMOTE is EREMOTE */
+-    case WSASYSNOTREADY:
+-      return "Network subsystem is unavailable";
+-    case WSAVERNOTSUPPORTED:
+-      return "Winsock.dll version out of range";
+-    case WSANOTINITIALISED:
+-      return "Successful WSAStartup not yet performed";
+-    case WSAEDISCON:
+-      return "Graceful shutdown in progress";
+-    case WSAENOMORE: case WSA_E_NO_MORE:
+-      return "No more results";
+-    case WSAECANCELLED: case WSA_E_CANCELLED:
+-      return "Call was canceled";
+-    case WSAEINVALIDPROCTABLE:
+-      return "Procedure call table is invalid";
+-    case WSAEINVALIDPROVIDER:
+-      return "Service provider is invalid";
+-    case WSAEPROVIDERFAILEDINIT:
+-      return "Service provider failed to initialize";
+-    case WSASYSCALLFAILURE:
+-      return "System call failure";
+-    case WSASERVICE_NOT_FOUND:
+-      return "Service not found";
+-    case WSATYPE_NOT_FOUND:
+-      return "Class type not found";
+-    case WSAEREFUSED:
+-      return "Database query was refused";
+-    case WSAHOST_NOT_FOUND:
+-      return "Host not found";
+-    case WSATRY_AGAIN:
+-      return "Nonauthoritative host not found";
+-    case WSANO_RECOVERY:
+-      return "Nonrecoverable error";
+-    case WSANO_DATA:
+-      return "Valid name, no data record of requested type";
+-      /* WSA_QOS_* omitted */
+-# endif
+-#endif
+-
+-#if GNULIB_defined_ENOMSG
+-    case ENOMSG:
+-      return "No message of desired type";
+-#endif
+-
+-#if GNULIB_defined_EIDRM
+-    case EIDRM:
+-      return "Identifier removed";
+-#endif
+-
+-#if GNULIB_defined_ENOLINK
+-    case ENOLINK:
+-      return "Link has been severed";
+-#endif
+-
+-#if GNULIB_defined_EPROTO
+-    case EPROTO:
+-      return "Protocol error";
+-#endif
+-
+-#if GNULIB_defined_EMULTIHOP
+-    case EMULTIHOP:
+-      return "Multihop attempted";
+-#endif
+-
+-#if GNULIB_defined_EBADMSG
+-    case EBADMSG:
+-      return "Bad message";
+-#endif
+-
+-#if GNULIB_defined_EOVERFLOW
+-    case EOVERFLOW:
+-      return "Value too large for defined data type";
+-#endif
+-
+-#if GNULIB_defined_ENOTSUP
+-    case ENOTSUP:
+-      return "Not supported";
+-#endif
+-
+-#if GNULIB_defined_ENETRESET
+-    case ENETRESET:
+-      return "Network dropped connection on reset";
+-#endif
+-
+-#if GNULIB_defined_ECONNABORTED
+-    case ECONNABORTED:
+-      return "Software caused connection abort";
+-#endif
+-
+-#if GNULIB_defined_ESTALE
+-    case ESTALE:
+-      return "Stale NFS file handle";
+-#endif
+-
+-#if GNULIB_defined_EDQUOT
+-    case EDQUOT:
+-      return "Disk quota exceeded";
+-#endif
+-
+-#if GNULIB_defined_ECANCELED
+-    case ECANCELED:
+-      return "Operation canceled";
+-#endif
+-
+-    default:
+-      return NULL;
+-    }
+-}
+diff -Naurp libiconv-1.14.org//srclib/strerror-override.h libiconv-1.14/srclib/strerror-override.h
+--- libiconv-1.14.org//srclib/strerror-override.h	2011-08-07 06:42:06.000000000 -0700
++++ libiconv-1.14/srclib/strerror-override.h	1969-12-31 16:00:00.000000000 -0800
+@@ -1,52 +0,0 @@
+-/* strerror-override.h --- POSIX compatible system error routine
+-
+-   Copyright (C) 2010-2011 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/>.  */
+-
+-#ifndef _GL_STRERROR_OVERRIDE_H
+-# define _GL_STRERROR_OVERRIDE_H
+-
+-# include <errno.h>
+-# include <stddef.h>
+-
+-/* Reasonable buffer size that should never trigger ERANGE; if this
+-   proves too small, we intentionally abort(), to remind us to fix
+-   this value.  */
+-# define STACKBUF_LEN 256
+-
+-/* If ERRNUM maps to an errno value defined by gnulib, return a string
+-   describing the error.  Otherwise return NULL.  */
+-# if REPLACE_STRERROR_0 \
+-     || GNULIB_defined_ETXTBSY \
+-     || GNULIB_defined_ESOCK \
+-     || GNULIB_defined_ENOMSG \
+-     || GNULIB_defined_EIDRM \
+-     || GNULIB_defined_ENOLINK \
+-     || GNULIB_defined_EPROTO \
+-     || GNULIB_defined_EMULTIHOP \
+-     || GNULIB_defined_EBADMSG \
+-     || GNULIB_defined_EOVERFLOW \
+-     || GNULIB_defined_ENOTSUP \
+-     || GNULIB_defined_ENETRESET \
+-     || GNULIB_defined_ECONNABORTED \
+-     || GNULIB_defined_ESTALE \
+-     || GNULIB_defined_EDQUOT \
+-     || GNULIB_defined_ECANCELED
+-extern const char *strerror_override (int errnum);
+-# else
+-#  define strerror_override(ignored) NULL
+-# endif
+-
+-#endif /* _GL_STRERROR_OVERRIDE_H */
+diff -Naurp libiconv-1.14.org//srclib/string.in.h libiconv-1.14/srclib/string.in.h
+--- libiconv-1.14.org//srclib/string.in.h	2011-08-07 06:42:06.000000000 -0700
++++ libiconv-1.14/srclib/string.in.h	2012-01-08 02:07:40.418484461 -0800
+@@ -16,7 +16,7 @@
+    along with this program; if not, write to the Free Software Foundation,
+    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+ 
+-#ifndef _@GUARD_PREFIX@_STRING_H
++#ifndef _GL_STRING_H
+ 
+ #if __GNUC__ >= 3
+ @PRAGMA_SYSTEM_HEADER@
+@@ -26,8 +26,8 @@
+ /* The include_next requires a split double-inclusion guard.  */
+ #@INCLUDE_NEXT@ @NEXT_STRING_H@
+ 
+-#ifndef _@GUARD_PREFIX@_STRING_H
+-#define _@GUARD_PREFIX@_STRING_H
++#ifndef _GL_STRING_H
++#define _GL_STRING_H
+ 
+ /* NetBSD 5.0 mis-defines NULL.  */
+ #include <stddef.h>
+@@ -59,36 +59,6 @@
+ /* The definition of _GL_WARN_ON_USE is copied here.  */
+ 
+ 
+-/* Find the index of the least-significant set bit.  */
+-#if @GNULIB_FFSL@
+-# if !@HAVE_FFSL@
+-_GL_FUNCDECL_SYS (ffsl, int, (long int i));
+-# endif
+-_GL_CXXALIAS_SYS (ffsl, int, (long int i));
+-_GL_CXXALIASWARN (ffsl);
+-#elif defined GNULIB_POSIXCHECK
+-# undef ffsl
+-# if HAVE_RAW_DECL_FFSL
+-_GL_WARN_ON_USE (ffsl, "ffsl is not portable - use the ffsl module");
+-# endif
+-#endif
+-
+-
+-/* Find the index of the least-significant set bit.  */
+-#if @GNULIB_FFSLL@
+-# if !@HAVE_FFSLL@
+-_GL_FUNCDECL_SYS (ffsll, int, (long long int i));
+-# endif
+-_GL_CXXALIAS_SYS (ffsll, int, (long long int i));
+-_GL_CXXALIASWARN (ffsll);
+-#elif defined GNULIB_POSIXCHECK
+-# undef ffsll
+-# if HAVE_RAW_DECL_FFSLL
+-_GL_WARN_ON_USE (ffsll, "ffsll is not portable - use the ffsll module");
+-# endif
+-#endif
+-
+-
+ /* Return the first instance of C within N bytes of S, or NULL.  */
+ #if @GNULIB_MEMCHR@
+ # if @REPLACE_MEMCHR@
+@@ -1007,5 +977,5 @@ _GL_WARN_ON_USE (strverscmp, "strverscmp
+ #endif
+ 
+ 
+-#endif /* _@GUARD_PREFIX@_STRING_H */
+-#endif /* _@GUARD_PREFIX@_STRING_H */
++#endif /* _GL_STRING_H */
++#endif /* _GL_STRING_H */
+diff -Naurp libiconv-1.14.org//srclib/sys_stat.in.h libiconv-1.14/srclib/sys_stat.in.h
+--- libiconv-1.14.org//srclib/sys_stat.in.h	2011-08-07 06:42:06.000000000 -0700
++++ libiconv-1.14/srclib/sys_stat.in.h	2012-01-08 02:07:40.430484461 -0800
+@@ -34,7 +34,7 @@
+ #else
+ /* Normal invocation convention.  */
+ 
+-#ifndef _@GUARD_PREFIX@_SYS_STAT_H
++#ifndef _GL_SYS_STAT_H
+ 
+ /* Get nlink_t.  */
+ #include <sys/types.h>
+@@ -45,8 +45,8 @@
+ /* The include_next requires a split double-inclusion guard.  */
+ #@INCLUDE_NEXT@ @NEXT_SYS_STAT_H@
+ 
+-#ifndef _@GUARD_PREFIX@_SYS_STAT_H
+-#define _@GUARD_PREFIX@_SYS_STAT_H
++#ifndef _GL_SYS_STAT_H
++#define _GL_SYS_STAT_H
+ 
+ /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
+ 
+@@ -653,6 +653,6 @@ _GL_WARN_ON_USE (utimensat, "utimensat i
+ #endif
+ 
+ 
+-#endif /* _@GUARD_PREFIX@_SYS_STAT_H */
+-#endif /* _@GUARD_PREFIX@_SYS_STAT_H */
++#endif /* _GL_SYS_STAT_H */
++#endif /* _GL_SYS_STAT_H */
+ #endif
+diff -Naurp libiconv-1.14.org//srclib/time.in.h libiconv-1.14/srclib/time.in.h
+--- libiconv-1.14.org//srclib/time.in.h	2011-08-07 06:42:06.000000000 -0700
++++ libiconv-1.14/srclib/time.in.h	2012-01-08 02:07:40.438484462 -0800
+@@ -28,13 +28,13 @@
+    without adding our own declarations.  */
+ #if (defined __need_time_t || defined __need_clock_t \
+      || defined __need_timespec \
+-     || defined _@GUARD_PREFIX@_TIME_H)
++     || defined _GL_TIME_H)
+ 
+ # @INCLUDE_NEXT@ @NEXT_TIME_H@
+ 
+ #else
+ 
+-# define _@GUARD_PREFIX@_TIME_H
++# define _GL_TIME_H
+ 
+ # @INCLUDE_NEXT@ @NEXT_TIME_H@
+ 
+diff -Naurp libiconv-1.14.org//srclib/unistd.in.h libiconv-1.14/srclib/unistd.in.h
+--- libiconv-1.14.org//srclib/unistd.in.h	2011-08-07 06:42:06.000000000 -0700
++++ libiconv-1.14/srclib/unistd.in.h	2012-01-08 02:07:40.450484462 -0800
+@@ -36,7 +36,7 @@
+ # define _GL_WINSOCK2_H_WITNESS
+ 
+ /* Normal invocation.  */
+-#elif !defined _@GUARD_PREFIX@_UNISTD_H
++#elif !defined _GL_UNISTD_H
+ 
+ /* The include_next requires a split double-inclusion guard.  */
+ #if @HAVE_UNISTD_H@
+@@ -51,8 +51,8 @@
+ # undef _GL_INCLUDING_WINSOCK2_H
+ #endif
+ 
+-#if !defined _@GUARD_PREFIX@_UNISTD_H && !defined _GL_INCLUDING_WINSOCK2_H
+-#define _@GUARD_PREFIX@_UNISTD_H
++#if !defined _GL_UNISTD_H && !defined _GL_INCLUDING_WINSOCK2_H
++#define _GL_UNISTD_H
+ 
+ /* NetBSD 5.0 mis-defines NULL.  Also get size_t.  */
+ #include <stddef.h>
+@@ -117,77 +117,78 @@
+ /* The definition of _GL_WARN_ON_USE is copied here.  */
+ 
+ 
+-/* Hide some function declarations from <winsock2.h>.  */
+-
+-#if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@
+-# if !defined _@GUARD_PREFIX@_SYS_SOCKET_H
+-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+-#   undef socket
+-#   define socket              socket_used_without_including_sys_socket_h
+-#   undef connect
+-#   define connect             connect_used_without_including_sys_socket_h
+-#   undef accept
+-#   define accept              accept_used_without_including_sys_socket_h
+-#   undef bind
+-#   define bind                bind_used_without_including_sys_socket_h
+-#   undef getpeername
+-#   define getpeername         getpeername_used_without_including_sys_socket_h
+-#   undef getsockname
+-#   define getsockname         getsockname_used_without_including_sys_socket_h
+-#   undef getsockopt
+-#   define getsockopt          getsockopt_used_without_including_sys_socket_h
+-#   undef listen
+-#   define listen              listen_used_without_including_sys_socket_h
+-#   undef recv
+-#   define recv                recv_used_without_including_sys_socket_h
+-#   undef send
+-#   define send                send_used_without_including_sys_socket_h
+-#   undef recvfrom
+-#   define recvfrom            recvfrom_used_without_including_sys_socket_h
+-#   undef sendto
+-#   define sendto              sendto_used_without_including_sys_socket_h
+-#   undef setsockopt
+-#   define setsockopt          setsockopt_used_without_including_sys_socket_h
+-#   undef shutdown
+-#   define shutdown            shutdown_used_without_including_sys_socket_h
+-#  else
+-    _GL_WARN_ON_USE (socket,
+-                     "socket() used without including <sys/socket.h>");
+-    _GL_WARN_ON_USE (connect,
+-                     "connect() used without including <sys/socket.h>");
+-    _GL_WARN_ON_USE (accept,
+-                     "accept() used without including <sys/socket.h>");
+-    _GL_WARN_ON_USE (bind,
+-                     "bind() used without including <sys/socket.h>");
+-    _GL_WARN_ON_USE (getpeername,
+-                     "getpeername() used without including <sys/socket.h>");
+-    _GL_WARN_ON_USE (getsockname,
+-                     "getsockname() used without including <sys/socket.h>");
+-    _GL_WARN_ON_USE (getsockopt,
+-                     "getsockopt() used without including <sys/socket.h>");
+-    _GL_WARN_ON_USE (listen,
+-                     "listen() used without including <sys/socket.h>");
+-    _GL_WARN_ON_USE (recv,
+-                     "recv() used without including <sys/socket.h>");
+-    _GL_WARN_ON_USE (send,
+-                     "send() used without including <sys/socket.h>");
+-    _GL_WARN_ON_USE (recvfrom,
+-                     "recvfrom() used without including <sys/socket.h>");
+-    _GL_WARN_ON_USE (sendto,
+-                     "sendto() used without including <sys/socket.h>");
+-    _GL_WARN_ON_USE (setsockopt,
+-                     "setsockopt() used without including <sys/socket.h>");
+-    _GL_WARN_ON_USE (shutdown,
+-                     "shutdown() used without including <sys/socket.h>");
++#if @GNULIB_GETHOSTNAME@
++/* Get all possible declarations of gethostname().  */
++# if @UNISTD_H_HAVE_WINSOCK2_H@
++#  if !defined _GL_SYS_SOCKET_H
++#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
++#    undef socket
++#    define socket              socket_used_without_including_sys_socket_h
++#    undef connect
++#    define connect             connect_used_without_including_sys_socket_h
++#    undef accept
++#    define accept              accept_used_without_including_sys_socket_h
++#    undef bind
++#    define bind                bind_used_without_including_sys_socket_h
++#    undef getpeername
++#    define getpeername         getpeername_used_without_including_sys_socket_h
++#    undef getsockname
++#    define getsockname         getsockname_used_without_including_sys_socket_h
++#    undef getsockopt
++#    define getsockopt          getsockopt_used_without_including_sys_socket_h
++#    undef listen
++#    define listen              listen_used_without_including_sys_socket_h
++#    undef recv
++#    define recv                recv_used_without_including_sys_socket_h
++#    undef send
++#    define send                send_used_without_including_sys_socket_h
++#    undef recvfrom
++#    define recvfrom            recvfrom_used_without_including_sys_socket_h
++#    undef sendto
++#    define sendto              sendto_used_without_including_sys_socket_h
++#    undef setsockopt
++#    define setsockopt          setsockopt_used_without_including_sys_socket_h
++#    undef shutdown
++#    define shutdown            shutdown_used_without_including_sys_socket_h
++#   else
++     _GL_WARN_ON_USE (socket,
++                      "socket() used without including <sys/socket.h>");
++     _GL_WARN_ON_USE (connect,
++                      "connect() used without including <sys/socket.h>");
++     _GL_WARN_ON_USE (accept,
++                      "accept() used without including <sys/socket.h>");
++     _GL_WARN_ON_USE (bind,
++                      "bind() used without including <sys/socket.h>");
++     _GL_WARN_ON_USE (getpeername,
++                      "getpeername() used without including <sys/socket.h>");
++     _GL_WARN_ON_USE (getsockname,
++                      "getsockname() used without including <sys/socket.h>");
++     _GL_WARN_ON_USE (getsockopt,
++                      "getsockopt() used without including <sys/socket.h>");
++     _GL_WARN_ON_USE (listen,
++                      "listen() used without including <sys/socket.h>");
++     _GL_WARN_ON_USE (recv,
++                      "recv() used without including <sys/socket.h>");
++     _GL_WARN_ON_USE (send,
++                      "send() used without including <sys/socket.h>");
++     _GL_WARN_ON_USE (recvfrom,
++                      "recvfrom() used without including <sys/socket.h>");
++     _GL_WARN_ON_USE (sendto,
++                      "sendto() used without including <sys/socket.h>");
++     _GL_WARN_ON_USE (setsockopt,
++                      "setsockopt() used without including <sys/socket.h>");
++     _GL_WARN_ON_USE (shutdown,
++                      "shutdown() used without including <sys/socket.h>");
++#   endif
+ #  endif
+-# endif
+-# if !defined _@GUARD_PREFIX@_SYS_SELECT_H
+-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+-#   undef select
+-#   define select              select_used_without_including_sys_select_h
+-#  else
+-    _GL_WARN_ON_USE (select,
+-                     "select() used without including <sys/select.h>");
++#  if !defined _GL_SYS_SELECT_H
++#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
++#    undef select
++#    define select              select_used_without_including_sys_select_h
++#   else
++     _GL_WARN_ON_USE (select,
++                      "select() used without including <sys/select.h>");
++#   endif
+ #  endif
+ # endif
+ #endif
+@@ -1061,7 +1062,6 @@ _GL_WARN_ON_USE (pipe2, "pipe2 is unport
+    specification <http://www.opengroup.org/susv3xsh/pread.html>.  */
+ # if @REPLACE_PREAD@
+ #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+-#   undef pread
+ #   define pread rpl_pread
+ #  endif
+ _GL_FUNCDECL_RPL (pread, ssize_t,
+@@ -1096,7 +1096,6 @@ _GL_WARN_ON_USE (pread, "pread is unport
+    <http://www.opengroup.org/susv3xsh/pwrite.html>.  */
+ # if @REPLACE_PWRITE@
+ #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+-#   undef pwrite
+ #   define pwrite rpl_pwrite
+ #  endif
+ _GL_FUNCDECL_RPL (pwrite, ssize_t,
+@@ -1417,5 +1416,5 @@ _GL_CXXALIASWARN (write);
+ #endif
+ 
+ 
+-#endif /* _@GUARD_PREFIX@_UNISTD_H */
+-#endif /* _@GUARD_PREFIX@_UNISTD_H */
++#endif /* _GL_UNISTD_H */
++#endif /* _GL_UNISTD_H */
+diff -Naurp libiconv-1.14.org//srclib/verify.h libiconv-1.14/srclib/verify.h
+--- libiconv-1.14.org//srclib/verify.h	2011-08-07 06:42:07.000000000 -0700
++++ libiconv-1.14/srclib/verify.h	2012-01-08 02:07:40.494484464 -0800
+@@ -164,13 +164,10 @@
+     (!!sizeof (_GL_VERIFY_TYPE (R, DIAGNOSTIC)))
+ 
+ # ifdef __cplusplus
+-#  if !GNULIB_defined_struct__gl_verify_type
+ template <int w>
+   struct _gl_verify_type {
+     unsigned int _gl_verify_error_if_negative: w;
+   };
+-#   define GNULIB_defined_struct__gl_verify_type 1
+-#  endif
+ #  define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
+     _gl_verify_type<(R) ? 1 : -1>
+ # elif defined _GL_HAVE__STATIC_ASSERT
+@@ -209,7 +206,7 @@ template <int w>
+ #  endif
+ # endif
+ 
+-/* @assert.h omit start@  */
++# ifdef _GL_VERIFY_H
+ 
+ /* Each of these macros verifies that its argument R is nonzero.  To
+    be portable, R should be an integer constant expression.  Unlike
+@@ -221,23 +218,15 @@ template <int w>
+    contexts, e.g., the top level.  */
+ 
+ /* Verify requirement R at compile-time, as an integer constant expression.
+-   Return 1.  This is equivalent to verify_expr (R, 1).
+-
+-   verify_true is obsolescent; please use verify_expr instead.  */
+-
+-# define verify_true(R) _GL_VERIFY_TRUE (R, "verify_true (" #R ")")
++   Return 1.  */
+ 
+-/* Verify requirement R at compile-time.  Return the value of the
+-   expression E.  */
+-
+-# define verify_expr(R, E) \
+-    (_GL_VERIFY_TRUE (R, "verify_expr (" #R ", " #E ")") ? (E) : (E))
++#  define verify_true(R) _GL_VERIFY_TRUE (R, "verify_true (" #R ")")
+ 
+ /* Verify requirement R at compile-time, as a declaration without a
+    trailing ';'.  */
+ 
+-# define verify(R) _GL_VERIFY (R, "verify (" #R ")")
++#  define verify(R) _GL_VERIFY (R, "verify (" #R ")")
+ 
+-/* @assert.h omit end@  */
++# endif
+ 
+ #endif
+diff -Naurp libiconv-1.14.org//srcm4/canonicalize.m4 libiconv-1.14/srcm4/canonicalize.m4
+--- libiconv-1.14.org//srcm4/canonicalize.m4	2011-08-07 06:42:07.000000000 -0700
++++ libiconv-1.14/srcm4/canonicalize.m4	2012-01-08 02:07:40.566484469 -0800
+@@ -1,4 +1,4 @@
+-# canonicalize.m4 serial 23
++# canonicalize.m4 serial 21
+ 
+ dnl Copyright (C) 2003-2007, 2009-2011 Free Software Foundation, Inc.
+ 
+@@ -10,6 +10,8 @@ dnl with or without modifications, as lo
+ # not provide or fix realpath.
+ AC_DEFUN([gl_FUNC_CANONICALIZE_FILENAME_MODE],
+ [
++  AC_LIBOBJ([canonicalize])
++
+   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+   AC_CHECK_FUNCS_ONCE([canonicalize_file_name])
+   AC_REQUIRE([gl_DOUBLE_SLASH_ROOT])
+@@ -28,14 +30,16 @@ AC_DEFUN([gl_CANONICALIZE_LGPL],
+   AC_REQUIRE([gl_CANONICALIZE_LGPL_SEPARATE])
+   if test $ac_cv_func_canonicalize_file_name = no; then
+     HAVE_CANONICALIZE_FILE_NAME=0
++    AC_LIBOBJ([canonicalize-lgpl])
+     if test $ac_cv_func_realpath = no; then
+       HAVE_REALPATH=0
+     elif test "$gl_cv_func_realpath_works" != yes; then
+       REPLACE_REALPATH=1
+     fi
+   elif test "$gl_cv_func_realpath_works" != yes; then
+-    REPLACE_CANONICALIZE_FILE_NAME=1
++    AC_LIBOBJ([canonicalize-lgpl])
+     REPLACE_REALPATH=1
++    REPLACE_CANONICALIZE_FILE_NAME=1
+   fi
+ ])
+ 
+diff -Naurp libiconv-1.14.org//srcm4/errno_h.m4 libiconv-1.14/srcm4/errno_h.m4
+--- libiconv-1.14.org//srcm4/errno_h.m4	2011-08-07 06:42:07.000000000 -0700
++++ libiconv-1.14/srcm4/errno_h.m4	2012-01-08 02:07:40.590484469 -0800
+@@ -1,4 +1,4 @@
+-# errno_h.m4 serial 10
++# errno_h.m4 serial 9
+ dnl Copyright (C) 2004, 2006, 2008-2011 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -34,12 +34,6 @@ booboo
+ #if !defined ENOTSUP
+ booboo
+ #endif
+-#if !defined ENETRESET
+-booboo
+-#endif
+-#if !defined ECONNABORTED
+-booboo
+-#endif
+ #if !defined ESTALE
+ booboo
+ #endif
+diff -Naurp libiconv-1.14.org//srcm4/error.m4 libiconv-1.14/srcm4/error.m4
+--- libiconv-1.14.org//srcm4/error.m4	2011-08-07 06:42:07.000000000 -0700
++++ libiconv-1.14/srcm4/error.m4	2012-01-08 02:07:40.598484470 -0800
+@@ -1,4 +1,4 @@
+-#serial 14
++#serial 13
+ 
+ # Copyright (C) 1996-1998, 2001-2004, 2009-2011 Free Software Foundation, Inc.
+ #
+@@ -8,8 +8,16 @@
+ 
+ AC_DEFUN([gl_ERROR],
+ [
+-  dnl We don't use AC_FUNC_ERROR_AT_LINE any more, because it is no longer
+-  dnl maintained in Autoconf and because it invokes AC_LIBOBJ.
++  AC_FUNC_ERROR_AT_LINE
++  dnl Note: AC_FUNC_ERROR_AT_LINE does AC_LIBSOURCES([error.h, error.c]).
++  gl_PREREQ_ERROR
++])
++
++# Redefine AC_FUNC_ERROR_AT_LINE, because it is no longer maintained in
++# Autoconf.
++AC_DEFUN([AC_FUNC_ERROR_AT_LINE],
++[
++  AC_LIBSOURCES([error.h, error.c])dnl
+   AC_CACHE_CHECK([for error_at_line], [ac_cv_lib_error_at_line],
+     [AC_LINK_IFELSE(
+        [AC_LANG_PROGRAM(
+@@ -17,6 +25,9 @@ AC_DEFUN([gl_ERROR],
+           [[error_at_line (0, 0, "", 0, "an error occurred");]])],
+        [ac_cv_lib_error_at_line=yes],
+        [ac_cv_lib_error_at_line=no])])
++  if test $ac_cv_lib_error_at_line = no; then
++    AC_LIBOBJ([error])
++  fi
+ ])
+ 
+ # Prerequisites of lib/error.c.
+diff -Naurp libiconv-1.14.org//srcm4/extensions.m4 libiconv-1.14/srcm4/extensions.m4
+--- libiconv-1.14.org//srcm4/extensions.m4	2011-08-07 06:42:07.000000000 -0700
++++ libiconv-1.14/srcm4/extensions.m4	2012-01-08 02:07:40.606484471 -0800
+@@ -1,4 +1,4 @@
+-# serial 10  -*- Autoconf -*-
++# serial 9  -*- Autoconf -*-
+ # Enable extensions on systems that normally disable them.
+ 
+ # Copyright (C) 2003, 2006-2011 Free Software Foundation, Inc.
+@@ -67,10 +67,6 @@ AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
+ #ifndef _ALL_SOURCE
+ # undef _ALL_SOURCE
+ #endif
+-/* Enable general extensions on MacOS X.  */
+-#ifndef _DARWIN_C_SOURCE
+-# undef _DARWIN_C_SOURCE
+-#endif
+ /* Enable GNU extensions on systems that have them.  */
+ #ifndef _GNU_SOURCE
+ # undef _GNU_SOURCE
+@@ -99,7 +95,6 @@ AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
+   test $ac_cv_safe_to_define___extensions__ = yes &&
+     AC_DEFINE([__EXTENSIONS__])
+   AC_DEFINE([_ALL_SOURCE])
+-  AC_DEFINE([_DARWIN_C_SOURCE])
+   AC_DEFINE([_GNU_SOURCE])
+   AC_DEFINE([_POSIX_PTHREAD_SEMANTICS])
+   AC_DEFINE([_TANDEM_SOURCE])
+diff -Naurp libiconv-1.14.org//srcm4/gnulib-cache.m4 libiconv-1.14/srcm4/gnulib-cache.m4
+--- libiconv-1.14.org//srcm4/gnulib-cache.m4	2011-08-07 06:42:11.000000000 -0700
++++ libiconv-1.14/srcm4/gnulib-cache.m4	2012-01-08 02:07:43.154484593 -0800
+@@ -15,7 +15,7 @@
+ 
+ 
+ # Specification in the form of a command-line invocation:
+-#   gnulib-tool --import --dir=. --local-dir=gnulib-local --lib=libicrt --source-base=srclib --m4-base=srcm4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --makefile-name=Makefile.gnulib --no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files binary-io error gettext gettext-h libiconv-misc mbstate memmove progname relocatable-prog safe-read sigpipe stdio stdlib strerror unistd uniwidth/width unlocked-io xalloc
++#   gnulib-tool --import --dir=. --local-dir=gnulib-local --lib=libicrt --source-base=srclib --m4-base=srcm4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --makefile-name=Makefile.gnulib --no-libtool --macro-prefix=gl --no-vc-files binary-io error gettext gettext-h libiconv-misc mbstate memmove progname relocatable relocatable-prog safe-read sigpipe stdio stdlib strerror unistd uniwidth/width unlocked-io xalloc
+ 
+ # Specification in the form of a few gnulib-tool.m4 macro invocations:
+ gl_LOCAL_DIR([gnulib-local])
+@@ -28,6 +28,7 @@ gl_MODULES([
+   mbstate
+   memmove
+   progname
++  relocatable
+   relocatable-prog
+   safe-read
+   sigpipe
+@@ -49,5 +50,4 @@ gl_LIB([libicrt])
+ gl_MAKEFILE_NAME([Makefile.gnulib])
+ gl_MACRO_PREFIX([gl])
+ gl_PO_DOMAIN([])
+-gl_WITNESS_C_DOMAIN([])
+ gl_VC_FILES([false])
+diff -Naurp libiconv-1.14.org//srcm4/gnulib-common.m4 libiconv-1.14/srcm4/gnulib-common.m4
+--- libiconv-1.14.org//srcm4/gnulib-common.m4	2011-08-07 06:42:07.000000000 -0700
++++ libiconv-1.14/srcm4/gnulib-common.m4	2012-01-08 02:07:40.634484471 -0800
+@@ -1,4 +1,4 @@
+-# gnulib-common.m4 serial 29
++# gnulib-common.m4 serial 24
+ dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -12,19 +12,6 @@ AC_DEFUN([gl_COMMON], [
+   AC_REQUIRE([gl_COMMON_BODY])
+ ])
+ AC_DEFUN([gl_COMMON_BODY], [
+-  AH_VERBATIM([_Noreturn],
+-[/* The _Noreturn keyword of draft C1X.  */
+-#ifndef _Noreturn
+-# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
+-      || 0x5110 <= __SUNPRO_C)
+-#  define _Noreturn __attribute__ ((__noreturn__))
+-# elif 1200 <= _MSC_VER
+-#  define _Noreturn __declspec (noreturn)
+-# else
+-#  define _Noreturn
+-# endif
+-#endif
+-])
+   AH_VERBATIM([isoc99_inline],
+ [/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports
+    the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of
+@@ -47,20 +34,6 @@ AC_DEFUN([gl_COMMON_BODY], [
+ /* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name
+    is a misnomer outside of parameter lists.  */
+ #define _UNUSED_PARAMETER_ _GL_UNUSED
+-
+-/* The __pure__ attribute was added in gcc 2.96.  */
+-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
+-# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+-#else
+-# define _GL_ATTRIBUTE_PURE /* empty */
+-#endif
+-
+-/* The __const__ attribute was added in gcc 2.95.  */
+-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
+-# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__))
+-#else
+-# define _GL_ATTRIBUTE_CONST /* empty */
+-#endif
+ ])
+   dnl Preparation for running test programs:
+   dnl Tell glibc to write diagnostics from -D_FORTIFY_SOURCE=2 to stderr, not
+@@ -74,49 +47,16 @@ AC_DEFUN([gl_COMMON_BODY], [
+ # expands to a C preprocessor expression that evaluates to 1 or 0, depending
+ # whether a gnulib module that has been requested shall be considered present
+ # or not.
+-m4_define([gl_MODULE_INDICATOR_CONDITION], [1])
++AC_DEFUN([gl_MODULE_INDICATOR_CONDITION], [1])
+ 
+ # gl_MODULE_INDICATOR_SET_VARIABLE([modulename])
+ # sets the shell variable that indicates the presence of the given module to
+ # a C preprocessor expression that will evaluate to 1.
+ AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE],
+ [
+-  gl_MODULE_INDICATOR_SET_VARIABLE_AUX(
+-    [GNULIB_[]m4_translit([[$1]],
+-                          [abcdefghijklmnopqrstuvwxyz./-],
+-                          [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])],
+-    [gl_MODULE_INDICATOR_CONDITION])
+-])
+-
+-# gl_MODULE_INDICATOR_SET_VARIABLE_AUX([variable])
+-# modifies the shell variable to include the gl_MODULE_INDICATOR_CONDITION.
+-# The shell variable's value is a C preprocessor expression that evaluates
+-# to 0 or 1.
+-AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE_AUX],
+-[
+-  m4_if(m4_defn([gl_MODULE_INDICATOR_CONDITION]), [1],
+-    [
+-     dnl Simplify the expression VALUE || 1 to 1.
+-     $1=1
+-    ],
+-    [gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR([$1],
+-                                             [gl_MODULE_INDICATOR_CONDITION])])
+-])
+-
+-# gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR([variable], [condition])
+-# modifies the shell variable to include the given condition.  The shell
+-# variable's value is a C preprocessor expression that evaluates to 0 or 1.
+-AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR],
+-[
+-  dnl Simplify the expression 1 || CONDITION to 1.
+-  if test "$[]$1" != 1; then
+-    dnl Simplify the expression 0 || CONDITION to CONDITION.
+-    if test "$[]$1" = 0; then
+-      $1=$2
+-    else
+-      $1="($[]$1 || $2)"
+-    fi
+-  fi
++  GNULIB_[]m4_translit([[$1]],
++    [abcdefghijklmnopqrstuvwxyz./-],
++    [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=gl_MODULE_INDICATOR_CONDITION
+ ])
+ 
+ # gl_MODULE_INDICATOR([modulename])
+@@ -211,35 +151,6 @@ m4_ifndef([AS_VAR_IF],
+ [m4_define([AS_VAR_IF],
+ [AS_IF([test x"AS_VAR_GET([$1])" = x""$2], [$3], [$4])])])
+ 
+-# gl_PROG_AR_RANLIB
+-# Determines the values for AR, ARFLAGS, RANLIB that fit with the compiler.
+-AC_DEFUN([gl_PROG_AR_RANLIB],
+-[
+-  dnl Minix 3 comes with two toolchains: The Amsterdam Compiler Kit compiler
+-  dnl as "cc", and GCC as "gcc". They have different object file formats and
+-  dnl library formats. In particular, the GNU binutils programs ar, ranlib
+-  dnl produce libraries that work only with gcc, not with cc.
+-  AC_REQUIRE([AC_PROG_CC])
+-  AC_EGREP_CPP([Amsterdam],
+-    [
+-#ifdef __ACK__
+-Amsterdam
+-#endif
+-    ],
+-    [AR='cc -c.a'
+-     ARFLAGS='-o'
+-     RANLIB=':'
+-    ],
+-    [dnl Use the Automake-documented default values for AR and ARFLAGS.
+-     AR='ar'
+-     ARFLAGS='cru'
+-     dnl Use the ranlib program if it is available.
+-     AC_PROG_RANLIB
+-    ])
+-  AC_SUBST([AR])
+-  AC_SUBST([ARFLAGS])
+-])
+-
+ # AC_PROG_MKDIR_P
+ # is a backport of autoconf-2.60's AC_PROG_MKDIR_P, with a fix
+ # for interoperability with automake-1.9.6 from autoconf-2.62.
+diff -Naurp libiconv-1.14.org//srcm4/gnulib-comp.m4 libiconv-1.14/srcm4/gnulib-comp.m4
+--- libiconv-1.14.org//srcm4/gnulib-comp.m4	2011-08-07 06:42:12.000000000 -0700
++++ libiconv-1.14/srcm4/gnulib-comp.m4	2012-01-08 02:07:43.922484630 -0800
+@@ -25,12 +25,14 @@ AC_DEFUN([gl_EARLY],
+   m4_pattern_allow([^gl_ES$])dnl a valid locale name
+   m4_pattern_allow([^gl_LIBOBJS$])dnl a variable
+   m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable
+-  AC_REQUIRE([gl_PROG_AR_RANLIB])
++  AC_REQUIRE([AC_PROG_RANLIB])
+   AC_REQUIRE([AM_PROG_CC_C_O])
+   # Code from module alloca-opt:
+   # Code from module allocator:
+   # Code from module areadlink:
++  # Code from module arg-nonnull:
+   # Code from module binary-io:
++  # Code from module c++defs:
+   # Code from module canonicalize-lgpl:
+   # Code from module careadlinkat:
+   # Code from module dosname:
+@@ -46,7 +48,6 @@ AC_DEFUN([gl_EARLY],
+   # Code from module havelib:
+   # Code from module include_next:
+   # Code from module intprops:
+-  # Code from module largefile:
+   # Code from module libiconv-misc:
+   # Code from module lstat:
+   # Code from module malloca:
+@@ -64,10 +65,6 @@ AC_DEFUN([gl_EARLY],
+   # Code from module signal:
+   # Code from module sigpipe:
+   # Code from module sigprocmask:
+-  # Code from module snippet/_Noreturn:
+-  # Code from module snippet/arg-nonnull:
+-  # Code from module snippet/c++defs:
+-  # Code from module snippet/warn-on-use:
+   # Code from module ssize_t:
+   # Code from module stat:
+   # Code from module stdbool:
+@@ -77,7 +74,6 @@ AC_DEFUN([gl_EARLY],
+   # Code from module stdlib:
+   # Code from module streq:
+   # Code from module strerror:
+-  # Code from module strerror-override:
+   # Code from module string:
+   # Code from module sys_stat:
+   # Code from module time:
+@@ -87,6 +83,7 @@ AC_DEFUN([gl_EARLY],
+   # Code from module uniwidth/width:
+   # Code from module unlocked-io:
+   # Code from module verify:
++  # Code from module warn-on-use:
+   # Code from module xalloc:
+   # Code from module xreadlink:
+ ])
+@@ -109,9 +106,6 @@ AC_DEFUN([gl_INIT],
+   gl_source_base='srclib'
+ gl_FUNC_ALLOCA
+ gl_CANONICALIZE_LGPL
+-if test $HAVE_CANONICALIZE_FILE_NAME = 0 || test $REPLACE_CANONICALIZE_FILE_NAME = 1; then
+-  AC_LIBOBJ([canonicalize-lgpl])
+-fi
+ gl_MODULE_INDICATOR([canonicalize-lgpl])
+ gl_STDLIB_MODULE_INDICATOR([canonicalize_file_name])
+ gl_STDLIB_MODULE_INDICATOR([realpath])
+@@ -121,10 +115,6 @@ gl_ENVIRON
+ gl_UNISTD_MODULE_INDICATOR([environ])
+ gl_HEADER_ERRNO_H
+ gl_ERROR
+-if test $ac_cv_lib_error_at_line = no; then
+-  AC_LIBOBJ([error])
+-  gl_PREREQ_ERROR
+-fi
+ m4_ifdef([AM_XGETTEXT_OPTION],
+   [AM_][XGETTEXT_OPTION([--flag=error:3:c-format])
+    AM_][XGETTEXT_OPTION([--flag=error_at_line:5:c-format])])
+@@ -134,43 +124,26 @@ AM_GNU_GETTEXT_VERSION([0.18.1])
+ AC_SUBST([LIBINTL])
+ AC_SUBST([LTLIBINTL])
+ gl_FUNC_LSTAT
+-if test $REPLACE_LSTAT = 1; then
+-  AC_LIBOBJ([lstat])
+-  gl_PREREQ_LSTAT
+-fi
+ gl_SYS_STAT_MODULE_INDICATOR([lstat])
+ gl_MALLOCA
+ AC_TYPE_MBSTATE_T
+ gl_FUNC_MEMMOVE
+-if test $ac_cv_func_memmove = no; then
+-  AC_LIBOBJ([memmove])
+-  gl_PREREQ_MEMMOVE
+-fi
+ gl_MULTIARCH
+ gl_PATHMAX
+ AC_CHECK_DECLS([program_invocation_name], [], [], [#include <errno.h>])
+ AC_CHECK_DECLS([program_invocation_short_name], [], [], [#include <errno.h>])
+ gl_FUNC_READ
+-if test $REPLACE_READ = 1; then
+-  AC_LIBOBJ([read])
+-fi
+ gl_UNISTD_MODULE_INDICATOR([read])
+ gl_FUNC_READLINK
+-if test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1; then
+-  AC_LIBOBJ([readlink])
+-  gl_PREREQ_READLINK
+-fi
+ gl_UNISTD_MODULE_INDICATOR([readlink])
+ gl_RELOCATABLE([$gl_source_base])
+-if test $RELOCATABLE = yes; then
+-  AC_LIBOBJ([progreloc])
+-fi
+ gl_FUNC_READLINK_SEPARATE
+ gl_CANONICALIZE_LGPL_SEPARATE
+ gl_MALLOCA
+-gl_RELOCATABLE_LIBRARY
++gl_RELOCATABLE_LIBRARY_SEPARATE
+ gl_FUNC_SETENV_SEPARATE
+-gl_PREREQ_SAFE_READ
++gl_FUNC_STRERROR_SEPARATE
++gl_SAFE_READ
+ gl_SIGNAL_H
+ gl_SIGNAL_SIGPIPE
+ dnl Define the C macro GNULIB_SIGPIPE to 1.
+@@ -186,17 +159,9 @@ dnl Define the substituted variable GNUL
+ AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+ GNULIB_UNISTD_H_SIGPIPE=1
+ gl_SIGNALBLOCKING
+-if test $HAVE_POSIX_SIGNALBLOCKING = 0; then
+-  AC_LIBOBJ([sigprocmask])
+-  gl_PREREQ_SIGPROCMASK
+-fi
+ gl_SIGNAL_MODULE_INDICATOR([sigprocmask])
+ gt_TYPE_SSIZE_T
+ gl_FUNC_STAT
+-if test $REPLACE_STAT = 1; then
+-  AC_LIBOBJ([stat])
+-  gl_PREREQ_STAT
+-fi
+ gl_SYS_STAT_MODULE_INDICATOR([stat])
+ AM_STDBOOL_H
+ gl_STDDEF_H
+@@ -204,17 +169,7 @@ gl_STDINT_H
+ gl_STDIO_H
+ gl_STDLIB_H
+ gl_FUNC_STRERROR
+-if test $REPLACE_STRERROR = 1; then
+-  AC_LIBOBJ([strerror])
+-fi
+-gl_MODULE_INDICATOR([strerror])
+ gl_STRING_MODULE_INDICATOR([strerror])
+-AC_REQUIRE([gl_HEADER_ERRNO_H])
+-AC_REQUIRE([gl_FUNC_STRERROR_0])
+-if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then
+-  AC_LIBOBJ([strerror-override])
+-  gl_PREREQ_SYS_H_WINSOCK2
+-fi
+ gl_HEADER_STRING_H
+ gl_HEADER_SYS_STAT_H
+ AC_PROG_MKDIR_P
+@@ -364,14 +319,13 @@ AC_DEFUN([gltests_LIBSOURCES], [
+ # This macro records the list of files which have been installed by
+ # gnulib-tool and may be removed by future gnulib-tool invocations.
+ AC_DEFUN([gl_FILE_LIST], [
++  build-aux/arg-nonnull.h
++  build-aux/c++defs.h
+   build-aux/config.libpath
+   build-aux/config.rpath
+   build-aux/install-reloc
+   build-aux/reloc-ldflags
+-  build-aux/snippet/_Noreturn.h
+-  build-aux/snippet/arg-nonnull.h
+-  build-aux/snippet/c++defs.h
+-  build-aux/snippet/warn-on-use.h
++  build-aux/warn-on-use.h
+   doc/relocatable.texi
+   lib/alloca.in.h
+   lib/allocator.c
+@@ -419,8 +373,6 @@ AC_DEFUN([gl_FILE_LIST], [
+   lib/stdio.in.h
+   lib/stdlib.in.h
+   lib/streq.h
+-  lib/strerror-override.c
+-  lib/strerror-override.h
+   lib/strerror.c
+   lib/string.in.h
+   lib/sys_stat.in.h
+@@ -463,7 +415,6 @@ AC_DEFUN([gl_FILE_LIST], [
+   m4/intmax.m4
+   m4/inttypes-pri.m4
+   m4/inttypes_h.m4
+-  m4/largefile.m4
+   m4/lcmessage.m4
+   m4/lib-ld.m4
+   m4/lib-link.m4
+@@ -502,7 +453,6 @@ AC_DEFUN([gl_FILE_LIST], [
+   m4/stdlib_h.m4
+   m4/strerror.m4
+   m4/string_h.m4
+-  m4/sys_socket_h.m4
+   m4/sys_stat_h.m4
+   m4/threadlib.m4
+   m4/time_h.m4
+diff -Naurp libiconv-1.14.org//srcm4/include_next.m4 libiconv-1.14/srcm4/include_next.m4
+--- libiconv-1.14.org//srcm4/include_next.m4	2011-08-07 06:42:07.000000000 -0700
++++ libiconv-1.14/srcm4/include_next.m4	2012-01-08 02:07:40.650484472 -0800
+@@ -1,4 +1,4 @@
+-# include_next.m4 serial 20
++# include_next.m4 serial 18
+ dnl Copyright (C) 2006-2011 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -175,13 +175,11 @@ AC_DEFUN([gl_NEXT_HEADERS_INTERNAL],
+     [AC_CHECK_HEADERS_ONCE([$1])
+     ])
+ 
+-dnl FIXME: gl_next_header and gl_header_exists must be used unquoted
+-dnl until we can assume autoconf 2.64 or newer.
+   m4_foreach_w([gl_HEADER_NAME], [$1],
+     [AS_VAR_PUSHDEF([gl_next_header],
+                     [gl_cv_next_]m4_defn([gl_HEADER_NAME]))
+      if test $gl_cv_have_include_next = yes; then
+-       AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>'])
++       AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>'])
+      else
+        AC_CACHE_CHECK(
+          [absolute name of <]m4_defn([gl_HEADER_NAME])[>],
+@@ -210,7 +208,7 @@ dnl until we can assume autoconf 2.64 or
+                dnl eval is necessary to expand gl_absname_cpp.
+                dnl Ultrix and Pyramid sh refuse to redirect output of eval,
+                dnl so use subshell.
+-               AS_VAR_SET(gl_next_header,
++               AS_VAR_SET([gl_next_header],
+                  ['"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD |
+                   sed -n '\#/]m4_defn([gl_HEADER_NAME])[#{
+                     s#.*"\(.*/]m4_defn([gl_HEADER_NAME])[\)".*#\1#
+@@ -220,20 +218,20 @@ dnl until we can assume autoconf 2.64 or
+                   }'`'"'])
+           m4_if([$2], [check],
+             [else
+-               AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>'])
++               AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>'])
+              fi
+             ])
+          ])
+      fi
+      AC_SUBST(
+        AS_TR_CPP([NEXT_]m4_defn([gl_HEADER_NAME])),
+-       [AS_VAR_GET(gl_next_header)])
++       [AS_VAR_GET([gl_next_header])])
+      if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+        # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+        gl_next_as_first_directive='<'gl_HEADER_NAME'>'
+      else
+        # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+-       gl_next_as_first_directive=AS_VAR_GET(gl_next_header)
++       gl_next_as_first_directive=AS_VAR_GET([gl_next_header])
+      fi
+      AC_SUBST(
+        AS_TR_CPP([NEXT_AS_FIRST_DIRECTIVE_]m4_defn([gl_HEADER_NAME])),
+diff -Naurp libiconv-1.14.org//srcm4/largefile.m4 libiconv-1.14/srcm4/largefile.m4
+--- libiconv-1.14.org//srcm4/largefile.m4	2011-08-07 06:42:07.000000000 -0700
++++ libiconv-1.14/srcm4/largefile.m4	1969-12-31 16:00:00.000000000 -0800
+@@ -1,104 +0,0 @@
+-# Enable large files on systems where this is not the default.
+-
+-# Copyright 1992-1996, 1998-2011 Free Software Foundation, Inc.
+-# This file is free software; the Free Software Foundation
+-# gives unlimited permission to copy and/or distribute it,
+-# with or without modifications, as long as this notice is preserved.
+-
+-# The following implementation works around a problem in autoconf <= 2.68;
+-# AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5.
+-m4_version_prereq([2.69], [] ,[
+-
+-# _AC_SYS_LARGEFILE_TEST_INCLUDES
+-# -------------------------------
+-m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES],
+-[@%:@include <sys/types.h>
+- /* Check that off_t can represent 2**63 - 1 correctly.
+-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+-    since some C++ compilers masquerading as C compilers
+-    incorrectly reject 9223372036854775807.  */
+-@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+-  int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721
+-		       && LARGE_OFF_T % 2147483647 == 1)
+-		      ? 1 : -1]];[]dnl
+-])
+-
+-
+-# _AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE,
+-#				CACHE-VAR,
+-#				DESCRIPTION,
+-#				PROLOGUE, [FUNCTION-BODY])
+-# --------------------------------------------------------
+-m4_define([_AC_SYS_LARGEFILE_MACRO_VALUE],
+-[AC_CACHE_CHECK([for $1 value needed for large files], [$3],
+-[while :; do
+-  m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])(
+-    [AC_LANG_PROGRAM([$5], [$6])],
+-    [$3=no; break])
+-  m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])(
+-    [AC_LANG_PROGRAM([@%:@define $1 $2
+-$5], [$6])],
+-    [$3=$2; break])
+-  $3=unknown
+-  break
+-done])
+-case $$3 in #(
+-  no | unknown) ;;
+-  *) AC_DEFINE_UNQUOTED([$1], [$$3], [$4]);;
+-esac
+-rm -rf conftest*[]dnl
+-])# _AC_SYS_LARGEFILE_MACRO_VALUE
+-
+-
+-# AC_SYS_LARGEFILE
+-# ----------------
+-# By default, many hosts won't let programs access large files;
+-# one must use special compiler options to get large-file access to work.
+-# For more details about this brain damage please see:
+-# http://www.unix-systems.org/version2/whatsnew/lfs20mar.html
+-AC_DEFUN([AC_SYS_LARGEFILE],
+-[AC_ARG_ENABLE(largefile,
+-	       [  --disable-largefile     omit support for large files])
+-if test "$enable_largefile" != no; then
+-
+-  AC_CACHE_CHECK([for special C compiler options needed for large files],
+-    ac_cv_sys_largefile_CC,
+-    [ac_cv_sys_largefile_CC=no
+-     if test "$GCC" != yes; then
+-       ac_save_CC=$CC
+-       while :; do
+-	 # IRIX 6.2 and later do not support large files by default,
+-	 # so use the C compiler's -n32 option if that helps.
+-	 AC_LANG_CONFTEST([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_INCLUDES])])
+-	 AC_COMPILE_IFELSE([], [break])
+-	 CC="$CC -n32"
+-	 AC_COMPILE_IFELSE([], [ac_cv_sys_largefile_CC=' -n32'; break])
+-	 break
+-       done
+-       CC=$ac_save_CC
+-       rm -f conftest.$ac_ext
+-    fi])
+-  if test "$ac_cv_sys_largefile_CC" != no; then
+-    CC=$CC$ac_cv_sys_largefile_CC
+-  fi
+-
+-  _AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, 64,
+-    ac_cv_sys_file_offset_bits,
+-    [Number of bits in a file offset, on hosts where this is settable.],
+-    [_AC_SYS_LARGEFILE_TEST_INCLUDES])
+-  if test $ac_cv_sys_file_offset_bits = unknown; then
+-    _AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, 1,
+-      ac_cv_sys_large_files,
+-      [Define for large files, on AIX-style hosts.],
+-      [_AC_SYS_LARGEFILE_TEST_INCLUDES])
+-  fi
+-
+-  AH_VERBATIM([_DARWIN_USE_64_BIT_INODE],
+-[/* Enable large inode numbers on Mac OS X.  */
+-#ifndef _DARWIN_USE_64_BIT_INODE
+-# define _DARWIN_USE_64_BIT_INODE 1
+-#endif])
+-fi
+-])# AC_SYS_LARGEFILE
+-
+-])# m4_version_prereq 2.69
+diff -Naurp libiconv-1.14.org//srcm4/lstat.m4 libiconv-1.14/srcm4/lstat.m4
+--- libiconv-1.14.org//srcm4/lstat.m4	2011-08-07 06:42:07.000000000 -0700
++++ libiconv-1.14/srcm4/lstat.m4	2012-01-08 02:07:40.722484476 -0800
+@@ -1,4 +1,4 @@
+-# serial 23
++# serial 21
+ 
+ # Copyright (C) 1997-2001, 2003-2011 Free Software Foundation, Inc.
+ #
+@@ -15,28 +15,24 @@ AC_DEFUN([gl_FUNC_LSTAT],
+   dnl "#define lstat stat", and lstat.c is a no-op.
+   AC_CHECK_FUNCS_ONCE([lstat])
+   if test $ac_cv_func_lstat = yes; then
+-    AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
+-    if test $gl_cv_func_lstat_dereferences_slashed_symlink = no; then
++    AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
++    if test $ac_cv_func_lstat_dereferences_slashed_symlink = no; then
++      dnl Note: AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK does AC_LIBOBJ([lstat]).
+       REPLACE_LSTAT=1
+     fi
++    # Prerequisites of lib/lstat.c.
++    AC_REQUIRE([AC_C_INLINE])
+   else
+     HAVE_LSTAT=0
+   fi
+ ])
+ 
+-# Prerequisites of lib/lstat.c.
+-AC_DEFUN([gl_PREREQ_LSTAT],
++# Redefine AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, because it is no longer
++# maintained in Autoconf.
++AC_DEFUN([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK],
+ [
+-  AC_REQUIRE([AC_C_INLINE])
+-  :
+-])
+-
+-AC_DEFUN([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK],
+-[
+-  dnl We don't use AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK any more, because it
+-  dnl is no longer maintained in Autoconf and because it invokes AC_LIBOBJ.
+   AC_CACHE_CHECK([whether lstat correctly handles trailing slash],
+-    [gl_cv_func_lstat_dereferences_slashed_symlink],
++    [ac_cv_func_lstat_dereferences_slashed_symlink],
+     [rm -f conftest.sym conftest.file
+      echo >conftest.file
+      if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then
+@@ -49,22 +45,25 @@ AC_DEFUN([gl_FUNC_LSTAT_FOLLOWS_SLASHED_
+                  have to compile and use the lstat wrapper.  */
+               return lstat ("conftest.sym/", &sbuf) == 0;
+             ]])],
+-         [gl_cv_func_lstat_dereferences_slashed_symlink=yes],
+-         [gl_cv_func_lstat_dereferences_slashed_symlink=no],
++         [ac_cv_func_lstat_dereferences_slashed_symlink=yes],
++         [ac_cv_func_lstat_dereferences_slashed_symlink=no],
+          [# When cross-compiling, be pessimistic so we will end up using the
+           # replacement version of lstat that checks for trailing slashes and
+           # calls lstat a second time when necessary.
+-          gl_cv_func_lstat_dereferences_slashed_symlink=no
++          ac_cv_func_lstat_dereferences_slashed_symlink=no
+          ])
+      else
+        # If the 'ln -s' command failed, then we probably don't even
+        # have an lstat function.
+-       gl_cv_func_lstat_dereferences_slashed_symlink=no
++       ac_cv_func_lstat_dereferences_slashed_symlink=no
+      fi
+      rm -f conftest.sym conftest.file
+     ])
+-  test $gl_cv_func_lstat_dereferences_slashed_symlink = yes &&
++  test $ac_cv_func_lstat_dereferences_slashed_symlink = yes &&
+     AC_DEFINE_UNQUOTED([LSTAT_FOLLOWS_SLASHED_SYMLINK], [1],
+       [Define to 1 if `lstat' dereferences a symlink specified
+        with a trailing slash.])
++  if test "x$ac_cv_func_lstat_dereferences_slashed_symlink" = xno; then
++    AC_LIBOBJ([lstat])
++  fi
+ ])
+diff -Naurp libiconv-1.14.org//srcm4/memmove.m4 libiconv-1.14/srcm4/memmove.m4
+--- libiconv-1.14.org//srcm4/memmove.m4	2011-08-07 06:42:07.000000000 -0700
++++ libiconv-1.14/srcm4/memmove.m4	2012-01-08 02:07:40.738484477 -0800
+@@ -1,4 +1,4 @@
+-# memmove.m4 serial 4
++# memmove.m4 serial 3
+ dnl Copyright (C) 2002, 2009-2011 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -6,7 +6,10 @@ dnl with or without modifications, as lo
+ 
+ AC_DEFUN([gl_FUNC_MEMMOVE],
+ [
+-  AC_CHECK_FUNCS([memmove])
++  AC_REPLACE_FUNCS([memmove])
++  if test $ac_cv_func_memmove = no; then
++    gl_PREREQ_MEMMOVE
++  fi
+ ])
+ 
+ # Prerequisites of lib/memmove.c.
+diff -Naurp libiconv-1.14.org//srcm4/pathmax.m4 libiconv-1.14/srcm4/pathmax.m4
+--- libiconv-1.14.org//srcm4/pathmax.m4	2011-08-07 06:42:07.000000000 -0700
++++ libiconv-1.14/srcm4/pathmax.m4	2012-01-08 02:07:40.758484478 -0800
+@@ -1,4 +1,4 @@
+-# pathmax.m4 serial 9
++# pathmax.m4 serial 8
+ dnl Copyright (C) 2002-2003, 2005-2006, 2009-2011 Free Software Foundation,
+ dnl Inc.
+ dnl This file is free software; the Free Software Foundation
+@@ -8,5 +8,6 @@ dnl with or without modifications, as lo
+ AC_DEFUN([gl_PATHMAX],
+ [
+   dnl Prerequisites of lib/pathmax.h.
++  AC_CHECK_FUNCS_ONCE([pathconf])
+   AC_CHECK_HEADERS_ONCE([sys/param.h])
+ ])
+diff -Naurp libiconv-1.14.org//srcm4/po.m4 libiconv-1.14/srcm4/po.m4
+--- libiconv-1.14.org//srcm4/po.m4	2011-08-07 06:42:07.000000000 -0700
++++ libiconv-1.14/srcm4/po.m4	2012-01-08 02:07:40.766484477 -0800
+@@ -1,4 +1,4 @@
+-# po.m4 serial 17a
++# po.m4 serial 17 (gettext-0.18)
+ dnl Copyright (C) 1995-2011 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -118,8 +118,7 @@ changequote([,])dnl
+         if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+           rm -f "$ac_dir/POTFILES"
+           test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+-          gt_tab=`printf '\t'`
+-          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
++          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ 	]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+           POMAKEFILEDEPS="POTFILES.in"
+           # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
+           # on $ac_dir but don't depend on user-specified configuration
+@@ -255,7 +254,6 @@ EOT
+   fi
+ 
+   # A sed script that extracts the value of VARIABLE from a Makefile.
+-  tab=`printf '\t'`
+   sed_x_variable='
+ # Test if the hold space is empty.
+ x
+@@ -263,9 +261,9 @@ s/P/P/
+ x
+ ta
+ # Yes it was empty. Look if we have the expected variable definition.
+-/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=/{
++/^[	 ]*VARIABLE[	 ]*=/{
+   # Seen the first line of the variable definition.
+-  s/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=//
++  s/^[	 ]*VARIABLE[	 ]*=//
+   ba
+ }
+ bd
+@@ -407,15 +405,14 @@ changequote([,])dnl
+   fi
+ 
+   sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
+-  tab=`printf '\t'`
+   if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
+     # Add dependencies that cannot be formulated as a simple suffix rule.
+     for lang in $ALL_LINGUAS; do
+       frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+       cat >> "$ac_file.tmp" <<EOF
+ $frobbedlang.msg: $lang.po
+-${tab}@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
+-${tab}\$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
++	@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
++	\$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+ EOF
+     done
+   fi
+@@ -425,8 +422,8 @@ EOF
+       frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+       cat >> "$ac_file.tmp" <<EOF
+ $frobbedlang/\$(DOMAIN).resources.dll: $lang.po
+-${tab}@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
+-${tab}\$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
++	@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
++	\$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+ EOF
+     done
+   fi
+diff -Naurp libiconv-1.14.org//srcm4/readlink.m4 libiconv-1.14/srcm4/readlink.m4
+--- libiconv-1.14.org//srcm4/readlink.m4	2011-08-07 06:42:07.000000000 -0700
++++ libiconv-1.14/srcm4/readlink.m4	2012-01-08 02:07:40.790484479 -0800
+@@ -1,4 +1,4 @@
+-# readlink.m4 serial 11
++# readlink.m4 serial 10
+ dnl Copyright (C) 2003, 2007, 2009-2011 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -10,6 +10,8 @@ AC_DEFUN([gl_FUNC_READLINK],
+   AC_CHECK_FUNCS_ONCE([readlink])
+   if test $ac_cv_func_readlink = no; then
+     HAVE_READLINK=0
++    AC_LIBOBJ([readlink])
++    gl_PREREQ_READLINK
+   else
+     AC_CACHE_CHECK([whether readlink signature is correct],
+       [gl_cv_decl_readlink_works],
+@@ -38,8 +40,10 @@ AC_DEFUN([gl_FUNC_READLINK],
+       AC_DEFINE([READLINK_TRAILING_SLASH_BUG], [1], [Define to 1 if readlink
+         fails to recognize a trailing slash.])
+       REPLACE_READLINK=1
++      AC_LIBOBJ([readlink])
+     elif test "$gl_cv_decl_readlink_works" != yes; then
+       REPLACE_READLINK=1
++      AC_LIBOBJ([readlink])
+     fi
+   fi
+ ])
+diff -Naurp libiconv-1.14.org//srcm4/read.m4 libiconv-1.14/srcm4/read.m4
+--- libiconv-1.14.org//srcm4/read.m4	2011-08-07 06:42:07.000000000 -0700
++++ libiconv-1.14/srcm4/read.m4	2012-01-08 02:07:40.782484478 -0800
+@@ -1,4 +1,4 @@
+-# read.m4 serial 2
++# read.m4 serial 1
+ dnl Copyright (C) 2011 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -14,6 +14,7 @@ AC_DEFUN([gl_FUNC_READ],
+     gl_NONBLOCKING_IO
+     if test $gl_cv_have_nonblocking != yes; then
+       REPLACE_READ=1
++      AC_LIBOBJ([read])
+     fi
+   ])
+ ])
+diff -Naurp libiconv-1.14.org//srcm4/relocatable-lib.m4 libiconv-1.14/srcm4/relocatable-lib.m4
+--- libiconv-1.14.org//srcm4/relocatable-lib.m4	2011-08-07 06:42:07.000000000 -0700
++++ libiconv-1.14/srcm4/relocatable-lib.m4	2012-01-08 02:07:40.798484480 -0800
+@@ -1,4 +1,4 @@
+-# relocatable-lib.m4 serial 6
++# relocatable-lib.m4 serial 5
+ dnl Copyright (C) 2003, 2005-2007, 2009-2011 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -10,6 +10,9 @@ dnl Support for relocatable libraries.
+ AC_DEFUN([gl_RELOCATABLE_LIBRARY],
+ [
+   AC_REQUIRE([gl_RELOCATABLE_LIBRARY_BODY])
++  if test $RELOCATABLE = yes; then
++    AC_LIBOBJ([relocatable])
++  fi
+ ])
+ AC_DEFUN([gl_RELOCATABLE_LIBRARY_BODY],
+ [
+@@ -29,6 +32,13 @@ AC_DEFUN([gl_RELOCATABLE_LIBRARY_BODY],
+   fi
+ ])
+ 
++dnl Like gl_RELOCATABLE_LIBRARY, except prepare for separate compilation
++dnl (no AC_LIBOBJ).
++AC_DEFUN([gl_RELOCATABLE_LIBRARY_SEPARATE],
++[
++  AC_REQUIRE([gl_RELOCATABLE_LIBRARY_BODY])
++])
++
+ dnl Support for relocatable packages for which it is a nop.
+ AC_DEFUN([gl_RELOCATABLE_NOP],
+ [
+diff -Naurp libiconv-1.14.org//srcm4/relocatable.m4 libiconv-1.14/srcm4/relocatable.m4
+--- libiconv-1.14.org//srcm4/relocatable.m4	2011-08-07 06:42:07.000000000 -0700
++++ libiconv-1.14/srcm4/relocatable.m4	2012-01-08 02:07:40.802484479 -0800
+@@ -1,4 +1,4 @@
+-# relocatable.m4 serial 17
++# relocatable.m4 serial 16
+ dnl Copyright (C) 2003, 2005-2007, 2009-2011 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -14,6 +14,9 @@ AC_DEFUN([gl_RELOCATABLE],
+ [
+   AC_REQUIRE([gl_RELOCATABLE_BODY])
+   gl_RELOCATABLE_LIBRARY
++  if test $RELOCATABLE = yes; then
++    AC_LIBOBJ([progreloc])
++  fi
+   : ${RELOCATABLE_CONFIG_H_DIR='$(top_builddir)'}
+   RELOCATABLE_SRC_DIR="\$(top_srcdir)/$gl_source_base"
+   RELOCATABLE_BUILD_DIR="\$(top_builddir)/$gl_source_base"
+diff -Naurp libiconv-1.14.org//srcm4/safe-read.m4 libiconv-1.14/srcm4/safe-read.m4
+--- libiconv-1.14.org//srcm4/safe-read.m4	2011-08-07 06:42:07.000000000 -0700
++++ libiconv-1.14/srcm4/safe-read.m4	2012-01-08 02:07:40.810484480 -0800
+@@ -1,10 +1,17 @@
+-# safe-read.m4 serial 6
++# safe-read.m4 serial 5
+ dnl Copyright (C) 2002-2003, 2005-2006, 2009-2011 Free Software Foundation,
+ dnl 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.
+ 
++AC_DEFUN([gl_SAFE_READ],
++[
++  AC_LIBOBJ([safe-read])
++
++  gl_PREREQ_SAFE_READ
++])
++
+ # Prerequisites of lib/safe-read.c.
+ AC_DEFUN([gl_PREREQ_SAFE_READ],
+ [
+diff -Naurp libiconv-1.14.org//srcm4/setenv.m4 libiconv-1.14/srcm4/setenv.m4
+--- libiconv-1.14.org//srcm4/setenv.m4	2011-08-07 06:42:07.000000000 -0700
++++ libiconv-1.14/srcm4/setenv.m4	2012-01-08 02:07:40.818484481 -0800
+@@ -1,4 +1,4 @@
+-# setenv.m4 serial 24
++# setenv.m4 serial 22
+ dnl Copyright (C) 2001-2004, 2006-2011 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -38,6 +38,9 @@ AC_DEFUN([gl_FUNC_SETENV],
+       REPLACE_SETENV=1
+     fi
+   fi
++  if test $HAVE_SETENV$REPLACE_SETENV != 10; then
++    AC_LIBOBJ([setenv])
++  fi
+ ])
+ 
+ # Like gl_FUNC_SETENV, except prepare for separate compilation
+@@ -62,9 +65,9 @@ AC_DEFUN([gl_FUNC_UNSETENV],
+   fi
+   AC_CHECK_FUNCS([unsetenv])
+   if test $ac_cv_func_unsetenv = no; then
+-    HAVE_UNSETENV=0
++    AC_LIBOBJ([unsetenv])
++    gl_PREREQ_UNSETENV
+   else
+-    HAVE_UNSETENV=1
+     dnl Some BSDs return void, failing to do error checking.
+     AC_CACHE_CHECK([for unsetenv() return type], [gt_cv_func_unsetenv_ret],
+       [AC_COMPILE_IFELSE(
+@@ -90,6 +93,7 @@ int unsetenv();
+       AC_DEFINE([VOID_UNSETENV], [1], [Define to 1 if unsetenv returns void
+        instead of int.])
+       REPLACE_UNSETENV=1
++      AC_LIBOBJ([unsetenv])
+     fi
+ 
+     dnl Solaris 10 unsetenv does not remove all copies of a name.
+@@ -122,6 +126,7 @@ int unsetenv();
+       [gl_cv_func_unsetenv_works="guessing no"])])
+     if test "$gl_cv_func_unsetenv_works" != yes; then
+       REPLACE_UNSETENV=1
++      AC_LIBOBJ([unsetenv])
+     fi
+   fi
+ ])
+diff -Naurp libiconv-1.14.org//srcm4/signalblocking.m4 libiconv-1.14/srcm4/signalblocking.m4
+--- libiconv-1.14.org//srcm4/signalblocking.m4	2011-08-07 06:42:07.000000000 -0700
++++ libiconv-1.14/srcm4/signalblocking.m4	2012-01-08 02:07:40.834484482 -0800
+@@ -1,4 +1,4 @@
+-# signalblocking.m4 serial 12
++# signalblocking.m4 serial 10
+ dnl Copyright (C) 2001-2002, 2006-2011 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -12,14 +12,31 @@ dnl with or without modifications, as lo
+ AC_DEFUN([gl_SIGNALBLOCKING],
+ [
+   AC_REQUIRE([gl_SIGNAL_H_DEFAULTS])
+-  AC_REQUIRE([gl_CHECK_TYPE_SIGSET_T])
+-  if test $gl_cv_type_sigset_t = yes; then
++  signals_not_posix=
++  AC_EGREP_HEADER([sigset_t], [signal.h], , [signals_not_posix=1])
++  if test -z "$signals_not_posix"; then
+     AC_CHECK_FUNC([sigprocmask], [gl_cv_func_sigprocmask=1])
+   fi
+   if test -z "$gl_cv_func_sigprocmask"; then
+     HAVE_POSIX_SIGNALBLOCKING=0
++    AC_LIBOBJ([sigprocmask])
++    gl_PREREQ_SIGPROCMASK
+   fi
+ ])
+ 
+-# Prerequisites of lib/sigprocmask.c.
+-AC_DEFUN([gl_PREREQ_SIGPROCMASK], [:])
++# Prerequisites of the part of lib/signal.in.h and of lib/sigprocmask.c.
++AC_DEFUN([gl_PREREQ_SIGPROCMASK],
++[
++  AC_REQUIRE([gl_SIGNAL_H_DEFAULTS])
++  AC_CHECK_TYPES([sigset_t],
++    [gl_cv_type_sigset_t=yes], [gl_cv_type_sigset_t=no],
++    [#include <signal.h>
++/* Mingw defines sigset_t not in <signal.h>, but in <sys/types.h>.  */
++#include <sys/types.h>])
++  if test $gl_cv_type_sigset_t != yes; then
++    HAVE_SIGSET_T=0
++  fi
++  dnl HAVE_SIGSET_T is 1 if the system lacks the sigprocmask function but has
++  dnl the sigset_t type.
++  AC_SUBST([HAVE_SIGSET_T])
++])
+diff -Naurp libiconv-1.14.org//srcm4/signal_h.m4 libiconv-1.14/srcm4/signal_h.m4
+--- libiconv-1.14.org//srcm4/signal_h.m4	2011-08-07 06:42:07.000000000 -0700
++++ libiconv-1.14/srcm4/signal_h.m4	2012-01-08 02:07:40.826484480 -0800
+@@ -1,4 +1,4 @@
+-# signal_h.m4 serial 16
++# signal_h.m4 serial 12
+ dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -7,7 +7,6 @@ dnl with or without modifications, as lo
+ AC_DEFUN([gl_SIGNAL_H],
+ [
+   AC_REQUIRE([gl_SIGNAL_H_DEFAULTS])
+-  AC_REQUIRE([gl_CHECK_TYPE_SIGSET_T])
+   gl_NEXT_HEADERS([signal.h])
+ 
+ # AIX declares sig_atomic_t to already include volatile, and C89 compilers
+@@ -28,25 +27,10 @@ AC_DEFUN([gl_SIGNAL_H],
+   dnl Check for declarations of anything we want to poison if the
+   dnl corresponding gnulib module is not in use.
+   gl_WARN_ON_USE_PREPARE([[#include <signal.h>
+-    ]], [pthread_sigmask sigaction
+-    sigaddset sigdelset sigemptyset sigfillset sigismember
++    ]], [sigaction sigaddset sigdelset sigemptyset sigfillset sigismember
+     sigpending sigprocmask])
+ ])
+ 
+-AC_DEFUN([gl_CHECK_TYPE_SIGSET_T],
+-[
+-  AC_CHECK_TYPES([sigset_t],
+-    [gl_cv_type_sigset_t=yes], [gl_cv_type_sigset_t=no],
+-    [[
+-      #include <signal.h>
+-      /* Mingw defines sigset_t not in <signal.h>, but in <sys/types.h>.  */
+-      #include <sys/types.h>
+-    ]])
+-  if test $gl_cv_type_sigset_t != yes; then
+-    HAVE_SIGSET_T=0
+-  fi
+-])
+-
+ AC_DEFUN([gl_SIGNAL_MODULE_INDICATOR],
+ [
+   dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+@@ -58,13 +42,11 @@ AC_DEFUN([gl_SIGNAL_MODULE_INDICATOR],
+ 
+ AC_DEFUN([gl_SIGNAL_H_DEFAULTS],
+ [
+-  GNULIB_PTHREAD_SIGMASK=0;    AC_SUBST([GNULIB_PTHREAD_SIGMASK])
+   GNULIB_SIGNAL_H_SIGPIPE=0;   AC_SUBST([GNULIB_SIGNAL_H_SIGPIPE])
+   GNULIB_SIGPROCMASK=0;        AC_SUBST([GNULIB_SIGPROCMASK])
+   GNULIB_SIGACTION=0;          AC_SUBST([GNULIB_SIGACTION])
+   dnl Assume proper GNU behavior unless another module says otherwise.
+   HAVE_POSIX_SIGNALBLOCKING=1; AC_SUBST([HAVE_POSIX_SIGNALBLOCKING])
+-  HAVE_PTHREAD_SIGMASK=1;      AC_SUBST([HAVE_PTHREAD_SIGMASK])
+   HAVE_SIGSET_T=1;             AC_SUBST([HAVE_SIGSET_T])
+   HAVE_SIGINFO_T=1;            AC_SUBST([HAVE_SIGINFO_T])
+   HAVE_SIGACTION=1;            AC_SUBST([HAVE_SIGACTION])
+@@ -73,5 +55,4 @@ AC_DEFUN([gl_SIGNAL_H_DEFAULTS],
+   HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=1;
+                                AC_SUBST([HAVE_TYPE_VOLATILE_SIG_ATOMIC_T])
+   HAVE_SIGHANDLER_T=1;         AC_SUBST([HAVE_SIGHANDLER_T])
+-  REPLACE_PTHREAD_SIGMASK=0;   AC_SUBST([REPLACE_PTHREAD_SIGMASK])
+ ])
+diff -Naurp libiconv-1.14.org//srcm4/stat.m4 libiconv-1.14/srcm4/stat.m4
+--- libiconv-1.14.org//srcm4/stat.m4	2011-08-07 06:42:07.000000000 -0700
++++ libiconv-1.14/srcm4/stat.m4	2012-01-08 02:07:40.854484483 -0800
+@@ -1,4 +1,4 @@
+-# serial 8
++# serial 7
+ 
+ # Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ #
+@@ -58,11 +58,9 @@ AC_DEFUN([gl_FUNC_STAT],
+       AC_DEFINE([REPLACE_FUNC_STAT_FILE], [1], [Define to 1 if stat needs
+         help when passed a file name with a trailing slash]);;
+   esac
+-])
+-
+-# Prerequisites of lib/stat.c.
+-AC_DEFUN([gl_PREREQ_STAT],
+-[
+-  AC_REQUIRE([AC_C_INLINE])
+-  :
++  if test $REPLACE_STAT = 1; then
++    AC_LIBOBJ([stat])
++    dnl Prerequisites of lib/stat.c.
++    AC_REQUIRE([AC_C_INLINE])
++  fi
+ ])
+diff -Naurp libiconv-1.14.org//srcm4/strerror.m4 libiconv-1.14/srcm4/strerror.m4
+--- libiconv-1.14.org//srcm4/strerror.m4	2011-08-07 06:42:07.000000000 -0700
++++ libiconv-1.14/srcm4/strerror.m4	2012-01-08 02:07:40.890484484 -0800
+@@ -1,4 +1,4 @@
+-# strerror.m4 serial 16
++# strerror.m4 serial 9
+ dnl Copyright (C) 2002, 2007-2011 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -6,73 +6,63 @@ dnl with or without modifications, as lo
+ 
+ AC_DEFUN([gl_FUNC_STRERROR],
+ [
++  AC_REQUIRE([gl_FUNC_STRERROR_SEPARATE])
++  if test $REPLACE_STRERROR = 1; then
++    AC_LIBOBJ([strerror])
++    AC_DEFINE_UNQUOTED([REPLACE_STRERROR], [$REPLACE_STRERROR],
++      [Define this to 1 if strerror is broken.])
++  fi
++])
++
++# Like gl_FUNC_STRERROR, except prepare for separate compilation (no AC_LIBOBJ).
++AC_DEFUN([gl_FUNC_STRERROR_SEPARATE],
++[
+   AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
+   AC_REQUIRE([gl_HEADER_ERRNO_H])
+-  AC_REQUIRE([gl_FUNC_STRERROR_0])
+-  m4_ifdef([gl_FUNC_STRERROR_R_WORKS], [
+-    AC_REQUIRE([gl_FUNC_STRERROR_R_WORKS])
+-  ])
+-  if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then
++  if test -z "$ERRNO_H"; then
+     AC_CACHE_CHECK([for working strerror function],
+      [gl_cv_func_working_strerror],
+      [AC_RUN_IFELSE(
+         [AC_LANG_PROGRAM(
+            [[#include <string.h>
+            ]],
+-           [[if (!*strerror (-2)) return 1;]])],
++           [[return !*strerror (-2);]])],
+         [gl_cv_func_working_strerror=yes],
+         [gl_cv_func_working_strerror=no],
+-        [dnl Be pessimistic on cross-compiles for now.
+-         gl_cv_func_working_strerror="guessing no"])
++        [dnl Assume crossbuild works if it compiles.
++         AC_COMPILE_IFELSE(
++           [AC_LANG_PROGRAM(
++              [[#include <string.h>
++              ]],
++              [[return !*strerror (-2);]])],
++           [gl_cv_func_working_strerror=yes],
++           [gl_cv_func_working_strerror=no])
++      ])
+     ])
+-    if test "$gl_cv_func_working_strerror" != yes; then
++    if test $gl_cv_func_working_strerror = no; then
+       dnl The system's strerror() fails to return a string for out-of-range
+       dnl integers. Replace it.
+       REPLACE_STRERROR=1
+     fi
+-    m4_ifdef([gl_FUNC_STRERROR_R_WORKS], [
+-      dnl If the system's strerror_r or __xpg_strerror_r clobbers strerror's
+-      dnl buffer, we must replace strerror.
+-      case "$gl_cv_func_strerror_r_works" in
+-        *no) REPLACE_STRERROR=1 ;;
+-      esac
+-    ])
+   else
+     dnl The system's strerror() cannot know about the new errno values we add
+-    dnl to <errno.h>, or any fix for strerror(0). Replace it.
++    dnl to <errno.h>. Replace it.
+     REPLACE_STRERROR=1
+   fi
++  if test $REPLACE_STRERROR = 1; then
++    gl_PREREQ_STRERROR
++  fi
+ ])
+ 
+-dnl Detect if strerror(0) passes (that is, does not set errno, and does not
+-dnl return a string that matches strerror(-1)).
+-AC_DEFUN([gl_FUNC_STRERROR_0],
+-[
+-  REPLACE_STRERROR_0=0
+-  AC_CACHE_CHECK([whether strerror(0) succeeds],
+-   [gl_cv_func_strerror_0_works],
+-   [AC_RUN_IFELSE(
+-      [AC_LANG_PROGRAM(
+-         [[#include <string.h>
+-           #include <errno.h>
+-         ]],
+-         [[int result = 0;
+-           char *str;
+-           errno = 0;
+-           str = strerror (0);
+-           if (!*str) result |= 1;
+-           if (errno) result |= 2;
+-           if (strstr (str, "nknown") || strstr (str, "ndefined"))
+-             result |= 4;
+-           return result;]])],
+-      [gl_cv_func_strerror_0_works=yes],
+-      [gl_cv_func_strerror_0_works=no],
+-      [dnl Be pessimistic on cross-compiles for now.
+-       gl_cv_func_strerror_0_works="guessing no"])
+-  ])
+-  if test "$gl_cv_func_strerror_0_works" != yes; then
+-    REPLACE_STRERROR_0=1
+-    AC_DEFINE([REPLACE_STRERROR_0], [1], [Define to 1 if strerror(0)
+-      does not return a message implying success.])
++# Prerequisites of lib/strerror.c.
++AC_DEFUN([gl_PREREQ_STRERROR], [
++  AC_CHECK_DECLS([strerror])
++  AC_CHECK_HEADERS_ONCE([sys/socket.h])
++  if test $ac_cv_header_sys_socket_h != yes; then
++    dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make
++    dnl the check for those headers unconditional; yet cygwin reports
++    dnl that the headers are present but cannot be compiled (since on
++    dnl cygwin, all socket information should come from sys/socket.h).
++    AC_CHECK_HEADERS([winsock2.h])
+   fi
+ ])
+diff -Naurp libiconv-1.14.org//srcm4/string_h.m4 libiconv-1.14/srcm4/string_h.m4
+--- libiconv-1.14.org//srcm4/string_h.m4	2011-08-07 06:42:07.000000000 -0700
++++ libiconv-1.14/srcm4/string_h.m4	2012-01-08 02:07:40.894484485 -0800
+@@ -5,7 +5,7 @@
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+ 
+-# serial 21
++# serial 20
+ 
+ # Written by Paul Eggert.
+ 
+@@ -27,9 +27,9 @@ AC_DEFUN([gl_HEADER_STRING_H_BODY],
+   dnl guaranteed by C89.
+   gl_WARN_ON_USE_PREPARE([[#include <string.h>
+     ]],
+-    [ffsl ffsll memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul
+-     strdup strncat strndup strnlen strpbrk strsep strcasestr strtok_r
+-     strerror_r strsignal strverscmp])
++    [memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul strdup
++     strncat strndup strnlen strpbrk strsep strcasestr strtok_r strerror_r
++     strsignal strverscmp])
+ ])
+ 
+ AC_DEFUN([gl_STRING_MODULE_INDICATOR],
+@@ -43,8 +43,6 @@ AC_DEFUN([gl_STRING_MODULE_INDICATOR],
+ 
+ AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS],
+ [
+-  GNULIB_FFSL=0;        AC_SUBST([GNULIB_FFSL])
+-  GNULIB_FFSLL=0;       AC_SUBST([GNULIB_FFSLL])
+   GNULIB_MEMCHR=0;      AC_SUBST([GNULIB_MEMCHR])
+   GNULIB_MEMMEM=0;      AC_SUBST([GNULIB_MEMMEM])
+   GNULIB_MEMPCPY=0;     AC_SUBST([GNULIB_MEMPCPY])
+@@ -82,8 +80,6 @@ AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS],
+   GNULIB_STRVERSCMP=0;  AC_SUBST([GNULIB_STRVERSCMP])
+   HAVE_MBSLEN=0;        AC_SUBST([HAVE_MBSLEN])
+   dnl Assume proper GNU behavior unless another module says otherwise.
+-  HAVE_FFSL=1;                  AC_SUBST([HAVE_FFSL])
+-  HAVE_FFSLL=1;                 AC_SUBST([HAVE_FFSLL])
+   HAVE_MEMCHR=1;                AC_SUBST([HAVE_MEMCHR])
+   HAVE_DECL_MEMMEM=1;           AC_SUBST([HAVE_DECL_MEMMEM])
+   HAVE_MEMPCPY=1;               AC_SUBST([HAVE_MEMPCPY])
+diff -Naurp libiconv-1.14.org//srcm4/sys_socket_h.m4 libiconv-1.14/srcm4/sys_socket_h.m4
+--- libiconv-1.14.org//srcm4/sys_socket_h.m4	2011-08-07 06:42:07.000000000 -0700
++++ libiconv-1.14/srcm4/sys_socket_h.m4	1969-12-31 16:00:00.000000000 -0800
+@@ -1,177 +0,0 @@
+-# sys_socket_h.m4 serial 22
+-dnl Copyright (C) 2005-2011 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 Simon Josefsson.
+-
+-AC_DEFUN([gl_HEADER_SYS_SOCKET],
+-[
+-  AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS])
+-  AC_REQUIRE([AC_CANONICAL_HOST])
+-  AC_REQUIRE([AC_C_INLINE])
+-
+-  dnl On OSF/1, the functions recv(), send(), recvfrom(), sendto() have
+-  dnl old-style declarations (with return type 'int' instead of 'ssize_t')
+-  dnl unless _POSIX_PII_SOCKET is defined.
+-  case "$host_os" in
+-    osf*)
+-      AC_DEFINE([_POSIX_PII_SOCKET], [1],
+-        [Define to 1 in order to get the POSIX compatible declarations
+-         of socket functions.])
+-      ;;
+-  esac
+-
+-  AC_CACHE_CHECK([whether <sys/socket.h> is self-contained],
+-    [gl_cv_header_sys_socket_h_selfcontained],
+-    [
+-      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/socket.h>]], [[]])],
+-        [gl_cv_header_sys_socket_h_selfcontained=yes],
+-        [gl_cv_header_sys_socket_h_selfcontained=no])
+-    ])
+-  if test $gl_cv_header_sys_socket_h_selfcontained = yes; then
+-    dnl If the shutdown function exists, <sys/socket.h> should define
+-    dnl SHUT_RD, SHUT_WR, SHUT_RDWR.
+-    AC_CHECK_FUNCS([shutdown])
+-    if test $ac_cv_func_shutdown = yes; then
+-      AC_CACHE_CHECK([whether <sys/socket.h> defines the SHUT_* macros],
+-        [gl_cv_header_sys_socket_h_shut],
+-        [
+-          AC_COMPILE_IFELSE(
+-            [AC_LANG_PROGRAM([[#include <sys/socket.h>]],
+-               [[int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR };]])],
+-            [gl_cv_header_sys_socket_h_shut=yes],
+-            [gl_cv_header_sys_socket_h_shut=no])
+-        ])
+-      if test $gl_cv_header_sys_socket_h_shut = no; then
+-        SYS_SOCKET_H='sys/socket.h'
+-      fi
+-    fi
+-  fi
+-  # We need to check for ws2tcpip.h now.
+-  gl_PREREQ_SYS_H_SOCKET
+-  AC_CHECK_TYPES([struct sockaddr_storage, sa_family_t],,,[
+-  /* sys/types.h is not needed according to POSIX, but the
+-     sys/socket.h in i386-unknown-freebsd4.10 and
+-     powerpc-apple-darwin5.5 required it. */
+-#include <sys/types.h>
+-#ifdef HAVE_SYS_SOCKET_H
+-#include <sys/socket.h>
+-#endif
+-#ifdef HAVE_WS2TCPIP_H
+-#include <ws2tcpip.h>
+-#endif
+-])
+-  if test $ac_cv_type_struct_sockaddr_storage = no; then
+-    HAVE_STRUCT_SOCKADDR_STORAGE=0
+-  fi
+-  if test $ac_cv_type_sa_family_t = no; then
+-    HAVE_SA_FAMILY_T=0
+-  fi
+-  if test $ac_cv_type_struct_sockaddr_storage != no; then
+-    AC_CHECK_MEMBERS([struct sockaddr_storage.ss_family],
+-      [],
+-      [HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=0],
+-      [#include <sys/types.h>
+-       #ifdef HAVE_SYS_SOCKET_H
+-       #include <sys/socket.h>
+-       #endif
+-       #ifdef HAVE_WS2TCPIP_H
+-       #include <ws2tcpip.h>
+-       #endif
+-      ])
+-  fi
+-  if test $HAVE_STRUCT_SOCKADDR_STORAGE = 0 || test $HAVE_SA_FAMILY_T = 0 \
+-     || test $HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = 0; then
+-    SYS_SOCKET_H='sys/socket.h'
+-  fi
+-  gl_PREREQ_SYS_H_WINSOCK2
+-
+-  dnl Check for declarations of anything we want to poison if the
+-  dnl corresponding gnulib module is not in use.
+-  gl_WARN_ON_USE_PREPARE([[
+-/* Some systems require prerequisite headers.  */
+-#include <sys/types.h>
+-#include <sys/socket.h>
+-    ]], [socket connect accept bind getpeername getsockname getsockopt
+-    listen recv send recvfrom sendto setsockopt shutdown accept4])
+-])
+-
+-AC_DEFUN([gl_PREREQ_SYS_H_SOCKET],
+-[
+-  dnl Check prerequisites of the <sys/socket.h> replacement.
+-  AC_REQUIRE([gl_CHECK_SOCKET_HEADERS])
+-  gl_CHECK_NEXT_HEADERS([sys/socket.h])
+-  if test $ac_cv_header_sys_socket_h = yes; then
+-    HAVE_SYS_SOCKET_H=1
+-    HAVE_WS2TCPIP_H=0
+-  else
+-    HAVE_SYS_SOCKET_H=0
+-    if test $ac_cv_header_ws2tcpip_h = yes; then
+-      HAVE_WS2TCPIP_H=1
+-    else
+-      HAVE_WS2TCPIP_H=0
+-    fi
+-  fi
+-  AC_SUBST([HAVE_SYS_SOCKET_H])
+-  AC_SUBST([HAVE_WS2TCPIP_H])
+-])
+-
+-# Common prerequisites of the <sys/socket.h> replacement and of the
+-# <sys/select.h> replacement.
+-# Sets and substitutes HAVE_WINSOCK2_H.
+-AC_DEFUN([gl_PREREQ_SYS_H_WINSOCK2],
+-[
+-  m4_ifdef([gl_UNISTD_H_DEFAULTS], [AC_REQUIRE([gl_UNISTD_H_DEFAULTS])])
+-  m4_ifdef([gl_SYS_IOCTL_H_DEFAULTS], [AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS])])
+-  AC_CHECK_HEADERS_ONCE([sys/socket.h])
+-  if test $ac_cv_header_sys_socket_h != yes; then
+-    dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make
+-    dnl the check for those headers unconditional; yet cygwin reports
+-    dnl that the headers are present but cannot be compiled (since on
+-    dnl cygwin, all socket information should come from sys/socket.h).
+-    AC_CHECK_HEADERS([winsock2.h])
+-  fi
+-  if test "$ac_cv_header_winsock2_h" = yes; then
+-    HAVE_WINSOCK2_H=1
+-    UNISTD_H_HAVE_WINSOCK2_H=1
+-    SYS_IOCTL_H_HAVE_WINSOCK2_H=1
+-  else
+-    HAVE_WINSOCK2_H=0
+-  fi
+-  AC_SUBST([HAVE_WINSOCK2_H])
+-])
+-
+-AC_DEFUN([gl_SYS_SOCKET_MODULE_INDICATOR],
+-[
+-  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+-  AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS])
+-  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+-  dnl Define it also as a C macro, for the benefit of the unit tests.
+-  gl_MODULE_INDICATOR_FOR_TESTS([$1])
+-])
+-
+-AC_DEFUN([gl_SYS_SOCKET_H_DEFAULTS],
+-[
+-  GNULIB_SOCKET=0;      AC_SUBST([GNULIB_SOCKET])
+-  GNULIB_CONNECT=0;     AC_SUBST([GNULIB_CONNECT])
+-  GNULIB_ACCEPT=0;      AC_SUBST([GNULIB_ACCEPT])
+-  GNULIB_BIND=0;        AC_SUBST([GNULIB_BIND])
+-  GNULIB_GETPEERNAME=0; AC_SUBST([GNULIB_GETPEERNAME])
+-  GNULIB_GETSOCKNAME=0; AC_SUBST([GNULIB_GETSOCKNAME])
+-  GNULIB_GETSOCKOPT=0;  AC_SUBST([GNULIB_GETSOCKOPT])
+-  GNULIB_LISTEN=0;      AC_SUBST([GNULIB_LISTEN])
+-  GNULIB_RECV=0;        AC_SUBST([GNULIB_RECV])
+-  GNULIB_SEND=0;        AC_SUBST([GNULIB_SEND])
+-  GNULIB_RECVFROM=0;    AC_SUBST([GNULIB_RECVFROM])
+-  GNULIB_SENDTO=0;      AC_SUBST([GNULIB_SENDTO])
+-  GNULIB_SETSOCKOPT=0;  AC_SUBST([GNULIB_SETSOCKOPT])
+-  GNULIB_SHUTDOWN=0;    AC_SUBST([GNULIB_SHUTDOWN])
+-  GNULIB_ACCEPT4=0;     AC_SUBST([GNULIB_ACCEPT4])
+-  HAVE_STRUCT_SOCKADDR_STORAGE=1; AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE])
+-  HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=1;
+-                        AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY])
+-  HAVE_SA_FAMILY_T=1;   AC_SUBST([HAVE_SA_FAMILY_T])
+-  HAVE_ACCEPT4=1;       AC_SUBST([HAVE_ACCEPT4])
+-])
+diff -Naurp libiconv-1.14.org//srcm4/warn-on-use.m4 libiconv-1.14/srcm4/warn-on-use.m4
+--- libiconv-1.14.org//srcm4/warn-on-use.m4	2011-08-07 06:42:07.000000000 -0700
++++ libiconv-1.14/srcm4/warn-on-use.m4	2012-01-08 02:07:40.934484487 -0800
+@@ -1,4 +1,4 @@
+-# warn-on-use.m4 serial 4
++# warn-on-use.m4 serial 2
+ dnl Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -27,8 +27,6 @@ AC_DEFUN([gl_WARN_ON_USE_PREPARE],
+     [AH_TEMPLATE([HAVE_RAW_DECL_]AS_TR_CPP(m4_defn([gl_decl])),
+       [Define to 1 if ]m4_defn([gl_decl])[ is declared even after
+        undefining macros.])])dnl
+-dnl FIXME: gl_Symbol must be used unquoted until we can assume
+-dnl autoconf 2.64 or newer.
+   for gl_func in m4_flatten([$2]); do
+     AS_VAR_PUSHDEF([gl_Symbol], [gl_cv_have_raw_decl_$gl_func])dnl
+     AC_CACHE_CHECK([whether $gl_func is declared without a macro],
+@@ -37,8 +35,8 @@ dnl autoconf 2.64 or newer.
+ [@%:@undef $gl_func
+   (void) $gl_func;])],
+         [AS_VAR_SET(gl_Symbol, [yes])], [AS_VAR_SET(gl_Symbol, [no])])])
+-    AS_VAR_IF(gl_Symbol, [yes],
+-      [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_RAW_DECL_$gl_func]), [1])
++     AS_VAR_IF(gl_Symbol, [yes],
++       [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_RAW_DECL_$gl_func]), [1])
+        dnl shortcut - if the raw declaration exists, then set a cache
+        dnl variable to allow skipping any later AC_CHECK_DECL efforts
+        eval ac_cv_have_decl_$gl_func=yes])
diff --git a/meta/recipes-support/libiconv/libiconv_1.14.bb b/meta/recipes-support/libiconv/libiconv_1.14.bb
index 5eea823..af33d6b 100644
--- a/meta/recipes-support/libiconv/libiconv_1.14.bb
+++ b/meta/recipes-support/libiconv/libiconv_1.14.bb
@@ -4,13 +4,14 @@  HOMEPAGE = "http://www.gnu.org/software/libiconv"
 SECTION = "libs"
 NOTES = "Needs to be stripped down to: ascii iso8859-1 eucjp iso-2022jp gb utf8"
 PROVIDES = "virtual/libiconv"
-PR = "r0"
+PR = "r1"
 LICENSE = "LGPLv3"
 LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 \
                     file://libcharset/COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674"
 
 SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
            file://autoconf.patch \
+           file://add-relocatable-module.patch \
           "
 
 SRC_URI[md5sum] = "e34509b1623cec449dfeb73d7ce9c6c6"
@@ -27,3 +28,8 @@  LEAD_SONAME = "libiconv.so"
 do_configure_prepend () {
 	rm -f m4/libtool.m4 m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 m4/lt~obsolete.m4 libcharset/m4/libtool.m4 libcharset/m4/ltoptions.m4 libcharset/m4/ltsugar.m4 libcharset/m4/ltversion.m4 libcharset/m4/lt~obsolete.m4
 }
+
+do_install_append () {
+	rm -rf ${D}${libdir}/preloadable_libiconv.so
+	rm -rf ${D}${libdir}/charset.alias
+}