[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