[csw-devel] SF.net SVN: gar:[7561] csw/mgar/pkg/pinentry/trunk

wahwah at users.sourceforge.net wahwah at users.sourceforge.net
Sun Dec 6 08:50:29 CET 2009


Revision: 7561
          http://gar.svn.sourceforge.net/gar/?rev=7561&view=rev
Author:   wahwah
Date:     2009-12-06 07:50:28 +0000 (Sun, 06 Dec 2009)

Log Message:
-----------
pinentry: Added gnulib, switched on 64-bit build

Modified Paths:
--------------
    csw/mgar/pkg/pinentry/trunk/Makefile
    csw/mgar/pkg/pinentry/trunk/checksums

Added Paths:
-----------
    csw/mgar/pkg/pinentry/trunk/files/0003-TEMP_FAILURE_RETRY-macro-expansion.patch
    csw/mgar/pkg/pinentry/trunk/files/0004-adding-prereq-2.59-to-configure.ac.patch
    csw/mgar/pkg/pinentry/trunk/files/0005-Importing-getopt-posix-gnulib-module.patch
    csw/mgar/pkg/pinentry/trunk/files/0006-enabling-gnulib-getopt-module.patch

Modified: csw/mgar/pkg/pinentry/trunk/Makefile
===================================================================
--- csw/mgar/pkg/pinentry/trunk/Makefile	2009-12-06 04:23:50 UTC (rev 7560)
+++ csw/mgar/pkg/pinentry/trunk/Makefile	2009-12-06 07:50:28 UTC (rev 7561)
@@ -14,45 +14,57 @@
 EXTRA_PKG_CONFIG_DIRS = $(prefix)/X11/lib
 MASTER_SITES = ftp://ftp.gnupg.org/gcrypt/pinentry/
 # PATCHFILES  = 0001-remove-__extension__-from-util.c.patch
+PATCHFILES += 0002-ncurses-include.patch
+PATCHFILES += 0003-TEMP_FAILURE_RETRY-macro-expansion.patch
+PATCHFILES += 0004-adding-prereq-2.59-to-configure.ac.patch
+PATCHFILES += 0005-Importing-getopt-posix-gnulib-module.patch
+PATCHFILES += 0006-enabling-gnulib-getopt-module.patch
 EXTRA_CFLAGS = -D__EXTENSIONS__
 EXTRA_CXXFLAGS = -D__EXTENSIONS__
-PATCHFILES += 0002-ncurses-include.patch
 DISTFILES  = $(GARNAME)-$(GARVERSION).tar.gz
 UFILES_REGEX = $(GARNAME)-(\d+(?:\.\d+)*).tar.gz
-REQUIRED_PKGS = CSWglib CSWgtk CSWiconv CSWncurses
+REQUIRED_PKGS  = CSWfconfig
+REQUIRED_PKGS += CSWftype2
+REQUIRED_PKGS += CSWggettextrt
+REQUIRED_PKGS += CSWglib
+REQUIRED_PKGS += CSWglib2
+REQUIRED_PKGS += CSWgtk
+REQUIRED_PKGS += CSWgtk2
+REQUIRED_PKGS += CSWiconv
+REQUIRED_PKGS += CSWlibatk
+REQUIRED_PKGS += CSWlibcairo
+REQUIRED_PKGS += CSWlibxext
+REQUIRED_PKGS += CSWncurses
+REQUIRED_PKGS += CSWpango
 PREREQUISITE_PKGS = $(REQUIRED_PKGS)
 PREREQUISITE_PKGS += CSWgtk2devel
 TEST_SCRIPTS =
 CONFIGURE_ARGS = $(DIRPATHS)
+EXTRA_LINKER_FLAGS_isa-i386    = /usr/openwin/lib/libXext.so
+EXTRA_LINKER_FLAGS_isa-sparcv8 = /usr/openwin/lib/libXext.so
+EXTRA_LINKER_FLAGS_isa-amd64   = /usr/openwin/lib/sparcv9/libXext.so
+EXTRA_LINKER_FLAGS_isa-sparcv9 = /usr/openwin/lib/sparcv9/libXext.so
+EXTRA_LINKER_FLAGS += $(EXTRA_LINKER_FLAGS_$(MODULATION))
+BUILD64 = 1
 
-# Unfortunately, the compilation fails with SOS11. Because of that, pinentry
-# can't be compiled on Solaris 8, and CSWgnupg2 needs to be compiled for
-# Solaris 8 with no pinentry support.
-#
-# gmake[4]: Entering directory
-# `(...)/pinentry-0.7.6/secmem'
-# source='util.c' object='util.o' libtool=no \
-#         DEPDIR=.deps depmode=none /bin/bash ../depcomp \
-#         /opt/studio/SOS11/SUNWspro/bin/cc -DHAVE_CONFIG_H -I. -I.. \
-#         -I/opt/csw/X11/include -I/opt/csw/include  -xO3 -xarch=v8 \
-#         -D__EXTENSIONS__ -c util.c
-# "util.c", line 57: warning: implicit function declaration: __extension__
-# "util.c", line 57: syntax error before or at: {
-# "util.c", line 57: undefined symbol: __result
-# "util.c", line 57: undefined symbol: __result
-# "util.c", line 57: undefined symbol: __result
-# "util.c", line 57: syntax error before or at: )
-# "util.c", line 58: warning: syntax error:  empty declaration
-# "util.c", line 59: warning: old-style declaration or incorrect type for: written
-# cc: acomp failed for util.c
-# gmake[4]: *** [util.o] Error 2
+include gar/category.mk
 
-GARCOMPILER = SOS12
+# Switch this target on when working with gnulib.
+# pre-configure-modulated:
+# 	# To pick up the gnulib bits.
+# 	( \
+# 	  cd $(WORKSRC) \
+# 	    && \
+# 	  aclocal -I m4 \
+# 	    && \
+# 	  autoconf -I m4 \
+# 	    && \
+# 	  autoheader \
+# 	    && \
+# 	  automake --add-missing --foreign \
+# 	)
+# 	@$(MAKECOOKIE)
 
