deleted file mode 100644
@@ -1,12 +0,0 @@
-diff -Nurd gettext-0.18.1.1/gettext-runtime/m4/ansi-c++.m4 gettext-0.18.1.1/gettext-runtime/m4/ansi-c++.m4
---- gettext-0.18.1.1/gettext-runtime/m4/ansi-c++.m4 2010-06-06 15:49:57.000000000 +0300
-+++ gettext-0.18.1.1/gettext-runtime/m4/ansi-c++.m4 2011-07-31 11:08:12.000000000 +0300
-@@ -11,7 +11,7 @@
-
- AC_DEFUN([gt_PROG_ANSI_CXX],
- [
--AC_CHECK_PROGS(CXX, $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC, :)
-+AC_CHECK_TOOLS(CXX, $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC, :)
- if test "$CXX" != ":"; then
- dnl Use a modified version of AC_PROG_CXX_WORKS that does not exit
- dnl upon failure.
deleted file mode 100644
@@ -1,56 +0,0 @@
-Index: gettext-0.18.1.1/gettext-tools/gnulib-lib/stdio.in.h
-===================================================================
---- gettext-0.18.1.1.orig/gettext-tools/gnulib-lib/stdio.in.h 2012-11-15 18:46:24.000000000 +0000
-+++ gettext-0.18.1.1/gettext-tools/gnulib-lib/stdio.in.h 2012-11-15 19:14:37.000000000 +0000
-@@ -138,10 +138,12 @@
- #endif
-
- /* It is very rare that the developer ever has full control of stdin,
-- so any use of gets warrants an unconditional warning. Assume it is
-- always declared, since it is required by C89. */
-+ so any use of gets warrants an unconditional warning. */
- #undef gets
-+#ifdef HAVE_RAW_DECL_GETS
- _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
-+#endif
-+#undef gets
-
- #if @GNULIB_FOPEN@
- # if @REPLACE_FOPEN@
-Index: gettext-0.18.1.1/gettext-runtime/gnulib-lib/stdio.in.h
-===================================================================
---- gettext-0.18.1.1.orig/gettext-runtime/gnulib-lib/stdio.in.h 2010-05-17 19:56:12.000000000 +0000
-+++ gettext-0.18.1.1/gettext-runtime/gnulib-lib/stdio.in.h 2012-11-15 19:11:15.000000000 +0000
-@@ -138,10 +138,11 @@
- #endif
-
- /* It is very rare that the developer ever has full control of stdin,
-- so any use of gets warrants an unconditional warning. Assume it is
-- always declared, since it is required by C89. */
-+ so any use of gets warrants an unconditional warning. */
- #undef gets
-+#ifdef HAVE_RAW_DECL_GETS
- _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
-+#endif
-
- #if @GNULIB_FOPEN@
- # if @REPLACE_FOPEN@
-Index: gettext-0.18.1.1/gettext-tools/libgettextpo/stdio.in.h
-===================================================================
---- gettext-0.18.1.1.orig/gettext-tools/libgettextpo/stdio.in.h 2010-05-17 19:58:03.000000000 +0000
-+++ gettext-0.18.1.1/gettext-tools/libgettextpo/stdio.in.h 2012-11-15 19:11:53.000000000 +0000
-@@ -138,10 +138,11 @@
- #endif
-
- /* It is very rare that the developer ever has full control of stdin,
-- so any use of gets warrants an unconditional warning. Assume it is
-- always declared, since it is required by C89. */
-+ so any use of gets warrants an unconditional warning. */
- #undef gets
-+#ifdef HAVE_RAW_DECL_GETS
- _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
-+#endif
-
- #if @GNULIB_FOPEN@
- # if @REPLACE_FOPEN@
-
deleted file mode 100644
@@ -1,228 +0,0 @@
-diff -urN gettext-0.18.1.1~orig/build-aux/ltmain.sh gettext-0.18.1.1/build-aux/ltmain.sh
---- gettext-0.18.1.1~orig/build-aux/ltmain.sh 2010-06-06 14:49:57.000000000 +0200
-+++ gettext-0.18.1.1/build-aux/ltmain.sh 2014-02-01 17:20:22.780770313 +0100
-@@ -170,6 +170,154 @@
-
- # Generated shell functions inserted here.
-
-+# These SED scripts presuppose an absolute path with a trailing slash.
-+pathcar='s,^/\([^/]*\).*$,\1,'
-+pathcdr='s,^/[^/]*,,'
-+removedotparts=':dotsl
-+ s@/\./@/@g
-+ t dotsl
-+ s,/\.$,/,'
-+collapseslashes='s@/\{1,\}@/@g'
-+finalslash='s,/*$,/,'
-+
-+# func_normal_abspath PATH
-+# Remove doubled-up and trailing slashes, "." path components,
-+# and cancel out any ".." path components in PATH after making
-+# it an absolute path.
-+# value returned in "$func_normal_abspath_result"
-+func_normal_abspath ()
-+{
-+ # Start from root dir and reassemble the path.
-+ func_normal_abspath_result=
-+ func_normal_abspath_tpath=$1
-+ func_normal_abspath_altnamespace=
-+ case $func_normal_abspath_tpath in
-+ "")
-+ # Empty path, that just means $cwd.
-+ func_stripname '' '/' "`pwd`"
-+ func_normal_abspath_result=$func_stripname_result
-+ return
-+ ;;
-+ # The next three entries are used to spot a run of precisely
-+ # two leading slashes without using negated character classes;
-+ # we take advantage of case's first-match behaviour.
-+ ///*)
-+ # Unusual form of absolute path, do nothing.
-+ ;;
-+ //*)
-+ # Not necessarily an ordinary path; POSIX reserves leading '//'
-+ # and for example Cygwin uses it to access remote file shares
-+ # over CIFS/SMB, so we conserve a leading double slash if found.
-+ func_normal_abspath_altnamespace=/
-+ ;;
-+ /*)
-+ # Absolute path, do nothing.
-+ ;;
-+ *)
-+ # Relative path, prepend $cwd.
-+ func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
-+ ;;
-+ esac
-+ # Cancel out all the simple stuff to save iterations. We also want
-+ # the path to end with a slash for ease of parsing, so make sure
-+ # there is one (and only one) here.
-+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
-+ -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
-+ while :; do
-+ # Processed it all yet?
-+ if test "$func_normal_abspath_tpath" = / ; then
-+ # If we ascended to the root using ".." the result may be empty now.
-+ if test -z "$func_normal_abspath_result" ; then
-+ func_normal_abspath_result=/
-+ fi
-+ break
-+ fi
-+ func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
-+ -e "$pathcar"`
-+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
-+ -e "$pathcdr"`
-+ # Figure out what to do with it
-+ case $func_normal_abspath_tcomponent in
-+ "")
-+ # Trailing empty path component, ignore it.
-+ ;;
-+ ..)
-+ # Parent dir; strip last assembled component from result.
-+ func_dirname "$func_normal_abspath_result"
-+ func_normal_abspath_result=$func_dirname_result
-+ ;;
-+ *)
-+ # Actual path component, append it.
-+ func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
-+ ;;
-+ esac
-+ done
-+ # Restore leading double-slash if one was found on entry.
-+ func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
-+}
-+
-+# func_relative_path SRCDIR DSTDIR
-+# generates a relative path from SRCDIR to DSTDIR, with a trailing
-+# slash if non-empty, suitable for immediately appending a filename
-+# without needing to append a separator.
-+# value returned in "$func_relative_path_result"
-+func_relative_path ()
-+{
-+ func_relative_path_result=
-+ func_normal_abspath "$1"
-+ func_relative_path_tlibdir=$func_normal_abspath_result
-+ func_normal_abspath "$2"
-+ func_relative_path_tbindir=$func_normal_abspath_result
-+
-+ # Ascend the tree starting from libdir
-+ while :; do
-+ # check if we have found a prefix of bindir
-+ case $func_relative_path_tbindir in
-+ $func_relative_path_tlibdir)
-+ # found an exact match
-+ func_relative_path_tcancelled=
-+ break
-+ ;;
-+ $func_relative_path_tlibdir*)
-+ # found a matching prefix
-+ func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
-+ func_relative_path_tcancelled=$func_stripname_result
-+ if test -z "$func_relative_path_result"; then
-+ func_relative_path_result=.
-+ fi
-+ break
-+ ;;
-+ *)
-+ func_dirname $func_relative_path_tlibdir
-+ func_relative_path_tlibdir=${func_dirname_result}
-+ if test "x$func_relative_path_tlibdir" = x ; then
-+ # Have to descend all the way to the root!
-+ func_relative_path_result=../$func_relative_path_result
-+ func_relative_path_tcancelled=$func_relative_path_tbindir
-+ break
-+ fi
-+ func_relative_path_result=../$func_relative_path_result
-+ ;;
-+ esac
-+ done
-+
-+ # Now calculate path; take care to avoid doubling-up slashes.
-+ func_stripname '' '/' "$func_relative_path_result"
-+ func_relative_path_result=$func_stripname_result
-+ func_stripname '/' '/' "$func_relative_path_tcancelled"
-+ if test "x$func_stripname_result" != x ; then
-+ func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
-+ fi
-+
-+ # Normalisation. If bindir is libdir, return empty string,
-+ # else relative path ending with a slash; either way, target
-+ # file name can be directly appended.
-+ if test ! -z "$func_relative_path_result"; then
-+ func_stripname './' '' "$func_relative_path_result/"
-+ func_relative_path_result=$func_stripname_result
-+ fi
-+}
-+
- # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
- # is ksh but when the shell is invoked as "sh" and the current value of
- # the _XPG environment variable is not equal to 1 (one), the special
-@@ -1558,6 +1706,8 @@
-
- -all-static do not do any dynamic linking at all
- -avoid-version do not add a version suffix if possible
-+ -bindir BINDIR specify path to binaries directory (for systems where
-+ libraries must be found in the PATH setting at runtime)
- -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
- -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
- -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-@@ -4208,6 +4358,7 @@
- new_inherited_linker_flags=
-
- avoid_version=no
-+ bindir=$sharedlibdir
- dlfiles=
- dlprefiles=
- dlself=no
-@@ -4300,6 +4451,11 @@
- esac
-
- case $prev in
-+ bindir)
-+ bindir="$arg"
-+ prev=
-+ continue
-+ ;;
- dlfiles|dlprefiles)
- if test "$preload" = no; then
- # Add the symbol object into the linking commands.
-@@ -4561,6 +4717,11 @@
- continue
- ;;
-
-+ -bindir)
-+ prev=bindir
-+ continue
-+ ;;
-+
- -dlopen)
- prev=dlfiles
- continue
-@@ -8257,9 +8418,27 @@
- fi
- $RM $output
- # place dlname in correct position for cygwin
-+ # In fact, it would be nice if we could use this code for all target
-+ # systems that can't hard-code library paths into their executables
-+ # and that have no shared library path variable independent of PATH,
-+ # but it turns out we can't easily determine that from inspecting
-+ # libtool variables, so we have to hard-code the OSs to which it
-+ # applies here; at the moment, that means platforms that use the PE
-+ # object format with DLL files. See the long comment at the top of
-+ # tests/bindir.at for full details.
- tdlname=$dlname
- case $host,$output,$installed,$module,$dlname in
-- *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
-+ *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
-+ # If a -bindir argument was supplied, place the dll there.
-+ if test "x$bindir" != x ;
-+ then
-+ func_relative_path "$install_libdir" "$bindir"
-+ tdlname=$func_relative_path_result$dlname
-+ else
-+ # Otherwise fall back on heuristic.
-+ tdlname=../bin/$dlname
-+ fi
-+ ;;
- esac
- $ECHO > $output "\
- # $outputname - a libtool library file
deleted file mode 100644
@@ -1,49 +0,0 @@
-diff -urN gettext-0.18.1.1/build-aux/install-reloc gettext-0.18.1.1.mod/build-aux/install-reloc
---- gettext-0.18.1.1/build-aux/install-reloc 2012-10-08 15:46:56.000000000 +0200
-+++ gettext-0.18.1.1.mod/build-aux/install-reloc 2012-10-08 15:47:01.000000000 +0200
-@@ -160,6 +160,8 @@
- "$srcdir"/canonicalize-lgpl.c \
- "$srcdir"/malloca.c \
- "$srcdir"/relocatable.c \
-+ "$srcdir"/lstat.c \
-+ "$srcdir"/stat.c \
- "$srcdir"/setenv.c \
- "$srcdir"/strerror.c \
- "$srcdir"/c-ctype.c \
-diff -urN gettext-0.18.1.1/gettext-tools/Makefile.in gettext-0.18.1.1.mod/gettext-tools/Makefile.in
---- gettext-0.18.1.1/gettext-tools/Makefile.in 2010-06-06 22:12:33.000000000 +0200
-+++ gettext-0.18.1.1.mod/gettext-tools/Makefile.in 2012-10-08 14:54:25.000000000 +0200
-@@ -1248,7 +1248,7 @@
- top_srcdir = @top_srcdir@
- AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies
- ACLOCAL_AMFLAGS = -I m4 -I ../gettext-runtime/m4 -I ../m4 -I gnulib-m4 -I libgrep/gnulib-m4 -I libgettextpo/gnulib-m4
--SUBDIRS = doc intl gnulib-lib libgrep src libgettextpo po projects styles misc man m4 tests gnulib-tests examples
-+SUBDIRS = doc intl gnulib-lib libgrep src libgettextpo po projects styles misc man m4 tests gnulib-tests
-
- # Allow users to use "gnulib-tool --update".
-
-diff -urN gettext-0.18.1.1/gettext-tools/configure gettext-0.18.1.1.mod/gettext-tools/configure
---- gettext-0.18.1.1/gettext-tools/configure 2010-06-06 22:12:20.000000000 +0200
-+++ gettext-0.18.1.1.mod/gettext-tools/configure 2012-10-08 14:54:59.000000000 +0200
-@@ -40606,7 +40606,9 @@
- #include <stdlib.h>
- #include <string.h> /* for strcpy */
- /* The stpncpy prototype is missing in <string.h> on AIX 4. */
-+#ifndef stpncpy
- extern char *stpncpy (char *dest, const char *src, size_t n);
-+#endif
- int main () {
- const char *src = "Hello";
- char dest[10];
-diff -urN gettext-0.18.1.1/gettext-tools/gnulib-lib/stpncpy.c gettext-0.18.1.1.mod/gettext-tools/gnulib-lib/stpncpy.c
---- gettext-0.18.1.1/gettext-tools/gnulib-lib/stpncpy.c 2010-05-24 11:42:47.000000000 +0200
-+++ gettext-0.18.1.1.mod/gettext-tools/gnulib-lib/stpncpy.c 2012-10-08 15:00:12.000000000 +0200
-@@ -25,7 +25,7 @@
- #include <string.h>
-
- #ifndef weak_alias
--# define __stpncpy stpncpy
-+//# define __stpncpy stpncpy
- #endif
-
- /* Copy no more than N bytes of SRC to DST, returning a pointer past the
new file mode 100644
@@ -0,0 +1,672 @@
+diff -urN a/gettext-tools/src/color.c b/gettext-tools/src/color.c
+--- a/gettext-tools/src/color.c 2013-04-15 08:45:13.000000000 +0200
++++ b/gettext-tools/src/color.c 2014-06-12 14:37:43.235013449 +0200
+@@ -28,6 +28,7 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+
++#include "ostream.h"
+ #include "term-ostream.h"
+ #include "xalloc.h"
+ #include "relocatable.h"
+diff -urN a/gettext-tools/src/Makefile.am b/gettext-tools/src/Makefile.am
+--- a/gettext-tools/src/Makefile.am 2013-12-20 04:19:45.000000000 +0100
++++ b/gettext-tools/src/Makefile.am 2014-06-12 21:31:46.323988615 +0200
+@@ -141,22 +141,51 @@
+ format-lua.c \
+ format-javascript.c
+
++if !WOE32DLL
++COLOR_SOURCE = color.c
++else
++COLOR_SOURCE = ../woe32dll/c++color.cc
++endif
++
++if !WOE32DLL
++OUTPUT_SOURCE = \
++ write-catalog.c \
++ write-po.c \
++ write-properties.c \
++ write-stringtable.c
++else
++OUTPUT_SOURCE = \
++ ../woe32dll/c++write-catalog.cc \
++ ../woe32dll/c++write-po.cc \
++ ../woe32dll/c++write-properties.cc \
++ ../woe32dll/c++write-stringtable.cc
++endif
++
+ # libgettextsrc contains all code that is needed by at least two programs.
+ libgettextsrc_la_SOURCES = \
+ $(COMMON_SOURCE) read-catalog.c \
+-color.c write-catalog.c write-properties.c write-stringtable.c write-po.c \
++$(COLOR_SOURCE) $(OUTPUT_SOURCE) \
+ msgl-ascii.c msgl-iconv.c msgl-equal.c msgl-cat.c msgl-header.c msgl-english.c \
+ msgl-check.c file-list.c msgl-charset.c po-time.c plural-exp.c plural-eval.c \
+ plural-table.c \
+ $(FORMAT_SOURCE)
+
++
+ # msggrep needs pattern matching.
+ LIBGREP = ../libgrep/libgrep.a
+
+ # Source dependencies.
++if !WOE32DLL
+ msgcmp_SOURCES = msgcmp.c
++else
++msgcmp_SOURCES = ../woe32dll/c++msgcmp.cc
++endif
+ msgcmp_SOURCES += msgl-fsearch.c
++if !WOE32DLL
+ msgfmt_SOURCES = msgfmt.c
++else
++msgfmt_SOURCES = ../woe32dll/c++msgfmt.cc
++endif
+ msgfmt_SOURCES += \
+ write-mo.c write-java.c write-csharp.c write-resources.c write-tcl.c \
+ write-qt.c ../../gettext-runtime/intl/hash-string.c
+@@ -166,7 +195,11 @@
+ msgmerge_SOURCES = ../woe32dll/c++msgmerge.cc
+ endif
+ msgmerge_SOURCES += msgl-fsearch.c lang-table.c plural-count.c
++if !WOE32DLL
+ msgunfmt_SOURCES = msgunfmt.c
++else
++msgunfmt_SOURCES = ../woe32dll/c++msgunfmt.cc
++endif
+ msgunfmt_SOURCES += \
+ read-mo.c read-java.c read-csharp.c read-resources.c read-tcl.c
+ if !WOE32DLL
+@@ -203,7 +236,11 @@
+ else
+ msgen_SOURCES = ../woe32dll/c++msgen.cc
+ endif
++if !WOE32DLL
+ msgexec_SOURCES = msgexec.c
++else
++msgexec_SOURCES = ../woe32dll/c++msgexec.cc
++endif
+ if !WOE32DLL
+ msgfilter_SOURCES = msgfilter.c
+ else
+@@ -215,7 +252,11 @@
+ else
+ msggrep_SOURCES = ../woe32dll/c++msggrep.cc
+ endif
++if !WOE32DLL
+ msginit_SOURCES = msginit.c
++else
++msginit_SOURCES = ../woe32dll/c++msginit.cc
++endif
+ msginit_SOURCES += lang-table.c plural-count.c
+ msginit_SOURCES += ../../gettext-runtime/intl/localealias.c
+ # This is needed because on Solaris, localealias.c requires the symbol
+diff -urN a/gettext-tools/src/Makefile.in b/gettext-tools/src/Makefile.in
+--- a/gettext-tools/src/Makefile.in 2014-01-07 07:18:52.000000000 +0100
++++ b/gettext-tools/src/Makefile.in 2014-06-12 14:37:43.231013623 +0200
+@@ -377,16 +377,20 @@
+ am__libgettextsrc_la_SOURCES_DIST = message.c po-error.c po-xerror.c \
+ read-catalog-abstract.c po-lex.c po-gram-gen.y po-charset.c \
+ read-po.c read-properties.c read-stringtable.c open-catalog.c \
+- dir-list.c str-list.c read-catalog.c color.c write-catalog.c \
+- write-properties.c write-stringtable.c write-po.c msgl-ascii.c \
+- msgl-iconv.c msgl-equal.c msgl-cat.c msgl-header.c \
+- msgl-english.c msgl-check.c file-list.c msgl-charset.c \
+- po-time.c plural-exp.c plural-eval.c plural-table.c format.c \
+- format-invalid.h format-c.c format-c-parse.h format-sh.c \
+- format-python.c format-python-brace.c format-lisp.c \
+- format-elisp.c format-librep.c format-scheme.c format-java.c \
+- format-csharp.c format-awk.c format-pascal.c format-ycp.c \
+- format-tcl.c format-perl.c format-perl-brace.c format-php.c \
++ dir-list.c str-list.c read-catalog.c color.c \
++ ../woe32dll/c++color.cc write-catalog.c write-po.c \
++ write-properties.c write-stringtable.c \
++ ../woe32dll/c++write-catalog.cc ../woe32dll/c++write-po.cc \
++ ../woe32dll/c++write-properties.cc \
++ ../woe32dll/c++write-stringtable.cc msgl-ascii.c msgl-iconv.c \
++ msgl-equal.c msgl-cat.c msgl-header.c msgl-english.c \
++ msgl-check.c file-list.c msgl-charset.c po-time.c plural-exp.c \
++ plural-eval.c plural-table.c format.c format-invalid.h \
++ format-c.c format-c-parse.h format-sh.c format-python.c \
++ format-python-brace.c format-lisp.c format-elisp.c \
++ format-librep.c format-scheme.c format-java.c format-csharp.c \
++ format-awk.c format-pascal.c format-ycp.c format-tcl.c \
++ format-perl.c format-perl-brace.c format-php.c \
+ format-gcc-internal.c format-gfc-internal.c format-qt.c \
+ format-qt-plural.c format-kde.c format-boost.c format-lua.c \
+ format-javascript.c ../woe32dll/c++format.cc \
+@@ -400,7 +404,17 @@
+ libgettextsrc_la-read-stringtable.lo \
+ libgettextsrc_la-open-catalog.lo libgettextsrc_la-dir-list.lo \
+ libgettextsrc_la-str-list.lo
+-@WOE32DLL_FALSE@am__objects_2 = libgettextsrc_la-format.lo \
++@WOE32DLL_FALSE@am__objects_2 = libgettextsrc_la-color.lo
++@WOE32DLL_TRUE@am__objects_2 = libgettextsrc_la-c++color.lo
++@WOE32DLL_FALSE@am__objects_3 = libgettextsrc_la-write-catalog.lo \
++@WOE32DLL_FALSE@ libgettextsrc_la-write-po.lo \
++@WOE32DLL_FALSE@ libgettextsrc_la-write-properties.lo \
++@WOE32DLL_FALSE@ libgettextsrc_la-write-stringtable.lo
++@WOE32DLL_TRUE@am__objects_3 = libgettextsrc_la-c++write-catalog.lo \
++@WOE32DLL_TRUE@ libgettextsrc_la-c++write-po.lo \
++@WOE32DLL_TRUE@ libgettextsrc_la-c++write-properties.lo \
++@WOE32DLL_TRUE@ libgettextsrc_la-c++write-stringtable.lo
++@WOE32DLL_FALSE@am__objects_4 = libgettextsrc_la-format.lo \
+ @WOE32DLL_FALSE@ libgettextsrc_la-format-c.lo \
+ @WOE32DLL_FALSE@ libgettextsrc_la-format-sh.lo \
+ @WOE32DLL_FALSE@ libgettextsrc_la-format-python.lo \
+@@ -426,7 +440,7 @@
+ @WOE32DLL_FALSE@ libgettextsrc_la-format-boost.lo \
+ @WOE32DLL_FALSE@ libgettextsrc_la-format-lua.lo \
+ @WOE32DLL_FALSE@ libgettextsrc_la-format-javascript.lo
+-@WOE32DLL_TRUE@am__objects_2 = libgettextsrc_la-c++format.lo \
++@WOE32DLL_TRUE@am__objects_4 = libgettextsrc_la-c++format.lo \
+ @WOE32DLL_TRUE@ libgettextsrc_la-format-c.lo \
+ @WOE32DLL_TRUE@ libgettextsrc_la-format-sh.lo \
+ @WOE32DLL_TRUE@ libgettextsrc_la-format-python.lo \
+@@ -452,21 +466,18 @@
+ @WOE32DLL_TRUE@ libgettextsrc_la-format-boost.lo \
+ @WOE32DLL_TRUE@ libgettextsrc_la-format-lua.lo \
+ @WOE32DLL_TRUE@ libgettextsrc_la-format-javascript.lo
+-@WOE32DLL_TRUE@am__objects_3 = libgettextsrc_la-gettextsrc-exports.lo
++@WOE32DLL_TRUE@am__objects_5 = libgettextsrc_la-gettextsrc-exports.lo
+ am_libgettextsrc_la_OBJECTS = $(am__objects_1) \
+- libgettextsrc_la-read-catalog.lo libgettextsrc_la-color.lo \
+- libgettextsrc_la-write-catalog.lo \
+- libgettextsrc_la-write-properties.lo \
+- libgettextsrc_la-write-stringtable.lo \
+- libgettextsrc_la-write-po.lo libgettextsrc_la-msgl-ascii.lo \
++ libgettextsrc_la-read-catalog.lo $(am__objects_2) \
++ $(am__objects_3) libgettextsrc_la-msgl-ascii.lo \
+ libgettextsrc_la-msgl-iconv.lo libgettextsrc_la-msgl-equal.lo \
+ libgettextsrc_la-msgl-cat.lo libgettextsrc_la-msgl-header.lo \
+ libgettextsrc_la-msgl-english.lo \
+ libgettextsrc_la-msgl-check.lo libgettextsrc_la-file-list.lo \
+ libgettextsrc_la-msgl-charset.lo libgettextsrc_la-po-time.lo \
+ libgettextsrc_la-plural-exp.lo libgettextsrc_la-plural-eval.lo \
+- libgettextsrc_la-plural-table.lo $(am__objects_2) \
+- $(am__objects_3)
++ libgettextsrc_la-plural-table.lo $(am__objects_4) \
++ $(am__objects_5)
+ libgettextsrc_la_OBJECTS = $(am_libgettextsrc_la_OBJECTS)
+ PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
+ am_hostname_OBJECTS = hostname-hostname.$(OBJEXT)
+@@ -1902,14 +1913,27 @@
+ @WOE32DLL_TRUE@ format-gcc-internal.c format-gfc-internal.c \
+ @WOE32DLL_TRUE@ format-qt.c format-qt-plural.c format-kde.c \
+ @WOE32DLL_TRUE@ format-boost.c format-lua.c format-javascript.c
++@WOE32DLL_FALSE@COLOR_SOURCE = color.c
++@WOE32DLL_TRUE@COLOR_SOURCE = ../woe32dll/c++color.cc
++@WOE32DLL_FALSE@OUTPUT_SOURCE = \
++@WOE32DLL_FALSE@ write-catalog.c \
++@WOE32DLL_FALSE@ write-po.c \
++@WOE32DLL_FALSE@ write-properties.c \
++@WOE32DLL_FALSE@ write-stringtable.c
++
++@WOE32DLL_TRUE@OUTPUT_SOURCE = \
++@WOE32DLL_TRUE@ ../woe32dll/c++write-catalog.cc \
++@WOE32DLL_TRUE@ ../woe32dll/c++write-po.cc \
++@WOE32DLL_TRUE@ ../woe32dll/c++write-properties.cc \
++@WOE32DLL_TRUE@ ../woe32dll/c++write-stringtable.cc
++
+
+ # libgettextsrc contains all code that is needed by at least two programs.
+-libgettextsrc_la_SOURCES = $(COMMON_SOURCE) read-catalog.c color.c \
+- write-catalog.c write-properties.c write-stringtable.c \
+- write-po.c msgl-ascii.c msgl-iconv.c msgl-equal.c msgl-cat.c \
+- msgl-header.c msgl-english.c msgl-check.c file-list.c \
+- msgl-charset.c po-time.c plural-exp.c plural-eval.c \
+- plural-table.c $(FORMAT_SOURCE) $(am__append_1)
++libgettextsrc_la_SOURCES = $(COMMON_SOURCE) read-catalog.c \
++ $(COLOR_SOURCE) $(OUTPUT_SOURCE) msgl-ascii.c msgl-iconv.c \
++ msgl-equal.c msgl-cat.c msgl-header.c msgl-english.c \
++ msgl-check.c file-list.c msgl-charset.c po-time.c plural-exp.c \
++ plural-eval.c plural-table.c $(FORMAT_SOURCE) $(am__append_1)
+
+ # msggrep needs pattern matching.
+ LIBGREP = ../libgrep/libgrep.a
+@@ -2476,15 +2500,15 @@
+ libgettextsrc_la-write-catalog.lo: write-catalog.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgettextsrc_la-write-catalog.lo `test -f 'write-catalog.c' || echo '$(srcdir)/'`write-catalog.c
+
++libgettextsrc_la-write-po.lo: write-po.c
++ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgettextsrc_la-write-po.lo `test -f 'write-po.c' || echo '$(srcdir)/'`write-po.c
++
+ libgettextsrc_la-write-properties.lo: write-properties.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgettextsrc_la-write-properties.lo `test -f 'write-properties.c' || echo '$(srcdir)/'`write-properties.c
+
+ libgettextsrc_la-write-stringtable.lo: write-stringtable.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgettextsrc_la-write-stringtable.lo `test -f 'write-stringtable.c' || echo '$(srcdir)/'`write-stringtable.c
+
+-libgettextsrc_la-write-po.lo: write-po.c
+- $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgettextsrc_la-write-po.lo `test -f 'write-po.c' || echo '$(srcdir)/'`write-po.c
+-
+ libgettextsrc_la-msgl-ascii.lo: msgl-ascii.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgettextsrc_la-msgl-ascii.lo `test -f 'msgl-ascii.c' || echo '$(srcdir)/'`msgl-ascii.c
+
+@@ -2980,6 +3004,21 @@
+ .cc.lo:
+ $(AM_V_CXX)$(LTCXXCOMPILE) -c -o $@ $<
+
++libgettextsrc_la-c++color.lo: ../woe32dll/c++color.cc
++ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libgettextsrc_la-c++color.lo `test -f '../woe32dll/c++color.cc' || echo '$(srcdir)/'`../woe32dll/c++color.cc
++
++libgettextsrc_la-c++write-catalog.lo: ../woe32dll/c++write-catalog.cc
++ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libgettextsrc_la-c++write-catalog.lo `test -f '../woe32dll/c++write-catalog.cc' || echo '$(srcdir)/'`../woe32dll/c++write-catalog.cc
++
++libgettextsrc_la-c++write-po.lo: ../woe32dll/c++write-po.cc
++ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libgettextsrc_la-c++write-po.lo `test -f '../woe32dll/c++write-po.cc' || echo '$(srcdir)/'`../woe32dll/c++write-po.cc
++
++libgettextsrc_la-c++write-properties.lo: ../woe32dll/c++write-properties.cc
++ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libgettextsrc_la-c++write-properties.lo `test -f '../woe32dll/c++write-properties.cc' || echo '$(srcdir)/'`../woe32dll/c++write-properties.cc
++
++libgettextsrc_la-c++write-stringtable.lo: ../woe32dll/c++write-stringtable.cc
++ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libgettextsrc_la-c++write-stringtable.lo `test -f '../woe32dll/c++write-stringtable.cc' || echo '$(srcdir)/'`../woe32dll/c++write-stringtable.cc
++
+ libgettextsrc_la-c++format.lo: ../woe32dll/c++format.cc
+ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libgettextsrc_la-c++format.lo `test -f '../woe32dll/c++format.cc' || echo '$(srcdir)/'`../woe32dll/c++format.cc
+
+diff -urN a/gettext-tools/src/msginit.c b/gettext-tools/src/msginit.c
+--- a/gettext-tools/src/msginit.c 2013-04-18 12:13:27.000000000 +0200
++++ b/gettext-tools/src/msginit.c 2014-06-12 18:57:05.773102938 +0200
+@@ -96,7 +96,13 @@
+
+ #define SIZEOF(a) (sizeof(a) / sizeof(a[0]))
+
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern const char * _nl_expand_alias (const char *name);
++#ifdef __cplusplus
++}
++#endif
+
+ /* Locale name. */
+ static const char *locale;
+diff -urN a/gettext-tools/src/read-csharp.h b/gettext-tools/src/read-csharp.h
+--- a/gettext-tools/src/read-csharp.h 2013-01-09 05:01:27.000000000 +0100
++++ b/gettext-tools/src/read-csharp.h 2014-06-12 18:39:12.959396049 +0200
+@@ -20,11 +20,18 @@
+
+ #include "message.h"
+
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+ /* Read the Java resource given by resource_name and locale_name.
+ Returns a list of messages. */
+ extern msgdomain_list_ty *
+ msgdomain_read_csharp (const char *resource_name,
+ const char *locale_name,
+ const char *directory);
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _READ_CSHARP_H */
+diff -urN a/gettext-tools/src/read-java.h b/gettext-tools/src/read-java.h
+--- a/gettext-tools/src/read-java.h 2013-01-09 05:01:27.000000000 +0100
++++ b/gettext-tools/src/read-java.h 2014-06-12 18:33:39.347411372 +0200
+@@ -20,10 +20,18 @@
+
+ #include "message.h"
+
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+ /* Read the Java resource given by resource_name and locale_name.
+ Returns a list of messages. */
+ extern msgdomain_list_ty *
+ msgdomain_read_java (const char *resource_name,
+ const char *locale_name);
+
++#ifdef __cplusplus
++}
++#endif
++
+ #endif /* _READ_JAVA_H */
+diff -urN a/gettext-tools/src/read-mo.h b/gettext-tools/src/read-mo.h
+--- a/gettext-tools/src/read-mo.h 2013-01-09 05:01:27.000000000 +0100
++++ b/gettext-tools/src/read-mo.h 2014-06-12 18:40:09.846089315 +0200
+@@ -20,7 +20,15 @@
+
+ #include "message.h"
+
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+ /* Reads an existing .mo file and adds the messages to mlp. */
+ extern void read_mo_file (message_list_ty *mlp, const char *filename);
+
++#ifdef __cplusplus
++}
++#endif
++
+ #endif /* _READ_MO_H */
+diff -urN a/gettext-tools/src/read-resources.h b/gettext-tools/src/read-resources.h
+--- a/gettext-tools/src/read-resources.h 2013-01-09 05:01:27.000000000 +0100
++++ b/gettext-tools/src/read-resources.h 2014-06-12 18:40:44.169308069 +0200
+@@ -20,8 +20,16 @@
+
+ #include "message.h"
+
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+ /* Reads an existing binary C# .resources file and adds the messages
+ to mlp. */
+ extern void read_resources_file (message_list_ty *mlp, const char *filename);
+
++#ifdef __cplusplus
++}
++#endif
++
+ #endif /* _READ_RESOURCES_H */
+diff -urN a/gettext-tools/src/read-tcl.h b/gettext-tools/src/read-tcl.h
+--- a/gettext-tools/src/read-tcl.h 2013-01-09 05:01:27.000000000 +0100
++++ b/gettext-tools/src/read-tcl.h 2014-06-12 18:39:55.110426014 +0200
+@@ -20,9 +20,17 @@
+
+ #include "message.h"
+
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+ /* Read the Tcl msg file given by locale_name and directory.
+ Returns a list of messages. */
+ extern msgdomain_list_ty *
+ msgdomain_read_tcl (const char *locale_name, const char *directory);
+
++#ifdef __cplusplus
++}
++#endif
++
+ #endif /* _READ_TCL_H */
+diff -urN a/gettext-tools/src/write-csharp.h b/gettext-tools/src/write-csharp.h
+--- a/gettext-tools/src/write-csharp.h 2013-01-09 05:01:27.000000000 +0100
++++ b/gettext-tools/src/write-csharp.h 2014-06-12 18:47:22.496650218 +0200
+@@ -20,6 +20,10 @@
+
+ #include "message.h"
+
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+ /* Write a C# satellite assembly DLL file. mlp is a list containing the
+ messages to be output. resource_name is the name of the resource
+ (with dot separators), locale_name is the locale name (with underscore
+@@ -32,4 +36,8 @@
+ const char *locale_name,
+ const char *directory);
+
++#ifdef __cplusplus
++}
++#endif
++
+ #endif /* _WRITE_CSHARP_H */
+diff -urN a/gettext-tools/src/write-java.h b/gettext-tools/src/write-java.h
+--- a/gettext-tools/src/write-java.h 2013-01-09 05:01:27.000000000 +0100
++++ b/gettext-tools/src/write-java.h 2014-06-12 18:47:44.048200376 +0200
+@@ -22,6 +22,10 @@
+
+ #include "message.h"
+
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+ /* Write a Java ResourceBundle class file. mlp is a list containing the
+ messages to be output. resource_name is the name of the resource
+ (with dot separators), locale_name is the locale name (with underscore
+@@ -35,4 +39,8 @@
+ const char *directory,
+ bool assume_java2);
+
++#ifdef __cplusplus
++}
++#endif
++
+ #endif /* _WRITE_JAVA_H */
+diff -urN a/gettext-tools/src/write-mo.h b/gettext-tools/src/write-mo.h
+--- a/gettext-tools/src/write-mo.h 2013-01-09 05:01:27.000000000 +0100
++++ b/gettext-tools/src/write-mo.h 2014-06-12 18:46:00.506373348 +0200
+@@ -23,6 +23,10 @@
+
+ #include "message.h"
+
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+ /* Alignment of strings in resulting .mo file. */
+ extern size_t alignment;
+
+@@ -39,5 +43,8 @@
+ msgdomain_write_mo (message_list_ty *mlp,
+ const char *domain_name,
+ const char *file_name);
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _WRITE_MO_H */
+diff -urN a/gettext-tools/src/write-qt.h b/gettext-tools/src/write-qt.h
+--- a/gettext-tools/src/write-qt.h 2013-01-09 05:01:27.000000000 +0100
++++ b/gettext-tools/src/write-qt.h 2014-06-12 18:46:21.085939661 +0200
+@@ -20,6 +20,10 @@
+
+ #include "message.h"
+
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+ /* Write a Qt .qm file. mlp is a list containing the messages to be output.
+ domain_name is the domain name, file_name is the desired file name.
+ Return 0 if ok, nonzero on error. */
+@@ -27,4 +31,8 @@
+ msgdomain_write_qt (message_list_ty *mlp, const char *canon_encoding,
+ const char *domain_name, const char *file_name);
+
++#ifdef __cplusplus
++}
++#endif
++
+ #endif /* _WRITE_QT_H */
+diff -urN a/gettext-tools/src/write-resources.h b/gettext-tools/src/write-resources.h
+--- a/gettext-tools/src/write-resources.h 2013-01-09 05:01:27.000000000 +0100
++++ b/gettext-tools/src/write-resources.h 2014-06-12 18:45:36.086894483 +0200
+@@ -20,6 +20,10 @@
+
+ #include "message.h"
+
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+ /* Output the contents of a PO file as a binary C# .resources file.
+ Return 0 if ok, nonzero on error. */
+ extern int
+@@ -28,4 +32,8 @@
+ const char *domain_name,
+ const char *file_name);
+
++#ifdef __cplusplus
++}
++#endif
++
+ #endif /* _WRITE_RESOURCES_H */
+diff -urN a/gettext-tools/src/write-tcl.h b/gettext-tools/src/write-tcl.h
+--- a/gettext-tools/src/write-tcl.h 2013-01-09 05:01:27.000000000 +0100
++++ b/gettext-tools/src/write-tcl.h 2014-06-12 18:46:40.449532124 +0200
+@@ -20,6 +20,10 @@
+
+ #include "message.h"
+
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+ /* Write a Tcl msg file. mlp is a list containing the messages to be output.
+ locale_name is the locale name (with underscore separators), directory is
+ the base directory.
+@@ -29,4 +33,8 @@
+ const char *locale_name,
+ const char *directory);
+
++#ifdef __cplusplus
++}
++#endif
++
+ #endif /* _WRITE_TCL_H */
+diff -urN a/gettext-tools/woe32dll/c++color.cc b/gettext-tools/woe32dll/c++color.cc
+--- a/gettext-tools/woe32dll/c++color.cc 1970-01-01 01:00:00.000000000 +0100
++++ b/gettext-tools/woe32dll/c++color.cc 2014-06-12 14:37:43.235013449 +0200
+@@ -0,0 +1 @@
++#include "../src/color.c"
+diff -urN a/gettext-tools/woe32dll/c++file-ostream.cc b/gettext-tools/woe32dll/c++file-ostream.cc
+--- a/gettext-tools/woe32dll/c++file-ostream.cc 1970-01-01 01:00:00.000000000 +0100
++++ b/gettext-tools/woe32dll/c++file-ostream.cc 2014-06-12 14:37:43.235013449 +0200
+@@ -0,0 +1,2 @@
++#include "../gnulib-lib/file-ostream.c"
++
+diff -urN a/gettext-tools/woe32dll/c++html-ostream.cc b/gettext-tools/woe32dll/c++html-ostream.cc
+--- a/gettext-tools/woe32dll/c++html-ostream.cc 1970-01-01 01:00:00.000000000 +0100
++++ b/gettext-tools/woe32dll/c++html-ostream.cc 2014-06-12 14:37:43.235013449 +0200
+@@ -0,0 +1 @@
++#include "../gnulib-lib/html-ostream.c"
+diff -urN a/gettext-tools/woe32dll/c++msgcmp.cc b/gettext-tools/woe32dll/c++msgcmp.cc
+--- a/gettext-tools/woe32dll/c++msgcmp.cc 1970-01-01 01:00:00.000000000 +0100
++++ b/gettext-tools/woe32dll/c++msgcmp.cc 2014-06-12 14:42:09.880340787 +0200
+@@ -0,0 +1 @@
++#include "../src/msgcmp.c"
+diff -urN a/gettext-tools/woe32dll/c++msgexec.cc b/gettext-tools/woe32dll/c++msgexec.cc
+--- a/gettext-tools/woe32dll/c++msgexec.cc 1970-01-01 01:00:00.000000000 +0100
++++ b/gettext-tools/woe32dll/c++msgexec.cc 2014-06-12 21:32:19.575178015 +0200
+@@ -0,0 +1 @@
++#include "../src/msgexec.c"
+diff -urN a/gettext-tools/woe32dll/c++msgfmt.cc b/gettext-tools/woe32dll/c++msgfmt.cc
+--- a/gettext-tools/woe32dll/c++msgfmt.cc 1970-01-01 01:00:00.000000000 +0100
++++ b/gettext-tools/woe32dll/c++msgfmt.cc 2014-06-12 14:59:25.119555208 +0200
+@@ -0,0 +1 @@
++#include "../src/msgfmt.c"
+diff -urN a/gettext-tools/woe32dll/c++msginit.cc b/gettext-tools/woe32dll/c++msginit.cc
+--- a/gettext-tools/woe32dll/c++msginit.cc 1970-01-01 01:00:00.000000000 +0100
++++ b/gettext-tools/woe32dll/c++msginit.cc 2014-06-12 14:52:48.396377567 +0200
+@@ -0,0 +1 @@
++#include "../src/msginit.c"
+diff -urN a/gettext-tools/woe32dll/c++msgunfmt.cc b/gettext-tools/woe32dll/c++msgunfmt.cc
+--- a/gettext-tools/woe32dll/c++msgunfmt.cc 1970-01-01 01:00:00.000000000 +0100
++++ b/gettext-tools/woe32dll/c++msgunfmt.cc 2014-06-12 14:59:33.155303211 +0200
+@@ -0,0 +1 @@
++#include "../src/msgunfmt.c"
+diff -urN a/gettext-tools/woe32dll/c++styled-ostream.cc b/gettext-tools/woe32dll/c++styled-ostream.cc
+--- a/gettext-tools/woe32dll/c++styled-ostream.cc 1970-01-01 01:00:00.000000000 +0100
++++ b/gettext-tools/woe32dll/c++styled-ostream.cc 2014-06-12 14:37:43.235013449 +0200
+@@ -0,0 +1 @@
++#include "../gnulib-lib/styled-ostream.c"
+diff -urN a/gettext-tools/woe32dll/c++term-ostream.cc b/gettext-tools/woe32dll/c++term-ostream.cc
+--- a/gettext-tools/woe32dll/c++term-ostream.cc 1970-01-01 01:00:00.000000000 +0100
++++ b/gettext-tools/woe32dll/c++term-ostream.cc 2014-06-12 14:37:43.235013449 +0200
+@@ -0,0 +1 @@
++#include "../gnulib-lib/term-ostream.c"
+diff -urN a/gettext-tools/woe32dll/c++write-catalog.cc b/gettext-tools/woe32dll/c++write-catalog.cc
+--- a/gettext-tools/woe32dll/c++write-catalog.cc 1970-01-01 01:00:00.000000000 +0100
++++ b/gettext-tools/woe32dll/c++write-catalog.cc 2014-06-12 14:37:43.235013449 +0200
+@@ -0,0 +1 @@
++#include "../src/write-catalog.c"
+diff -urN a/gettext-tools/woe32dll/c++write-po.cc b/gettext-tools/woe32dll/c++write-po.cc
+--- a/gettext-tools/woe32dll/c++write-po.cc 1970-01-01 01:00:00.000000000 +0100
++++ b/gettext-tools/woe32dll/c++write-po.cc 2014-06-12 14:37:43.235013449 +0200
+@@ -0,0 +1 @@
++#include "../src/write-po.c"
+diff -urN a/gettext-tools/woe32dll/c++write-properties.cc b/gettext-tools/woe32dll/c++write-properties.cc
+--- a/gettext-tools/woe32dll/c++write-properties.cc 1970-01-01 01:00:00.000000000 +0100
++++ b/gettext-tools/woe32dll/c++write-properties.cc 2014-06-12 14:37:43.235013449 +0200
+@@ -0,0 +1 @@
++#include "../src/write-properties.c"
+diff -urN a/gettext-tools/woe32dll/c++write-stringtable.cc b/gettext-tools/woe32dll/c++write-stringtable.cc
+--- a/gettext-tools/woe32dll/c++write-stringtable.cc 1970-01-01 01:00:00.000000000 +0100
++++ b/gettext-tools/woe32dll/c++write-stringtable.cc 2014-06-12 14:37:43.235013449 +0200
+@@ -0,0 +1 @@
++#include "../src/write-stringtable.c"
+diff -urN a/gnulib-local/modules/file-ostream b/gnulib-local/modules/file-ostream
+--- a/gnulib-local/modules/file-ostream 2013-01-21 03:36:18.000000000 +0100
++++ b/gnulib-local/modules/file-ostream 2014-06-12 14:37:43.235013449 +0200
+@@ -12,7 +12,11 @@
+ configure.ac:
+
+ Makefile.am:
++if !WOE32DLL
+ lib_SOURCES += file-ostream.c
++else
++lib_SOURCES += ../woe32dll/c++file-ostream.cc
++endif
+ # This is a Makefile rule that generates multiple files at once; see the
+ # automake documentation, node "Multiple Outputs", for details.
+ file-ostream.h : $(top_srcdir)/build-aux/moopp file-ostream.oo.h file-ostream.oo.c ostream.oo.h
+diff -urN a/gnulib-local/modules/html-ostream b/gnulib-local/modules/html-ostream
+--- a/gnulib-local/modules/html-ostream 2013-01-21 03:36:18.000000000 +0100
++++ b/gnulib-local/modules/html-ostream 2014-06-12 14:37:43.235013449 +0200
+@@ -15,7 +15,11 @@
+ configure.ac:
+
+ Makefile.am:
++if !WOE32DLL
+ lib_SOURCES += html-ostream.c
++else
++lib_SOURCES += ../woe32dll/c++html-ostream.cc
++endif
+ # This is a Makefile rule that generates multiple files at once; see the
+ # automake documentation, node "Multiple Outputs", for details.
+ html-ostream.h : $(top_srcdir)/build-aux/moopp html-ostream.oo.h html-ostream.oo.c ostream.oo.h
+diff -urN a/gnulib-local/modules/ostream b/gnulib-local/modules/ostream
+--- a/gnulib-local/modules/ostream 2013-01-21 03:36:18.000000000 +0100
++++ b/gnulib-local/modules/ostream 2014-06-12 14:37:43.235013449 +0200
+@@ -11,7 +11,11 @@
+ configure.ac:
+
+ Makefile.am:
++if !WOE32DLL
+ lib_SOURCES += ostream.c
++else
++lib_SOURCES += ../woe32dll/c++ostream.cc
++endif
+ # This is a Makefile rule that generates multiple files at once; see the
+ # automake documentation, node "Multiple Outputs", for details.
+ ostream.h : $(top_srcdir)/build-aux/moopp ostream.oo.h ostream.oo.c
+diff -urN a/gnulib-local/modules/styled-ostream b/gnulib-local/modules/styled-ostream
+--- a/gnulib-local/modules/styled-ostream 2013-01-21 03:36:18.000000000 +0100
++++ b/gnulib-local/modules/styled-ostream 2014-06-12 14:37:43.239013222 +0200
+@@ -11,7 +11,11 @@
+ configure.ac:
+
+ Makefile.am:
++if !WOE32DLL
+ lib_SOURCES += styled-ostream.c
++else
++lib_SOURCES += ../woe32dll/c++styled-ostream.cc
++endif
+ # This is a Makefile rule that generates multiple files at once; see the
+ # automake documentation, node "Multiple Outputs", for details.
+ styled-ostream.h : $(top_srcdir)/build-aux/moopp styled-ostream.oo.h styled-ostream.oo.c ostream.oo.h
+diff -urN a/gnulib-local/modules/term-ostream b/gnulib-local/modules/term-ostream
+--- a/gnulib-local/modules/term-ostream 2013-01-21 03:36:18.000000000 +0100
++++ b/gnulib-local/modules/term-ostream 2014-06-12 14:37:43.239013222 +0200
+@@ -22,7 +22,11 @@
+ gl_TERM_OSTREAM
+
+ Makefile.am:
++if !WOE32DLL
+ lib_SOURCES += term-ostream.c
++else
++lib_SOURCES += ../woe32dll/c++term-ostream.cc
++endif
+ # This is a Makefile rule that generates multiple files at once; see the
+ # automake documentation, node "Multiple Outputs", for details.
+ term-ostream.h : $(top_srcdir)/build-aux/moopp term-ostream.oo.h term-ostream.oo.c ostream.oo.h
new file mode 100644
@@ -0,0 +1,12 @@
+diff -urN a/gettext-tools/Makefile.in b/gettext-tools/Makefile.in
+--- a/gettext-tools/Makefile.in 2014-01-07 07:18:49.000000000 +0100
++++ b/gettext-tools/Makefile.in 2014-05-14 23:58:59.031063467 +0200
+@@ -1551,7 +1551,7 @@
+ top_srcdir = @top_srcdir@
+ AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies
+ ACLOCAL_AMFLAGS = -I m4 -I ../gettext-runtime/m4 -I ../m4 -I gnulib-m4 -I libgrep/gnulib-m4 -I libgettextpo/gnulib-m4
+-SUBDIRS = doc intl gnulib-lib libgrep src libgettextpo po projects styles misc man m4 tests gnulib-tests examples
++SUBDIRS = doc intl gnulib-lib libgrep src libgettextpo po projects styles misc man m4 tests gnulib-tests
+
+ # Allow users to use "gnulib-tool --update".
+
similarity index 100%
rename from recipes/gettext/gettext-0.18.1.1/gettext-0.18-gettextpo-woe32-memchr.patch
rename to recipes/gettext/gettext-0.18.3.2/gettext-0.18-gettextpo-woe32-memchr.patch
new file mode 100644
@@ -0,0 +1,45 @@
+diff -urN a/gettext-runtime/gnulib-lib/stdio.in.h b/gettext-runtime/gnulib-lib/stdio.in.h
+--- a/gettext-runtime/gnulib-lib/stdio.in.h 2010-05-17 21:56:12.000000000 +0200
++++ b/gettext-runtime/gnulib-lib/stdio.in.h 2013-10-06 22:53:39.347701925 +0200
+@@ -141,7 +141,11 @@
+ so any use of gets warrants an unconditional warning. Assume it is
+ always declared, since it is required by C89. */
+ #undef gets
++#if defined(__GLIBC__) && !defined(__UCLIBC__) && defined(__GLIBC_PREREQ)
++#if !__GLIBC_PREREQ(2, 16)
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++#endif
++#endif
+
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
+diff -urN a/gettext-tools/gnulib-lib/stdio.in.h b/gettext-tools/gnulib-lib/stdio.in.h
+--- a/gettext-tools/gnulib-lib/stdio.in.h 2010-05-24 11:42:46.000000000 +0200
++++ b/gettext-tools/gnulib-lib/stdio.in.h 2013-10-06 22:53:50.927401966 +0200
+@@ -141,7 +141,11 @@
+ so any use of gets warrants an unconditional warning. Assume it is
+ always declared, since it is required by C89. */
+ #undef gets
++#if defined(__GLIBC__) && !defined(__UCLIBC__) && defined(__GLIBC_PREREQ)
++#if !__GLIBC_PREREQ(2, 16)
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++#endif
++#endif
+
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
+diff -urN a/gettext-tools/libgettextpo/stdio.in.h b/gettext-tools/libgettextpo/stdio.in.h
+--- a/gettext-tools/libgettextpo/stdio.in.h 2010-05-17 21:58:03.000000000 +0200
++++ b/gettext-tools/libgettextpo/stdio.in.h 2013-10-06 22:54:00.187164596 +0200
+@@ -141,7 +141,11 @@
+ so any use of gets warrants an unconditional warning. Assume it is
+ always declared, since it is required by C89. */
+ #undef gets
++#if defined(__GLIBC__) && !defined(__UCLIBC__) && defined(__GLIBC_PREREQ)
++#if !__GLIBC_PREREQ(2, 16)
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++#endif
++#endif
+
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
new file mode 100644
@@ -0,0 +1,25 @@
+diff -urN a/build-aux/install-reloc b/build-aux/install-reloc
+--- a/build-aux/install-reloc 2014-01-07 07:15:12.000000000 +0100
++++ b/build-aux/install-reloc 2014-05-15 00:31:38.721466744 +0200
+@@ -165,6 +165,9 @@
+ "$srcdir"/setenv.c \
+ "$srcdir"/strerror.c \
+ "$srcdir"/c-ctype.c \
++ "$srcdir"/stat.c \
++ "$srcdir"/lstat.c \
++ "$srcdir"/strerror-override.c \
+ -o "$destprog.wrapper$exeext"
+ rc=$?
+ # Clean up object files left over in the current directory by the native C
+@@ -181,7 +183,10 @@
+ relocatable.o \
+ setenv.o \
+ strerror.o \
+- c-ctype.o
++ c-ctype.o \
++ stat.o \
++ lstat.o \
++ strerror-override.o
+ test $rc = 0 || exit $?
+ # Clean up debugging information left over by the native C compiler on Mac OS X.
+ rm -rf "$destprog.wrapper$exeext.dSYM"
new file mode 100644
@@ -0,0 +1,255 @@
+diff -urN a/build-aux/moopp b/build-aux/moopp
+--- a/build-aux/moopp 2013-01-09 05:01:27.000000000 +0100
++++ b/build-aux/moopp 2014-05-09 08:28:30.881250016 +0200
+@@ -516,7 +516,13 @@
+ echo "#endif"
+ echo
+ echo "/* Functions that invoke the methods. */"
++ echo "#ifdef __cplusplus"
++ echo "extern \"C\" {"
++ echo "#endif"
+ echo "$all_methods" | sed -e "$sed_remove_empty_lines" -e 's/\([^A-Za-z_0-9]\)\([A-Za-z_0-9][A-Za-z_0-9]*\)[ ]*([^,)]*/\1'"${main_classname}_"'\2 ('"${main_classname}_t first_arg"'/' -e 's,^,extern ,' -e 's,$,;,'
++ echo "#ifdef __cplusplus"
++ echo "}"
++ echo "#endif"
+ echo
+ # Now come the implementation details.
+ echo "/* Type representing an implementation of ${main_classname}_t. */"
+@@ -536,6 +542,9 @@
+ echo " const struct ${main_classname}_implementation *vtable;"
+ echo "};"
+ echo
++ echo "#ifdef __cplusplus"
++ echo "extern \"C\" {"
++ echo "#endif"
+ echo "#if HAVE_INLINE"
+ echo
+ echo "/* Define the functions that invoke the methods as inline accesses to"
+@@ -583,6 +592,9 @@
+ fi
+ echo
+ echo "extern${dllexport_for_variables} const struct ${main_classname}_implementation ${main_classname}_vtable;"
++ echo "#ifdef __cplusplus"
++ echo "}"
++ echo "#endif"
+ echo
+ echo "#line "`expr $main_class_end_lineno + 1`" \"${source_header_file_base}\""
+ cat "$source_header_file" | sed -e "1,${main_class_end_lineno}d"
+@@ -617,7 +629,13 @@
+ echo "#endif"
+ echo "#include \"${main_classname}.priv.h\""
+ echo
++ echo "#ifdef __cplusplus"
++ echo "extern \"C\" {"
++ echo "#endif"
+ echo "const typeinfo_t ${main_classname}_typeinfo = { \"${main_classname}\" };"
++ echo "#ifdef __cplusplus"
++ echo "}"
++ echo "#endif"
+ echo
+ echo "static const typeinfo_t * const ${main_classname}_superclasses[] ="
+ echo " { ${main_classname}_SUPERCLASSES };"
+diff -urN a/gettext-runtime/config.h.in b/gettext-runtime/config.h.in
+--- a/gettext-runtime/config.h.in 2014-01-07 07:16:26.000000000 +0100
++++ b/gettext-runtime/config.h.in 2014-05-09 08:28:30.901249667 +0200
+@@ -1560,7 +1560,7 @@
+
+ /* On Windows, variables that may be in a DLL must be marked specially. */
+ #if (defined _MSC_VER && defined _DLL) && !defined IN_RELOCWRAPPER
+-# define DLL_VARIABLE __declspec (dllimport)
++# define DLL_VARIABLE __declspec(dllimport)
+ #else
+ # define DLL_VARIABLE
+ #endif
+diff -urN a/gettext-runtime/configure.ac b/gettext-runtime/configure.ac
+--- a/gettext-runtime/configure.ac 2013-07-24 04:26:51.000000000 +0200
++++ b/gettext-runtime/configure.ac 2014-05-09 08:28:30.901249667 +0200
+@@ -95,7 +95,7 @@
+ AH_BOTTOM([
+ /* On Windows, variables that may be in a DLL must be marked specially. */
+ #if (defined _MSC_VER && defined _DLL) && !defined IN_RELOCWRAPPER
+-# define DLL_VARIABLE __declspec (dllimport)
++# define DLL_VARIABLE __declspec(dllimport)
+ #else
+ # define DLL_VARIABLE
+ #endif
+diff -urN a/gettext-runtime/intl/xsize.h b/gettext-runtime/intl/xsize.h
+--- a/gettext-runtime/intl/xsize.h 2013-04-15 04:00:37.000000000 +0200
++++ b/gettext-runtime/intl/xsize.h 2014-05-09 08:31:06.822612101 +0200
+@@ -27,6 +27,10 @@
+ # include <stdint.h>
+ #endif
+
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+ _GL_INLINE_HEADER_BEGIN
+ #ifndef XSIZE_INLINE
+ # define XSIZE_INLINE _GL_INLINE
+@@ -111,4 +115,8 @@
+
+ _GL_INLINE_HEADER_END
+
++#ifdef __cplusplus
++}
++#endif
++
+ #endif /* _XSIZE_H */
+diff -urN a/gettext-runtime/libasprintf/xsize.h b/gettext-runtime/libasprintf/xsize.h
+--- a/gettext-runtime/libasprintf/xsize.h 2014-01-07 07:15:19.000000000 +0100
++++ b/gettext-runtime/libasprintf/xsize.h 2014-05-09 08:30:45.302971244 +0200
+@@ -27,6 +27,11 @@
+ # include <stdint.h>
+ #endif
+
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+ _GL_INLINE_HEADER_BEGIN
+ #ifndef XSIZE_INLINE
+ # define XSIZE_INLINE _GL_INLINE
+@@ -111,4 +116,8 @@
+
+ _GL_INLINE_HEADER_END
+
++#ifdef __cplusplus
++}
++#endif
++
+ #endif /* _XSIZE_H */
+diff -urN a/gettext-tools/config.h.in b/gettext-tools/config.h.in
+--- a/gettext-tools/config.h.in 2014-01-07 07:18:47.000000000 +0100
++++ b/gettext-tools/config.h.in 2014-05-09 08:28:30.905249599 +0200
+@@ -2695,7 +2695,7 @@
+
+ /* On Windows, variables that may be in a DLL must be marked specially. */
+ #if ((defined _MSC_VER && defined _DLL) || defined WOE32DLL) && !defined IN_RELOCWRAPPER
+-# define DLL_VARIABLE __declspec (dllimport)
++# define DLL_VARIABLE __declspec(dllimport)
+ #else
+ # define DLL_VARIABLE
+ #endif
+diff -urN a/gettext-tools/configure.ac b/gettext-tools/configure.ac
+--- a/gettext-tools/configure.ac 2013-12-20 04:19:45.000000000 +0100
++++ b/gettext-tools/configure.ac 2014-05-09 08:28:30.905249599 +0200
+@@ -280,7 +280,7 @@
+
+ /* On Windows, variables that may be in a DLL must be marked specially. */
+ #if ((defined _MSC_VER && defined _DLL) || defined WOE32DLL) && !defined IN_RELOCWRAPPER
+-# define DLL_VARIABLE __declspec (dllimport)
++# define DLL_VARIABLE __declspec(dllimport)
+ #else
+ # define DLL_VARIABLE
+ #endif
+diff -urN a/gettext-tools/gnulib-lib/xsize.h b/gettext-tools/gnulib-lib/xsize.h
+--- a/gettext-tools/gnulib-lib/xsize.h 2014-01-07 07:15:41.000000000 +0100
++++ b/gettext-tools/gnulib-lib/xsize.h 2014-05-09 08:31:53.385849907 +0200
+@@ -27,6 +27,11 @@
+ # include <stdint.h>
+ #endif
+
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+ _GL_INLINE_HEADER_BEGIN
+ #ifndef XSIZE_INLINE
+ # define XSIZE_INLINE _GL_INLINE
+@@ -111,4 +116,8 @@
+
+ _GL_INLINE_HEADER_END
+
++#ifdef __cplusplus
++}
++#endif
++
+ #endif /* _XSIZE_H */
+diff -urN a/gettext-tools/libgettextpo/xsize.h b/gettext-tools/libgettextpo/xsize.h
+--- a/gettext-tools/libgettextpo/xsize.h 2014-01-07 07:16:13.000000000 +0100
++++ b/gettext-tools/libgettextpo/xsize.h 2014-05-09 08:31:29.978229297 +0200
+@@ -27,6 +27,10 @@
+ # include <stdint.h>
+ #endif
+
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+ _GL_INLINE_HEADER_BEGIN
+ #ifndef XSIZE_INLINE
+ # define XSIZE_INLINE _GL_INLINE
+@@ -111,4 +115,8 @@
+
+ _GL_INLINE_HEADER_END
+
++#ifdef __cplusplus
++}
++#endif
++
+ #endif /* _XSIZE_H */
+diff -urN a/gettext-tools/src/Makefile.am b/gettext-tools/src/Makefile.am
+--- a/gettext-tools/src/Makefile.am 2013-12-20 04:19:45.000000000 +0100
++++ b/gettext-tools/src/Makefile.am 2014-05-09 08:28:30.905249599 +0200
+@@ -394,47 +394,47 @@
+ else
+ libgettextsrc_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+- $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(libgettextsrc_la_LDFLAGS) $(LDFLAGS) \
++ $(CXXLD) -static $(AM_CXXFLAGS) $(CXXFLAGS) $(libgettextsrc_la_LDFLAGS) $(LDFLAGS) \
+ -o $@
+ msgattrib_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+- $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msgattrib_LDFLAGS) $(LDFLAGS) \
++ $(CXXLD) -static $(AM_CXXFLAGS) $(CXXFLAGS) $(msgattrib_LDFLAGS) $(LDFLAGS) \
+ -o $@
+ msgcat_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+- $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msgcat_LDFLAGS) $(LDFLAGS) \
++ $(CXXLD) -static $(AM_CXXFLAGS) $(CXXFLAGS) $(msgcat_LDFLAGS) $(LDFLAGS) \
+ -o $@
+ msgcomm_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+- $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msgcomm_LDFLAGS) $(LDFLAGS) \
++ $(CXXLD) -static $(AM_CXXFLAGS) $(CXXFLAGS) $(msgcomm_LDFLAGS) $(LDFLAGS) \
+ -o $@
+ msgconv_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+- $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msgconv_LDFLAGS) $(LDFLAGS) \
++ $(CXXLD) -static $(AM_CXXFLAGS) $(CXXFLAGS) $(msgconv_LDFLAGS) $(LDFLAGS) \
+ -o $@
+ msgen_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+- $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msgen_LDFLAGS) $(LDFLAGS) \
++ $(CXXLD) -static $(AM_CXXFLAGS) $(CXXFLAGS) $(msgen_LDFLAGS) $(LDFLAGS) \
+ -o $@
+ msgfilter_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+- $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msgfilter_LDFLAGS) $(LDFLAGS) \
++ $(CXXLD) -static $(AM_CXXFLAGS) $(CXXFLAGS) $(msgfilter_LDFLAGS) $(LDFLAGS) \
+ -o $@
+ msggrep_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+- $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msggrep_LDFLAGS) $(LDFLAGS) \
++ $(CXXLD) -static $(AM_CXXFLAGS) $(CXXFLAGS) $(msggrep_LDFLAGS) $(LDFLAGS) \
+ -o $@
+ msgmerge_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+- $(CXXLD) $(msgmerge_CXXFLAGS) $(CXXFLAGS) $(msgmerge_LDFLAGS) $(LDFLAGS) \
++ $(CXXLD) -static $(msgmerge_CXXFLAGS) $(CXXFLAGS) $(msgmerge_LDFLAGS) $(LDFLAGS) \
+ -o $@
+ msguniq_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+- $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msguniq_LDFLAGS) $(LDFLAGS) \
++ $(CXXLD) -static $(AM_CXXFLAGS) $(CXXFLAGS) $(msguniq_LDFLAGS) $(LDFLAGS) \
+ -o $@
+ xgettext_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+- $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(xgettext_LDFLAGS) $(LDFLAGS) \
++ $(CXXLD) -static $(AM_CXXFLAGS) $(CXXFLAGS) $(xgettext_LDFLAGS) $(LDFLAGS) \
+ -o $@
+ endif
+
@@ -4,7 +4,7 @@ HOMEPAGE = "http://www.gnu.org/software/gettext/gettext.html"
RECIPE_TYPES = "machine native sdk"
-inherit c++ autotools library make-vpath
+inherit c++ autotools-autoreconf library make-vpath
DEPENDS_AUTORECONF = ""
require conf/fetch/gnu.conf
@@ -14,15 +14,15 @@ DEPENDS = "libiconv libm"
DEPENDS += "${DEPENDS_LIBNCURSES}"
DEPENDS_LIBNCURSES = "libncurses"
-DEPENDS_LIBNCURSES:HOST_OS_mingw32 = ""
+DEPENDS_LIBNCURSES:HOST_LIBC_mingw = ""
DEPENDS += "${DEPENDS_LIBDL}"
DEPENDS_LIBDL = "libdl"
-DEPENDS_LIBDL:HOST_OS_mingw32 = ""
+DEPENDS_LIBDL:HOST_LIBC_mingw = ""
DEPENDS += "${DEPENDS_LIBPTHREAD}"
DEPENDS_LIBPTHREAD = "libpthread"
-DEPENDS_LIBPTHREAD:HOST_OS_mingw32 = ""
+DEPENDS_LIBPTHREAD:HOST_LIBC_mingw = ""
DEPENDS += "${DEPENDS_SELF_NATIVE}"
DEPENDS_SELF_NATIVE = "native:gettext"
@@ -33,7 +33,7 @@ acpaths = "-I ${S}/gnulib-local/m4/ \
-I ${S}/gettext-tools/m4"
EXTRA_OECONF += "\
---disable-rpath --enable-relocatable \
+--disable-rpath --disable-relocatable \
--disable-dependency-tracking \
--disable-java --disable-native-java \
--disable-csharp \
@@ -49,20 +49,18 @@ EXTRA_OECONF += "\
--with-included-glib \
"
-CFLAGS += "-O1"
-
RECIPE_FLAGS += "nls"
EXTRA_OECONF += "${EXTRA_OECONF_NLS}"
EXTRA_OECONF_NLS = " --disable-nls"
EXTRA_OECONF_NLS:USE_nls = " --enable-nls"
EXTRA_OECONF_NLS:native = " --enable-nls"
-EXTRA_OECONF_NLS:HOST_OS_mingw32 = " --enable-nls"
+EXTRA_OECONF_NLS:HOST_LIBC_mingw = " --enable-nls"
EXTRA_OECONF_NLS:HOST_KERNEL_darwin = " --enable-nls"
EXTRA_OECONF += "${EXTRA_OECONF_GETTEXT}"
EXTRA_OECONF_GETTEXT = ""
EXTRA_OECONF_GETTEXT:native = "--disable-curses --with-included-gettext"
-EXTRA_OECONF_GETTEXT:HOST_OS_mingw32 = "--disable-curses --with-included-gettext"
+EXTRA_OECONF_GETTEXT:HOST_LIBC_mingw = "--disable-curses --with-included-gettext"
FILES_${PN} += "${libdir}/gettext ${datadir}/gettext"
COMMON_DEPENDS = "libintl libgettextpo libgettextlib \
@@ -70,6 +68,10 @@ COMMON_DEPENDS = "libintl libgettextpo libgettextlib \
DEPENDS_${PN} = "${COMMON_DEPENDS}"
RDEPENDS_${PN} = "${COMMON_DEPENDS}"
+do_autoreconf () {
+ bash ./autogen.sh --quick --skip-gnulib
+}
+
inherit auto-package-utils
AUTO_PACKAGE_UTILS = "autopoint envsubst gettext gettextize gettext.sh \
msgattrib msgcat msgcmp msgcomm msgconv msgen msgexec msgfilter \
deleted file mode 100644
@@ -1,11 +0,0 @@
-LICENSE = "GPL-3.0+ & LGPL-2.1+"
-
-require gettext.inc
-
-SRC_URI += "file://ac-fix.patch"
-SRC_URI += "file://gettext-0.18-gettextpo-woe32-memchr.patch"
-SRC_URI += "file://gettext0.18.1.1-9ubuntu1-glibc-2.16-fix.patch"
-SRC_URI:>HOST_KERNEL_darwin = " file://osx.patch"
-
-SRC_URI:>HOST_LIBC_mingw = " file://libtool-bindir.patch"
-export sharedlibdir
deleted file mode 100644
@@ -1 +0,0 @@
-5009deb02f67fc3c59c8ce6b82408d1d35d4e38f gettext-0.18.1.1.tar.gz
new file mode 100644
@@ -0,0 +1,7 @@
+LICENSE = "GPL-3.0+ & LGPL-2.1+"
+
+require gettext.inc
+
+SRC_URI += "file://120-Fix-Woe32-link-errors-when-compiling-with-O0.patch"
+SRC_URI += "file://shared-import.patch"
+SRC_URI:>HOST_KERNEL_darwin = " file://osx.patch"
new file mode 100644
@@ -0,0 +1 @@
+a2dc46d788edb0078ab20da7bd194bdb6da2f0d9 gettext-0.18.3.2.tar.gz