[csw-devel] SF.net SVN: gar:[21351] csw/mgar/pkg/chmlib/trunk
dmichelsen at users.sourceforge.net
dmichelsen at users.sourceforge.net
Mon Jun 17 11:15:37 CEST 2013
Revision: 21351
http://gar.svn.sourceforge.net/gar/?rev=21351&view=rev
Author: dmichelsen
Date: 2013-06-17 09:15:33 +0000 (Mon, 17 Jun 2013)
Log Message:
-----------
chmlib/trunk: Update to Solaris 10, latest standards and new package naming
Modified Paths:
--------------
csw/mgar/pkg/chmlib/trunk/Makefile
csw/mgar/pkg/chmlib/trunk/checksums
Removed Paths:
-------------
csw/mgar/pkg/chmlib/trunk/files/0001-gnulib-import-getopt-posix.patch
csw/mgar/pkg/chmlib/trunk/files/0002-integrate-gnulib-into-the-auto-tool-files.patch
csw/mgar/pkg/chmlib/trunk/files/0003-add-dummy-config.h-file.patch
csw/mgar/pkg/chmlib/trunk/files/0004-add-autoconf-checks-for-lnsl-and-lsocket.patch
Modified: csw/mgar/pkg/chmlib/trunk/Makefile
===================================================================
--- csw/mgar/pkg/chmlib/trunk/Makefile 2013-06-17 08:21:45 UTC (rev 21350)
+++ csw/mgar/pkg/chmlib/trunk/Makefile 2013-06-17 09:15:33 UTC (rev 21351)
@@ -12,17 +12,25 @@
endef
MASTER_SITES = http://www.jedrea.com/chmlib/
-DISTFILES = $(NAME)-$(VERSION).tar.bz2
+DISTFILES += $(DISTNAME).tar.bz2
-PATCHFILES = 0001-gnulib-import-getopt-posix.patch
-PATCHFILES += 0002-integrate-gnulib-into-the-auto-tool-files.patch
-PATCHFILES += 0003-add-dummy-config.h-file.patch
-PATCHFILES += 0004-add-autoconf-checks-for-lnsl-and-lsocket.patch
-
# We define upstream file regex so we can be notifed of new upstream software release
UFILES_REGEX = $(NAME)-(\d+(?:\.\d+)*).tar.bz2
-BUILD64_LIBS_ONLY = 1
+PACKAGES += CSWlibchm0
+SPKG_DESC_CSWlibchm0 = Library designed for accessing MS ITSS files (chm), libchm.so.0
+PKGFILES_CSWlibchm0 += $(call pkgfiles_lib,libchm.so.0)
+OBSOLETED_BY_CSWlibchm0 += CSWchmlib
+
+PACKAGES += CSWlibchm-dev
+SPKG_DESC_CSWlibchm-dev = Development files for libchm.so.0
+# PKGFILES is catchall
+RUNTIME_DEP_PKGS_CSWlibchm-dev += CSWlibchm0
+
+EXTRA_LINKER_FLAGS += -lnsl -lsocket
+
+BUILD64 = 1
+ISAEXEC = 1
CONFIGURE_ARGS = $(DIRPATHS)
CONFIGURE_ARGS += --enable-examples
@@ -31,11 +39,7 @@
include gar/category.mk
-pre-configure-modulated:
- @(cd $(WORKSRC); aclocal -I gnulib/m4; autoconf -I gnulib/m4; automake)
- @$(MAKECOOKIE)
-
-post-install-modulated:
+post-install:
ginstall -d $(DESTDIR)$(docdir)/$(NAME)
$(foreach D,$(DOCS),ginstall $(WORKSRC)/$D $(DESTDIR)$(docdir)/$(NAME)/$D;)
@$(MAKECOOKIE)
Modified: csw/mgar/pkg/chmlib/trunk/checksums
===================================================================
--- csw/mgar/pkg/chmlib/trunk/checksums 2013-06-17 08:21:45 UTC (rev 21350)
+++ csw/mgar/pkg/chmlib/trunk/checksums 2013-06-17 09:15:33 UTC (rev 21351)
@@ -1,5 +1 @@
-b454cb00abe8653f2e3c11318a884e0e 0001-gnulib-import-getopt-posix.patch
-c181447a053d0c5a83099af4a68a5510 0002-integrate-gnulib-into-the-auto-tool-files.patch
-b96303db2702dd6696ea45dfba2de5dc 0003-add-dummy-config.h-file.patch
-883567051286cd6984b7a1b23fa8e783 0004-add-autoconf-checks-for-lnsl-and-lsocket.patch
7ea49ed8c335215c1edc6fae83e6b912 chmlib-0.40.tar.bz2
Deleted: csw/mgar/pkg/chmlib/trunk/files/0001-gnulib-import-getopt-posix.patch
===================================================================
--- csw/mgar/pkg/chmlib/trunk/files/0001-gnulib-import-getopt-posix.patch 2013-06-17 08:21:45 UTC (rev 21350)
+++ csw/mgar/pkg/chmlib/trunk/files/0001-gnulib-import-getopt-posix.patch 2013-06-17 09:15:33 UTC (rev 21351)
@@ -1,4596 +0,0 @@
-From 23637dad0fc9fb0e5e0755744d5d3726536068ee Mon Sep 17 00:00:00 2001
-From: Ben Walton <bwalton at opencsw.org>
-Date: Thu, 15 Oct 2009 21:32:41 +0200
-Subject: [PATCH 1/4] gnulib --import getopt-posix
-
----
- gnulib/Makefile.am | 207 ++++++++
- gnulib/dummy.c | 42 ++
- gnulib/getopt.c | 1186 ++++++++++++++++++++++++++++++++++++++++++++
- gnulib/getopt.in.h | 242 +++++++++
- gnulib/getopt1.c | 170 +++++++
- gnulib/getopt_int.h | 130 +++++
- gnulib/gettext.h | 279 +++++++++++
- gnulib/m4/00gnulib.m4 | 30 ++
- gnulib/m4/extensions.m4 | 104 ++++
- gnulib/m4/getopt.m4 | 250 ++++++++++
- gnulib/m4/gnulib-cache.m4 | 36 ++
- gnulib/m4/gnulib-common.m4 | 124 +++++
- gnulib/m4/gnulib-comp.m4 | 197 ++++++++
- gnulib/m4/gnulib-tool.m4 | 57 +++
- gnulib/m4/include_next.m4 | 187 +++++++
- gnulib/m4/onceonly.m4 | 90 ++++
- gnulib/m4/stddef_h.m4 | 45 ++
- gnulib/m4/unistd_h.m4 | 115 +++++
- gnulib/m4/wchar_t.m4 | 20 +
- gnulib/stddef.in.h | 86 ++++
- gnulib/unistd.in.h | 784 +++++++++++++++++++++++++++++
- link-warning.h | 28 +
- 22 files changed, 4409 insertions(+), 0 deletions(-)
- create mode 100644 gnulib/Makefile.am
- create mode 100644 gnulib/dummy.c
- create mode 100644 gnulib/getopt.c
- create mode 100644 gnulib/getopt.in.h
- create mode 100644 gnulib/getopt1.c
- create mode 100644 gnulib/getopt_int.h
- create mode 100644 gnulib/gettext.h
- create mode 100644 gnulib/m4/00gnulib.m4
- create mode 100644 gnulib/m4/extensions.m4
- create mode 100644 gnulib/m4/getopt.m4
- create mode 100644 gnulib/m4/gnulib-cache.m4
- create mode 100644 gnulib/m4/gnulib-common.m4
- create mode 100644 gnulib/m4/gnulib-comp.m4
- create mode 100644 gnulib/m4/gnulib-tool.m4
- create mode 100644 gnulib/m4/include_next.m4
- create mode 100644 gnulib/m4/onceonly.m4
- create mode 100644 gnulib/m4/stddef_h.m4
- create mode 100644 gnulib/m4/unistd_h.m4
- create mode 100644 gnulib/m4/wchar_t.m4
- create mode 100644 gnulib/stddef.in.h
- create mode 100644 gnulib/unistd.in.h
- create mode 100644 link-warning.h
-
-diff --git a/gnulib/Makefile.am b/gnulib/Makefile.am
-new file mode 100644
-index 0000000..ddcdb88
---- /dev/null
-+++ b/gnulib/Makefile.am
-@@ -0,0 +1,207 @@
-+## DO NOT EDIT! GENERATED AUTOMATICALLY!
-+## Process this file with automake to produce Makefile.in.
-+# Copyright (C) 2002-2009 Free Software Foundation, Inc.
-+#
-+# This file is free software, distributed under the terms of the GNU
-+# General Public License. As a special exception to the GNU General
-+# Public License, this file may be distributed as part of a program
-+# that contains a configuration script generated by Autoconf, under
-+# the same distribution terms as the rest of that program.
-+#
-+# Generated by gnulib-tool.
-+# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib --m4-base=gnulib/m4 --doc-base=doc --tests-base=tests --aux-dir=. --libtool --macro-prefix=gl --no-vc-files getopt-gnu
-+
-+AUTOMAKE_OPTIONS = 1.5 gnits
-+
-+SUBDIRS =
-+noinst_HEADERS =
-+noinst_LIBRARIES =
-+noinst_LTLIBRARIES =
-+EXTRA_DIST =
-+BUILT_SOURCES =
-+SUFFIXES =
-+MOSTLYCLEANFILES = core *.stackdump
-+MOSTLYCLEANDIRS =
-+CLEANFILES =
-+DISTCLEANFILES =
-+MAINTAINERCLEANFILES =
-+EXTRA_DIST += m4/gnulib-cache.m4
-+
-+AM_CPPFLAGS =
-+AM_CFLAGS =
-+
-+noinst_LTLIBRARIES += libgnu.la
-+
-+libgnu_la_SOURCES =
-+libgnu_la_LIBADD = $(gl_LTLIBOBJS)
-+libgnu_la_DEPENDENCIES = $(gl_LTLIBOBJS)
-+EXTRA_libgnu_la_SOURCES =
-+libgnu_la_LDFLAGS = $(AM_LDFLAGS)
-+
-+## begin gnulib module getopt-posix
-+
-+BUILT_SOURCES += $(GETOPT_H)
-+
-+# We need the following in order to create <getopt.h> when the system
-+# doesn't have one that works with the given compiler.
-+getopt.h: getopt.in.h
-+ $(AM_V_GEN)rm -f $@-t $@ && \
-+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-+ sed -e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_H)|g' \
-+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-+ -e 's|@''NEXT_GETOPT_H''@|$(NEXT_GETOPT_H)|g' \
-+ -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
-+ < $(srcdir)/getopt.in.h; \
-+ } > $@-t && \
-+ mv -f $@-t $@
-+MOSTLYCLEANFILES += getopt.h getopt.h-t
-+
-+## end gnulib module getopt-posix
-+
-+## begin gnulib module gettext-h
-+
-+libgnu_la_SOURCES += gettext.h
-+
-+## end gnulib module gettext-h
-+
-+## begin gnulib module link-warning
-+
-+LINK_WARNING_H=$(top_srcdir)/./link-warning.h
-+
-+## end gnulib module link-warning
-+
-+## begin gnulib module stddef
-+
-+BUILT_SOURCES += $(STDDEF_H)
-+
-+# We need the following in order to create <stddef.h> when the system
-+# doesn't have one that works with the given compiler.
-+stddef.h: stddef.in.h
-+ $(AM_V_GEN)rm -f $@-t $@ && \
-+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-+ sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-+ -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \
-+ -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \
-+ -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \
-+ < $(srcdir)/stddef.in.h; \
-+ } > $@-t && \
-+ mv $@-t $@
-+MOSTLYCLEANFILES += stddef.h stddef.h-t
-+
-+## end gnulib module stddef
-+
-+## begin gnulib module unistd
-+
-+BUILT_SOURCES += unistd.h
-+
-+# We need the following in order to create an empty placeholder for
-+# <unistd.h> when the system doesn't have one.
-+unistd.h: unistd.in.h
-+ $(AM_V_GEN)rm -f $@-t $@ && \
-+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-+ 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|@''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_GETHOSTNAME''@|$(GNULIB_GETHOSTNAME)|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_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_PIPE2''@|$(GNULIB_PIPE2)|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_UNISTD_H_GETOPT''@|$(GNULIB_UNISTD_H_GETOPT)|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_WRITE''@|$(GNULIB_WRITE)|g' \
-+ -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \
-+ -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \
-+ -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \
-+ -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \
-+ -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \
-+ -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \
-+ -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
-+ -e 's|@''HAVE_GETDOMAINNAME''@|$(HAVE_GETDOMAINNAME)|g' \
-+ -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \
-+ -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
-+ -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
-+ -e 's|@''HAVE_GETUSERSHELL''@|$(HAVE_GETUSERSHELL)|g' \
-+ -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \
-+ -e 's|@''HAVE_LINKAT''@|$(HAVE_LINKAT)|g' \
-+ -e 's|@''HAVE_PIPE2''@|$(HAVE_PIPE2)|g' \
-+ -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \
-+ -e 's|@''HAVE_READLINKAT''@|$(HAVE_READLINKAT)|g' \
-+ -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \
-+ -e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \
-+ -e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \
-+ -e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \
-+ -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
-+ -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
-+ -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
-+ -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
-+ -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
-+ -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \
-+ -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \
-+ -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \
-+ -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \
-+ -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \
-+ -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
-+ -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
-+ -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
-+ -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \
-+ -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \
-+ -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \
-+ -e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \
-+ -e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \
-+ -e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \
-+ -e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \
-+ -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \
-+ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \
-+ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \
-+ -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
-+ < $(srcdir)/unistd.in.h; \
-+ } > $@-t && \
-+ mv $@-t $@
-+MOSTLYCLEANFILES += unistd.h unistd.h-t
-+
-+## end gnulib module unistd
-+
-+## begin gnulib module dummy
-+
-+libgnu_la_SOURCES += dummy.c
-+
-+## end gnulib module dummy
-+
-+
-+mostlyclean-local: mostlyclean-generic
-+ @for dir in '' $(MOSTLYCLEANDIRS); do \
-+ if test -n "$$dir" && test -d $$dir; then \
-+ echo "rmdir $$dir"; rmdir $$dir; \
-+ fi; \
-+ done; \
-+ :
-diff --git a/gnulib/dummy.c b/gnulib/dummy.c
-new file mode 100644
-index 0000000..ccb5c26
---- /dev/null
-+++ b/gnulib/dummy.c
-@@ -0,0 +1,42 @@
-+/* A dummy file, to prevent empty libraries from breaking builds.
-+ Copyright (C) 2004, 2007 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/>. */
-+
-+/* Some systems, reportedly OpenBSD and Mac OS X, refuse to create
-+ libraries without any object files. You might get an error like:
-+
-+ > ar cru .libs/libgl.a
-+ > ar: no archive members specified
-+
-+ Compiling this file, and adding its object file to the library, will
-+ prevent the library from being empty. */
-+
-+/* Some systems, such as Solaris with cc 5.0, refuse to work with libraries
-+ that don't export any symbol. You might get an error like:
-+
-+ > cc ... libgnu.a
-+ > ild: (bad file) garbled symbol table in archive ../gllib/libgnu.a
-+
-+ Compiling this file, and adding its object file to the library, will
-+ prevent the library from exporting no symbols. */
-+
-+#ifdef __sun
-+/* This declaration ensures that the library will export at least 1 symbol. */
-+int gl_dummy_symbol;
-+#else
-+/* This declaration is solely to ensure that after preprocessing
-+ this file is never empty. */
-+typedef int dummy;
-+#endif
-diff --git a/gnulib/getopt.c b/gnulib/getopt.c
-new file mode 100644
-index 0000000..f1e6d1f
---- /dev/null
-+++ b/gnulib/getopt.c
-@@ -0,0 +1,1186 @@
-+/* Getopt for GNU.
-+ NOTE: getopt is now part of the C library, so if you don't know what
-+ "Keep this file name-space clean" means, talk to drepper at gnu.org
-+ before changing it!
-+ Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001,2002,2003,2004,2006,2008
-+ Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+
-+ 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 _LIBC
-+# include <config.h>
-+#endif
-+
-+#include "getopt.h"
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include <unistd.h>
-+
-+#ifdef _LIBC
-+# include <libintl.h>
-+#else
-+# include "gettext.h"
-+# define _(msgid) gettext (msgid)
-+#endif
-+
-+#if defined _LIBC && defined USE_IN_LIBIO
-+# include <wchar.h>
-+#endif
-+
-+#ifndef attribute_hidden
-+# define attribute_hidden
-+#endif
-+
-+/* Unlike standard Unix `getopt', functions like `getopt_long'
-+ let the user intersperse the options with the other arguments.
-+
-+ As `getopt_long' works, it permutes the elements of ARGV so that,
-+ when it is done, all the options precede everything else. Thus
-+ all application programs are extended to handle flexible argument order.
-+
-+ Using `getopt' or setting the environment variable POSIXLY_CORRECT
-+ disables permutation.
-+ Then the application's behavior is completely standard.
-+
-+ GNU application programs can use a third alternative mode in which
-+ they can distinguish the relative order of options and other arguments. */
-+
-+#include "getopt_int.h"
-+
-+/* For communication from `getopt' to the caller.
-+ When `getopt' finds an option that takes an argument,
-+ the argument value is returned here.
-+ Also, when `ordering' is RETURN_IN_ORDER,
-+ each non-option ARGV-element is returned here. */
-+
-+char *optarg;
-+
-+/* Index in ARGV of the next element to be scanned.
-+ This is used for communication to and from the caller
-+ and for communication between successive calls to `getopt'.
-+
-+ On entry to `getopt', zero means this is the first call; initialize.
-+
-+ When `getopt' returns -1, this is the index of the first of the
-+ non-option elements that the caller should itself scan.
-+
-+ Otherwise, `optind' communicates from one call to the next
-+ how much of ARGV has been scanned so far. */
-+
-+/* 1003.2 says this must be 1 before any call. */
-+int optind = 1;
-+
-+/* Callers store zero here to inhibit the error message
-+ for unrecognized options. */
-+
-+int opterr = 1;
-+
-+/* Set to an option character which was unrecognized.
-+ This must be initialized on some systems to avoid linking in the
-+ system's own getopt implementation. */
-+
-+int optopt = '?';
-+
-+/* Keep a global copy of all internal members of getopt_data. */
-+
-+static struct _getopt_data getopt_data;
-+
-+
-+#if defined HAVE_DECL_GETENV && !HAVE_DECL_GETENV
-+extern char *getenv ();
-+#endif
-+
-+#ifdef _LIBC
-+/* Stored original parameters.
-+ XXX This is no good solution. We should rather copy the args so
-+ that we can compare them later. But we must not use malloc(3). */
-+extern int __libc_argc;
-+extern char **__libc_argv;
-+
-+/* Bash 2.0 gives us an environment variable containing flags
-+ indicating ARGV elements that should not be considered arguments. */
-+
-+# ifdef USE_NONOPTION_FLAGS
-+/* Defined in getopt_init.c */
-+extern char *__getopt_nonoption_flags;
-+# endif
-+
-+# ifdef USE_NONOPTION_FLAGS
-+# define SWAP_FLAGS(ch1, ch2) \
-+ if (d->__nonoption_flags_len > 0) \
-+ { \
-+ char __tmp = __getopt_nonoption_flags[ch1]; \
-+ __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \
-+ __getopt_nonoption_flags[ch2] = __tmp; \
-+ }
-+# else
-+# define SWAP_FLAGS(ch1, ch2)
-+# endif
-+#else /* !_LIBC */
-+# define SWAP_FLAGS(ch1, ch2)
-+#endif /* _LIBC */
-+
-+/* Exchange two adjacent subsequences of ARGV.
-+ One subsequence is elements [first_nonopt,last_nonopt)
-+ which contains all the non-options that have been skipped so far.
-+ The other is elements [last_nonopt,optind), which contains all
-+ the options processed since those non-options were skipped.
-+
-+ `first_nonopt' and `last_nonopt' are relocated so that they describe
-+ the new indices of the non-options in ARGV after they are moved. */
-+
-+static void
-+exchange (char **argv, struct _getopt_data *d)
-+{
-+ int bottom = d->__first_nonopt;
-+ int middle = d->__last_nonopt;
-+ int top = d->optind;
-+ char *tem;
-+
-+ /* Exchange the shorter segment with the far end of the longer segment.
-+ That puts the shorter segment into the right place.
-+ It leaves the longer segment in the right place overall,
-+ but it consists of two parts that need to be swapped next. */
-+
-+#if defined _LIBC && defined USE_NONOPTION_FLAGS
-+ /* First make sure the handling of the `__getopt_nonoption_flags'
-+ string can work normally. Our top argument must be in the range
-+ of the string. */
-+ if (d->__nonoption_flags_len > 0 && top >= d->__nonoption_flags_max_len)
-+ {
-+ /* We must extend the array. The user plays games with us and
-+ presents new arguments. */
-+ char *new_str = malloc (top + 1);
-+ if (new_str == NULL)
-+ d->__nonoption_flags_len = d->__nonoption_flags_max_len = 0;
-+ else
-+ {
-+ memset (__mempcpy (new_str, __getopt_nonoption_flags,
-+ d->__nonoption_flags_max_len),
-+ '\0', top + 1 - d->__nonoption_flags_max_len);
-+ d->__nonoption_flags_max_len = top + 1;
-+ __getopt_nonoption_flags = new_str;
-+ }
-+ }
-+#endif
-+
-+ while (top > middle && middle > bottom)
-+ {
-+ if (top - middle > middle - bottom)
-+ {
-+ /* Bottom segment is the short one. */
-+ int len = middle - bottom;
-+ register int i;
-+
-+ /* Swap it with the top part of the top segment. */
-+ for (i = 0; i < len; i++)
-+ {
-+ tem = argv[bottom + i];
-+ argv[bottom + i] = argv[top - (middle - bottom) + i];
-+ argv[top - (middle - bottom) + i] = tem;
-+ SWAP_FLAGS (bottom + i, top - (middle - bottom) + i);
-+ }
-+ /* Exclude the moved bottom segment from further swapping. */
-+ top -= len;
-+ }
-+ else
-+ {
-+ /* Top segment is the short one. */
-+ int len = top - middle;
-+ register int i;
-+
-+ /* Swap it with the bottom part of the bottom segment. */
-+ for (i = 0; i < len; i++)
-+ {
-+ tem = argv[bottom + i];
-+ argv[bottom + i] = argv[middle + i];
-+ argv[middle + i] = tem;
-+ SWAP_FLAGS (bottom + i, middle + i);
-+ }
-+ /* Exclude the moved top segment from further swapping. */
-+ bottom += len;
-+ }
-+ }
-+
-+ /* Update records for the slots the non-options now occupy. */
-+
-+ d->__first_nonopt += (d->optind - d->__last_nonopt);
-+ d->__last_nonopt = d->optind;
-+}
-+
-+/* Initialize the internal data when the first call is made. */
-+
-+static const char *
-+_getopt_initialize (int argc, char **argv, const char *optstring,
-+ int posixly_correct, struct _getopt_data *d)
-+{
-+ /* Start processing options with ARGV-element 1 (since ARGV-element 0
-+ is the program name); the sequence of previously skipped
-+ non-option ARGV-elements is empty. */
-+
-+ d->__first_nonopt = d->__last_nonopt = d->optind;
-+
-+ d->__nextchar = NULL;
-+
-+ d->__posixly_correct = posixly_correct || !!getenv ("POSIXLY_CORRECT");
-+
-+ /* Determine how to handle the ordering of options and nonoptions. */
-+
-+ if (optstring[0] == '-')
-+ {
-+ d->__ordering = RETURN_IN_ORDER;
-+ ++optstring;
-+ }
-+ else if (optstring[0] == '+')
-+ {
-+ d->__ordering = REQUIRE_ORDER;
-+ ++optstring;
-+ }
-+ else if (d->__posixly_correct)
-+ d->__ordering = REQUIRE_ORDER;
-+ else
-+ d->__ordering = PERMUTE;
-+
-+#if defined _LIBC && defined USE_NONOPTION_FLAGS
-+ if (!d->__posixly_correct
-+ && argc == __libc_argc && argv == __libc_argv)
-+ {
-+ if (d->__nonoption_flags_max_len == 0)
-+ {
-+ if (__getopt_nonoption_flags == NULL
-+ || __getopt_nonoption_flags[0] == '\0')
-+ d->__nonoption_flags_max_len = -1;
-+ else
-+ {
-+ const char *orig_str = __getopt_nonoption_flags;
-+ int len = d->__nonoption_flags_max_len = strlen (orig_str);
-+ if (d->__nonoption_flags_max_len < argc)
-+ d->__nonoption_flags_max_len = argc;
-+ __getopt_nonoption_flags =
-+ (char *) malloc (d->__nonoption_flags_max_len);
-+ if (__getopt_nonoption_flags == NULL)
-+ d->__nonoption_flags_max_len = -1;
-+ else
-+ memset (__mempcpy (__getopt_nonoption_flags, orig_str, len),
-+ '\0', d->__nonoption_flags_max_len - len);
-+ }
-+ }
-+ d->__nonoption_flags_len = d->__nonoption_flags_max_len;
-+ }
-+ else
-+ d->__nonoption_flags_len = 0;
-+#endif
-+
-+ return optstring;
-+}
-+
-+/* Scan elements of ARGV (whose length is ARGC) for option characters
-+ given in OPTSTRING.
-+
-+ If an element of ARGV starts with '-', and is not exactly "-" or "--",
-+ then it is an option element. The characters of this element
-+ (aside from the initial '-') are option characters. If `getopt'
-+ is called repeatedly, it returns successively each of the option characters
-+ from each of the option elements.
-+
-+ If `getopt' finds another option character, it returns that character,
-+ updating `optind' and `nextchar' so that the next call to `getopt' can
-+ resume the scan with the following option character or ARGV-element.
-+
-+ If there are no more option characters, `getopt' returns -1.
-+ Then `optind' is the index in ARGV of the first ARGV-element
-+ that is not an option. (The ARGV-elements have been permuted
-+ so that those that are not options now come last.)
-+
-+ OPTSTRING is a string containing the legitimate option characters.
-+ If an option character is seen that is not listed in OPTSTRING,
-+ return '?' after printing an error message. If you set `opterr' to
-+ zero, the error message is suppressed but we still return '?'.
-+
-+ If a char in OPTSTRING is followed by a colon, that means it wants an arg,
-+ so the following text in the same ARGV-element, or the text of the following
-+ ARGV-element, is returned in `optarg'. Two colons mean an option that
-+ wants an optional arg; if there is text in the current ARGV-element,
-+ it is returned in `optarg', otherwise `optarg' is set to zero.
-+
-+ If OPTSTRING starts with `-' or `+', it requests different methods of
-+ handling the non-option ARGV-elements.
-+ See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above.
-+
-+ Long-named options begin with `--' instead of `-'.
-+ Their names may be abbreviated as long as the abbreviation is unique
-+ or is an exact match for some defined option. If they have an
-+ argument, it follows the option name in the same ARGV-element, separated
-+ from the option name by a `=', or else the in next ARGV-element.
-+ When `getopt' finds a long-named option, it returns 0 if that option's
-+ `flag' field is nonzero, the value of the option's `val' field
-+ if the `flag' field is zero.
-+
-+ LONGOPTS is a vector of `struct option' terminated by an
-+ element containing a name which is zero.
-+
-+ LONGIND returns the index in LONGOPT of the long-named option found.
-+ It is only valid when a long-named option has been found by the most
-+ recent call.
-+
-+ If LONG_ONLY is nonzero, '-' as well as '--' can introduce
-+ long-named options.
-+
-+ If POSIXLY_CORRECT is nonzero, behave as if the POSIXLY_CORRECT
-+ environment variable were set. */
-+
-+int
-+_getopt_internal_r (int argc, char **argv, const char *optstring,
-+ const struct option *longopts, int *longind,
-+ int long_only, int posixly_correct, struct _getopt_data *d)
-+{
-+ int print_errors = d->opterr;
-+ if (optstring[0] == ':')
-+ print_errors = 0;
-+
-+ if (argc < 1)
-+ return -1;
-+
-+ d->optarg = NULL;
-+
-+ if (d->optind == 0 || !d->__initialized)
-+ {
-+ if (d->optind == 0)
-+ d->optind = 1; /* Don't scan ARGV[0], the program name. */
-+ optstring = _getopt_initialize (argc, argv, optstring,
-+ posixly_correct, d);
-+ d->__initialized = 1;
-+ }
-+
-+ /* Test whether ARGV[optind] points to a non-option argument.
-+ Either it does not have option syntax, or there is an environment flag
-+ from the shell indicating it is not an option. The later information
-+ is only used when the used in the GNU libc. */
-+#if defined _LIBC && defined USE_NONOPTION_FLAGS
-+# define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0' \
-+ || (d->optind < d->__nonoption_flags_len \
-+ && __getopt_nonoption_flags[d->optind] == '1'))
-+#else
-+# define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0')
-+#endif
-+
-+ if (d->__nextchar == NULL || *d->__nextchar == '\0')
-+ {
-+ /* Advance to the next ARGV-element. */
-+
-+ /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been
-+ moved back by the user (who may also have changed the arguments). */
-+ if (d->__last_nonopt > d->optind)
-+ d->__last_nonopt = d->optind;
-+ if (d->__first_nonopt > d->optind)
-+ d->__first_nonopt = d->optind;
-+
-+ if (d->__ordering == PERMUTE)
-+ {
-+ /* If we have just processed some options following some non-options,
-+ exchange them so that the options come first. */
-+
-+ if (d->__first_nonopt != d->__last_nonopt
-+ && d->__last_nonopt != d->optind)
-+ exchange ((char **) argv, d);
-+ else if (d->__last_nonopt != d->optind)
-+ d->__first_nonopt = d->optind;
-+
-+ /* Skip any additional non-options
-+ and extend the range of non-options previously skipped. */
-+
-+ while (d->optind < argc && NONOPTION_P)
-+ d->optind++;
-+ d->__last_nonopt = d->optind;
-+ }
-+
-+ /* The special ARGV-element `--' means premature end of options.
-+ Skip it like a null option,
-+ then exchange with previous non-options as if it were an option,
-+ then skip everything else like a non-option. */
-+
-+ if (d->optind != argc && !strcmp (argv[d->optind], "--"))
-+ {
-+ d->optind++;
-+
-+ if (d->__first_nonopt != d->__last_nonopt
-+ && d->__last_nonopt != d->optind)
-+ exchange ((char **) argv, d);
-+ else if (d->__first_nonopt == d->__last_nonopt)
-+ d->__first_nonopt = d->optind;
-+ d->__last_nonopt = argc;
-+
-+ d->optind = argc;
-+ }
-+
-+ /* If we have done all the ARGV-elements, stop the scan
-+ and back over any non-options that we skipped and permuted. */
-+
-+ if (d->optind == argc)
-+ {
-+ /* Set the next-arg-index to point at the non-options
-+ that we previously skipped, so the caller will digest them. */
-+ if (d->__first_nonopt != d->__last_nonopt)
-+ d->optind = d->__first_nonopt;
-+ return -1;
-+ }
-+
-+ /* If we have come to a non-option and did not permute it,
-+ either stop the scan or describe it to the caller and pass it by. */
-+
-+ if (NONOPTION_P)
-+ {
-+ if (d->__ordering == REQUIRE_ORDER)
-+ return -1;
-+ d->optarg = argv[d->optind++];
-+ return 1;
-+ }
-+
-+ /* We have found another option-ARGV-element.
-+ Skip the initial punctuation. */
-+
-+ d->__nextchar = (argv[d->optind] + 1
-+ + (longopts != NULL && argv[d->optind][1] == '-'));
-+ }
-+
-+ /* Decode the current option-ARGV-element. */
-+
-+ /* Check whether the ARGV-element is a long option.
-+
-+ If long_only and the ARGV-element has the form "-f", where f is
-+ a valid short option, don't consider it an abbreviated form of
-+ a long option that starts with f. Otherwise there would be no
-+ way to give the -f short option.
-+
-+ On the other hand, if there's a long option "fubar" and
-+ the ARGV-element is "-fu", do consider that an abbreviation of
-+ the long option, just like "--fu", and not "-f" with arg "u".
-+
-+ This distinction seems to be the most useful approach. */
-+
-+ if (longopts != NULL
-+ && (argv[d->optind][1] == '-'
-+ || (long_only && (argv[d->optind][2]
-+ || !strchr (optstring, argv[d->optind][1])))))
-+ {
-+ char *nameend;
-+ const struct option *p;
-+ const struct option *pfound = NULL;
-+ int exact = 0;
-+ int ambig = 0;
-+ int indfound = -1;
-+ int option_index;
-+
-+ for (nameend = d->__nextchar; *nameend && *nameend != '='; nameend++)
-+ /* Do nothing. */ ;
-+
-+ /* Test all long options for either exact match
-+ or abbreviated matches. */
-+ for (p = longopts, option_index = 0; p->name; p++, option_index++)
-+ if (!strncmp (p->name, d->__nextchar, nameend - d->__nextchar))
-+ {
-+ if ((unsigned int) (nameend - d->__nextchar)
-+ == (unsigned int) strlen (p->name))
-+ {
-+ /* Exact match found. */
-+ pfound = p;
-+ indfound = option_index;
-+ exact = 1;
-+ break;
-+ }
-+ else if (pfound == NULL)
-+ {
-+ /* First nonexact match found. */
-+ pfound = p;
-+ indfound = option_index;
-+ }
-+ else if (long_only
-+ || pfound->has_arg != p->has_arg
-+ || pfound->flag != p->flag
-+ || pfound->val != p->val)
-+ /* Second or later nonexact match found. */
-+ ambig = 1;
-+ }
-+
-+ if (ambig && !exact)
-+ {
-+ if (print_errors)
-+ {
-+#if defined _LIBC && defined USE_IN_LIBIO
-+ char *buf;
-+
-+ if (__asprintf (&buf, _("%s: option `%s' is ambiguous\n"),
-+ argv[0], argv[d->optind]) >= 0)
-+ {
-+ _IO_flockfile (stderr);
-+
-+ int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-+ ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
-+
-+ __fxprintf (NULL, "%s", buf);
-+
-+ ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-+ _IO_funlockfile (stderr);
-+
-+ free (buf);
-+ }
-+#else
-+ fprintf (stderr, _("%s: option `%s' is ambiguous\n"),
-+ argv[0], argv[d->optind]);
-+#endif
-+ }
-+ d->__nextchar += strlen (d->__nextchar);
-+ d->optind++;
-+ d->optopt = 0;
-+ return '?';
-+ }
-+
-+ if (pfound != NULL)
-+ {
-+ option_index = indfound;
-+ d->optind++;
-+ if (*nameend)
-+ {
-+ /* Don't test has_arg with >, because some C compilers don't
-+ allow it to be used on enums. */
-+ if (pfound->has_arg)
-+ d->optarg = nameend + 1;
-+ else
-+ {
-+ if (print_errors)
-+ {
-+#if defined _LIBC && defined USE_IN_LIBIO
-+ char *buf;
-+ int n;
-+#endif
-+
-+ if (argv[d->optind - 1][1] == '-')
-+ {
-+ /* --option */
-+#if defined _LIBC && defined USE_IN_LIBIO
-+ n = __asprintf (&buf, _("\
-+%s: option `--%s' doesn't allow an argument\n"),
-+ argv[0], pfound->name);
-+#else
-+ fprintf (stderr, _("\
-+%s: option `--%s' doesn't allow an argument\n"),
-+ argv[0], pfound->name);
-+#endif
-+ }
-+ else
-+ {
-+ /* +option or -option */
-+#if defined _LIBC && defined USE_IN_LIBIO
-+ n = __asprintf (&buf, _("\
-+%s: option `%c%s' doesn't allow an argument\n"),
-+ argv[0], argv[d->optind - 1][0],
-+ pfound->name);
-+#else
-+ fprintf (stderr, _("\
-+%s: option `%c%s' doesn't allow an argument\n"),
-+ argv[0], argv[d->optind - 1][0],
-+ pfound->name);
-+#endif
-+ }
-+
-+#if defined _LIBC && defined USE_IN_LIBIO
-+ if (n >= 0)
-+ {
-+ _IO_flockfile (stderr);
-+
-+ int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-+ ((_IO_FILE *) stderr)->_flags2
-+ |= _IO_FLAGS2_NOTCANCEL;
-+
-+ __fxprintf (NULL, "%s", buf);
-+
-+ ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-+ _IO_funlockfile (stderr);
-+
-+ free (buf);
-+ }
-+#endif
-+ }
-+
-+ d->__nextchar += strlen (d->__nextchar);
-+
-+ d->optopt = pfound->val;
-+ return '?';
-+ }
-+ }
-+ else if (pfound->has_arg == 1)
-+ {
-+ if (d->optind < argc)
-+ d->optarg = argv[d->optind++];
-+ else
-+ {
-+ if (print_errors)
-+ {
-+#if defined _LIBC && defined USE_IN_LIBIO
-+ char *buf;
-+
-+ if (__asprintf (&buf, _("\
-+%s: option `%s' requires an argument\n"),
-+ argv[0], argv[d->optind - 1]) >= 0)
-+ {
-+ _IO_flockfile (stderr);
-+
-+ int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-+ ((_IO_FILE *) stderr)->_flags2
-+ |= _IO_FLAGS2_NOTCANCEL;
-+
-+ __fxprintf (NULL, "%s", buf);
-+
-+ ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-+ _IO_funlockfile (stderr);
-+
-+ free (buf);
-+ }
-+#else
-+ fprintf (stderr,
-+ _("%s: option `%s' requires an argument\n"),
-+ argv[0], argv[d->optind - 1]);
-+#endif
-+ }
-+ d->__nextchar += strlen (d->__nextchar);
-+ d->optopt = pfound->val;
-+ return optstring[0] == ':' ? ':' : '?';
-+ }
-+ }
-+ d->__nextchar += strlen (d->__nextchar);
-+ if (longind != NULL)
-+ *longind = option_index;
-+ if (pfound->flag)
-+ {
-+ *(pfound->flag) = pfound->val;
-+ return 0;
-+ }
-+ return pfound->val;
-+ }
-+
-+ /* Can't find it as a long option. If this is not getopt_long_only,
-+ or the option starts with '--' or is not a valid short
-+ option, then it's an error.
-+ Otherwise interpret it as a short option. */
-+ if (!long_only || argv[d->optind][1] == '-'
-+ || strchr (optstring, *d->__nextchar) == NULL)
-+ {
-+ if (print_errors)
-+ {
-+#if defined _LIBC && defined USE_IN_LIBIO
-+ char *buf;
-+ int n;
-+#endif
-+
-+ if (argv[d->optind][1] == '-')
-+ {
-+ /* --option */
-+#if defined _LIBC && defined USE_IN_LIBIO
-+ n = __asprintf (&buf, _("%s: unrecognized option `--%s'\n"),
-+ argv[0], d->__nextchar);
-+#else
-+ fprintf (stderr, _("%s: unrecognized option `--%s'\n"),
-+ argv[0], d->__nextchar);
-+#endif
-+ }
-+ else
-+ {
-+ /* +option or -option */
-+#if defined _LIBC && defined USE_IN_LIBIO
-+ n = __asprintf (&buf, _("%s: unrecognized option `%c%s'\n"),
-+ argv[0], argv[d->optind][0], d->__nextchar);
-+#else
-+ fprintf (stderr, _("%s: unrecognized option `%c%s'\n"),
-+ argv[0], argv[d->optind][0], d->__nextchar);
-+#endif
-+ }
-+
-+#if defined _LIBC && defined USE_IN_LIBIO
-+ if (n >= 0)
-+ {
-+ _IO_flockfile (stderr);
-+
-+ int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-+ ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
-+
-+ __fxprintf (NULL, "%s", buf);
-+
-+ ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-+ _IO_funlockfile (stderr);
-+
-+ free (buf);
-+ }
-+#endif
-+ }
-+ d->__nextchar = (char *) "";
-+ d->optind++;
-+ d->optopt = 0;
-+ return '?';
-+ }
-+ }
-+
-+ /* Look at and handle the next short option-character. */
-+
-+ {
-+ char c = *d->__nextchar++;
-+ char *temp = strchr (optstring, c);
-+
-+ /* Increment `optind' when we start to process its last character. */
-+ if (*d->__nextchar == '\0')
-+ ++d->optind;
-+
-+ if (temp == NULL || c == ':')
-+ {
-+ if (print_errors)
-+ {
-+#if defined _LIBC && defined USE_IN_LIBIO
-+ char *buf;
-+ int n;
-+#endif
-+
-+ if (d->__posixly_correct)
-+ {
-+ /* 1003.2 specifies the format of this message. */
-+#if defined _LIBC && defined USE_IN_LIBIO
-+ n = __asprintf (&buf, _("%s: illegal option -- %c\n"),
-+ argv[0], c);
-+#else
-+ fprintf (stderr, _("%s: illegal option -- %c\n"), argv[0], c);
-+#endif
-+ }
-+ else
-+ {
-+#if defined _LIBC && defined USE_IN_LIBIO
-+ n = __asprintf (&buf, _("%s: invalid option -- %c\n"),
-+ argv[0], c);
-+#else
-+ fprintf (stderr, _("%s: invalid option -- %c\n"), argv[0], c);
-+#endif
-+ }
-+
-+#if defined _LIBC && defined USE_IN_LIBIO
-+ if (n >= 0)
-+ {
-+ _IO_flockfile (stderr);
-+
-+ int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-+ ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
-+
-+ __fxprintf (NULL, "%s", buf);
-+
-+ ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-+ _IO_funlockfile (stderr);
-+
-+ free (buf);
-+ }
-+#endif
-+ }
-+ d->optopt = c;
-+ return '?';
-+ }
-+ /* Convenience. Treat POSIX -W foo same as long option --foo */
-+ if (temp[0] == 'W' && temp[1] == ';')
-+ {
-+ char *nameend;
-+ const struct option *p;
-+ const struct option *pfound = NULL;
-+ int exact = 0;
-+ int ambig = 0;
-+ int indfound = 0;
-+ int option_index;
-+
-+ /* This is an option that requires an argument. */
-+ if (*d->__nextchar != '\0')
-+ {
-+ d->optarg = d->__nextchar;
-+ /* If we end this ARGV-element by taking the rest as an arg,
-+ we must advance to the next element now. */
-+ d->optind++;
-+ }
-+ else if (d->optind == argc)
-+ {
-+ if (print_errors)
-+ {
-+ /* 1003.2 specifies the format of this message. */
-+#if defined _LIBC && defined USE_IN_LIBIO
-+ char *buf;
-+
-+ if (__asprintf (&buf,
-+ _("%s: option requires an argument -- %c\n"),
-+ argv[0], c) >= 0)
-+ {
-+ _IO_flockfile (stderr);
-+
-+ int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-+ ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
-+
-+ __fxprintf (NULL, "%s", buf);
-+
-+ ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-+ _IO_funlockfile (stderr);
-+
-+ free (buf);
-+ }
-+#else
-+ fprintf (stderr, _("%s: option requires an argument -- %c\n"),
-+ argv[0], c);
-+#endif
-+ }
-+ d->optopt = c;
-+ if (optstring[0] == ':')
-+ c = ':';
-+ else
-+ c = '?';
-+ return c;
-+ }
-+ else
-+ /* We already incremented `d->optind' once;
-+ increment it again when taking next ARGV-elt as argument. */
-+ d->optarg = argv[d->optind++];
-+
-+ /* optarg is now the argument, see if it's in the
-+ table of longopts. */
-+
-+ for (d->__nextchar = nameend = d->optarg; *nameend && *nameend != '=';
-+ nameend++)
-+ /* Do nothing. */ ;
-+
-+ /* Test all long options for either exact match
-+ or abbreviated matches. */
-+ for (p = longopts, option_index = 0; p->name; p++, option_index++)
-+ if (!strncmp (p->name, d->__nextchar, nameend - d->__nextchar))
-+ {
-+ if ((unsigned int) (nameend - d->__nextchar) == strlen (p->name))
-+ {
-+ /* Exact match found. */
-+ pfound = p;
-+ indfound = option_index;
-+ exact = 1;
-+ break;
-+ }
-+ else if (pfound == NULL)
-+ {
-+ /* First nonexact match found. */
-+ pfound = p;
-+ indfound = option_index;
-+ }
-+ else
-+ /* Second or later nonexact match found. */
-+ ambig = 1;
-+ }
-+ if (ambig && !exact)
-+ {
-+ if (print_errors)
-+ {
-+#if defined _LIBC && defined USE_IN_LIBIO
-+ char *buf;
-+
-+ if (__asprintf (&buf, _("%s: option `-W %s' is ambiguous\n"),
-+ argv[0], argv[d->optind]) >= 0)
-+ {
-+ _IO_flockfile (stderr);
-+
-+ int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-+ ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
-+
-+ __fxprintf (NULL, "%s", buf);
-+
-+ ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-+ _IO_funlockfile (stderr);
-+
-+ free (buf);
-+ }
-+#else
-+ fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
-+ argv[0], argv[d->optind]);
-+#endif
-+ }
-+ d->__nextchar += strlen (d->__nextchar);
-+ d->optind++;
-+ return '?';
-+ }
-+ if (pfound != NULL)
-+ {
-+ option_index = indfound;
-+ if (*nameend)
-+ {
-+ /* Don't test has_arg with >, because some C compilers don't
-+ allow it to be used on enums. */
-+ if (pfound->has_arg)
-+ d->optarg = nameend + 1;
-+ else
-+ {
-+ if (print_errors)
-+ {
-+#if defined _LIBC && defined USE_IN_LIBIO
-+ char *buf;
-+
-+ if (__asprintf (&buf, _("\
-+%s: option `-W %s' doesn't allow an argument\n"),
-+ argv[0], pfound->name) >= 0)
-+ {
-+ _IO_flockfile (stderr);
-+
-+ int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-+ ((_IO_FILE *) stderr)->_flags2
-+ |= _IO_FLAGS2_NOTCANCEL;
-+
-+ __fxprintf (NULL, "%s", buf);
-+
-+ ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-+ _IO_funlockfile (stderr);
-+
-+ free (buf);
-+ }
-+#else
-+ fprintf (stderr, _("\
-+%s: option `-W %s' doesn't allow an argument\n"),
-+ argv[0], pfound->name);
-+#endif
-+ }
-+
-+ d->__nextchar += strlen (d->__nextchar);
-+ return '?';
-+ }
-+ }
-+ else if (pfound->has_arg == 1)
-+ {
-+ if (d->optind < argc)
-+ d->optarg = argv[d->optind++];
-+ else
-+ {
-+ if (print_errors)
-+ {
-+#if defined _LIBC && defined USE_IN_LIBIO
-+ char *buf;
-+
-+ if (__asprintf (&buf, _("\
-+%s: option `%s' requires an argument\n"),
-+ argv[0], argv[d->optind - 1]) >= 0)
-+ {
-+ _IO_flockfile (stderr);
-+
-+ int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-+ ((_IO_FILE *) stderr)->_flags2
-+ |= _IO_FLAGS2_NOTCANCEL;
-+
-+ __fxprintf (NULL, "%s", buf);
-+
-+ ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-+ _IO_funlockfile (stderr);
-+
-+ free (buf);
-+ }
-+#else
-+ fprintf (stderr,
-+ _("%s: option `%s' requires an argument\n"),
-+ argv[0], argv[d->optind - 1]);
-+#endif
-+ }
-+ d->__nextchar += strlen (d->__nextchar);
-+ return optstring[0] == ':' ? ':' : '?';
-+ }
-+ }
-+ d->__nextchar += strlen (d->__nextchar);
-+ if (longind != NULL)
-+ *longind = option_index;
-+ if (pfound->flag)
-+ {
-+ *(pfound->flag) = pfound->val;
-+ return 0;
-+ }
-+ return pfound->val;
-+ }
-+ d->__nextchar = NULL;
-+ return 'W'; /* Let the application handle it. */
-+ }
-+ if (temp[1] == ':')
-+ {
-+ if (temp[2] == ':')
-+ {
-+ /* This is an option that accepts an argument optionally. */
-+ if (*d->__nextchar != '\0')
-+ {
-+ d->optarg = d->__nextchar;
-+ d->optind++;
-+ }
-+ else
-+ d->optarg = NULL;
-+ d->__nextchar = NULL;
-+ }
-+ else
-+ {
-+ /* This is an option that requires an argument. */
-+ if (*d->__nextchar != '\0')
-+ {
-+ d->optarg = d->__nextchar;
-+ /* If we end this ARGV-element by taking the rest as an arg,
-+ we must advance to the next element now. */
-+ d->optind++;
-+ }
-+ else if (d->optind == argc)
-+ {
-+ if (print_errors)
-+ {
-+ /* 1003.2 specifies the format of this message. */
-+#if defined _LIBC && defined USE_IN_LIBIO
-+ char *buf;
-+
-+ if (__asprintf (&buf, _("\
-+%s: option requires an argument -- %c\n"),
-+ argv[0], c) >= 0)
-+ {
-+ _IO_flockfile (stderr);
-+
-+ int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-+ ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
-+
-+ __fxprintf (NULL, "%s", buf);
-+
-+ ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-+ _IO_funlockfile (stderr);
-+
-+ free (buf);
-+ }
-+#else
-+ fprintf (stderr,
-+ _("%s: option requires an argument -- %c\n"),
-+ argv[0], c);
-+#endif
-+ }
-+ d->optopt = c;
-+ if (optstring[0] == ':')
-+ c = ':';
-+ else
-+ c = '?';
-+ }
-+ else
-+ /* We already incremented `optind' once;
-+ increment it again when taking next ARGV-elt as argument. */
-+ d->optarg = argv[d->optind++];
-+ d->__nextchar = NULL;
-+ }
-+ }
-+ return c;
-+ }
-+}
-+
-+int
-+_getopt_internal (int argc, char **argv, const char *optstring,
-+ const struct option *longopts, int *longind,
-+ int long_only, int posixly_correct)
-+{
-+ int result;
-+
-+ getopt_data.optind = optind;
-+ getopt_data.opterr = opterr;
-+
-+ result = _getopt_internal_r (argc, argv, optstring, longopts, longind,
-+ long_only, posixly_correct, &getopt_data);
-+
-+ optind = getopt_data.optind;
-+ optarg = getopt_data.optarg;
-+ optopt = getopt_data.optopt;
-+
-+ return result;
-+}
-+
-+/* glibc gets a LSB-compliant getopt.
-+ Standalone applications get a POSIX-compliant getopt. */
-+#if _LIBC
-+enum { POSIXLY_CORRECT = 0 };
-+#else
-+enum { POSIXLY_CORRECT = 1 };
-+#endif
-+
-+int
-+getopt (int argc, char *const *argv, const char *optstring)
-+{
-+ return _getopt_internal (argc, (char **) argv, optstring, NULL, NULL, 0,
-+ POSIXLY_CORRECT);
-+}
-+
-+
-+#ifdef TEST
-+
-+/* Compile with -DTEST to make an executable for use in testing
-+ the above definition of `getopt'. */
-+
-+int
-+main (int argc, char **argv)
-+{
-+ int c;
-+ int digit_optind = 0;
-+
-+ while (1)
-+ {
-+ int this_option_optind = optind ? optind : 1;
-+
-+ c = getopt (argc, argv, "abc:d:0123456789");
-+ if (c == -1)
-+ break;
-+
-+ switch (c)
-+ {
-+ case '0':
-+ case '1':
-+ case '2':
-+ case '3':
-+ case '4':
-+ case '5':
-+ case '6':
-+ case '7':
-+ case '8':
-+ case '9':
-+ if (digit_optind != 0 && digit_optind != this_option_optind)
-+ printf ("digits occur in two different argv-elements.\n");
-+ digit_optind = this_option_optind;
-+ printf ("option %c\n", c);
-+ break;
-+
-+ case 'a':
-+ printf ("option a\n");
-+ break;
-+
-+ case 'b':
-+ printf ("option b\n");
-+ break;
-+
-+ case 'c':
-+ printf ("option c with value `%s'\n", optarg);
-+ break;
-+
-+ case '?':
-+ break;
-+
-+ default:
-+ printf ("?? getopt returned character code 0%o ??\n", c);
-+ }
-+ }
-+
-+ if (optind < argc)
-+ {
-+ printf ("non-option ARGV-elements: ");
-+ while (optind < argc)
-+ printf ("%s ", argv[optind++]);
-+ printf ("\n");
-+ }
-+
-+ exit (0);
-+}
-+
-+#endif /* TEST */
-diff --git a/gnulib/getopt.in.h b/gnulib/getopt.in.h
-new file mode 100644
-index 0000000..15c213f
---- /dev/null
-+++ b/gnulib/getopt.in.h
-@@ -0,0 +1,242 @@
-+/* Declarations for getopt.
-+ Copyright (C) 1989-1994,1996-1999,2001,2003,2004,2005,2006,2007,2009
-+ Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+
-+ 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_GETOPT_H
-+
-+#if __GNUC__ >= 3
-+ at PRAGMA_SYSTEM_HEADER@
-+#endif
-+
-+/* The include_next requires a split double-inclusion guard. */
-+#if @HAVE_GETOPT_H@
-+# @INCLUDE_NEXT@ @NEXT_GETOPT_H@
-+#endif
-+
-+#ifndef _GL_GETOPT_H
-+
-+#ifndef __need_getopt
-+# define _GL_GETOPT_H 1
-+#endif
-+
-+/* Standalone applications should #define __GETOPT_PREFIX to an
-+ identifier that prefixes the external functions and variables
-+ defined in this header. When this happens, include the
-+ headers that might declare getopt so that they will not cause
-+ confusion if included after this file (if the system had <getopt.h>,
-+ we have already included it). Then systematically rename
-+ identifiers so that they do not collide with the system functions
-+ and variables. Renaming avoids problems with some compilers and
-+ linkers. */
-+#if defined __GETOPT_PREFIX && !defined __need_getopt
-+# if !@HAVE_GETOPT_H@
-+# include <stdlib.h>
-+# include <stdio.h>
-+# include <unistd.h>
-+# endif
-+# undef __need_getopt
-+# undef getopt
-+# undef getopt_long
-+# undef getopt_long_only
-+# undef optarg
-+# undef opterr
-+# undef optind
-+# undef optopt
-+# undef option
-+# define __GETOPT_CONCAT(x, y) x ## y
-+# define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y)
-+# define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)
-+# define getopt __GETOPT_ID (getopt)
-+# define getopt_long __GETOPT_ID (getopt_long)
-+# define getopt_long_only __GETOPT_ID (getopt_long_only)
-+# define optarg __GETOPT_ID (optarg)
-+# define opterr __GETOPT_ID (opterr)
-+# define optind __GETOPT_ID (optind)
-+# define optopt __GETOPT_ID (optopt)
-+# define option __GETOPT_ID (option)
-+#endif
-+
-+/* Standalone applications get correct prototypes for getopt_long and
-+ getopt_long_only; they declare "char **argv". libc uses prototypes
-+ with "char *const *argv" that are incorrect because getopt_long and
-+ getopt_long_only can permute argv; this is required for backward
-+ compatibility (e.g., for LSB 2.0.1).
-+
-+ This used to be `#if defined __GETOPT_PREFIX && !defined __need_getopt',
-+ but it caused redefinition warnings if both unistd.h and getopt.h were
-+ included, since unistd.h includes getopt.h having previously defined
-+ __need_getopt.
-+
-+ The only place where __getopt_argv_const is used is in definitions
-+ of getopt_long and getopt_long_only below, but these are visible
-+ only if __need_getopt is not defined, so it is quite safe to rewrite
-+ the conditional as follows:
-+*/
-+#if !defined __need_getopt
-+# if defined __GETOPT_PREFIX
-+# define __getopt_argv_const /* empty */
-+# else
-+# define __getopt_argv_const const
-+# endif
-+#endif
-+
-+/* If __GNU_LIBRARY__ is not already defined, either we are being used
-+ standalone, or this is the first header included in the source file.
-+ If we are being used with glibc, we need to include <features.h>, but
-+ that does not exist if we are standalone. So: if __GNU_LIBRARY__ is
-+ not defined, include <ctype.h>, which will pull in <features.h> for us
-+ if it's from glibc. (Why ctype.h? It's guaranteed to exist and it
-+ doesn't flood the namespace with stuff the way some other headers do.) */
-+#if !defined __GNU_LIBRARY__
-+# include <ctype.h>
-+#endif
-+
-+#ifndef __THROW
-+# ifndef __GNUC_PREREQ
-+# define __GNUC_PREREQ(maj, min) (0)
-+# endif
-+# if defined __cplusplus && __GNUC_PREREQ (2,8)
-+# define __THROW throw ()
-+# else
-+# define __THROW
-+# endif
-+#endif
-+
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-+
-+/* For communication from `getopt' to the caller.
-+ When `getopt' finds an option that takes an argument,
-+ the argument value is returned here.
-+ Also, when `ordering' is RETURN_IN_ORDER,
-+ each non-option ARGV-element is returned here. */
-+
-+extern char *optarg;
-+
-+/* Index in ARGV of the next element to be scanned.
-+ This is used for communication to and from the caller
-+ and for communication between successive calls to `getopt'.
-+
-+ On entry to `getopt', zero means this is the first call; initialize.
-+
-+ When `getopt' returns -1, this is the index of the first of the
-+ non-option elements that the caller should itself scan.
-+
-+ Otherwise, `optind' communicates from one call to the next
-+ how much of ARGV has been scanned so far. */
-+
-+extern int optind;
-+
-+/* Callers store zero here to inhibit the error message `getopt' prints
-+ for unrecognized options. */
-+
-+extern int opterr;
-+
-+/* Set to an option character which was unrecognized. */
-+
-+extern int optopt;
-+
-+#ifndef __need_getopt
-+/* Describe the long-named options requested by the application.
-+ The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
-+ of `struct option' terminated by an element containing a name which is
-+ zero.
-+
-+ The field `has_arg' is:
-+ no_argument (or 0) if the option does not take an argument,
-+ required_argument (or 1) if the option requires an argument,
-+ optional_argument (or 2) if the option takes an optional argument.
-+
-+ If the field `flag' is not NULL, it points to a variable that is set
-+ to the value given in the field `val' when the option is found, but
-+ left unchanged if the option is not found.
-+
-+ To have a long-named option do something other than set an `int' to
-+ a compiled-in constant, such as set a value from `optarg', set the
-+ option's `flag' field to zero and its `val' field to a nonzero
-+ value (the equivalent single-letter option character, if there is
-+ one). For long options that have a zero `flag' field, `getopt'
-+ returns the contents of the `val' field. */
-+
-+struct option
-+{
-+ const char *name;
-+ /* has_arg can't be an enum because some compilers complain about
-+ type mismatches in all the code that assumes it is an int. */
-+ int has_arg;
-+ int *flag;
-+ int val;
-+};
-+
-+/* Names for the values of the `has_arg' field of `struct option'. */
-+
-+# define no_argument 0
-+# define required_argument 1
-+# define optional_argument 2
-+#endif /* need getopt */
-+
-+
-+/* Get definitions and prototypes for functions to process the
-+ arguments in ARGV (ARGC of them, minus the program name) for
-+ options given in OPTS.
-+
-+ Return the option character from OPTS just read. Return -1 when
-+ there are no more options. For unrecognized options, or options
-+ missing arguments, `optopt' is set to the option letter, and '?' is
-+ returned.
-+
-+ The OPTS string is a list of characters which are recognized option
-+ letters, optionally followed by colons, specifying that that letter
-+ takes an argument, to be placed in `optarg'.
-+
-+ If a letter in OPTS is followed by two colons, its argument is
-+ optional. This behavior is specific to the GNU `getopt'.
-+
-+ The argument `--' causes premature termination of argument
-+ scanning, explicitly telling `getopt' that there are no more
-+ options.
-+
-+ If OPTS begins with `-', then non-option arguments are treated as
-+ arguments to the option '\1'. This behavior is specific to the GNU
-+ `getopt'. If OPTS begins with `+', or POSIXLY_CORRECT is set in
-+ the environment, then do not permute arguments. */
-+
-+extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
-+ __THROW;
-+
-+#ifndef __need_getopt
-+extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv,
-+ const char *__shortopts,
-+ const struct option *__longopts, int *__longind)
-+ __THROW;
-+extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv,
-+ const char *__shortopts,
-+ const struct option *__longopts, int *__longind)
-+ __THROW;
-+
-+#endif
-+
-+#ifdef __cplusplus
-+}
-+#endif
-+
-+/* Make sure we later can get all the definitions and declarations. */
-+#undef __need_getopt
-+
-+#endif /* getopt.h */
-+#endif /* getopt.h */
-diff --git a/gnulib/getopt1.c b/gnulib/getopt1.c
-new file mode 100644
-index 0000000..ba115c4
---- /dev/null
-+++ b/gnulib/getopt1.c
-@@ -0,0 +1,170 @@
-+/* getopt_long and getopt_long_only entry points for GNU getopt.
-+ Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98,2004,2006,2009
-+ Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+
-+ 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/>. */
-+
-+#ifdef _LIBC
-+# include <getopt.h>
-+#else
-+# include <config.h>
-+# include "getopt.h"
-+#endif
-+#include "getopt_int.h"
-+
-+#include <stdio.h>
-+
-+/* This needs to come after some library #include
-+ to get __GNU_LIBRARY__ defined. */
-+#ifdef __GNU_LIBRARY__
-+#include <stdlib.h>
-+#endif
-+
-+#ifndef NULL
-+#define NULL 0
-+#endif
-+
-+int
-+getopt_long (int argc, char *__getopt_argv_const *argv, const char *options,
-+ const struct option *long_options, int *opt_index)
-+{
-+ return _getopt_internal (argc, (char **) argv, options, long_options,
-+ opt_index, 0, 0);
-+}
-+
-+int
-+_getopt_long_r (int argc, char **argv, const char *options,
-+ const struct option *long_options, int *opt_index,
-+ struct _getopt_data *d)
-+{
-+ return _getopt_internal_r (argc, argv, options, long_options, opt_index,
-+ 0, 0, d);
-+}
-+
-+/* Like getopt_long, but '-' as well as '--' can indicate a long option.
-+ If an option that starts with '-' (not '--') doesn't match a long option,
-+ but does match a short option, it is parsed as a short option
-+ instead. */
-+
-+int
-+getopt_long_only (int argc, char *__getopt_argv_const *argv,
-+ const char *options,
-+ const struct option *long_options, int *opt_index)
-+{
-+ return _getopt_internal (argc, (char **) argv, options, long_options,
-+ opt_index, 1, 0);
-+}
-+
-+int
-+_getopt_long_only_r (int argc, char **argv, const char *options,
-+ const struct option *long_options, int *opt_index,
-+ struct _getopt_data *d)
-+{
-+ return _getopt_internal_r (argc, argv, options, long_options, opt_index,
-+ 1, 0, d);
-+}
-+
-+
-+#ifdef TEST
-+
-+#include <stdio.h>
-+
-+int
-+main (int argc, char **argv)
-+{
-+ int c;
-+ int digit_optind = 0;
-+
-+ while (1)
-+ {
-+ int this_option_optind = optind ? optind : 1;
-+ int option_index = 0;
-+ static const struct option long_options[] =
-+ {
-+ {"add", 1, 0, 0},
-+ {"append", 0, 0, 0},
-+ {"delete", 1, 0, 0},
-+ {"verbose", 0, 0, 0},
-+ {"create", 0, 0, 0},
-+ {"file", 1, 0, 0},
-+ {0, 0, 0, 0}
-+ };
-+
-+ c = getopt_long (argc, argv, "abc:d:0123456789",
-+ long_options, &option_index);
-+ if (c == -1)
-+ break;
-+
-+ switch (c)
-+ {
-+ case 0:
-+ printf ("option %s", long_options[option_index].name);
-+ if (optarg)
-+ printf (" with arg %s", optarg);
-+ printf ("\n");
-+ break;
-+
-+ case '0':
-+ case '1':
-+ case '2':
-+ case '3':
-+ case '4':
-+ case '5':
-+ case '6':
-+ case '7':
-+ case '8':
-+ case '9':
-+ if (digit_optind != 0 && digit_optind != this_option_optind)
-+ printf ("digits occur in two different argv-elements.\n");
-+ digit_optind = this_option_optind;
-+ printf ("option %c\n", c);
-+ break;
-+
-+ case 'a':
-+ printf ("option a\n");
-+ break;
-+
-+ case 'b':
-+ printf ("option b\n");
-+ break;
-+
-+ case 'c':
-+ printf ("option c with value `%s'\n", optarg);
-+ break;
-+
-+ case 'd':
-+ printf ("option d with value `%s'\n", optarg);
-+ break;
-+
-+ case '?':
-+ break;
-+
-+ default:
-+ printf ("?? getopt returned character code 0%o ??\n", c);
-+ }
-+ }
-+
-+ if (optind < argc)
-+ {
-+ printf ("non-option ARGV-elements: ");
-+ while (optind < argc)
-+ printf ("%s ", argv[optind++]);
-+ printf ("\n");
-+ }
-+
-+ exit (0);
-+}
-+
-+#endif /* TEST */
-diff --git a/gnulib/getopt_int.h b/gnulib/getopt_int.h
-new file mode 100644
-index 0000000..3c6628b
---- /dev/null
-+++ b/gnulib/getopt_int.h
-@@ -0,0 +1,130 @@
-+/* Internal declarations for getopt.
-+ Copyright (C) 1989-1994,1996-1999,2001,2003,2004
-+ Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+
-+ 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 _GETOPT_INT_H
-+#define _GETOPT_INT_H 1
-+
-+extern int _getopt_internal (int ___argc, char **___argv,
-+ const char *__shortopts,
-+ const struct option *__longopts, int *__longind,
-+ int __long_only, int __posixly_correct);
-+
-+
-+/* Reentrant versions which can handle parsing multiple argument
-+ vectors at the same time. */
-+
-+/* Data type for reentrant functions. */
-+struct _getopt_data
-+{
-+ /* These have exactly the same meaning as the corresponding global
-+ variables, except that they are used for the reentrant
-+ versions of getopt. */
-+ int optind;
-+ int opterr;
-+ int optopt;
-+ char *optarg;
-+
-+ /* Internal members. */
-+
-+ /* True if the internal members have been initialized. */
-+ int __initialized;
-+
-+ /* The next char to be scanned in the option-element
-+ in which the last option character we returned was found.
-+ This allows us to pick up the scan where we left off.
-+
-+ If this is zero, or a null string, it means resume the scan
-+ by advancing to the next ARGV-element. */
-+ char *__nextchar;
-+
-+ /* Describe how to deal with options that follow non-option ARGV-elements.
-+
-+ If the caller did not specify anything,
-+ the default is REQUIRE_ORDER if the environment variable
-+ POSIXLY_CORRECT is defined, PERMUTE otherwise.
-+
-+ REQUIRE_ORDER means don't recognize them as options;
-+ stop option processing when the first non-option is seen.
-+ This is what Unix does.
-+ This mode of operation is selected by either setting the environment
-+ variable POSIXLY_CORRECT, or using `+' as the first character
-+ of the list of option characters, or by calling getopt.
-+
-+ PERMUTE is the default. We permute the contents of ARGV as we
-+ scan, so that eventually all the non-options are at the end.
-+ This allows options to be given in any order, even with programs
-+ that were not written to expect this.
-+
-+ RETURN_IN_ORDER is an option available to programs that were
-+ written to expect options and other ARGV-elements in any order
-+ and that care about the ordering of the two. We describe each
-+ non-option ARGV-element as if it were the argument of an option
-+ with character code 1. Using `-' as the first character of the
-+ list of option characters selects this mode of operation.
-+
-+ The special argument `--' forces an end of option-scanning regardless
-+ of the value of `ordering'. In the case of RETURN_IN_ORDER, only
-+ `--' can cause `getopt' to return -1 with `optind' != ARGC. */
-+
-+ enum
-+ {
-+ REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
-+ } __ordering;
-+
-+ /* If the POSIXLY_CORRECT environment variable is set
-+ or getopt was called. */
-+ int __posixly_correct;
-+
-+
-+ /* Handle permutation of arguments. */
-+
-+ /* Describe the part of ARGV that contains non-options that have
-+ been skipped. `first_nonopt' is the index in ARGV of the first
-+ of them; `last_nonopt' is the index after the last of them. */
-+
-+ int __first_nonopt;
-+ int __last_nonopt;
-+
-+#if defined _LIBC && defined USE_NONOPTION_FLAGS
-+ int __nonoption_flags_max_len;
-+ int __nonoption_flags_len;
-+# endif
-+};
-+
-+/* The initializer is necessary to set OPTIND and OPTERR to their
-+ default values and to clear the initialization flag. */
-+#define _GETOPT_DATA_INITIALIZER { 1, 1 }
-+
-+extern int _getopt_internal_r (int ___argc, char **___argv,
-+ const char *__shortopts,
-+ const struct option *__longopts, int *__longind,
-+ int __long_only, int __posixly_correct,
-+ struct _getopt_data *__data);
-+
-+extern int _getopt_long_r (int ___argc, char **___argv,
-+ const char *__shortopts,
-+ const struct option *__longopts, int *__longind,
-+ struct _getopt_data *__data);
-+
-+extern int _getopt_long_only_r (int ___argc, char **___argv,
-+ const char *__shortopts,
-+ const struct option *__longopts,
-+ int *__longind,
-+ struct _getopt_data *__data);
-+
-+#endif /* getopt_int.h */
-diff --git a/gnulib/gettext.h b/gnulib/gettext.h
-new file mode 100644
-index 0000000..8cf2dca
---- /dev/null
-+++ b/gnulib/gettext.h
-@@ -0,0 +1,279 @@
-+/* Convenience header for conditional use of GNU <libintl.h>.
-+ Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009 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, 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, write to the Free Software Foundation,
-+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-+
-+#ifndef _LIBGETTEXT_H
-+#define _LIBGETTEXT_H 1
-+
-+/* NLS can be disabled through the configure --disable-nls option. */
-+#if ENABLE_NLS
-+
-+/* Get declarations of GNU message catalog functions. */
-+# include <libintl.h>
-+
-+/* You can set the DEFAULT_TEXT_DOMAIN macro to specify the domain used by
-+ the gettext() and ngettext() macros. This is an alternative to calling
-+ textdomain(), and is useful for libraries. */
-+# ifdef DEFAULT_TEXT_DOMAIN
-+# undef gettext
-+# define gettext(Msgid) \
-+ dgettext (DEFAULT_TEXT_DOMAIN, Msgid)
-+# undef ngettext
-+# define ngettext(Msgid1, Msgid2, N) \
-+ dngettext (DEFAULT_TEXT_DOMAIN, Msgid1, Msgid2, N)
-+# endif
-+
-+#else
-+
-+/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which
-+ chokes if dcgettext is defined as a macro. So include it now, to make
-+ later inclusions of <locale.h> a NOP. We don't include <libintl.h>
-+ as well because people using "gettext.h" will not include <libintl.h>,
-+ and also including <libintl.h> would fail on SunOS 4, whereas <locale.h>
-+ is OK. */
-+#if defined(__sun)
-+# include <locale.h>
-+#endif
-+
-+/* Many header files from the libstdc++ coming with g++ 3.3 or newer include
-+ <libintl.h>, which chokes if dcgettext is defined as a macro. So include
-+ it now, to make later inclusions of <libintl.h> a NOP. */
-+#if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3)
-+# include <cstdlib>
-+# if (__GLIBC__ >= 2) || _GLIBCXX_HAVE_LIBINTL_H
-+# include <libintl.h>
-+# endif
-+#endif
-+
-+/* Disabled NLS.
-+ The casts to 'const char *' serve the purpose of producing warnings
-+ for invalid uses of the value returned from these functions.
-+ On pre-ANSI systems without 'const', the config.h file is supposed to
-+ contain "#define const". */
-+# undef gettext
-+# define gettext(Msgid) ((const char *) (Msgid))
-+# undef dgettext
-+# define dgettext(Domainname, Msgid) ((void) (Domainname), gettext (Msgid))
-+# undef dcgettext
-+# define dcgettext(Domainname, Msgid, Category) \
-+ ((void) (Category), dgettext (Domainname, Msgid))
-+# undef ngettext
-+# define ngettext(Msgid1, Msgid2, N) \
-+ ((N) == 1 \
-+ ? ((void) (Msgid2), (const char *) (Msgid1)) \
-+ : ((void) (Msgid1), (const char *) (Msgid2)))
-+# undef dngettext
-+# define dngettext(Domainname, Msgid1, Msgid2, N) \
-+ ((void) (Domainname), ngettext (Msgid1, Msgid2, N))
-+# undef dcngettext
-+# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
-+ ((void) (Category), dngettext(Domainname, Msgid1, Msgid2, N))
-+# undef textdomain
-+# define textdomain(Domainname) ((const char *) (Domainname))
-+# undef bindtextdomain
-+# define bindtextdomain(Domainname, Dirname) \
-+ ((void) (Domainname), (const char *) (Dirname))
-+# undef bind_textdomain_codeset
-+# define bind_textdomain_codeset(Domainname, Codeset) \
-+ ((void) (Domainname), (const char *) (Codeset))
-+
-+#endif
-+
-+/* A pseudo function call that serves as a marker for the automated
-+ extraction of messages, but does not call gettext(). The run-time
-+ translation is done at a different place in the code.
-+ The argument, String, should be a literal string. Concatenated strings
-+ and other string expressions won't work.
-+ The macro's expansion is not parenthesized, so that it is suitable as
-+ initializer for static 'char[]' or 'const char[]' variables. */
-+#define gettext_noop(String) String
-+
-+/* The separator between msgctxt and msgid in a .mo file. */
-+#define GETTEXT_CONTEXT_GLUE "\004"
-+
-+/* Pseudo function calls, taking a MSGCTXT and a MSGID instead of just a
-+ MSGID. MSGCTXT and MSGID must be string literals. MSGCTXT should be
-+ short and rarely need to change.
-+ The letter 'p' stands for 'particular' or 'special'. */
-+#ifdef DEFAULT_TEXT_DOMAIN
-+# define pgettext(Msgctxt, Msgid) \
-+ pgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
-+#else
-+# define pgettext(Msgctxt, Msgid) \
-+ pgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
-+#endif
-+#define dpgettext(Domainname, Msgctxt, Msgid) \
-+ pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
-+#define dcpgettext(Domainname, Msgctxt, Msgid, Category) \
-+ pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, Category)
-+#ifdef DEFAULT_TEXT_DOMAIN
-+# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \
-+ npgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
-+#else
-+# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \
-+ npgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
-+#endif
-+#define dnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N) \
-+ npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
-+#define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \
-+ npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category)
-+
-+#ifdef __GNUC__
-+__inline
-+#else
-+#ifdef __cplusplus
-+inline
-+#endif
-+#endif
-+static const char *
-+pgettext_aux (const char *domain,
-+ const char *msg_ctxt_id, const char *msgid,
-+ int category)
-+{
-+ const char *translation = dcgettext (domain, msg_ctxt_id, category);
-+ if (translation == msg_ctxt_id)
-+ return msgid;
-+ else
-+ return translation;
-+}
-+
-+#ifdef __GNUC__
-+__inline
-+#else
-+#ifdef __cplusplus
-+inline
-+#endif
-+#endif
-+static const char *
-+npgettext_aux (const char *domain,
-+ const char *msg_ctxt_id, const char *msgid,
-+ const char *msgid_plural, unsigned long int n,
-+ int category)
-+{
-+ const char *translation =
-+ dcngettext (domain, msg_ctxt_id, msgid_plural, n, category);
-+ if (translation == msg_ctxt_id || translation == msgid_plural)
-+ return (n == 1 ? msgid : msgid_plural);
-+ else
-+ return translation;
-+}
-+
-+/* The same thing extended for non-constant arguments. Here MSGCTXT and MSGID
-+ can be arbitrary expressions. But for string literals these macros are
-+ less efficient than those above. */
-+
-+#include <string.h>
-+
-+#define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS \
-+ (((__GNUC__ >= 3 || __GNUG__ >= 2) && !__STRICT_ANSI__) \
-+ /* || __STDC_VERSION__ >= 199901L */ )
-+
-+#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
-+#include <stdlib.h>
-+#endif
-+
-+#define pgettext_expr(Msgctxt, Msgid) \
-+ dcpgettext_expr (NULL, Msgctxt, Msgid, LC_MESSAGES)
-+#define dpgettext_expr(Domainname, Msgctxt, Msgid) \
-+ dcpgettext_expr (Domainname, Msgctxt, Msgid, LC_MESSAGES)
-+
-+#ifdef __GNUC__
-+__inline
-+#else
-+#ifdef __cplusplus
-+inline
-+#endif
-+#endif
-+static const char *
-+dcpgettext_expr (const char *domain,
-+ const char *msgctxt, const char *msgid,
-+ int category)
-+{
-+ size_t msgctxt_len = strlen (msgctxt) + 1;
-+ size_t msgid_len = strlen (msgid) + 1;
-+ const char *translation;
-+#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
-+ char msg_ctxt_id[msgctxt_len + msgid_len];
-+#else
-+ char buf[1024];
-+ char *msg_ctxt_id =
-+ (msgctxt_len + msgid_len <= sizeof (buf)
-+ ? buf
-+ : (char *) malloc (msgctxt_len + msgid_len));
-+ if (msg_ctxt_id != NULL)
-+#endif
-+ {
-+ memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
-+ msg_ctxt_id[msgctxt_len - 1] = '\004';
-+ memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
-+ translation = dcgettext (domain, msg_ctxt_id, category);
-+#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
-+ if (msg_ctxt_id != buf)
-+ free (msg_ctxt_id);
-+#endif
-+ if (translation != msg_ctxt_id)
-+ return translation;
-+ }
-+ return msgid;
-+}
-+
-+#define npgettext_expr(Msgctxt, Msgid, MsgidPlural, N) \
-+ dcnpgettext_expr (NULL, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES)
-+#define dnpgettext_expr(Domainname, Msgctxt, Msgid, MsgidPlural, N) \
-+ dcnpgettext_expr (Domainname, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES)
-+
-+#ifdef __GNUC__
-+__inline
-+#else
-+#ifdef __cplusplus
-+inline
-+#endif
-+#endif
-+static const char *
-+dcnpgettext_expr (const char *domain,
-+ const char *msgctxt, const char *msgid,
-+ const char *msgid_plural, unsigned long int n,
-+ int category)
-+{
-+ size_t msgctxt_len = strlen (msgctxt) + 1;
-+ size_t msgid_len = strlen (msgid) + 1;
-+ const char *translation;
-+#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
-+ char msg_ctxt_id[msgctxt_len + msgid_len];
-+#else
-+ char buf[1024];
-+ char *msg_ctxt_id =
-+ (msgctxt_len + msgid_len <= sizeof (buf)
-+ ? buf
-+ : (char *) malloc (msgctxt_len + msgid_len));
-+ if (msg_ctxt_id != NULL)
-+#endif
-+ {
-+ memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
-+ msg_ctxt_id[msgctxt_len - 1] = '\004';
-+ memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
-+ translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category);
-+#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
-+ if (msg_ctxt_id != buf)
-+ free (msg_ctxt_id);
-+#endif
-+ if (!(translation == msg_ctxt_id || translation == msgid_plural))
-+ return translation;
-+ }
-+ return (n == 1 ? msgid : msgid_plural);
-+}
-+
-+#endif /* _LIBGETTEXT_H */
-diff --git a/gnulib/m4/00gnulib.m4 b/gnulib/m4/00gnulib.m4
-new file mode 100644
-index 0000000..d4d04d1
---- /dev/null
-+++ b/gnulib/m4/00gnulib.m4
-@@ -0,0 +1,30 @@
-+# 00gnulib.m4 serial 2
-+dnl Copyright (C) 2009 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 This file must be named something that sorts before all other
-+dnl gnulib-provided .m4 files. It is needed until such time as we can
-+dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE semantics.
-+
-+# AC_DEFUN_ONCE([NAME], VALUE)
-+# ----------------------------
-+# Define NAME to expand to VALUE on the first use (whether by direct
-+# expansion, or by AC_REQUIRE), and to nothing on all subsequent uses.
-+# Avoid bugs in AC_REQUIRE in Autoconf 2.63 and earlier. This
-+# definition is slower than the version in Autoconf 2.64, because it
-+# can only use interfaces that existed since 2.59; but it achieves the
-+# same effect. Quoting is necessary to avoid confusing Automake.
-+m4_version_prereq([2.63.263], [],
-+[m4_define([AC][_DEFUN_ONCE],
-+ [AC][_DEFUN([$1],
-+ [AC_REQUIRE([_gl_DEFUN_ONCE([$1])],
-+ [m4_indir([_gl_DEFUN_ONCE([$1])])])])]dnl
-+[AC][_DEFUN([_gl_DEFUN_ONCE([$1])], [$2])])])
-+
-+# gl_00GNULIB
-+# -----------
-+# Witness macro that this file has been included. Needed to force
-+# Automake to include this file prior to all other gnulib .m4 files.
-+AC_DEFUN([gl_00GNULIB])
-diff --git a/gnulib/m4/extensions.m4 b/gnulib/m4/extensions.m4
-new file mode 100644
-index 0000000..ba6d5e1
---- /dev/null
-+++ b/gnulib/m4/extensions.m4
-@@ -0,0 +1,104 @@
-+# serial 8 -*- Autoconf -*-
-+# Enable extensions on systems that normally disable them.
-+
-+# Copyright (C) 2003, 2006-2009 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.
-+
-+# This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from CVS
-+# Autoconf. Perhaps we can remove this once we can assume Autoconf
-+# 2.62 or later everywhere, but since CVS Autoconf mutates rapidly
-+# enough in this area it's likely we'll need to redefine
-+# AC_USE_SYSTEM_EXTENSIONS for quite some time.
-+
-+# AC_USE_SYSTEM_EXTENSIONS
-+# ------------------------
-+# Enable extensions on systems that normally disable them,
-+# typically due to standards-conformance issues.
-+# Remember that #undef in AH_VERBATIM gets replaced with #define by
-+# AC_DEFINE. The goal here is to define all known feature-enabling
-+# macros, then, if reports of conflicts are made, disable macros that
-+# cause problems on some platforms (such as __EXTENSIONS__).
-+AC_DEFUN_ONCE([AC_USE_SYSTEM_EXTENSIONS],
-+[AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
-+AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
-+
-+ AC_REQUIRE([AC_CANONICAL_HOST])
-+
-+ AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=])
-+ if test "$MINIX" = yes; then
-+ AC_DEFINE([_POSIX_SOURCE], [1],
-+ [Define to 1 if you need to in order for `stat' and other
-+ things to work.])
-+ AC_DEFINE([_POSIX_1_SOURCE], [2],
-+ [Define to 2 if the system does not provide POSIX.1 features
-+ except with this defined.])
-+ AC_DEFINE([_MINIX], [1],
-+ [Define to 1 if on MINIX.])
-+ fi
-+
-+ dnl HP-UX 11.11 defines mbstate_t only if _XOPEN_SOURCE is defined to 500,
-+ dnl regardless of whether the flags -Ae or _D_HPUX_SOURCE=1 are already
-+ dnl provided.
-+ case "$host_os" in
-+ hpux*)
-+ AC_DEFINE([_XOPEN_SOURCE], [500],
-+ [Define to 500 only on HP-UX.])
-+ ;;
-+ esac
-+
-+ AH_VERBATIM([__EXTENSIONS__],
-+[/* Enable extensions on AIX 3, Interix. */
-+#ifndef _ALL_SOURCE
-+# undef _ALL_SOURCE
-+#endif
-+/* Enable GNU extensions on systems that have them. */
-+#ifndef _GNU_SOURCE
-+# undef _GNU_SOURCE
-+#endif
-+/* Enable threading extensions on Solaris. */
-+#ifndef _POSIX_PTHREAD_SEMANTICS
-+# undef _POSIX_PTHREAD_SEMANTICS
-+#endif
-+/* Enable extensions on HP NonStop. */
-+#ifndef _TANDEM_SOURCE
-+# undef _TANDEM_SOURCE
-+#endif
-+/* Enable general extensions on Solaris. */
-+#ifndef __EXTENSIONS__
-+# undef __EXTENSIONS__
-+#endif
-+])
-+ AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__],
-+ [ac_cv_safe_to_define___extensions__],
-+ [AC_COMPILE_IFELSE(
-+ [AC_LANG_PROGRAM([[
-+# define __EXTENSIONS__ 1
-+ ]AC_INCLUDES_DEFAULT])],
-+ [ac_cv_safe_to_define___extensions__=yes],
-+ [ac_cv_safe_to_define___extensions__=no])])
-+ test $ac_cv_safe_to_define___extensions__ = yes &&
-+ AC_DEFINE([__EXTENSIONS__])
-+ AC_DEFINE([_ALL_SOURCE])
-+ AC_DEFINE([_GNU_SOURCE])
-+ AC_DEFINE([_POSIX_PTHREAD_SEMANTICS])
-+ AC_DEFINE([_TANDEM_SOURCE])
-+])# AC_USE_SYSTEM_EXTENSIONS
-+
-+# gl_USE_SYSTEM_EXTENSIONS
-+# ------------------------
-+# Enable extensions on systems that normally disable them,
-+# typically due to standards-conformance issues.
-+AC_DEFUN_ONCE([gl_USE_SYSTEM_EXTENSIONS],
-+[
-+ dnl Require this macro before AC_USE_SYSTEM_EXTENSIONS.
-+ dnl gnulib does not need it. But if it gets required by third-party macros
-+ dnl after AC_USE_SYSTEM_EXTENSIONS is required, autoconf 2.62..2.63 emit a
-+ dnl warning: "AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS".
-+ dnl Note: We can do this only for one of the macros AC_AIX, AC_GNU_SOURCE,
-+ dnl AC_MINIX. If people still use AC_AIX or AC_MINIX, they are out of luck.
-+ AC_REQUIRE([AC_GNU_SOURCE])
-+
-+ AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
-+])
-diff --git a/gnulib/m4/getopt.m4 b/gnulib/m4/getopt.m4
-new file mode 100644
-index 0000000..53a1a7e
---- /dev/null
-+++ b/gnulib/m4/getopt.m4
-@@ -0,0 +1,250 @@
-+# getopt.m4 serial 22
-+dnl Copyright (C) 2002-2006, 2008-2009 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.
-+
-+# Request a POSIX compliant getopt function.
-+AC_DEFUN([gl_FUNC_GETOPT_POSIX],
-+[
-+ m4_divert_text([DEFAULTS], [gl_getopt_required=POSIX])
-+ AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
-+ gl_GETOPT_IFELSE([
-+ gl_REPLACE_GETOPT
-+ ],
-+ [])
-+])
-+
-+# Request a POSIX compliant getopt function with GNU extensions (such as
-+# options with optional arguments) and the functions getopt_long,
-+# getopt_long_only.
-+AC_DEFUN([gl_FUNC_GETOPT_GNU],
-+[
-+ m4_divert_text([INIT_PREPARE], [gl_getopt_required=GNU])
-+
-+ AC_REQUIRE([gl_FUNC_GETOPT_POSIX])
-+])
-+
-+# Request the gnulib implementation of the getopt functions unconditionally.
-+# argp.m4 uses this.
-+AC_DEFUN([gl_REPLACE_GETOPT],
-+[
-+ dnl Arrange for getopt.h to be created.
-+ gl_GETOPT_SUBSTITUTE_HEADER
-+ dnl Arrange for unistd.h to include getopt.h.
-+ GNULIB_UNISTD_H_GETOPT=1
-+ dnl Arrange to compile the getopt implementation.
-+ AC_LIBOBJ([getopt])
-+ AC_LIBOBJ([getopt1])
-+ gl_PREREQ_GETOPT
-+])
-+
-+# emacs' configure.in uses this.
-+AC_DEFUN([gl_GETOPT_IFELSE],
-+[
-+ AC_REQUIRE([gl_GETOPT_CHECK_HEADERS])
-+ AS_IF([test -n "$gl_replace_getopt"], [$1], [$2])
-+])
-+
-+# Determine whether to replace the entire getopt facility.
-+AC_DEFUN([gl_GETOPT_CHECK_HEADERS],
-+[
-+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-+
-+ dnl Persuade Solaris <unistd.h> to declare optarg, optind, opterr, optopt.
-+ AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
-+
-+ gl_CHECK_NEXT_HEADERS([getopt.h])
-+ AC_CHECK_HEADERS_ONCE([getopt.h])
-+ if test $ac_cv_header_getopt_h = yes; then
-+ HAVE_GETOPT_H=1
-+ else
-+ HAVE_GETOPT_H=0
-+ fi
-+ AC_SUBST([HAVE_GETOPT_H])
-+
-+ gl_replace_getopt=
-+
-+ dnl Test whether <getopt.h> is available.
-+ if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then
-+ AC_CHECK_HEADERS([getopt.h], [], [gl_replace_getopt=yes])
-+ fi
-+
-+ dnl Test whether the function getopt_long is available.
-+ if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then
-+ AC_CHECK_FUNCS([getopt_long_only], [], [gl_replace_getopt=yes])
-+ fi
-+
-+ dnl BSD getopt_long uses an incompatible method to reset option processing,
-+ dnl but the testsuite does not show a need to use this 'optreset' variable.
-+ if false && test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then
-+ AC_CHECK_DECL([optreset], [gl_replace_getopt=yes], [],
-+ [#include <getopt.h>])
-+ fi
-+
-+ dnl mingw's getopt (in libmingwex.a) does weird things when the options
-+ dnl strings starts with '+' and it's not the first call. Some internal state
-+ dnl is left over from earlier calls, and neither setting optind = 0 nor
-+ dnl setting optreset = 1 get rid of this internal state.
-+ if test -z "$gl_replace_getopt"; then
-+ AC_CACHE_CHECK([whether getopt is POSIX compatible],
-+ [gl_cv_func_getopt_posix],
-+ [
-+ dnl This test fails on mingw and succeeds on all other platforms.
-+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
-+#include <unistd.h>
-+#include <stdlib.h>
-+#include <string.h>
-+
-+/* The glibc implementation of getopt supports setting optind = 0 as a means
-+ of clearing the internal state, but other implementations don't. */
-+#if (__GLIBC__ >= 2)
-+# define OPTIND_MIN 0
-+#else
-+# define OPTIND_MIN 1
-+#endif
-+
-+int
-+main ()
-+{
-+ {
-+ int argc = 0;
-+ char *argv[10];
-+ int c;
-+
-+ argv[argc++] = "program";
-+ argv[argc++] = "-a";
-+ argv[argc++] = "foo";
-+ argv[argc++] = "bar";
-+ optind = OPTIND_MIN;
-+ opterr = 0;
-+
-+ c = getopt (argc, argv, "ab");
-+ if (!(c == 'a'))
-+ return 1;
-+ c = getopt (argc, argv, "ab");
-+ if (!(c == -1))
-+ return 2;
-+ if (!(optind == 2))
-+ return 3;
-+ }
-+ /* Some internal state exists at this point. */
-+ {
-+ int argc = 0;
-+ char *argv[10];
-+ int c;
-+
-+ argv[argc++] = "program";
-+ argv[argc++] = "donald";
-+ argv[argc++] = "-p";
-+ argv[argc++] = "billy";
-+ argv[argc++] = "duck";
-+ argv[argc++] = "-a";
-+ argv[argc++] = "bar";
-+ optind = OPTIND_MIN;
-+ opterr = 0;
-+
-+ c = getopt (argc, argv, "+abp:q:");
-+ if (!(c == -1))
-+ return 4;
-+ if (!(strcmp (argv[0], "program") == 0))
-+ return 5;
-+ if (!(strcmp (argv[1], "donald") == 0))
-+ return 6;
-+ if (!(strcmp (argv[2], "-p") == 0))
-+ return 7;
-+ if (!(strcmp (argv[3], "billy") == 0))
-+ return 8;
-+ if (!(strcmp (argv[4], "duck") == 0))
-+ return 9;
-+ if (!(strcmp (argv[5], "-a") == 0))
-+ return 10;
-+ if (!(strcmp (argv[6], "bar") == 0))
-+ return 11;
-+ if (!(optind == 1))
-+ return 12;
-+ }
-+
-+ return 0;
-+}
-+]])],
-+ [gl_cv_func_getopt_posix=yes], [gl_cv_func_getopt_posix=no],
-+ [case "$host_os" in
-+ mingw*) gl_cv_func_getopt_posix="guessing no";;
-+ *) gl_cv_func_getopt_posix="guessing yes";;
-+ esac
-+ ])
-+ ])
-+ case "$gl_cv_func_getopt_posix" in
-+ *no) gl_replace_getopt=yes ;;
-+ esac
-+ fi
-+
-+ if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then
-+ AC_CACHE_CHECK([for working GNU getopt function], [gl_cv_func_getopt_gnu],
-+ [AC_RUN_IFELSE(
-+ [AC_LANG_PROGRAM([[#include <getopt.h>
-+ #include <stddef.h>
-+ #include <string.h>]],
-+ [[
-+ /* This code succeeds on glibc 2.8, OpenBSD 4.0, Cygwin, mingw,
-+ and fails on MacOS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5,
-+ OSF/1 5.1, Solaris 10. */
-+ {
-+ char *myargv[3];
-+ myargv[0] = "conftest";
-+ myargv[1] = "-+";
-+ myargv[2] = 0;
-+ opterr = 0;
-+ if (getopt (2, myargv, "+a") != '?')
-+ return 1;
-+ }
-+ /* This code succeeds on glibc 2.8, mingw,
-+ and fails on MacOS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11,
-+ IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin. */
-+ {
-+ char *argv[] = { "program", "-p", "foo", "bar" };
-+
-+ optind = 1;
-+ if (getopt (4, argv, "p::") != 'p')
-+ return 2;
-+ if (optarg != NULL)
-+ return 3;
-+ if (getopt (4, argv, "p::") != -1)
-+ return 4;
-+ if (optind != 2)
-+ return 5;
-+ }
-+ return 0;
-+ ]])],
-+ [gl_cv_func_getopt_gnu=yes],
-+ [gl_cv_func_getopt_gnu=no],
-+ [dnl Cross compiling. Guess based on host and declarations.
-+ case "$host_os" in
-+ *-gnu* | mingw*) gl_cv_func_getopt_gnu=no;;
-+ *) gl_cv_func_getopt_gnu=yes;;
-+ esac
-+ ])
-+ ])
-+ if test "$gl_cv_func_getopt_gnu" = "no"; then
-+ gl_replace_getopt=yes
-+ fi
-+ fi
-+])
-+
-+# emacs' configure.in uses this.
-+AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER],
-+[
-+ GETOPT_H=getopt.h
-+ AC_DEFINE([__GETOPT_PREFIX], [[rpl_]],
-+ [Define to rpl_ if the getopt replacement functions and variables
-+ should be used.])
-+ AC_SUBST([GETOPT_H])
-+])
-+
-+# Prerequisites of lib/getopt*.
-+# emacs' configure.in uses this.
-+AC_DEFUN([gl_PREREQ_GETOPT],
-+[
-+ AC_CHECK_DECLS_ONCE([getenv])
-+])
-diff --git a/gnulib/m4/gnulib-cache.m4 b/gnulib/m4/gnulib-cache.m4
-new file mode 100644
-index 0000000..56a554b
---- /dev/null
-+++ b/gnulib/m4/gnulib-cache.m4
-@@ -0,0 +1,36 @@
-+# Copyright (C) 2002-2009 Free Software Foundation, Inc.
-+#
-+# This file is free software, distributed under the terms of the GNU
-+# General Public License. As a special exception to the GNU General
-+# Public License, this file may be distributed as part of a program
-+# that contains a configuration script generated by Autoconf, under
-+# the same distribution terms as the rest of that program.
-+#
-+# Generated by gnulib-tool.
-+#
-+# This file represents the specification of how gnulib-tool is used.
-+# It acts as a cache: It is written and read by gnulib-tool.
-+# In projects using CVS, this file is meant to be stored in CVS,
-+# like the configure.ac and various Makefile.am files.
-+
-+
-+# Specification in the form of a command-line invocation:
-+# gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib --m4-base=gnulib/m4 --doc-base=doc --tests-base=tests --aux-dir=. --libtool --macro-prefix=gl --no-vc-files getopt-gnu
-+
-+# Specification in the form of a few gnulib-tool.m4 macro invocations:
-+gl_LOCAL_DIR([])
-+gl_MODULES([
-+ getopt-gnu
-+])
-+gl_AVOID([])
-+gl_SOURCE_BASE([gnulib])
-+gl_M4_BASE([gnulib/m4])
-+gl_PO_BASE([])
-+gl_DOC_BASE([doc])
-+gl_TESTS_BASE([tests])
-+gl_LIB([libgnu])
-+gl_MAKEFILE_NAME([])
-+gl_LIBTOOL
-+gl_MACRO_PREFIX([gl])
-+gl_PO_DOMAIN([])
-+gl_VC_FILES([false])
-diff --git a/gnulib/m4/gnulib-common.m4 b/gnulib/m4/gnulib-common.m4
-new file mode 100644
-index 0000000..c8fda20
---- /dev/null
-+++ b/gnulib/m4/gnulib-common.m4
-@@ -0,0 +1,124 @@
-+# gnulib-common.m4 serial 11
-+dnl Copyright (C) 2007-2009 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.
-+
-+# gl_COMMON
-+# is expanded unconditionally through gnulib-tool magic.
-+AC_DEFUN([gl_COMMON], [
-+ dnl Use AC_REQUIRE here, so that the code is expanded once only.
-+ AC_REQUIRE([gl_00GNULIB])
-+ AC_REQUIRE([gl_COMMON_BODY])
-+])
-+AC_DEFUN([gl_COMMON_BODY], [
-+ 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
-+ earlier versions), but does not display it by setting __GNUC_STDC_INLINE__.
-+ __APPLE__ && __MACH__ test for MacOS X.
-+ __APPLE_CC__ tests for the Apple compiler and its version.
-+ __STDC_VERSION__ tests for the C99 mode. */
-+#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__
-+# define __GNUC_STDC_INLINE__ 1
-+#endif])
-+ AH_VERBATIM([unused_parameter],
-+[/* Define as a marker that can be attached to function parameter declarations
-+ for parameters that are not used. This helps to reduce warnings, such as
-+ from GCC -Wunused-parameter. */
-+#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
-+# define _UNUSED_PARAMETER_ __attribute__ ((__unused__))
-+#else
-+# define _UNUSED_PARAMETER_
-+#endif
-+])
-+])
-+
-+# gl_MODULE_INDICATOR([modulename])
-+# defines a C macro indicating the presence of the given module.
-+AC_DEFUN([gl_MODULE_INDICATOR],
-+[
-+ AC_DEFINE([GNULIB_]translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1],
-+ [Define to 1 when using the gnulib module ]$1[.])
-+])
-+
-+# m4_foreach_w
-+# is a backport of autoconf-2.59c's m4_foreach_w.
-+# Remove this macro when we can assume autoconf >= 2.60.
-+m4_ifndef([m4_foreach_w],
-+ [m4_define([m4_foreach_w],
-+ [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])])
-+
-+# AC_PROG_MKDIR_P
-+# is a backport of autoconf-2.60's AC_PROG_MKDIR_P.
-+# Remove this macro when we can assume autoconf >= 2.60.
-+m4_ifdef([AC_PROG_MKDIR_P], [], [
-+ AC_DEFUN_ONCE([AC_PROG_MKDIR_P],
-+ [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
-+ MKDIR_P='$(mkdir_p)'
-+ AC_SUBST([MKDIR_P])])])
-+
-+# AC_C_RESTRICT
-+# This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61,
-+# so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++
-+# works.
-+# This definition can be removed once autoconf >= 2.62 can be assumed.
-+AC_DEFUN([AC_C_RESTRICT],
-+[AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict],
-+ [ac_cv_c_restrict=no
-+ # The order here caters to the fact that C++ does not require restrict.
-+ for ac_kw in __restrict __restrict__ _Restrict restrict; do
-+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
-+ [[typedef int * int_ptr;
-+ int foo (int_ptr $ac_kw ip) {
-+ return ip[0];
-+ }]],
-+ [[int s[1];
-+ int * $ac_kw t = s;
-+ t[0] = 0;
-+ return foo(t)]])],
-+ [ac_cv_c_restrict=$ac_kw])
-+ test "$ac_cv_c_restrict" != no && break
-+ done
-+ ])
-+ AH_VERBATIM([restrict],
-+[/* Define to the equivalent of the C99 'restrict' keyword, or to
-+ nothing if this is not supported. Do not define if restrict is
-+ supported directly. */
-+#undef restrict
-+/* Work around a bug in Sun C++: it does not support _Restrict, even
-+ though the corresponding Sun C compiler does, which causes
-+ "#define restrict _Restrict" in the previous line. Perhaps some future
-+ version of Sun C++ will work with _Restrict; if so, it'll probably
-+ define __RESTRICT, just as Sun C does. */
-+#if defined __SUNPRO_CC && !defined __RESTRICT
-+# define _Restrict
-+#endif])
-+ case $ac_cv_c_restrict in
-+ restrict) ;;
-+ no) AC_DEFINE([restrict], []) ;;
-+ *) AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;;
-+ esac
-+])
-+
-+# gl_BIGENDIAN
-+# is like AC_C_BIGENDIAN, except that it can be AC_REQUIREd.
-+# Note that AC_REQUIRE([AC_C_BIGENDIAN]) does not work reliably because some
-+# macros invoke AC_C_BIGENDIAN with arguments.
-+AC_DEFUN([gl_BIGENDIAN],
-+[
-+ AC_C_BIGENDIAN
-+])
-+
-+# gl_CACHE_VAL_SILENT(cache-id, command-to-set-it)
-+# is like AC_CACHE_VAL(cache-id, command-to-set-it), except that it does not
-+# output a spurious "(cached)" mark in the midst of other configure output.
-+# This macro should be used instead of AC_CACHE_VAL when it is not surrounded
-+# by an AC_MSG_CHECKING/AC_MSG_RESULT pair.
-+AC_DEFUN([gl_CACHE_VAL_SILENT],
-+[
-+ saved_as_echo_n="$as_echo_n"
-+ as_echo_n=':'
-+ AC_CACHE_VAL([$1], [$2])
-+ as_echo_n="$saved_as_echo_n"
-+])
-diff --git a/gnulib/m4/gnulib-comp.m4 b/gnulib/m4/gnulib-comp.m4
-new file mode 100644
-index 0000000..6514552
---- /dev/null
-+++ b/gnulib/m4/gnulib-comp.m4
-@@ -0,0 +1,197 @@
-+# DO NOT EDIT! GENERATED AUTOMATICALLY!
-+# Copyright (C) 2002-2009 Free Software Foundation, Inc.
-+#
-+# This file is free software, distributed under the terms of the GNU
-+# General Public License. As a special exception to the GNU General
-+# Public License, this file may be distributed as part of a program
-+# that contains a configuration script generated by Autoconf, under
-+# the same distribution terms as the rest of that program.
-+#
-+# Generated by gnulib-tool.
-+#
-+# This file represents the compiled summary of the specification in
-+# gnulib-cache.m4. It lists the computed macro invocations that need
-+# to be invoked from configure.ac.
-+# In projects using CVS, this file can be treated like other built files.
-+
-+
-+# This macro should be invoked from ./configure.in, in the section
-+# "Checks for programs", right after AC_PROG_CC, and certainly before
-+# any checks for libraries, header files, types and library functions.
-+AC_DEFUN([gl_EARLY],
-+[
-+ m4_pattern_forbid([^gl_[A-Z]])dnl the gnulib macro namespace
-+ 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([AC_PROG_RANLIB])
-+ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
-+])
-+
-+# This macro should be invoked from ./configure.in, in the section
-+# "Check for header files, types and library functions".
-+AC_DEFUN([gl_INIT],
-+[
-+ AM_CONDITIONAL([GL_COND_LIBTOOL], [true])
-+ gl_cond_libtool=true
-+ m4_pushdef([AC_LIBOBJ], m4_defn([gl_LIBOBJ]))
-+ m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gl_REPLACE_FUNCS]))
-+ m4_pushdef([AC_LIBSOURCES], m4_defn([gl_LIBSOURCES]))
-+ m4_pushdef([gl_LIBSOURCES_LIST], [])
-+ m4_pushdef([gl_LIBSOURCES_DIR], [])
-+ gl_COMMON
-+ gl_source_base='gnulib'
-+ gl_FUNC_GETOPT_GNU
-+ gl_MODULE_INDICATOR([getopt-gnu])
-+ gl_FUNC_GETOPT_POSIX
-+ AC_SUBST([LIBINTL])
-+ AC_SUBST([LTLIBINTL])
-+ gl_STDDEF_H
-+ gl_UNISTD_H
-+ m4_ifval(gl_LIBSOURCES_LIST, [
-+ m4_syscmd([test ! -d ]m4_defn([gl_LIBSOURCES_DIR])[ ||
-+ for gl_file in ]gl_LIBSOURCES_LIST[ ; do
-+ if test ! -r ]m4_defn([gl_LIBSOURCES_DIR])[/$gl_file ; then
-+ echo "missing file ]m4_defn([gl_LIBSOURCES_DIR])[/$gl_file" >&2
-+ exit 1
-+ fi
-+ done])dnl
-+ m4_if(m4_sysval, [0], [],
-+ [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])])
-+ ])
-+ m4_popdef([gl_LIBSOURCES_DIR])
-+ m4_popdef([gl_LIBSOURCES_LIST])
-+ m4_popdef([AC_LIBSOURCES])
-+ m4_popdef([AC_REPLACE_FUNCS])
-+ m4_popdef([AC_LIBOBJ])
-+ AC_CONFIG_COMMANDS_PRE([
-+ gl_libobjs=
-+ gl_ltlibobjs=
-+ if test -n "$gl_LIBOBJS"; then
-+ # Remove the extension.
-+ sed_drop_objext='s/\.o$//;s/\.obj$//'
-+ for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do
-+ gl_libobjs="$gl_libobjs $i.$ac_objext"
-+ gl_ltlibobjs="$gl_ltlibobjs $i.lo"
-+ done
-+ fi
-+ AC_SUBST([gl_LIBOBJS], [$gl_libobjs])
-+ AC_SUBST([gl_LTLIBOBJS], [$gl_ltlibobjs])
-+ ])
-+ gltests_libdeps=
-+ gltests_ltlibdeps=
-+ m4_pushdef([AC_LIBOBJ], m4_defn([gltests_LIBOBJ]))
-+ m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gltests_REPLACE_FUNCS]))
@@ Diff output truncated at 100000 characters. @@
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the devel
mailing list