-PACKAGING_PLATFORMS ?= solaris9-sparc solaris9-i386
-BUILDHOST_sparc-32 = build9s
-BUILDHOST_sparc-64 = build9s
-BUILDHOST_i386-32 = build9x
-BUILDHOST_i386-64 = build10x
-
-include gar/category.mk
+# It works with SOS11 now, thanks to
+# 0003-TEMP_FAILURE_RETRY-macro-expansion.patch
+# GARCOMPILER = SOS12

Modified: csw/mgar/pkg/pinentry/trunk/checksums
===================================================================
--- csw/mgar/pkg/pinentry/trunk/checksums	2009-12-06 04:23:50 UTC (rev 7560)
+++ csw/mgar/pkg/pinentry/trunk/checksums	2009-12-06 07:50:28 UTC (rev 7561)
@@ -1,3 +1,6 @@
-2964e403781bf656b04b46b3846057e4  download/0001-remove-__extension__-from-util.c.patch
-1cfd306236b7fb0bc01a2a408f4f5abb  download/0002-ncurses-include.patch
-5a4f676375fa882009da02013d77210f  download/pinentry-0.7.6.tar.gz
+1cfd306236b7fb0bc01a2a408f4f5abb  0002-ncurses-include.patch
+acafe7b0e415b707d2ab91dd5c24ac68  0003-TEMP_FAILURE_RETRY-macro-expansion.patch
+9ce352e0abab7435d54123ad3bad03ce  0004-adding-prereq-2.59-to-configure.ac.patch
+b2817a6ea1682a53e6d89ea96e64d5fc  0005-Importing-getopt-posix-gnulib-module.patch
+c4440acb2da95db03342e45eb10bec4d  0006-enabling-gnulib-getopt-module.patch
+5a4f676375fa882009da02013d77210f  pinentry-0.7.6.tar.gz

Added: csw/mgar/pkg/pinentry/trunk/files/0003-TEMP_FAILURE_RETRY-macro-expansion.patch
===================================================================
--- csw/mgar/pkg/pinentry/trunk/files/0003-TEMP_FAILURE_RETRY-macro-expansion.patch	                        (rev 0)
+++ csw/mgar/pkg/pinentry/trunk/files/0003-TEMP_FAILURE_RETRY-macro-expansion.patch	2009-12-06 07:50:28 UTC (rev 7561)
@@ -0,0 +1,60 @@
+From e5752fdc0313d3b2ec35d8192bdeb39c25e0795c Mon Sep 17 00:00:00 2001
+From: Maciej Blizinski <maciej at opencsw.org>
+Date: Fri, 4 Dec 2009 18:55:28 +0100
+Subject: [PATCH] TEMP_FAILURE_RETRY macro expansion
+
+---
+ secmem/util.c |   22 ++++++++++++++++++++--
+ 1 files changed, 20 insertions(+), 2 deletions(-)
+
+diff --git a/secmem/util.c b/secmem/util.c
+index 580fd34..0ee1e8d 100644
+--- a/secmem/util.c
++++ b/secmem/util.c
+@@ -32,6 +32,11 @@
+ 
+ #include "util.h"
+ 
++/*
++ * This macro does not work with Sun Studio 11.
++ */
++
++#if 0
+ #ifndef TEMP_FAILURE_RETRY
+ #define TEMP_FAILURE_RETRY(expression) \
+   (__extension__							      \
+@@ -40,6 +45,7 @@
+        while (__result == -1L && errno == EINTR);			      \
+        __result; }))
+ #endif
++#endif
+ 
+ #ifndef HAVE_DOSISH_SYSTEM
+ static int uid_set = 0;
+@@ -53,9 +59,21 @@ ssize_t xwrite(int fd, const void *data, size_t bytes)
+   size_t todo;
+   ssize_t written = 0;
+ 
+-  for (ptr = (char *)data, todo = bytes; todo; ptr += written, todo -= written)
+-    if ((written = TEMP_FAILURE_RETRY(write(fd, ptr, todo))) < 0)
++  for (ptr = (char *)data, todo = bytes; todo; ptr += written, todo -= written) {
++
++    do {
++      written = (long int) write(fd, ptr, todo);
++    } while (written == -1L && errno == EINTR);
++
++    if (written < 0)
+       break;
++  }
++  /*
++   * Original code inside the for loop:
++   *
++   * if ((written = TEMP_FAILURE_RETRY(write(fd, ptr, todo))) < 0)
++   *   break;
++  */
+   return written;
+ }
+ 
+-- 
+1.6.5.1
+

Added: csw/mgar/pkg/pinentry/trunk/files/0004-adding-prereq-2.59-to-configure.ac.patch
===================================================================
--- csw/mgar/pkg/pinentry/trunk/files/0004-adding-prereq-2.59-to-configure.ac.patch	                        (rev 0)
+++ csw/mgar/pkg/pinentry/trunk/files/0004-adding-prereq-2.59-to-configure.ac.patch	2009-12-06 07:50:28 UTC (rev 7561)
@@ -0,0 +1,25 @@
+From 6f95e3011e203a98a1dc7cde43887a155bd2c041 Mon Sep 17 00:00:00 2001
+From: Maciej Blizinski <maciej at opencsw.org>
+Date: Fri, 4 Dec 2009 19:37:47 +0100
+Subject: [PATCH 4/6] adding-prereq-2.59-to-configure.ac
+
+---
+ configure.ac |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index e091dd9..8707ff1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -19,7 +19,7 @@
+ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+  
+ # (Process this file with autoconf to produce a configure script.)
+-AC_PREREQ(2.57)
++AC_PREREQ(2.59)
+ min_automake_version="1.7.6"
+ 
+ # Version number: Remember to change it immediately *after* a release.
+-- 
+1.6.5.1
+

Added: csw/mgar/pkg/pinentry/trunk/files/0005-Importing-getopt-posix-gnulib-module.patch
===================================================================
--- csw/mgar/pkg/pinentry/trunk/files/0005-Importing-getopt-posix-gnulib-module.patch	                        (rev 0)
+++ csw/mgar/pkg/pinentry/trunk/files/0005-Importing-getopt-posix-gnulib-module.patch	2009-12-06 07:50:28 UTC (rev 7561)
@@ -0,0 +1,5816 @@
+From 5ab452427bdb2f48759090c0acd4b49ab33a0d9e Mon Sep 17 00:00:00 2001
+From: Maciej Blizinski <maciej at opencsw.org>
+Date: Fri, 4 Dec 2009 19:39:08 +0100
+Subject: [PATCH 5/6] Importing getopt-posix gnulib module
+
+---
+ lib/Makefile.am     |  219 ++++++++++
+ lib/Makefile.am~    |  219 ++++++++++
+ lib/Makefile.in     |  933 ++++++++++++++++++++++++++++++++++++++++
+ lib/dummy.c         |   42 ++
+ lib/getopt.c        | 1187 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ lib/getopt.in.h     |  247 +++++++++++
+ lib/getopt1.c       |  170 ++++++++
+ lib/getopt_int.h    |  132 ++++++
+ lib/gettext.h       |  279 ++++++++++++
+ lib/stddef.in.h     |   86 ++++
+ lib/unistd.in.h     |  810 +++++++++++++++++++++++++++++++++++
+ link-warning.h      |   28 ++
+ m4/00gnulib.m4      |   30 ++
+ m4/extensions.m4    |  104 +++++
+ m4/getopt.m4        |  250 +++++++++++
+ m4/gnulib-cache.m4  |   34 ++
+ m4/gnulib-common.m4 |  124 ++++++
+ m4/gnulib-comp.m4   |  201 +++++++++
+ m4/gnulib-tool.m4   |   57 +++
+ m4/include_next.m4  |  187 ++++++++
+ m4/onceonly.m4      |   90 ++++
+ m4/stddef_h.m4      |   45 ++
+ m4/unistd_h.m4      |  119 +++++
+ m4/wchar_t.m4       |   20 +
+ 24 files changed, 5613 insertions(+), 0 deletions(-)
+ create mode 100644 lib/Makefile.am
+ create mode 100644 lib/Makefile.am~
+ create mode 100644 lib/Makefile.in
+ create mode 100644 lib/dummy.c
+ create mode 100644 lib/getopt.c
+ create mode 100644 lib/getopt.in.h
+ create mode 100644 lib/getopt1.c
+ create mode 100644 lib/getopt_int.h
+ create mode 100644 lib/gettext.h
+ create mode 100644 lib/stddef.in.h
+ create mode 100644 lib/unistd.in.h
+ create mode 100644 link-warning.h
+ create mode 100644 m4/00gnulib.m4
+ create mode 100644 m4/extensions.m4
+ create mode 100644 m4/getopt.m4
+ create mode 100644 m4/gnulib-cache.m4
+ create mode 100644 m4/gnulib-common.m4
+ create mode 100644 m4/gnulib-comp.m4
+ create mode 100644 m4/gnulib-tool.m4
+ create mode 100644 m4/include_next.m4
+ create mode 100644 m4/onceonly.m4
+ create mode 100644 m4/stddef_h.m4
+ create mode 100644 m4/unistd_h.m4
+ create mode 100644 m4/wchar_t.m4
+
+diff --git a/lib/Makefile.am b/lib/Makefile.am
+new file mode 100644
+index 0000000..f407c93
+--- /dev/null
++++ b/lib/Makefile.am
+@@ -0,0 +1,219 @@
++## 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=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=. --no-libtool --macro-prefix=gl getopt-posix
++
++AUTOMAKE_OPTIONS = 1.5 gnits
++
++SUBDIRS =
++noinst_HEADERS =
++noinst_LIBRARIES =
++noinst_LTLIBRARIES =
++EXTRA_DIST =
++BUILT_SOURCES =
++SUFFIXES =
++MOSTLYCLEANFILES = core *.stackdump
++MOSTLYCLEANDIRS =
++CLEANFILES =
++DISTCLEANFILES =
++MAINTAINERCLEANFILES =
++
++AM_CPPFLAGS =
++AM_CFLAGS =
++
++noinst_LIBRARIES += libgnu.a
++
++libgnu_a_SOURCES =
++libgnu_a_LIBADD = $(gl_LIBOBJS)
++libgnu_a_DEPENDENCIES = $(gl_LIBOBJS)
++EXTRA_libgnu_a_SOURCES =
++
++## 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
++
++EXTRA_DIST += getopt.c getopt.in.h getopt1.c getopt_int.h
++
++EXTRA_libgnu_a_SOURCES += getopt.c getopt1.c
++
++## end   gnulib module getopt-posix
++
++## begin gnulib module gettext-h
++
++libgnu_a_SOURCES += gettext.h
++
++## end   gnulib module gettext-h
++
++## begin gnulib module link-warning
++
++LINK_WARNING_H=$(top_srcdir)/./link-warning.h
++
++EXTRA_DIST += $(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
++
++EXTRA_DIST += stddef.in.h
++
++## 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_GETGROUPS''@|$(GNULIB_GETGROUPS)|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_GETGROUPS''@|$(HAVE_GETGROUPS)|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_GETGROUPS''@|$(REPLACE_GETGROUPS)|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_LINKAT''@|$(REPLACE_LINKAT)|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
++
++EXTRA_DIST += unistd.in.h
++
++## end   gnulib module unistd
++
++## begin gnulib module dummy
++
++libgnu_a_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/lib/Makefile.am~ b/lib/Makefile.am~
+new file mode 100644
+index 0000000..c1fb886
+--- /dev/null
++++ b/lib/Makefile.am~
+@@ -0,0 +1,219 @@
++## 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=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=. --no-libtool --macro-prefix=gl getopt
++
++AUTOMAKE_OPTIONS = 1.5 gnits
++
++SUBDIRS =
++noinst_HEADERS =
++noinst_LIBRARIES =
++noinst_LTLIBRARIES =
++EXTRA_DIST =
++BUILT_SOURCES =
++SUFFIXES =
++MOSTLYCLEANFILES = core *.stackdump
++MOSTLYCLEANDIRS =
++CLEANFILES =
++DISTCLEANFILES =
++MAINTAINERCLEANFILES =
++
++AM_CPPFLAGS =
++AM_CFLAGS =
++
++noinst_LIBRARIES += libgnu.a
++
++libgnu_a_SOURCES =
++libgnu_a_LIBADD = $(gl_LIBOBJS)
++libgnu_a_DEPENDENCIES = $(gl_LIBOBJS)
++EXTRA_libgnu_a_SOURCES =
++
++## 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
++
++EXTRA_DIST += getopt.c getopt.in.h getopt1.c getopt_int.h
++
++EXTRA_libgnu_a_SOURCES += getopt.c getopt1.c
++
++## end   gnulib module getopt-posix
++
++## begin gnulib module gettext-h
++
++libgnu_a_SOURCES += gettext.h
++
++## end   gnulib module gettext-h
++
++## begin gnulib module link-warning
++
++LINK_WARNING_H=$(top_srcdir)/./link-warning.h
++
++EXTRA_DIST += $(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
++
++EXTRA_DIST += stddef.in.h
++
++## 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_GETGROUPS''@|$(GNULIB_GETGROUPS)|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_GETGROUPS''@|$(HAVE_GETGROUPS)|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_GETGROUPS''@|$(REPLACE_GETGROUPS)|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_LINKAT''@|$(REPLACE_LINKAT)|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
++
++EXTRA_DIST += unistd.in.h
++
++## end   gnulib module unistd
++
++## begin gnulib module dummy
++
++libgnu_a_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/lib/Makefile.in b/lib/Makefile.in
+new file mode 100644
+index 0000000..f22746f
+--- /dev/null
++++ b/lib/Makefile.in
+@@ -0,0 +1,933 @@
++# Makefile.in generated by automake 1.11 from Makefile.am.
++# @configure_input@
++
++# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
++# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
++# Inc.
++# This Makefile.in 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 program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
++# PARTICULAR PURPOSE.
++
++ at SET_MAKE@
++
++# 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=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=. --no-libtool --macro-prefix=gl getopt getopt-gnu
++
++
++
++VPATH = @srcdir@
++pkgdatadir = $(datadir)/@PACKAGE@
++pkgincludedir = $(includedir)/@PACKAGE@
++pkglibdir = $(libdir)/@PACKAGE@
++pkglibexecdir = $(libexecdir)/@PACKAGE@
++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
++install_sh_DATA = $(install_sh) -c -m 644
++install_sh_PROGRAM = $(install_sh) -c
++install_sh_SCRIPT = $(install_sh) -c
++INSTALL_HEADER = $(INSTALL_DATA)
++transform = $(program_transform_name)
++NORMAL_INSTALL = :
++PRE_INSTALL = :
++POST_INSTALL = :
++NORMAL_UNINSTALL = :
++PRE_UNINSTALL = :
++POST_UNINSTALL = :
++build_triplet = @build@
++host_triplet = @host@
++subdir = lib
++DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
++	$(srcdir)/Makefile.in
++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
++am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
++	$(top_srcdir)/m4/curses.m4 $(top_srcdir)/m4/extensions.m4 \
++	$(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/glib.m4 \
++	$(top_srcdir)/m4/gnulib-common.m4 \
++	$(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/gtk.m4 \
++	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/include_next.m4 \
++	$(top_srcdir)/m4/onceonly.m4 $(top_srcdir)/m4/qt.m4 \
++	$(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/unistd_h.m4 \
++	$(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/acinclude.m4 \
++	$(top_srcdir)/configure.ac
++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
++	$(ACLOCAL_M4)
++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
++CONFIG_HEADER = $(top_builddir)/config.h
++CONFIG_CLEAN_FILES =
++CONFIG_CLEAN_VPATH_FILES =
++LIBRARIES = $(noinst_LIBRARIES)
++AR = ar
++ARFLAGS = cru
++libgnu_a_AR = $(AR) $(ARFLAGS)
++am__DEPENDENCIES_1 =
++am_libgnu_a_OBJECTS = dummy.$(OBJEXT)
++libgnu_a_OBJECTS = $(am_libgnu_a_OBJECTS)
++LTLIBRARIES = $(noinst_LTLIBRARIES)
++DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
++depcomp = $(SHELL) $(top_srcdir)/depcomp
++am__depfiles_maybe = depfiles
++am__mv = mv -f
++COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
++	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
++CCLD = $(CC)
++LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
++SOURCES = $(libgnu_a_SOURCES) $(EXTRA_libgnu_a_SOURCES)
++DIST_SOURCES = $(libgnu_a_SOURCES) $(EXTRA_libgnu_a_SOURCES)
++RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
++	html-recursive info-recursive install-data-recursive \
++	install-dvi-recursive install-exec-recursive \
++	install-html-recursive install-info-recursive \
++	install-pdf-recursive install-ps-recursive install-recursive \
++	installcheck-recursive installdirs-recursive pdf-recursive \
++	ps-recursive uninstall-recursive
++HEADERS = $(noinst_HEADERS)
++RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
++  distclean-recursive maintainer-clean-recursive
++AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
++	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
++	distdir
++ETAGS = etags
++CTAGS = ctags
++DIST_SUBDIRS = $(SUBDIRS)
++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
++am__relativize = \
++  dir0=`pwd`; \
++  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
++  sed_rest='s,^[^/]*/*,,'; \
++  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
++  sed_butlast='s,/*[^/]*$$,,'; \
++  while test -n "$$dir1"; do \
++    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
++    if test "$$first" != "."; then \
++      if test "$$first" = ".."; then \
++        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
++        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
++      else \
++        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
++        if test "$$first2" = "$$first"; then \
++          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
++        else \
++          dir2="../$$dir2"; \
++        fi; \
++        dir0="$$dir0"/"$$first"; \
++      fi; \
++    fi; \
++    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
++  done; \
++  reldir="$$dir2"
++ACLOCAL = @ACLOCAL@
++AMTAR = @AMTAR@
++AUTOCONF = @AUTOCONF@
++AUTOHEADER = @AUTOHEADER@
++AUTOMAKE = @AUTOMAKE@
++AWK = @AWK@
++CC = @CC@
++CCDEPMODE = @CCDEPMODE@
++CFLAGS = @CFLAGS@
++CPP = @CPP@
++CPPFLAGS = @CPPFLAGS@
++CXX = @CXX@
++CXXCPP = @CXXCPP@
++CXXDEPMODE = @CXXDEPMODE@
++CXXFLAGS = @CXXFLAGS@
++CYGPATH_W = @CYGPATH_W@
++DEFS = @DEFS@
++DEPDIR = @DEPDIR@
++ECHO_C = @ECHO_C@
++ECHO_N = @ECHO_N@
++ECHO_T = @ECHO_T@
++EGREP = @EGREP@
++EXEEXT = @EXEEXT@
++GETOPT_H = @GETOPT_H@
++GLIB_CFLAGS = @GLIB_CFLAGS@
++GLIB_CONFIG = @GLIB_CONFIG@
++GLIB_LIBS = @GLIB_LIBS@
++GNULIB_CHOWN = @GNULIB_CHOWN@
++GNULIB_CLOSE = @GNULIB_CLOSE@
++GNULIB_DUP2 = @GNULIB_DUP2@
++GNULIB_DUP3 = @GNULIB_DUP3@
++GNULIB_ENVIRON = @GNULIB_ENVIRON@
++GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
++GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
++GNULIB_FCHDIR = @GNULIB_FCHDIR@
++GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
++GNULIB_FSYNC = @GNULIB_FSYNC@
++GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
++GNULIB_GETCWD = @GNULIB_GETCWD@
++GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
++GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
++GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
++GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
++GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
++GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
++GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
++GNULIB_LCHOWN = @GNULIB_LCHOWN@
++GNULIB_LINK = @GNULIB_LINK@
++GNULIB_LINKAT = @GNULIB_LINKAT@
++GNULIB_LSEEK = @GNULIB_LSEEK@
++GNULIB_PIPE2 = @GNULIB_PIPE2@
++GNULIB_READLINK = @GNULIB_READLINK@
++GNULIB_READLINKAT = @GNULIB_READLINKAT@
++GNULIB_RMDIR = @GNULIB_RMDIR@
++GNULIB_SLEEP = @GNULIB_SLEEP@
++GNULIB_SYMLINK = @GNULIB_SYMLINK@
++GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
++GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
++GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
++GNULIB_UNLINK = @GNULIB_UNLINK@
++GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
++GNULIB_WRITE = @GNULIB_WRITE@
++GREP = @GREP@
++GTK2CFLAGS = @GTK2CFLAGS@
++GTK2LIBS = @GTK2LIBS@
++GTK_CFLAGS = @GTK_CFLAGS@
++GTK_CONFIG = @GTK_CONFIG@
++GTK_LIBS = @GTK_LIBS@
++HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
++HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
++HAVE_DUP2 = @HAVE_DUP2@
++HAVE_DUP3 = @HAVE_DUP3@
++HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
++HAVE_FACCESSAT = @HAVE_FACCESSAT@
++HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
++HAVE_FSYNC = @HAVE_FSYNC@
++HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
++HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
++HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
++HAVE_GETGROUPS = @HAVE_GETGROUPS@
++HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
++HAVE_GETOPT_H = @HAVE_GETOPT_H@
++HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
++HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
++HAVE_LINK = @HAVE_LINK@
++HAVE_LINKAT = @HAVE_LINKAT@
++HAVE_OS_H = @HAVE_OS_H@
++HAVE_PIPE2 = @HAVE_PIPE2@
++HAVE_READLINK = @HAVE_READLINK@
++HAVE_READLINKAT = @HAVE_READLINKAT@
++HAVE_SLEEP = @HAVE_SLEEP@
++HAVE_SYMLINK = @HAVE_SYMLINK@
++HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
++HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
++HAVE_UNISTD_H = @HAVE_UNISTD_H@
++HAVE_UNLINKAT = @HAVE_UNLINKAT@
++HAVE_WCHAR_T = @HAVE_WCHAR_T@
++INCLUDE_NEXT = @INCLUDE_NEXT@
++INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
++INSTALL = @INSTALL@
++INSTALL_DATA = @INSTALL_DATA@
++INSTALL_PROGRAM = @INSTALL_PROGRAM@
++INSTALL_SCRIPT = @INSTALL_SCRIPT@
++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++LDFLAGS = @LDFLAGS@
++LIBCAP = @LIBCAP@
++LIBCURSES = @LIBCURSES@
++LIBICONV = @LIBICONV@
++LIBINTL = @LIBINTL@
++LIBNCURSES = @LIBNCURSES@
++LIBOBJS = @LIBOBJS@
++LIBPTHREAD = @LIBPTHREAD@
++LIBS = @LIBS@
++LIBTERMCAP = @LIBTERMCAP@
++LIB_QPE = @LIB_QPE@
++LN_S = @LN_S@
++LTLIBICONV = @LTLIBICONV@
++LTLIBINTL = @LTLIBINTL@
++LTLIBOBJS = @LTLIBOBJS@
++MAINT = @MAINT@
++MAKEINFO = @MAKEINFO@
++MKDIR_P = @MKDIR_P@
++MOC = @MOC@
++NCURSES_INCLUDE = @NCURSES_INCLUDE@
++NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
++NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
++NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
++NEXT_GETOPT_H = @NEXT_GETOPT_H@
++NEXT_STDDEF_H = @NEXT_STDDEF_H@
++NEXT_UNISTD_H = @NEXT_UNISTD_H@
++OBJEXT = @OBJEXT@
++PACKAGE = @PACKAGE@
++PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
++PACKAGE_NAME = @PACKAGE_NAME@
++PACKAGE_STRING = @PACKAGE_STRING@
++PACKAGE_TARNAME = @PACKAGE_TARNAME@
++PACKAGE_URL = @PACKAGE_URL@
++PACKAGE_VERSION = @PACKAGE_VERSION@
++PATH_SEPARATOR = @PATH_SEPARATOR@
++PINENTRY_DEFAULT = @PINENTRY_DEFAULT@
++PKG_CONFIG = @PKG_CONFIG@
++PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
++QT4_CORE_CFLAGS = @QT4_CORE_CFLAGS@
++QT4_CORE_LIBS = @QT4_CORE_LIBS@
++QT4_GUI_CFLAGS = @QT4_GUI_CFLAGS@
++QT4_GUI_LIBS = @QT4_GUI_LIBS@
++QTE_NORTTI = @QTE_NORTTI@
++QT_CXXFLAGS = @QT_CXXFLAGS@
++QT_INCLUDES = @QT_INCLUDES@
++QT_LDFLAGS = @QT_LDFLAGS@
++QT_LIBS = @QT_LIBS@
++QT_MT_LDFLAGS = @QT_MT_LDFLAGS@
++QT_MT_LIBS = @QT_MT_LIBS@
++QT_RPATH = @QT_RPATH@
++RANLIB = @RANLIB@
++REPLACE_CHOWN = @REPLACE_CHOWN@
++REPLACE_CLOSE = @REPLACE_CLOSE@
++REPLACE_DUP = @REPLACE_DUP@
++REPLACE_DUP2 = @REPLACE_DUP2@
++REPLACE_FCHDIR = @REPLACE_FCHDIR@
++REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
++REPLACE_GETCWD = @REPLACE_GETCWD@
++REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
++REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
++REPLACE_LCHOWN = @REPLACE_LCHOWN@
++REPLACE_LINK = @REPLACE_LINK@
++REPLACE_LINKAT = @REPLACE_LINKAT@
++REPLACE_LSEEK = @REPLACE_LSEEK@
++REPLACE_NULL = @REPLACE_NULL@
++REPLACE_READLINK = @REPLACE_READLINK@
++REPLACE_RMDIR = @REPLACE_RMDIR@
++REPLACE_SYMLINK = @REPLACE_SYMLINK@
++REPLACE_UNLINK = @REPLACE_UNLINK@
++REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
++REPLACE_WRITE = @REPLACE_WRITE@
++SETCAP = @SETCAP@
++SET_MAKE = @SET_MAKE@
++SHELL = @SHELL@
++STDDEF_H = @STDDEF_H@
++STRIP = @STRIP@
++UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
++UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
++USE_THREADS = @USE_THREADS@
++VERSION = @VERSION@
++WINDRES = @WINDRES@
++XMKMF = @XMKMF@
++X_CFLAGS = @X_CFLAGS@
++X_EXTRA_LIBS = @X_EXTRA_LIBS@
++X_LIBS = @X_LIBS@
++X_PRE_LIBS = @X_PRE_LIBS@
++abs_builddir = @abs_builddir@
++abs_srcdir = @abs_srcdir@
++abs_top_builddir = @abs_top_builddir@
++abs_top_srcdir = @abs_top_srcdir@
++ac_ct_CC = @ac_ct_CC@
++ac_ct_CXX = @ac_ct_CXX@
++am__include = @am__include@
++am__leading_dot = @am__leading_dot@
++am__quote = @am__quote@
++am__tar = @am__tar@
++am__untar = @am__untar@
++bindir = @bindir@
++build = @build@
++build_alias = @build_alias@
++build_cpu = @build_cpu@
++build_os = @build_os@
++build_vendor = @build_vendor@
++builddir = @builddir@
++datadir = @datadir@
++datarootdir = @datarootdir@
++docdir = @docdir@
++dvidir = @dvidir@
++exec_prefix = @exec_prefix@
++gl_LIBOBJS = @gl_LIBOBJS@
++gl_LTLIBOBJS = @gl_LTLIBOBJS@
++gltests_LIBOBJS = @gltests_LIBOBJS@
++gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
++host = @host@
++host_alias = @host_alias@
++host_cpu = @host_cpu@
++host_os = @host_os@
++host_vendor = @host_vendor@
++htmldir = @htmldir@
++includedir = @includedir@
++infodir = @infodir@
++install_sh = @install_sh@
++libdir = @libdir@
++libexecdir = @libexecdir@
++libgnu_LIBDEPS = @libgnu_LIBDEPS@
++libgnu_LTLIBDEPS = @libgnu_LTLIBDEPS@
++localedir = @localedir@
++localstatedir = @localstatedir@
++mandir = @mandir@
++mkdir_p = @mkdir_p@
++oldincludedir = @oldincludedir@
++pdfdir = @pdfdir@
++prefix = @prefix@
++program_transform_name = @program_transform_name@
++psdir = @psdir@
++qt_includes = @qt_includes@
++qt_libraries = @qt_libraries@
++sbindir = @sbindir@
++sharedstatedir = @sharedstatedir@
++srcdir = @srcdir@
++sysconfdir = @sysconfdir@
++target_alias = @target_alias@
++top_build_prefix = @top_build_prefix@
++top_builddir = @top_builddir@
++top_srcdir = @top_srcdir@
++x_libraries = @x_libraries@
++AUTOMAKE_OPTIONS = 1.5 gnits
++SUBDIRS = 
++noinst_HEADERS = 
++noinst_LIBRARIES = libgnu.a
++noinst_LTLIBRARIES = 
++EXTRA_DIST = getopt.c getopt.in.h getopt1.c getopt_int.h \
++	$(top_srcdir)/./link-warning.h stddef.in.h unistd.in.h
++BUILT_SOURCES = $(GETOPT_H) $(STDDEF_H) unistd.h
++SUFFIXES = 
++MOSTLYCLEANFILES = core *.stackdump getopt.h getopt.h-t stddef.h \
++	stddef.h-t unistd.h unistd.h-t
++MOSTLYCLEANDIRS = 
++CLEANFILES = 
++DISTCLEANFILES = 
++MAINTAINERCLEANFILES = 
++AM_CPPFLAGS = 
++AM_CFLAGS = 
++libgnu_a_SOURCES = gettext.h dummy.c
++libgnu_a_LIBADD = $(gl_LIBOBJS)
++libgnu_a_DEPENDENCIES = $(gl_LIBOBJS)
++EXTRA_libgnu_a_SOURCES = getopt.c getopt1.c
++LINK_WARNING_H = $(top_srcdir)/./link-warning.h
++all: $(BUILT_SOURCES)
++	$(MAKE) $(AM_MAKEFLAGS) all-recursive
++
++.SUFFIXES:
++.SUFFIXES: .c .o .obj
++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
++	@for dep in $?; do \
++	  case '$(am__configure_deps)' in \
++	    *$$dep*) \
++	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
++	        && { if test -f $@; then exit 0; else break; fi; }; \
++	      exit 1;; \
++	  esac; \
++	done; \
++	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits lib/Makefile'; \
++	$(am__cd) $(top_srcdir) && \
++	  $(AUTOMAKE) --gnits lib/Makefile
++.PRECIOUS: Makefile
++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
++	@case '$?' in \
++	  *config.status*) \
++	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
++	  *) \
++	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
++	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
++	esac;
++
++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
++	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++
++$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
++	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
++	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++$(am__aclocal_m4_deps):
++
++clean-noinstLIBRARIES:
++	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
++libgnu.a: $(libgnu_a_OBJECTS) $(libgnu_a_DEPENDENCIES) 
++	-rm -f libgnu.a
++	$(libgnu_a_AR) libgnu.a $(libgnu_a_OBJECTS) $(libgnu_a_LIBADD)
++	$(RANLIB) libgnu.a
++
++clean-noinstLTLIBRARIES:
++	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
++	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
++	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
++	  test "$$dir" != "$$p" || dir=.; \
++	  echo "rm -f \"$${dir}/so_locations\""; \
++	  rm -f "$${dir}/so_locations"; \
++	done
++
++mostlyclean-compile:
++	-rm -f *.$(OBJEXT)
++
++distclean-compile:
++	-rm -f *.tab.c
++
++ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dummy.Po at am__quote@
++ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/getopt.Po at am__quote@
++ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/getopt1.Po at am__quote@
++
++.c.o:
++ at am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
++ at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
++ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
++ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++ at am__fastdepCC_FALSE@	$(COMPILE) -c $<
++
++.c.obj:
++ at am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
++ at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
++ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
++ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++ at am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
++
++# This directory's subdirectories are mostly independent; you can cd
++# into them and run `make' without going through this Makefile.
++# To change the values of `make' variables: instead of editing Makefiles,
++# (1) if the variable is set in `config.status', edit `config.status'
++#     (which will cause the Makefiles to be regenerated when you run `make');
++# (2) otherwise, pass the desired values on the `make' command line.
++$(RECURSIVE_TARGETS):
++	@failcom='exit 1'; \
++	for f in x $$MAKEFLAGS; do \
++	  case $$f in \
++	    *=* | --[!k]*);; \
++	    *k*) failcom='fail=yes';; \
++	  esac; \
++	done; \
++	dot_seen=no; \
++	target=`echo $@ | sed s/-recursive//`; \
++	list='$(SUBDIRS)'; for subdir in $$list; do \
++	  echo "Making $$target in $$subdir"; \
++	  if test "$$subdir" = "."; then \
++	    dot_seen=yes; \
++	    local_target="$$target-am"; \
++	  else \
++	    local_target="$$target"; \
++	  fi; \
++	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
++	  || eval $$failcom; \
++	done; \
++	if test "$$dot_seen" = "no"; then \
++	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
++	fi; test -z "$$fail"
++
++$(RECURSIVE_CLEAN_TARGETS):
++	@failcom='exit 1'; \
++	for f in x $$MAKEFLAGS; do \
++	  case $$f in \
++	    *=* | --[!k]*);; \
++	    *k*) failcom='fail=yes';; \
++	  esac; \
++	done; \
++	dot_seen=no; \
++	case "$@" in \
++	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
++	  *) list='$(SUBDIRS)' ;; \
++	esac; \
++	rev=''; for subdir in $$list; do \
++	  if test "$$subdir" = "."; then :; else \
++	    rev="$$subdir $$rev"; \
++	  fi; \
++	done; \
++	rev="$$rev ."; \
++	target=`echo $@ | sed s/-recursive//`; \
++	for subdir in $$rev; do \
++	  echo "Making $$target in $$subdir"; \
++	  if test "$$subdir" = "."; then \
++	    local_target="$$target-am"; \
++	  else \
++	    local_target="$$target"; \
++	  fi; \
++	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
++	  || eval $$failcom; \
++	done && test -z "$$fail"
++tags-recursive:
++	list='$(SUBDIRS)'; for subdir in $$list; do \
++	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
++	done
++ctags-recursive:
++	list='$(SUBDIRS)'; for subdir in $$list; do \
++	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
++	done
++
++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
++	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
++	unique=`for i in $$list; do \
++	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
++	  done | \
++	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
++	      END { if (nonempty) { for (i in files) print i; }; }'`; \
++	mkid -fID $$unique
++tags: TAGS
++
++TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
++		$(TAGS_FILES) $(LISP)
++	set x; \
++	here=`pwd`; \
++	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
++	  include_option=--etags-include; \
++	  empty_fix=.; \
++	else \
++	  include_option=--include; \
++	  empty_fix=; \
++	fi; \
++	list='$(SUBDIRS)'; for subdir in $$list; do \
++	  if test "$$subdir" = .; then :; else \
++	    test ! -f $$subdir/TAGS || \
++	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
++	  fi; \
++	done; \
++	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
++	unique=`for i in $$list; do \
++	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
++	  done | \
++	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
++	      END { if (nonempty) { for (i in files) print i; }; }'`; \
++	shift; \
++	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
++	  test -n "$$unique" || unique=$$empty_fix; \
++	  if test $$# -gt 0; then \
++	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
++	      "$$@" $$unique; \
++	  else \
++	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
++	      $$unique; \
++	  fi; \
++	fi
++ctags: CTAGS
++CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
++		$(TAGS_FILES) $(LISP)
++	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
++	unique=`for i in $$list; do \
++	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
++	  done | \
++	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
++	      END { if (nonempty) { for (i in files) print i; }; }'`; \
++	test -z "$(CTAGS_ARGS)$$unique" \
++	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
++	     $$unique
++
++GTAGS:
++	here=`$(am__cd) $(top_builddir) && pwd` \
++	  && $(am__cd) $(top_srcdir) \
++	  && gtags -i $(GTAGS_ARGS) "$$here"
++
++distclean-tags:
++	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
++
++distdir: $(DISTFILES)
++	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++	list='$(DISTFILES)'; \
++	  dist_files=`for file in $$list; do echo $$file; done | \
++	  sed -e "s|^$$srcdirstrip/||;t" \
++	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
++	case $$dist_files in \
++	  */*) $(MKDIR_P) `echo "$$dist_files" | \
++			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
++			   sort -u` ;; \
++	esac; \
++	for file in $$dist_files; do \
++	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
++	  if test -d $$d/$$file; then \
++	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
++	    if test -d "$(distdir)/$$file"; then \
++	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
++	    fi; \
++	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
++	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
++	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
++	    fi; \
++	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
++	  else \
++	    test -f "$(distdir)/$$file" \
++	    || cp -p $$d/$$file "$(distdir)/$$file" \
++	    || exit 1; \
++	  fi; \
++	done
++	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
++	  if test "$$subdir" = .; then :; else \
++	    test -d "$(distdir)/$$subdir" \
++	    || $(MKDIR_P) "$(distdir)/$$subdir" \
++	    || exit 1; \
++	  fi; \
++	done
++	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
++	  if test "$$subdir" = .; then :; else \
++	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
++	    $(am__relativize); \
++	    new_distdir=$$reldir; \
++	    dir1=$$subdir; dir2="$(top_distdir)"; \
++	    $(am__relativize); \
++	    new_top_distdir=$$reldir; \
++	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
++	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
++	    ($(am__cd) $$subdir && \
++	      $(MAKE) $(AM_MAKEFLAGS) \
++	        top_distdir="$$new_top_distdir" \
++	        distdir="$$new_distdir" \
++		am__remove_distdir=: \
++		am__skip_length_check=: \
++		am__skip_mode_fix=: \
++	        distdir) \
++	      || exit 1; \
++	  fi; \
++	done
++check-am: all-am
++check: $(BUILT_SOURCES)
++	$(MAKE) $(AM_MAKEFLAGS) check-recursive
++all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS)
++installdirs: installdirs-recursive
++installdirs-am:
++install: $(BUILT_SOURCES)
++	$(MAKE) $(AM_MAKEFLAGS) install-recursive
++install-exec: install-exec-recursive
++install-data: install-data-recursive
++uninstall: uninstall-recursive
++
++install-am: all-am
++	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
++
++installcheck: installcheck-recursive
++install-strip:
++	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++	  `test -z '$(STRIP)' || \
++	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
++mostlyclean-generic:
++	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
++
++clean-generic:
++	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
++
++distclean-generic:
++	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
++	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
++	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
++
++maintainer-clean-generic:
++	@echo "This command is intended for maintainers to use"
++	@echo "it deletes files that may require special tools to rebuild."
++	-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
++	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
++clean: clean-recursive
++
++clean-am: clean-generic clean-noinstLIBRARIES clean-noinstLTLIBRARIES \
++	mostlyclean-am
++
++distclean: distclean-recursive
++	-rm -rf ./$(DEPDIR)
++	-rm -f Makefile
++distclean-am: clean-am distclean-compile distclean-generic \
++	distclean-tags
++
++dvi: dvi-recursive
++
++dvi-am:
++
++html: html-recursive
++
++html-am:
++
++info: info-recursive
++
++info-am:
++
++install-data-am:
++
++install-dvi: install-dvi-recursive
++
++install-dvi-am:
++
++install-exec-am:
++
++install-html: install-html-recursive
++
++install-html-am:
++
++install-info: install-info-recursive
++
++install-info-am:
++
++install-man:
++
++install-pdf: install-pdf-recursive
++
++install-pdf-am:
++
++install-ps: install-ps-recursive
++
++install-ps-am:
++
++installcheck-am:
++
++maintainer-clean: maintainer-clean-recursive
++	-rm -rf ./$(DEPDIR)
++	-rm -f Makefile
++maintainer-clean-am: distclean-am maintainer-clean-generic
++
++mostlyclean: mostlyclean-recursive
++
++mostlyclean-am: mostlyclean-compile mostlyclean-generic \
++	mostlyclean-local
++
++pdf: pdf-recursive
++
++pdf-am:
++
++ps: ps-recursive
++
++ps-am:
++
++uninstall-am:
++
++.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
++	ctags-recursive install install-am install-strip \
++	tags-recursive
++
++.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
++	all all-am check check-am clean clean-generic \
++	clean-noinstLIBRARIES clean-noinstLTLIBRARIES ctags \
++	ctags-recursive distclean distclean-compile distclean-generic \
++	distclean-tags distdir dvi dvi-am html html-am info info-am \
++	install install-am install-data install-data-am install-dvi \
++	install-dvi-am install-exec install-exec-am install-html \
++	install-html-am install-info install-info-am install-man \
++	install-pdf install-pdf-am install-ps install-ps-am \
++	install-strip installcheck installcheck-am installdirs \
++	installdirs-am maintainer-clean maintainer-clean-generic \
++	mostlyclean mostlyclean-compile mostlyclean-generic \
++	mostlyclean-local pdf pdf-am ps ps-am tags tags-recursive \
++	uninstall uninstall-am
++
++
++# 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 $@
++
++# 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 $@
++
++# 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_GETGROUPS''@|$(GNULIB_GETGROUPS)|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_GETGROUPS''@|$(HAVE_GETGROUPS)|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_GETGROUPS''@|$(REPLACE_GETGROUPS)|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_LINKAT''@|$(REPLACE_LINKAT)|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 $@
++
++mostlyclean-local: mostlyclean-generic
++	@for dir in '' $(MOSTLYCLEANDIRS); do \
++	  if test -n "$$dir" && test -d $$dir; then \
++	    echo "rmdir $$dir"; rmdir $$dir; \
++	  fi; \
++	done; \
++	:
++
++# Tell versions [3.59,3.63) of GNU make to not export all variables.
++# Otherwise a system limit (for SysV at least) may be exceeded.
++.NOEXPORT:
+diff --git a/lib/dummy.c b/lib/dummy.c
+new file mode 100644
+index 0000000..ccb5c26
+--- /dev/null
++++ b/lib/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/lib/getopt.c b/lib/getopt.c
+new file mode 100644
+index 0000000..797d166
+--- /dev/null
++++ b/lib/getopt.c
+@@ -0,0 +1,1187 @@
++/* 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,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 _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 _UNUSED_PARAMETER_,
++		    char **argv _UNUSED_PARAMETER_, 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/lib/getopt.in.h b/lib/getopt.in.h
+new file mode 100644
+index 0000000..7377f3c
+--- /dev/null
++++ b/lib/getopt.in.h
+@@ -0,0 +1,247 @@
++/* 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.  We must
++   also inform the replacement unistd.h to not recursively use
++   <getopt.h>; our definitions will be present soon enough.  */
++#if @HAVE_GETOPT_H@
++# define _GL_SYSTEM_GETOPT
++# @INCLUDE_NEXT@ @NEXT_GETOPT_H@
++# undef _GL_SYSTEM_GETOPT
++#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)

@@ 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