-From 93d0a4993100114f3ac89af5a3d95d14483817c0 Mon Sep 17 00:00:00 2001
+From eeae8079cf05426a957adca46f3fc6d0a985509e Mon Sep 17 00:00:00 2001
From: woglinde <woglinde@rhein.zuhause.netz>
Date: Sat, 5 Dec 2009 01:09:35 +0100
Subject: [PATCH] *big fat autotools patch
Intro.txt | 270 -
Makefile | 154 -
Makefile.am | 11 +
- Makefile.in | 924 ++
+ Makefile.in | 925 ++
NEWS | 1 +
README | 270 +
- autogen.sh | 2 +
+ autogen.sh | 22 +
changelog.gz | Bin 260 -> 0 bytes
config.guess | 1533 +++
- config.h.in | 205 +
+ config.h.in | 208 +
config.sub | 1693 +++
- configure |16274 ++++++++++++++++++++++++++
- configure.ac | 93 +
+ configure |16280 ++++++++++++++++++++++++++
+ configure.ac | 97 +
depcomp | 630 +
dessert.h | 1334 ---
dessert_agentx.c | 563 -
dessert_sysiface.c | 487 -
doxygen-include.am | 203 +
include/Makefile.am | 3 +
- include/Makefile.in | 489 +
+ include/Makefile.in | 490 +
include/dessert/dessert.h | 1334 +++
include/dessert/utlist.h | 349 +
install-sh | 520 +
ltmain.sh | 8413 +++++++++++++
m4/ac_doxygen.m4 | 324 +
m4/ax_pthread.m4 | 272 +
+ m4/libtool.m4 | 7376 ++++++++++++
+ m4/ltoptions.m4 | 368 +
+ m4/ltsugar.m4 | 123 +
+ m4/ltversion.m4 | 23 +
+ m4/lt~obsolete.m4 | 92 +
m4/net-snmp.m4 | 10 +
m4/pcap.m4 | 10 +
missing | 376 +
snmp/dessertSysifTable_oids.h | 43 -
snmp/dessertSysifTable_subagent.c | 202 -
src/Makefile.am | 3 +
- src/Makefile.in | 590 +
- src/libdessert/Makefile.am | 21 +
- src/libdessert/Makefile.in | 579 +
+ src/Makefile.in | 591 +
+ src/libdessert/Makefile.am | 26 +
+ src/libdessert/Makefile.in | 586 +
src/libdessert/dessert_agentx.c | 563 +
src/libdessert/dessert_cli.c | 257 +
src/libdessert/dessert_core.c | 241 +
src/libdessert/dessert_periodic.c | 326 +
src/libdessert/dessert_sysiface.c | 487 +
src/snmp/Makefile.am | 60 +
- src/snmp/Makefile.in | 582 +
+ src/snmp/Makefile.in | 598 +
src/snmp/dessertAppParamsTable.c | 231 +
src/snmp/dessertAppParamsTable.h | 252 +
src/snmp/dessertAppParamsTable_data_access.c | 352 +
src/snmp/dessertSysifTable_oids.h | 43 +
src/snmp/dessertSysifTable_subagent.c | 202 +
utlist.h | 349 -
- 160 files changed, 55999 insertions(+), 21344 deletions(-)
+ 165 files changed, 64045 insertions(+), 21344 deletions(-)
create mode 100644 COPYING
create mode 100644 ChangeLog
create mode 100644 INSTALL
create mode 100755 ltmain.sh
create mode 100644 m4/ac_doxygen.m4
create mode 100644 m4/ax_pthread.m4
+ create mode 100644 m4/libtool.m4
+ create mode 100644 m4/ltoptions.m4
+ create mode 100644 m4/ltsugar.m4
+ create mode 100644 m4/ltversion.m4
+ create mode 100644 m4/lt~obsolete.m4
create mode 100644 m4/net-snmp.m4
create mode 100644 m4/pcap.m4
create mode 100755 missing
create mode 100644 src/snmp/dessertSysifTable_subagent.c
delete mode 100644 utlist.h
-diff --git a/AUTHORS b/AUTHORS
-index 6cf4381..1e3383e 100644
---- a/AUTHORS
-+++ b/AUTHORS
-@@ -15,6 +15,8 @@ Bug reports and contributions by:
+Index: libdessert0.86-0.86.14/AUTHORS
+===================================================================
+--- libdessert0.86-0.86.14.orig/AUTHORS 2009-11-26 18:56:56.000000000 +0100
++++ libdessert0.86-0.86.14/AUTHORS 2009-12-09 16:38:27.215595120 +0100
+@@ -15,6 +15,8 @@
Wladimir Degtjarew <degtjare@inf.fu-berlin.de>
Sebastian Hofmann <shof@inf.fu-berlin.de>
DES-SERT is under development at Freie Universitaet Berlin, Germany
Distributed, Embedded Systems (DES) research group, Prof Mesut Guenes
-diff --git a/COPYING b/COPYING
-new file mode 100644
-index 0000000..94a9ed0
---- /dev/null
-+++ b/COPYING
+Index: libdessert0.86-0.86.14/COPYING
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/COPYING 2009-12-09 16:38:27.215595120 +0100
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
-diff --git a/ChangeLog b/ChangeLog
-new file mode 100644
-index 0000000..24a149f
---- /dev/null
-+++ b/ChangeLog
+Index: libdessert0.86-0.86.14/ChangeLog
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/ChangeLog 2009-12-09 16:38:27.215595120 +0100
@@ -0,0 +1,7 @@
+20091126 - 0.86.13
+ - The sysrxpipeline now properly destroys the passed message on DESSERT_MSG_DROP.
+ - Added int dessert_msg_getpayload(dessert_msg_t *msg, void **payload) to
+ retrieve the length of the payload and a pointer to the payload, if any.
\ No newline at end of file
-diff --git a/DES-SERT.doxyfile b/DES-SERT.doxyfile
-index e92c000..5de05c9 100644
---- a/DES-SERT.doxyfile
-+++ b/DES-SERT.doxyfile
-@@ -568,7 +568,7 @@ WARN_LOGFILE =
+Index: libdessert0.86-0.86.14/DES-SERT.doxyfile
+===================================================================
+--- libdessert0.86-0.86.14.orig/DES-SERT.doxyfile 2009-11-26 18:56:56.000000000 +0100
++++ libdessert0.86-0.86.14/DES-SERT.doxyfile 2009-12-09 16:38:27.215595120 +0100
+@@ -568,7 +568,7 @@
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
-diff --git a/INSTALL b/INSTALL
-new file mode 100644
-index 0000000..2550dab
---- /dev/null
-+++ b/INSTALL
+Index: libdessert0.86-0.86.14/INSTALL
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/INSTALL 2009-12-09 16:38:27.215595120 +0100
@@ -0,0 +1,302 @@
+Installation Instructions
+*************************
+`configure' also accepts some other, not widely useful, options. Run
+`configure --help' for more details.
+
-diff --git a/Intro.txt b/Intro.txt
-deleted file mode 100644
-index f54e509..0000000
---- a/Intro.txt
-+++ /dev/null
+Index: libdessert0.86-0.86.14/Intro.txt
+===================================================================
+--- libdessert0.86-0.86.14.orig/Intro.txt 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,270 +0,0 @@
-
- DES-SERT - an Extensible Routing-Framework for Testbeds
- We love feedback - if you have patches, comments or questions,
- please contact us! Recent contact information is available on
- http://www.des-testbed.net/des-sert/
-diff --git a/Makefile b/Makefile
-deleted file mode 100644
-index 3416f34..0000000
---- a/Makefile
-+++ /dev/null
-@@ -1,154 +0,0 @@
+Index: libdessert0.86-0.86.14/Makefile
+===================================================================
+--- libdessert0.86-0.86.14.orig/Makefile 2009-11-26 18:56:56.000000000 +0100
++++ libdessert0.86-0.86.14/Makefile 2009-12-09 16:38:56.609342119 +0100
+@@ -1,154 +1,925 @@
-SHLIB_VERSION = 0.86.14
-SHLIB_COMPAT_VERSION = 0.86
--
++# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile. Generated from Makefile.in by configure.
+
-MODULES=dessert_core.o dessert_log.o dessert_sysiface.o dessert_meshiface.o dessert_msg.o dessert_cli.o dessert_periodic.o dessert_agentx.o
-
-UNAME = $(shell uname | tr 'a-z' 'A-Z')
- $(CC) -ggdb -Wall -DTARGET_$(UNAME) -D_GNU_SOURCE $(NETSNMPCFLAGS) $(LDFLAGS) -o test-meshif-iterator test/test-meshif-iterator.o $(MODULES)
-
\ No newline at end of file
-diff --git a/Makefile.am b/Makefile.am
-new file mode 100644
-index 0000000..5171ca4
---- /dev/null
-+++ b/Makefile.am
-@@ -0,0 +1,11 @@
-+
-+ACLOCAL_AMFLAGS = -I m4 --install
-+
-+SUBDIRS = include src
-+
-+pkgconfigdir = $(libdir)/pkgconfig
-+pkgconfig_DATA = libdessert.pc
-+
-+include doxygen-include.am
-+
-+EXTRA_DIST = autogen.sh DES-SERT.doxyfile doxygen/html
-diff --git a/Makefile.in b/Makefile.in
-new file mode 100644
-index 0000000..7848551
---- /dev/null
-+++ b/Makefile.in
-@@ -0,0 +1,924 @@
-+# 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.
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
-+@SET_MAKE@
++
+
+# ---------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one or more
+#
+# This is usually added to MOSTLYCLEANFILES.
+
-+VPATH = @srcdir@
-+pkgdatadir = $(datadir)/@PACKAGE@
-+pkgincludedir = $(includedir)/@PACKAGE@
-+pkglibdir = $(libdir)/@PACKAGE@
-+pkglibexecdir = $(libexecdir)/@PACKAGE@
++
++pkgdatadir = $(datadir)/libdessert
++pkgincludedir = $(includedir)/libdessert
++pkglibdir = $(libdir)/libdessert
++pkglibexecdir = $(libexecdir)/libdessert
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
-+build_triplet = @build@
-+host_triplet = @host@
++build_triplet = i686-pc-linux-gnu
++host_triplet = i686-pc-linux-gnu
+DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(srcdir)/config.h.in \
+ $(srcdir)/doxygen-include.am $(srcdir)/libdessert.pc.in \
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
-+ACLOCAL = @ACLOCAL@
-+AMTAR = @AMTAR@
-+AR = @AR@
-+AUTOCONF = @AUTOCONF@
-+AUTOHEADER = @AUTOHEADER@
-+AUTOMAKE = @AUTOMAKE@
-+AWK = @AWK@
-+CC = @CC@
-+CCDEPMODE = @CCDEPMODE@
-+CFLAGS = @CFLAGS@
-+CPP = @CPP@
-+CPPFLAGS = @CPPFLAGS@
-+CYGPATH_W = @CYGPATH_W@
-+DEFS = @DEFS@
-+DEPDIR = @DEPDIR@
-+DOXYGEN_PAPER_SIZE = @DOXYGEN_PAPER_SIZE@
-+DSYMUTIL = @DSYMUTIL@
-+DUMPBIN = @DUMPBIN@
-+DX_CONFIG = @DX_CONFIG@
-+DX_DOCDIR = @DX_DOCDIR@
-+DX_DOT = @DX_DOT@
-+DX_DOXYGEN = @DX_DOXYGEN@
-+DX_DVIPS = @DX_DVIPS@
-+DX_EGREP = @DX_EGREP@
-+DX_ENV = @DX_ENV@
-+DX_FLAG_chi = @DX_FLAG_chi@
-+DX_FLAG_chm = @DX_FLAG_chm@
-+DX_FLAG_doc = @DX_FLAG_doc@
-+DX_FLAG_dot = @DX_FLAG_dot@
-+DX_FLAG_html = @DX_FLAG_html@
-+DX_FLAG_man = @DX_FLAG_man@
-+DX_FLAG_pdf = @DX_FLAG_pdf@
-+DX_FLAG_ps = @DX_FLAG_ps@
-+DX_FLAG_rtf = @DX_FLAG_rtf@
-+DX_FLAG_xml = @DX_FLAG_xml@
-+DX_HHC = @DX_HHC@
-+DX_LATEX = @DX_LATEX@
-+DX_MAKEINDEX = @DX_MAKEINDEX@
-+DX_PDFLATEX = @DX_PDFLATEX@
-+DX_PERL = @DX_PERL@
-+DX_PROJECT = @DX_PROJECT@
-+ECHO_C = @ECHO_C@
-+ECHO_N = @ECHO_N@
-+ECHO_T = @ECHO_T@
-+EGREP = @EGREP@
-+EXEEXT = @EXEEXT@
-+FGREP = @FGREP@
-+GREP = @GREP@
-+INSTALL = @INSTALL@
-+INSTALL_DATA = @INSTALL_DATA@
-+INSTALL_PROGRAM = @INSTALL_PROGRAM@
-+INSTALL_SCRIPT = @INSTALL_SCRIPT@
-+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-+LD = @LD@
-+LDFLAGS = @LDFLAGS@
-+LIBDESSERT_LIBRARY_VERSION = @LIBDESSERT_LIBRARY_VERSION@
-+LIBOBJS = @LIBOBJS@
-+LIBS = @LIBS@
-+LIBTOOL = @LIBTOOL@
-+LIPO = @LIPO@
-+LN_S = @LN_S@
-+LTLIBOBJS = @LTLIBOBJS@
-+MAKEINFO = @MAKEINFO@
-+MKDIR_P = @MKDIR_P@
-+NM = @NM@
-+NMEDIT = @NMEDIT@
-+OBJDUMP = @OBJDUMP@
-+OBJEXT = @OBJEXT@
-+OTOOL = @OTOOL@
-+OTOOL64 = @OTOOL64@
-+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@
-+PCAP_CFLAGS = @PCAP_CFLAGS@
-+PCAP_CFLGAS = @PCAP_CFLGAS@
-+PCAP_LIBS = @PCAP_LIBS@
-+PTHREAD_CC = @PTHREAD_CC@
-+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
-+PTHREAD_LIBS = @PTHREAD_LIBS@
-+RANLIB = @RANLIB@
-+SED = @SED@
-+SET_MAKE = @SET_MAKE@
-+SHELL = @SHELL@
-+SNMP_CFLAGS = @SNMP_CFLAGS@
-+SNMP_CFLGAS = @SNMP_CFLGAS@
-+SNMP_LIBS = @SNMP_LIBS@
-+STRIP = @STRIP@
-+VERSION = @VERSION@
-+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_DUMPBIN = @ac_ct_DUMPBIN@
-+am__include = @am__include@
-+am__leading_dot = @am__leading_dot@
-+am__quote = @am__quote@
-+am__tar = @am__tar@
-+am__untar = @am__untar@
-+ax_pthread_config = @ax_pthread_config@
-+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@
-+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@
-+localedir = @localedir@
-+localstatedir = @localstatedir@
-+lt_ECHO = @lt_ECHO@
-+mandir = @mandir@
-+mkdir_p = @mkdir_p@
-+oldincludedir = @oldincludedir@
-+pdfdir = @pdfdir@
-+prefix = @prefix@
-+program_transform_name = @program_transform_name@
-+psdir = @psdir@
-+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@
-+ACLOCAL_AMFLAGS = -I m4 --install
++ACLOCAL = ${SHELL} /devel/archive/test/libdessert0.86-0.86.14/missing --run aclocal-1.11
++AMTAR = ${SHELL} /devel/archive/test/libdessert0.86-0.86.14/missing --run tar
++AR = ar
++AUTOCONF = ${SHELL} /devel/archive/test/libdessert0.86-0.86.14/missing --run autoconf
++AUTOHEADER = ${SHELL} /devel/archive/test/libdessert0.86-0.86.14/missing --run autoheader
++AUTOMAKE = ${SHELL} /devel/archive/test/libdessert0.86-0.86.14/missing --run automake-1.11
++AWK = gawk
++CC = gcc
++CCDEPMODE = depmode=gcc3
++CFLAGS = -g -O2
++CLI_LIBS =
++CPP = gcc -E
++CPPFLAGS =
++CYGPATH_W = echo
++DEFS = -DHAVE_CONFIG_H
++DEPDIR = .deps
++DOXYGEN_PAPER_SIZE =
++DSYMUTIL =
++DUMPBIN =
++DX_CONFIG = DES-SERT.doxyfile
++DX_DOCDIR = doxygen
++DX_DOT = /usr/bin/dot
++DX_DOXYGEN = /usr/bin/doxygen
++DX_DVIPS =
++DX_EGREP = /bin/egrep
++DX_ENV = SRCDIR='.' PROJECT='libdessert' DOCDIR='doxygen' VERSION='0.86.14' PERL_PATH='/usr/bin/perl' HAVE_DOT='YES' DOT_PATH='/usr/bin' GENERATE_MAN='NO' GENERATE_RTF='NO' GENERATE_XML='NO' GENERATE_HTMLHELP='NO' GENERATE_CHI='NO' GENERATE_HTML='YES' GENERATE_LATEX='YES'
++DX_FLAG_chi = 0
++DX_FLAG_chm = 0
++DX_FLAG_doc = 1
++DX_FLAG_dot = 1
++DX_FLAG_html = 1
++DX_FLAG_man = 0
++DX_FLAG_pdf = 1
++DX_FLAG_ps = 0
++DX_FLAG_rtf = 0
++DX_FLAG_xml = 0
++DX_HHC =
++DX_LATEX =
++DX_MAKEINDEX = /usr/bin/makeindex
++DX_PDFLATEX = /usr/bin/pdflatex
++DX_PERL = /usr/bin/perl
++DX_PROJECT = libdessert
++ECHO_C =
++ECHO_N = -n
++ECHO_T =
++EGREP = /bin/grep -E
++EXEEXT =
++FGREP = /bin/grep -F
++GREP = /bin/grep
++INSTALL = /usr/bin/install -c
++INSTALL_DATA = ${INSTALL} -m 644
++INSTALL_PROGRAM = ${INSTALL}
++INSTALL_SCRIPT = ${INSTALL}
++INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
++LD = /usr/bin/ld
++LDFLAGS =
++LIBDESSERT_LIBRARY_VERSION = 0:86:14
++LIBOBJS =
++LIBS = -lcli
++LIBTOOL = $(SHELL) $(top_builddir)/libtool
++LIPO =
++LN_S = ln -s
++LTLIBOBJS =
++MAKEINFO = ${SHELL} /devel/archive/test/libdessert0.86-0.86.14/missing --run makeinfo
++MKDIR_P = /bin/mkdir -p
++NM = /usr/bin/nm -B
++NMEDIT =
++OBJDUMP = objdump
++OBJEXT = o
++OTOOL =
++OTOOL64 =
++PACKAGE = libdessert
++PACKAGE_BUGREPORT = des-sert@spline.inf.fu-berlin.de
++PACKAGE_NAME = libdessert
++PACKAGE_STRING = libdessert 0.86.14
++PACKAGE_TARNAME = libdessert
++PACKAGE_URL =
++PACKAGE_VERSION = 0.86.14
++PATH_SEPARATOR = :
++PCAP_CFLAGS =
++PCAP_CFLGAS = -I/usr/include
++PCAP_LIBS = -L/usr/lib -lpcap
++PTHREAD_CC = gcc
++PTHREAD_CFLAGS =
++PTHREAD_LIBS = -lpthread
++RANLIB = ranlib
++SED = /bin/sed
++SET_MAKE =
++SHELL = /bin/sh
++SNMP_CFLAGS =
++SNMP_CFLGAS = -DNETSNMP_ENABLE_IPV6 -g -O2 -DNETSNMP_USE_INLINE -Ulinux -Dlinux=linux -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib/perl/5.10/CORE -I. -I/usr/include
++SNMP_LIBS = -L/usr/lib -lnetsnmpagent -lnetsnmphelpers -lnetsnmpmibs -lnetsnmp -Wl,-E
++STRIP = strip
++VERSION = 0.86.14
++abs_builddir = /devel/archive/test/libdessert0.86-0.86.14
++abs_srcdir = /devel/archive/test/libdessert0.86-0.86.14
++abs_top_builddir = /devel/archive/test/libdessert0.86-0.86.14
++abs_top_srcdir = /devel/archive/test/libdessert0.86-0.86.14
++ac_ct_CC = gcc
++ac_ct_DUMPBIN =
++am__include = include
++am__leading_dot = .
++am__quote =
++am__tar = ${AMTAR} chof - "$$tardir"
++am__untar = ${AMTAR} xf -
++ax_pthread_config =
++bindir = ${exec_prefix}/bin
++build = i686-pc-linux-gnu
++build_alias =
++build_cpu = i686
++build_os = linux-gnu
++build_vendor = pc
++builddir = .
++datadir = ${datarootdir}
++datarootdir = ${prefix}/share
++docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
++dvidir = ${docdir}
++exec_prefix = ${prefix}
++host = i686-pc-linux-gnu
++host_alias =
++host_cpu = i686
++host_os = linux-gnu
++host_vendor = pc
++htmldir = ${docdir}
++includedir = ${prefix}/include
++infodir = ${datarootdir}/info
++install_sh = ${SHELL} /devel/archive/test/libdessert0.86-0.86.14/install-sh
++libdir = ${exec_prefix}/lib
++libexecdir = ${exec_prefix}/libexec
++localedir = ${datarootdir}/locale
++localstatedir = ${prefix}/var
++lt_ECHO = echo
++mandir = ${datarootdir}/man
++mkdir_p = /bin/mkdir -p
++oldincludedir = /usr/include
++pdfdir = ${docdir}
++prefix = /usr/local
++program_transform_name = s,x,x,
++psdir = ${docdir}
++sbindir = ${exec_prefix}/sbin
++sharedstatedir = ${prefix}/com
++srcdir = .
++sysconfdir = ${prefix}/etc
++target_alias =
++top_build_prefix =
++top_builddir = .
++top_srcdir = .
++ACLOCAL_AMFLAGS = -I m4
+SUBDIRS = include src
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = libdessert.pc
-+@DX_COND_doc_TRUE@@DX_COND_html_TRUE@DX_CLEAN_HTML = @DX_DOCDIR@/html
-+@DX_COND_chm_TRUE@@DX_COND_doc_TRUE@DX_CLEAN_CHM = @DX_DOCDIR@/chm
-+@DX_COND_chi_TRUE@@DX_COND_chm_TRUE@@DX_COND_doc_TRUE@DX_CLEAN_CHI = @DX_DOCDIR@/@PACKAGE@.chi
-+@DX_COND_doc_TRUE@@DX_COND_man_TRUE@DX_CLEAN_MAN = @DX_DOCDIR@/man
-+@DX_COND_doc_TRUE@@DX_COND_rtf_TRUE@DX_CLEAN_RTF = @DX_DOCDIR@/rtf
-+@DX_COND_doc_TRUE@@DX_COND_xml_TRUE@DX_CLEAN_XML = @DX_DOCDIR@/xml
-+@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@DX_CLEAN_PS = @DX_DOCDIR@/@PACKAGE@.ps
-+@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@DX_PS_GOAL = doxygen-ps
-+@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@DX_CLEAN_PDF = @DX_DOCDIR@/@PACKAGE@.pdf
-+@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@DX_PDF_GOAL = doxygen-pdf
-+@DX_COND_doc_TRUE@@DX_COND_latex_TRUE@DX_CLEAN_LATEX = @DX_DOCDIR@/latex
-+@DX_COND_doc_TRUE@DX_CLEANFILES = \
-+@DX_COND_doc_TRUE@ @DX_DOCDIR@/@PACKAGE@.tag \
-+@DX_COND_doc_TRUE@ -r \
-+@DX_COND_doc_TRUE@ $(DX_CLEAN_HTML) \
-+@DX_COND_doc_TRUE@ $(DX_CLEAN_CHM) \
-+@DX_COND_doc_TRUE@ $(DX_CLEAN_CHI) \
-+@DX_COND_doc_TRUE@ $(DX_CLEAN_MAN) \
-+@DX_COND_doc_TRUE@ $(DX_CLEAN_RTF) \
-+@DX_COND_doc_TRUE@ $(DX_CLEAN_XML) \
-+@DX_COND_doc_TRUE@ $(DX_CLEAN_PS) \
-+@DX_COND_doc_TRUE@ $(DX_CLEAN_PDF) \
-+@DX_COND_doc_TRUE@ $(DX_CLEAN_LATEX)
++DX_CLEAN_HTML = doxygen/html
++#DX_CLEAN_CHM = doxygen/chm
++##DX_CLEAN_CHI = doxygen/libdessert.chi
++#DX_CLEAN_MAN = doxygen/man
++#DX_CLEAN_RTF = doxygen/rtf
++#DX_CLEAN_XML = doxygen/xml
++#DX_CLEAN_PS = doxygen/libdessert.ps
++#DX_PS_GOAL = doxygen-ps
++DX_CLEAN_PDF = doxygen/libdessert.pdf
++DX_PDF_GOAL = doxygen-pdf
++DX_CLEAN_LATEX = doxygen/latex
++DX_CLEANFILES = \
++ doxygen/libdessert.tag \
++ -r \
++ $(DX_CLEAN_HTML) \
++ $(DX_CLEAN_CHM) \
++ $(DX_CLEAN_CHI) \
++ $(DX_CLEAN_MAN) \
++ $(DX_CLEAN_RTF) \
++ $(DX_CLEAN_XML) \
++ $(DX_CLEAN_PS) \
++ $(DX_CLEAN_PDF) \
++ $(DX_CLEAN_LATEX)
+
+EXTRA_DIST = autogen.sh DES-SERT.doxyfile doxygen/html
+all: config.h
+ uninstall uninstall-am uninstall-pkgconfigDATA
+
+
-+@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@doxygen-ps: @DX_DOCDIR@/@PACKAGE@.ps
++#doxygen-ps: doxygen/libdessert.ps
+
-+@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@@DX_DOCDIR@/@PACKAGE@.ps: @DX_DOCDIR@/@PACKAGE@.tag
-+@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ cd @DX_DOCDIR@/latex; \
-+@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
-+@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ $(DX_LATEX) refman.tex; \
-+@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ $(MAKEINDEX_PATH) refman.idx; \
-+@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ $(DX_LATEX) refman.tex; \
-+@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ countdown=5; \
-+@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
-+@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ refman.log > /dev/null 2>&1 \
-+@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ && test $$countdown -gt 0; do \
-+@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ $(DX_LATEX) refman.tex; \
-+@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ countdown=`expr $$countdown - 1`; \
-+@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ done; \
-+@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ $(DX_DVIPS) -o ../@PACKAGE@.ps refman.dvi
++#doxygen/libdessert.ps: doxygen/libdessert.tag
++# cd doxygen/latex; \
++# rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
++# $(DX_LATEX) refman.tex; \
++# $(MAKEINDEX_PATH) refman.idx; \
++# $(DX_LATEX) refman.tex; \
++# countdown=5; \
++# while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
++# refman.log > /dev/null 2>&1 \
++# && test $$countdown -gt 0; do \
++# $(DX_LATEX) refman.tex; \
++# countdown=`expr $$countdown - 1`; \
++# done; \
++# $(DX_DVIPS) -o ../libdessert.ps refman.dvi
+
-+@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@doxygen-pdf: @DX_DOCDIR@/@PACKAGE@.pdf
++doxygen-pdf: doxygen/libdessert.pdf
+
-+@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@@DX_DOCDIR@/@PACKAGE@.pdf: @DX_DOCDIR@/@PACKAGE@.tag
-+@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ cd @DX_DOCDIR@/latex; \
-+@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
-+@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ $(DX_PDFLATEX) refman.tex; \
-+@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ $(DX_MAKEINDEX) refman.idx; \
-+@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ $(DX_PDFLATEX) refman.tex; \
-+@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ countdown=5; \
-+@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
-+@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ refman.log > /dev/null 2>&1 \
-+@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ && test $$countdown -gt 0; do \
-+@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ $(DX_PDFLATEX) refman.tex; \
-+@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ countdown=`expr $$countdown - 1`; \
-+@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ done; \
-+@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ mv refman.pdf ../@PACKAGE@.pdf
++doxygen/libdessert.pdf: doxygen/libdessert.tag
++ cd doxygen/latex; \
++ rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
++ $(DX_PDFLATEX) refman.tex; \
++ $(DX_MAKEINDEX) refman.idx; \
++ $(DX_PDFLATEX) refman.tex; \
++ countdown=5; \
++ while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
++ refman.log > /dev/null 2>&1 \
++ && test $$countdown -gt 0; do \
++ $(DX_PDFLATEX) refman.tex; \
++ countdown=`expr $$countdown - 1`; \
++ done; \
++ mv refman.pdf ../libdessert.pdf
+
-+@DX_COND_doc_TRUE@.PHONY: doxygen-run doxygen-doc $(DX_PS_GOAL) $(DX_PDF_GOAL)
++.PHONY: doxygen-run doxygen-doc $(DX_PS_GOAL) $(DX_PDF_GOAL)
+
-+@DX_COND_doc_TRUE@.INTERMEDIATE: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL)
++.INTERMEDIATE: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL)
+
-+@DX_COND_doc_TRUE@doxygen-run: @DX_DOCDIR@/@PACKAGE@.tag
++doxygen-run: doxygen/libdessert.tag
+
-+@DX_COND_doc_TRUE@doxygen-doc: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL)
++doxygen-doc: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL)
+
-+@DX_COND_doc_TRUE@@DX_DOCDIR@/@PACKAGE@.tag: $(DX_CONFIG) $(pkginclude_HEADERS)
-+@DX_COND_doc_TRUE@ rm -rf @DX_DOCDIR@
-+@DX_COND_doc_TRUE@ $(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG)
++doxygen/libdessert.tag: $(DX_CONFIG) $(pkginclude_HEADERS)
++ rm -rf doxygen
++ $(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG)
+
+# 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/NEWS b/NEWS
-new file mode 100644
-index 0000000..3514d7e
---- /dev/null
-+++ b/NEWS
-@@ -0,0 +1 @@
-+nothing yet
-diff --git a/README b/README
-new file mode 100644
-index 0000000..f54e509
---- /dev/null
-+++ b/README
-@@ -0,0 +1,270 @@
-+
-+ DES-SERT - an Extensible Routing-Framework for Testbeds
-+
-+
-+Copyright
-+
-+ Copyright Philipp Schmidt <phils@inf.fu-berlin.de>,
-+ Computer Systems and Telematics / Distributed, Embedded Systems (DES) group,
-+ Freie Universitaet Berlin
-+
-+ This document has been published under GNU Free Documentation License.
-+ All rights reserved.
-+
-+
-+1. Introduction
-+
-+ DES-SERT, the DES Simple and Extensible Routing-Framework for Testbeds,
-+ is a framework designed to assist researchers implementing routing
-+ protocols for testbeds.
-+
-+ DES-SERT enables the implementation of routing protocols on top of
-+ Ethernet via an underlay (Layer 2.5) in user space.
-+ It introduces an abstraction from OS specific issues and provides
-+ functionality and data structures to implement proactive, reactive,
-+ and hybrid routing protocols.
-+
-+ While generally usable in many application scenarios, it is primarily
-+ used in DES-Mesh (http://www.des-testbed.net/), the multi-transceiver
-+ wireless mesh network testbed part of the DES-Testbed.
-+
-+
-+2. DES-SERT Architecture
-+
-+ DES-SERT introduces some concepts to implement routing protocols.
-+ When implementing a routing protocol with DES-SERT, you should be
-+ familiar with these concepts to structure and tailor your implementation.
-+
-+
-+2.1. messages
-+
-+ Every packet you send or receive on the mesh is represented as a
-+ DES-SERT message. From a programmers point of view, a DES-SERT message
-+ is just a C-structure:
-+
-+ typedef struct dessert_msg {
-+ /** the layer2 header on the wire */
-+ struct ether_header l2h;
-+ /** short name of the protocol as passed to dessert_init() */
-+ char proto[DESSERT_PROTO_STRLEN];
-+ /** version of the app as passed to dessert_init() */
-+ uint8_t ver;
-+ /** flags - bits 1-4 reserved for dessert, bits 5-8 for app usage */
-+ uint8_t flags;
-+ /** ttl or hopcount field for app usage - 0xff if not used*/
-+ uint8_t ttl;
-+ /** reserved for app usage - 0x00 if not used */
-+ uint8_t u8;
-+ /** reserved for app usage - 0xbeef if not used */
-+ uint16_t u16;
-+ /** header length incl. extensions */
-+ uint16_t hlen;
-+ /** payload length */
-+ uint16_t plen;
-+ } dessert_msg_t;
-+
-+ Every message sent via the underlay carries this structure as a packet
-+ header. All data in a "dessert_msg" is stored in network byte order.
-+ DES-SERT tries to care as automatically as possible of this structure.
-+ Nevertheless you will have to care at least about: "l2h.ether_dhost" and
-+ "ttl".
-+
-+ If you need to send some data along with every packet, e.g. some kind of
-+ metric or cost your routing protocol uses, you should try to fit this
-+ data into the "u8", "u16" and the upper 4 bits of the "flags" field.
-+ These fields will never be touched by DES-SERT except on initialization
-+ via "dessert_msg_new".
-+
-+ Because just a C-structure is not really usable as a packet, there are some
-+ utility functions around - please have a look around in "dessert.h" and the
-+ doxygen doku. The most important ones are: "dessert_msg_new" and
-+ "dessert_msg_destroy", which do not simply allocate memory for a DES-SERT
-+ message, but for a whole packet of maximum size and initialize the
-+ structures for further packet construction/processing.
-+
-+ int dessert_msg_new(dessert_msg_t **msgout);
-+
-+ void dessert_msg_destroy(dessert_msg_t* msg);
-+
-+
-+2.1.2 DES-SERT extensions
-+
-+ A DES-SERT extension is some structure used to piggyback data on a
-+ DES-SERT message. It consists of a 8-bit user supplied type field (with
-+ some reserved values), an 8-bit length field and user supplied data of
-+ arbitrary length of 253 bytes at most.
-+
-+ It can be added to a message via "dessert_msg_addext", retrieved via
-+ "dessert_msg_getext" and removed via "dessert_msg_delext".
-+
-+ int dessert_msg_addext(dessert_msg_t* msg,
-+ dessert_ext_t** ext, uint8_t type, size_t len);
-+
-+ int dessert_msg_getext(const dessert_msg_t* msg,
-+ dessert_ext_t** ext, uint8_t type, int index);
-+
-+ int dessert_msg_delext(dessert_msg_t *msg, dessert_ext_t *ext);
-+
-+ It is recommended not to put single data fields in extensions, but
-+ combine semantically related data in a struct and attach this struct
-+ as an extension because every extension carried introduces an 16-bit
-+ overhead to the packet.
-+
-+
-+2.2. Processing pipelines
-+
-+ Routing algorithms are often split up in several parts like packet
-+ validation, loop-detection or routing table lookup.
-+ To implement these as independent and clear as possible, DES-SERT enables
-+ you to split up your packet processing in as many parts as you like.
-+
-+ There are two separate processing pipelines - one for packets received
-+ from the kernel via a TUN or TAP interface and one for packets received
-+ via an interface used on the mesh network.
-+
-+ You can register callbacks to be added to one of these pipelines with
-+ "dessert_sysrxcb_add" or "dessert_meshrxcb_add". Both take an additional
-+ integer argument ("priority") specifying the order the callbacks should
-+ be called. Higher "priority" value results in being called later
-+ within the pipeline.
-+
-+ int dessert_sysrxcb_add(dessert_sysrxcb_t* c, int prio);
-+
-+ int dessert_meshrxcb_add(dessert_meshrxcb_t* c, int prio);
+Index: libdessert0.86-0.86.14/Makefile.am
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/Makefile.am 2009-12-09 16:38:27.215595120 +0100
+@@ -0,0 +1,11 @@
+
-+ If a callback returns "DESSERT_MSG_KEEP" the packed will be processed by
-+ further callbacks, if it returns "DESSERT_MSG_DROP" the message will be
-+ dropped and no further callbacks will be called.
-+
-+ You do not need to care about the management of the buffers for incoming
-+ messages - DES-SERT does this for you. Nevertheless if you need to add
-+ extensions or enlarge the payload of a message, you need to tell DES-SERT
-+ to enlarge the buffer for you if the flag "DESSERT_FLAG_SPARSE" is set on
-+ the message. You can do this by returning "DESSERT_MSG_NEEDNOSPARSE" from
-+ within a callback. The callback will be called again with a larger buffer
-+ and no "DESSERT_FLAG_SPARSE" flag being set.
++ACLOCAL_AMFLAGS = -I m4
+
++SUBDIRS = include src
+
-+2.2.1. Processing buffer
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = libdessert.pc
+
-+ If you need to pass information along several callbacks, you can do this
-+ in the processing buffer passed to the the callbacks. This buffer contains
-+ some local processing flags ("lflags") set by the builtin callback
-+ "dessert_msg_ifaceflags_cb" (e.g. telling you about packet origin or if
-+ the packet is multicast) and 1KB of space for your callbacks to pass
-+ along arbitrary data.
-+
-+ This buffer might only be allocated after you explicitly request it - in
-+ this case the proc argument is NULL and you can return the value
-+ "DESSERT_MSG_NEEDMSGPROC" from within your callback. The callback will
-+ be called again with a valid processing buffer.
++include doxygen-include.am
+
++EXTRA_DIST = autogen.sh DES-SERT.doxyfile doxygen/html
+Index: libdessert0.86-0.86.14/Makefile.in
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/Makefile.in 2009-12-09 16:38:51.255169526 +0100
+@@ -0,0 +1,925 @@
++# Makefile.in generated by automake 1.11 from Makefile.am.
++# @configure_input@
+
-+2.3. Using interfaces
++# 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.
+
-+2.3.1. Using a TUN/TAP interface
++@SET_MAKE@
+
-+ First you have to choose whether to use a TUN or TAP interface. TUN
-+ interfaces are used to exchange IPv4 / IPv6 datagrams with the kernel
-+ network stack. TAP interfaces are used to exchange Ethernet frames
-+ with the kernel network stack. If you want to route Ethernet frames,
-+ you should choose a TAP interface. If you intend to implement
-+ a custom layer 2 to layer 3 mapping, you should use a TUN interface.
-+
-+ Currently, you can only initialize and use a single sys (TUN/TAP) interface.
-+ This is done by "dessert_sysif_init". You must then set up the interface
-+ config in the kernel yourself e.g. by calling "ifconfig".
-+
-+ int dessert_sysif_init(char* name, uint8_t flags);
-+
-+ In either case, frames you receive from a TUN/TAP interface will be
-+ passed along the callbacks added by "dessert_sysrxcb_add" to the
-+ processing pipeline. Each of them will be called with a pointer to an
-+ Ethernet frame. In case of a TUN interface, "ether_shost" and "ether_dhost"
-+ are set to "00:00:00:00:00:00", and ether_type reflects whether the packet
-+ received is IPv4 oder IPv6.
-+
-+ Packets are sent to the kernel network stack with "dessert_syssend".
-+ In case of a TUN Interface "ether_shost" and "ether_dhost" will be
-+ ignored.
-+
-+ int dessert_syssend(const struct ether_header *eth, size_t len);
++# ---------------------------------------------------------------------------
++# Licensed to the Apache Software Foundation (ASF) under one or more
++# contributor license agreements. See the NOTICE file distributed with
++# this work for additional information regarding copyright ownership.
++# The ASF licenses this file to You under the Apache License, Version 2.0
++# (the "License"); you may not use this file except in compliance with
++# the License. You may obtain a copy of the License at
++#
++# http://www.apache.org/licenses/LICENSE-2.0
++#
++# Unless required by applicable law or agreed to in writing, software
++# distributed under the License is distributed on an "AS IS" BASIS,
++# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++# See the License for the specific language governing permissions and
++# limitations under the License.
++# ---------------------------------------------------------------------------
+
++# Copyright (C) 2004 Oren Ben-Kiki
++# This file is distributed under the same terms as the Automake macro files.
+
-+2.3.2. Using a mesh interface
++# Generate automatic documentation using Doxygen. Goals and variables values
++# are controlled by the various DX_COND_??? conditionals set by autoconf.
++#
++# The provided goals are:
++# doxygen-doc: Generate all doxygen documentation.
++# doxygen-run: Run doxygen, which will generate some of the documentation
++# (HTML, CHM, CHI, MAN, RTF, XML) but will not do the post
++# processing required for the rest of it (PS, PDF, and some MAN).
++# doxygen-man: Rename some doxygen generated man pages.
++# doxygen-ps: Generate doxygen PostScript documentation.
++# doxygen-pdf: Generate doxygen PDF documentation.
++#
++# Note that by default these are not integrated into the automake goals. If
++# doxygen is used to generate man pages, you can achieve this integration by
++# setting man3_MANS to the list of man pages generated and then adding the
++# dependency:
++#
++# $(man3_MANS): doxygen-doc
++#
++# This will cause make to run doxygen and generate all the documentation.
++#
++# The following variable is intended for use in Makefile.am:
++#
++# DX_CLEANFILES = everything to clean.
++#
++# This is usually added to MOSTLYCLEANFILES.
+
-+ Mesh interfaces are used similar to the TUN/TAP interface with two major
-+ differences: You can have multiple mesh interfaces and they send and
-+ receive DES-SERT messages instead of Ethernet frames.
-+
-+ You add an mesh interface using "dessert_meshif_add" and can send to it
-+ by calling "dessert_meshsend". If the interface parameter is NULL, the
-+ packet will be transmitted over every interface (good for flooding).
-+
-+ int dessert_meshif_add(const char* dev, uint8_t flags);
-+
-+ int dessert_meshsend(const dessert_msg_t* msg,
-+ const dessert_meshif_t *iface);
-+
-+
-+2.4. Logging
++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@
++DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
++ $(srcdir)/Makefile.in $(srcdir)/config.h.in \
++ $(srcdir)/doxygen-include.am $(srcdir)/libdessert.pc.in \
++ $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
++ config.guess config.sub depcomp install-sh ltmain.sh missing
++subdir = .
++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
++am__aclocal_m4_deps = $(top_srcdir)/m4/ac_doxygen.m4 \
++ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
++ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
++ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
++ $(top_srcdir)/m4/net-snmp.m4 $(top_srcdir)/m4/pcap.m4 \
++ $(top_srcdir)/configure.ac
++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
++ $(ACLOCAL_M4)
++am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
++ configure.lineno config.status.lineno
++mkinstalldirs = $(install_sh) -d
++CONFIG_HEADER = config.h
++CONFIG_CLEAN_FILES = libdessert.pc
++CONFIG_CLEAN_VPATH_FILES =
++SOURCES =
++DIST_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
++am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
++am__vpath_adj = case $$p in \
++ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
++ *) f=$$p;; \
++ esac;
++am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
++am__install_max = 40
++am__nobase_strip_setup = \
++ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
++am__nobase_strip = \
++ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
++am__nobase_list = $(am__nobase_strip_setup); \
++ for p in $$list; do echo "$$p $$p"; done | \
++ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
++ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
++ if (++n[$$2] == $(am__install_max)) \
++ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
++ END { for (dir in files) print dir, files[dir] }'
++am__base_list = \
++ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
++ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
++am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
++DATA = $(pkgconfig_DATA)
++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 dist dist-all distcheck
++ETAGS = etags
++CTAGS = ctags
++DIST_SUBDIRS = $(SUBDIRS)
++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
++distdir = $(PACKAGE)-$(VERSION)
++top_distdir = $(distdir)
++am__remove_distdir = \
++ { test ! -d "$(distdir)" \
++ || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
++ && rm -fr "$(distdir)"; }; }
++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"
++DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
++GZIP_ENV = --best
++distuninstallcheck_listfiles = find . -type f -print
++distcleancheck_listfiles = find . -type f -print
++ACLOCAL = @ACLOCAL@
++AMTAR = @AMTAR@
++AR = @AR@
++AUTOCONF = @AUTOCONF@
++AUTOHEADER = @AUTOHEADER@
++AUTOMAKE = @AUTOMAKE@
++AWK = @AWK@
++CC = @CC@
++CCDEPMODE = @CCDEPMODE@
++CFLAGS = @CFLAGS@
++CLI_LIBS = @CLI_LIBS@
++CPP = @CPP@
++CPPFLAGS = @CPPFLAGS@
++CYGPATH_W = @CYGPATH_W@
++DEFS = @DEFS@
++DEPDIR = @DEPDIR@
++DOXYGEN_PAPER_SIZE = @DOXYGEN_PAPER_SIZE@
++DSYMUTIL = @DSYMUTIL@
++DUMPBIN = @DUMPBIN@
++DX_CONFIG = @DX_CONFIG@
++DX_DOCDIR = @DX_DOCDIR@
++DX_DOT = @DX_DOT@
++DX_DOXYGEN = @DX_DOXYGEN@
++DX_DVIPS = @DX_DVIPS@
++DX_EGREP = @DX_EGREP@
++DX_ENV = @DX_ENV@
++DX_FLAG_chi = @DX_FLAG_chi@
++DX_FLAG_chm = @DX_FLAG_chm@
++DX_FLAG_doc = @DX_FLAG_doc@
++DX_FLAG_dot = @DX_FLAG_dot@
++DX_FLAG_html = @DX_FLAG_html@
++DX_FLAG_man = @DX_FLAG_man@
++DX_FLAG_pdf = @DX_FLAG_pdf@
++DX_FLAG_ps = @DX_FLAG_ps@
++DX_FLAG_rtf = @DX_FLAG_rtf@
++DX_FLAG_xml = @DX_FLAG_xml@
++DX_HHC = @DX_HHC@
++DX_LATEX = @DX_LATEX@
++DX_MAKEINDEX = @DX_MAKEINDEX@
++DX_PDFLATEX = @DX_PDFLATEX@
++DX_PERL = @DX_PERL@
++DX_PROJECT = @DX_PROJECT@
++ECHO_C = @ECHO_C@
++ECHO_N = @ECHO_N@
++ECHO_T = @ECHO_T@
++EGREP = @EGREP@
++EXEEXT = @EXEEXT@
++FGREP = @FGREP@
++GREP = @GREP@
++INSTALL = @INSTALL@
++INSTALL_DATA = @INSTALL_DATA@
++INSTALL_PROGRAM = @INSTALL_PROGRAM@
++INSTALL_SCRIPT = @INSTALL_SCRIPT@
++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++LD = @LD@
++LDFLAGS = @LDFLAGS@
++LIBDESSERT_LIBRARY_VERSION = @LIBDESSERT_LIBRARY_VERSION@
++LIBOBJS = @LIBOBJS@
++LIBS = @LIBS@
++LIBTOOL = @LIBTOOL@
++LIPO = @LIPO@
++LN_S = @LN_S@
++LTLIBOBJS = @LTLIBOBJS@
++MAKEINFO = @MAKEINFO@
++MKDIR_P = @MKDIR_P@
++NM = @NM@
++NMEDIT = @NMEDIT@
++OBJDUMP = @OBJDUMP@
++OBJEXT = @OBJEXT@
++OTOOL = @OTOOL@
++OTOOL64 = @OTOOL64@
++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@
++PCAP_CFLAGS = @PCAP_CFLAGS@
++PCAP_CFLGAS = @PCAP_CFLGAS@
++PCAP_LIBS = @PCAP_LIBS@
++PTHREAD_CC = @PTHREAD_CC@
++PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
++PTHREAD_LIBS = @PTHREAD_LIBS@
++RANLIB = @RANLIB@
++SED = @SED@
++SET_MAKE = @SET_MAKE@
++SHELL = @SHELL@
++SNMP_CFLAGS = @SNMP_CFLAGS@
++SNMP_CFLGAS = @SNMP_CFLGAS@
++SNMP_LIBS = @SNMP_LIBS@
++STRIP = @STRIP@
++VERSION = @VERSION@
++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_DUMPBIN = @ac_ct_DUMPBIN@
++am__include = @am__include@
++am__leading_dot = @am__leading_dot@
++am__quote = @am__quote@
++am__tar = @am__tar@
++am__untar = @am__untar@
++ax_pthread_config = @ax_pthread_config@
++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@
++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@
++localedir = @localedir@
++localstatedir = @localstatedir@
++lt_ECHO = @lt_ECHO@
++mandir = @mandir@
++mkdir_p = @mkdir_p@
++oldincludedir = @oldincludedir@
++pdfdir = @pdfdir@
++prefix = @prefix@
++program_transform_name = @program_transform_name@
++psdir = @psdir@
++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@
++ACLOCAL_AMFLAGS = -I m4
++SUBDIRS = include src
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = libdessert.pc
++@DX_COND_doc_TRUE@@DX_COND_html_TRUE@DX_CLEAN_HTML = @DX_DOCDIR@/html
++@DX_COND_chm_TRUE@@DX_COND_doc_TRUE@DX_CLEAN_CHM = @DX_DOCDIR@/chm
++@DX_COND_chi_TRUE@@DX_COND_chm_TRUE@@DX_COND_doc_TRUE@DX_CLEAN_CHI = @DX_DOCDIR@/@PACKAGE@.chi
++@DX_COND_doc_TRUE@@DX_COND_man_TRUE@DX_CLEAN_MAN = @DX_DOCDIR@/man
++@DX_COND_doc_TRUE@@DX_COND_rtf_TRUE@DX_CLEAN_RTF = @DX_DOCDIR@/rtf
++@DX_COND_doc_TRUE@@DX_COND_xml_TRUE@DX_CLEAN_XML = @DX_DOCDIR@/xml
++@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@DX_CLEAN_PS = @DX_DOCDIR@/@PACKAGE@.ps
++@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@DX_PS_GOAL = doxygen-ps
++@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@DX_CLEAN_PDF = @DX_DOCDIR@/@PACKAGE@.pdf
++@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@DX_PDF_GOAL = doxygen-pdf
++@DX_COND_doc_TRUE@@DX_COND_latex_TRUE@DX_CLEAN_LATEX = @DX_DOCDIR@/latex
++@DX_COND_doc_TRUE@DX_CLEANFILES = \
++@DX_COND_doc_TRUE@ @DX_DOCDIR@/@PACKAGE@.tag \
++@DX_COND_doc_TRUE@ -r \
++@DX_COND_doc_TRUE@ $(DX_CLEAN_HTML) \
++@DX_COND_doc_TRUE@ $(DX_CLEAN_CHM) \
++@DX_COND_doc_TRUE@ $(DX_CLEAN_CHI) \
++@DX_COND_doc_TRUE@ $(DX_CLEAN_MAN) \
++@DX_COND_doc_TRUE@ $(DX_CLEAN_RTF) \
++@DX_COND_doc_TRUE@ $(DX_CLEAN_XML) \
++@DX_COND_doc_TRUE@ $(DX_CLEAN_PS) \
++@DX_COND_doc_TRUE@ $(DX_CLEAN_PDF) \
++@DX_COND_doc_TRUE@ $(DX_CLEAN_LATEX)
+
-+ You can write log messages easily with a bunch of macros provided
-+ by DES-SERT ("dessert_debug", "dessert_info" ,"dessert_notice",
-+ "dessert_warn", "dessert_warning", "dessert_err", "dessert_crit",
-+ "dessert_alert" and "dessert_emerg"). Each of them can be used like
-+ "printf" and logs to Syslog, STDERR, file or a ringbuffer depending
-+ on your configuration.
++EXTRA_DIST = autogen.sh DES-SERT.doxyfile doxygen/html
++all: config.h
++ $(MAKE) $(AM_MAKEFLAGS) all-recursive
+
-+ DES-SERT also ships with a custom "assert" macro which acts like
-+ the original macro from the standard C library and uses the logging
-+ mechanism described above.
++.SUFFIXES:
++am--refresh:
++ @:
++$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/doxygen-include.am $(am__configure_deps)
++ @for dep in $?; do \
++ case '$(am__configure_deps)' in \
++ *$$dep*) \
++ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
++ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
++ && exit 0; \
++ exit 1;; \
++ esac; \
++ done; \
++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
++ $(am__cd) $(top_srcdir) && \
++ $(AUTOMAKE) --gnu Makefile
++.PRECIOUS: Makefile
++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
++ @case '$?' in \
++ *config.status*) \
++ echo ' $(SHELL) ./config.status'; \
++ $(SHELL) ./config.status;; \
++ *) \
++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
++ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
++ esac;
+
++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
++ $(SHELL) ./config.status --recheck
+
-+2.5. Periodics
++$(top_srcdir)/configure: $(am__configure_deps)
++ $(am__cd) $(srcdir) && $(AUTOCONF)
++$(ACLOCAL_M4): $(am__aclocal_m4_deps)
++ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
++$(am__aclocal_m4_deps):
+
-+ Periodics help you to perform maintenance or delayed tasks. A task
-+ consists of a callback, which will be called at the time you requested,
-+ and a void pointer the callback is passed. You can add these tasks by
-+ calling "dessert_periodic_add" or "dessert_periodic_add_delayed".
++config.h: stamp-h1
++ @if test ! -f $@; then \
++ rm -f stamp-h1; \
++ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
++ else :; fi
+
++stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
++ @rm -f stamp-h1
++ cd $(top_builddir) && $(SHELL) ./config.status config.h
++$(srcdir)/config.h.in: $(am__configure_deps)
++ ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
++ rm -f stamp-h1
++ touch $@
+
-+2.6. CLI
++distclean-hdr:
++ -rm -f config.h stamp-h1
++libdessert.pc: $(top_builddir)/config.status $(srcdir)/libdessert.pc.in
++ cd $(top_builddir) && $(SHELL) ./config.status $@
+
-+ DES-SERT supports simple configuration and debugging of your routing
-+ protocol implementation by providing a Cisco like command line interface
-+ (cli) and a config file parser based upon it.
-+ This cli is realized through libcli (http://code.google.com/p/libcli/).
-+
-+ DES-SERT does some of the initialization of libcli. Therefore, it provides
-+ the main cli anchor "dessert_cli" and some anchors to add commands below
-+ "dessert_cli_.*". Because DES-SERT only loosely wraps libcli, you should
-+ make yourself familiar with libcli itself. This may be improved in further
-+ DES-SERT releases.
-+
-+ You can evaluate a config file by calling "cli_file" and start a thread
-+ enabling a telnet-interface for DES-SERT by calling "dessert_cli_run".
++mostlyclean-libtool:
++ -rm -f *.lo
+
++clean-libtool:
++ -rm -rf .libs _libs
+
-+2.7. Putting all together
++distclean-libtool:
++ -rm -f libtool config.lt
++install-pkgconfigDATA: $(pkgconfig_DATA)
++ @$(NORMAL_INSTALL)
++ test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
++ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
++ for p in $$list; do \
++ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
++ echo "$$d$$p"; \
++ done | $(am__base_list) | \
++ while read files; do \
++ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
++ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
++ done
+
-+ Now you have learned about the most important aspects of DES-SERT.
-+ To write your own routing protocol implementation, you need to know
-+ how to put all this together.
-+
-+ You should start with a main() program parsing the command line options
-+ and then calling "dessert_init()". This is needed to set up DES-SERT
-+ correctly. Afterwards you can register callbacks, read the config file
-+ and do what you like. If everything is set up, you call "dessert_run()"
-+ and let the event based framework do its job.
-+
-+ If you would like to see a complete protocol implementation sample,
-+ have a look at the "gossiping" directory.
++uninstall-pkgconfigDATA:
++ @$(NORMAL_UNINSTALL)
++ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
++ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
++ test -n "$$files" || exit 0; \
++ echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \
++ cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files
+
++# 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"
+
-+3. Contact & Feedback
++$(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
+
-+ We love feedback - if you have patches, comments or questions,
-+ please contact us! Recent contact information is available on
-+ http://www.des-testbed.net/des-sert/
-diff --git a/autogen.sh b/autogen.sh
-new file mode 100755
-index 0000000..b483139
---- /dev/null
-+++ b/autogen.sh
-@@ -0,0 +1,2 @@
-+#!/bin/sh
-+autoreconf --force --install -I m4
-diff --git a/changelog.gz b/changelog.gz
-deleted file mode 100644
-index f797d2e48676dea02be44b396649cd47a5054c4a..0000000000000000000000000000000000000000
-GIT binary patch
-literal 0
-HcmV?d00001
-
-literal 260
-zcmV+f0sH<RiwFoYvkprF17m1mZf9j|Z)X5qk5Nm*FcgKK*I#jb)6$i;!q7*d!zZ1r
-zeJ_>Vb-^?Vxmh*;-lR+zK3oDfC*S$fRMm4`H#=-ml~22}e#|yo^k)JGc0X2HQc@GN
-z`G$4Il2ZYK*gF##KIZJmOae18j}yUYwEM2xAN%30dmY;2;iE*h0a{u}B>)$g$FEp$
-zaRhJhe(3**D{$rsp8>&K9FtmzG3qcIM|WA){MT)g?u!u7Kx&^jOwJFHF-+v`7?c^s
-z{q5Q#k4J&UNP#@RMjnz$(sbmVjH;`OB0c#t%<1~mH5zr|z?xV{F1@?CEFe$GxBLaO
-Kgz5rW0RRAN&3b<T
-
-diff --git a/config.guess b/config.guess
-new file mode 100755
-index 0000000..e3a2116
---- /dev/null
-+++ b/config.guess
-@@ -0,0 +1,1533 @@
-+#! /bin/sh
-+# Attempt to guess a canonical system name.
-+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-+# Free Software Foundation, Inc.
++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
+
-+timestamp='2009-06-10'
++TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(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) config.h.in $(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) config.h.in $(TAGS_DEPENDENCIES) \
++ $(TAGS_FILES) $(LISP)
++ list='$(SOURCES) $(HEADERS) config.h.in $(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
+
-+# This file 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 2 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, write to the Free Software
-+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-+# 02110-1301, USA.
-+#
-+# As a special exception to the GNU General Public License, if you
-+# distribute this file as part of a program that contains a
-+# configuration script generated by Autoconf, you may include it under
-+# the same distribution terms that you use for the rest of that program.
++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
+
-+# Originally written by Per Bothner <per@bothner.com>.
-+# Please send patches to <config-patches@gnu.org>. Submit a context
-+# diff and a properly formatted ChangeLog entry.
-+#
-+# This script attempts to guess a canonical system name similar to
-+# config.sub. If it succeeds, it prints the system name on stdout, and
-+# exits with 0. Otherwise, it exits with 1.
-+#
-+# The plan is that this can be called by configure scripts if you
-+# don't specify an explicit build system type.
++distdir: $(DISTFILES)
++ $(am__remove_distdir)
++ test -d "$(distdir)" || mkdir "$(distdir)"
++ @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
++ -test -n "$(am__skip_mode_fix)" \
++ || find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
++ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
++ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
++ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
++ || chmod -R a+r "$(distdir)"
++dist-gzip: distdir
++ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
++ $(am__remove_distdir)
++dist-bzip2: distdir
++ tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
++ $(am__remove_distdir)
+
-+me=`echo "$0" | sed -e 's,.*/,,'`
++dist-lzma: distdir
++ tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
++ $(am__remove_distdir)
+
-+usage="\
-+Usage: $0 [OPTION]
++dist-xz: distdir
++ tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
++ $(am__remove_distdir)
+
-+Output the configuration name of the system \`$me' is run on.
++dist-tarZ: distdir
++ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
++ $(am__remove_distdir)
+
-+Operation modes:
-+ -h, --help print this help, then exit
-+ -t, --time-stamp print date of last modification, then exit
-+ -v, --version print version number, then exit
++dist-shar: distdir
++ shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
++ $(am__remove_distdir)
+
-+Report bugs and patches to <config-patches@gnu.org>."
++dist-zip: distdir
++ -rm -f $(distdir).zip
++ zip -rq $(distdir).zip $(distdir)
++ $(am__remove_distdir)
+
-+version="\
-+GNU config.guess ($timestamp)
++dist dist-all: distdir
++ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
++ tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
++ $(am__remove_distdir)
+
-+Originally written by Per Bothner.
-+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
++# This target untars the dist file and tries a VPATH configuration. Then
++# it guarantees that the distribution is self-contained by making another
++# tarfile.
++distcheck: dist
++ case '$(DIST_ARCHIVES)' in \
++ *.tar.gz*) \
++ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
++ *.tar.bz2*) \
++ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
++ *.tar.lzma*) \
++ unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
++ *.tar.xz*) \
++ xz -dc $(distdir).tar.xz | $(am__untar) ;;\
++ *.tar.Z*) \
++ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
++ *.shar.gz*) \
++ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
++ *.zip*) \
++ unzip $(distdir).zip ;;\
++ esac
++ chmod -R a-w $(distdir); chmod a+w $(distdir)
++ mkdir $(distdir)/_build
++ mkdir $(distdir)/_inst
++ chmod a-w $(distdir)
++ test -d $(distdir)/_build || exit 0; \
++ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
++ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
++ && am__cwd=`pwd` \
++ && $(am__cd) $(distdir)/_build \
++ && ../configure --srcdir=.. --prefix="$$dc_install_base" \
++ $(DISTCHECK_CONFIGURE_FLAGS) \
++ && $(MAKE) $(AM_MAKEFLAGS) \
++ && $(MAKE) $(AM_MAKEFLAGS) dvi \
++ && $(MAKE) $(AM_MAKEFLAGS) check \
++ && $(MAKE) $(AM_MAKEFLAGS) install \
++ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
++ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
++ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
++ distuninstallcheck \
++ && chmod -R a-w "$$dc_install_base" \
++ && ({ \
++ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
++ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
++ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
++ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
++ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
++ } || { rm -rf "$$dc_destdir"; exit 1; }) \
++ && rm -rf "$$dc_destdir" \
++ && $(MAKE) $(AM_MAKEFLAGS) dist \
++ && rm -rf $(DIST_ARCHIVES) \
++ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
++ && cd "$$am__cwd" \
++ || exit 1
++ $(am__remove_distdir)
++ @(echo "$(distdir) archives ready for distribution: "; \
++ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
++ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
++distuninstallcheck:
++ @$(am__cd) '$(distuninstallcheck_dir)' \
++ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
++ || { echo "ERROR: files left after uninstall:" ; \
++ if test -n "$(DESTDIR)"; then \
++ echo " (check DESTDIR support)"; \
++ fi ; \
++ $(distuninstallcheck_listfiles) ; \
++ exit 1; } >&2
++distcleancheck: distclean
++ @if test '$(srcdir)' = . ; then \
++ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
++ exit 1 ; \
++ fi
++ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
++ || { echo "ERROR: files left in build directory after distclean:" ; \
++ $(distcleancheck_listfiles) ; \
++ exit 1; } >&2
++check-am: all-am
++check: check-recursive
++all-am: Makefile $(DATA) config.h
++installdirs: installdirs-recursive
++installdirs-am:
++ for dir in "$(DESTDIR)$(pkgconfigdir)"; do \
++ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
++ done
++install: install-recursive
++install-exec: install-exec-recursive
++install-data: install-data-recursive
++uninstall: uninstall-recursive
+
-+This is free software; see the source for copying conditions. There is NO
-+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
++install-am: all-am
++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
-+help="
-+Try \`$me --help' for more information."
++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:
+
-+# Parse command line
-+while test $# -gt 0 ; do
-+ case $1 in
-+ --time-stamp | --time* | -t )
-+ echo "$timestamp" ; exit ;;
-+ --version | -v )
-+ echo "$version" ; exit ;;
-+ --help | --h* | -h )
-+ echo "$usage"; exit ;;
-+ -- ) # Stop option processing
-+ shift; break ;;
-+ - ) # Use stdin as input.
-+ break ;;
-+ -* )
-+ echo "$me: invalid option $1$help" >&2
-+ exit 1 ;;
-+ * )
-+ break ;;
-+ esac
-+done
++clean-generic:
+
-+if test $# != 0; then
-+ echo "$me: too many arguments$help" >&2
-+ exit 1
-+fi
++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)
+
-+trap 'exit 1' 1 2 15
++maintainer-clean-generic:
++ @echo "This command is intended for maintainers to use"
++ @echo "it deletes files that may require special tools to rebuild."
++clean: clean-recursive
+
-+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-+# compiler to aid in system detection is discouraged as it requires
-+# temporary files to be created and, as you can see below, it is a
-+# headache to deal with in a portable fashion.
++clean-am: clean-generic clean-libtool mostlyclean-am
+
-+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-+# use `HOST_CC' if defined, but it is deprecated.
++distclean: distclean-recursive
++ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
++ -rm -f Makefile
++distclean-am: clean-am distclean-generic distclean-hdr \
++ distclean-libtool distclean-tags
+
-+# Portable tmp directory creation inspired by the Autoconf team.
++dvi: dvi-recursive
+
-+set_cc_for_build='
-+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-+: ${TMPDIR=/tmp} ;
-+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
-+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
-+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
-+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-+dummy=$tmp/dummy ;
-+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-+case $CC_FOR_BUILD,$HOST_CC,$CC in
-+ ,,) echo "int x;" > $dummy.c ;
-+ for c in cc gcc c89 c99 ; do
-+ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
-+ CC_FOR_BUILD="$c"; break ;
-+ fi ;
-+ done ;
-+ if test x"$CC_FOR_BUILD" = x ; then
-+ CC_FOR_BUILD=no_compiler_found ;
-+ fi
-+ ;;
-+ ,,*) CC_FOR_BUILD=$CC ;;
-+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
-+esac ; set_cc_for_build= ;'
++dvi-am:
+
-+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-+# (ghazi@noc.rutgers.edu 1994-08-24)
-+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
-+ PATH=$PATH:/.attbin ; export PATH
-+fi
++html: html-recursive
+
-+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
++html-am:
+
-+# Note: order is significant - the case branches are not exclusive.
++info: info-recursive
+
-+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
-+ *:NetBSD:*:*)
-+ # NetBSD (nbsd) targets should (where applicable) match one or
-+ # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
-+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
-+ # switched to ELF, *-*-netbsd* would select the old
-+ # object file format. This provides both forward
-+ # compatibility and a consistent mechanism for selecting the
-+ # object file format.
-+ #
-+ # Note: NetBSD doesn't particularly care about the vendor
-+ # portion of the name. We always set it to "unknown".
-+ sysctl="sysctl -n hw.machine_arch"
-+ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
-+ /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
-+ case "${UNAME_MACHINE_ARCH}" in
-+ armeb) machine=armeb-unknown ;;
-+ arm*) machine=arm-unknown ;;
-+ sh3el) machine=shl-unknown ;;
-+ sh3eb) machine=sh-unknown ;;
-+ sh5el) machine=sh5le-unknown ;;
-+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
-+ esac
-+ # The Operating System including object format, if it has switched
-+ # to ELF recently, or will in the future.
-+ case "${UNAME_MACHINE_ARCH}" in
-+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
-+ eval $set_cc_for_build
-+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
-+ | grep -q __ELF__
-+ then
-+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
-+ # Return netbsd for either. FIX?
-+ os=netbsd
-+ else
-+ os=netbsdelf
-+ fi
-+ ;;
-+ *)
-+ os=netbsd
-+ ;;
-+ esac
-+ # The OS release
-+ # Debian GNU/NetBSD machines have a different userland, and
-+ # thus, need a distinct triplet. However, they do not need
-+ # kernel version information, so it can be replaced with a
-+ # suitable tag, in the style of linux-gnu.
-+ case "${UNAME_VERSION}" in
-+ Debian*)
-+ release='-gnu'
-+ ;;
-+ *)
-+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-+ ;;
-+ esac
-+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
-+ # contains redundant information, the shorter form:
-+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-+ echo "${machine}-${os}${release}"
-+ exit ;;
-+ *:OpenBSD:*:*)
-+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
-+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
-+ exit ;;
-+ *:ekkoBSD:*:*)
-+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
-+ exit ;;
-+ *:SolidBSD:*:*)
-+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
-+ exit ;;
-+ macppc:MirBSD:*:*)
-+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
-+ exit ;;
-+ *:MirBSD:*:*)
-+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
-+ exit ;;
-+ alpha:OSF1:*:*)
-+ case $UNAME_RELEASE in
-+ *4.0)
-+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-+ ;;
-+ *5.*)
-+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
-+ ;;
-+ esac
-+ # According to Compaq, /usr/sbin/psrinfo has been available on
-+ # OSF/1 and Tru64 systems produced since 1995. I hope that
-+ # covers most systems running today. This code pipes the CPU
-+ # types through head -n 1, so we only detect the type of CPU 0.
-+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
-+ case "$ALPHA_CPU_TYPE" in
-+ "EV4 (21064)")
-+ UNAME_MACHINE="alpha" ;;
-+ "EV4.5 (21064)")
-+ UNAME_MACHINE="alpha" ;;
-+ "LCA4 (21066/21068)")
-+ UNAME_MACHINE="alpha" ;;
-+ "EV5 (21164)")
-+ UNAME_MACHINE="alphaev5" ;;
-+ "EV5.6 (21164A)")
-+ UNAME_MACHINE="alphaev56" ;;
-+ "EV5.6 (21164PC)")
-+ UNAME_MACHINE="alphapca56" ;;
-+ "EV5.7 (21164PC)")
-+ UNAME_MACHINE="alphapca57" ;;
-+ "EV6 (21264)")
-+ UNAME_MACHINE="alphaev6" ;;
-+ "EV6.7 (21264A)")
-+ UNAME_MACHINE="alphaev67" ;;
-+ "EV6.8CB (21264C)")
-+ UNAME_MACHINE="alphaev68" ;;
-+ "EV6.8AL (21264B)")
-+ UNAME_MACHINE="alphaev68" ;;
-+ "EV6.8CX (21264D)")
-+ UNAME_MACHINE="alphaev68" ;;
-+ "EV6.9A (21264/EV69A)")
-+ UNAME_MACHINE="alphaev69" ;;
-+ "EV7 (21364)")
-+ UNAME_MACHINE="alphaev7" ;;
-+ "EV7.9 (21364A)")
-+ UNAME_MACHINE="alphaev79" ;;
-+ esac
-+ # A Pn.n version is a patched version.
-+ # A Vn.n version is a released version.
-+ # A Tn.n version is a released field test version.
-+ # A Xn.n version is an unreleased experimental baselevel.
-+ # 1.2 uses "1.2" for uname -r.
-+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-+ exit ;;
-+ Alpha\ *:Windows_NT*:*)
-+ # How do we know it's Interix rather than the generic POSIX subsystem?
-+ # Should we change UNAME_MACHINE based on the output of uname instead
-+ # of the specific Alpha model?
-+ echo alpha-pc-interix
-+ exit ;;
-+ 21064:Windows_NT:50:3)
-+ echo alpha-dec-winnt3.5
-+ exit ;;
-+ Amiga*:UNIX_System_V:4.0:*)
-+ echo m68k-unknown-sysv4
-+ exit ;;
-+ *:[Aa]miga[Oo][Ss]:*:*)
-+ echo ${UNAME_MACHINE}-unknown-amigaos
-+ exit ;;
-+ *:[Mm]orph[Oo][Ss]:*:*)
-+ echo ${UNAME_MACHINE}-unknown-morphos
-+ exit ;;
-+ *:OS/390:*:*)
-+ echo i370-ibm-openedition
-+ exit ;;
-+ *:z/VM:*:*)
-+ echo s390-ibm-zvmoe
-+ exit ;;
-+ *:OS400:*:*)
-+ echo powerpc-ibm-os400
-+ exit ;;
-+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-+ echo arm-acorn-riscix${UNAME_RELEASE}
-+ exit ;;
-+ arm:riscos:*:*|arm:RISCOS:*:*)
-+ echo arm-unknown-riscos
-+ exit ;;
-+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
-+ echo hppa1.1-hitachi-hiuxmpp
-+ exit ;;
-+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
-+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
-+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
-+ echo pyramid-pyramid-sysv3
-+ else
-+ echo pyramid-pyramid-bsd
-+ fi
-+ exit ;;
-+ NILE*:*:*:dcosx)
-+ echo pyramid-pyramid-svr4
-+ exit ;;
-+ DRS?6000:unix:4.0:6*)
-+ echo sparc-icl-nx6
-+ exit ;;
-+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
-+ case `/usr/bin/uname -p` in
-+ sparc) echo sparc-icl-nx7; exit ;;
-+ esac ;;
-+ s390x:SunOS:*:*)
-+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-+ exit ;;
-+ sun4H:SunOS:5.*:*)
-+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-+ exit ;;
-+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-+ exit ;;
-+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
-+ eval $set_cc_for_build
-+ SUN_ARCH="i386"
-+ # If there is a compiler, see if it is configured for 64-bit objects.
-+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
-+ # This test works for both compilers.
-+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
-+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-+ grep IS_64BIT_ARCH >/dev/null
-+ then
-+ SUN_ARCH="x86_64"
-+ fi
-+ fi
-+ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-+ exit ;;
-+ sun4*:SunOS:6*:*)
-+ # According to config.sub, this is the proper way to canonicalize
-+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
-+ # it's likely to be more like Solaris than SunOS4.
-+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-+ exit ;;
-+ sun4*:SunOS:*:*)
-+ case "`/usr/bin/arch -k`" in
-+ Series*|S4*)
-+ UNAME_RELEASE=`uname -v`
-+ ;;
-+ esac
-+ # Japanese Language versions have a version number like `4.1.3-JL'.
-+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
-+ exit ;;
-+ sun3*:SunOS:*:*)
-+ echo m68k-sun-sunos${UNAME_RELEASE}
-+ exit ;;
-+ sun*:*:4.2BSD:*)
-+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
-+ case "`/bin/arch`" in
-+ sun3)
-+ echo m68k-sun-sunos${UNAME_RELEASE}
-+ ;;
-+ sun4)
-+ echo sparc-sun-sunos${UNAME_RELEASE}
-+ ;;
-+ esac
-+ exit ;;
-+ aushp:SunOS:*:*)
-+ echo sparc-auspex-sunos${UNAME_RELEASE}
-+ exit ;;
-+ # The situation for MiNT is a little confusing. The machine name
-+ # can be virtually everything (everything which is not
-+ # "atarist" or "atariste" at least should have a processor
-+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
-+ # to the lowercase version "mint" (or "freemint"). Finally
-+ # the system name "TOS" denotes a system which is actually not
-+ # MiNT. But MiNT is downward compatible to TOS, so this should
-+ # be no problem.
-+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-+ echo m68k-atari-mint${UNAME_RELEASE}
-+ exit ;;
-+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-+ echo m68k-atari-mint${UNAME_RELEASE}
-+ exit ;;
-+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-+ echo m68k-atari-mint${UNAME_RELEASE}
-+ exit ;;
-+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-+ echo m68k-milan-mint${UNAME_RELEASE}
-+ exit ;;
-+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-+ echo m68k-hades-mint${UNAME_RELEASE}
-+ exit ;;
-+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-+ echo m68k-unknown-mint${UNAME_RELEASE}
-+ exit ;;
-+ m68k:machten:*:*)
-+ echo m68k-apple-machten${UNAME_RELEASE}
-+ exit ;;
-+ powerpc:machten:*:*)
-+ echo powerpc-apple-machten${UNAME_RELEASE}
-+ exit ;;
-+ RISC*:Mach:*:*)
-+ echo mips-dec-mach_bsd4.3
-+ exit ;;
-+ RISC*:ULTRIX:*:*)
-+ echo mips-dec-ultrix${UNAME_RELEASE}
-+ exit ;;
-+ VAX*:ULTRIX*:*:*)
-+ echo vax-dec-ultrix${UNAME_RELEASE}
-+ exit ;;
-+ 2020:CLIX:*:* | 2430:CLIX:*:*)
-+ echo clipper-intergraph-clix${UNAME_RELEASE}
-+ exit ;;
-+ mips:*:*:UMIPS | mips:*:*:RISCos)
-+ eval $set_cc_for_build
-+ sed 's/^ //' << EOF >$dummy.c
-+#ifdef __cplusplus
-+#include <stdio.h> /* for printf() prototype */
-+ int main (int argc, char *argv[]) {
-+#else
-+ int main (argc, argv) int argc; char *argv[]; {
-+#endif
-+ #if defined (host_mips) && defined (MIPSEB)
-+ #if defined (SYSTYPE_SYSV)
-+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
-+ #endif
-+ #if defined (SYSTYPE_SVR4)
-+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
-+ #endif
-+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
-+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
-+ #endif
-+ #endif
-+ exit (-1);
-+ }
-+EOF
-+ $CC_FOR_BUILD -o $dummy $dummy.c &&
-+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
-+ SYSTEM_NAME=`$dummy $dummyarg` &&
-+ { echo "$SYSTEM_NAME"; exit; }
-+ echo mips-mips-riscos${UNAME_RELEASE}
-+ exit ;;
-+ Motorola:PowerMAX_OS:*:*)
-+ echo powerpc-motorola-powermax
-+ exit ;;
-+ Motorola:*:4.3:PL8-*)
-+ echo powerpc-harris-powermax
-+ exit ;;
-+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
-+ echo powerpc-harris-powermax
-+ exit ;;
-+ Night_Hawk:Power_UNIX:*:*)
-+ echo powerpc-harris-powerunix
-+ exit ;;
-+ m88k:CX/UX:7*:*)
-+ echo m88k-harris-cxux7
-+ exit ;;
-+ m88k:*:4*:R4*)
-+ echo m88k-motorola-sysv4
-+ exit ;;
-+ m88k:*:3*:R3*)
-+ echo m88k-motorola-sysv3
-+ exit ;;
-+ AViiON:dgux:*:*)
-+ # DG/UX returns AViiON for all architectures
-+ UNAME_PROCESSOR=`/usr/bin/uname -p`
-+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
-+ then
-+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
-+ [ ${TARGET_BINARY_INTERFACE}x = x ]
-+ then
-+ echo m88k-dg-dgux${UNAME_RELEASE}
-+ else
-+ echo m88k-dg-dguxbcs${UNAME_RELEASE}
-+ fi
-+ else
-+ echo i586-dg-dgux${UNAME_RELEASE}
-+ fi
-+ exit ;;
-+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
-+ echo m88k-dolphin-sysv3
-+ exit ;;
-+ M88*:*:R3*:*)
-+ # Delta 88k system running SVR3
-+ echo m88k-motorola-sysv3
-+ exit ;;
-+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
-+ echo m88k-tektronix-sysv3
-+ exit ;;
-+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
-+ echo m68k-tektronix-bsd
-+ exit ;;
-+ *:IRIX*:*:*)
-+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
-+ exit ;;
-+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
-+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
-+ i*86:AIX:*:*)
-+ echo i386-ibm-aix
-+ exit ;;
-+ ia64:AIX:*:*)
-+ if [ -x /usr/bin/oslevel ] ; then
-+ IBM_REV=`/usr/bin/oslevel`
-+ else
-+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-+ fi
-+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
-+ exit ;;
-+ *:AIX:2:3)
-+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-+ eval $set_cc_for_build
-+ sed 's/^ //' << EOF >$dummy.c
-+ #include <sys/systemcfg.h>
++info-am:
+
-+ main()
-+ {
-+ if (!__power_pc())
-+ exit(1);
-+ puts("powerpc-ibm-aix3.2.5");
-+ exit(0);
-+ }
-+EOF
-+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
-+ then
-+ echo "$SYSTEM_NAME"
-+ else
-+ echo rs6000-ibm-aix3.2.5
-+ fi
-+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
-+ echo rs6000-ibm-aix3.2.4
-+ else
-+ echo rs6000-ibm-aix3.2
-+ fi
-+ exit ;;
-+ *:AIX:*:[456])
-+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
-+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
-+ IBM_ARCH=rs6000
-+ else
-+ IBM_ARCH=powerpc
-+ fi
-+ if [ -x /usr/bin/oslevel ] ; then
-+ IBM_REV=`/usr/bin/oslevel`
-+ else
-+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-+ fi
-+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
-+ exit ;;
-+ *:AIX:*:*)
-+ echo rs6000-ibm-aix
-+ exit ;;
-+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
-+ echo romp-ibm-bsd4.4
-+ exit ;;
-+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
-+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
-+ exit ;; # report: romp-ibm BSD 4.3
-+ *:BOSX:*:*)
-+ echo rs6000-bull-bosx
-+ exit ;;
-+ DPX/2?00:B.O.S.:*:*)
-+ echo m68k-bull-sysv3
-+ exit ;;
-+ 9000/[34]??:4.3bsd:1.*:*)
-+ echo m68k-hp-bsd
-+ exit ;;
-+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
-+ echo m68k-hp-bsd4.4
-+ exit ;;
-+ 9000/[34678]??:HP-UX:*:*)
-+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-+ case "${UNAME_MACHINE}" in
-+ 9000/31? ) HP_ARCH=m68000 ;;
-+ 9000/[34]?? ) HP_ARCH=m68k ;;
-+ 9000/[678][0-9][0-9])
-+ if [ -x /usr/bin/getconf ]; then
-+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
-+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-+ case "${sc_cpu_version}" in
-+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
-+ 532) # CPU_PA_RISC2_0
-+ case "${sc_kernel_bits}" in
-+ 32) HP_ARCH="hppa2.0n" ;;
-+ 64) HP_ARCH="hppa2.0w" ;;
-+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
-+ esac ;;
-+ esac
-+ fi
-+ if [ "${HP_ARCH}" = "" ]; then
-+ eval $set_cc_for_build
-+ sed 's/^ //' << EOF >$dummy.c
++install-data-am: install-pkgconfigDATA
+
-+ #define _HPUX_SOURCE
-+ #include <stdlib.h>
-+ #include <unistd.h>
++install-dvi: install-dvi-recursive
+
-+ int main ()
-+ {
-+ #if defined(_SC_KERNEL_BITS)
-+ long bits = sysconf(_SC_KERNEL_BITS);
-+ #endif
-+ long cpu = sysconf (_SC_CPU_VERSION);
++install-dvi-am:
+
-+ switch (cpu)
-+ {
-+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
-+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
-+ case CPU_PA_RISC2_0:
-+ #if defined(_SC_KERNEL_BITS)
-+ switch (bits)
-+ {
-+ case 64: puts ("hppa2.0w"); break;
-+ case 32: puts ("hppa2.0n"); break;
-+ default: puts ("hppa2.0"); break;
-+ } break;
-+ #else /* !defined(_SC_KERNEL_BITS) */
-+ puts ("hppa2.0"); break;
-+ #endif
-+ default: puts ("hppa1.0"); break;
-+ }
-+ exit (0);
-+ }
-+EOF
-+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
-+ test -z "$HP_ARCH" && HP_ARCH=hppa
-+ fi ;;
-+ esac
-+ if [ ${HP_ARCH} = "hppa2.0w" ]
-+ then
-+ eval $set_cc_for_build
++install-exec-am:
+
-+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
-+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
-+ # generating 64-bit code. GNU and HP use different nomenclature:
-+ #
-+ # $ CC_FOR_BUILD=cc ./config.guess
-+ # => hppa2.0w-hp-hpux11.23
-+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
-+ # => hppa64-hp-hpux11.23
++install-html: install-html-recursive
+
-+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
-+ grep -q __LP64__
-+ then
-+ HP_ARCH="hppa2.0w"
-+ else
-+ HP_ARCH="hppa64"
-+ fi
-+ fi
-+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
-+ exit ;;
-+ ia64:HP-UX:*:*)
-+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-+ echo ia64-hp-hpux${HPUX_REV}
-+ exit ;;
-+ 3050*:HI-UX:*:*)
-+ eval $set_cc_for_build
-+ sed 's/^ //' << EOF >$dummy.c
-+ #include <unistd.h>
-+ int
-+ main ()
-+ {
-+ long cpu = sysconf (_SC_CPU_VERSION);
-+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
-+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
-+ results, however. */
-+ if (CPU_IS_PA_RISC (cpu))
-+ {
-+ switch (cpu)
-+ {
-+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
-+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
-+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
-+ default: puts ("hppa-hitachi-hiuxwe2"); break;
-+ }
-+ }
-+ else if (CPU_IS_HP_MC68K (cpu))
-+ puts ("m68k-hitachi-hiuxwe2");
-+ else puts ("unknown-hitachi-hiuxwe2");
-+ exit (0);
-+ }
-+EOF
-+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
-+ { echo "$SYSTEM_NAME"; exit; }
-+ echo unknown-hitachi-hiuxwe2
-+ exit ;;
-+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
-+ echo hppa1.1-hp-bsd
-+ exit ;;
-+ 9000/8??:4.3bsd:*:*)
-+ echo hppa1.0-hp-bsd
-+ exit ;;
-+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
-+ echo hppa1.0-hp-mpeix
-+ exit ;;
-+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
-+ echo hppa1.1-hp-osf
-+ exit ;;
-+ hp8??:OSF1:*:*)
-+ echo hppa1.0-hp-osf
-+ exit ;;
-+ i*86:OSF1:*:*)
-+ if [ -x /usr/sbin/sysversion ] ; then
-+ echo ${UNAME_MACHINE}-unknown-osf1mk
-+ else
-+ echo ${UNAME_MACHINE}-unknown-osf1
-+ fi
-+ exit ;;
-+ parisc*:Lites*:*:*)
-+ echo hppa1.1-hp-lites
-+ exit ;;
-+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
-+ echo c1-convex-bsd
-+ exit ;;
-+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
-+ if getsysinfo -f scalar_acc
-+ then echo c32-convex-bsd
-+ else echo c2-convex-bsd
-+ fi
-+ exit ;;
-+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
-+ echo c34-convex-bsd
-+ exit ;;
-+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
-+ echo c38-convex-bsd
-+ exit ;;
-+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
-+ echo c4-convex-bsd
-+ exit ;;
-+ CRAY*Y-MP:*:*:*)
-+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-+ exit ;;
-+ CRAY*[A-Z]90:*:*:*)
-+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
-+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-+ -e 's/\.[^.]*$/.X/'
-+ exit ;;
-+ CRAY*TS:*:*:*)
-+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-+ exit ;;
-+ CRAY*T3E:*:*:*)
-+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-+ exit ;;
-+ CRAY*SV1:*:*:*)
-+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-+ exit ;;
-+ *:UNICOS/mp:*:*)
-+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-+ exit ;;
-+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-+ exit ;;
-+ 5000:UNIX_System_V:4.*:*)
-+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
-+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-+ exit ;;
-+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
-+ exit ;;
-+ sparc*:BSD/OS:*:*)
-+ echo sparc-unknown-bsdi${UNAME_RELEASE}
-+ exit ;;
-+ *:BSD/OS:*:*)
-+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
-+ exit ;;
-+ *:FreeBSD:*:*)
-+ case ${UNAME_MACHINE} in
-+ pc98)
-+ echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-+ amd64)
-+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-+ *)
-+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-+ esac
++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 -f $(am__CONFIG_DISTCLEAN_FILES)
++ -rm -rf $(top_srcdir)/autom4te.cache
++ -rm -f Makefile
++maintainer-clean-am: distclean-am maintainer-clean-generic
++
++mostlyclean: mostlyclean-recursive
++
++mostlyclean-am: mostlyclean-generic mostlyclean-libtool
++
++pdf: pdf-recursive
++
++pdf-am:
++
++ps: ps-recursive
++
++ps-am:
++
++uninstall-am: uninstall-pkgconfigDATA
++
++.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
++ ctags-recursive install-am install-strip tags-recursive
++
++.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
++ all all-am am--refresh check check-am clean clean-generic \
++ clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
++ dist-gzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
++ distcheck distclean distclean-generic distclean-hdr \
++ distclean-libtool distclean-tags distcleancheck distdir \
++ distuninstallcheck 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-pkgconfigDATA install-ps \
++ install-ps-am install-strip installcheck installcheck-am \
++ installdirs installdirs-am maintainer-clean \
++ maintainer-clean-generic mostlyclean mostlyclean-generic \
++ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
++ uninstall uninstall-am uninstall-pkgconfigDATA
++
++
++@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@doxygen-ps: @DX_DOCDIR@/@PACKAGE@.ps
++
++@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@@DX_DOCDIR@/@PACKAGE@.ps: @DX_DOCDIR@/@PACKAGE@.tag
++@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ cd @DX_DOCDIR@/latex; \
++@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
++@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ $(DX_LATEX) refman.tex; \
++@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ $(MAKEINDEX_PATH) refman.idx; \
++@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ $(DX_LATEX) refman.tex; \
++@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ countdown=5; \
++@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
++@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ refman.log > /dev/null 2>&1 \
++@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ && test $$countdown -gt 0; do \
++@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ $(DX_LATEX) refman.tex; \
++@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ countdown=`expr $$countdown - 1`; \
++@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ done; \
++@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@ $(DX_DVIPS) -o ../@PACKAGE@.ps refman.dvi
++
++@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@doxygen-pdf: @DX_DOCDIR@/@PACKAGE@.pdf
++
++@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@@DX_DOCDIR@/@PACKAGE@.pdf: @DX_DOCDIR@/@PACKAGE@.tag
++@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ cd @DX_DOCDIR@/latex; \
++@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
++@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ $(DX_PDFLATEX) refman.tex; \
++@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ $(DX_MAKEINDEX) refman.idx; \
++@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ $(DX_PDFLATEX) refman.tex; \
++@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ countdown=5; \
++@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
++@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ refman.log > /dev/null 2>&1 \
++@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ && test $$countdown -gt 0; do \
++@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ $(DX_PDFLATEX) refman.tex; \
++@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ countdown=`expr $$countdown - 1`; \
++@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ done; \
++@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@ mv refman.pdf ../@PACKAGE@.pdf
++
++@DX_COND_doc_TRUE@.PHONY: doxygen-run doxygen-doc $(DX_PS_GOAL) $(DX_PDF_GOAL)
++
++@DX_COND_doc_TRUE@.INTERMEDIATE: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL)
++
++@DX_COND_doc_TRUE@doxygen-run: @DX_DOCDIR@/@PACKAGE@.tag
++
++@DX_COND_doc_TRUE@doxygen-doc: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL)
++
++@DX_COND_doc_TRUE@@DX_DOCDIR@/@PACKAGE@.tag: $(DX_CONFIG) $(pkginclude_HEADERS)
++@DX_COND_doc_TRUE@ rm -rf @DX_DOCDIR@
++@DX_COND_doc_TRUE@ $(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG)
++
++# 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:
+Index: libdessert0.86-0.86.14/NEWS
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/NEWS 2009-12-09 16:38:27.218928392 +0100
+@@ -0,0 +1 @@
++nothing yet
+Index: libdessert0.86-0.86.14/README
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/README 2009-12-09 16:38:27.218928392 +0100
+@@ -0,0 +1,270 @@
++
++ DES-SERT - an Extensible Routing-Framework for Testbeds
++
++
++Copyright
++
++ Copyright Philipp Schmidt <phils@inf.fu-berlin.de>,
++ Computer Systems and Telematics / Distributed, Embedded Systems (DES) group,
++ Freie Universitaet Berlin
++
++ This document has been published under GNU Free Documentation License.
++ All rights reserved.
++
++
++1. Introduction
++
++ DES-SERT, the DES Simple and Extensible Routing-Framework for Testbeds,
++ is a framework designed to assist researchers implementing routing
++ protocols for testbeds.
++
++ DES-SERT enables the implementation of routing protocols on top of
++ Ethernet via an underlay (Layer 2.5) in user space.
++ It introduces an abstraction from OS specific issues and provides
++ functionality and data structures to implement proactive, reactive,
++ and hybrid routing protocols.
++
++ While generally usable in many application scenarios, it is primarily
++ used in DES-Mesh (http://www.des-testbed.net/), the multi-transceiver
++ wireless mesh network testbed part of the DES-Testbed.
++
++
++2. DES-SERT Architecture
++
++ DES-SERT introduces some concepts to implement routing protocols.
++ When implementing a routing protocol with DES-SERT, you should be
++ familiar with these concepts to structure and tailor your implementation.
++
++
++2.1. messages
++
++ Every packet you send or receive on the mesh is represented as a
++ DES-SERT message. From a programmers point of view, a DES-SERT message
++ is just a C-structure:
++
++ typedef struct dessert_msg {
++ /** the layer2 header on the wire */
++ struct ether_header l2h;
++ /** short name of the protocol as passed to dessert_init() */
++ char proto[DESSERT_PROTO_STRLEN];
++ /** version of the app as passed to dessert_init() */
++ uint8_t ver;
++ /** flags - bits 1-4 reserved for dessert, bits 5-8 for app usage */
++ uint8_t flags;
++ /** ttl or hopcount field for app usage - 0xff if not used*/
++ uint8_t ttl;
++ /** reserved for app usage - 0x00 if not used */
++ uint8_t u8;
++ /** reserved for app usage - 0xbeef if not used */
++ uint16_t u16;
++ /** header length incl. extensions */
++ uint16_t hlen;
++ /** payload length */
++ uint16_t plen;
++ } dessert_msg_t;
++
++ Every message sent via the underlay carries this structure as a packet
++ header. All data in a "dessert_msg" is stored in network byte order.
++ DES-SERT tries to care as automatically as possible of this structure.
++ Nevertheless you will have to care at least about: "l2h.ether_dhost" and
++ "ttl".
++
++ If you need to send some data along with every packet, e.g. some kind of
++ metric or cost your routing protocol uses, you should try to fit this
++ data into the "u8", "u16" and the upper 4 bits of the "flags" field.
++ These fields will never be touched by DES-SERT except on initialization
++ via "dessert_msg_new".
++
++ Because just a C-structure is not really usable as a packet, there are some
++ utility functions around - please have a look around in "dessert.h" and the
++ doxygen doku. The most important ones are: "dessert_msg_new" and
++ "dessert_msg_destroy", which do not simply allocate memory for a DES-SERT
++ message, but for a whole packet of maximum size and initialize the
++ structures for further packet construction/processing.
++
++ int dessert_msg_new(dessert_msg_t **msgout);
++
++ void dessert_msg_destroy(dessert_msg_t* msg);
++
++
++2.1.2 DES-SERT extensions
++
++ A DES-SERT extension is some structure used to piggyback data on a
++ DES-SERT message. It consists of a 8-bit user supplied type field (with
++ some reserved values), an 8-bit length field and user supplied data of
++ arbitrary length of 253 bytes at most.
++
++ It can be added to a message via "dessert_msg_addext", retrieved via
++ "dessert_msg_getext" and removed via "dessert_msg_delext".
++
++ int dessert_msg_addext(dessert_msg_t* msg,
++ dessert_ext_t** ext, uint8_t type, size_t len);
++
++ int dessert_msg_getext(const dessert_msg_t* msg,
++ dessert_ext_t** ext, uint8_t type, int index);
++
++ int dessert_msg_delext(dessert_msg_t *msg, dessert_ext_t *ext);
++
++ It is recommended not to put single data fields in extensions, but
++ combine semantically related data in a struct and attach this struct
++ as an extension because every extension carried introduces an 16-bit
++ overhead to the packet.
++
++
++2.2. Processing pipelines
++
++ Routing algorithms are often split up in several parts like packet
++ validation, loop-detection or routing table lookup.
++ To implement these as independent and clear as possible, DES-SERT enables
++ you to split up your packet processing in as many parts as you like.
++
++ There are two separate processing pipelines - one for packets received
++ from the kernel via a TUN or TAP interface and one for packets received
++ via an interface used on the mesh network.
++
++ You can register callbacks to be added to one of these pipelines with
++ "dessert_sysrxcb_add" or "dessert_meshrxcb_add". Both take an additional
++ integer argument ("priority") specifying the order the callbacks should
++ be called. Higher "priority" value results in being called later
++ within the pipeline.
++
++ int dessert_sysrxcb_add(dessert_sysrxcb_t* c, int prio);
++
++ int dessert_meshrxcb_add(dessert_meshrxcb_t* c, int prio);
++
++ If a callback returns "DESSERT_MSG_KEEP" the packed will be processed by
++ further callbacks, if it returns "DESSERT_MSG_DROP" the message will be
++ dropped and no further callbacks will be called.
++
++ You do not need to care about the management of the buffers for incoming
++ messages - DES-SERT does this for you. Nevertheless if you need to add
++ extensions or enlarge the payload of a message, you need to tell DES-SERT
++ to enlarge the buffer for you if the flag "DESSERT_FLAG_SPARSE" is set on
++ the message. You can do this by returning "DESSERT_MSG_NEEDNOSPARSE" from
++ within a callback. The callback will be called again with a larger buffer
++ and no "DESSERT_FLAG_SPARSE" flag being set.
++
++
++2.2.1. Processing buffer
++
++ If you need to pass information along several callbacks, you can do this
++ in the processing buffer passed to the the callbacks. This buffer contains
++ some local processing flags ("lflags") set by the builtin callback
++ "dessert_msg_ifaceflags_cb" (e.g. telling you about packet origin or if
++ the packet is multicast) and 1KB of space for your callbacks to pass
++ along arbitrary data.
++
++ This buffer might only be allocated after you explicitly request it - in
++ this case the proc argument is NULL and you can return the value
++ "DESSERT_MSG_NEEDMSGPROC" from within your callback. The callback will
++ be called again with a valid processing buffer.
++
++
++2.3. Using interfaces
++
++
++2.3.1. Using a TUN/TAP interface
++
++ First you have to choose whether to use a TUN or TAP interface. TUN
++ interfaces are used to exchange IPv4 / IPv6 datagrams with the kernel
++ network stack. TAP interfaces are used to exchange Ethernet frames
++ with the kernel network stack. If you want to route Ethernet frames,
++ you should choose a TAP interface. If you intend to implement
++ a custom layer 2 to layer 3 mapping, you should use a TUN interface.
++
++ Currently, you can only initialize and use a single sys (TUN/TAP) interface.
++ This is done by "dessert_sysif_init". You must then set up the interface
++ config in the kernel yourself e.g. by calling "ifconfig".
++
++ int dessert_sysif_init(char* name, uint8_t flags);
++
++ In either case, frames you receive from a TUN/TAP interface will be
++ passed along the callbacks added by "dessert_sysrxcb_add" to the
++ processing pipeline. Each of them will be called with a pointer to an
++ Ethernet frame. In case of a TUN interface, "ether_shost" and "ether_dhost"
++ are set to "00:00:00:00:00:00", and ether_type reflects whether the packet
++ received is IPv4 oder IPv6.
++
++ Packets are sent to the kernel network stack with "dessert_syssend".
++ In case of a TUN Interface "ether_shost" and "ether_dhost" will be
++ ignored.
++
++ int dessert_syssend(const struct ether_header *eth, size_t len);
++
++
++2.3.2. Using a mesh interface
++
++ Mesh interfaces are used similar to the TUN/TAP interface with two major
++ differences: You can have multiple mesh interfaces and they send and
++ receive DES-SERT messages instead of Ethernet frames.
++
++ You add an mesh interface using "dessert_meshif_add" and can send to it
++ by calling "dessert_meshsend". If the interface parameter is NULL, the
++ packet will be transmitted over every interface (good for flooding).
++
++ int dessert_meshif_add(const char* dev, uint8_t flags);
++
++ int dessert_meshsend(const dessert_msg_t* msg,
++ const dessert_meshif_t *iface);
++
++
++2.4. Logging
++
++ You can write log messages easily with a bunch of macros provided
++ by DES-SERT ("dessert_debug", "dessert_info" ,"dessert_notice",
++ "dessert_warn", "dessert_warning", "dessert_err", "dessert_crit",
++ "dessert_alert" and "dessert_emerg"). Each of them can be used like
++ "printf" and logs to Syslog, STDERR, file or a ringbuffer depending
++ on your configuration.
++
++ DES-SERT also ships with a custom "assert" macro which acts like
++ the original macro from the standard C library and uses the logging
++ mechanism described above.
++
++
++2.5. Periodics
++
++ Periodics help you to perform maintenance or delayed tasks. A task
++ consists of a callback, which will be called at the time you requested,
++ and a void pointer the callback is passed. You can add these tasks by
++ calling "dessert_periodic_add" or "dessert_periodic_add_delayed".
++
++
++2.6. CLI
++
++ DES-SERT supports simple configuration and debugging of your routing
++ protocol implementation by providing a Cisco like command line interface
++ (cli) and a config file parser based upon it.
++ This cli is realized through libcli (http://code.google.com/p/libcli/).
++
++ DES-SERT does some of the initialization of libcli. Therefore, it provides
++ the main cli anchor "dessert_cli" and some anchors to add commands below
++ "dessert_cli_.*". Because DES-SERT only loosely wraps libcli, you should
++ make yourself familiar with libcli itself. This may be improved in further
++ DES-SERT releases.
++
++ You can evaluate a config file by calling "cli_file" and start a thread
++ enabling a telnet-interface for DES-SERT by calling "dessert_cli_run".
++
++
++2.7. Putting all together
++
++ Now you have learned about the most important aspects of DES-SERT.
++ To write your own routing protocol implementation, you need to know
++ how to put all this together.
++
++ You should start with a main() program parsing the command line options
++ and then calling "dessert_init()". This is needed to set up DES-SERT
++ correctly. Afterwards you can register callbacks, read the config file
++ and do what you like. If everything is set up, you call "dessert_run()"
++ and let the event based framework do its job.
++
++ If you would like to see a complete protocol implementation sample,
++ have a look at the "gossiping" directory.
++
++
++3. Contact & Feedback
++
++ We love feedback - if you have patches, comments or questions,
++ please contact us! Recent contact information is available on
++ http://www.des-testbed.net/des-sert/
+Index: libdessert0.86-0.86.14/autogen.sh
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/autogen.sh 2009-12-09 16:38:27.218928392 +0100
+@@ -0,0 +1,22 @@
++#!/bin/sh
++
++# ugly hack to get libtools major version
++LIBTOOL_MAJOR_VERSION=`libtool --version | head -n 1 | cut -d " " -f 4 | cut -c1`
++
++M4_PATH="m4"
++
++M4_FILES="libtool.m4 \
++ ltoptions.m4 \
++ ltsugar.m4 \
++ ltversion.m4 \
++ lt~obsolete.m4 \
++ "
++
++if test ${LIBTOOL_MAJOR_VERSION} -lt 2; then
++ for i in ${M4_FILES}
++ do
++ rm ${M4_PATH}/${i}
++ done
++fi
++
++autoreconf --force --install -I m4
+Index: libdessert0.86-0.86.14/config.guess
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/config.guess 2009-12-09 16:38:27.218928392 +0100
+@@ -0,0 +1,1533 @@
++#! /bin/sh
++# Attempt to guess a canonical system name.
++# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
++# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
++# Free Software Foundation, Inc.
++
++timestamp='2009-06-10'
++
++# This file 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 2 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, write to the Free Software
++# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
++# 02110-1301, USA.
++#
++# As a special exception to the GNU General Public License, if you
++# distribute this file as part of a program that contains a
++# configuration script generated by Autoconf, you may include it under
++# the same distribution terms that you use for the rest of that program.
++
++
++# Originally written by Per Bothner <per@bothner.com>.
++# Please send patches to <config-patches@gnu.org>. Submit a context
++# diff and a properly formatted ChangeLog entry.
++#
++# This script attempts to guess a canonical system name similar to
++# config.sub. If it succeeds, it prints the system name on stdout, and
++# exits with 0. Otherwise, it exits with 1.
++#
++# The plan is that this can be called by configure scripts if you
++# don't specify an explicit build system type.
++
++me=`echo "$0" | sed -e 's,.*/,,'`
++
++usage="\
++Usage: $0 [OPTION]
++
++Output the configuration name of the system \`$me' is run on.
++
++Operation modes:
++ -h, --help print this help, then exit
++ -t, --time-stamp print date of last modification, then exit
++ -v, --version print version number, then exit
++
++Report bugs and patches to <config-patches@gnu.org>."
++
++version="\
++GNU config.guess ($timestamp)
++
++Originally written by Per Bothner.
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
++2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
++
++This is free software; see the source for copying conditions. There is NO
++warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
++
++help="
++Try \`$me --help' for more information."
++
++# Parse command line
++while test $# -gt 0 ; do
++ case $1 in
++ --time-stamp | --time* | -t )
++ echo "$timestamp" ; exit ;;
++ --version | -v )
++ echo "$version" ; exit ;;
++ --help | --h* | -h )
++ echo "$usage"; exit ;;
++ -- ) # Stop option processing
++ shift; break ;;
++ - ) # Use stdin as input.
++ break ;;
++ -* )
++ echo "$me: invalid option $1$help" >&2
++ exit 1 ;;
++ * )
++ break ;;
++ esac
++done
++
++if test $# != 0; then
++ echo "$me: too many arguments$help" >&2
++ exit 1
++fi
++
++trap 'exit 1' 1 2 15
++
++# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
++# compiler to aid in system detection is discouraged as it requires
++# temporary files to be created and, as you can see below, it is a
++# headache to deal with in a portable fashion.
++
++# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
++# use `HOST_CC' if defined, but it is deprecated.
++
++# Portable tmp directory creation inspired by the Autoconf team.
++
++set_cc_for_build='
++trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
++trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
++: ${TMPDIR=/tmp} ;
++ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
++ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
++ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
++ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
++dummy=$tmp/dummy ;
++tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
++case $CC_FOR_BUILD,$HOST_CC,$CC in
++ ,,) echo "int x;" > $dummy.c ;
++ for c in cc gcc c89 c99 ; do
++ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
++ CC_FOR_BUILD="$c"; break ;
++ fi ;
++ done ;
++ if test x"$CC_FOR_BUILD" = x ; then
++ CC_FOR_BUILD=no_compiler_found ;
++ fi
++ ;;
++ ,,*) CC_FOR_BUILD=$CC ;;
++ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
++esac ; set_cc_for_build= ;'
++
++# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
++# (ghazi@noc.rutgers.edu 1994-08-24)
++if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
++ PATH=$PATH:/.attbin ; export PATH
++fi
++
++UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
++UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
++UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
++UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
++
++# Note: order is significant - the case branches are not exclusive.
++
++case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
++ *:NetBSD:*:*)
++ # NetBSD (nbsd) targets should (where applicable) match one or
++ # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
++ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
++ # switched to ELF, *-*-netbsd* would select the old
++ # object file format. This provides both forward
++ # compatibility and a consistent mechanism for selecting the
++ # object file format.
++ #
++ # Note: NetBSD doesn't particularly care about the vendor
++ # portion of the name. We always set it to "unknown".
++ sysctl="sysctl -n hw.machine_arch"
++ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
++ /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
++ case "${UNAME_MACHINE_ARCH}" in
++ armeb) machine=armeb-unknown ;;
++ arm*) machine=arm-unknown ;;
++ sh3el) machine=shl-unknown ;;
++ sh3eb) machine=sh-unknown ;;
++ sh5el) machine=sh5le-unknown ;;
++ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
++ esac
++ # The Operating System including object format, if it has switched
++ # to ELF recently, or will in the future.
++ case "${UNAME_MACHINE_ARCH}" in
++ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
++ eval $set_cc_for_build
++ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
++ | grep -q __ELF__
++ then
++ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
++ # Return netbsd for either. FIX?
++ os=netbsd
++ else
++ os=netbsdelf
++ fi
++ ;;
++ *)
++ os=netbsd
++ ;;
++ esac
++ # The OS release
++ # Debian GNU/NetBSD machines have a different userland, and
++ # thus, need a distinct triplet. However, they do not need
++ # kernel version information, so it can be replaced with a
++ # suitable tag, in the style of linux-gnu.
++ case "${UNAME_VERSION}" in
++ Debian*)
++ release='-gnu'
++ ;;
++ *)
++ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
++ ;;
++ esac
++ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
++ # contains redundant information, the shorter form:
++ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
++ echo "${machine}-${os}${release}"
++ exit ;;
++ *:OpenBSD:*:*)
++ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
++ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
++ exit ;;
++ *:ekkoBSD:*:*)
++ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
++ exit ;;
++ *:SolidBSD:*:*)
++ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
++ exit ;;
++ macppc:MirBSD:*:*)
++ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
++ exit ;;
++ *:MirBSD:*:*)
++ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
++ exit ;;
++ alpha:OSF1:*:*)
++ case $UNAME_RELEASE in
++ *4.0)
++ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
++ ;;
++ *5.*)
++ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
++ ;;
++ esac
++ # According to Compaq, /usr/sbin/psrinfo has been available on
++ # OSF/1 and Tru64 systems produced since 1995. I hope that
++ # covers most systems running today. This code pipes the CPU
++ # types through head -n 1, so we only detect the type of CPU 0.
++ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
++ case "$ALPHA_CPU_TYPE" in
++ "EV4 (21064)")
++ UNAME_MACHINE="alpha" ;;
++ "EV4.5 (21064)")
++ UNAME_MACHINE="alpha" ;;
++ "LCA4 (21066/21068)")
++ UNAME_MACHINE="alpha" ;;
++ "EV5 (21164)")
++ UNAME_MACHINE="alphaev5" ;;
++ "EV5.6 (21164A)")
++ UNAME_MACHINE="alphaev56" ;;
++ "EV5.6 (21164PC)")
++ UNAME_MACHINE="alphapca56" ;;
++ "EV5.7 (21164PC)")
++ UNAME_MACHINE="alphapca57" ;;
++ "EV6 (21264)")
++ UNAME_MACHINE="alphaev6" ;;
++ "EV6.7 (21264A)")
++ UNAME_MACHINE="alphaev67" ;;
++ "EV6.8CB (21264C)")
++ UNAME_MACHINE="alphaev68" ;;
++ "EV6.8AL (21264B)")
++ UNAME_MACHINE="alphaev68" ;;
++ "EV6.8CX (21264D)")
++ UNAME_MACHINE="alphaev68" ;;
++ "EV6.9A (21264/EV69A)")
++ UNAME_MACHINE="alphaev69" ;;
++ "EV7 (21364)")
++ UNAME_MACHINE="alphaev7" ;;
++ "EV7.9 (21364A)")
++ UNAME_MACHINE="alphaev79" ;;
++ esac
++ # A Pn.n version is a patched version.
++ # A Vn.n version is a released version.
++ # A Tn.n version is a released field test version.
++ # A Xn.n version is an unreleased experimental baselevel.
++ # 1.2 uses "1.2" for uname -r.
++ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
++ exit ;;
++ Alpha\ *:Windows_NT*:*)
++ # How do we know it's Interix rather than the generic POSIX subsystem?
++ # Should we change UNAME_MACHINE based on the output of uname instead
++ # of the specific Alpha model?
++ echo alpha-pc-interix
++ exit ;;
++ 21064:Windows_NT:50:3)
++ echo alpha-dec-winnt3.5
++ exit ;;
++ Amiga*:UNIX_System_V:4.0:*)
++ echo m68k-unknown-sysv4
++ exit ;;
++ *:[Aa]miga[Oo][Ss]:*:*)
++ echo ${UNAME_MACHINE}-unknown-amigaos
++ exit ;;
++ *:[Mm]orph[Oo][Ss]:*:*)
++ echo ${UNAME_MACHINE}-unknown-morphos
++ exit ;;
++ *:OS/390:*:*)
++ echo i370-ibm-openedition
++ exit ;;
++ *:z/VM:*:*)
++ echo s390-ibm-zvmoe
++ exit ;;
++ *:OS400:*:*)
++ echo powerpc-ibm-os400
++ exit ;;
++ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
++ echo arm-acorn-riscix${UNAME_RELEASE}
++ exit ;;
++ arm:riscos:*:*|arm:RISCOS:*:*)
++ echo arm-unknown-riscos
++ exit ;;
++ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
++ echo hppa1.1-hitachi-hiuxmpp
++ exit ;;
++ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
++ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
++ if test "`(/bin/universe) 2>/dev/null`" = att ; then
++ echo pyramid-pyramid-sysv3
++ else
++ echo pyramid-pyramid-bsd
++ fi
++ exit ;;
++ NILE*:*:*:dcosx)
++ echo pyramid-pyramid-svr4
++ exit ;;
++ DRS?6000:unix:4.0:6*)
++ echo sparc-icl-nx6
++ exit ;;
++ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
++ case `/usr/bin/uname -p` in
++ sparc) echo sparc-icl-nx7; exit ;;
++ esac ;;
++ s390x:SunOS:*:*)
++ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
++ exit ;;
++ sun4H:SunOS:5.*:*)
++ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
++ exit ;;
++ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
++ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
++ exit ;;
++ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
++ eval $set_cc_for_build
++ SUN_ARCH="i386"
++ # If there is a compiler, see if it is configured for 64-bit objects.
++ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
++ # This test works for both compilers.
++ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
++ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
++ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
++ grep IS_64BIT_ARCH >/dev/null
++ then
++ SUN_ARCH="x86_64"
++ fi
++ fi
++ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
++ exit ;;
++ sun4*:SunOS:6*:*)
++ # According to config.sub, this is the proper way to canonicalize
++ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
++ # it's likely to be more like Solaris than SunOS4.
++ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
++ exit ;;
++ sun4*:SunOS:*:*)
++ case "`/usr/bin/arch -k`" in
++ Series*|S4*)
++ UNAME_RELEASE=`uname -v`
++ ;;
++ esac
++ # Japanese Language versions have a version number like `4.1.3-JL'.
++ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
++ exit ;;
++ sun3*:SunOS:*:*)
++ echo m68k-sun-sunos${UNAME_RELEASE}
++ exit ;;
++ sun*:*:4.2BSD:*)
++ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
++ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
++ case "`/bin/arch`" in
++ sun3)
++ echo m68k-sun-sunos${UNAME_RELEASE}
++ ;;
++ sun4)
++ echo sparc-sun-sunos${UNAME_RELEASE}
++ ;;
++ esac
++ exit ;;
++ aushp:SunOS:*:*)
++ echo sparc-auspex-sunos${UNAME_RELEASE}
++ exit ;;
++ # The situation for MiNT is a little confusing. The machine name
++ # can be virtually everything (everything which is not
++ # "atarist" or "atariste" at least should have a processor
++ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
++ # to the lowercase version "mint" (or "freemint"). Finally
++ # the system name "TOS" denotes a system which is actually not
++ # MiNT. But MiNT is downward compatible to TOS, so this should
++ # be no problem.
++ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
++ echo m68k-atari-mint${UNAME_RELEASE}
++ exit ;;
++ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
++ echo m68k-atari-mint${UNAME_RELEASE}
++ exit ;;
++ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
++ echo m68k-atari-mint${UNAME_RELEASE}
++ exit ;;
++ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
++ echo m68k-milan-mint${UNAME_RELEASE}
++ exit ;;
++ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
++ echo m68k-hades-mint${UNAME_RELEASE}
++ exit ;;
++ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
++ echo m68k-unknown-mint${UNAME_RELEASE}
++ exit ;;
++ m68k:machten:*:*)
++ echo m68k-apple-machten${UNAME_RELEASE}
++ exit ;;
++ powerpc:machten:*:*)
++ echo powerpc-apple-machten${UNAME_RELEASE}
++ exit ;;
++ RISC*:Mach:*:*)
++ echo mips-dec-mach_bsd4.3
++ exit ;;
++ RISC*:ULTRIX:*:*)
++ echo mips-dec-ultrix${UNAME_RELEASE}
++ exit ;;
++ VAX*:ULTRIX*:*:*)
++ echo vax-dec-ultrix${UNAME_RELEASE}
++ exit ;;
++ 2020:CLIX:*:* | 2430:CLIX:*:*)
++ echo clipper-intergraph-clix${UNAME_RELEASE}
++ exit ;;
++ mips:*:*:UMIPS | mips:*:*:RISCos)
++ eval $set_cc_for_build
++ sed 's/^ //' << EOF >$dummy.c
++#ifdef __cplusplus
++#include <stdio.h> /* for printf() prototype */
++ int main (int argc, char *argv[]) {
++#else
++ int main (argc, argv) int argc; char *argv[]; {
++#endif
++ #if defined (host_mips) && defined (MIPSEB)
++ #if defined (SYSTYPE_SYSV)
++ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
++ #endif
++ #if defined (SYSTYPE_SVR4)
++ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
++ #endif
++ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
++ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
++ #endif
++ #endif
++ exit (-1);
++ }
++EOF
++ $CC_FOR_BUILD -o $dummy $dummy.c &&
++ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
++ SYSTEM_NAME=`$dummy $dummyarg` &&
++ { echo "$SYSTEM_NAME"; exit; }
++ echo mips-mips-riscos${UNAME_RELEASE}
++ exit ;;
++ Motorola:PowerMAX_OS:*:*)
++ echo powerpc-motorola-powermax
++ exit ;;
++ Motorola:*:4.3:PL8-*)
++ echo powerpc-harris-powermax
++ exit ;;
++ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
++ echo powerpc-harris-powermax
++ exit ;;
++ Night_Hawk:Power_UNIX:*:*)
++ echo powerpc-harris-powerunix
++ exit ;;
++ m88k:CX/UX:7*:*)
++ echo m88k-harris-cxux7
++ exit ;;
++ m88k:*:4*:R4*)
++ echo m88k-motorola-sysv4
++ exit ;;
++ m88k:*:3*:R3*)
++ echo m88k-motorola-sysv3
++ exit ;;
++ AViiON:dgux:*:*)
++ # DG/UX returns AViiON for all architectures
++ UNAME_PROCESSOR=`/usr/bin/uname -p`
++ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
++ then
++ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
++ [ ${TARGET_BINARY_INTERFACE}x = x ]
++ then
++ echo m88k-dg-dgux${UNAME_RELEASE}
++ else
++ echo m88k-dg-dguxbcs${UNAME_RELEASE}
++ fi
++ else
++ echo i586-dg-dgux${UNAME_RELEASE}
++ fi
++ exit ;;
++ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
++ echo m88k-dolphin-sysv3
++ exit ;;
++ M88*:*:R3*:*)
++ # Delta 88k system running SVR3
++ echo m88k-motorola-sysv3
++ exit ;;
++ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
++ echo m88k-tektronix-sysv3
++ exit ;;
++ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
++ echo m68k-tektronix-bsd
++ exit ;;
++ *:IRIX*:*:*)
++ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
++ exit ;;
++ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
++ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
++ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
++ i*86:AIX:*:*)
++ echo i386-ibm-aix
++ exit ;;
++ ia64:AIX:*:*)
++ if [ -x /usr/bin/oslevel ] ; then
++ IBM_REV=`/usr/bin/oslevel`
++ else
++ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
++ fi
++ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
++ exit ;;
++ *:AIX:2:3)
++ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
++ eval $set_cc_for_build
++ sed 's/^ //' << EOF >$dummy.c
++ #include <sys/systemcfg.h>
++
++ main()
++ {
++ if (!__power_pc())
++ exit(1);
++ puts("powerpc-ibm-aix3.2.5");
++ exit(0);
++ }
++EOF
++ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
++ then
++ echo "$SYSTEM_NAME"
++ else
++ echo rs6000-ibm-aix3.2.5
++ fi
++ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
++ echo rs6000-ibm-aix3.2.4
++ else
++ echo rs6000-ibm-aix3.2
++ fi
++ exit ;;
++ *:AIX:*:[456])
++ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
++ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
++ IBM_ARCH=rs6000
++ else
++ IBM_ARCH=powerpc
++ fi
++ if [ -x /usr/bin/oslevel ] ; then
++ IBM_REV=`/usr/bin/oslevel`
++ else
++ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
++ fi
++ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
++ exit ;;
++ *:AIX:*:*)
++ echo rs6000-ibm-aix
++ exit ;;
++ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
++ echo romp-ibm-bsd4.4
++ exit ;;
++ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
++ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
++ exit ;; # report: romp-ibm BSD 4.3
++ *:BOSX:*:*)
++ echo rs6000-bull-bosx
++ exit ;;
++ DPX/2?00:B.O.S.:*:*)
++ echo m68k-bull-sysv3
++ exit ;;
++ 9000/[34]??:4.3bsd:1.*:*)
++ echo m68k-hp-bsd
++ exit ;;
++ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
++ echo m68k-hp-bsd4.4
++ exit ;;
++ 9000/[34678]??:HP-UX:*:*)
++ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
++ case "${UNAME_MACHINE}" in
++ 9000/31? ) HP_ARCH=m68000 ;;
++ 9000/[34]?? ) HP_ARCH=m68k ;;
++ 9000/[678][0-9][0-9])
++ if [ -x /usr/bin/getconf ]; then
++ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
++ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
++ case "${sc_cpu_version}" in
++ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
++ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
++ 532) # CPU_PA_RISC2_0
++ case "${sc_kernel_bits}" in
++ 32) HP_ARCH="hppa2.0n" ;;
++ 64) HP_ARCH="hppa2.0w" ;;
++ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
++ esac ;;
++ esac
++ fi
++ if [ "${HP_ARCH}" = "" ]; then
++ eval $set_cc_for_build
++ sed 's/^ //' << EOF >$dummy.c
++
++ #define _HPUX_SOURCE
++ #include <stdlib.h>
++ #include <unistd.h>
++
++ int main ()
++ {
++ #if defined(_SC_KERNEL_BITS)
++ long bits = sysconf(_SC_KERNEL_BITS);
++ #endif
++ long cpu = sysconf (_SC_CPU_VERSION);
++
++ switch (cpu)
++ {
++ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
++ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
++ case CPU_PA_RISC2_0:
++ #if defined(_SC_KERNEL_BITS)
++ switch (bits)
++ {
++ case 64: puts ("hppa2.0w"); break;
++ case 32: puts ("hppa2.0n"); break;
++ default: puts ("hppa2.0"); break;
++ } break;
++ #else /* !defined(_SC_KERNEL_BITS) */
++ puts ("hppa2.0"); break;
++ #endif
++ default: puts ("hppa1.0"); break;
++ }
++ exit (0);
++ }
++EOF
++ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
++ test -z "$HP_ARCH" && HP_ARCH=hppa
++ fi ;;
++ esac
++ if [ ${HP_ARCH} = "hppa2.0w" ]
++ then
++ eval $set_cc_for_build
++
++ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
++ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
++ # generating 64-bit code. GNU and HP use different nomenclature:
++ #
++ # $ CC_FOR_BUILD=cc ./config.guess
++ # => hppa2.0w-hp-hpux11.23
++ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
++ # => hppa64-hp-hpux11.23
++
++ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
++ grep -q __LP64__
++ then
++ HP_ARCH="hppa2.0w"
++ else
++ HP_ARCH="hppa64"
++ fi
++ fi
++ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
++ exit ;;
++ ia64:HP-UX:*:*)
++ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
++ echo ia64-hp-hpux${HPUX_REV}
++ exit ;;
++ 3050*:HI-UX:*:*)
++ eval $set_cc_for_build
++ sed 's/^ //' << EOF >$dummy.c
++ #include <unistd.h>
++ int
++ main ()
++ {
++ long cpu = sysconf (_SC_CPU_VERSION);
++ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
++ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
++ results, however. */
++ if (CPU_IS_PA_RISC (cpu))
++ {
++ switch (cpu)
++ {
++ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
++ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
++ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
++ default: puts ("hppa-hitachi-hiuxwe2"); break;
++ }
++ }
++ else if (CPU_IS_HP_MC68K (cpu))
++ puts ("m68k-hitachi-hiuxwe2");
++ else puts ("unknown-hitachi-hiuxwe2");
++ exit (0);
++ }
++EOF
++ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
++ { echo "$SYSTEM_NAME"; exit; }
++ echo unknown-hitachi-hiuxwe2
++ exit ;;
++ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
++ echo hppa1.1-hp-bsd
++ exit ;;
++ 9000/8??:4.3bsd:*:*)
++ echo hppa1.0-hp-bsd
++ exit ;;
++ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
++ echo hppa1.0-hp-mpeix
++ exit ;;
++ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
++ echo hppa1.1-hp-osf
++ exit ;;
++ hp8??:OSF1:*:*)
++ echo hppa1.0-hp-osf
++ exit ;;
++ i*86:OSF1:*:*)
++ if [ -x /usr/sbin/sysversion ] ; then
++ echo ${UNAME_MACHINE}-unknown-osf1mk
++ else
++ echo ${UNAME_MACHINE}-unknown-osf1
++ fi
++ exit ;;
++ parisc*:Lites*:*:*)
++ echo hppa1.1-hp-lites
++ exit ;;
++ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
++ echo c1-convex-bsd
++ exit ;;
++ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
++ if getsysinfo -f scalar_acc
++ then echo c32-convex-bsd
++ else echo c2-convex-bsd
++ fi
++ exit ;;
++ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
++ echo c34-convex-bsd
++ exit ;;
++ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
++ echo c38-convex-bsd
++ exit ;;
++ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
++ echo c4-convex-bsd
++ exit ;;
++ CRAY*Y-MP:*:*:*)
++ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
++ exit ;;
++ CRAY*[A-Z]90:*:*:*)
++ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
++ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
++ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
++ -e 's/\.[^.]*$/.X/'
++ exit ;;
++ CRAY*TS:*:*:*)
++ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
++ exit ;;
++ CRAY*T3E:*:*:*)
++ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
++ exit ;;
++ CRAY*SV1:*:*:*)
++ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
++ exit ;;
++ *:UNICOS/mp:*:*)
++ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
++ exit ;;
++ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
++ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
++ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
++ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
++ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
++ exit ;;
++ 5000:UNIX_System_V:4.*:*)
++ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
++ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
++ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
++ exit ;;
++ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
++ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
++ exit ;;
++ sparc*:BSD/OS:*:*)
++ echo sparc-unknown-bsdi${UNAME_RELEASE}
++ exit ;;
++ *:BSD/OS:*:*)
++ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
++ exit ;;
++ *:FreeBSD:*:*)
++ case ${UNAME_MACHINE} in
++ pc98)
++ echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
++ amd64)
++ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
++ *)
++ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
++ esac
+ exit ;;
+ i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
-diff --git a/config.h.in b/config.h.in
-new file mode 100644
-index 0000000..e69afae
---- /dev/null
-+++ b/config.h.in
-@@ -0,0 +1,205 @@
+Index: libdessert0.86-0.86.14/config.h.in
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/config.h.in 2009-12-09 16:38:57.005169762 +0100
+@@ -0,0 +1,208 @@
+/* config.h.in. Generated from configure.ac by autoheader. */
+
++/* defines linkoption for libcli */
++#undef CLI_LIBS
++
+/* Define to 1 if you have the <arpa/inet.h> header file. */
+#undef HAVE_ARPA_INET_H
+
+
+/* Define as `fork' if `vfork' does not work. */
+#undef vfork
-diff --git a/config.sub b/config.sub
-new file mode 100755
-index 0000000..eb0389a
---- /dev/null
-+++ b/config.sub
+Index: libdessert0.86-0.86.14/config.sub
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/config.sub 2009-12-09 16:38:27.222261696 +0100
@@ -0,0 +1,1693 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
-diff --git a/configure b/configure
-new file mode 100755
-index 0000000..f4500bf
---- /dev/null
-+++ b/configure
-@@ -0,0 +1,16274 @@
+Index: libdessert0.86-0.86.14/configure
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/configure 2009-12-09 16:38:51.722669417 +0100
+@@ -0,0 +1,16280 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.65 for libdessert 0.86.14.
+PTHREAD_LIBS
+PTHREAD_CC
+ax_pthread_config
++CLI_LIBS
+PCAP_CFLAGS
+PCAP_CFLGAS
+PCAP_LIBS
+else
+ lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
-+ (eval echo "\"\$as_me:4755: $ac_compile\"" >&5)
++ (eval echo "\"\$as_me:4756: $ac_compile\"" >&5)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&5
-+ (eval echo "\"\$as_me:4758: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
++ (eval echo "\"\$as_me:4759: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&5
-+ (eval echo "\"\$as_me:4761: output\"" >&5)
++ (eval echo "\"\$as_me:4762: output\"" >&5)
+ cat conftest.out >&5
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+ ;;
+*-*-irix6*)
+ # Find out which ABI we are using.
-+ echo '#line 5956 "configure"' > conftest.$ac_ext
++ echo '#line 5957 "configure"' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
-+ (eval echo "\"\$as_me:7486: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:7487: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
-+ echo "$as_me:7490: \$? = $ac_status" >&5
++ echo "$as_me:7491: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
-+ (eval echo "\"\$as_me:7825: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:7826: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
-+ echo "$as_me:7829: \$? = $ac_status" >&5
++ echo "$as_me:7830: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
-+ (eval echo "\"\$as_me:7930: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:7931: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
-+ echo "$as_me:7934: \$? = $ac_status" >&5
++ echo "$as_me:7935: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
-+ (eval echo "\"\$as_me:7985: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:7986: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
-+ echo "$as_me:7989: \$? = $ac_status" >&5
++ echo "$as_me:7990: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
-+#line 10368 "configure"
++#line 10369 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
-+#line 10464 "configure"
++#line 10465 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ ac_cv_prog_SNMP_LIBS="`net-snmp-config --libs`"
++ ac_cv_prog_SNMP_LIBS="`net-snmp-config --agent-libs`"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+
+
+
-+# Checks for pcap
++# Checks for pcap-config
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Searching for pcap lib" >&5
+$as_echo_n "checking Searching for pcap lib... " >&6; }
+ return 0;
+}
+_ACEOF
-+for ac_lib in '' libcli; do
++for ac_lib in '' cli; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ac_res=$ac_cv_search_cli_print
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
++
++$as_echo "#define CLI_LIBS -lcli" >>confdefs.h
++
++else
+ as_fn_error "libcli could not found, please install development package of libcli" "$LINENO" 5
+
+fi
+
+
++
++
+# Checks for libraries.
+
+
+# which indicates that we try without any flags at all, and "pthread-config"
+# which is a program returning the flags for the Pth emulation library.
+
-+ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
++ax_pthread_flags="pthread pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
+
+# The ordering *is* (sometimes) important. Some notes on the
+# individual items follow:
+else
+ ax_pthread_ok=no
+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: your system does not support a pthread variant maybee libdessert will not work" >&5
-+$as_echo "$as_me: WARNING: your system does not support a pthread variant maybee libdessert will not work" >&2;}
++as_fn_error "Your system does not support a pthread variant, libdessert will not work" "$LINENO" 5
+
+fi
+ac_ext=c
+fi
+
+
-diff --git a/configure.ac b/configure.ac
-new file mode 100644
-index 0000000..0542606
---- /dev/null
-+++ b/configure.ac
-@@ -0,0 +1,93 @@
+Index: libdessert0.86-0.86.14/configure.ac
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/configure.ac 2009-12-09 16:38:27.235595145 +0100
+@@ -0,0 +1,97 @@
+# -*- Autoconf -*-
+# Process this file with autoconf to produce a configure script.
+
+AC_SUBST([SNMP_LIBS])
+AC_SUBST([SNMP_CFLAGS])
+
-+# Checks for pcap
++# Checks for pcap-config
+AC_CHECK_PCAP
+
+AC_SUBST([PCAP_LIBS])
+
+AC_CHECK_HEADERS([libcli.h])
+
-+AC_SEARCH_LIBS([cli_print], [libcli],
-+ [AC_MSG_ERROR([libcli could not found, please install development package of libcli])
-+])
++AC_SEARCH_LIBS([cli_print],
++ [cli],
++ [AC_DEFINE([CLI_LIBS],[-lcli],[defines linkoption for libcli])],
++ [AC_MSG_ERROR([libcli could not found, please install development package of libcli])]
++)
++
++AC_SUBST([CLI_LIBS])
+
+# Checks for libraries.
+
+AX_PTHREAD(,[
-+AC_MSG_WARN([your system does not support a pthread variant maybee libdessert will not work])
++AC_MSG_ERROR([Your system does not support a pthread variant, libdessert will not work])
+])
+
+# Checks for header files.
+ ])
+AC_OUTPUT
+
-diff --git a/depcomp b/depcomp
-new file mode 100755
-index 0000000..df8eea7
---- /dev/null
-+++ b/depcomp
+Index: libdessert0.86-0.86.14/depcomp
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/depcomp 2009-12-09 16:38:27.235595145 +0100
@@ -0,0 +1,630 @@
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
-diff --git a/dessert.h b/dessert.h
-deleted file mode 100644
-index 4e0dea4..0000000
---- a/dessert.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/dessert.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/dessert.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,1334 +0,0 @@
-/***************************************************************************//**
- @file
-
-
-#endif /* DESSERT_H*/
-diff --git a/dessert_agentx.c b/dessert_agentx.c
-deleted file mode 100644
-index f68dbe4..0000000
---- a/dessert_agentx.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/dessert_agentx.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/dessert_agentx.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,563 +0,0 @@
-/******************************************************************************
- Copyright 2009, The DES-SERT Team, Freie Universitaet Berlin (FUB).
-
- return (NULL);
-}
-diff --git a/dessert_cli.c b/dessert_cli.c
-deleted file mode 100644
-index b2369fb..0000000
---- a/dessert_cli.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/dessert_cli.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/dessert_cli.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,255 +0,0 @@
-/******************************************************************************
- Copyright 2009, The DES-SERT Team, Freie Universitaet Berlin (FUB).
-
- return (NULL);
-}
-diff --git a/dessert_core.c b/dessert_core.c
-deleted file mode 100644
-index 05ecaa8..0000000
---- a/dessert_core.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/dessert_core.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/dessert_core.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,241 +0,0 @@
-/******************************************************************************
- Copyright 2009, The DES-SERT Team, Freie Universitaet Berlin (FUB).
-
- return DESSERT_OK;
-}
-diff --git a/dessert_internal.h b/dessert_internal.h
-deleted file mode 100644
-index 93dde60..0000000
---- a/dessert_internal.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/dessert_internal.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/dessert_internal.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,219 +0,0 @@
-/******************************************************************************
- Copyright 2009, The DES-SERT Team, Freie Universitaet Berlin (FUB).
-
-
-#endif /* DESSERT_INTERNAL_H */
-diff --git a/dessert_log.c b/dessert_log.c
-deleted file mode 100644
-index a354ed0..0000000
---- a/dessert_log.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/dessert_log.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/dessert_log.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,417 +0,0 @@
-/******************************************************************************
- Copyright 2009, The DES-SERT Team, Freie Universitaet Berlin (FUB).
-
- return CLI_OK;
-}
-diff --git a/dessert_meshiface.c b/dessert_meshiface.c
-deleted file mode 100644
-index bebce54..0000000
---- a/dessert_meshiface.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/dessert_meshiface.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/dessert_meshiface.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,1220 +0,0 @@
-/******************************************************************************
- Copyright 2009, The DES-SERT Team, Freie Universitaet Berlin (FUB).
- k = k / j;
- }
-}
-diff --git a/dessert_msg.c b/dessert_msg.c
-deleted file mode 100644
-index 75ed217..0000000
---- a/dessert_msg.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/dessert_msg.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/dessert_msg.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,876 +0,0 @@
-/******************************************************************************
- Copyright 2009, The DES-SERT Team, Freie Universitaet Berlin (FUB).
- ******************************************************************************/
-
-/* nothing here - yet */
-diff --git a/dessert_periodic.c b/dessert_periodic.c
-deleted file mode 100644
-index a704a89..0000000
---- a/dessert_periodic.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/dessert_periodic.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/dessert_periodic.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,326 +0,0 @@
-/******************************************************************************
- Copyright 2009, The DES-SERT Team, Freie Universitaet Berlin (FUB).
-
- return (NULL);
-}
-diff --git a/dessert_sysiface.c b/dessert_sysiface.c
-deleted file mode 100644
-index 27c6f6c..0000000
---- a/dessert_sysiface.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/dessert_sysiface.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/dessert_sysiface.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,487 +0,0 @@
-/******************************************************************************
- Copyright 2009, The DES-SERT Team, Freie Universitaet Berlin (FUB).
-
- return (NULL);
-}
-diff --git a/doxygen-include.am b/doxygen-include.am
-new file mode 100644
-index 0000000..ab87a45
---- /dev/null
-+++ b/doxygen-include.am
+Index: libdessert0.86-0.86.14/doxygen-include.am
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/doxygen-include.am 2009-12-09 16:38:27.242678444 +0100
@@ -0,0 +1,203 @@
+# ---------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# limitations under the License.
+# ---------------------------------------------------------------------------
+
-+# Copyright (C) 2004 Oren Ben-Kiki
-+# This file is distributed under the same terms as the Automake macro files.
++# Copyright (C) 2004 Oren Ben-Kiki
++# This file is distributed under the same terms as the Automake macro files.
++
++# Generate automatic documentation using Doxygen. Goals and variables values
++# are controlled by the various DX_COND_??? conditionals set by autoconf.
++#
++# The provided goals are:
++# doxygen-doc: Generate all doxygen documentation.
++# doxygen-run: Run doxygen, which will generate some of the documentation
++# (HTML, CHM, CHI, MAN, RTF, XML) but will not do the post
++# processing required for the rest of it (PS, PDF, and some MAN).
++# doxygen-man: Rename some doxygen generated man pages.
++# doxygen-ps: Generate doxygen PostScript documentation.
++# doxygen-pdf: Generate doxygen PDF documentation.
++#
++# Note that by default these are not integrated into the automake goals. If
++# doxygen is used to generate man pages, you can achieve this integration by
++# setting man3_MANS to the list of man pages generated and then adding the
++# dependency:
++#
++# $(man3_MANS): doxygen-doc
++#
++# This will cause make to run doxygen and generate all the documentation.
++#
++# The following variable is intended for use in Makefile.am:
++#
++# DX_CLEANFILES = everything to clean.
++#
++# This is usually added to MOSTLYCLEANFILES.
++
++## --------------------------------- ##
++## Format-independent Doxygen rules. ##
++## --------------------------------- ##
++
++if DX_COND_doc
++
++## ------------------------------- ##
++## Rules specific for HTML output. ##
++## ------------------------------- ##
++
++if DX_COND_html
++
++DX_CLEAN_HTML = @DX_DOCDIR@/html
++
++endif DX_COND_html
++
++## ------------------------------ ##
++## Rules specific for CHM output. ##
++## ------------------------------ ##
++
++if DX_COND_chm
++
++DX_CLEAN_CHM = @DX_DOCDIR@/chm
++
++if DX_COND_chi
++
++DX_CLEAN_CHI = @DX_DOCDIR@/@PACKAGE@.chi
++
++endif DX_COND_chi
++
++endif DX_COND_chm
++
++## ------------------------------ ##
++## Rules specific for MAN output. ##
++## ------------------------------ ##
++
++if DX_COND_man
++
++DX_CLEAN_MAN = @DX_DOCDIR@/man
++
++endif DX_COND_man
++
++## ------------------------------ ##
++## Rules specific for RTF output. ##
++## ------------------------------ ##
++
++if DX_COND_rtf
++
++DX_CLEAN_RTF = @DX_DOCDIR@/rtf
++
++endif DX_COND_rtf
++
++## ------------------------------ ##
++## Rules specific for XML output. ##
++## ------------------------------ ##
++
++if DX_COND_xml
++
++DX_CLEAN_XML = @DX_DOCDIR@/xml
++
++endif DX_COND_xml
++
++## ----------------------------- ##
++## Rules specific for PS output. ##
++## ----------------------------- ##
++
++if DX_COND_ps
++
++DX_CLEAN_PS = @DX_DOCDIR@/@PACKAGE@.ps
++
++DX_PS_GOAL = doxygen-ps
++
++doxygen-ps: @DX_DOCDIR@/@PACKAGE@.ps
++
++@DX_DOCDIR@/@PACKAGE@.ps: @DX_DOCDIR@/@PACKAGE@.tag
++ cd @DX_DOCDIR@/latex; \
++ rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
++ $(DX_LATEX) refman.tex; \
++ $(MAKEINDEX_PATH) refman.idx; \
++ $(DX_LATEX) refman.tex; \
++ countdown=5; \
++ while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
++ refman.log > /dev/null 2>&1 \
++ && test $$countdown -gt 0; do \
++ $(DX_LATEX) refman.tex; \
++ countdown=`expr $$countdown - 1`; \
++ done; \
++ $(DX_DVIPS) -o ../@PACKAGE@.ps refman.dvi
++
++endif DX_COND_ps
++
++## ------------------------------ ##
++## Rules specific for PDF output. ##
++## ------------------------------ ##
++
++if DX_COND_pdf
++
++DX_CLEAN_PDF = @DX_DOCDIR@/@PACKAGE@.pdf
++
++DX_PDF_GOAL = doxygen-pdf
++
++doxygen-pdf: @DX_DOCDIR@/@PACKAGE@.pdf
++
++@DX_DOCDIR@/@PACKAGE@.pdf: @DX_DOCDIR@/@PACKAGE@.tag
++ cd @DX_DOCDIR@/latex; \
++ rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
++ $(DX_PDFLATEX) refman.tex; \
++ $(DX_MAKEINDEX) refman.idx; \
++ $(DX_PDFLATEX) refman.tex; \
++ countdown=5; \
++ while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
++ refman.log > /dev/null 2>&1 \
++ && test $$countdown -gt 0; do \
++ $(DX_PDFLATEX) refman.tex; \
++ countdown=`expr $$countdown - 1`; \
++ done; \
++ mv refman.pdf ../@PACKAGE@.pdf
++
++endif DX_COND_pdf
++
++## ------------------------------------------------- ##
++## Rules specific for LaTeX (shared for PS and PDF). ##
++## ------------------------------------------------- ##
++
++if DX_COND_latex
++
++DX_CLEAN_LATEX = @DX_DOCDIR@/latex
++
++endif DX_COND_latex
++
++.PHONY: doxygen-run doxygen-doc $(DX_PS_GOAL) $(DX_PDF_GOAL)
++
++.INTERMEDIATE: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL)
++
++doxygen-run: @DX_DOCDIR@/@PACKAGE@.tag
++
++doxygen-doc: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL)
++
++@DX_DOCDIR@/@PACKAGE@.tag: $(DX_CONFIG) $(pkginclude_HEADERS)
++ rm -rf @DX_DOCDIR@
++ $(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG)
++
++DX_CLEANFILES = \
++ @DX_DOCDIR@/@PACKAGE@.tag \
++ -r \
++ $(DX_CLEAN_HTML) \
++ $(DX_CLEAN_CHM) \
++ $(DX_CLEAN_CHI) \
++ $(DX_CLEAN_MAN) \
++ $(DX_CLEAN_RTF) \
++ $(DX_CLEAN_XML) \
++ $(DX_CLEAN_PS) \
++ $(DX_CLEAN_PDF) \
++ $(DX_CLEAN_LATEX)
++
++endif DX_COND_doc
+Index: libdessert0.86-0.86.14/include/Makefile.am
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/include/Makefile.am 2009-12-09 16:38:27.242678444 +0100
+@@ -0,0 +1,3 @@
++
++nobase_include_HEADERS = dessert/dessert.h dessert/utlist.h
++
+Index: libdessert0.86-0.86.14/include/Makefile.in
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/include/Makefile.in 2009-12-09 16:38:51.048502815 +0100
+@@ -0,0 +1,490 @@
++# 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.
++
++@SET_MAKE@
++
++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 = include
++DIST_COMMON = $(nobase_include_HEADERS) $(srcdir)/Makefile.am \
++ $(srcdir)/Makefile.in
++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
++am__aclocal_m4_deps = $(top_srcdir)/m4/ac_doxygen.m4 \
++ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
++ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
++ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
++ $(top_srcdir)/m4/net-snmp.m4 $(top_srcdir)/m4/pcap.m4 \
++ $(top_srcdir)/configure.ac
++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
++ $(ACLOCAL_M4)
++mkinstalldirs = $(install_sh) -d
++CONFIG_HEADER = $(top_builddir)/config.h
++CONFIG_CLEAN_FILES =
++CONFIG_CLEAN_VPATH_FILES =
++SOURCES =
++DIST_SOURCES =
++am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
++am__vpath_adj = case $$p in \
++ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
++ *) f=$$p;; \
++ esac;
++am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
++am__install_max = 40
++am__nobase_strip_setup = \
++ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
++am__nobase_strip = \
++ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
++am__nobase_list = $(am__nobase_strip_setup); \
++ for p in $$list; do echo "$$p $$p"; done | \
++ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
++ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
++ if (++n[$$2] == $(am__install_max)) \
++ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
++ END { for (dir in files) print dir, files[dir] }'
++am__base_list = \
++ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
++ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
++am__installdirs = "$(DESTDIR)$(includedir)"
++HEADERS = $(nobase_include_HEADERS)
++ETAGS = etags
++CTAGS = ctags
++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
++ACLOCAL = @ACLOCAL@
++AMTAR = @AMTAR@
++AR = @AR@
++AUTOCONF = @AUTOCONF@
++AUTOHEADER = @AUTOHEADER@
++AUTOMAKE = @AUTOMAKE@
++AWK = @AWK@
++CC = @CC@
++CCDEPMODE = @CCDEPMODE@
++CFLAGS = @CFLAGS@
++CLI_LIBS = @CLI_LIBS@
++CPP = @CPP@
++CPPFLAGS = @CPPFLAGS@
++CYGPATH_W = @CYGPATH_W@
++DEFS = @DEFS@
++DEPDIR = @DEPDIR@
++DOXYGEN_PAPER_SIZE = @DOXYGEN_PAPER_SIZE@
++DSYMUTIL = @DSYMUTIL@
++DUMPBIN = @DUMPBIN@
++DX_CONFIG = @DX_CONFIG@
++DX_DOCDIR = @DX_DOCDIR@
++DX_DOT = @DX_DOT@
++DX_DOXYGEN = @DX_DOXYGEN@
++DX_DVIPS = @DX_DVIPS@
++DX_EGREP = @DX_EGREP@
++DX_ENV = @DX_ENV@
++DX_FLAG_chi = @DX_FLAG_chi@
++DX_FLAG_chm = @DX_FLAG_chm@
++DX_FLAG_doc = @DX_FLAG_doc@
++DX_FLAG_dot = @DX_FLAG_dot@
++DX_FLAG_html = @DX_FLAG_html@
++DX_FLAG_man = @DX_FLAG_man@
++DX_FLAG_pdf = @DX_FLAG_pdf@
++DX_FLAG_ps = @DX_FLAG_ps@
++DX_FLAG_rtf = @DX_FLAG_rtf@
++DX_FLAG_xml = @DX_FLAG_xml@
++DX_HHC = @DX_HHC@
++DX_LATEX = @DX_LATEX@
++DX_MAKEINDEX = @DX_MAKEINDEX@
++DX_PDFLATEX = @DX_PDFLATEX@
++DX_PERL = @DX_PERL@
++DX_PROJECT = @DX_PROJECT@
++ECHO_C = @ECHO_C@
++ECHO_N = @ECHO_N@
++ECHO_T = @ECHO_T@
++EGREP = @EGREP@
++EXEEXT = @EXEEXT@
++FGREP = @FGREP@
++GREP = @GREP@
++INSTALL = @INSTALL@
++INSTALL_DATA = @INSTALL_DATA@
++INSTALL_PROGRAM = @INSTALL_PROGRAM@
++INSTALL_SCRIPT = @INSTALL_SCRIPT@
++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++LD = @LD@
++LDFLAGS = @LDFLAGS@
++LIBDESSERT_LIBRARY_VERSION = @LIBDESSERT_LIBRARY_VERSION@
++LIBOBJS = @LIBOBJS@
++LIBS = @LIBS@
++LIBTOOL = @LIBTOOL@
++LIPO = @LIPO@
++LN_S = @LN_S@
++LTLIBOBJS = @LTLIBOBJS@
++MAKEINFO = @MAKEINFO@
++MKDIR_P = @MKDIR_P@
++NM = @NM@
++NMEDIT = @NMEDIT@
++OBJDUMP = @OBJDUMP@
++OBJEXT = @OBJEXT@
++OTOOL = @OTOOL@
++OTOOL64 = @OTOOL64@
++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@
++PCAP_CFLAGS = @PCAP_CFLAGS@
++PCAP_CFLGAS = @PCAP_CFLGAS@
++PCAP_LIBS = @PCAP_LIBS@
++PTHREAD_CC = @PTHREAD_CC@
++PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
++PTHREAD_LIBS = @PTHREAD_LIBS@
++RANLIB = @RANLIB@
++SED = @SED@
++SET_MAKE = @SET_MAKE@
++SHELL = @SHELL@
++SNMP_CFLAGS = @SNMP_CFLAGS@
++SNMP_CFLGAS = @SNMP_CFLGAS@
++SNMP_LIBS = @SNMP_LIBS@
++STRIP = @STRIP@
++VERSION = @VERSION@
++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_DUMPBIN = @ac_ct_DUMPBIN@
++am__include = @am__include@
++am__leading_dot = @am__leading_dot@
++am__quote = @am__quote@
++am__tar = @am__tar@
++am__untar = @am__untar@
++ax_pthread_config = @ax_pthread_config@
++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@
++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@
++localedir = @localedir@
++localstatedir = @localstatedir@
++lt_ECHO = @lt_ECHO@
++mandir = @mandir@
++mkdir_p = @mkdir_p@
++oldincludedir = @oldincludedir@
++pdfdir = @pdfdir@
++prefix = @prefix@
++program_transform_name = @program_transform_name@
++psdir = @psdir@
++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@
++nobase_include_HEADERS = dessert/dessert.h dessert/utlist.h
++all: all-am
++
++.SUFFIXES:
++$(srcdir)/Makefile.in: $(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) --gnu include/Makefile'; \
++ $(am__cd) $(top_srcdir) && \
++ $(AUTOMAKE) --gnu include/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: $(am__configure_deps)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++$(ACLOCAL_M4): $(am__aclocal_m4_deps)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++$(am__aclocal_m4_deps):
++
++mostlyclean-libtool:
++ -rm -f *.lo
++
++clean-libtool:
++ -rm -rf .libs _libs
++install-nobase_includeHEADERS: $(nobase_include_HEADERS)
++ @$(NORMAL_INSTALL)
++ test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
++ @list='$(nobase_include_HEADERS)'; test -n "$(includedir)" || list=; \
++ $(am__nobase_list) | while read dir files; do \
++ xfiles=; for file in $$files; do \
++ if test -f "$$file"; then xfiles="$$xfiles $$file"; \
++ else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \
++ test -z "$$xfiles" || { \
++ test "x$$dir" = x. || { \
++ echo "$(MKDIR_P) '$(DESTDIR)$(includedir)/$$dir'"; \
++ $(MKDIR_P) "$(DESTDIR)$(includedir)/$$dir"; }; \
++ echo " $(INSTALL_HEADER) $$xfiles '$(DESTDIR)$(includedir)/$$dir'"; \
++ $(INSTALL_HEADER) $$xfiles "$(DESTDIR)$(includedir)/$$dir" || exit $$?; }; \
++ done
++
++uninstall-nobase_includeHEADERS:
++ @$(NORMAL_UNINSTALL)
++ @list='$(nobase_include_HEADERS)'; test -n "$(includedir)" || list=; \
++ $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \
++ test -n "$$files" || exit 0; \
++ echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \
++ cd "$(DESTDIR)$(includedir)" && rm -f $$files
++
++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: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
++ $(TAGS_FILES) $(LISP)
++ set x; \
++ here=`pwd`; \
++ 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: $(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
++check-am: all-am
++check: check-am
++all-am: Makefile $(HEADERS)
++installdirs:
++ for dir in "$(DESTDIR)$(includedir)"; do \
++ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
++ done
++install: install-am
++install-exec: install-exec-am
++install-data: install-data-am
++uninstall: uninstall-am
++
++install-am: all-am
++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
++
++installcheck: installcheck-am
++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:
++
++clean-generic:
++
++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)
++
++maintainer-clean-generic:
++ @echo "This command is intended for maintainers to use"
++ @echo "it deletes files that may require special tools to rebuild."
++clean: clean-am
++
++clean-am: clean-generic clean-libtool mostlyclean-am
++
++distclean: distclean-am
++ -rm -f Makefile
++distclean-am: clean-am distclean-generic distclean-tags
++
++dvi: dvi-am
++
++dvi-am:
++
++html: html-am
++
++html-am:
++
++info: info-am
++
++info-am:
++
++install-data-am: install-nobase_includeHEADERS
++
++install-dvi: install-dvi-am
++
++install-dvi-am:
++
++install-exec-am:
++
++install-html: install-html-am
++
++install-html-am:
++
++install-info: install-info-am
++
++install-info-am:
++
++install-man:
++
++install-pdf: install-pdf-am
++
++install-pdf-am:
++
++install-ps: install-ps-am
++
++install-ps-am:
++
++installcheck-am:
++
++maintainer-clean: maintainer-clean-am
++ -rm -f Makefile
++maintainer-clean-am: distclean-am maintainer-clean-generic
++
++mostlyclean: mostlyclean-am
++
++mostlyclean-am: mostlyclean-generic mostlyclean-libtool
++
++pdf: pdf-am
++
++pdf-am:
++
++ps: ps-am
++
++ps-am:
++
++uninstall-am: uninstall-nobase_includeHEADERS
++
++.MAKE: install-am install-strip
++
++.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
++ clean-libtool ctags distclean distclean-generic \
++ distclean-libtool 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-nobase_includeHEADERS \
++ install-pdf install-pdf-am install-ps install-ps-am \
++ install-strip installcheck installcheck-am installdirs \
++ maintainer-clean maintainer-clean-generic mostlyclean \
++ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
++ tags uninstall uninstall-am uninstall-nobase_includeHEADERS
++
++
++# 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:
+Index: libdessert0.86-0.86.14/include/dessert/dessert.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/include/dessert/dessert.h 2009-12-09 16:38:27.246011666 +0100
+@@ -0,0 +1,1334 @@
++/***************************************************************************//**
++ @file
++
++ @page license License
++
++ @brief Copyright 2009, The DES-SERT Team, Freie Universitaet Berlin (FUB). \n
++ All rights reserved. \n
++
++ These sources were originally developed by Philipp Schmidt
++ at Freie Universitaet Berlin (http://www.fu-berlin.de/),
++ Computer Systems and Telematics / Distributed, Embedded Systems (DES) group \n
++ (http://cst.mi.fu-berlin.de/, http://www.des-testbed.net/) \n
++ -----------------------------------------------------------------------------\n
++ 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. \n
++ \n
++ 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.\n
++ \n
++ You should have received a copy of the GNU General Public License along with
++ this program. If not, see http://www.gnu.org/licenses/ . \n
++ -----------------------------------------------------------------------------\n
++ For further information and questions please use the web site \n
++ http://www.des-testbed.net/
++*******************************************************************************/
++
++/***************************************************************************//**
++ *
++ * @mainpage DES-SERT
++ *
++ *
++ * @section intro_sec Introduction
++ *
++ * DES-SERT, the DES Simple and Extensible Routing-Framework for Testbeds,
++ * is a framework designed to assist researchers implementing routing
++ * protocols for testbeds.
++ *
++ * DES-SERT enables the implementation of routing protocols on top of
++ * Ethernet via an underlay (Layer 2.5) in user space.
++ * It introduces an abstraction from OS specific issues and provides
++ * functionality and data structures to implement proactive, reactive,
++ * and hybrid routing protocols.
++
++ * While generally usable in many application scenarios, it is primarily
++ * used in DES-Mesh (http://www.des-testbed.net/), the multi-transceiver
++ * wireless mesh network testbed part of the DES-Testbed at Freie
++ * Universitaet Berlin, Germany.
++ *
++ * @section arch_sec DES-SERT Architecture
++ *
++ * DES-SERT introduces some concepts to implement routing protocols.
++ * When implementing a routing protocol with DES-SERT, you should be
++ * familiar with these concepts to structure and tailor your implementation.
++ *
++ *
++ * @subsection messages_subsec DES-SERT Messages
++ *
++ * Every packet you send or receive on the mesh is represented as a
++ * DES-SERT message. From a programmers point of view, a DES-SERT message
++ * is just a C-structure:
++ *
++ * @code
++ * typedef struct __attribute__ ((__packed__)) dessert_msg {
++ * struct ether_header l2h;
++ * char proto[DESSERT_PROTO_STRLEN];
++ * uint8_t ver;
++ * uint8_t flags;
++ * union {
++ * uint32_t u32;
++ * struct __attribute__ ((__packed__)) {
++ * uint8_t ttl;
++ * uint8_t u8;
++ * uint16_t u16;
++ * };
++ * };
++ * uint16_t hlen;
++ * uint16_t plen;
++ * } dessert_msg_t;
++ * @endcode
++ *
++ * Every message sent via the underlay carries this structure as a packet
++ * header. All data in a "dessert_msg" is stored in network byte order.
++ * DES-SERT tries to care as automatically as possible of this structure.
++ * Nevertheless you will have to care at least about: "l2h.ether_dhost" and
++ * "ttl".
++ *
++ * If you need to send some data along with every packet, e.g. some kind of
++ * metric or cost your routing protocol uses, you should try to fit this
++ * data into the "u8", "u16" and the upper 4 bits of the "flags" field.
++ * These fields will never be touched by DES-SERT except on initialization
++ * via "dessert_msg_new".
++ *
++ * Because just a C-structure is not really usable as a packet, there are some
++ * utility functions around - please have a look around in "dessert.h" and the
++ * doxygen documentation. The most important ones are: "dessert_msg_new" and
++ * "dessert_msg_destroy", which do not simply allocate memory for a DES-SERT
++ * message, but for a whole packet of maximum size and initialize the
++ * structures for further packet construction/processing.
++ *
++ * @code
++ * int dessert_msg_new(dessert_msg_t **msgout);
++ *
++ * void dessert_msg_destroy(dessert_msg_t* msg);
++ * @endcode
++ *
++ *
++ * @subsection extensions_subsec DES-SERT Extensions
++ *
++ * A DES-SERT extension is some structure used to piggyback data on a
++ * DES-SERT message. It consists of a 8-bit user supplied type field (with
++ * some reserved values), an 8-bit length field and user supplied data of
++ * arbitrary length of 253 bytes at most.
++ *
++ * It can be added to a message via dessert_msg_addext(), retrieved via
++ * dessert_msg_getext() and removed via dessert_msg_delext().
++ *
++ * @code
++ * int dessert_msg_addext(dessert_msg_t* msg, dessert_ext_t** ext,
++ * uint8_t type, size_t len);
++ *
++ * int dessert_msg_delext(dessert_msg_t *msg, dessert_ext_t *ext);
++ *
++ * int dessert_msg_getext(const dessert_msg_t* msg, dessert_ext_t** ext,
++ * uint8_t type, int index);
++ *
++ * @endcode
++ *
++ * It is recommended not to put single data fields in extensions, but
++ * combine semantically related data in a struct and attach this struct
++ * as an extension because every extension carried introduces an 16-bit
++ * overhead to the packet.
++ *
++ *
++ * @subsection pipelines_subsec Processing Pipelines
++ *
++ * Routing algorithms are often split up in several parts like packet
++ * validation, loop-detection or routing table lookup.
++ * To implement these as independent and clear as possible, DES-SERT enables
++ * you to split up your packet processing in as many parts as you like.
++ *
++ * There are two separate processing pipelines - one for packets received
++ * from the kernel via a TUN or TAP interface and one for packets received
++ * via an interface used on the mesh network.
++ *
++ * You can register callbacks to be added to one of these pipelines with
++ * "dessert_sysrxcb_add" or "dessert_meshrxcb_add". Both take an additional
++ * integer argument ("priority") specifying the order the callbacks should
++ * be called. Higher "priority" value results in being called later
++ * within the pipeline.
++ *
++ * @code
++ * int dessert_sysrxcb_add(dessert_sysrxcb_t* c, int prio);
++ *
++ * int dessert_meshrxcb_add(dessert_meshrxcb_t* c, int prio);
++ * @endcode
++ *
++ * If a callback returns "DESSERT_MSG_KEEP" the packed will be processed by
++ * further callbacks, if it returns "DESSERT_MSG_DROP" the message will be
++ * dropped and no further callbacks will be called.
++ *
++ * You do not need to care about the management of the buffers for incoming
++ * messages - DES-SERT does this for you. Nevertheless if you need to add
++ * extensions or enlarge the payload of a message, you need to tell DES-SERT
++ * to enlarge the buffer for you if the flag "DESSERT_FLAG_SPARSE" is set on
++ * the message. You can do this by returning "DESSERT_MSG_NEEDNOSPARSE" from
++ * within a callback. The callback will be called again with a larger buffer
++ * and no "DESSERT_FLAG_SPARSE" flag being set.
++ *
++ *
++ * @subsection buffer_subsec Processing Buffer
++ *
++ * If you need to pass information along several callbacks, you can do this
++ * in the processing buffer passed to the the callbacks. This buffer contains
++ * some local processing flags ("lflags") set by the builtin callback
++ * "dessert_msg_ifaceflags_cb" (e.g. telling you about packet origin or if
++ * the packet is multicast) and 1KB of space for your callbacks to pass
++ * along arbitrary data.
++ *
++ * This buffer might only be allocated after you explicitly request it - in
++ * this case the proc argument is NULL and you can return the value
++ * "DESSERT_MSG_NEEDMSGPROC" from within your callback. The callback will
++ * be called again with a valid processing buffer.
++ *
++ *
++ * @section interfaces_sec Using Interfaces
++ *
++ *
++ * @subsection sysif_subsec Using a TUN/TAP interface
++ *
++ * First you have to choose whether to use a TUN or TAP interface. TUN
++ * interfaces are used to exchange IPv4 / IPv6 datagrams with the kernel
++ * network stack. TAP interfaces are used to exchange Ethernet frames
++ * with the kernel network stack. If you want to route Ethernet frames,
++ * you should choose a TAP interface. If you intend to implement
++ * a custom layer 2 to layer 3 mapping, you should use a TUN interface.
++
++ * Currently, you can only initialize and use a single sys (TUN/TAP) interface.
++ * This is done by "dessert_sysif_init". You must then set up the interface
++ * config in the kernel yourself e.g. by calling "ifconfig".
++ *
++ * @code
++ *
++ * int dessert_sysif_init(char* name, uint8_t flags);
++ *
++ * @endcode
++ *
++ * In either case, frames you receive from a TUN/TAP interface will be
++ * passed along the callbacks added by "dessert_sysrxcb_add" to the
++ * processing pipeline. Each of them will be called with a pointer to an
++ * Ethernet frame. In case of a TUN interface, "ether_shost" and "ether_dhost"
++ * are set to "00:00:00:00:00:00", and ether_type reflects whether the packet
++ * received is IPv4 oder IPv6.
++ *
++ * Packets are sent to the kernel network stack with "dessert_syssend".
++ * In case of a TUN Interface "ether_shost" and "ether_dhost" will be
++ * ignored.
++ *
++ * @code
++ * int dessert_syssend_msg(dessert_msg_t *msg);
++ *
++ * int dessert_syssend(const struct ether_header *eth, size_t len);
++ * @endcode
++ *
++ *
++ * @subsection meshif_subsec Using a Mesh Interface
++ *
++ * Mesh interfaces are used similar to the TUN/TAP interface with two major
++ * differences: You can have multiple mesh interfaces and they send and
++ * receive DES-SERT messages instead of Ethernet frames.
++ *
++ * You add an mesh interface using "dessert_meshif_add" and can send to it
++ * by calling "dessert_meshsend". If the interface parameter is NULL, the
++ * packet will be transmitted over every interface (good for flooding).
++ *
++ * @code
++ * int dessert_meshif_add(const char* dev, uint8_t flags);
++ *
++ *
++ * int dessert_meshsend(const dessert_msg_t* msgin,
++ * const dessert_meshif_t *iface);
++ *
++ * int dessert_meshsend_hwaddr(const dessert_msg_t* msgin,
++ * const uint8_t hwaddr[ETHER_ADDR_LEN]);
++ *
++ * int dessert_meshsend_allbutone(const dessert_msg_t* msgin,
++ * const dessert_meshif_t *iface);
++ *
++ * int dessert_meshsend_fast(dessert_msg_t* msg,
++ * const dessert_meshif_t *iface);
++ *
++ * int dessert_meshsend_fast_hwaddr(dessert_msg_t* msg,
++ * const uint8_t hwaddr[ETHER_ADDR_LEN]);
++ *
++ * int dessert_meshsend_fast_allbutone(dessert_msg_t* msg,
++ * const dessert_meshif_t *iface);
++ *
++ * int dessert_meshsend_raw(dessert_msg_t* msg,
++ * const dessert_meshif_t *iface);
++ * @endcode
++ *
++ * @section logging_sec Logging
++ *
++ * You can write log messages easily with a bunch of macros provided
++ * by DES-SERT ("dessert_debug", "dessert_info" ,"dessert_notice",
++ * "dessert_warn", "dessert_warning", "dessert_err", "dessert_crit",
++ * "dessert_alert" and "dessert_emerg"). Each of them can be used like
++ * "printf" and logs to Syslog, STDERR, file or a ringbuffer depending
++ * on your configuration.
++ *
++ * DES-SERT also ships with a custom "assert" macro which acts like
++ * the original macro from the standard C library and uses the logging
++ * mechanism described above.
++ *
++ *
++ * @section periodics_sec Periodics
++ *
++ * Periodics help you to perform maintenance or delayed tasks. A task
++ * consists of a callback, which will be called at the time you requested,
++ * and a void pointer the callback is passed. You can add these tasks by
++ * calling "dessert_periodic_add" or "dessert_periodic_add_delayed".
++ *
++ *
++ * @section cli_sec CLI - Command Line Interface
++ *
++ * DES-SERT supports simple configuration and debugging of your routing
++ * protocol implementation by providing a Cisco like command line interface
++ * (cli) and a config file parser based upon it.
++ * This cli is realized through libcli (http://code.google.com/p/libcli/).
++ *
++ * DES-SERT does some of the initialization of libcli. Therefore, it provides
++ * the main cli anchor "dessert_cli" and some anchors to add commands below
++ * "dessert_cli_.*". Because DES-SERT only loosely wraps libcli, you should
++ * make yourself familiar with libcli itself. This may be improved in further
++ * DES-SERT releases.
++ *
++ * You can evaluate a config file by calling "cli_file" and start a thread
++ * enabling a telnet-interface for DES-SERT by calling "dessert_cli_run".
++ *
++ *
++ * @section all_sec Putting it all together
++ *
++ * Now you have learned about the most important aspects of DES-SERT.
++ * To write your own routing protocol implementation, you need to know
++ * how to put all this together.
++ *
++ * You should start with a main() program parsing the command line options
++ * and then calling "dessert_init()". This is needed to set up DES-SERT
++ * correctly. Afterwards you can register callbacks, read the config file
++ * and do what you like. If everything is set up, you call "dessert_run()"
++ * and let the event based framework do its job.
++ *
++ * If you would like to see a complete protocol implementation sample,
++ * have a look at the "gossiping" directory.
++ *
++ *
++ * @section feedback_sec Contact & Feedback
++ *
++ * We love feedback - if you have patches, comments or questions,
++ * please contact us! Recent contact information is available on
++ * http://www.des-testbed.net/des-sert/
++ *
++ ******************************************************************************/
++
++#ifndef DESSERT_H
++#define DESSERT_H
++
++#ifdef __DARWIN__
++#include <net/if_dl.h>
++#define TUN_BSD
++#endif
++
++#ifdef __linux__
++#define TUN_LINUX
++#endif
++
++#include <net/if.h>
++#include <net/ethernet.h>
++#include <pcap.h>
++#include <stdint.h>
++#include <syslog.h>
++#include <stdlib.h>
++#include <libcli.h>
++
++/***************************************************************************//**
++ *
++ * @defgroup global G L O B A L # D E F I N E S and T Y P E D E F S / S T R U C T U R E S
++ *
++ * @brief EXTERNAL / PUBLIC
++ *
++ * @{
++ ******************************************************************************/
++
++/******************************************************************************
++ * #defines
++ ******************************************************************************/
++
++/** ethernet protocol used on layer 2 */
++#define DESSERT_ETHPROTO 0x8042
++
++/** maximum frame size to assemble as dessert_msg */
++#define DESSERT_MAXFRAMELEN ETHER_MAX_LEN
++
++/** maximum size of the data part in dessert_ext */
++#define DESSERT_MAXEXTDATALEN 130
++
++/** length of protocol string used in dessert_msg */
++#define DESSERT_PROTO_STRLEN 4
++
++/** size of local message processing buffer */
++#define DESSERT_LBUF_LEN 1024
++
++/** return code for many dessert_* functions */
++#define DESSERT_OK 0
++
++/** return code for many dessert_* functions */
++#define DESSERT_ERR 1
++
++/******************************************************************************
++ * typedefs
++ ******************************************************************************/
++/** runtime-unique frame id */
++typedef uint64_t dessert_frameid_t;
++
++/** A basic message send on des-sert layer2.5. */
++typedef struct __attribute__ ((__packed__)) dessert_msg {
++ /** the layer2 header on the wire */
++ struct ether_header l2h;
++ /** short name of the protocol as passed to dessert_init() */
++ char proto[DESSERT_PROTO_STRLEN];
++ /** version of the app as passed to dessert_init() */
++ uint8_t ver;
++ /** flags - bits 1-4 reserved for dessert, bits 5-8 for app usage */
++ uint8_t flags;
++ union {
++ /** reserved for app usage */
++ uint32_t u32;
++ struct __attribute__ ((__packed__)) {
++ /** ttl or hopcount field for app usage - 0xff if not used*/
++ uint8_t ttl;
++ /** reserved for app usage - 0x00 if not used */
++ uint8_t u8;
++ /** reserved for app usage - 0xbeef if not used */
++ uint16_t u16;
++ };
++ };
++ /** header length incl. extensions - in network byte order */
++ uint16_t hlen;
++ /** payload length - in network byte order */
++ uint16_t plen;
++} dessert_msg_t;
++
++/** local processing struct for dessert_msg_t */
++typedef struct dessert_msg_proc {
++ /** 16 bits for local processing flags */
++ uint16_t lflags;
++ /** 16 bits reserved */
++ uint16_t lreserved;
++ /** DESSERT_LBUF_LEN bytes buffer */
++ char lbuf[DESSERT_LBUF_LEN];
++} dessert_msg_proc_t;
++
++/** a extension record to add to a dessert_msg */
++typedef struct __attribute__ ((__packed__)) dessert_ext {
++ /** type of the extension
++ * user supplied types must be >= DESSERT_EXT_USER */
++ uint8_t type;
++
++ /** length of the extension in bytes
++ * including the 2 bytes of the extension
++ * header itself*/
++ uint8_t len;
++
++ /** pointer to the data - real length is len-2 bytes */
++ uint8_t data[DESSERT_MAXEXTDATALEN];
++} dessert_ext_t;
++
++/** an interface used for dessert_msg frames */
++typedef struct dessert_meshif {
++ /** pointer to next interface */
++ struct dessert_meshif *next;
++ /** pointer to next interface */
++ struct dessert_meshif *prev;
++ /** name of interface */
++ char if_name[IFNAMSIZ];
++ /** system ifindex */
++ unsigned int if_index;
++ /** hardware address of interface */
++ uint8_t hwaddr[ETHER_ADDR_LEN]; /* uthash key*/
++ /** counter mutex */
++ pthread_mutex_t cnt_mutex;
++ /** packet counter in */
++ uint64_t ipkts;
++ /** packet counter out */
++ uint64_t opkts;
++ /** packet counter in */
++ uint64_t ibytes;
++ /** packet counter out */
++ uint64_t obytes;
++ /** libpcap descriptor for the interface */
++ pcap_t *pcap;
++ /** libpcap error message buffer */
++ char pcap_err[PCAP_ERRBUF_SIZE];
++ /** pthread running the request loop */
++ pthread_t worker;
++} dessert_meshif_t;
++
++/** A tun/tap interface used to inject packets to dessert implemented daemons.
++ *
++ * \note Please make sure first fields are equal to dessert_meshif to re-use
++ * _dessert_meshif_gethwaddr().
++ *
++ */
++typedef struct dessert_sysif {
++ /** pointer to next interface */
++ struct dessert_sysif *next;
++ /** name of interface */
++ char if_name[IFNAMSIZ];
++ /** system ifindex */
++ unsigned int if_index;
++ /** hardware address of the interface */
++ uint8_t hwaddr[ETHER_ADDR_LEN];
++ /** counter mutex */
++ pthread_mutex_t cnt_mutex;
++ /** packet counter in */
++ uint64_t ipkts;
++ /** packet counter out */
++ uint64_t opkts;
++ /** packet counter in */
++ uint64_t ibytes;
++ /** packet counter out */
++ uint64_t obytes;
++ /** file descriptor to read/write from/to */
++ int fd;
++ /** if it is a tun or tap interface */
++ uint8_t flags;
++ /** pthread running the request loop */
++ pthread_t worker;
++} dessert_sysif_t;
++
++/** Callback type to call if a packed is received via a dessert mesh interface.
++ *
++ * @param *msg dessert_msg_t frame received
++ * @param len length of the buffer pointed to from dessert_msg_t
++ * @param *proc local processing buffer passed along the callback pipeline - may be NULL
++ * @param *iface interface received packet on - may be NULL
++ * @param id unique internal frame id of the packet
++ *
++ * @retval DESSERT_MSG_KEEP to continue processing the packet
++ * @retval DESSERT_MSG_DROP to drop it
++ * @retval DESSERT_MSG_NEEDMSGPROC to get a processing buffer
++ * @retval DESSERT_MSG_NEEDNOSPARSE to get a full packet buffer (e.g. needed to add extensions)
++ *
++ * \warning The callbacks are invoked with no locks hold by the thread,
++ * \warning YOU MUST make sure the thread holds no locks after the callback exits.
++ * \warning YOU MUST also make sure not to do anything blocking in a callback!
++ *
++ * If the callback exits with DESSERT_MSG_NEEDMSGPROC or DESSERT_MSG_NEEDNOSPARSE
++ * and the respective buffer is NULL or sparse, the callback is called again after
++ * providing the requested resource.
++ *
++ */
++typedef int dessert_meshrxcb_t(dessert_msg_t* msg, size_t len, dessert_msg_proc_t *proc, const dessert_meshif_t *iface, dessert_frameid_t id);
++
++/** Callback type to call if a packed should be injected into dessert via a tun/tap interface.
++ *
++ * @param *msg dessert msg received - original ethernet frame is encapsulated within
++ * @param len length of ethernet frame received
++ * @param *proc local processing buffer passed along the callback pipeline - may be NULL
++ * @param *sysif interface received packet on
++ * @param id unique internal frame id of the packet
++ *
++ * @retval DESSERT_MSG_KEEP to continue processing the packet
++ * @retval DESSERT_MSG_DROP to drop it
++ *
++ * \warning The callbacks are invoked with no locks hold by the thread,
++ * \warning YOU MUST make sure the thread holds no locks after the callback exits.
++ * \warning YOU MUST also make sure not to do anything blocking in a callback!
++ *
++*/
++typedef int dessert_sysrxcb_t(dessert_msg_t *msg, size_t len, dessert_msg_proc_t *proc, dessert_sysif_t *sysif, dessert_frameid_t id);
++
++/** callbacks type to call in a periodic task
++ *
++ * The callbacks are invoked with no locks hold by the thread,
++ * YOU MUST make sure the thread holds no locks after the callback exits.
++ * YOU MUST also make sure not to do anything blocking in a callback!
++ *
++ * @arg *data void pointer to pass to the callback
++ * @arg scheduled when this call was scheduled
++ * @arg interval how often this call should be scheduled
++ * ®return should be 0, otherwise the callback is unregistered
++ */
++typedef int dessert_periodiccallback_t(void *data, struct timeval *scheduled, struct timeval *interval);
++
++/** definition of a periodic tasklist entry */
++typedef struct dessert_periodic {
++ /** callback to call */
++ dessert_periodiccallback_t *c;
++ /** when to call next */
++ struct timeval scheduled;
++ /** call every */
++ struct timeval interval;
++ /** data pointer to pass to callback */
++ void *data;
++ /** internal pointer for task list */
++ struct dessert_periodic *next;
++} dessert_periodic_t;
++
++/***************************************************************************//**
++ * @}
++ *
++ * @defgroup core C O R E
++ *
++ * @brief EXTERNAL / PUBLIC
++ *
++ * @{
++ ******************************************************************************/
++
++/******************************************************************************
++ * #defines
++ ******************************************************************************/
++
++/** type for local unique packet identification */
++#define DESSERT_FRAMEID_MAX ((uint64_t)-1)
++
++/** flag for dessert_init - daemonize when calling
++ * disables logging to STDERR */
++#define DESSERT_OPT_DAEMONIZE 0x0100
++
++/** flag for dessert_init - do not daemonize when calling */
++#define DESSERT_OPT_NODAEMONIZE 0x0200
++
++/** flag for dessert_init - create and write pid file */
++#define DESSERT_OPT_PID 0x0400
++
++/** flag for dessert_init - do not create and write pid file */
++#define DESSERT_OPT_NOPID 0x0800
++
++/******************************************************************************
++ * globals
++ ******************************************************************************/
++
++/** protocol string used in dessert_msg frames */
++extern char dessert_proto[DESSERT_PROTO_STRLEN+1];
++
++/** version int used in dessert_msg frames */
++extern u_int8_t dessert_ver;
++
++/** default src address used for local generated dessert_msg frames */
++extern u_int8_t dessert_l25_defsrc[ETHER_ADDR_LEN];
++
++
++/** constant holding ethernet broadcast address after dessert_init */
++extern u_char ether_broadcast[ETHER_ADDR_LEN];
++
++/** constant holding ethernet null address after dessert_init */
++extern u_char ether_null[ETHER_ADDR_LEN];
++
++/** the config funnel */
++extern pthread_rwlock_t dessert_cfglock;
++
++/******************************************************************************
++ * functions
++ ******************************************************************************/
++
++int dessert_init(const char* proto, int version, uint16_t opts, char* pidfile);
++
++int dessert_run(void);
++void dessert_exit(void);
++
++/***************************************************************************//**
++ * @}
++ *
++ * @defgroup cli C L I - C O M M A N D _ L I N E _ I N T E R F A C E
++ *
++ * @brief EXTERNAL / PUBLIC
++ *
++ * @{
++ ******************************************************************************/
++
++/******************************************************************************
++ * globals
++ ******************************************************************************/
++
++extern struct cli_def *dessert_cli;
++
++extern struct cli_command *dessert_cli_show;
++extern struct cli_command *dessert_cli_cfg_iface;
++extern struct cli_command *dessert_cli_cfg_no;
++extern struct cli_command *dessert_cli_cfg_no_iface;
++extern struct cli_command *dessert_cli_cfg_set;
++extern struct cli_command *dessert_cli_cfg_logging;
++extern struct cli_command *dessert_cli_cfg_no_logging;
++
++/******************************************************************************
++ * functions
++ ******************************************************************************/
++
++int dessert_cli_run(int port);
++
++/***************************************************************************//**
++ * @}
++ *
++ * @defgroup log L O G _ F A C I L I T Y
++ *
++ * @brief EXTERNAL / PUBLIC
++ *
++ * @{
++ ******************************************************************************/
++
++/******************************************************************************
++ * #defines
++ ******************************************************************************/
++
++/** flag for dessert_logcfg - enable syslog logging */
++#define DESSERT_LOG_SYSLOG 0x0001
++
++/** flag for dessert_logcfg - disable syslog logging */
++#define DESSERT_LOG_NOSYSLOG 0x0002
++
++/** flag for dessert_logcfg - enable logfile logging
++ * @warning before using this you MUST use fopen(dessert_logfd, ...) to open the logfile */
++#define DESSERT_LOG_FILE 0x0004
++
++/** flag for dessert_logcfg - disable logfile logging */
++#define DESSERT_LOG_NOFILE 0x0008
++
++/** flag for dessert_logcfg - enable logging to stderr */
++#define DESSERT_LOG_STDERR 0x0010
++
++/** flag for dessert_logcfg - disable logging to stderr */
++#define DESSERT_LOG_NOSTDERR 0x0020
++
++/** flag for dessert_logcfg - enable logging to ringbuffer */
++#define DESSERT_LOG_RBUF 0x0040
++
++/** flag for dessert_logcfg - disable logging to ringbuffer */
++#define DESSERT_LOG_NORBUF 0x0080
++
++/** flag for dessert_logcfg - enable debug loglevel */
++#define DESSERT_LOG_DEBUG 0x0100
++
++/** flag for dessert_logcfg - disable debug loglevel */
++#define DESSERT_LOG_NODEBUG 0x0200
++
++/******************************************************************************
++ * functions
++ ******************************************************************************/
++int dessert_logcfg(uint16_t opts);
++void _dessert_log(int level, const char* func, const char* file, int line, const char *fmt, ...);
++/** log at DEBUG level */
++#define dessert_debug(...) _dessert_log(LOG_DEBUG, __FUNCTION__, __FILE__, __LINE__, __VA_ARGS__)
++/** log at INFO level */
++#define dessert_info(...) _dessert_log(LOG_INFO, __FUNCTION__, __FILE__, __LINE__, __VA_ARGS__)
++/** log at NOTICE level */
++#define dessert_notice(...) _dessert_log(LOG_NOTICE, __FUNCTION__, __FILE__, __LINE__, __VA_ARGS__)
++/** log at WARNING level */
++#define dessert_warn(...) _dessert_log(LOG_WARNING, __FUNCTION__, __FILE__, __LINE__, __VA_ARGS__)
++/** log at WARNING level */
++#define dessert_warning(...) _dessert_log(LOG_WARNING, __FUNCTION__, __FILE__, __LINE__, __VA_ARGS__)
++/** log at ERR level */
++#define dessert_err(...) _dessert_log(LOG_ERR, __FUNCTION__, __FILE__, __LINE__, __VA_ARGS__)
++/** log at CRIT level */
++#define dessert_crit(...) _dessert_log(LOG_CRIT, __FUNCTION__, __FILE__, __LINE__, __VA_ARGS__)
++/** log at ALERT level */
++#define dessert_alert(...) _dessert_log(LOG_ALERT, __FUNCTION__, __FILE__, __LINE__, __VA_ARGS__)
++/** log at EMERG level */
++#define dessert_emerg(...) _dessert_log(LOG_EMERG, __FUNCTION__, __FILE__, __LINE__, __VA_ARGS__)
++
++/***************************************************************************//**
++ * @}
++ *
++ * @defgroup mesh M E S H - I N T E R F A C E S
++ *
++ * @brief EXTERNAL / PUBLIC
++ *
++ * @{
++ ******************************************************************************/
++
++/******************************************************************************
++ * #defines
++ ******************************************************************************/
++
++/** return code for dessert_meshrxcb_t - forces to copy the message and call again*/
++#define DESSERT_MSG_NEEDNOSPARSE 1
++
++/** return code for dessert_meshrxcb_t - forces to generate processing info and call again*/
++#define DESSERT_MSG_NEEDMSGPROC 2
++
++/** return code for dessert_meshrxcb_t and dessert_sysrxcb_t */
++#define DESSERT_MSG_KEEP 0
++
++/** return code for dessert_meshrxcb_t and dessert_sysrxcb_t */
++#define DESSERT_MSG_DROP -1
++
++/** flag for dessert_meshif_add - set interface in promiscuous-mode (default) */
++#define DESSERT_IF_PROMISC 0x0
++
++/** flag for dessert_meshif_add - do not set interface in promiscuous-mode */
++#define DESSERT_IF_NOPROMISC 0x1
++
++/** flag for dessert_meshif_add - filter out non-des-sert frames in libpcap (default) */
++#define DESSERT_IF_FILTER 0x0
++
++/** flag for dessert_meshif_add - do not filter out non-des-sert frames in libpcap */
++#define DESSERT_IF_NOFILTER 0x2
++
++/******************************************************************************
++ * functions
++ ******************************************************************************/
++
++/* sending messages */
++int dessert_meshsend(const dessert_msg_t* msgin, const dessert_meshif_t *iface);
++int dessert_meshsend_allbutone(const dessert_msg_t* msgin, const dessert_meshif_t *iface);
++int dessert_meshsend_hwaddr(const dessert_msg_t* msgin, const uint8_t hwaddr[ETHER_ADDR_LEN]);
++int dessert_meshsend_randomized(const dessert_msg_t* msgin);
++
++int dessert_meshsend_fast(dessert_msg_t* msg, const dessert_meshif_t *iface);
++int dessert_meshsend_fast_allbutone(dessert_msg_t* msg, const dessert_meshif_t *iface);
++int dessert_meshsend_fast_hwaddr(dessert_msg_t* msg, const uint8_t hwaddr[ETHER_ADDR_LEN]);
++int dessert_meshsend_fast_randomized(dessert_msg_t* msgin);
++int dessert_meshsend_raw(dessert_msg_t* msg, const dessert_meshif_t *iface);
++
++/* meshrx-callback handling */
++int dessert_meshrxcb_add(dessert_meshrxcb_t* c, int prio);
++int dessert_meshrxcb_del(dessert_meshrxcb_t* c);
++
++/* mesh interface handling */
++int dessert_meshif_add(const char* dev, uint8_t flags);
++int dessert_meshif_del(const char* dev);
++
++dessert_meshif_t * dessert_meshif_get_name(const char* dev);
++dessert_meshif_t * dessert_meshif_get_hwaddr(const uint8_t hwaddr[ETHER_ADDR_LEN]);
++dessert_meshif_t * dessert_meshiflist_get(void);
++/*\}*/
++/***************************************************************************//**
++ * @}
++ *
++ * @defgroup sys S Y S - I N T E R F A C E S
++ *
++ * @brief EXTERNAL / PUBLIC
++ *
++ * @{
++ ******************************************************************************/
++
++/******************************************************************************
++ * #defines
++ ******************************************************************************/
++
++/** flag for dessert_sysif_init - open tun (ip/ipv6) device */
++#define DESSERT_TUN 0x00
++
++/** flag for dessert_sysif_init - open tap (ethernet) device */
++#define DESSERT_TAP 0x01
++
++/** flag for dessert_sysif_init - set dessert_l25_defsrc to mac of tap device */
++#define DESSERT_MAKE_DEFSRC 0x02
++
++/** flag for dessert_sysif_init - get mac for tap failed - try mac in src of first packet */
++#define _DESSERT_TAP_NOMAC 0x80
++
++/******************************************************************************
++ * functions
++ ******************************************************************************/
++
++int dessert_sysif_init(char* name, uint8_t flags);
++
++int dessert_sysrxcb_add(dessert_sysrxcb_t* c, int prio);
++int dessert_sysrxcb_del(dessert_sysrxcb_t* c);
++
++int dessert_syssend_msg(dessert_msg_t *msg);
++int dessert_syssend(const struct ether_header *eth, size_t len);
++
++/***************************************************************************//**
++ * @}
++ *
++ * @defgroup msg M E S S A G E _ H A N D L I N G
++ *
++ * @brief EXTERNAL / PUBLIC
++ *
++ * @{
++ ******************************************************************************/
++
++/******************************************************************************
++ * #defines
++ ******************************************************************************/
++
++/** flag for dessert_msg.flags - message len is hlen+plen
++ * if not set buffer len is assumed as DESSERT_MAXFRAMELEN + DESSERT_MSGPROCLEN */
++#define DESSERT_FLAG_SPARSE 0x1
++
++/* *********************** */
++
++/** flag for dessert_msg_proc.lflags - l25 src is one of our interfaces */
++#define DESSERT_LFLAG_SRC_SELF 0x0002
++
++/** flag for dessert_msg_proc.lflags - l25 dst is multicast address*/
++#define DESSERT_LFLAG_DST_MULTICAST 0x0004
++
++/** flag for dessert_msg_proc.lflags - l25 dst is one of our interfaces */
++#define DESSERT_LFLAG_DST_SELF 0x0008
++
++/** flag for dessert_msg_proc.lflags - l25 dst is broadcast */
++#define DESSERT_LFLAG_DST_BROADCAST 0x0010
++
++/** flag for dessert_msg_proc.lflags - l2 src is one of our interfaces */
++#define DESSERT_LFLAG_PREVHOP_SELF 0x0020
++
++/** flag for dessert_msg_proc.lflags - l2 dst is one of our interfaces */
++#define DESSERT_LFLAG_NEXTHOP_SELF 0x0040
++
++/** flag for dessert_msg_proc.lflags - l2 dst is broadcast */
++#define DESSERT_LFLAG_NEXTHOP_BROADCAST 0x0080
++
++/** flag for dessert_msg_proc.lflags - l25 dst is one of our interfaces,
++ * but we received the message not via the indented interface, e.g. we
++ * overheard it */
++#define DESSERT_LFLAG_DST_SELF_OVERHEARD 0x0100
++
++/** flag for dessert_msg_proc.lflags - l2 dst is one of our interfaces,
++ * but we received the message not via the indented interface, e.g. we
++ * overheard it */
++#define DESSERT_LFLAG_NEXTHOP_SELF_OVERHEARD 0x0200
++
++/* *********************** */
++
++/** length of dessert_ext header */
++#define DESSERT_EXTLEN (sizeof(struct dessert_ext) - DESSERT_MAXEXTDATALEN)
++
++/** dessert_ext type wildcard - any extension */
++#define DESSERT_EXT_ANY 0x00
++
++/** dessert_ext type for ethernet header */
++#define DESSERT_EXT_ETH 0x01
++
++/** dessert_ext type for packet tracing */
++#define DESSERT_EXT_TRACE 0x02
++
++/** first dessert_ext type for usage by the user */
++#define DESSERT_EXT_USER 0x40
++
++/* *********************** */
++
++/** packet tracing flag - only record hosts */
++#define DESSERT_MSG_TRACE_HOST (ETHER_ADDR_LEN)
++
++/** packet tracing flag - record interfaces */
++#define DESSERT_MSG_TRACE_IFACE (3*ETHER_ADDR_LEN)
++
++/* *********************** */
++
++/** Returns the length of a given extension. */
++#define dessert_ext_getdatalen(ext) (ext->len - DESSERT_EXTLEN)
++
++/******************************************************************************
++ * functions
++ ******************************************************************************/
++
++int dessert_msg_new(dessert_msg_t **msgout);
++int dessert_msg_clone(dessert_msg_t **msgnew, const dessert_msg_t *msgold, uint8_t sparse);
++int dessert_msg_check(const dessert_msg_t* msg, size_t len);
++void dessert_msg_dump(const dessert_msg_t* msg, size_t len, char *buf, size_t blen);
++void dessert_msg_destroy(dessert_msg_t* msg);
++
++int dessert_msg_ethencap(const struct ether_header* eth, size_t eth_len, dessert_msg_t **msgout);
++int dessert_msg_ethdecap(const dessert_msg_t* msg, struct ether_header** ethout);
++struct ether_header* dessert_msg_getl25ether (const dessert_msg_t* msg);
++
++int dessert_msg_proc_clone(dessert_msg_proc_t **procnew, const dessert_msg_proc_t *procold);
++void dessert_msg_proc_dump(const dessert_msg_t* msg, size_t len, const dessert_msg_proc_t *proc, char *buf, size_t blen);
++void dessert_msg_proc_destroy(dessert_msg_proc_t* proc);
++
++int dessert_msg_addpayload(dessert_msg_t* msg, void** payload, int len);
++int dessert_msg_getpayload(dessert_msg_t *msg, void **payload);
++int dessert_msg_addext(dessert_msg_t* msg, dessert_ext_t** ext, uint8_t type, size_t len);
++int dessert_msg_delext(dessert_msg_t *msg, dessert_ext_t *ext);
++int dessert_msg_resizeext(dessert_msg_t *msg, dessert_ext_t *ext, size_t new_len);
++int dessert_msg_getext(const dessert_msg_t* msg, dessert_ext_t** ext, uint8_t type, int index);
++int dessert_msg_get_ext_count(const dessert_msg_t* msg, uint8_t type);
++
++int dessert_msg_trace_initiate(dessert_msg_t* msg, int mode);
++int dessert_msg_trace_dump(const dessert_msg_t* msg, char* buf, int blen);
++
++int dessert_msg_dump_cb(dessert_msg_t* msg, size_t len, dessert_msg_proc_t *proc, const dessert_meshif_t *iface, dessert_frameid_t id);
++int dessert_msg_check_cb(dessert_msg_t* msg, size_t len, dessert_msg_proc_t *proc, const dessert_meshif_t *iface, dessert_frameid_t id);
++int dessert_msg_trace_cb(dessert_msg_t* msg, size_t len, dessert_msg_proc_t *proc, const dessert_meshif_t *iface, dessert_frameid_t id);
++int dessert_msg_ifaceflags_cb(dessert_msg_t* msg, size_t len, dessert_msg_proc_t *proc, const dessert_meshif_t *riface, dessert_frameid_t id);
++
++/***************************************************************************//**
++ * @}
++ *
++ * @defgroup periodic P E R I O D I C _ T A S K S
++ *
++ * @brief EXTERNAL / PUBLIC
++ *
++ * @{
++ ******************************************************************************/
++
++dessert_periodic_t *dessert_periodic_add(dessert_periodiccallback_t* c, void *data, const struct timeval *scheduled, const struct timeval *interval);
++dessert_periodic_t *dessert_periodic_add_delayed(dessert_periodiccallback_t* c, void *data, int delay);
++int dessert_periodic_del(dessert_periodic_t *p);
++
++/***************************************************************************//**
++ * @}
++ *
++ * @defgroup agentx NET - S N M P // A G E N T _ X
++ *
++ * @brief EXTERNAL / PUBLIC
++ *
++ * @{
++ ******************************************************************************/
++
++/******************************************************************************
++ * #defines
++ ******************************************************************************/
++/** Flag indicating the dessert_agentx_appstats_t is of type bool. */
++#define DESSERT_APPSTATS_VALUETYPE_BOOL 0
++
++/** Flag indicating the dessert_agentx_appstats_t is of type int32. */
++#define DESSERT_APPSTATS_VALUETYPE_INT32 1
++
++/** Flag indicating the dessert_agentx_appstats_t is of type uint32. */
++#define DESSERT_APPSTATS_VALUETYPE_UINT32 2
++
++/** Flag indicating the dessert_agentx_appstats_t is of type counter64. */
++#define DESSERT_APPSTATS_VALUETYPE_COUNTER64 3
++
++/** Flag indicating the dessert_agentx_appstats_t is of type octetstring. */
++#define DESSERT_APPSTATS_VALUETYPE_OCTETSTRING 4
++
++/* *********************** */
++
++/** Flag indicating the dessert_agentx_appstats_t does not contain information regarding a node or a link. */
++#define DESSERT_APPSTATS_NODEORLINK_NONE 0
++
++/** Flag indicating the dessert_agentx_appstats_t contains information regarding a node. */
++#define DESSERT_APPSTATS_NODEORLINK_NODE 1
++
++/** Flag indicating the dessert_agentx_appstats_t contains information regarding a link. */
++#define DESSERT_APPSTATS_NODEORLINK_LINK 2
++
++/* *********************** */
++
++/** What is considered to be TRUE in a dessert_agentx_appstats_t. */
++#define DESSERT_APPSTATS_BOOL_TRUE 1
++
++/** What is considered to be FALSE in a dessert_agentx_appstats_t. */
++#define DESSERT_APPSTATS_BOOL_FALSE 0
++
++/* *********************** */
++
++/** Flag indicating the dessert_agentx_appparams_t is of type bool. */
++#define DESSERT_APPPARAMS_VALUETYPE_BOOL 0
++
++/** Flag indicating the dessert_agentx_appparams_t is of type int32. */
++#define DESSERT_APPPARAMS_VALUETYPE_INT32 1
++
++/** Flag indicating the dessert_agentx_appparams_t is of type uint32. */
++#define DESSERT_APPPARAMS_VALUETYPE_UINT32 2
++
++/** Flag indicating the dessert_agentx_appparams_t is of type octetstring. */
++#define DESSERT_APPPARAMS_VALUETYPE_OCTETSTRING 3
++
++/* *********************** */
++
++/** What is considered to be TRUE in a dessert_agentx_appparams_t. */
++#define DESSERT_APPPARAMS_BOOL_TRUE 1
++
++/** What is considered to be FALSE in a dessert_agentx_appparams_t. */
++#define DESSERT_APPPARAMS_BOOL_FALSE 0
++
++/* *********************** */
++
++/** Flag indicating if a appstats callback entry is of type bulk. */
++#define DESSERT_APPSTATS_CB_BULK 1
++/** Flag indicating if a appstats callback entry is of type nobulk. */
++#define DESSERT_APPSTATS_CB_NOBULK 2
++
++/******************************************************************************
++ * typedefs
++ ******************************************************************************/
++
++/** An abstract data type representing some statistical datum.*/
++typedef struct dessert_agentx_appstats {
++
++ /** A prev pointer. @internal */
++ struct dessert_agentx_appstats *prev;
++ /** A next pointer. @internal */
++ struct dessert_agentx_appstats *next;
++
++ /** The name of the datum. */
++ char name[256];
++ /** A description of the datum*/
++ char desc[256];
++
++ /** The type of the datum.
++ *
++ * @see For valid values please refer to: \n DESSERT_APPSTATS_VALUETYPE_BOOL
++ * @see DESSERT_APPSTATS_VALUETYPE_INT32
++ * @see DESSERT_APPSTATS_VALUETYPE_UINT32
++ * @see DESSERT_APPSTATS_VALUETYPE_COUNTER64
++ * @see DESSERT_APPSTATS_VALUETYPE_OCTETSTRING
++ */
++ int value_type;
++ /** Indicates if this datum contains information about a node or a link
++ *
++ * @see For valid values please refer to: \n DESSERT_APPSTATS_NODEORLINK_NONE
++ * @see DESSERT_APPSTATS_NODEORLINK_NODE
++ * @see DESSERT_APPSTATS_NODEORLINK_LINK
++ */
++ int node_or_link;
++
++ /** Field representing a mac address if this datum contains information about a node or a link. */
++ uint8_t macaddress1 [ETHER_ADDR_LEN];
++ /** Field representing a mac address if this datum contains information about a link. */
++ uint8_t macaddress2 [ETHER_ADDR_LEN];
++
++ union {
++ /** A boolean.
++ *
++ * @see For valid values please refer to: \n DESSERT_APPSTATS_BOOL_TRUE
++ * @see DESSERT_APPSTATS_BOOL_FALSE
++ */
++ uint8_t bool;
++ /** A 32bit signed integer. */
++ int32_t int32;
++ /** A 32bit unsigned integer. */
++ uint32_t uint32;
++ /** A 64bit unsigned integer with counter semantics */
++ uint64_t counter64;
++
++ struct {
++ /** The length of the octetstring field. */
++ uint8_t octetstring_len;
++ /** Character pointer to some raw bytes. */
++ char *octetstring;
++ };
++ };
++
++} dessert_agentx_appstats_t;
++
++/** An abstract data type representing some parameter.*/
++typedef struct dessert_agentx_appparams {
++
++ /** Internal. @internal */
++ struct dessert_agentx_appparams *prev;
++ /** Internal. @internal */
++ struct dessert_agentx_appparams *next;
++
++ /** Internal. @internal Internal. */
++ uint8_t index;
++
++ /** The name of the datum. */
++ char name[256];
++ /** A description of the datum*/
++ char desc[256];
++
++ /** The type of the parameter.
++ *
++ * @see For valid values please refer to: \n DESSERT_APPPARAMS_VALUETYPE_BOOL
++ * @see DESSERT_APPPARAMS_VALUETYPE_INT32
++ * @see DESSERT_APPPARAMS_VALUETYPE_UINT32
++ * @see DESSERT_APPPARAMS_VALUETYPE_OCTETSTRING
++ */
++ int value_type;
++
++ union {
++ /** A boolean.
++ *
++ * @see For valid values please refer to: \n DESSERT_APPPARAMS_BOOL_TRUE
++ * @see DESSERT_APPPARAMS_BOOL_FALSE
++ */
++ uint8_t bool;
++ /** A 32bit signed integer. */
++ int32_t int32;
++ /** A 32bit unsigned integer. */
++ uint32_t uint32;
++
++ struct {
++ /** The length of the octetstring field. */
++ uint16_t octetstring_len;
++ /** Character pointer to some raw bytes. */
++ char *octetstring;
++ };
++ };
++
++} dessert_agentx_appparams_t;
++
++/** Callback type to call if the AppstatsTable is asked for by some snmp client.
++ *
++ * @param *appstats dessert_agentx_appstats_t the statistical datum to be filled out
++ *
++ *
++ * @retval DESSERT_OK on success
++ * @retval DESSERT_ERR to remove the corresponding callback entry
++ *
++ */
++typedef int dessert_agentx_appstatscb_get_t(struct dessert_agentx_appstats *appstats);
++
++/** Callback type to call if the AppparamsTable is asked for by some snmp client.
++ *
++ * @param *appstats dessert_agentx_appparams_t the parameter to be filled out
++ *
++ *
++ * @retval DESSERT_OK on success
++ * @retval DESSERT_ERR to remove the corresponding callback entry
++ *
++ */
++typedef int dessert_agentx_appparamscb_get_t(struct dessert_agentx_appparams *appparams);
++
++/** Callback type to call if the specific row represented by this callback is
++ * going to be set by some snmp client.
++ *
++ * @param *appstats dessert_agentx_appparams_t the new value
++ *
++ *
++ * @retval DESSERT_OK on success
++ * @retval DESSERT_ERR otherwise
++ *
++ */
++typedef int dessert_agentx_appparamscb_set_t(struct dessert_agentx_appparams *appparams);
++
++/** A callback entry representing a statistical datum. */
++typedef struct dessert_agentx_appstats_cb_entry {
++
++ /** Interal. @internal */
++ struct dessert_agentx_appstats_cb_entry *prev;
++ /** Interal. @internal */
++ struct dessert_agentx_appstats_cb_entry *next;
++
++ /** Flag indicating whether this entry represents a bulk entry.*/
++ uint8_t isbulk_flag;
++
++ /** The getter callback. */
++ dessert_agentx_appstatscb_get_t *c;
++
++} dessert_agentx_appstats_cb_entry_t;
++
++/** A callback entry representing a parameter. */
++typedef struct dessert_agentx_appparams_cb_entry {
++
++ /** Internal. @internal */
++ struct dessert_agentx_appparams_cb_entry *prev;
++ /** Internal. @internal*/
++ struct dessert_agentx_appparams_cb_entry *next;
++
++ /** Internal. @internal */
++ uint8_t index;
++
++ /** The getter callback. */
++ dessert_agentx_appparamscb_get_t *get;
++ /** The setter callback. */
++ dessert_agentx_appparamscb_set_t *set;
++
++} dessert_agentx_appparams_cb_entry_t;
++
++
++/******************************************************************************
++ * globals
++ ******************************************************************************/
++
++
++/******************************************************************************
++ * functions
++ ******************************************************************************/
++dessert_agentx_appstats_t *dessert_agentx_appstats_new(void);
++void dessert_agentx_appstats_destroy(dessert_agentx_appstats_t *appstat);
++
++dessert_agentx_appstats_cb_entry_t *dessert_agentx_appstats_add(dessert_agentx_appstatscb_get_t *c);
++dessert_agentx_appstats_cb_entry_t *dessert_agentx_appstats_add_bulk(dessert_agentx_appstatscb_get_t *c);
++int dessert_agentx_appstats_del(dessert_agentx_appstats_cb_entry_t *e);
++
++dessert_agentx_appparams_t *dessert_agentx_appparam_new(void);
++void dessert_agentx_appparam_destroy(dessert_agentx_appparams_t *appparam);
++
++dessert_agentx_appparams_cb_entry_t *dessert_agentx_appparams_add(dessert_agentx_appparamscb_get_t *get, dessert_agentx_appparamscb_set_t *set);
++int dessert_agentx_appparams_del(dessert_agentx_appparams_cb_entry_t *e);
++
++/**************************************************************************//**
++ * @}
++ *
++ * @defgroup macros U S E F U L L _ MA C R O S
++ *
++ * @brief EXTERNAL / PUBLIC
++ *
++ * @{
++ ******************************************************************************/
++
++/** A convenience macro to safely iterate the list of mesh interfaces.
++ *
++ * @param __interface pointer to a temporal dessert_meshif_t
++ *
++ * @warning You must pair it with an ending MESHIFLIST_ITERATOR_STOP() macro!
++ * Please find an usage example in the Examples paragraph below.
++ *
++ * @par Examples:
++ *
++ * @li The do_something() function will be called for every mesh interface in the list.
++ * @code
++ * dessert_meshif_t *iface;
++ *
++ * MESHIFLIST_ITERATOR_START(iface)
++ * do_something(iface); // do something to every iface
++ * MESHIFLIST_ITERATOR_STOP;
++ * @endcode
++ */
++#define MESHIFLIST_ITERATOR_START(__interface) \
++pthread_rwlock_rdlock(&dessert_cfglock); \
++DL_FOREACH(dessert_meshiflist_get(), __interface) {
++
++/** A convenience macro to safely iterate the list of mesh interfaces.
++ *
++ * @see MESHIFLIST_ITERATOR_START()
++ */
++#define MESHIFLIST_ITERATOR_STOP } pthread_rwlock_unlock(&dessert_cfglock)
++
++/** A convenience macro to safely add @a __sec seconds and @a __usec microseconds
++ * to the @c struct @c timeval @a __tv in an <em>invariant respecting</em> manner.
++ *
++ * @param __tv the @c struct @c timeval to add to
++ * @param __sec the number of seconds to add up to @a __tv->tv_sec
++ * @param __usec the number of microseconds to add up to @a __tv.->tv_usec
++ *
++ * %DESCRIPTION: \n
++ * The <a href="http://www.gnu.org/s/libc/manual/html_node/Elapsed-Time.html#Elapsed-Time">GNU C Library Documentation</a>
++ * states about the @c tv_usec member of the @c struct @c timeval: <em>This is the
++ * rest of the elapsed time (a fraction of a second), represented as the number
++ * of microseconds. It is always less than one @a million.</em>
++ *
++ */
++#define TIMEVAL_ADD(__tv, __sec, __usec) \
++ do { \
++ (__tv)->tv_sec += __sec; \
++ (__tv)->tv_usec += __usec; \
++ if((__tv)->tv_usec >= 1000000) { \
++ ++(__tv)->tv_sec; \
++ (__tv)->tv_usec -= 1000000; \
++ } \
++ } while(0)
++
++#define likely(x) (__builtin_expect((x),1))
++#define unlikely(x) (__builtin_expect((x),0))
++
++#define __dessert_assert(func, file, line, e) \
++ ((void)_dessert_log(LOG_EMERG, func, file, line, "assertion `%s' failed!\n", e), abort)
++
++#ifdef NDEBUG
++#define assert(e) ((void)0)
++#else
++#define assert(e) \
++ (__builtin_expect(!(e), 0) ? __dessert_assert(__FUNCTION__, __FILE__, __LINE__, #e) : (void)0)
++#endif
++
++/** @} */
++
++/******************************************************************************
++ *
++ * ! ! ! ! O L D ! ! ! T O D O ! ! ! !
++ *
++ ******************************************************************************/
++
++/** the config-flag variable */
++//extern uint16_t dessert_cfgflags; // TODO not used! to be removed??!?
++
++/** size of a dessert_msg buffer */
++//#define dessert_msg_buflen(x) ((x->flags&DESSERT_FLAG_SPARSE)?(x->hlen+x->plen):(DESSERT_MAXFRAMELEN+DESSERT_MSGPROCLEN))
++
++//#define dessert_frameid_overflow(x, y) ((x>y)&&((x-y)>(DESSERT_FRAMEID_MAX/2)))
++
++
++#endif /* DESSERT_H*/
+Index: libdessert0.86-0.86.14/include/dessert/utlist.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/include/dessert/utlist.h 2009-12-09 16:38:27.246011666 +0100
+@@ -0,0 +1,349 @@
++/*
++Copyright (c) 2007-2009, Troy D. Hanson
++All rights reserved.
++
++Redistribution and use in source and binary forms, with or without
++modification, are permitted provided that the following conditions are met:
++
++ * Redistributions of source code must retain the above copyright
++ notice, this list of conditions and the following disclaimer.
++
++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
++IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
++TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
++PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
++OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
++EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
++PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
++PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
++LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
++NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
++SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++*/
++
++#ifndef UTLIST_H
++#define UTLIST_H
++
++#define UTLIST_VERSION 1.8
++
++/*
++ * This file contains macros to manipulate singly and doubly-linked lists.
++ *
++ * 1. LL_ macros: singly-linked lists.
++ * 2. DL_ macros: doubly-linked lists.
++ * 3. CDL_ macros: circular doubly-linked lists.
++ *
++ * To use singly-linked lists, your structure must have a "next" pointer.
++ * To use doubly-linked lists, your structure must "prev" and "next" pointers.
++ * Either way, the pointer to the head of the list must be initialized to NULL.
++ *
++ * ----------------.EXAMPLE -------------------------
++ * struct item {
++ * int id;
++ * struct item *prev, *next;
++ * }
++ *
++ * struct item *list = NULL:
++ *
++ * int main() {
++ * struct item *item;
++ * ... allocate and populate item ...
++ * DL_APPEND(list, item);
++ * }
++ * --------------------------------------------------
++ *
++ * For doubly-linked lists, the append and delete macros are O(1)
++ * For singly-linked lists, append and delete are O(n) but prepend is O(1)
++ * The sort macro is O(n log(n)) for all types of single/double/circular lists.
++ */
++
++/******************************************************************************
++ * The sort macro is an adaptation of Simon Tatham's O(n log(n)) mergesort *
++ * Unwieldy variable names used here to avoid shadowing passed-in variables. *
++ *****************************************************************************/
++#define LL_SORT(list, cmp) \
++do { \
++ __typeof__(list) _ls_p, _ls_q, _ls_e, _ls_tail, _ls_oldhead; \
++ int _ls_insize, _ls_nmerges, _ls_psize, _ls_qsize, _ls_i, _ls_looping; \
++ if (list) { \
++ _ls_insize = 1; \
++ _ls_looping = 1; \
++ while (_ls_looping) { \
++ _ls_p = list; \
++ _ls_oldhead = list; \
++ list = NULL; \
++ _ls_tail = NULL; \
++ _ls_nmerges = 0; \
++ while (_ls_p) { \
++ _ls_nmerges++; \
++ _ls_q = _ls_p; \
++ _ls_psize = 0; \
++ for (_ls_i = 0; _ls_i < _ls_insize; _ls_i++) { \
++ _ls_psize++; \
++ _ls_q = _ls_q->next; \
++ if (!_ls_q) break; \
++ } \
++ _ls_qsize = _ls_insize; \
++ while (_ls_psize > 0 || (_ls_qsize > 0 && _ls_q)) { \
++ if (_ls_psize == 0) { \
++ _ls_e = _ls_q; _ls_q = _ls_q->next; _ls_qsize--; \
++ } else if (_ls_qsize == 0 || !_ls_q) { \
++ _ls_e = _ls_p; _ls_p = _ls_p->next; _ls_psize--; \
++ } else if (cmp(_ls_p,_ls_q) <= 0) { \
++ _ls_e = _ls_p; _ls_p = _ls_p->next; _ls_psize--; \
++ } else { \
++ _ls_e = _ls_q; _ls_q = _ls_q->next; _ls_qsize--; \
++ } \
++ if (_ls_tail) { \
++ _ls_tail->next = _ls_e; \
++ } else { \
++ list = _ls_e; \
++ } \
++ _ls_tail = _ls_e; \
++ } \
++ _ls_p = _ls_q; \
++ } \
++ _ls_tail->next = NULL; \
++ if (_ls_nmerges <= 1) { \
++ _ls_looping=0; \
++ } \
++ _ls_insize *= 2; \
++ } \
++ } \
++} while (0)
++
++#define DL_SORT(list, cmp) \
++do { \
++ __typeof__(list) _ls_p, _ls_q, _ls_e, _ls_tail, _ls_oldhead; \
++ int _ls_insize, _ls_nmerges, _ls_psize, _ls_qsize, _ls_i, _ls_looping; \
++ if (list) { \
++ _ls_insize = 1; \
++ _ls_looping = 1; \
++ while (_ls_looping) { \
++ _ls_p = list; \
++ _ls_oldhead = list; \
++ list = NULL; \
++ _ls_tail = NULL; \
++ _ls_nmerges = 0; \
++ while (_ls_p) { \
++ _ls_nmerges++; \
++ _ls_q = _ls_p; \
++ _ls_psize = 0; \
++ for (_ls_i = 0; _ls_i < _ls_insize; _ls_i++) { \
++ _ls_psize++; \
++ _ls_q = _ls_q->next; \
++ if (!_ls_q) break; \
++ } \
++ _ls_qsize = _ls_insize; \
++ while (_ls_psize > 0 || (_ls_qsize > 0 && _ls_q)) { \
++ if (_ls_psize == 0) { \
++ _ls_e = _ls_q; _ls_q = _ls_q->next; _ls_qsize--; \
++ } else if (_ls_qsize == 0 || !_ls_q) { \
++ _ls_e = _ls_p; _ls_p = _ls_p->next; _ls_psize--; \
++ } else if (cmp(_ls_p,_ls_q) <= 0) { \
++ _ls_e = _ls_p; _ls_p = _ls_p->next; _ls_psize--; \
++ } else { \
++ _ls_e = _ls_q; _ls_q = _ls_q->next; _ls_qsize--; \
++ } \
++ if (_ls_tail) { \
++ _ls_tail->next = _ls_e; \
++ } else { \
++ list = _ls_e; \
++ } \
++ _ls_e->prev = _ls_tail; \
++ _ls_tail = _ls_e; \
++ } \
++ _ls_p = _ls_q; \
++ } \
++ list->prev = _ls_tail; \
++ _ls_tail->next = NULL; \
++ if (_ls_nmerges <= 1) { \
++ _ls_looping=0; \
++ } \
++ _ls_insize *= 2; \
++ } \
++ } \
++} while (0)
++
++#define CDL_SORT(list, cmp) \
++do { \
++ __typeof__(list) _ls_p, _ls_q, _ls_e, _ls_tail, _ls_oldhead; \
++ int _ls_insize, _ls_nmerges, _ls_psize, _ls_qsize, _ls_i, _ls_looping; \
++ if (list) { \
++ _ls_insize = 1; \
++ _ls_looping = 1; \
++ while (_ls_looping) { \
++ _ls_p = list; \
++ _ls_oldhead = list; \
++ list = NULL; \
++ _ls_tail = NULL; \
++ _ls_nmerges = 0; \
++ while (_ls_p) { \
++ _ls_nmerges++; \
++ _ls_q = _ls_p; \
++ _ls_psize = 0; \
++ for (_ls_i = 0; _ls_i < _ls_insize; _ls_i++) { \
++ _ls_psize++; \
++ _ls_q = ((_ls_q->next == _ls_oldhead) ? NULL : _ls_q->next); \
++ if (!_ls_q) break; \
++ } \
++ _ls_qsize = _ls_insize; \
++ while (_ls_psize > 0 || (_ls_qsize > 0 && _ls_q)) { \
++ if (_ls_psize == 0) { \
++ _ls_e = _ls_q; _ls_q = _ls_q->next; _ls_qsize--; \
++ if (_ls_q == _ls_oldhead) { _ls_q = NULL; } \
++ } else if (_ls_qsize == 0 || !_ls_q) { \
++ _ls_e = _ls_p; _ls_p = _ls_p->next; _ls_psize--; \
++ if (_ls_p == _ls_oldhead) { _ls_p = NULL; } \
++ } else if (cmp(_ls_p,_ls_q) <= 0) { \
++ _ls_e = _ls_p; _ls_p = _ls_p->next; _ls_psize--; \
++ if (_ls_p == _ls_oldhead) { _ls_p = NULL; } \
++ } else { \
++ _ls_e = _ls_q; _ls_q = _ls_q->next; _ls_qsize--; \
++ if (_ls_q == _ls_oldhead) { _ls_q = NULL; } \
++ } \
++ if (_ls_tail) { \
++ _ls_tail->next = _ls_e; \
++ } else { \
++ list = _ls_e; \
++ } \
++ _ls_e->prev = _ls_tail; \
++ _ls_tail = _ls_e; \
++ } \
++ _ls_p = _ls_q; \
++ } \
++ list->prev = _ls_tail; \
++ _ls_tail->next = list; \
++ if (_ls_nmerges <= 1) { \
++ _ls_looping=0; \
++ } \
++ _ls_insize *= 2; \
++ } \
++ } \
++} while (0)
++
++/******************************************************************************
++ * singly linked list macros (non-circular) *
++ *****************************************************************************/
++#define LL_PREPEND(head,add) \
++do { \
++ (add)->next = head; \
++ head = add; \
++} while (0)
++
++#define LL_APPEND(head,add) \
++do { \
++ __typeof__(head) _tmp; \
++ (add)->next=NULL; \
++ if (head) { \
++ _tmp = head; \
++ while (_tmp->next) { _tmp = _tmp->next; } \
++ _tmp->next=(add); \
++ } else { \
++ (head)=(add); \
++ } \
++} while (0)
++
++#define LL_DELETE(head,del) \
++do { \
++ __typeof__(head) _tmp; \
++ if ((head) == (del)) { \
++ (head)=(head)->next; \
++ } else { \
++ _tmp = head; \
++ while (_tmp->next && (_tmp->next != (del))) { \
++ _tmp = _tmp->next; \
++ } \
++ if (_tmp->next) { \
++ _tmp->next = ((del)->next); \
++ } \
++ } \
++} while (0)
++
++#define LL_FOREACH(head,el) \
++ for(el=head;el;el=el->next)
++
++/******************************************************************************
++ * doubly linked list macros (non-circular) *
++ *****************************************************************************/
++#define DL_PREPEND(head,add) \
++do { \
++ (add)->next = head; \
++ if (head) { \
++ (add)->prev = (head)->prev; \
++ (head)->prev = (add); \
++ } else { \
++ (add)->prev = (add); \
++ } \
++ (head) = (add); \
++} while (0)
++
++#define DL_APPEND(head,add) \
++do { \
++ if (head) { \
++ (add)->prev = (head)->prev; \
++ (head)->prev->next = (add); \
++ (head)->prev = (add); \
++ (add)->next = NULL; \
++ } else { \
++ (head)=(add); \
++ (head)->prev = (head); \
++ (head)->next = NULL; \
++ } \
++} while (0);
++
++#define DL_DELETE(head,del) \
++do { \
++ if ((del)->prev == (del)) { \
++ (head)=NULL; \
++ } else if ((del)==(head)) { \
++ (del)->next->prev = (del)->prev; \
++ (head) = (del)->next; \
++ } else { \
++ (del)->prev->next = (del)->next; \
++ if ((del)->next) { \
++ (del)->next->prev = (del)->prev; \
++ } else { \
++ (head)->prev = (del)->prev; \
++ } \
++ } \
++} while (0);
++
++
++#define DL_FOREACH(head,el) \
++ for(el=head;el;el=el->next)
++
++/******************************************************************************
++ * circular doubly linked list macros *
++ *****************************************************************************/
++#define CDL_PREPEND(head,add) \
++do { \
++ if (head) { \
++ (add)->prev = (head)->prev; \
++ (add)->next = (head); \
++ (head)->prev = (add); \
++ (add)->prev->next = (add); \
++ } else { \
++ (add)->prev = (add); \
++ (add)->next = (add); \
++ } \
++(head)=(add); \
++} while (0)
++
++#define CDL_DELETE(head,del) \
++do { \
++ if ( ((head)==(del)) && ((head)->next == (head))) { \
++ (head) = 0L; \
++ } else { \
++ (del)->next->prev = (del)->prev; \
++ (del)->prev->next = (del)->next; \
++ if ((del) == (head)) (head)=(del)->next; \
++ } \
++} while (0);
++
++#define CDL_FOREACH(head,el) \
++ for(el=head;el;el= (el->next==head ? 0L : el->next))
++
++
++#endif /* UTLIST_H */
++
+Index: libdessert0.86-0.86.14/install-sh
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/install-sh 2009-12-09 16:38:27.246011666 +0100
+@@ -0,0 +1,520 @@
++#!/bin/sh
++# install - install a program, script, or datafile
++
++scriptversion=2009-04-28.21; # UTC
++
++# This originates from X11R5 (mit/util/scripts/install.sh), which was
++# later released in X11R6 (xc/config/util/install.sh) with the
++# following copyright and license.
++#
++# Copyright (C) 1994 X Consortium
++#
++# Permission is hereby granted, free of charge, to any person obtaining a copy
++# of this software and associated documentation files (the "Software"), to
++# deal in the Software without restriction, including without limitation the
++# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
++# sell copies of the Software, and to permit persons to whom the Software is
++# furnished to do so, subject to the following conditions:
++#
++# The above copyright notice and this permission notice shall be included in
++# all copies or substantial portions of the Software.
++#
++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
++# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
++# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
++# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++#
++# Except as contained in this notice, the name of the X Consortium shall not
++# be used in advertising or otherwise to promote the sale, use or other deal-
++# ings in this Software without prior written authorization from the X Consor-
++# tium.
++#
++#
++# FSF changes to this file are in the public domain.
++#
++# Calling this script install-sh is preferred over install.sh, to prevent
++# `make' implicit rules from creating a file called install from it
++# when there is no Makefile.
++#
++# This script is compatible with the BSD install script, but was written
++# from scratch.
++
++nl='
++'
++IFS=" "" $nl"
++
++# set DOITPROG to echo to test this script
++
++# Don't use :- since 4.3BSD and earlier shells don't like it.
++doit=${DOITPROG-}
++if test -z "$doit"; then
++ doit_exec=exec
++else
++ doit_exec=$doit
++fi
++
++# Put in absolute file names if you don't have them in your path;
++# or use environment vars.
++
++chgrpprog=${CHGRPPROG-chgrp}
++chmodprog=${CHMODPROG-chmod}
++chownprog=${CHOWNPROG-chown}
++cmpprog=${CMPPROG-cmp}
++cpprog=${CPPROG-cp}
++mkdirprog=${MKDIRPROG-mkdir}
++mvprog=${MVPROG-mv}
++rmprog=${RMPROG-rm}
++stripprog=${STRIPPROG-strip}
++
++posix_glob='?'
++initialize_posix_glob='
++ test "$posix_glob" != "?" || {
++ if (set -f) 2>/dev/null; then
++ posix_glob=
++ else
++ posix_glob=:
++ fi
++ }
++'
++
++posix_mkdir=
++
++# Desired mode of installed file.
++mode=0755
++
++chgrpcmd=
++chmodcmd=$chmodprog
++chowncmd=
++mvcmd=$mvprog
++rmcmd="$rmprog -f"
++stripcmd=
++
++src=
++dst=
++dir_arg=
++dst_arg=
++
++copy_on_change=false
++no_target_directory=
++
++usage="\
++Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
++ or: $0 [OPTION]... SRCFILES... DIRECTORY
++ or: $0 [OPTION]... -t DIRECTORY SRCFILES...
++ or: $0 [OPTION]... -d DIRECTORIES...
++
++In the 1st form, copy SRCFILE to DSTFILE.
++In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
++In the 4th, create DIRECTORIES.
++
++Options:
++ --help display this help and exit.
++ --version display version info and exit.
++
++ -c (ignored)
++ -C install only if different (preserve the last data modification time)
++ -d create directories instead of installing files.
++ -g GROUP $chgrpprog installed files to GROUP.
++ -m MODE $chmodprog installed files to MODE.
++ -o USER $chownprog installed files to USER.
++ -s $stripprog installed files.
++ -t DIRECTORY install into DIRECTORY.
++ -T report an error if DSTFILE is a directory.
++
++Environment variables override the default commands:
++ CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
++ RMPROG STRIPPROG
++"
++
++while test $# -ne 0; do
++ case $1 in
++ -c) ;;
++
++ -C) copy_on_change=true;;
++
++ -d) dir_arg=true;;
++
++ -g) chgrpcmd="$chgrpprog $2"
++ shift;;
++
++ --help) echo "$usage"; exit $?;;
++
++ -m) mode=$2
++ case $mode in
++ *' '* | *' '* | *'
++'* | *'*'* | *'?'* | *'['*)
++ echo "$0: invalid mode: $mode" >&2
++ exit 1;;
++ esac
++ shift;;
++
++ -o) chowncmd="$chownprog $2"
++ shift;;
++
++ -s) stripcmd=$stripprog;;
++
++ -t) dst_arg=$2
++ shift;;
++
++ -T) no_target_directory=true;;
++
++ --version) echo "$0 $scriptversion"; exit $?;;
++
++ --) shift
++ break;;
++
++ -*) echo "$0: invalid option: $1" >&2
++ exit 1;;
++
++ *) break;;
++ esac
++ shift
++done
++
++if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
++ # When -d is used, all remaining arguments are directories to create.
++ # When -t is used, the destination is already specified.
++ # Otherwise, the last argument is the destination. Remove it from $@.
++ for arg
++ do
++ if test -n "$dst_arg"; then
++ # $@ is not empty: it contains at least $arg.
++ set fnord "$@" "$dst_arg"
++ shift # fnord
++ fi
++ shift # arg
++ dst_arg=$arg
++ done
++fi
++
++if test $# -eq 0; then
++ if test -z "$dir_arg"; then
++ echo "$0: no input file specified." >&2
++ exit 1
++ fi
++ # It's OK to call `install-sh -d' without argument.
++ # This can happen when creating conditional directories.
++ exit 0
++fi
++
++if test -z "$dir_arg"; then
++ trap '(exit $?); exit' 1 2 13 15
++
++ # Set umask so as not to create temps with too-generous modes.
++ # However, 'strip' requires both read and write access to temps.
++ case $mode in
++ # Optimize common cases.
++ *644) cp_umask=133;;
++ *755) cp_umask=22;;
++
++ *[0-7])
++ if test -z "$stripcmd"; then
++ u_plus_rw=
++ else
++ u_plus_rw='% 200'
++ fi
++ cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
++ *)
++ if test -z "$stripcmd"; then
++ u_plus_rw=
++ else
++ u_plus_rw=,u+rw
++ fi
++ cp_umask=$mode$u_plus_rw;;
++ esac
++fi
++
++for src
++do
++ # Protect names starting with `-'.
++ case $src in
++ -*) src=./$src;;
++ esac
++
++ if test -n "$dir_arg"; then
++ dst=$src
++ dstdir=$dst
++ test -d "$dstdir"
++ dstdir_status=$?
++ else
++
++ # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
++ # might cause directories to be created, which would be especially bad
++ # if $src (and thus $dsttmp) contains '*'.
++ if test ! -f "$src" && test ! -d "$src"; then
++ echo "$0: $src does not exist." >&2
++ exit 1
++ fi
++
++ if test -z "$dst_arg"; then
++ echo "$0: no destination specified." >&2
++ exit 1
++ fi
++
++ dst=$dst_arg
++ # Protect names starting with `-'.
++ case $dst in
++ -*) dst=./$dst;;
++ esac
++
++ # If destination is a directory, append the input filename; won't work
++ # if double slashes aren't ignored.
++ if test -d "$dst"; then
++ if test -n "$no_target_directory"; then
++ echo "$0: $dst_arg: Is a directory" >&2
++ exit 1
++ fi
++ dstdir=$dst
++ dst=$dstdir/`basename "$src"`
++ dstdir_status=0
++ else
++ # Prefer dirname, but fall back on a substitute if dirname fails.
++ dstdir=`
++ (dirname "$dst") 2>/dev/null ||
++ expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$dst" : 'X\(//\)[^/]' \| \
++ X"$dst" : 'X\(//\)$' \| \
++ X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
++ echo X"$dst" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'
++ `
++
++ test -d "$dstdir"
++ dstdir_status=$?
++ fi
++ fi
++
++ obsolete_mkdir_used=false
++
++ if test $dstdir_status != 0; then
++ case $posix_mkdir in
++ '')
++ # Create intermediate dirs using mode 755 as modified by the umask.
++ # This is like FreeBSD 'install' as of 1997-10-28.
++ umask=`umask`
++ case $stripcmd.$umask in
++ # Optimize common cases.
++ *[2367][2367]) mkdir_umask=$umask;;
++ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
++
++ *[0-7])
++ mkdir_umask=`expr $umask + 22 \
++ - $umask % 100 % 40 + $umask % 20 \
++ - $umask % 10 % 4 + $umask % 2
++ `;;
++ *) mkdir_umask=$umask,go-w;;
++ esac
++
++ # With -d, create the new directory with the user-specified mode.
++ # Otherwise, rely on $mkdir_umask.
++ if test -n "$dir_arg"; then
++ mkdir_mode=-m$mode
++ else
++ mkdir_mode=
++ fi
++
++ posix_mkdir=false
++ case $umask in
++ *[123567][0-7][0-7])
++ # POSIX mkdir -p sets u+wx bits regardless of umask, which
++ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
++ ;;
++ *)
++ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
++ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
++
++ if (umask $mkdir_umask &&
++ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
++ then
++ if test -z "$dir_arg" || {
++ # Check for POSIX incompatibilities with -m.
++ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
++ # other-writeable bit of parent directory when it shouldn't.
++ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
++ ls_ld_tmpdir=`ls -ld "$tmpdir"`
++ case $ls_ld_tmpdir in
++ d????-?r-*) different_mode=700;;
++ d????-?--*) different_mode=755;;
++ *) false;;
++ esac &&
++ $mkdirprog -m$different_mode -p -- "$tmpdir" && {
++ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
++ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
++ }
++ }
++ then posix_mkdir=:
++ fi
++ rmdir "$tmpdir/d" "$tmpdir"
++ else
++ # Remove any dirs left behind by ancient mkdir implementations.
++ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
++ fi
++ trap '' 0;;
++ esac;;
++ esac
++
++ if
++ $posix_mkdir && (
++ umask $mkdir_umask &&
++ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
++ )
++ then :
++ else
++
++ # The umask is ridiculous, or mkdir does not conform to POSIX,
++ # or it failed possibly due to a race condition. Create the
++ # directory the slow way, step by step, checking for races as we go.
++
++ case $dstdir in
++ /*) prefix='/';;
++ -*) prefix='./';;
++ *) prefix='';;
++ esac
++
++ eval "$initialize_posix_glob"
++
++ oIFS=$IFS
++ IFS=/
++ $posix_glob set -f
++ set fnord $dstdir
++ shift
++ $posix_glob set +f
++ IFS=$oIFS
++
++ prefixes=
++
++ for d
++ do
++ test -z "$d" && continue
++
++ prefix=$prefix$d
++ if test -d "$prefix"; then
++ prefixes=
++ else
++ if $posix_mkdir; then
++ (umask=$mkdir_umask &&
++ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
++ # Don't fail if two instances are running concurrently.
++ test -d "$prefix" || exit 1
++ else
++ case $prefix in
++ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
++ *) qprefix=$prefix;;
++ esac
++ prefixes="$prefixes '$qprefix'"
++ fi
++ fi
++ prefix=$prefix/
++ done
++
++ if test -n "$prefixes"; then
++ # Don't fail if two instances are running concurrently.
++ (umask $mkdir_umask &&
++ eval "\$doit_exec \$mkdirprog $prefixes") ||
++ test -d "$dstdir" || exit 1
++ obsolete_mkdir_used=true
++ fi
++ fi
++ fi
++
++ if test -n "$dir_arg"; then
++ { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
++ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
++ { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
++ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
++ else
++
++ # Make a couple of temp file names in the proper directory.
++ dsttmp=$dstdir/_inst.$$_
++ rmtmp=$dstdir/_rm.$$_
++
++ # Trap to clean up those temp files at exit.
++ trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
++
++ # Copy the file name to the temp name.
++ (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
++
++ # and set any options; do chmod last to preserve setuid bits.
++ #
++ # If any of these fail, we abort the whole thing. If we want to
++ # ignore errors from any of these, just make sure not to ignore
++ # errors from the above "$doit $cpprog $src $dsttmp" command.
++ #
++ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
++ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
++ { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
++ { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
++
++ # If -C, don't bother to copy if it wouldn't change the file.
++ if $copy_on_change &&
++ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
++ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
++
++ eval "$initialize_posix_glob" &&
++ $posix_glob set -f &&
++ set X $old && old=:$2:$4:$5:$6 &&
++ set X $new && new=:$2:$4:$5:$6 &&
++ $posix_glob set +f &&
++
++ test "$old" = "$new" &&
++ $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
++ then
++ rm -f "$dsttmp"
++ else
++ # Rename the file to the real destination.
++ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
++
++ # The rename failed, perhaps because mv can't rename something else
++ # to itself, or perhaps because mv is so ancient that it does not
++ # support -f.
++ {
++ # Now remove or move aside any old file at destination location.
++ # We try this two ways since rm can't unlink itself on some
++ # systems and the destination file might be busy for other
++ # reasons. In this case, the final cleanup might fail but the new
++ # file should still install successfully.
++ {
++ test ! -f "$dst" ||
++ $doit $rmcmd -f "$dst" 2>/dev/null ||
++ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
++ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
++ } ||
++ { echo "$0: cannot unlink or rename $dst" >&2
++ (exit 1); exit 1
++ }
++ } &&
++
++ # Now rename the file to the real destination.
++ $doit $mvcmd "$dsttmp" "$dst"
++ }
++ fi || exit 1
++
++ trap '' 0
++ fi
++done
++
++# Local variables:
++# eval: (add-hook 'write-file-hooks 'time-stamp)
++# time-stamp-start: "scriptversion="
++# time-stamp-format: "%:y-%02m-%02d.%02H"
++# time-stamp-time-zone: "UTC"
++# time-stamp-end: "; # UTC"
++# End:
+Index: libdessert0.86-0.86.14/libdessert.pc.in
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/libdessert.pc.in 2009-12-09 16:38:27.246011666 +0100
+@@ -0,0 +1,11 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: @PACKAGE_NAME@
++Description: DES-SERT - an Extensible Routing-Framework for Testbeds
++Version: @VERSION@
++Libs: @PTHREAD_LIBS@ -L${libdir} -ldessert
++Cflags: @PTHREAD_CFLAGS@ -I${includedir}
++
+Index: libdessert0.86-0.86.14/ltmain.sh
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/ltmain.sh 2009-12-09 16:38:27.254756172 +0100
+@@ -0,0 +1,8413 @@
++# Generated from ltmain.m4sh.
++
++# ltmain.sh (GNU libtool) 2.2.6
++# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
++
++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
++# This is free software; see the source for copying conditions. There is NO
++# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
++
++# GNU Libtool 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 2 of the License, or
++# (at your option) any later version.
++#
++# As a special exception to the GNU General Public License,
++# if you distribute this file as part of a program or library that
++# is built using GNU Libtool, you may include this file under the
++# same distribution terms that you use for the rest of that program.
++#
++# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy
++# can be downloaded from http://www.gnu.org/licenses/gpl.html,
++# or obtained by writing to the Free Software Foundation, Inc.,
++# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++
++# Usage: $progname [OPTION]... [MODE-ARG]...
++#
++# Provide generalized library-building support services.
++#
++# --config show all configuration variables
++# --debug enable verbose shell tracing
++# -n, --dry-run display commands without modifying any files
++# --features display basic configuration information and exit
++# --mode=MODE use operation mode MODE
++# --preserve-dup-deps don't remove duplicate dependency libraries
++# --quiet, --silent don't print informational messages
++# --tag=TAG use configuration variables from tag TAG
++# -v, --verbose print informational messages (default)
++# --version print version information
++# -h, --help print short or long help message
++#
++# MODE must be one of the following:
++#
++# clean remove files from the build directory
++# compile compile a source file into a libtool object
++# execute automatically set library path, then run a program
++# finish complete the installation of libtool libraries
++# install install libraries or executables
++# link create a library or an executable
++# uninstall remove libraries from an installed directory
++#
++# MODE-ARGS vary depending on the MODE.
++# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
++#
++# When reporting a bug, please describe a test case to reproduce it and
++# include the following information:
++#
++# host-triplet: $host
++# shell: $SHELL
++# compiler: $LTCC
++# compiler flags: $LTCFLAGS
++# linker: $LD (gnu? $with_gnu_ld)
++# $progname: (GNU libtool) 2.2.6 Debian-2.2.6a-4
++# automake: $automake_version
++# autoconf: $autoconf_version
++#
++# Report bugs to <bug-libtool@gnu.org>.
++
++PROGRAM=ltmain.sh
++PACKAGE=libtool
++VERSION="2.2.6 Debian-2.2.6a-4"
++TIMESTAMP=""
++package_revision=1.3012
++
++# Be Bourne compatible
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++ emulate sh
++ NULLCMD=:
++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
++ # is contrary to our usage. Disable this feature.
++ alias -g '${1+"$@"}'='"$@"'
++ setopt NO_GLOB_SUBST
++else
++ case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
++fi
++BIN_SH=xpg4; export BIN_SH # for Tru64
++DUALCASE=1; export DUALCASE # for MKS sh
++
++# NLS nuisances: We save the old values to restore during execute mode.
++# Only set LANG and LC_ALL to C if already set.
++# These must not be set unconditionally because not all systems understand
++# e.g. LANG=C (notably SCO).
++lt_user_locale=
++lt_safe_locale=
++for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
++do
++ eval "if test \"\${$lt_var+set}\" = set; then
++ save_$lt_var=\$$lt_var
++ $lt_var=C
++ export $lt_var
++ lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
++ lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
++ fi"
++done
++
++$lt_unset CDPATH
++
++
++
++
++
++: ${CP="cp -f"}
++: ${ECHO="echo"}
++: ${EGREP="/bin/grep -E"}
++: ${FGREP="/bin/grep -F"}
++: ${GREP="/bin/grep"}
++: ${LN_S="ln -s"}
++: ${MAKE="make"}
++: ${MKDIR="mkdir"}
++: ${MV="mv -f"}
++: ${RM="rm -f"}
++: ${SED="/bin/sed"}
++: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
++: ${Xsed="$SED -e 1s/^X//"}
++
++# Global variables:
++EXIT_SUCCESS=0
++EXIT_FAILURE=1
++EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
++EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
++
++exit_status=$EXIT_SUCCESS
++
++# Make sure IFS has a sensible default
++lt_nl='
++'
++IFS=" $lt_nl"
++
++dirname="s,/[^/]*$,,"
++basename="s,^.*/,,"
++
++# func_dirname_and_basename file append nondir_replacement
++# perform func_basename and func_dirname in a single function
++# call:
++# dirname: Compute the dirname of FILE. If nonempty,
++# add APPEND to the result, otherwise set result
++# to NONDIR_REPLACEMENT.
++# value returned in "$func_dirname_result"
++# basename: Compute filename of FILE.
++# value retuned in "$func_basename_result"
++# Implementation must be kept synchronized with func_dirname
++# and func_basename. For efficiency, we do not delegate to
++# those functions but instead duplicate the functionality here.
++func_dirname_and_basename ()
++{
++ # Extract subdirectory from the argument.
++ func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
++ if test "X$func_dirname_result" = "X${1}"; then
++ func_dirname_result="${3}"
++ else
++ func_dirname_result="$func_dirname_result${2}"
++ fi
++ func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
++}
++
++# Generated shell functions inserted here.
++
++# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
++# is ksh but when the shell is invoked as "sh" and the current value of
++# the _XPG environment variable is not equal to 1 (one), the special
++# positional parameter $0, within a function call, is the name of the
++# function.
++progpath="$0"
++
++# The name of this program:
++# In the unlikely event $progname began with a '-', it would play havoc with
++# func_echo (imagine progname=-n), so we prepend ./ in that case:
++func_dirname_and_basename "$progpath"
++progname=$func_basename_result
++case $progname in
++ -*) progname=./$progname ;;
++esac
++
++# Make sure we have an absolute path for reexecution:
++case $progpath in
++ [\\/]*|[A-Za-z]:\\*) ;;
++ *[\\/]*)
++ progdir=$func_dirname_result
++ progdir=`cd "$progdir" && pwd`
++ progpath="$progdir/$progname"
++ ;;
++ *)
++ save_IFS="$IFS"
++ IFS=:
++ for progdir in $PATH; do
++ IFS="$save_IFS"
++ test -x "$progdir/$progname" && break
++ done
++ IFS="$save_IFS"
++ test -n "$progdir" || progdir=`pwd`
++ progpath="$progdir/$progname"
++ ;;
++esac
++
++# Sed substitution that helps us do robust quoting. It backslashifies
++# metacharacters that are still active within double-quoted strings.
++Xsed="${SED}"' -e 1s/^X//'
++sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
++
++# Same as above, but do not quote variable references.
++double_quote_subst='s/\(["`\\]\)/\\\1/g'
++
++# Re-`\' parameter expansions in output of double_quote_subst that were
++# `\'-ed in input to the same. If an odd number of `\' preceded a '$'
++# in input to double_quote_subst, that '$' was protected from expansion.
++# Since each input `\' is now two `\'s, look for any number of runs of
++# four `\'s followed by two `\'s and then a '$'. `\' that '$'.
++bs='\\'
++bs2='\\\\'
++bs4='\\\\\\\\'
++dollar='\$'
++sed_double_backslash="\
++ s/$bs4/&\\
++/g
++ s/^$bs2$dollar/$bs&/
++ s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
++ s/\n//g"
++
++# Standard options:
++opt_dry_run=false
++opt_help=false
++opt_quiet=false
++opt_verbose=false
++opt_warning=:
++
++# func_echo arg...
++# Echo program name prefixed message, along with the current mode
++# name if it has been set yet.
++func_echo ()
++{
++ $ECHO "$progname${mode+: }$mode: $*"
++}
++
++# func_verbose arg...
++# Echo program name prefixed message in verbose mode only.
++func_verbose ()
++{
++ $opt_verbose && func_echo ${1+"$@"}
++
++ # A bug in bash halts the script if the last line of a function
++ # fails when set -e is in force, so we need another command to
++ # work around that:
++ :
++}
++
++# func_error arg...
++# Echo program name prefixed message to standard error.
++func_error ()
++{
++ $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
++}
++
++# func_warning arg...
++# Echo program name prefixed warning message to standard error.
++func_warning ()
++{
++ $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
++
++ # bash bug again:
++ :
++}
++
++# func_fatal_error arg...
++# Echo program name prefixed message to standard error, and exit.
++func_fatal_error ()
++{
++ func_error ${1+"$@"}
++ exit $EXIT_FAILURE
++}
++
++# func_fatal_help arg...
++# Echo program name prefixed message to standard error, followed by
++# a help hint, and exit.
++func_fatal_help ()
++{
++ func_error ${1+"$@"}
++ func_fatal_error "$help"
++}
++help="Try \`$progname --help' for more information." ## default
++
++
++# func_grep expression filename
++# Check whether EXPRESSION matches any line of FILENAME, without output.
++func_grep ()
++{
++ $GREP "$1" "$2" >/dev/null 2>&1
++}
++
++
++# func_mkdir_p directory-path
++# Make sure the entire path to DIRECTORY-PATH is available.
++func_mkdir_p ()
++{
++ my_directory_path="$1"
++ my_dir_list=
++
++ if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
++
++ # Protect directory names starting with `-'
++ case $my_directory_path in
++ -*) my_directory_path="./$my_directory_path" ;;
++ esac
++
++ # While some portion of DIR does not yet exist...
++ while test ! -d "$my_directory_path"; do
++ # ...make a list in topmost first order. Use a colon delimited
++ # list incase some portion of path contains whitespace.
++ my_dir_list="$my_directory_path:$my_dir_list"
++
++ # If the last portion added has no slash in it, the list is done
++ case $my_directory_path in */*) ;; *) break ;; esac
++
++ # ...otherwise throw away the child directory and loop
++ my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
++ done
++ my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
++
++ save_mkdir_p_IFS="$IFS"; IFS=':'
++ for my_dir in $my_dir_list; do
++ IFS="$save_mkdir_p_IFS"
++ # mkdir can fail with a `File exist' error if two processes
++ # try to create one of the directories concurrently. Don't
++ # stop in that case!
++ $MKDIR "$my_dir" 2>/dev/null || :
++ done
++ IFS="$save_mkdir_p_IFS"
++
++ # Bail out if we (or some other process) failed to create a directory.
++ test -d "$my_directory_path" || \
++ func_fatal_error "Failed to create \`$1'"
++ fi
++}
++
++
++# func_mktempdir [string]
++# Make a temporary directory that won't clash with other running
++# libtool processes, and avoids race conditions if possible. If
++# given, STRING is the basename for that directory.
++func_mktempdir ()
++{
++ my_template="${TMPDIR-/tmp}/${1-$progname}"
++
++ if test "$opt_dry_run" = ":"; then
++ # Return a directory name, but don't create it in dry-run mode
++ my_tmpdir="${my_template}-$$"
++ else
++
++ # If mktemp works, use that first and foremost
++ my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
++
++ if test ! -d "$my_tmpdir"; then
++ # Failing that, at least try and use $RANDOM to avoid a race
++ my_tmpdir="${my_template}-${RANDOM-0}$$"
++
++ save_mktempdir_umask=`umask`
++ umask 0077
++ $MKDIR "$my_tmpdir"
++ umask $save_mktempdir_umask
++ fi
++
++ # If we're not in dry-run mode, bomb out on failure
++ test -d "$my_tmpdir" || \
++ func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
++ fi
++
++ $ECHO "X$my_tmpdir" | $Xsed
++}
++
++
++# func_quote_for_eval arg
++# Aesthetically quote ARG to be evaled later.
++# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
++# is double-quoted, suitable for a subsequent eval, whereas
++# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
++# which are still active within double quotes backslashified.
++func_quote_for_eval ()
++{
++ case $1 in
++ *[\\\`\"\$]*)
++ func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
++ *)
++ func_quote_for_eval_unquoted_result="$1" ;;
++ esac
++
++ case $func_quote_for_eval_unquoted_result in
++ # Double-quote args containing shell metacharacters to delay
++ # word splitting, command substitution and and variable
++ # expansion for a subsequent eval.
++ # Many Bourne shells cannot handle close brackets correctly
++ # in scan sets, so we specify it separately.
++ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
++ func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
++ ;;
++ *)
++ func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
++ esac
++}
++
++
++# func_quote_for_expand arg
++# Aesthetically quote ARG to be evaled later; same as above,
++# but do not quote variable references.
++func_quote_for_expand ()
++{
++ case $1 in
++ *[\\\`\"]*)
++ my_arg=`$ECHO "X$1" | $Xsed \
++ -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
++ *)
++ my_arg="$1" ;;
++ esac
++
++ case $my_arg in
++ # Double-quote args containing shell metacharacters to delay
++ # word splitting and command substitution for a subsequent eval.
++ # Many Bourne shells cannot handle close brackets correctly
++ # in scan sets, so we specify it separately.
++ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
++ my_arg="\"$my_arg\""
++ ;;
++ esac
++
++ func_quote_for_expand_result="$my_arg"
++}
++
++
++# func_show_eval cmd [fail_exp]
++# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
++# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
++# is given, then evaluate it.
++func_show_eval ()
++{
++ my_cmd="$1"
++ my_fail_exp="${2-:}"
++
++ ${opt_silent-false} || {
++ func_quote_for_expand "$my_cmd"
++ eval "func_echo $func_quote_for_expand_result"
++ }
++
++ if ${opt_dry_run-false}; then :; else
++ eval "$my_cmd"
++ my_status=$?
++ if test "$my_status" -eq 0; then :; else
++ eval "(exit $my_status); $my_fail_exp"
++ fi
++ fi
++}
++
++
++# func_show_eval_locale cmd [fail_exp]
++# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
++# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
++# is given, then evaluate it. Use the saved locale for evaluation.
++func_show_eval_locale ()
++{
++ my_cmd="$1"
++ my_fail_exp="${2-:}"
++
++ ${opt_silent-false} || {
++ func_quote_for_expand "$my_cmd"
++ eval "func_echo $func_quote_for_expand_result"
++ }
++
++ if ${opt_dry_run-false}; then :; else
++ eval "$lt_user_locale
++ $my_cmd"
++ my_status=$?
++ eval "$lt_safe_locale"
++ if test "$my_status" -eq 0; then :; else
++ eval "(exit $my_status); $my_fail_exp"
++ fi
++ fi
++}
++
++
++
++
++
++# func_version
++# Echo version message to standard output and exit.
++func_version ()
++{
++ $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
++ s/^# //
++ s/^# *$//
++ s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
++ p
++ }' < "$progpath"
++ exit $?
++}
++
++# func_usage
++# Echo short help message to standard output and exit.
++func_usage ()
++{
++ $SED -n '/^# Usage:/,/# -h/ {
++ s/^# //
++ s/^# *$//
++ s/\$progname/'$progname'/
++ p
++ }' < "$progpath"
++ $ECHO
++ $ECHO "run \`$progname --help | more' for full usage"
++ exit $?
++}
++
++# func_help
++# Echo long help message to standard output and exit.
++func_help ()
++{
++ $SED -n '/^# Usage:/,/# Report bugs to/ {
++ s/^# //
++ s/^# *$//
++ s*\$progname*'$progname'*
++ s*\$host*'"$host"'*
++ s*\$SHELL*'"$SHELL"'*
++ s*\$LTCC*'"$LTCC"'*
++ s*\$LTCFLAGS*'"$LTCFLAGS"'*
++ s*\$LD*'"$LD"'*
++ s/\$with_gnu_ld/'"$with_gnu_ld"'/
++ s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
++ s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
++ p
++ }' < "$progpath"
++ exit $?
++}
++
++# func_missing_arg argname
++# Echo program name prefixed message to standard error and set global
++# exit_cmd.
++func_missing_arg ()
++{
++ func_error "missing argument for $1"
++ exit_cmd=exit
++}
++
++exit_cmd=:
++
++
++
++
++
++# Check that we have a working $ECHO.
++if test "X$1" = X--no-reexec; then
++ # Discard the --no-reexec flag, and continue.
++ shift
++elif test "X$1" = X--fallback-echo; then
++ # Avoid inline document here, it may be left over
++ :
++elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
++ # Yippee, $ECHO works!
++ :
++else
++ # Restart under the correct shell, and then maybe $ECHO will work.
++ exec $SHELL "$progpath" --no-reexec ${1+"$@"}
++fi
++
++if test "X$1" = X--fallback-echo; then
++ # used as fallback echo
++ shift
++ cat <<EOF
++$*
++EOF
++ exit $EXIT_SUCCESS
++fi
++
++magic="%%%MAGIC variable%%%"
++magic_exe="%%%MAGIC EXE variable%%%"
++
++# Global variables.
++# $mode is unset
++nonopt=
++execute_dlfiles=
++preserve_args=
++lo2o="s/\\.lo\$/.${objext}/"
++o2lo="s/\\.${objext}\$/.lo/"
++extracted_archives=
++extracted_serial=0
++
++opt_dry_run=false
++opt_duplicate_deps=false
++opt_silent=false
++opt_debug=:
++
++# If this variable is set in any of the actions, the command in it
++# will be execed at the end. This prevents here-documents from being
++# left over by shells.
++exec_cmd=
++
++# func_fatal_configuration arg...
++# Echo program name prefixed message to standard error, followed by
++# a configuration failure hint, and exit.
++func_fatal_configuration ()
++{
++ func_error ${1+"$@"}
++ func_error "See the $PACKAGE documentation for more information."
++ func_fatal_error "Fatal configuration error."
++}
++
++
++# func_config
++# Display the configuration for all the tags in this script.
++func_config ()
++{
++ re_begincf='^# ### BEGIN LIBTOOL'
++ re_endcf='^# ### END LIBTOOL'
++
++ # Default configuration.
++ $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
++
++ # Now print the configurations for the tags.
++ for tagname in $taglist; do
++ $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
++ done
++
++ exit $?
++}
++
++# func_features
++# Display the features supported by this script.
++func_features ()
++{
++ $ECHO "host: $host"
++ if test "$build_libtool_libs" = yes; then
++ $ECHO "enable shared libraries"
++ else
++ $ECHO "disable shared libraries"
++ fi
++ if test "$build_old_libs" = yes; then
++ $ECHO "enable static libraries"
++ else
++ $ECHO "disable static libraries"
++ fi
++
++ exit $?
++}
++
++# func_enable_tag tagname
++# Verify that TAGNAME is valid, and either flag an error and exit, or
++# enable the TAGNAME tag. We also add TAGNAME to the global $taglist
++# variable here.
++func_enable_tag ()
++{
++ # Global variable:
++ tagname="$1"
++
++ re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
++ re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
++ sed_extractcf="/$re_begincf/,/$re_endcf/p"
++
++ # Validate tagname.
++ case $tagname in
++ *[!-_A-Za-z0-9,/]*)
++ func_fatal_error "invalid tag name: $tagname"
++ ;;
++ esac
++
++ # Don't test for the "default" C tag, as we know it's
++ # there but not specially marked.
++ case $tagname in
++ CC) ;;
++ *)
++ if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
++ taglist="$taglist $tagname"
++
++ # Evaluate the configuration. Be careful to quote the path
++ # and the sed script, to avoid splitting on whitespace, but
++ # also don't use non-portable quotes within backquotes within
++ # quotes we have to do it in 2 steps:
++ extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
++ eval "$extractedcf"
++ else
++ func_error "ignoring unknown tag $tagname"
++ fi
++ ;;
++ esac
++}
++
++# Parse options once, thoroughly. This comes as soon as possible in
++# the script to make things like `libtool --version' happen quickly.
++{
++
++ # Shorthand for --mode=foo, only valid as the first argument
++ case $1 in
++ clean|clea|cle|cl)
++ shift; set dummy --mode clean ${1+"$@"}; shift
++ ;;
++ compile|compil|compi|comp|com|co|c)
++ shift; set dummy --mode compile ${1+"$@"}; shift
++ ;;
++ execute|execut|execu|exec|exe|ex|e)
++ shift; set dummy --mode execute ${1+"$@"}; shift
++ ;;
++ finish|finis|fini|fin|fi|f)
++ shift; set dummy --mode finish ${1+"$@"}; shift
++ ;;
++ install|instal|insta|inst|ins|in|i)
++ shift; set dummy --mode install ${1+"$@"}; shift
++ ;;
++ link|lin|li|l)
++ shift; set dummy --mode link ${1+"$@"}; shift
++ ;;
++ uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
++ shift; set dummy --mode uninstall ${1+"$@"}; shift
++ ;;
++ esac
++
++ # Parse non-mode specific arguments:
++ while test "$#" -gt 0; do
++ opt="$1"
++ shift
++
++ case $opt in
++ --config) func_config ;;
++
++ --debug) preserve_args="$preserve_args $opt"
++ func_echo "enabling shell trace mode"
++ opt_debug='set -x'
++ $opt_debug
++ ;;
++
++ -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break
++ execute_dlfiles="$execute_dlfiles $1"
++ shift
++ ;;
++
++ --dry-run | -n) opt_dry_run=: ;;
++ --features) func_features ;;
++ --finish) mode="finish" ;;
++
++ --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break
++ case $1 in
++ # Valid mode arguments:
++ clean) ;;
++ compile) ;;
++ execute) ;;
++ finish) ;;
++ install) ;;
++ link) ;;
++ relink) ;;
++ uninstall) ;;
++
++ # Catch anything else as an error
++ *) func_error "invalid argument for $opt"
++ exit_cmd=exit
++ break
++ ;;
++ esac
++
++ mode="$1"
++ shift
++ ;;
++
++ --preserve-dup-deps)
++ opt_duplicate_deps=: ;;
++
++ --quiet|--silent) preserve_args="$preserve_args $opt"
++ opt_silent=:
++ ;;
++
++ --verbose| -v) preserve_args="$preserve_args $opt"
++ opt_silent=false
++ ;;
++
++ --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break
++ preserve_args="$preserve_args $opt $1"
++ func_enable_tag "$1" # tagname is set here
++ shift
++ ;;
++
++ # Separate optargs to long options:
++ -dlopen=*|--mode=*|--tag=*)
++ func_opt_split "$opt"
++ set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
++ shift
++ ;;
++
++ -\?|-h) func_usage ;;
++ --help) opt_help=: ;;
++ --version) func_version ;;
++
++ -*) func_fatal_help "unrecognized option \`$opt'" ;;
++
++ *) nonopt="$opt"
++ break
++ ;;
++ esac
++ done
++
++
++ case $host in
++ *cygwin* | *mingw* | *pw32* | *cegcc*)
++ # don't eliminate duplications in $postdeps and $predeps
++ opt_duplicate_compiler_generated_deps=:
++ ;;
++ *)
++ opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
++ ;;
++ esac
++
++ # Having warned about all mis-specified options, bail out if
++ # anything was wrong.
++ $exit_cmd $EXIT_FAILURE
++}
+
-+# Generate automatic documentation using Doxygen. Goals and variables values
-+# are controlled by the various DX_COND_??? conditionals set by autoconf.
-+#
-+# The provided goals are:
-+# doxygen-doc: Generate all doxygen documentation.
-+# doxygen-run: Run doxygen, which will generate some of the documentation
-+# (HTML, CHM, CHI, MAN, RTF, XML) but will not do the post
-+# processing required for the rest of it (PS, PDF, and some MAN).
-+# doxygen-man: Rename some doxygen generated man pages.
-+# doxygen-ps: Generate doxygen PostScript documentation.
-+# doxygen-pdf: Generate doxygen PDF documentation.
-+#
-+# Note that by default these are not integrated into the automake goals. If
-+# doxygen is used to generate man pages, you can achieve this integration by
-+# setting man3_MANS to the list of man pages generated and then adding the
-+# dependency:
-+#
-+# $(man3_MANS): doxygen-doc
-+#
-+# This will cause make to run doxygen and generate all the documentation.
-+#
-+# The following variable is intended for use in Makefile.am:
-+#
-+# DX_CLEANFILES = everything to clean.
++# func_check_version_match
++# Ensure that we are using m4 macros, and libtool script from the same
++# release of libtool.
++func_check_version_match ()
++{
++ if test "$package_revision" != "$macro_revision"; then
++ if test "$VERSION" != "$macro_version"; then
++ if test -z "$macro_version"; then
++ cat >&2 <<_LT_EOF
++$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
++$progname: definition of this LT_INIT comes from an older release.
++$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
++$progname: and run autoconf again.
++_LT_EOF
++ else
++ cat >&2 <<_LT_EOF
++$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
++$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
++$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
++$progname: and run autoconf again.
++_LT_EOF
++ fi
++ else
++ cat >&2 <<_LT_EOF
++$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
++$progname: but the definition of this LT_INIT comes from revision $macro_revision.
++$progname: You should recreate aclocal.m4 with macros from revision $package_revision
++$progname: of $PACKAGE $VERSION and run autoconf again.
++_LT_EOF
++ fi
++
++ exit $EXIT_MISMATCH
++ fi
++}
++
++
++## ----------- ##
++## Main. ##
++## ----------- ##
++
++$opt_help || {
++ # Sanity checks first:
++ func_check_version_match
++
++ if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
++ func_fatal_configuration "not configured to build any kind of library"
++ fi
++
++ test -z "$mode" && func_fatal_error "error: you must specify a MODE."
++
++
++ # Darwin sucks
++ eval std_shrext=\"$shrext_cmds\"
++
++
++ # Only execute mode is allowed to have -dlopen flags.
++ if test -n "$execute_dlfiles" && test "$mode" != execute; then
++ func_error "unrecognized option \`-dlopen'"
++ $ECHO "$help" 1>&2
++ exit $EXIT_FAILURE
++ fi
++
++ # Change the help message to a mode-specific one.
++ generic_help="$help"
++ help="Try \`$progname --help --mode=$mode' for more information."
++}
++
++
++# func_lalib_p file
++# True iff FILE is a libtool `.la' library or `.lo' object file.
++# This function is only a basic sanity check; it will hardly flush out
++# determined imposters.
++func_lalib_p ()
++{
++ test -f "$1" &&
++ $SED -e 4q "$1" 2>/dev/null \
++ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
++}
++
++# func_lalib_unsafe_p file
++# True iff FILE is a libtool `.la' library or `.lo' object file.
++# This function implements the same check as func_lalib_p without
++# resorting to external programs. To this end, it redirects stdin and
++# closes it afterwards, without saving the original file descriptor.
++# As a safety measure, use it only where a negative result would be
++# fatal anyway. Works if `file' does not exist.
++func_lalib_unsafe_p ()
++{
++ lalib_p=no
++ if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
++ for lalib_p_l in 1 2 3 4
++ do
++ read lalib_p_line
++ case "$lalib_p_line" in
++ \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
++ esac
++ done
++ exec 0<&5 5<&-
++ fi
++ test "$lalib_p" = yes
++}
++
++# func_ltwrapper_script_p file
++# True iff FILE is a libtool wrapper script
++# This function is only a basic sanity check; it will hardly flush out
++# determined imposters.
++func_ltwrapper_script_p ()
++{
++ func_lalib_p "$1"
++}
++
++# func_ltwrapper_executable_p file
++# True iff FILE is a libtool wrapper executable
++# This function is only a basic sanity check; it will hardly flush out
++# determined imposters.
++func_ltwrapper_executable_p ()
++{
++ func_ltwrapper_exec_suffix=
++ case $1 in
++ *.exe) ;;
++ *) func_ltwrapper_exec_suffix=.exe ;;
++ esac
++ $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
++}
++
++# func_ltwrapper_scriptname file
++# Assumes file is an ltwrapper_executable
++# uses $file to determine the appropriate filename for a
++# temporary ltwrapper_script.
++func_ltwrapper_scriptname ()
++{
++ func_ltwrapper_scriptname_result=""
++ if func_ltwrapper_executable_p "$1"; then
++ func_dirname_and_basename "$1" "" "."
++ func_stripname '' '.exe' "$func_basename_result"
++ func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
++ fi
++}
++
++# func_ltwrapper_p file
++# True iff FILE is a libtool wrapper script or wrapper executable
++# This function is only a basic sanity check; it will hardly flush out
++# determined imposters.
++func_ltwrapper_p ()
++{
++ func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
++}
++
++
++# func_execute_cmds commands fail_cmd
++# Execute tilde-delimited COMMANDS.
++# If FAIL_CMD is given, eval that upon failure.
++# FAIL_CMD may read-access the current command in variable CMD!
++func_execute_cmds ()
++{
++ $opt_debug
++ save_ifs=$IFS; IFS='~'
++ for cmd in $1; do
++ IFS=$save_ifs
++ eval cmd=\"$cmd\"
++ func_show_eval "$cmd" "${2-:}"
++ done
++ IFS=$save_ifs
++}
++
++
++# func_source file
++# Source FILE, adding directory component if necessary.
++# Note that it is not necessary on cygwin/mingw to append a dot to
++# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
++# behavior happens only for exec(3), not for open(2)! Also, sourcing
++# `FILE.' does not work on cygwin managed mounts.
++func_source ()
++{
++ $opt_debug
++ case $1 in
++ */* | *\\*) . "$1" ;;
++ *) . "./$1" ;;
++ esac
++}
++
++
++# func_infer_tag arg
++# Infer tagged configuration to use if any are available and
++# if one wasn't chosen via the "--tag" command line option.
++# Only attempt this if the compiler in the base compile
++# command doesn't match the default compiler.
++# arg is usually of the form 'gcc ...'
++func_infer_tag ()
++{
++ $opt_debug
++ if test -n "$available_tags" && test -z "$tagname"; then
++ CC_quoted=
++ for arg in $CC; do
++ func_quote_for_eval "$arg"
++ CC_quoted="$CC_quoted $func_quote_for_eval_result"
++ done
++ case $@ in
++ # Blanks in the command may have been stripped by the calling shell,
++ # but not from the CC environment variable when configure was run.
++ " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
++ # Blanks at the start of $base_compile will cause this to fail
++ # if we don't check for them as well.
++ *)
++ for z in $available_tags; do
++ if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
++ # Evaluate the configuration.
++ eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
++ CC_quoted=
++ for arg in $CC; do
++ # Double-quote args containing other shell metacharacters.
++ func_quote_for_eval "$arg"
++ CC_quoted="$CC_quoted $func_quote_for_eval_result"
++ done
++ case "$@ " in
++ " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
++ # The compiler in the base compile command matches
++ # the one in the tagged configuration.
++ # Assume this is the tagged configuration we want.
++ tagname=$z
++ break
++ ;;
++ esac
++ fi
++ done
++ # If $tagname still isn't set, then no tagged configuration
++ # was found and let the user know that the "--tag" command
++ # line option must be used.
++ if test -z "$tagname"; then
++ func_echo "unable to infer tagged configuration"
++ func_fatal_error "specify a tag with \`--tag'"
++# else
++# func_verbose "using $tagname tagged configuration"
++ fi
++ ;;
++ esac
++ fi
++}
++
++
++
++# func_write_libtool_object output_name pic_name nonpic_name
++# Create a libtool object file (analogous to a ".la" file),
++# but don't create it if we're doing a dry run.
++func_write_libtool_object ()
++{
++ write_libobj=${1}
++ if test "$build_libtool_libs" = yes; then
++ write_lobj=\'${2}\'
++ else
++ write_lobj=none
++ fi
++
++ if test "$build_old_libs" = yes; then
++ write_oldobj=\'${3}\'
++ else
++ write_oldobj=none
++ fi
++
++ $opt_dry_run || {
++ cat >${write_libobj}T <<EOF
++# $write_libobj - a libtool object file
++# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
-+# This is usually added to MOSTLYCLEANFILES.
++# Please DO NOT delete this file!
++# It is necessary for linking the library.
+
-+## --------------------------------- ##
-+## Format-independent Doxygen rules. ##
-+## --------------------------------- ##
++# Name of the PIC object.
++pic_object=$write_lobj
+
-+if DX_COND_doc
++# Name of the non-PIC object
++non_pic_object=$write_oldobj
+
-+## ------------------------------- ##
-+## Rules specific for HTML output. ##
-+## ------------------------------- ##
++EOF
++ $MV "${write_libobj}T" "${write_libobj}"
++ }
++}
+
-+if DX_COND_html
++# func_mode_compile arg...
++func_mode_compile ()
++{
++ $opt_debug
++ # Get the compilation command and the source file.
++ base_compile=
++ srcfile="$nonopt" # always keep a non-empty value in "srcfile"
++ suppress_opt=yes
++ suppress_output=
++ arg_mode=normal
++ libobj=
++ later=
++ pie_flag=
+
-+DX_CLEAN_HTML = @DX_DOCDIR@/html
++ for arg
++ do
++ case $arg_mode in
++ arg )
++ # do not "continue". Instead, add this to base_compile
++ lastarg="$arg"
++ arg_mode=normal
++ ;;
+
-+endif DX_COND_html
++ target )
++ libobj="$arg"
++ arg_mode=normal
++ continue
++ ;;
+
-+## ------------------------------ ##
-+## Rules specific for CHM output. ##
-+## ------------------------------ ##
++ normal )
++ # Accept any command-line options.
++ case $arg in
++ -o)
++ test -n "$libobj" && \
++ func_fatal_error "you cannot specify \`-o' more than once"
++ arg_mode=target
++ continue
++ ;;
+
-+if DX_COND_chm
++ -pie | -fpie | -fPIE)
++ pie_flag="$pie_flag $arg"
++ continue
++ ;;
+
-+DX_CLEAN_CHM = @DX_DOCDIR@/chm
++ -shared | -static | -prefer-pic | -prefer-non-pic)
++ later="$later $arg"
++ continue
++ ;;
+
-+if DX_COND_chi
++ -no-suppress)
++ suppress_opt=no
++ continue
++ ;;
+
-+DX_CLEAN_CHI = @DX_DOCDIR@/@PACKAGE@.chi
++ -Xcompiler)
++ arg_mode=arg # the next one goes into the "base_compile" arg list
++ continue # The current "srcfile" will either be retained or
++ ;; # replaced later. I would guess that would be a bug.
+
-+endif DX_COND_chi
++ -Wc,*)
++ func_stripname '-Wc,' '' "$arg"
++ args=$func_stripname_result
++ lastarg=
++ save_ifs="$IFS"; IFS=','
++ for arg in $args; do
++ IFS="$save_ifs"
++ func_quote_for_eval "$arg"
++ lastarg="$lastarg $func_quote_for_eval_result"
++ done
++ IFS="$save_ifs"
++ func_stripname ' ' '' "$lastarg"
++ lastarg=$func_stripname_result
+
-+endif DX_COND_chm
++ # Add the arguments to base_compile.
++ base_compile="$base_compile $lastarg"
++ continue
++ ;;
+
-+## ------------------------------ ##
-+## Rules specific for MAN output. ##
-+## ------------------------------ ##
++ *)
++ # Accept the current argument as the source file.
++ # The previous "srcfile" becomes the current argument.
++ #
++ lastarg="$srcfile"
++ srcfile="$arg"
++ ;;
++ esac # case $arg
++ ;;
++ esac # case $arg_mode
+
-+if DX_COND_man
++ # Aesthetically quote the previous argument.
++ func_quote_for_eval "$lastarg"
++ base_compile="$base_compile $func_quote_for_eval_result"
++ done # for arg
+
-+DX_CLEAN_MAN = @DX_DOCDIR@/man
++ case $arg_mode in
++ arg)
++ func_fatal_error "you must specify an argument for -Xcompile"
++ ;;
++ target)
++ func_fatal_error "you must specify a target with \`-o'"
++ ;;
++ *)
++ # Get the name of the library object.
++ test -z "$libobj" && {
++ func_basename "$srcfile"
++ libobj="$func_basename_result"
++ }
++ ;;
++ esac
+
-+endif DX_COND_man
++ # Recognize several different file suffixes.
++ # If the user specifies -o file.o, it is replaced with file.lo
++ case $libobj in
++ *.[cCFSifmso] | \
++ *.ada | *.adb | *.ads | *.asm | \
++ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
++ *.[fF][09]? | *.for | *.java | *.obj | *.sx)
++ func_xform "$libobj"
++ libobj=$func_xform_result
++ ;;
++ esac
+
-+## ------------------------------ ##
-+## Rules specific for RTF output. ##
-+## ------------------------------ ##
++ case $libobj in
++ *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
++ *)
++ func_fatal_error "cannot determine name of library object from \`$libobj'"
++ ;;
++ esac
+
-+if DX_COND_rtf
++ func_infer_tag $base_compile
+
-+DX_CLEAN_RTF = @DX_DOCDIR@/rtf
++ for arg in $later; do
++ case $arg in
++ -shared)
++ test "$build_libtool_libs" != yes && \
++ func_fatal_configuration "can not build a shared library"
++ build_old_libs=no
++ continue
++ ;;
+
-+endif DX_COND_rtf
++ -static)
++ build_libtool_libs=no
++ build_old_libs=yes
++ continue
++ ;;
+
-+## ------------------------------ ##
-+## Rules specific for XML output. ##
-+## ------------------------------ ##
++ -prefer-pic)
++ pic_mode=yes
++ continue
++ ;;
+
-+if DX_COND_xml
++ -prefer-non-pic)
++ pic_mode=no
++ continue
++ ;;
++ esac
++ done
+
-+DX_CLEAN_XML = @DX_DOCDIR@/xml
++ func_quote_for_eval "$libobj"
++ test "X$libobj" != "X$func_quote_for_eval_result" \
++ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
++ && func_warning "libobj name \`$libobj' may not contain shell special characters."
++ func_dirname_and_basename "$obj" "/" ""
++ objname="$func_basename_result"
++ xdir="$func_dirname_result"
++ lobj=${xdir}$objdir/$objname
+
-+endif DX_COND_xml
++ test -z "$base_compile" && \
++ func_fatal_help "you must specify a compilation command"
+
-+## ----------------------------- ##
-+## Rules specific for PS output. ##
-+## ----------------------------- ##
++ # Delete any leftover library objects.
++ if test "$build_old_libs" = yes; then
++ removelist="$obj $lobj $libobj ${libobj}T"
++ else
++ removelist="$lobj $libobj ${libobj}T"
++ fi
++
++ # On Cygwin there's no "real" PIC flag so we must build both object types
++ case $host_os in
++ cygwin* | mingw* | pw32* | os2* | cegcc*)
++ pic_mode=default
++ ;;
++ esac
++ if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
++ # non-PIC code in shared libraries is not supported
++ pic_mode=default
++ fi
++
++ # Calculate the filename of the output object if compiler does
++ # not support -o with -c
++ if test "$compiler_c_o" = no; then
++ output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
++ lockfile="$output_obj.lock"
++ else
++ output_obj=
++ need_locks=no
++ lockfile=
++ fi
+
-+if DX_COND_ps
++ # Lock this critical section if it is needed
++ # We use this script file to make the link, it avoids creating a new file
++ if test "$need_locks" = yes; then
++ until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
++ func_echo "Waiting for $lockfile to be removed"
++ sleep 2
++ done
++ elif test "$need_locks" = warn; then
++ if test -f "$lockfile"; then
++ $ECHO "\
++*** ERROR, $lockfile exists and contains:
++`cat $lockfile 2>/dev/null`
+
-+DX_CLEAN_PS = @DX_DOCDIR@/@PACKAGE@.ps
++This indicates that another process is trying to use the same
++temporary object file, and libtool could not work around it because
++your compiler does not support \`-c' and \`-o' together. If you
++repeat this compilation, it may succeed, by chance, but you had better
++avoid parallel builds (make -j) in this platform, or get a better
++compiler."
+
-+DX_PS_GOAL = doxygen-ps
++ $opt_dry_run || $RM $removelist
++ exit $EXIT_FAILURE
++ fi
++ removelist="$removelist $output_obj"
++ $ECHO "$srcfile" > "$lockfile"
++ fi
+
-+doxygen-ps: @DX_DOCDIR@/@PACKAGE@.ps
++ $opt_dry_run || $RM $removelist
++ removelist="$removelist $lockfile"
++ trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
+
-+@DX_DOCDIR@/@PACKAGE@.ps: @DX_DOCDIR@/@PACKAGE@.tag
-+ cd @DX_DOCDIR@/latex; \
-+ rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
-+ $(DX_LATEX) refman.tex; \
-+ $(MAKEINDEX_PATH) refman.idx; \
-+ $(DX_LATEX) refman.tex; \
-+ countdown=5; \
-+ while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
-+ refman.log > /dev/null 2>&1 \
-+ && test $$countdown -gt 0; do \
-+ $(DX_LATEX) refman.tex; \
-+ countdown=`expr $$countdown - 1`; \
-+ done; \
-+ $(DX_DVIPS) -o ../@PACKAGE@.ps refman.dvi
++ if test -n "$fix_srcfile_path"; then
++ eval srcfile=\"$fix_srcfile_path\"
++ fi
++ func_quote_for_eval "$srcfile"
++ qsrcfile=$func_quote_for_eval_result
+
-+endif DX_COND_ps
++ # Only build a PIC object if we are building libtool libraries.
++ if test "$build_libtool_libs" = yes; then
++ # Without this assignment, base_compile gets emptied.
++ fbsd_hideous_sh_bug=$base_compile
+
-+## ------------------------------ ##
-+## Rules specific for PDF output. ##
-+## ------------------------------ ##
++ if test "$pic_mode" != no; then
++ command="$base_compile $qsrcfile $pic_flag"
++ else
++ # Don't build PIC code
++ command="$base_compile $qsrcfile"
++ fi
+
-+if DX_COND_pdf
++ func_mkdir_p "$xdir$objdir"
+
-+DX_CLEAN_PDF = @DX_DOCDIR@/@PACKAGE@.pdf
++ if test -z "$output_obj"; then
++ # Place PIC objects in $objdir
++ command="$command -o $lobj"
++ fi
+
-+DX_PDF_GOAL = doxygen-pdf
++ func_show_eval_locale "$command" \
++ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
+
-+doxygen-pdf: @DX_DOCDIR@/@PACKAGE@.pdf
++ if test "$need_locks" = warn &&
++ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
++ $ECHO "\
++*** ERROR, $lockfile contains:
++`cat $lockfile 2>/dev/null`
+
-+@DX_DOCDIR@/@PACKAGE@.pdf: @DX_DOCDIR@/@PACKAGE@.tag
-+ cd @DX_DOCDIR@/latex; \
-+ rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
-+ $(DX_PDFLATEX) refman.tex; \
-+ $(DX_MAKEINDEX) refman.idx; \
-+ $(DX_PDFLATEX) refman.tex; \
-+ countdown=5; \
-+ while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
-+ refman.log > /dev/null 2>&1 \
-+ && test $$countdown -gt 0; do \
-+ $(DX_PDFLATEX) refman.tex; \
-+ countdown=`expr $$countdown - 1`; \
-+ done; \
-+ mv refman.pdf ../@PACKAGE@.pdf
++but it should contain:
++$srcfile
+
-+endif DX_COND_pdf
++This indicates that another process is trying to use the same
++temporary object file, and libtool could not work around it because
++your compiler does not support \`-c' and \`-o' together. If you
++repeat this compilation, it may succeed, by chance, but you had better
++avoid parallel builds (make -j) in this platform, or get a better
++compiler."
+
-+## ------------------------------------------------- ##
-+## Rules specific for LaTeX (shared for PS and PDF). ##
-+## ------------------------------------------------- ##
++ $opt_dry_run || $RM $removelist
++ exit $EXIT_FAILURE
++ fi
+
-+if DX_COND_latex
++ # Just move the object if needed, then go on to compile the next one
++ if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
++ func_show_eval '$MV "$output_obj" "$lobj"' \
++ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
++ fi
+
-+DX_CLEAN_LATEX = @DX_DOCDIR@/latex
++ # Allow error messages only from the first compilation.
++ if test "$suppress_opt" = yes; then
++ suppress_output=' >/dev/null 2>&1'
++ fi
++ fi
+
-+endif DX_COND_latex
++ # Only build a position-dependent object if we build old libraries.
++ if test "$build_old_libs" = yes; then
++ if test "$pic_mode" != yes; then
++ # Don't build PIC code
++ command="$base_compile $qsrcfile$pie_flag"
++ else
++ command="$base_compile $qsrcfile $pic_flag"
++ fi
++ if test "$compiler_c_o" = yes; then
++ command="$command -o $obj"
++ fi
+
-+.PHONY: doxygen-run doxygen-doc $(DX_PS_GOAL) $(DX_PDF_GOAL)
++ # Suppress compiler output if we already did a PIC compilation.
++ command="$command$suppress_output"
++ func_show_eval_locale "$command" \
++ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
+
-+.INTERMEDIATE: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL)
++ if test "$need_locks" = warn &&
++ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
++ $ECHO "\
++*** ERROR, $lockfile contains:
++`cat $lockfile 2>/dev/null`
+
-+doxygen-run: @DX_DOCDIR@/@PACKAGE@.tag
++but it should contain:
++$srcfile
+
-+doxygen-doc: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL)
++This indicates that another process is trying to use the same
++temporary object file, and libtool could not work around it because
++your compiler does not support \`-c' and \`-o' together. If you
++repeat this compilation, it may succeed, by chance, but you had better
++avoid parallel builds (make -j) in this platform, or get a better
++compiler."
+
-+@DX_DOCDIR@/@PACKAGE@.tag: $(DX_CONFIG) $(pkginclude_HEADERS)
-+ rm -rf @DX_DOCDIR@
-+ $(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG)
++ $opt_dry_run || $RM $removelist
++ exit $EXIT_FAILURE
++ fi
+
-+DX_CLEANFILES = \
-+ @DX_DOCDIR@/@PACKAGE@.tag \
-+ -r \
-+ $(DX_CLEAN_HTML) \
-+ $(DX_CLEAN_CHM) \
-+ $(DX_CLEAN_CHI) \
-+ $(DX_CLEAN_MAN) \
-+ $(DX_CLEAN_RTF) \
-+ $(DX_CLEAN_XML) \
-+ $(DX_CLEAN_PS) \
-+ $(DX_CLEAN_PDF) \
-+ $(DX_CLEAN_LATEX)
++ # Just move the object if needed
++ if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
++ func_show_eval '$MV "$output_obj" "$obj"' \
++ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
++ fi
++ fi
+
-+endif DX_COND_doc
-diff --git a/include/Makefile.am b/include/Makefile.am
-new file mode 100644
-index 0000000..f65afe7
---- /dev/null
-+++ b/include/Makefile.am
-@@ -0,0 +1,3 @@
++ $opt_dry_run || {
++ func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
+
-+nobase_include_HEADERS = dessert/dessert.h dessert/utlist.h
++ # Unlock the critical section if it was locked
++ if test "$need_locks" != no; then
++ removelist=$lockfile
++ $RM "$lockfile"
++ fi
++ }
+
-diff --git a/include/Makefile.in b/include/Makefile.in
-new file mode 100644
-index 0000000..6ccd9e7
---- /dev/null
-+++ b/include/Makefile.in
-@@ -0,0 +1,489 @@
-+# Makefile.in generated by automake 1.11 from Makefile.am.
-+# @configure_input@
++ exit $EXIT_SUCCESS
++}
+
-+# 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.
++$opt_help || {
++test "$mode" = compile && func_mode_compile ${1+"$@"}
++}
+
-+# 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.
++func_mode_help ()
++{
++ # We need to display help for each of the modes.
++ case $mode in
++ "")
++ # Generic help is extracted from the usage comments
++ # at the start of this file.
++ func_help
++ ;;
+
-+@SET_MAKE@
++ clean)
++ $ECHO \
++"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
-+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 = include
-+DIST_COMMON = $(nobase_include_HEADERS) $(srcdir)/Makefile.am \
-+ $(srcdir)/Makefile.in
-+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_doxygen.m4 \
-+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
-+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-+ $(top_srcdir)/m4/net-snmp.m4 $(top_srcdir)/m4/pcap.m4 \
-+ $(top_srcdir)/configure.ac
-+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-+ $(ACLOCAL_M4)
-+mkinstalldirs = $(install_sh) -d
-+CONFIG_HEADER = $(top_builddir)/config.h
-+CONFIG_CLEAN_FILES =
-+CONFIG_CLEAN_VPATH_FILES =
-+SOURCES =
-+DIST_SOURCES =
-+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-+am__vpath_adj = case $$p in \
-+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-+ *) f=$$p;; \
-+ esac;
-+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-+am__install_max = 40
-+am__nobase_strip_setup = \
-+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-+am__nobase_strip = \
-+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-+am__nobase_list = $(am__nobase_strip_setup); \
-+ for p in $$list; do echo "$$p $$p"; done | \
-+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-+ if (++n[$$2] == $(am__install_max)) \
-+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-+ END { for (dir in files) print dir, files[dir] }'
-+am__base_list = \
-+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-+am__installdirs = "$(DESTDIR)$(includedir)"
-+HEADERS = $(nobase_include_HEADERS)
-+ETAGS = etags
-+CTAGS = ctags
-+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-+ACLOCAL = @ACLOCAL@
-+AMTAR = @AMTAR@
-+AR = @AR@
-+AUTOCONF = @AUTOCONF@
-+AUTOHEADER = @AUTOHEADER@
-+AUTOMAKE = @AUTOMAKE@
-+AWK = @AWK@
-+CC = @CC@
-+CCDEPMODE = @CCDEPMODE@
-+CFLAGS = @CFLAGS@
-+CPP = @CPP@
-+CPPFLAGS = @CPPFLAGS@
-+CYGPATH_W = @CYGPATH_W@
-+DEFS = @DEFS@
-+DEPDIR = @DEPDIR@
-+DOXYGEN_PAPER_SIZE = @DOXYGEN_PAPER_SIZE@
-+DSYMUTIL = @DSYMUTIL@
-+DUMPBIN = @DUMPBIN@
-+DX_CONFIG = @DX_CONFIG@
-+DX_DOCDIR = @DX_DOCDIR@
-+DX_DOT = @DX_DOT@
-+DX_DOXYGEN = @DX_DOXYGEN@
-+DX_DVIPS = @DX_DVIPS@
-+DX_EGREP = @DX_EGREP@
-+DX_ENV = @DX_ENV@
-+DX_FLAG_chi = @DX_FLAG_chi@
-+DX_FLAG_chm = @DX_FLAG_chm@
-+DX_FLAG_doc = @DX_FLAG_doc@
-+DX_FLAG_dot = @DX_FLAG_dot@
-+DX_FLAG_html = @DX_FLAG_html@
-+DX_FLAG_man = @DX_FLAG_man@
-+DX_FLAG_pdf = @DX_FLAG_pdf@
-+DX_FLAG_ps = @DX_FLAG_ps@
-+DX_FLAG_rtf = @DX_FLAG_rtf@
-+DX_FLAG_xml = @DX_FLAG_xml@
-+DX_HHC = @DX_HHC@
-+DX_LATEX = @DX_LATEX@
-+DX_MAKEINDEX = @DX_MAKEINDEX@
-+DX_PDFLATEX = @DX_PDFLATEX@
-+DX_PERL = @DX_PERL@
-+DX_PROJECT = @DX_PROJECT@
-+ECHO_C = @ECHO_C@
-+ECHO_N = @ECHO_N@
-+ECHO_T = @ECHO_T@
-+EGREP = @EGREP@
-+EXEEXT = @EXEEXT@
-+FGREP = @FGREP@
-+GREP = @GREP@
-+INSTALL = @INSTALL@
-+INSTALL_DATA = @INSTALL_DATA@
-+INSTALL_PROGRAM = @INSTALL_PROGRAM@
-+INSTALL_SCRIPT = @INSTALL_SCRIPT@
-+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-+LD = @LD@
-+LDFLAGS = @LDFLAGS@
-+LIBDESSERT_LIBRARY_VERSION = @LIBDESSERT_LIBRARY_VERSION@
-+LIBOBJS = @LIBOBJS@
-+LIBS = @LIBS@
-+LIBTOOL = @LIBTOOL@
-+LIPO = @LIPO@
-+LN_S = @LN_S@
-+LTLIBOBJS = @LTLIBOBJS@
-+MAKEINFO = @MAKEINFO@
-+MKDIR_P = @MKDIR_P@
-+NM = @NM@
-+NMEDIT = @NMEDIT@
-+OBJDUMP = @OBJDUMP@
-+OBJEXT = @OBJEXT@
-+OTOOL = @OTOOL@
-+OTOOL64 = @OTOOL64@
-+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@
-+PCAP_CFLAGS = @PCAP_CFLAGS@
-+PCAP_CFLGAS = @PCAP_CFLGAS@
-+PCAP_LIBS = @PCAP_LIBS@
-+PTHREAD_CC = @PTHREAD_CC@
-+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
-+PTHREAD_LIBS = @PTHREAD_LIBS@
-+RANLIB = @RANLIB@
-+SED = @SED@
-+SET_MAKE = @SET_MAKE@
-+SHELL = @SHELL@
-+SNMP_CFLAGS = @SNMP_CFLAGS@
-+SNMP_CFLGAS = @SNMP_CFLGAS@
-+SNMP_LIBS = @SNMP_LIBS@
-+STRIP = @STRIP@
-+VERSION = @VERSION@
-+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_DUMPBIN = @ac_ct_DUMPBIN@
-+am__include = @am__include@
-+am__leading_dot = @am__leading_dot@
-+am__quote = @am__quote@
-+am__tar = @am__tar@
-+am__untar = @am__untar@
-+ax_pthread_config = @ax_pthread_config@
-+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@
-+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@
-+localedir = @localedir@
-+localstatedir = @localstatedir@
-+lt_ECHO = @lt_ECHO@
-+mandir = @mandir@
-+mkdir_p = @mkdir_p@
-+oldincludedir = @oldincludedir@
-+pdfdir = @pdfdir@
-+prefix = @prefix@
-+program_transform_name = @program_transform_name@
-+psdir = @psdir@
-+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@
-+nobase_include_HEADERS = dessert/dessert.h dessert/utlist.h
-+all: all-am
++Remove files from the build directory.
+
-+.SUFFIXES:
-+$(srcdir)/Makefile.in: $(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) --gnu include/Makefile'; \
-+ $(am__cd) $(top_srcdir) && \
-+ $(AUTOMAKE) --gnu include/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;
++RM is the name of the program to use to delete files associated with each FILE
++(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
++to RM.
+
-+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++If FILE is a libtool library, object or program, all the files associated
++with it are deleted. Otherwise, only FILE itself is deleted using RM."
++ ;;
+
-+$(top_srcdir)/configure: $(am__configure_deps)
-+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-+$(am__aclocal_m4_deps):
++ compile)
++ $ECHO \
++"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
-+mostlyclean-libtool:
-+ -rm -f *.lo
++Compile a source file into a libtool library object.
+
-+clean-libtool:
-+ -rm -rf .libs _libs
-+install-nobase_includeHEADERS: $(nobase_include_HEADERS)
-+ @$(NORMAL_INSTALL)
-+ test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
-+ @list='$(nobase_include_HEADERS)'; test -n "$(includedir)" || list=; \
-+ $(am__nobase_list) | while read dir files; do \
-+ xfiles=; for file in $$files; do \
-+ if test -f "$$file"; then xfiles="$$xfiles $$file"; \
-+ else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \
-+ test -z "$$xfiles" || { \
-+ test "x$$dir" = x. || { \
-+ echo "$(MKDIR_P) '$(DESTDIR)$(includedir)/$$dir'"; \
-+ $(MKDIR_P) "$(DESTDIR)$(includedir)/$$dir"; }; \
-+ echo " $(INSTALL_HEADER) $$xfiles '$(DESTDIR)$(includedir)/$$dir'"; \
-+ $(INSTALL_HEADER) $$xfiles "$(DESTDIR)$(includedir)/$$dir" || exit $$?; }; \
-+ done
++This mode accepts the following additional options:
+
-+uninstall-nobase_includeHEADERS:
-+ @$(NORMAL_UNINSTALL)
-+ @list='$(nobase_include_HEADERS)'; test -n "$(includedir)" || list=; \
-+ $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \
-+ test -n "$$files" || exit 0; \
-+ echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \
-+ cd "$(DESTDIR)$(includedir)" && rm -f $$files
++ -o OUTPUT-FILE set the output file name to OUTPUT-FILE
++ -no-suppress do not suppress compiler output for multiple passes
++ -prefer-pic try to building PIC objects only
++ -prefer-non-pic try to building non-PIC objects only
++ -shared do not build a \`.o' file suitable for static linking
++ -static only build a \`.o' file suitable for static linking
+
-+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
++COMPILE-COMMAND is a command to be used in creating a \`standard' object file
++from the given SOURCEFILE.
+
-+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
-+ $(TAGS_FILES) $(LISP)
-+ set x; \
-+ here=`pwd`; \
-+ 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: $(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
++The output file name is determined by removing the directory component from
++SOURCEFILE, then substituting the C source code suffix \`.c' with the
++library object suffix, \`.lo'."
++ ;;
+
-+GTAGS:
-+ here=`$(am__cd) $(top_builddir) && pwd` \
-+ && $(am__cd) $(top_srcdir) \
-+ && gtags -i $(GTAGS_ARGS) "$$here"
++ execute)
++ $ECHO \
++"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
+
-+distclean-tags:
-+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
++Automatically set library path, then run a program.
+
-+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
-+check-am: all-am
-+check: check-am
-+all-am: Makefile $(HEADERS)
-+installdirs:
-+ for dir in "$(DESTDIR)$(includedir)"; do \
-+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-+ done
-+install: install-am
-+install-exec: install-exec-am
-+install-data: install-data-am
-+uninstall: uninstall-am
++This mode accepts the following additional options:
+
-+install-am: all-am
-+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
++ -dlopen FILE add the directory containing FILE to the library path
+
-+installcheck: installcheck-am
-+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:
++This mode sets the library path environment variable according to \`-dlopen'
++flags.
+
-+clean-generic:
++If any of the ARGS are libtool executable wrappers, then they are translated
++into their corresponding uninstalled binary, and any of their required library
++directories are added to the library path.
+
-+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)
++Then, COMMAND is executed, with ARGS as arguments."
++ ;;
+
-+maintainer-clean-generic:
-+ @echo "This command is intended for maintainers to use"
-+ @echo "it deletes files that may require special tools to rebuild."
-+clean: clean-am
++ finish)
++ $ECHO \
++"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
+
-+clean-am: clean-generic clean-libtool mostlyclean-am
++Complete the installation of libtool libraries.
+
-+distclean: distclean-am
-+ -rm -f Makefile
-+distclean-am: clean-am distclean-generic distclean-tags
++Each LIBDIR is a directory that contains libtool libraries.
+
-+dvi: dvi-am
++The commands that this mode executes may require superuser privileges. Use
++the \`--dry-run' option if you just want to see what would be executed."
++ ;;
+
-+dvi-am:
++ install)
++ $ECHO \
++"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+
-+html: html-am
++Install executables or libraries.
+
-+html-am:
++INSTALL-COMMAND is the installation command. The first component should be
++either the \`install' or \`cp' program.
+
-+info: info-am
++The following components of INSTALL-COMMAND are treated specially:
+
-+info-am:
++ -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation
+
-+install-data-am: install-nobase_includeHEADERS
++The rest of the components are interpreted as arguments to that command (only
++BSD-compatible install options are recognized)."
++ ;;
+
-+install-dvi: install-dvi-am
++ link)
++ $ECHO \
++"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
+
-+install-dvi-am:
++Link object files or libraries together to form another library, or to
++create an executable program.
+
-+install-exec-am:
++LINK-COMMAND is a command using the C compiler that you would use to create
++a program from several object files.
+
-+install-html: install-html-am
++The following components of LINK-COMMAND are treated specially:
+
-+install-html-am:
++ -all-static do not do any dynamic linking at all
++ -avoid-version do not add a version suffix if possible
++ -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
++ -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
++ -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
++ -export-symbols SYMFILE
++ try to export only the symbols listed in SYMFILE
++ -export-symbols-regex REGEX
++ try to export only the symbols matching REGEX
++ -LLIBDIR search LIBDIR for required installed libraries
++ -lNAME OUTPUT-FILE requires the installed library libNAME
++ -module build a library that can dlopened
++ -no-fast-install disable the fast-install mode
++ -no-install link a not-installable executable
++ -no-undefined declare that a library does not refer to external symbols
++ -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
++ -objectlist FILE Use a list of object files found in FILE to specify objects
++ -precious-files-regex REGEX
++ don't remove output files matching REGEX
++ -release RELEASE specify package release information
++ -rpath LIBDIR the created library will eventually be installed in LIBDIR
++ -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
++ -shared only do dynamic linking of libtool libraries
++ -shrext SUFFIX override the standard shared library file extension
++ -static do not do any dynamic linking of uninstalled libtool libraries
++ -static-libtool-libs
++ do not do any dynamic linking of libtool libraries
++ -version-info CURRENT[:REVISION[:AGE]]
++ specify library version info [each variable defaults to 0]
++ -weak LIBNAME declare that the target provides the LIBNAME interface
+
-+install-info: install-info-am
++All other options (arguments beginning with \`-') are ignored.
+
-+install-info-am:
++Every other argument is treated as a filename. Files ending in \`.la' are
++treated as uninstalled libtool libraries, other files are standard or library
++object files.
+
-+install-man:
++If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
++only library objects (\`.lo' files) may be specified, and \`-rpath' is
++required, except when creating a convenience library.
+
-+install-pdf: install-pdf-am
++If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
++using \`ar' and \`ranlib', or on Windows using \`lib'.
+
-+install-pdf-am:
++If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
++is created, otherwise an executable program is created."
++ ;;
+
-+install-ps: install-ps-am
++ uninstall)
++ $ECHO \
++"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
-+install-ps-am:
++Remove libraries from an installation directory.
+
-+installcheck-am:
++RM is the name of the program to use to delete files associated with each FILE
++(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
++to RM.
+
-+maintainer-clean: maintainer-clean-am
-+ -rm -f Makefile
-+maintainer-clean-am: distclean-am maintainer-clean-generic
++If FILE is a libtool library, all the files associated with it are deleted.
++Otherwise, only FILE itself is deleted using RM."
++ ;;
+
-+mostlyclean: mostlyclean-am
++ *)
++ func_fatal_help "invalid operation mode \`$mode'"
++ ;;
++ esac
+
-+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
++ $ECHO
++ $ECHO "Try \`$progname --help' for more information about other modes."
+
-+pdf: pdf-am
++ exit $?
++}
+
-+pdf-am:
++ # Now that we've collected a possible --mode arg, show help if necessary
++ $opt_help && func_mode_help
+
-+ps: ps-am
+
-+ps-am:
++# func_mode_execute arg...
++func_mode_execute ()
++{
++ $opt_debug
++ # The first argument is the command name.
++ cmd="$nonopt"
++ test -z "$cmd" && \
++ func_fatal_help "you must specify a COMMAND"
+
-+uninstall-am: uninstall-nobase_includeHEADERS
++ # Handle -dlopen flags immediately.
++ for file in $execute_dlfiles; do
++ test -f "$file" \
++ || func_fatal_help "\`$file' is not a file"
+
-+.MAKE: install-am install-strip
++ dir=
++ case $file in
++ *.la)
++ # Check to see that this really is a libtool archive.
++ func_lalib_unsafe_p "$file" \
++ || func_fatal_help "\`$lib' is not a valid libtool archive"
+
-+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-+ clean-libtool ctags distclean distclean-generic \
-+ distclean-libtool 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-nobase_includeHEADERS \
-+ install-pdf install-pdf-am install-ps install-ps-am \
-+ install-strip installcheck installcheck-am installdirs \
-+ maintainer-clean maintainer-clean-generic mostlyclean \
-+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-+ tags uninstall uninstall-am uninstall-nobase_includeHEADERS
++ # Read the libtool library.
++ dlname=
++ library_names=
++ func_source "$file"
+
++ # Skip this library if it cannot be dlopened.
++ if test -z "$dlname"; then
++ # Warn if it was a shared library.
++ test -n "$library_names" && \
++ func_warning "\`$file' was not linked with \`-export-dynamic'"
++ continue
++ fi
+
-+# 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/include/dessert/dessert.h b/include/dessert/dessert.h
-new file mode 100644
-index 0000000..9b7a7d9
---- /dev/null
-+++ b/include/dessert/dessert.h
-@@ -0,0 +1,1334 @@
-+/***************************************************************************//**
-+ @file
++ func_dirname "$file" "" "."
++ dir="$func_dirname_result"
+
-+ @page license License
++ if test -f "$dir/$objdir/$dlname"; then
++ dir="$dir/$objdir"
++ else
++ if test ! -f "$dir/$dlname"; then
++ func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
++ fi
++ fi
++ ;;
+
-+ @brief Copyright 2009, The DES-SERT Team, Freie Universitaet Berlin (FUB). \n
-+ All rights reserved. \n
-+
-+ These sources were originally developed by Philipp Schmidt
-+ at Freie Universitaet Berlin (http://www.fu-berlin.de/),
-+ Computer Systems and Telematics / Distributed, Embedded Systems (DES) group \n
-+ (http://cst.mi.fu-berlin.de/, http://www.des-testbed.net/) \n
-+ -----------------------------------------------------------------------------\n
-+ 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. \n
-+ \n
-+ 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.\n
-+ \n
-+ You should have received a copy of the GNU General Public License along with
-+ this program. If not, see http://www.gnu.org/licenses/ . \n
-+ -----------------------------------------------------------------------------\n
-+ For further information and questions please use the web site \n
-+ http://www.des-testbed.net/
-+*******************************************************************************/
++ *.lo)
++ # Just add the directory containing the .lo file.
++ func_dirname "$file" "" "."
++ dir="$func_dirname_result"
++ ;;
+
-+/***************************************************************************//**
-+ *
-+ * @mainpage DES-SERT
-+ *
-+ *
-+ * @section intro_sec Introduction
-+ *
-+ * DES-SERT, the DES Simple and Extensible Routing-Framework for Testbeds,
-+ * is a framework designed to assist researchers implementing routing
-+ * protocols for testbeds.
-+ *
-+ * DES-SERT enables the implementation of routing protocols on top of
-+ * Ethernet via an underlay (Layer 2.5) in user space.
-+ * It introduces an abstraction from OS specific issues and provides
-+ * functionality and data structures to implement proactive, reactive,
-+ * and hybrid routing protocols.
++ *)
++ func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
++ continue
++ ;;
++ esac
+
-+ * While generally usable in many application scenarios, it is primarily
-+ * used in DES-Mesh (http://www.des-testbed.net/), the multi-transceiver
-+ * wireless mesh network testbed part of the DES-Testbed at Freie
-+ * Universitaet Berlin, Germany.
-+ *
-+ * @section arch_sec DES-SERT Architecture
-+ *
-+ * DES-SERT introduces some concepts to implement routing protocols.
-+ * When implementing a routing protocol with DES-SERT, you should be
-+ * familiar with these concepts to structure and tailor your implementation.
-+ *
-+ *
-+ * @subsection messages_subsec DES-SERT Messages
-+ *
-+ * Every packet you send or receive on the mesh is represented as a
-+ * DES-SERT message. From a programmers point of view, a DES-SERT message
-+ * is just a C-structure:
-+ *
-+ * @code
-+ * typedef struct __attribute__ ((__packed__)) dessert_msg {
-+ * struct ether_header l2h;
-+ * char proto[DESSERT_PROTO_STRLEN];
-+ * uint8_t ver;
-+ * uint8_t flags;
-+ * union {
-+ * uint32_t u32;
-+ * struct __attribute__ ((__packed__)) {
-+ * uint8_t ttl;
-+ * uint8_t u8;
-+ * uint16_t u16;
-+ * };
-+ * };
-+ * uint16_t hlen;
-+ * uint16_t plen;
-+ * } dessert_msg_t;
-+ * @endcode
-+ *
-+ * Every message sent via the underlay carries this structure as a packet
-+ * header. All data in a "dessert_msg" is stored in network byte order.
-+ * DES-SERT tries to care as automatically as possible of this structure.
-+ * Nevertheless you will have to care at least about: "l2h.ether_dhost" and
-+ * "ttl".
-+ *
-+ * If you need to send some data along with every packet, e.g. some kind of
-+ * metric or cost your routing protocol uses, you should try to fit this
-+ * data into the "u8", "u16" and the upper 4 bits of the "flags" field.
-+ * These fields will never be touched by DES-SERT except on initialization
-+ * via "dessert_msg_new".
-+ *
-+ * Because just a C-structure is not really usable as a packet, there are some
-+ * utility functions around - please have a look around in "dessert.h" and the
-+ * doxygen documentation. The most important ones are: "dessert_msg_new" and
-+ * "dessert_msg_destroy", which do not simply allocate memory for a DES-SERT
-+ * message, but for a whole packet of maximum size and initialize the
-+ * structures for further packet construction/processing.
-+ *
-+ * @code
-+ * int dessert_msg_new(dessert_msg_t **msgout);
-+ *
-+ * void dessert_msg_destroy(dessert_msg_t* msg);
-+ * @endcode
-+ *
-+ *
-+ * @subsection extensions_subsec DES-SERT Extensions
-+ *
-+ * A DES-SERT extension is some structure used to piggyback data on a
-+ * DES-SERT message. It consists of a 8-bit user supplied type field (with
-+ * some reserved values), an 8-bit length field and user supplied data of
-+ * arbitrary length of 253 bytes at most.
-+ *
-+ * It can be added to a message via dessert_msg_addext(), retrieved via
-+ * dessert_msg_getext() and removed via dessert_msg_delext().
-+ *
-+ * @code
-+ * int dessert_msg_addext(dessert_msg_t* msg, dessert_ext_t** ext,
-+ * uint8_t type, size_t len);
-+ *
-+ * int dessert_msg_delext(dessert_msg_t *msg, dessert_ext_t *ext);
-+ *
-+ * int dessert_msg_getext(const dessert_msg_t* msg, dessert_ext_t** ext,
-+ * uint8_t type, int index);
-+ *
-+ * @endcode
-+ *
-+ * It is recommended not to put single data fields in extensions, but
-+ * combine semantically related data in a struct and attach this struct
-+ * as an extension because every extension carried introduces an 16-bit
-+ * overhead to the packet.
-+ *
-+ *
-+ * @subsection pipelines_subsec Processing Pipelines
-+ *
-+ * Routing algorithms are often split up in several parts like packet
-+ * validation, loop-detection or routing table lookup.
-+ * To implement these as independent and clear as possible, DES-SERT enables
-+ * you to split up your packet processing in as many parts as you like.
-+ *
-+ * There are two separate processing pipelines - one for packets received
-+ * from the kernel via a TUN or TAP interface and one for packets received
-+ * via an interface used on the mesh network.
-+ *
-+ * You can register callbacks to be added to one of these pipelines with
-+ * "dessert_sysrxcb_add" or "dessert_meshrxcb_add". Both take an additional
-+ * integer argument ("priority") specifying the order the callbacks should
-+ * be called. Higher "priority" value results in being called later
-+ * within the pipeline.
-+ *
-+ * @code
-+ * int dessert_sysrxcb_add(dessert_sysrxcb_t* c, int prio);
-+ *
-+ * int dessert_meshrxcb_add(dessert_meshrxcb_t* c, int prio);
-+ * @endcode
-+ *
-+ * If a callback returns "DESSERT_MSG_KEEP" the packed will be processed by
-+ * further callbacks, if it returns "DESSERT_MSG_DROP" the message will be
-+ * dropped and no further callbacks will be called.
-+ *
-+ * You do not need to care about the management of the buffers for incoming
-+ * messages - DES-SERT does this for you. Nevertheless if you need to add
-+ * extensions or enlarge the payload of a message, you need to tell DES-SERT
-+ * to enlarge the buffer for you if the flag "DESSERT_FLAG_SPARSE" is set on
-+ * the message. You can do this by returning "DESSERT_MSG_NEEDNOSPARSE" from
-+ * within a callback. The callback will be called again with a larger buffer
-+ * and no "DESSERT_FLAG_SPARSE" flag being set.
-+ *
-+ *
-+ * @subsection buffer_subsec Processing Buffer
-+ *
-+ * If you need to pass information along several callbacks, you can do this
-+ * in the processing buffer passed to the the callbacks. This buffer contains
-+ * some local processing flags ("lflags") set by the builtin callback
-+ * "dessert_msg_ifaceflags_cb" (e.g. telling you about packet origin or if
-+ * the packet is multicast) and 1KB of space for your callbacks to pass
-+ * along arbitrary data.
-+ *
-+ * This buffer might only be allocated after you explicitly request it - in
-+ * this case the proc argument is NULL and you can return the value
-+ * "DESSERT_MSG_NEEDMSGPROC" from within your callback. The callback will
-+ * be called again with a valid processing buffer.
-+ *
-+ *
-+ * @section interfaces_sec Using Interfaces
-+ *
-+ *
-+ * @subsection sysif_subsec Using a TUN/TAP interface
-+ *
-+ * First you have to choose whether to use a TUN or TAP interface. TUN
-+ * interfaces are used to exchange IPv4 / IPv6 datagrams with the kernel
-+ * network stack. TAP interfaces are used to exchange Ethernet frames
-+ * with the kernel network stack. If you want to route Ethernet frames,
-+ * you should choose a TAP interface. If you intend to implement
-+ * a custom layer 2 to layer 3 mapping, you should use a TUN interface.
++ # Get the absolute pathname.
++ absdir=`cd "$dir" && pwd`
++ test -n "$absdir" && dir="$absdir"
+
-+ * Currently, you can only initialize and use a single sys (TUN/TAP) interface.
-+ * This is done by "dessert_sysif_init". You must then set up the interface
-+ * config in the kernel yourself e.g. by calling "ifconfig".
-+ *
-+ * @code
-+ *
-+ * int dessert_sysif_init(char* name, uint8_t flags);
-+ *
-+ * @endcode
-+ *
-+ * In either case, frames you receive from a TUN/TAP interface will be
-+ * passed along the callbacks added by "dessert_sysrxcb_add" to the
-+ * processing pipeline. Each of them will be called with a pointer to an
-+ * Ethernet frame. In case of a TUN interface, "ether_shost" and "ether_dhost"
-+ * are set to "00:00:00:00:00:00", and ether_type reflects whether the packet
-+ * received is IPv4 oder IPv6.
-+ *
-+ * Packets are sent to the kernel network stack with "dessert_syssend".
-+ * In case of a TUN Interface "ether_shost" and "ether_dhost" will be
-+ * ignored.
-+ *
-+ * @code
-+ * int dessert_syssend_msg(dessert_msg_t *msg);
-+ *
-+ * int dessert_syssend(const struct ether_header *eth, size_t len);
-+ * @endcode
-+ *
-+ *
-+ * @subsection meshif_subsec Using a Mesh Interface
-+ *
-+ * Mesh interfaces are used similar to the TUN/TAP interface with two major
-+ * differences: You can have multiple mesh interfaces and they send and
-+ * receive DES-SERT messages instead of Ethernet frames.
-+ *
-+ * You add an mesh interface using "dessert_meshif_add" and can send to it
-+ * by calling "dessert_meshsend". If the interface parameter is NULL, the
-+ * packet will be transmitted over every interface (good for flooding).
-+ *
-+ * @code
-+ * int dessert_meshif_add(const char* dev, uint8_t flags);
-+ *
-+ *
-+ * int dessert_meshsend(const dessert_msg_t* msgin,
-+ * const dessert_meshif_t *iface);
-+ *
-+ * int dessert_meshsend_hwaddr(const dessert_msg_t* msgin,
-+ * const uint8_t hwaddr[ETHER_ADDR_LEN]);
-+ *
-+ * int dessert_meshsend_allbutone(const dessert_msg_t* msgin,
-+ * const dessert_meshif_t *iface);
-+ *
-+ * int dessert_meshsend_fast(dessert_msg_t* msg,
-+ * const dessert_meshif_t *iface);
-+ *
-+ * int dessert_meshsend_fast_hwaddr(dessert_msg_t* msg,
-+ * const uint8_t hwaddr[ETHER_ADDR_LEN]);
-+ *
-+ * int dessert_meshsend_fast_allbutone(dessert_msg_t* msg,
-+ * const dessert_meshif_t *iface);
-+ *
-+ * int dessert_meshsend_raw(dessert_msg_t* msg,
-+ * const dessert_meshif_t *iface);
-+ * @endcode
-+ *
-+ * @section logging_sec Logging
-+ *
-+ * You can write log messages easily with a bunch of macros provided
-+ * by DES-SERT ("dessert_debug", "dessert_info" ,"dessert_notice",
-+ * "dessert_warn", "dessert_warning", "dessert_err", "dessert_crit",
-+ * "dessert_alert" and "dessert_emerg"). Each of them can be used like
-+ * "printf" and logs to Syslog, STDERR, file or a ringbuffer depending
-+ * on your configuration.
-+ *
-+ * DES-SERT also ships with a custom "assert" macro which acts like
-+ * the original macro from the standard C library and uses the logging
-+ * mechanism described above.
-+ *
-+ *
-+ * @section periodics_sec Periodics
-+ *
-+ * Periodics help you to perform maintenance or delayed tasks. A task
-+ * consists of a callback, which will be called at the time you requested,
-+ * and a void pointer the callback is passed. You can add these tasks by
-+ * calling "dessert_periodic_add" or "dessert_periodic_add_delayed".
-+ *
-+ *
-+ * @section cli_sec CLI - Command Line Interface
-+ *
-+ * DES-SERT supports simple configuration and debugging of your routing
-+ * protocol implementation by providing a Cisco like command line interface
-+ * (cli) and a config file parser based upon it.
-+ * This cli is realized through libcli (http://code.google.com/p/libcli/).
-+ *
-+ * DES-SERT does some of the initialization of libcli. Therefore, it provides
-+ * the main cli anchor "dessert_cli" and some anchors to add commands below
-+ * "dessert_cli_.*". Because DES-SERT only loosely wraps libcli, you should
-+ * make yourself familiar with libcli itself. This may be improved in further
-+ * DES-SERT releases.
-+ *
-+ * You can evaluate a config file by calling "cli_file" and start a thread
-+ * enabling a telnet-interface for DES-SERT by calling "dessert_cli_run".
-+ *
-+ *
-+ * @section all_sec Putting it all together
-+ *
-+ * Now you have learned about the most important aspects of DES-SERT.
-+ * To write your own routing protocol implementation, you need to know
-+ * how to put all this together.
-+ *
-+ * You should start with a main() program parsing the command line options
-+ * and then calling "dessert_init()". This is needed to set up DES-SERT
-+ * correctly. Afterwards you can register callbacks, read the config file
-+ * and do what you like. If everything is set up, you call "dessert_run()"
-+ * and let the event based framework do its job.
-+ *
-+ * If you would like to see a complete protocol implementation sample,
-+ * have a look at the "gossiping" directory.
-+ *
-+ *
-+ * @section feedback_sec Contact & Feedback
-+ *
-+ * We love feedback - if you have patches, comments or questions,
-+ * please contact us! Recent contact information is available on
-+ * http://www.des-testbed.net/des-sert/
-+ *
-+ ******************************************************************************/
++ # Now add the directory to shlibpath_var.
++ if eval "test -z \"\$$shlibpath_var\""; then
++ eval "$shlibpath_var=\"\$dir\""
++ else
++ eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
++ fi
++ done
+
-+#ifndef DESSERT_H
-+#define DESSERT_H
++ # This variable tells wrapper scripts just to set shlibpath_var
++ # rather than running their programs.
++ libtool_execute_magic="$magic"
+
-+#ifdef __DARWIN__
-+#include <net/if_dl.h>
-+#define TUN_BSD
-+#endif
++ # Check if any of the arguments is a wrapper script.
++ args=
++ for file
++ do
++ case $file in
++ -*) ;;
++ *)
++ # Do a test to see if this is really a libtool program.
++ if func_ltwrapper_script_p "$file"; then
++ func_source "$file"
++ # Transform arg to wrapped name.
++ file="$progdir/$program"
++ elif func_ltwrapper_executable_p "$file"; then
++ func_ltwrapper_scriptname "$file"
++ func_source "$func_ltwrapper_scriptname_result"
++ # Transform arg to wrapped name.
++ file="$progdir/$program"
++ fi
++ ;;
++ esac
++ # Quote arguments (to preserve shell metacharacters).
++ func_quote_for_eval "$file"
++ args="$args $func_quote_for_eval_result"
++ done
+
-+#ifdef __linux__
-+#define TUN_LINUX
-+#endif
++ if test "X$opt_dry_run" = Xfalse; then
++ if test -n "$shlibpath_var"; then
++ # Export the shlibpath_var.
++ eval "export $shlibpath_var"
++ fi
+
-+#include <net/if.h>
-+#include <net/ethernet.h>
-+#include <pcap.h>
-+#include <stdint.h>
-+#include <syslog.h>
-+#include <stdlib.h>
-+#include <libcli.h>
++ # Restore saved environment variables
++ for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
++ do
++ eval "if test \"\${save_$lt_var+set}\" = set; then
++ $lt_var=\$save_$lt_var; export $lt_var
++ else
++ $lt_unset $lt_var
++ fi"
++ done
+
-+/***************************************************************************//**
-+ *
-+ * @defgroup global G L O B A L # D E F I N E S and T Y P E D E F S / S T R U C T U R E S
-+ *
-+ * @brief EXTERNAL / PUBLIC
-+ *
-+ * @{
-+ ******************************************************************************/
++ # Now prepare to actually exec the command.
++ exec_cmd="\$cmd$args"
++ else
++ # Display what would be done.
++ if test -n "$shlibpath_var"; then
++ eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
++ $ECHO "export $shlibpath_var"
++ fi
++ $ECHO "$cmd$args"
++ exit $EXIT_SUCCESS
++ fi
++}
+
-+/******************************************************************************
-+ * #defines
-+ ******************************************************************************/
++test "$mode" = execute && func_mode_execute ${1+"$@"}
+
-+/** ethernet protocol used on layer 2 */
-+#define DESSERT_ETHPROTO 0x8042
+
-+/** maximum frame size to assemble as dessert_msg */
-+#define DESSERT_MAXFRAMELEN ETHER_MAX_LEN
++# func_mode_finish arg...
++func_mode_finish ()
++{
++ $opt_debug
++ libdirs="$nonopt"
++ admincmds=
+
-+/** maximum size of the data part in dessert_ext */
-+#define DESSERT_MAXEXTDATALEN 130
++ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
++ for dir
++ do
++ libdirs="$libdirs $dir"
++ done
+
-+/** length of protocol string used in dessert_msg */
-+#define DESSERT_PROTO_STRLEN 4
++ for libdir in $libdirs; do
++ if test -n "$finish_cmds"; then
++ # Do each command in the finish commands.
++ func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
++'"$cmd"'"'
++ fi
++ if test -n "$finish_eval"; then
++ # Do the single finish_eval.
++ eval cmds=\"$finish_eval\"
++ $opt_dry_run || eval "$cmds" || admincmds="$admincmds
++ $cmds"
++ fi
++ done
++ fi
+
-+/** size of local message processing buffer */
-+#define DESSERT_LBUF_LEN 1024
++ # Exit here if they wanted silent mode.
++ $opt_silent && exit $EXIT_SUCCESS
+
-+/** return code for many dessert_* functions */
-+#define DESSERT_OK 0
++ $ECHO "X----------------------------------------------------------------------" | $Xsed
++ $ECHO "Libraries have been installed in:"
++ for libdir in $libdirs; do
++ $ECHO " $libdir"
++ done
++ $ECHO
++ $ECHO "If you ever happen to want to link against installed libraries"
++ $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
++ $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
++ $ECHO "flag during linking and do at least one of the following:"
++ if test -n "$shlibpath_var"; then
++ $ECHO " - add LIBDIR to the \`$shlibpath_var' environment variable"
++ $ECHO " during execution"
++ fi
++ if test -n "$runpath_var"; then
++ $ECHO " - add LIBDIR to the \`$runpath_var' environment variable"
++ $ECHO " during linking"
++ fi
++ if test -n "$hardcode_libdir_flag_spec"; then
++ libdir=LIBDIR
++ eval flag=\"$hardcode_libdir_flag_spec\"
+
-+/** return code for many dessert_* functions */
-+#define DESSERT_ERR 1
++ $ECHO " - use the \`$flag' linker flag"
++ fi
++ if test -n "$admincmds"; then
++ $ECHO " - have your system administrator run these commands:$admincmds"
++ fi
++ if test -f /etc/ld.so.conf; then
++ $ECHO " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
++ fi
++ $ECHO
+
-+/******************************************************************************
-+ * typedefs
-+ ******************************************************************************/
-+/** runtime-unique frame id */
-+typedef uint64_t dessert_frameid_t;
++ $ECHO "See any operating system documentation about shared libraries for"
++ case $host in
++ solaris2.[6789]|solaris2.1[0-9])
++ $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
++ $ECHO "pages."
++ ;;
++ *)
++ $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
++ ;;
++ esac
++ $ECHO "X----------------------------------------------------------------------" | $Xsed
++ exit $EXIT_SUCCESS
++}
+
-+/** A basic message send on des-sert layer2.5. */
-+typedef struct __attribute__ ((__packed__)) dessert_msg {
-+ /** the layer2 header on the wire */
-+ struct ether_header l2h;
-+ /** short name of the protocol as passed to dessert_init() */
-+ char proto[DESSERT_PROTO_STRLEN];
-+ /** version of the app as passed to dessert_init() */
-+ uint8_t ver;
-+ /** flags - bits 1-4 reserved for dessert, bits 5-8 for app usage */
-+ uint8_t flags;
-+ union {
-+ /** reserved for app usage */
-+ uint32_t u32;
-+ struct __attribute__ ((__packed__)) {
-+ /** ttl or hopcount field for app usage - 0xff if not used*/
-+ uint8_t ttl;
-+ /** reserved for app usage - 0x00 if not used */
-+ uint8_t u8;
-+ /** reserved for app usage - 0xbeef if not used */
-+ uint16_t u16;
-+ };
-+ };
-+ /** header length incl. extensions - in network byte order */
-+ uint16_t hlen;
-+ /** payload length - in network byte order */
-+ uint16_t plen;
-+} dessert_msg_t;
++test "$mode" = finish && func_mode_finish ${1+"$@"}
+
-+/** local processing struct for dessert_msg_t */
-+typedef struct dessert_msg_proc {
-+ /** 16 bits for local processing flags */
-+ uint16_t lflags;
-+ /** 16 bits reserved */
-+ uint16_t lreserved;
-+ /** DESSERT_LBUF_LEN bytes buffer */
-+ char lbuf[DESSERT_LBUF_LEN];
-+} dessert_msg_proc_t;
+
-+/** a extension record to add to a dessert_msg */
-+typedef struct __attribute__ ((__packed__)) dessert_ext {
-+ /** type of the extension
-+ * user supplied types must be >= DESSERT_EXT_USER */
-+ uint8_t type;
++# func_mode_install arg...
++func_mode_install ()
++{
++ $opt_debug
++ # There may be an optional sh(1) argument at the beginning of
++ # install_prog (especially on Windows NT).
++ if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
++ # Allow the use of GNU shtool's install command.
++ $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
++ # Aesthetically quote it.
++ func_quote_for_eval "$nonopt"
++ install_prog="$func_quote_for_eval_result "
++ arg=$1
++ shift
++ else
++ install_prog=
++ arg=$nonopt
++ fi
+
-+ /** length of the extension in bytes
-+ * including the 2 bytes of the extension
-+ * header itself*/
-+ uint8_t len;
++ # The real first argument should be the name of the installation program.
++ # Aesthetically quote it.
++ func_quote_for_eval "$arg"
++ install_prog="$install_prog$func_quote_for_eval_result"
+
-+ /** pointer to the data - real length is len-2 bytes */
-+ uint8_t data[DESSERT_MAXEXTDATALEN];
-+} dessert_ext_t;
++ # We need to accept at least all the BSD install flags.
++ dest=
++ files=
++ opts=
++ prev=
++ install_type=
++ isdir=no
++ stripme=
++ for arg
++ do
++ if test -n "$dest"; then
++ files="$files $dest"
++ dest=$arg
++ continue
++ fi
+
-+/** an interface used for dessert_msg frames */
-+typedef struct dessert_meshif {
-+ /** pointer to next interface */
-+ struct dessert_meshif *next;
-+ /** pointer to next interface */
-+ struct dessert_meshif *prev;
-+ /** name of interface */
-+ char if_name[IFNAMSIZ];
-+ /** system ifindex */
-+ unsigned int if_index;
-+ /** hardware address of interface */
-+ uint8_t hwaddr[ETHER_ADDR_LEN]; /* uthash key*/
-+ /** counter mutex */
-+ pthread_mutex_t cnt_mutex;
-+ /** packet counter in */
-+ uint64_t ipkts;
-+ /** packet counter out */
-+ uint64_t opkts;
-+ /** packet counter in */
-+ uint64_t ibytes;
-+ /** packet counter out */
-+ uint64_t obytes;
-+ /** libpcap descriptor for the interface */
-+ pcap_t *pcap;
-+ /** libpcap error message buffer */
-+ char pcap_err[PCAP_ERRBUF_SIZE];
-+ /** pthread running the request loop */
-+ pthread_t worker;
-+} dessert_meshif_t;
++ case $arg in
++ -d) isdir=yes ;;
++ -f)
++ case " $install_prog " in
++ *[\\\ /]cp\ *) ;;
++ *) prev=$arg ;;
++ esac
++ ;;
++ -g | -m | -o)
++ prev=$arg
++ ;;
++ -s)
++ stripme=" -s"
++ continue
++ ;;
++ -*)
++ ;;
++ *)
++ # If the previous option needed an argument, then skip it.
++ if test -n "$prev"; then
++ prev=
++ else
++ dest=$arg
++ continue
++ fi
++ ;;
++ esac
++
++ # Aesthetically quote the argument.
++ func_quote_for_eval "$arg"
++ install_prog="$install_prog $func_quote_for_eval_result"
++ done
++
++ test -z "$install_prog" && \
++ func_fatal_help "you must specify an install program"
++
++ test -n "$prev" && \
++ func_fatal_help "the \`$prev' option requires an argument"
++
++ if test -z "$files"; then
++ if test -z "$dest"; then
++ func_fatal_help "no file or destination specified"
++ else
++ func_fatal_help "you must specify a destination"
++ fi
++ fi
++
++ # Strip any trailing slash from the destination.
++ func_stripname '' '/' "$dest"
++ dest=$func_stripname_result
++
++ # Check to see that the destination is a directory.
++ test -d "$dest" && isdir=yes
++ if test "$isdir" = yes; then
++ destdir="$dest"
++ destname=
++ else
++ func_dirname_and_basename "$dest" "" "."
++ destdir="$func_dirname_result"
++ destname="$func_basename_result"
++
++ # Not a directory, so check to see that there is only one file specified.
++ set dummy $files; shift
++ test "$#" -gt 1 && \
++ func_fatal_help "\`$dest' is not a directory"
++ fi
++ case $destdir in
++ [\\/]* | [A-Za-z]:[\\/]*) ;;
++ *)
++ for file in $files; do
++ case $file in
++ *.lo) ;;
++ *)
++ func_fatal_help "\`$destdir' must be an absolute directory name"
++ ;;
++ esac
++ done
++ ;;
++ esac
++
++ # This variable tells wrapper scripts just to set variables rather
++ # than running their programs.
++ libtool_install_magic="$magic"
++
++ staticlibs=
++ future_libdirs=
++ current_libdirs=
++ for file in $files; do
++
++ # Do each installation.
++ case $file in
++ *.$libext)
++ # Do the static libraries later.
++ staticlibs="$staticlibs $file"
++ ;;
+
-+/** A tun/tap interface used to inject packets to dessert implemented daemons.
-+ *
-+ * \note Please make sure first fields are equal to dessert_meshif to re-use
-+ * _dessert_meshif_gethwaddr().
-+ *
-+ */
-+typedef struct dessert_sysif {
-+ /** pointer to next interface */
-+ struct dessert_sysif *next;
-+ /** name of interface */
-+ char if_name[IFNAMSIZ];
-+ /** system ifindex */
-+ unsigned int if_index;
-+ /** hardware address of the interface */
-+ uint8_t hwaddr[ETHER_ADDR_LEN];
-+ /** counter mutex */
-+ pthread_mutex_t cnt_mutex;
-+ /** packet counter in */
-+ uint64_t ipkts;
-+ /** packet counter out */
-+ uint64_t opkts;
-+ /** packet counter in */
-+ uint64_t ibytes;
-+ /** packet counter out */
-+ uint64_t obytes;
-+ /** file descriptor to read/write from/to */
-+ int fd;
-+ /** if it is a tun or tap interface */
-+ uint8_t flags;
-+ /** pthread running the request loop */
-+ pthread_t worker;
-+} dessert_sysif_t;
++ *.la)
++ # Check to see that this really is a libtool archive.
++ func_lalib_unsafe_p "$file" \
++ || func_fatal_help "\`$file' is not a valid libtool archive"
+
-+/** Callback type to call if a packed is received via a dessert mesh interface.
-+ *
-+ * @param *msg dessert_msg_t frame received
-+ * @param len length of the buffer pointed to from dessert_msg_t
-+ * @param *proc local processing buffer passed along the callback pipeline - may be NULL
-+ * @param *iface interface received packet on - may be NULL
-+ * @param id unique internal frame id of the packet
-+ *
-+ * @retval DESSERT_MSG_KEEP to continue processing the packet
-+ * @retval DESSERT_MSG_DROP to drop it
-+ * @retval DESSERT_MSG_NEEDMSGPROC to get a processing buffer
-+ * @retval DESSERT_MSG_NEEDNOSPARSE to get a full packet buffer (e.g. needed to add extensions)
-+ *
-+ * \warning The callbacks are invoked with no locks hold by the thread,
-+ * \warning YOU MUST make sure the thread holds no locks after the callback exits.
-+ * \warning YOU MUST also make sure not to do anything blocking in a callback!
-+ *
-+ * If the callback exits with DESSERT_MSG_NEEDMSGPROC or DESSERT_MSG_NEEDNOSPARSE
-+ * and the respective buffer is NULL or sparse, the callback is called again after
-+ * providing the requested resource.
-+ *
-+ */
-+typedef int dessert_meshrxcb_t(dessert_msg_t* msg, size_t len, dessert_msg_proc_t *proc, const dessert_meshif_t *iface, dessert_frameid_t id);
++ library_names=
++ old_library=
++ relink_command=
++ func_source "$file"
+
-+/** Callback type to call if a packed should be injected into dessert via a tun/tap interface.
-+ *
-+ * @param *msg dessert msg received - original ethernet frame is encapsulated within
-+ * @param len length of ethernet frame received
-+ * @param *proc local processing buffer passed along the callback pipeline - may be NULL
-+ * @param *sysif interface received packet on
-+ * @param id unique internal frame id of the packet
-+ *
-+ * @retval DESSERT_MSG_KEEP to continue processing the packet
-+ * @retval DESSERT_MSG_DROP to drop it
-+ *
-+ * \warning The callbacks are invoked with no locks hold by the thread,
-+ * \warning YOU MUST make sure the thread holds no locks after the callback exits.
-+ * \warning YOU MUST also make sure not to do anything blocking in a callback!
-+ *
-+*/
-+typedef int dessert_sysrxcb_t(dessert_msg_t *msg, size_t len, dessert_msg_proc_t *proc, dessert_sysif_t *sysif, dessert_frameid_t id);
++ # Add the libdir to current_libdirs if it is the destination.
++ if test "X$destdir" = "X$libdir"; then
++ case "$current_libdirs " in
++ *" $libdir "*) ;;
++ *) current_libdirs="$current_libdirs $libdir" ;;
++ esac
++ else
++ # Note the libdir as a future libdir.
++ case "$future_libdirs " in
++ *" $libdir "*) ;;
++ *) future_libdirs="$future_libdirs $libdir" ;;
++ esac
++ fi
+
-+/** callbacks type to call in a periodic task
-+ *
-+ * The callbacks are invoked with no locks hold by the thread,
-+ * YOU MUST make sure the thread holds no locks after the callback exits.
-+ * YOU MUST also make sure not to do anything blocking in a callback!
-+ *
-+ * @arg *data void pointer to pass to the callback
-+ * @arg scheduled when this call was scheduled
-+ * @arg interval how often this call should be scheduled
-+ * ®return should be 0, otherwise the callback is unregistered
-+ */
-+typedef int dessert_periodiccallback_t(void *data, struct timeval *scheduled, struct timeval *interval);
++ func_dirname "$file" "/" ""
++ dir="$func_dirname_result"
++ dir="$dir$objdir"
+
-+/** definition of a periodic tasklist entry */
-+typedef struct dessert_periodic {
-+ /** callback to call */
-+ dessert_periodiccallback_t *c;
-+ /** when to call next */
-+ struct timeval scheduled;
-+ /** call every */
-+ struct timeval interval;
-+ /** data pointer to pass to callback */
-+ void *data;
-+ /** internal pointer for task list */
-+ struct dessert_periodic *next;
-+} dessert_periodic_t;
++ if test -n "$relink_command"; then
++ # Determine the prefix the user has applied to our future dir.
++ inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
+
-+/***************************************************************************//**
-+ * @}
-+ *
-+ * @defgroup core C O R E
-+ *
-+ * @brief EXTERNAL / PUBLIC
-+ *
-+ * @{
-+ ******************************************************************************/
++ # Don't allow the user to place us outside of our expected
++ # location b/c this prevents finding dependent libraries that
++ # are installed to the same prefix.
++ # At present, this check doesn't affect windows .dll's that
++ # are installed into $libdir/../bin (currently, that works fine)
++ # but it's something to keep an eye on.
++ test "$inst_prefix_dir" = "$destdir" && \
++ func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
+
-+/******************************************************************************
-+ * #defines
-+ ******************************************************************************/
++ if test -n "$inst_prefix_dir"; then
++ # Stick the inst_prefix_dir data into the link command.
++ relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
++ else
++ relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
++ fi
+
-+/** type for local unique packet identification */
-+#define DESSERT_FRAMEID_MAX ((uint64_t)-1)
++ func_warning "relinking \`$file'"
++ func_show_eval "$relink_command" \
++ 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
++ fi
+
-+/** flag for dessert_init - daemonize when calling
-+ * disables logging to STDERR */
-+#define DESSERT_OPT_DAEMONIZE 0x0100
++ # See the names of the shared library.
++ set dummy $library_names; shift
++ if test -n "$1"; then
++ realname="$1"
++ shift
+
-+/** flag for dessert_init - do not daemonize when calling */
-+#define DESSERT_OPT_NODAEMONIZE 0x0200
++ srcname="$realname"
++ test -n "$relink_command" && srcname="$realname"T
+
-+/** flag for dessert_init - create and write pid file */
-+#define DESSERT_OPT_PID 0x0400
++ # Install the shared library and build the symlinks.
++ func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
++ 'exit $?'
++ tstripme="$stripme"
++ case $host_os in
++ cygwin* | mingw* | pw32* | cegcc*)
++ case $realname in
++ *.dll.a)
++ tstripme=""
++ ;;
++ esac
++ ;;
++ esac
++ if test -n "$tstripme" && test -n "$striplib"; then
++ func_show_eval "$striplib $destdir/$realname" 'exit $?'
++ fi
+
-+/** flag for dessert_init - do not create and write pid file */
-+#define DESSERT_OPT_NOPID 0x0800
++ if test "$#" -gt 0; then
++ # Delete the old symlinks, and create new ones.
++ # Try `ln -sf' first, because the `ln' binary might depend on
++ # the symlink we replace! Solaris /bin/ln does not understand -f,
++ # so we also need to try rm && ln -s.
++ for linkname
++ do
++ test "$linkname" != "$realname" \
++ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
++ done
++ fi
+
-+/******************************************************************************
-+ * globals
-+ ******************************************************************************/
++ # Do each command in the postinstall commands.
++ lib="$destdir/$realname"
++ func_execute_cmds "$postinstall_cmds" 'exit $?'
++ fi
+
-+/** protocol string used in dessert_msg frames */
-+extern char dessert_proto[DESSERT_PROTO_STRLEN+1];
++ # Install the pseudo-library for information purposes.
++ func_basename "$file"
++ name="$func_basename_result"
++ instname="$dir/$name"i
++ func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
+
-+/** version int used in dessert_msg frames */
-+extern u_int8_t dessert_ver;
++ # Maybe install the static library, too.
++ test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
++ ;;
+
-+/** default src address used for local generated dessert_msg frames */
-+extern u_int8_t dessert_l25_defsrc[ETHER_ADDR_LEN];
++ *.lo)
++ # Install (i.e. copy) a libtool object.
+
++ # Figure out destination file name, if it wasn't already specified.
++ if test -n "$destname"; then
++ destfile="$destdir/$destname"
++ else
++ func_basename "$file"
++ destfile="$func_basename_result"
++ destfile="$destdir/$destfile"
++ fi
+
-+/** constant holding ethernet broadcast address after dessert_init */
-+extern u_char ether_broadcast[ETHER_ADDR_LEN];
++ # Deduce the name of the destination old-style object file.
++ case $destfile in
++ *.lo)
++ func_lo2o "$destfile"
++ staticdest=$func_lo2o_result
++ ;;
++ *.$objext)
++ staticdest="$destfile"
++ destfile=
++ ;;
++ *)
++ func_fatal_help "cannot copy a libtool object to \`$destfile'"
++ ;;
++ esac
+
-+/** constant holding ethernet null address after dessert_init */
-+extern u_char ether_null[ETHER_ADDR_LEN];
++ # Install the libtool object if requested.
++ test -n "$destfile" && \
++ func_show_eval "$install_prog $file $destfile" 'exit $?'
+
-+/** the config funnel */
-+extern pthread_rwlock_t dessert_cfglock;
++ # Install the old object if enabled.
++ if test "$build_old_libs" = yes; then
++ # Deduce the name of the old-style object file.
++ func_lo2o "$file"
++ staticobj=$func_lo2o_result
++ func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
++ fi
++ exit $EXIT_SUCCESS
++ ;;
+
-+/******************************************************************************
-+ * functions
-+ ******************************************************************************/
++ *)
++ # Figure out destination file name, if it wasn't already specified.
++ if test -n "$destname"; then
++ destfile="$destdir/$destname"
++ else
++ func_basename "$file"
++ destfile="$func_basename_result"
++ destfile="$destdir/$destfile"
++ fi
+
-+int dessert_init(const char* proto, int version, uint16_t opts, char* pidfile);
++ # If the file is missing, and there is a .exe on the end, strip it
++ # because it is most likely a libtool script we actually want to
++ # install
++ stripped_ext=""
++ case $file in
++ *.exe)
++ if test ! -f "$file"; then
++ func_stripname '' '.exe' "$file"
++ file=$func_stripname_result
++ stripped_ext=".exe"
++ fi
++ ;;
++ esac
+
-+int dessert_run(void);
-+void dessert_exit(void);
++ # Do a test to see if this is really a libtool program.
++ case $host in
++ *cygwin* | *mingw*)
++ if func_ltwrapper_executable_p "$file"; then
++ func_ltwrapper_scriptname "$file"
++ wrapper=$func_ltwrapper_scriptname_result
++ else
++ func_stripname '' '.exe' "$file"
++ wrapper=$func_stripname_result
++ fi
++ ;;
++ *)
++ wrapper=$file
++ ;;
++ esac
++ if func_ltwrapper_script_p "$wrapper"; then
++ notinst_deplibs=
++ relink_command=
+
-+/***************************************************************************//**
-+ * @}
-+ *
-+ * @defgroup cli C L I - C O M M A N D _ L I N E _ I N T E R F A C E
-+ *
-+ * @brief EXTERNAL / PUBLIC
-+ *
-+ * @{
-+ ******************************************************************************/
++ func_source "$wrapper"
+
-+/******************************************************************************
-+ * globals
-+ ******************************************************************************/
++ # Check the variables that should have been set.
++ test -z "$generated_by_libtool_version" && \
++ func_fatal_error "invalid libtool wrapper script \`$wrapper'"
+
-+extern struct cli_def *dessert_cli;
++ finalize=yes
++ for lib in $notinst_deplibs; do
++ # Check to see that each library is installed.
++ libdir=
++ if test -f "$lib"; then
++ func_source "$lib"
++ fi
++ libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
++ if test -n "$libdir" && test ! -f "$libfile"; then
++ func_warning "\`$lib' has not been installed in \`$libdir'"
++ finalize=no
++ fi
++ done
+
-+extern struct cli_command *dessert_cli_show;
-+extern struct cli_command *dessert_cli_cfg_iface;
-+extern struct cli_command *dessert_cli_cfg_no;
-+extern struct cli_command *dessert_cli_cfg_no_iface;
-+extern struct cli_command *dessert_cli_cfg_set;
-+extern struct cli_command *dessert_cli_cfg_logging;
-+extern struct cli_command *dessert_cli_cfg_no_logging;
++ relink_command=
++ func_source "$wrapper"
+
-+/******************************************************************************
-+ * functions
-+ ******************************************************************************/
++ outputname=
++ if test "$fast_install" = no && test -n "$relink_command"; then
++ $opt_dry_run || {
++ if test "$finalize" = yes; then
++ tmpdir=`func_mktempdir`
++ func_basename "$file$stripped_ext"
++ file="$func_basename_result"
++ outputname="$tmpdir/$file"
++ # Replace the output file specification.
++ relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+
-+int dessert_cli_run(int port);
++ $opt_silent || {
++ func_quote_for_expand "$relink_command"
++ eval "func_echo $func_quote_for_expand_result"
++ }
++ if eval "$relink_command"; then :
++ else
++ func_error "error: relink \`$file' with the above command before installing it"
++ $opt_dry_run || ${RM}r "$tmpdir"
++ continue
++ fi
++ file="$outputname"
++ else
++ func_warning "cannot relink \`$file'"
++ fi
++ }
++ else
++ # Install the binary that we compiled earlier.
++ file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
++ fi
++ fi
+
-+/***************************************************************************//**
-+ * @}
-+ *
-+ * @defgroup log L O G _ F A C I L I T Y
-+ *
-+ * @brief EXTERNAL / PUBLIC
-+ *
-+ * @{
-+ ******************************************************************************/
++ # remove .exe since cygwin /usr/bin/install will append another
++ # one anyway
++ case $install_prog,$host in
++ */usr/bin/install*,*cygwin*)
++ case $file:$destfile in
++ *.exe:*.exe)
++ # this is ok
++ ;;
++ *.exe:*)
++ destfile=$destfile.exe
++ ;;
++ *:*.exe)
++ func_stripname '' '.exe' "$destfile"
++ destfile=$func_stripname_result
++ ;;
++ esac
++ ;;
++ esac
++ func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
++ $opt_dry_run || if test -n "$outputname"; then
++ ${RM}r "$tmpdir"
++ fi
++ ;;
++ esac
++ done
+
-+/******************************************************************************
-+ * #defines
-+ ******************************************************************************/
++ for file in $staticlibs; do
++ func_basename "$file"
++ name="$func_basename_result"
+
-+/** flag for dessert_logcfg - enable syslog logging */
-+#define DESSERT_LOG_SYSLOG 0x0001
++ # Set up the ranlib parameters.
++ oldlib="$destdir/$name"
+
-+/** flag for dessert_logcfg - disable syslog logging */
-+#define DESSERT_LOG_NOSYSLOG 0x0002
++ func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
+
-+/** flag for dessert_logcfg - enable logfile logging
-+ * @warning before using this you MUST use fopen(dessert_logfd, ...) to open the logfile */
-+#define DESSERT_LOG_FILE 0x0004
++ if test -n "$stripme" && test -n "$old_striplib"; then
++ func_show_eval "$old_striplib $oldlib" 'exit $?'
++ fi
+
-+/** flag for dessert_logcfg - disable logfile logging */
-+#define DESSERT_LOG_NOFILE 0x0008
++ # Do each command in the postinstall commands.
++ func_execute_cmds "$old_postinstall_cmds" 'exit $?'
++ done
+
-+/** flag for dessert_logcfg - enable logging to stderr */
-+#define DESSERT_LOG_STDERR 0x0010
++ test -n "$future_libdirs" && \
++ func_warning "remember to run \`$progname --finish$future_libdirs'"
+
-+/** flag for dessert_logcfg - disable logging to stderr */
-+#define DESSERT_LOG_NOSTDERR 0x0020
++ if test -n "$current_libdirs"; then
++ # Maybe just do a dry run.
++ $opt_dry_run && current_libdirs=" -n$current_libdirs"
++ exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
++ else
++ exit $EXIT_SUCCESS
++ fi
++}
+
-+/** flag for dessert_logcfg - enable logging to ringbuffer */
-+#define DESSERT_LOG_RBUF 0x0040
++test "$mode" = install && func_mode_install ${1+"$@"}
+
-+/** flag for dessert_logcfg - disable logging to ringbuffer */
-+#define DESSERT_LOG_NORBUF 0x0080
+
-+/** flag for dessert_logcfg - enable debug loglevel */
-+#define DESSERT_LOG_DEBUG 0x0100
++# func_generate_dlsyms outputname originator pic_p
++# Extract symbols from dlprefiles and create ${outputname}S.o with
++# a dlpreopen symbol table.
++func_generate_dlsyms ()
++{
++ $opt_debug
++ my_outputname="$1"
++ my_originator="$2"
++ my_pic_p="${3-no}"
++ my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
++ my_dlsyms=
+
-+/** flag for dessert_logcfg - disable debug loglevel */
-+#define DESSERT_LOG_NODEBUG 0x0200
++ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
++ if test -n "$NM" && test -n "$global_symbol_pipe"; then
++ my_dlsyms="${my_outputname}S.c"
++ else
++ func_error "not configured to extract global symbols from dlpreopened files"
++ fi
++ fi
+
-+/******************************************************************************
-+ * functions
-+ ******************************************************************************/
-+int dessert_logcfg(uint16_t opts);
-+void _dessert_log(int level, const char* func, const char* file, int line, const char *fmt, ...);
-+/** log at DEBUG level */
-+#define dessert_debug(...) _dessert_log(LOG_DEBUG, __FUNCTION__, __FILE__, __LINE__, __VA_ARGS__)
-+/** log at INFO level */
-+#define dessert_info(...) _dessert_log(LOG_INFO, __FUNCTION__, __FILE__, __LINE__, __VA_ARGS__)
-+/** log at NOTICE level */
-+#define dessert_notice(...) _dessert_log(LOG_NOTICE, __FUNCTION__, __FILE__, __LINE__, __VA_ARGS__)
-+/** log at WARNING level */
-+#define dessert_warn(...) _dessert_log(LOG_WARNING, __FUNCTION__, __FILE__, __LINE__, __VA_ARGS__)
-+/** log at WARNING level */
-+#define dessert_warning(...) _dessert_log(LOG_WARNING, __FUNCTION__, __FILE__, __LINE__, __VA_ARGS__)
-+/** log at ERR level */
-+#define dessert_err(...) _dessert_log(LOG_ERR, __FUNCTION__, __FILE__, __LINE__, __VA_ARGS__)
-+/** log at CRIT level */
-+#define dessert_crit(...) _dessert_log(LOG_CRIT, __FUNCTION__, __FILE__, __LINE__, __VA_ARGS__)
-+/** log at ALERT level */
-+#define dessert_alert(...) _dessert_log(LOG_ALERT, __FUNCTION__, __FILE__, __LINE__, __VA_ARGS__)
-+/** log at EMERG level */
-+#define dessert_emerg(...) _dessert_log(LOG_EMERG, __FUNCTION__, __FILE__, __LINE__, __VA_ARGS__)
++ if test -n "$my_dlsyms"; then
++ case $my_dlsyms in
++ "") ;;
++ *.c)
++ # Discover the nlist of each of the dlfiles.
++ nlist="$output_objdir/${my_outputname}.nm"
++
++ func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
+
-+/***************************************************************************//**
-+ * @}
-+ *
-+ * @defgroup mesh M E S H - I N T E R F A C E S
-+ *
-+ * @brief EXTERNAL / PUBLIC
-+ *
-+ * @{
-+ ******************************************************************************/
++ # Parse the name list into a source file.
++ func_verbose "creating $output_objdir/$my_dlsyms"
+
-+/******************************************************************************
-+ * #defines
-+ ******************************************************************************/
++ $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
++/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
++/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
+
-+/** return code for dessert_meshrxcb_t - forces to copy the message and call again*/
-+#define DESSERT_MSG_NEEDNOSPARSE 1
++#ifdef __cplusplus
++extern \"C\" {
++#endif
+
-+/** return code for dessert_meshrxcb_t - forces to generate processing info and call again*/
-+#define DESSERT_MSG_NEEDMSGPROC 2
++/* External symbol declarations for the compiler. */\
++"
+
-+/** return code for dessert_meshrxcb_t and dessert_sysrxcb_t */
-+#define DESSERT_MSG_KEEP 0
++ if test "$dlself" = yes; then
++ func_verbose "generating symbol list for \`$output'"
+
-+/** return code for dessert_meshrxcb_t and dessert_sysrxcb_t */
-+#define DESSERT_MSG_DROP -1
++ $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
+
-+/** flag for dessert_meshif_add - set interface in promiscuous-mode (default) */
-+#define DESSERT_IF_PROMISC 0x0
++ # Add our own program objects to the symbol list.
++ progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
++ for progfile in $progfiles; do
++ func_verbose "extracting global C symbols from \`$progfile'"
++ $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
++ done
+
-+/** flag for dessert_meshif_add - do not set interface in promiscuous-mode */
-+#define DESSERT_IF_NOPROMISC 0x1
++ if test -n "$exclude_expsyms"; then
++ $opt_dry_run || {
++ eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
++ eval '$MV "$nlist"T "$nlist"'
++ }
++ fi
+
-+/** flag for dessert_meshif_add - filter out non-des-sert frames in libpcap (default) */
-+#define DESSERT_IF_FILTER 0x0
++ if test -n "$export_symbols_regex"; then
++ $opt_dry_run || {
++ eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
++ eval '$MV "$nlist"T "$nlist"'
++ }
++ fi
+
-+/** flag for dessert_meshif_add - do not filter out non-des-sert frames in libpcap */
-+#define DESSERT_IF_NOFILTER 0x2
++ # Prepare the list of exported symbols
++ if test -z "$export_symbols"; then
++ export_symbols="$output_objdir/$outputname.exp"
++ $opt_dry_run || {
++ $RM $export_symbols
++ eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
++ case $host in
++ *cygwin* | *mingw* | *cegcc* )
++ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
++ eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
++ ;;
++ esac
++ }
++ else
++ $opt_dry_run || {
++ eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
++ eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
++ eval '$MV "$nlist"T "$nlist"'
++ case $host in
++ *cygwin | *mingw* | *cegcc* )
++ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
++ eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
++ ;;
++ esac
++ }
++ fi
++ fi
+
-+/******************************************************************************
-+ * functions
-+ ******************************************************************************/
++ for dlprefile in $dlprefiles; do
++ func_verbose "extracting global C symbols from \`$dlprefile'"
++ func_basename "$dlprefile"
++ name="$func_basename_result"
++ $opt_dry_run || {
++ eval '$ECHO ": $name " >> "$nlist"'
++ eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
++ }
++ done
+
-+/* sending messages */
-+int dessert_meshsend(const dessert_msg_t* msgin, const dessert_meshif_t *iface);
-+int dessert_meshsend_allbutone(const dessert_msg_t* msgin, const dessert_meshif_t *iface);
-+int dessert_meshsend_hwaddr(const dessert_msg_t* msgin, const uint8_t hwaddr[ETHER_ADDR_LEN]);
-+int dessert_meshsend_randomized(const dessert_msg_t* msgin);
++ $opt_dry_run || {
++ # Make sure we have at least an empty file.
++ test -f "$nlist" || : > "$nlist"
+
-+int dessert_meshsend_fast(dessert_msg_t* msg, const dessert_meshif_t *iface);
-+int dessert_meshsend_fast_allbutone(dessert_msg_t* msg, const dessert_meshif_t *iface);
-+int dessert_meshsend_fast_hwaddr(dessert_msg_t* msg, const uint8_t hwaddr[ETHER_ADDR_LEN]);
-+int dessert_meshsend_fast_randomized(dessert_msg_t* msgin);
-+int dessert_meshsend_raw(dessert_msg_t* msg, const dessert_meshif_t *iface);
++ if test -n "$exclude_expsyms"; then
++ $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
++ $MV "$nlist"T "$nlist"
++ fi
+
-+/* meshrx-callback handling */
-+int dessert_meshrxcb_add(dessert_meshrxcb_t* c, int prio);
-+int dessert_meshrxcb_del(dessert_meshrxcb_t* c);
++ # Try sorting and uniquifying the output.
++ if $GREP -v "^: " < "$nlist" |
++ if sort -k 3 </dev/null >/dev/null 2>&1; then
++ sort -k 3
++ else
++ sort +2
++ fi |
++ uniq > "$nlist"S; then
++ :
++ else
++ $GREP -v "^: " < "$nlist" > "$nlist"S
++ fi
+
-+/* mesh interface handling */
-+int dessert_meshif_add(const char* dev, uint8_t flags);
-+int dessert_meshif_del(const char* dev);
++ if test -f "$nlist"S; then
++ eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
++ else
++ $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
++ fi
+
-+dessert_meshif_t * dessert_meshif_get_name(const char* dev);
-+dessert_meshif_t * dessert_meshif_get_hwaddr(const uint8_t hwaddr[ETHER_ADDR_LEN]);
-+dessert_meshif_t * dessert_meshiflist_get(void);
-+/*\}*/
-+/***************************************************************************//**
-+ * @}
-+ *
-+ * @defgroup sys S Y S - I N T E R F A C E S
-+ *
-+ * @brief EXTERNAL / PUBLIC
-+ *
-+ * @{
-+ ******************************************************************************/
++ $ECHO >> "$output_objdir/$my_dlsyms" "\
+
-+/******************************************************************************
-+ * #defines
-+ ******************************************************************************/
++/* The mapping between symbol names and symbols. */
++typedef struct {
++ const char *name;
++ void *address;
++} lt_dlsymlist;
++"
++ case $host in
++ *cygwin* | *mingw* | *cegcc* )
++ $ECHO >> "$output_objdir/$my_dlsyms" "\
++/* DATA imports from DLLs on WIN32 con't be const, because
++ runtime relocations are performed -- see ld's documentation
++ on pseudo-relocs. */"
++ lt_dlsym_const= ;;
++ *osf5*)
++ echo >> "$output_objdir/$my_dlsyms" "\
++/* This system does not cope well with relocations in const data */"
++ lt_dlsym_const= ;;
++ *)
++ lt_dlsym_const=const ;;
++ esac
+
-+/** flag for dessert_sysif_init - open tun (ip/ipv6) device */
-+#define DESSERT_TUN 0x00
++ $ECHO >> "$output_objdir/$my_dlsyms" "\
++extern $lt_dlsym_const lt_dlsymlist
++lt_${my_prefix}_LTX_preloaded_symbols[];
++$lt_dlsym_const lt_dlsymlist
++lt_${my_prefix}_LTX_preloaded_symbols[] =
++{\
++ { \"$my_originator\", (void *) 0 },"
+
-+/** flag for dessert_sysif_init - open tap (ethernet) device */
-+#define DESSERT_TAP 0x01
++ case $need_lib_prefix in
++ no)
++ eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
++ ;;
++ *)
++ eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
++ ;;
++ esac
++ $ECHO >> "$output_objdir/$my_dlsyms" "\
++ {0, (void *) 0}
++};
+
-+/** flag for dessert_sysif_init - set dessert_l25_defsrc to mac of tap device */
-+#define DESSERT_MAKE_DEFSRC 0x02
++/* This works around a problem in FreeBSD linker */
++#ifdef FREEBSD_WORKAROUND
++static const void *lt_preloaded_setup() {
++ return lt_${my_prefix}_LTX_preloaded_symbols;
++}
++#endif
+
-+/** flag for dessert_sysif_init - get mac for tap failed - try mac in src of first packet */
-+#define _DESSERT_TAP_NOMAC 0x80
++#ifdef __cplusplus
++}
++#endif\
++"
++ } # !$opt_dry_run
+
-+/******************************************************************************
-+ * functions
-+ ******************************************************************************/
++ pic_flag_for_symtable=
++ case "$compile_command " in
++ *" -static "*) ;;
++ *)
++ case $host in
++ # compiling the symbol table file with pic_flag works around
++ # a FreeBSD bug that causes programs to crash when -lm is
++ # linked before any other PIC object. But we must not use
++ # pic_flag when linking with -static. The problem exists in
++ # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
++ *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
++ pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
++ *-*-hpux*)
++ pic_flag_for_symtable=" $pic_flag" ;;
++ *)
++ if test "X$my_pic_p" != Xno; then
++ pic_flag_for_symtable=" $pic_flag"
++ fi
++ ;;
++ esac
++ ;;
++ esac
++ symtab_cflags=
++ for arg in $LTCFLAGS; do
++ case $arg in
++ -pie | -fpie | -fPIE) ;;
++ *) symtab_cflags="$symtab_cflags $arg" ;;
++ esac
++ done
+
-+int dessert_sysif_init(char* name, uint8_t flags);
++ # Now compile the dynamic symbol file.
++ func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
+
-+int dessert_sysrxcb_add(dessert_sysrxcb_t* c, int prio);
-+int dessert_sysrxcb_del(dessert_sysrxcb_t* c);
++ # Clean up the generated files.
++ func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
+
-+int dessert_syssend_msg(dessert_msg_t *msg);
-+int dessert_syssend(const struct ether_header *eth, size_t len);
++ # Transform the symbol file into the correct name.
++ symfileobj="$output_objdir/${my_outputname}S.$objext"
++ case $host in
++ *cygwin* | *mingw* | *cegcc* )
++ if test -f "$output_objdir/$my_outputname.def"; then
++ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
++ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
++ else
++ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
++ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
++ fi
++ ;;
++ *)
++ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
++ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
++ ;;
++ esac
++ ;;
++ *)
++ func_fatal_error "unknown suffix for \`$my_dlsyms'"
++ ;;
++ esac
++ else
++ # We keep going just in case the user didn't refer to
++ # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
++ # really was required.
+
-+/***************************************************************************//**
-+ * @}
-+ *
-+ * @defgroup msg M E S S A G E _ H A N D L I N G
-+ *
-+ * @brief EXTERNAL / PUBLIC
-+ *
-+ * @{
-+ ******************************************************************************/
++ # Nullify the symbol file.
++ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
++ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
++ fi
++}
+
-+/******************************************************************************
-+ * #defines
-+ ******************************************************************************/
++# func_win32_libid arg
++# return the library type of file 'arg'
++#
++# Need a lot of goo to handle *both* DLLs and import libs
++# Has to be a shell function in order to 'eat' the argument
++# that is supplied when $file_magic_command is called.
++func_win32_libid ()
++{
++ $opt_debug
++ win32_libid_type="unknown"
++ win32_fileres=`file -L $1 2>/dev/null`
++ case $win32_fileres in
++ *ar\ archive\ import\ library*) # definitely import
++ win32_libid_type="x86 archive import"
++ ;;
++ *ar\ archive*) # could be an import, or static
++ if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
++ $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
++ win32_nmres=`eval $NM -f posix -A $1 |
++ $SED -n -e '
++ 1,100{
++ / I /{
++ s,.*,import,
++ p
++ q
++ }
++ }'`
++ case $win32_nmres in
++ import*) win32_libid_type="x86 archive import";;
++ *) win32_libid_type="x86 archive static";;
++ esac
++ fi
++ ;;
++ *DLL*)
++ win32_libid_type="x86 DLL"
++ ;;
++ *executable*) # but shell scripts are "executable" too...
++ case $win32_fileres in
++ *MS\ Windows\ PE\ Intel*)
++ win32_libid_type="x86 DLL"
++ ;;
++ esac
++ ;;
++ esac
++ $ECHO "$win32_libid_type"
++}
+
-+/** flag for dessert_msg.flags - message len is hlen+plen
-+ * if not set buffer len is assumed as DESSERT_MAXFRAMELEN + DESSERT_MSGPROCLEN */
-+#define DESSERT_FLAG_SPARSE 0x1
+
-+/* *********************** */
+
-+/** flag for dessert_msg_proc.lflags - l25 src is one of our interfaces */
-+#define DESSERT_LFLAG_SRC_SELF 0x0002
++# func_extract_an_archive dir oldlib
++func_extract_an_archive ()
++{
++ $opt_debug
++ f_ex_an_ar_dir="$1"; shift
++ f_ex_an_ar_oldlib="$1"
++ func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
++ if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
++ :
++ else
++ func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
++ fi
++}
+
-+/** flag for dessert_msg_proc.lflags - l25 dst is multicast address*/
-+#define DESSERT_LFLAG_DST_MULTICAST 0x0004
+
-+/** flag for dessert_msg_proc.lflags - l25 dst is one of our interfaces */
-+#define DESSERT_LFLAG_DST_SELF 0x0008
++# func_extract_archives gentop oldlib ...
++func_extract_archives ()
++{
++ $opt_debug
++ my_gentop="$1"; shift
++ my_oldlibs=${1+"$@"}
++ my_oldobjs=""
++ my_xlib=""
++ my_xabs=""
++ my_xdir=""
+
-+/** flag for dessert_msg_proc.lflags - l25 dst is broadcast */
-+#define DESSERT_LFLAG_DST_BROADCAST 0x0010
++ for my_xlib in $my_oldlibs; do
++ # Extract the objects.
++ case $my_xlib in
++ [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
++ *) my_xabs=`pwd`"/$my_xlib" ;;
++ esac
++ func_basename "$my_xlib"
++ my_xlib="$func_basename_result"
++ my_xlib_u=$my_xlib
++ while :; do
++ case " $extracted_archives " in
++ *" $my_xlib_u "*)
++ func_arith $extracted_serial + 1
++ extracted_serial=$func_arith_result
++ my_xlib_u=lt$extracted_serial-$my_xlib ;;
++ *) break ;;
++ esac
++ done
++ extracted_archives="$extracted_archives $my_xlib_u"
++ my_xdir="$my_gentop/$my_xlib_u"
+
-+/** flag for dessert_msg_proc.lflags - l2 src is one of our interfaces */
-+#define DESSERT_LFLAG_PREVHOP_SELF 0x0020
++ func_mkdir_p "$my_xdir"
+
-+/** flag for dessert_msg_proc.lflags - l2 dst is one of our interfaces */
-+#define DESSERT_LFLAG_NEXTHOP_SELF 0x0040
++ case $host in
++ *-darwin*)
++ func_verbose "Extracting $my_xabs"
++ # Do not bother doing anything if just a dry run
++ $opt_dry_run || {
++ darwin_orig_dir=`pwd`
++ cd $my_xdir || exit $?
++ darwin_archive=$my_xabs
++ darwin_curdir=`pwd`
++ darwin_base_archive=`basename "$darwin_archive"`
++ darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
++ if test -n "$darwin_arches"; then
++ darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
++ darwin_arch=
++ func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
++ for darwin_arch in $darwin_arches ; do
++ func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
++ $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
++ cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
++ func_extract_an_archive "`pwd`" "${darwin_base_archive}"
++ cd "$darwin_curdir"
++ $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
++ done # $darwin_arches
++ ## Okay now we've a bunch of thin objects, gotta fatten them up :)
++ darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
++ darwin_file=
++ darwin_files=
++ for darwin_file in $darwin_filelist; do
++ darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
++ $LIPO -create -output "$darwin_file" $darwin_files
++ done # $darwin_filelist
++ $RM -rf unfat-$$
++ cd "$darwin_orig_dir"
++ else
++ cd $darwin_orig_dir
++ func_extract_an_archive "$my_xdir" "$my_xabs"
++ fi # $darwin_arches
++ } # !$opt_dry_run
++ ;;
++ *)
++ func_extract_an_archive "$my_xdir" "$my_xabs"
++ ;;
++ esac
++ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
++ done
+
-+/** flag for dessert_msg_proc.lflags - l2 dst is broadcast */
-+#define DESSERT_LFLAG_NEXTHOP_BROADCAST 0x0080
++ func_extract_archives_result="$my_oldobjs"
++}
+
-+/** flag for dessert_msg_proc.lflags - l25 dst is one of our interfaces,
-+ * but we received the message not via the indented interface, e.g. we
-+ * overheard it */
-+#define DESSERT_LFLAG_DST_SELF_OVERHEARD 0x0100
+
-+/** flag for dessert_msg_proc.lflags - l2 dst is one of our interfaces,
-+ * but we received the message not via the indented interface, e.g. we
-+ * overheard it */
-+#define DESSERT_LFLAG_NEXTHOP_SELF_OVERHEARD 0x0200
+
-+/* *********************** */
++# func_emit_wrapper_part1 [arg=no]
++#
++# Emit the first part of a libtool wrapper script on stdout.
++# For more information, see the description associated with
++# func_emit_wrapper(), below.
++func_emit_wrapper_part1 ()
++{
++ func_emit_wrapper_part1_arg1=no
++ if test -n "$1" ; then
++ func_emit_wrapper_part1_arg1=$1
++ fi
++
++ $ECHO "\
++#! $SHELL
++
++# $output - temporary wrapper script for $objdir/$outputname
++# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
++#
++# The $output program cannot be directly executed until all the libtool
++# libraries that it depends on are installed.
++#
++# This wrapper script should never be moved out of the build directory.
++# If it is, it will not operate correctly.
++
++# Sed substitution that helps us do robust quoting. It backslashifies
++# metacharacters that are still active within double-quoted strings.
++Xsed='${SED} -e 1s/^X//'
++sed_quote_subst='$sed_quote_subst'
++
++# Be Bourne compatible
++if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
++ emulate sh
++ NULLCMD=:
++ # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
++ # is contrary to our usage. Disable this feature.
++ alias -g '\${1+\"\$@\"}'='\"\$@\"'
++ setopt NO_GLOB_SUBST
++else
++ case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
++fi
++BIN_SH=xpg4; export BIN_SH # for Tru64
++DUALCASE=1; export DUALCASE # for MKS sh
++
++# The HP-UX ksh and POSIX shell print the target directory to stdout
++# if CDPATH is set.
++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
++
++relink_command=\"$relink_command\"
++
++# This environment variable determines our operation mode.
++if test \"\$libtool_install_magic\" = \"$magic\"; then
++ # install mode needs the following variables:
++ generated_by_libtool_version='$macro_version'
++ notinst_deplibs='$notinst_deplibs'
++else
++ # When we are sourced in execute mode, \$file and \$ECHO are already set.
++ if test \"\$libtool_execute_magic\" != \"$magic\"; then
++ ECHO=\"$qecho\"
++ file=\"\$0\"
++ # Make sure echo works.
++ if test \"X\$1\" = X--no-reexec; then
++ # Discard the --no-reexec flag, and continue.
++ shift
++ elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
++ # Yippee, \$ECHO works!
++ :
++ else
++ # Restart under the correct shell, and then maybe \$ECHO will work.
++ exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
++ fi
++ fi\
++"
++ $ECHO "\
+
-+/** length of dessert_ext header */
-+#define DESSERT_EXTLEN (sizeof(struct dessert_ext) - DESSERT_MAXEXTDATALEN)
++ # Find the directory that this script lives in.
++ thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
++ test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
-+/** dessert_ext type wildcard - any extension */
-+#define DESSERT_EXT_ANY 0x00
++ # Follow symbolic links until we get to the real thisdir.
++ file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
++ while test -n \"\$file\"; do
++ destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+
-+/** dessert_ext type for ethernet header */
-+#define DESSERT_EXT_ETH 0x01
++ # If there was a directory component, then change thisdir.
++ if test \"x\$destdir\" != \"x\$file\"; then
++ case \"\$destdir\" in
++ [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
++ *) thisdir=\"\$thisdir/\$destdir\" ;;
++ esac
++ fi
+
-+/** dessert_ext type for packet tracing */
-+#define DESSERT_EXT_TRACE 0x02
++ file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
++ file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
++ done
++"
++}
++# end: func_emit_wrapper_part1
+
-+/** first dessert_ext type for usage by the user */
-+#define DESSERT_EXT_USER 0x40
++# func_emit_wrapper_part2 [arg=no]
++#
++# Emit the second part of a libtool wrapper script on stdout.
++# For more information, see the description associated with
++# func_emit_wrapper(), below.
++func_emit_wrapper_part2 ()
++{
++ func_emit_wrapper_part2_arg1=no
++ if test -n "$1" ; then
++ func_emit_wrapper_part2_arg1=$1
++ fi
+
-+/* *********************** */
++ $ECHO "\
+
-+/** packet tracing flag - only record hosts */
-+#define DESSERT_MSG_TRACE_HOST (ETHER_ADDR_LEN)
++ # Usually 'no', except on cygwin/mingw when embedded into
++ # the cwrapper.
++ WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1
++ if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
++ # special case for '.'
++ if test \"\$thisdir\" = \".\"; then
++ thisdir=\`pwd\`
++ fi
++ # remove .libs from thisdir
++ case \"\$thisdir\" in
++ *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
++ $objdir ) thisdir=. ;;
++ esac
++ fi
+
-+/** packet tracing flag - record interfaces */
-+#define DESSERT_MSG_TRACE_IFACE (3*ETHER_ADDR_LEN)
++ # Try to get the absolute directory name.
++ absdir=\`cd \"\$thisdir\" && pwd\`
++ test -n \"\$absdir\" && thisdir=\"\$absdir\"
++"
+
-+/* *********************** */
++ if test "$fast_install" = yes; then
++ $ECHO "\
++ program=lt-'$outputname'$exeext
++ progdir=\"\$thisdir/$objdir\"
+
-+/** Returns the length of a given extension. */
-+#define dessert_ext_getdatalen(ext) (ext->len - DESSERT_EXTLEN)
++ if test ! -f \"\$progdir/\$program\" ||
++ { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
++ test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
-+/******************************************************************************
-+ * functions
-+ ******************************************************************************/
++ file=\"\$\$-\$program\"
+
-+int dessert_msg_new(dessert_msg_t **msgout);
-+int dessert_msg_clone(dessert_msg_t **msgnew, const dessert_msg_t *msgold, uint8_t sparse);
-+int dessert_msg_check(const dessert_msg_t* msg, size_t len);
-+void dessert_msg_dump(const dessert_msg_t* msg, size_t len, char *buf, size_t blen);
-+void dessert_msg_destroy(dessert_msg_t* msg);
++ if test ! -d \"\$progdir\"; then
++ $MKDIR \"\$progdir\"
++ else
++ $RM \"\$progdir/\$file\"
++ fi"
+
-+int dessert_msg_ethencap(const struct ether_header* eth, size_t eth_len, dessert_msg_t **msgout);
-+int dessert_msg_ethdecap(const dessert_msg_t* msg, struct ether_header** ethout);
-+struct ether_header* dessert_msg_getl25ether (const dessert_msg_t* msg);
++ $ECHO "\
+
-+int dessert_msg_proc_clone(dessert_msg_proc_t **procnew, const dessert_msg_proc_t *procold);
-+void dessert_msg_proc_dump(const dessert_msg_t* msg, size_t len, const dessert_msg_proc_t *proc, char *buf, size_t blen);
-+void dessert_msg_proc_destroy(dessert_msg_proc_t* proc);
++ # relink executable if necessary
++ if test -n \"\$relink_command\"; then
++ if relink_command_output=\`eval \$relink_command 2>&1\`; then :
++ else
++ $ECHO \"\$relink_command_output\" >&2
++ $RM \"\$progdir/\$file\"
++ exit 1
++ fi
++ fi
+
-+int dessert_msg_addpayload(dessert_msg_t* msg, void** payload, int len);
-+int dessert_msg_getpayload(dessert_msg_t *msg, void **payload);
-+int dessert_msg_addext(dessert_msg_t* msg, dessert_ext_t** ext, uint8_t type, size_t len);
-+int dessert_msg_delext(dessert_msg_t *msg, dessert_ext_t *ext);
-+int dessert_msg_resizeext(dessert_msg_t *msg, dessert_ext_t *ext, size_t new_len);
-+int dessert_msg_getext(const dessert_msg_t* msg, dessert_ext_t** ext, uint8_t type, int index);
-+int dessert_msg_get_ext_count(const dessert_msg_t* msg, uint8_t type);
++ $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
++ { $RM \"\$progdir/\$program\";
++ $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
++ $RM \"\$progdir/\$file\"
++ fi"
++ else
++ $ECHO "\
++ program='$outputname'
++ progdir=\"\$thisdir/$objdir\"
++"
++ fi
+
-+int dessert_msg_trace_initiate(dessert_msg_t* msg, int mode);
-+int dessert_msg_trace_dump(const dessert_msg_t* msg, char* buf, int blen);
++ $ECHO "\
+
-+int dessert_msg_dump_cb(dessert_msg_t* msg, size_t len, dessert_msg_proc_t *proc, const dessert_meshif_t *iface, dessert_frameid_t id);
-+int dessert_msg_check_cb(dessert_msg_t* msg, size_t len, dessert_msg_proc_t *proc, const dessert_meshif_t *iface, dessert_frameid_t id);
-+int dessert_msg_trace_cb(dessert_msg_t* msg, size_t len, dessert_msg_proc_t *proc, const dessert_meshif_t *iface, dessert_frameid_t id);
-+int dessert_msg_ifaceflags_cb(dessert_msg_t* msg, size_t len, dessert_msg_proc_t *proc, const dessert_meshif_t *riface, dessert_frameid_t id);
++ if test -f \"\$progdir/\$program\"; then"
+
-+/***************************************************************************//**
-+ * @}
-+ *
-+ * @defgroup periodic P E R I O D I C _ T A S K S
-+ *
-+ * @brief EXTERNAL / PUBLIC
-+ *
-+ * @{
-+ ******************************************************************************/
++ # Export our shlibpath_var if we have one.
++ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
++ $ECHO "\
++ # Add our own library path to $shlibpath_var
++ $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
-+dessert_periodic_t *dessert_periodic_add(dessert_periodiccallback_t* c, void *data, const struct timeval *scheduled, const struct timeval *interval);
-+dessert_periodic_t *dessert_periodic_add_delayed(dessert_periodiccallback_t* c, void *data, int delay);
-+int dessert_periodic_del(dessert_periodic_t *p);
++ # Some systems cannot cope with colon-terminated $shlibpath_var
++ # The second colon is a workaround for a bug in BeOS R4 sed
++ $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+
-+/***************************************************************************//**
-+ * @}
-+ *
-+ * @defgroup agentx NET - S N M P // A G E N T _ X
-+ *
-+ * @brief EXTERNAL / PUBLIC
-+ *
-+ * @{
-+ ******************************************************************************/
++ export $shlibpath_var
++"
++ fi
+
-+/******************************************************************************
-+ * #defines
-+ ******************************************************************************/
-+/** Flag indicating the dessert_agentx_appstats_t is of type bool. */
-+#define DESSERT_APPSTATS_VALUETYPE_BOOL 0
++ # fixup the dll searchpath if we need to.
++ if test -n "$dllsearchpath"; then
++ $ECHO "\
++ # Add the dll search path components to the executable PATH
++ PATH=$dllsearchpath:\$PATH
++"
++ fi
+
-+/** Flag indicating the dessert_agentx_appstats_t is of type int32. */
-+#define DESSERT_APPSTATS_VALUETYPE_INT32 1
++ $ECHO "\
++ if test \"\$libtool_execute_magic\" != \"$magic\"; then
++ # Run the actual program with our arguments.
++"
++ case $host in
++ # Backslashes separate directories on plain windows
++ *-*-mingw | *-*-os2* | *-cegcc*)
++ $ECHO "\
++ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
++"
++ ;;
+
-+/** Flag indicating the dessert_agentx_appstats_t is of type uint32. */
-+#define DESSERT_APPSTATS_VALUETYPE_UINT32 2
++ *)
++ $ECHO "\
++ exec \"\$progdir/\$program\" \${1+\"\$@\"}
++"
++ ;;
++ esac
++ $ECHO "\
++ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
++ exit 1
++ fi
++ else
++ # The program doesn't exist.
++ \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
++ \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
++ $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
++ exit 1
++ fi
++fi\
++"
++}
++# end: func_emit_wrapper_part2
+
-+/** Flag indicating the dessert_agentx_appstats_t is of type counter64. */
-+#define DESSERT_APPSTATS_VALUETYPE_COUNTER64 3
+
-+/** Flag indicating the dessert_agentx_appstats_t is of type octetstring. */
-+#define DESSERT_APPSTATS_VALUETYPE_OCTETSTRING 4
++# func_emit_wrapper [arg=no]
++#
++# Emit a libtool wrapper script on stdout.
++# Don't directly open a file because we may want to
++# incorporate the script contents within a cygwin/mingw
++# wrapper executable. Must ONLY be called from within
++# func_mode_link because it depends on a number of variables
++# set therein.
++#
++# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
++# variable will take. If 'yes', then the emitted script
++# will assume that the directory in which it is stored is
++# the $objdir directory. This is a cygwin/mingw-specific
++# behavior.
++func_emit_wrapper ()
++{
++ func_emit_wrapper_arg1=no
++ if test -n "$1" ; then
++ func_emit_wrapper_arg1=$1
++ fi
+
-+/* *********************** */
++ # split this up so that func_emit_cwrapperexe_src
++ # can call each part independently.
++ func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
++ func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
++}
+
-+/** Flag indicating the dessert_agentx_appstats_t does not contain information regarding a node or a link. */
-+#define DESSERT_APPSTATS_NODEORLINK_NONE 0
+
-+/** Flag indicating the dessert_agentx_appstats_t contains information regarding a node. */
-+#define DESSERT_APPSTATS_NODEORLINK_NODE 1
++# func_to_host_path arg
++#
++# Convert paths to host format when used with build tools.
++# Intended for use with "native" mingw (where libtool itself
++# is running under the msys shell), or in the following cross-
++# build environments:
++# $build $host
++# mingw (msys) mingw [e.g. native]
++# cygwin mingw
++# *nix + wine mingw
++# where wine is equipped with the `winepath' executable.
++# In the native mingw case, the (msys) shell automatically
++# converts paths for any non-msys applications it launches,
++# but that facility isn't available from inside the cwrapper.
++# Similar accommodations are necessary for $host mingw and
++# $build cygwin. Calling this function does no harm for other
++# $host/$build combinations not listed above.
++#
++# ARG is the path (on $build) that should be converted to
++# the proper representation for $host. The result is stored
++# in $func_to_host_path_result.
++func_to_host_path ()
++{
++ func_to_host_path_result="$1"
++ if test -n "$1" ; then
++ case $host in
++ *mingw* )
++ lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
++ case $build in
++ *mingw* ) # actually, msys
++ # awkward: cmd appends spaces to result
++ lt_sed_strip_trailing_spaces="s/[ ]*\$//"
++ func_to_host_path_tmp1=`( cmd //c echo "$1" |\
++ $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
++ func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
++ $SED -e "$lt_sed_naive_backslashify"`
++ ;;
++ *cygwin* )
++ func_to_host_path_tmp1=`cygpath -w "$1"`
++ func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
++ $SED -e "$lt_sed_naive_backslashify"`
++ ;;
++ * )
++ # Unfortunately, winepath does not exit with a non-zero
++ # error code, so we are forced to check the contents of
++ # stdout. On the other hand, if the command is not
++ # found, the shell will set an exit code of 127 and print
++ # *an error message* to stdout. So we must check for both
++ # error code of zero AND non-empty stdout, which explains
++ # the odd construction:
++ func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
++ if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
++ func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
++ $SED -e "$lt_sed_naive_backslashify"`
++ else
++ # Allow warning below.
++ func_to_host_path_result=""
++ fi
++ ;;
++ esac
++ if test -z "$func_to_host_path_result" ; then
++ func_error "Could not determine host path corresponding to"
++ func_error " '$1'"
++ func_error "Continuing, but uninstalled executables may not work."
++ # Fallback:
++ func_to_host_path_result="$1"
++ fi
++ ;;
++ esac
++ fi
++}
++# end: func_to_host_path
+
-+/** Flag indicating the dessert_agentx_appstats_t contains information regarding a link. */
-+#define DESSERT_APPSTATS_NODEORLINK_LINK 2
++# func_to_host_pathlist arg
++#
++# Convert pathlists to host format when used with build tools.
++# See func_to_host_path(), above. This function supports the
++# following $build/$host combinations (but does no harm for
++# combinations not listed here):
++# $build $host
++# mingw (msys) mingw [e.g. native]
++# cygwin mingw
++# *nix + wine mingw
++#
++# Path separators are also converted from $build format to
++# $host format. If ARG begins or ends with a path separator
++# character, it is preserved (but converted to $host format)
++# on output.
++#
++# ARG is a pathlist (on $build) that should be converted to
++# the proper representation on $host. The result is stored
++# in $func_to_host_pathlist_result.
++func_to_host_pathlist ()
++{
++ func_to_host_pathlist_result="$1"
++ if test -n "$1" ; then
++ case $host in
++ *mingw* )
++ lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
++ # Remove leading and trailing path separator characters from
++ # ARG. msys behavior is inconsistent here, cygpath turns them
++ # into '.;' and ';.', and winepath ignores them completely.
++ func_to_host_pathlist_tmp2="$1"
++ # Once set for this call, this variable should not be
++ # reassigned. It is used in tha fallback case.
++ func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
++ $SED -e 's|^:*||' -e 's|:*$||'`
++ case $build in
++ *mingw* ) # Actually, msys.
++ # Awkward: cmd appends spaces to result.
++ lt_sed_strip_trailing_spaces="s/[ ]*\$//"
++ func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
++ $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
++ func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
++ $SED -e "$lt_sed_naive_backslashify"`
++ ;;
++ *cygwin* )
++ func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
++ func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
++ $SED -e "$lt_sed_naive_backslashify"`
++ ;;
++ * )
++ # unfortunately, winepath doesn't convert pathlists
++ func_to_host_pathlist_result=""
++ func_to_host_pathlist_oldIFS=$IFS
++ IFS=:
++ for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
++ IFS=$func_to_host_pathlist_oldIFS
++ if test -n "$func_to_host_pathlist_f" ; then
++ func_to_host_path "$func_to_host_pathlist_f"
++ if test -n "$func_to_host_path_result" ; then
++ if test -z "$func_to_host_pathlist_result" ; then
++ func_to_host_pathlist_result="$func_to_host_path_result"
++ else
++ func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
++ fi
++ fi
++ fi
++ IFS=:
++ done
++ IFS=$func_to_host_pathlist_oldIFS
++ ;;
++ esac
++ if test -z "$func_to_host_pathlist_result" ; then
++ func_error "Could not determine the host path(s) corresponding to"
++ func_error " '$1'"
++ func_error "Continuing, but uninstalled executables may not work."
++ # Fallback. This may break if $1 contains DOS-style drive
++ # specifications. The fix is not to complicate the expression
++ # below, but for the user to provide a working wine installation
++ # with winepath so that path translation in the cross-to-mingw
++ # case works properly.
++ lt_replace_pathsep_nix_to_dos="s|:|;|g"
++ func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
++ $SED -e "$lt_replace_pathsep_nix_to_dos"`
++ fi
++ # Now, add the leading and trailing path separators back
++ case "$1" in
++ :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
++ ;;
++ esac
++ case "$1" in
++ *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
++ ;;
++ esac
++ ;;
++ esac
++ fi
++}
++# end: func_to_host_pathlist
+
-+/* *********************** */
++# func_emit_cwrapperexe_src
++# emit the source code for a wrapper executable on stdout
++# Must ONLY be called from within func_mode_link because
++# it depends on a number of variable set therein.
++func_emit_cwrapperexe_src ()
++{
++ cat <<EOF
+
-+/** What is considered to be TRUE in a dessert_agentx_appstats_t. */
-+#define DESSERT_APPSTATS_BOOL_TRUE 1
++/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
++ Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+
-+/** What is considered to be FALSE in a dessert_agentx_appstats_t. */
-+#define DESSERT_APPSTATS_BOOL_FALSE 0
++ The $output program cannot be directly executed until all the libtool
++ libraries that it depends on are installed.
+
-+/* *********************** */
++ This wrapper executable should never be moved out of the build directory.
++ If it is, it will not operate correctly.
+
-+/** Flag indicating the dessert_agentx_appparams_t is of type bool. */
-+#define DESSERT_APPPARAMS_VALUETYPE_BOOL 0
++ Currently, it simply execs the wrapper *script* "$SHELL $output",
++ but could eventually absorb all of the scripts functionality and
++ exec $objdir/$outputname directly.
++*/
++EOF
++ cat <<"EOF"
++#include <stdio.h>
++#include <stdlib.h>
++#ifdef _MSC_VER
++# include <direct.h>
++# include <process.h>
++# include <io.h>
++# define setmode _setmode
++#else
++# include <unistd.h>
++# include <stdint.h>
++# ifdef __CYGWIN__
++# include <io.h>
++# define HAVE_SETENV
++# ifdef __STRICT_ANSI__
++char *realpath (const char *, char *);
++int putenv (char *);
++int setenv (const char *, const char *, int);
++# endif
++# endif
++#endif
++#include <malloc.h>
++#include <stdarg.h>
++#include <assert.h>
++#include <string.h>
++#include <ctype.h>
++#include <errno.h>
++#include <fcntl.h>
++#include <sys/stat.h>
+
-+/** Flag indicating the dessert_agentx_appparams_t is of type int32. */
-+#define DESSERT_APPPARAMS_VALUETYPE_INT32 1
++#if defined(PATH_MAX)
++# define LT_PATHMAX PATH_MAX
++#elif defined(MAXPATHLEN)
++# define LT_PATHMAX MAXPATHLEN
++#else
++# define LT_PATHMAX 1024
++#endif
+
-+/** Flag indicating the dessert_agentx_appparams_t is of type uint32. */
-+#define DESSERT_APPPARAMS_VALUETYPE_UINT32 2
++#ifndef S_IXOTH
++# define S_IXOTH 0
++#endif
++#ifndef S_IXGRP
++# define S_IXGRP 0
++#endif
+
-+/** Flag indicating the dessert_agentx_appparams_t is of type octetstring. */
-+#define DESSERT_APPPARAMS_VALUETYPE_OCTETSTRING 3
++#ifdef _MSC_VER
++# define S_IXUSR _S_IEXEC
++# define stat _stat
++# ifndef _INTPTR_T_DEFINED
++# define intptr_t int
++# endif
++#endif
+
-+/* *********************** */
++#ifndef DIR_SEPARATOR
++# define DIR_SEPARATOR '/'
++# define PATH_SEPARATOR ':'
++#endif
+
-+/** What is considered to be TRUE in a dessert_agentx_appparams_t. */
-+#define DESSERT_APPPARAMS_BOOL_TRUE 1
++#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
++ defined (__OS2__)
++# define HAVE_DOS_BASED_FILE_SYSTEM
++# define FOPEN_WB "wb"
++# ifndef DIR_SEPARATOR_2
++# define DIR_SEPARATOR_2 '\\'
++# endif
++# ifndef PATH_SEPARATOR_2
++# define PATH_SEPARATOR_2 ';'
++# endif
++#endif
+
-+/** What is considered to be FALSE in a dessert_agentx_appparams_t. */
-+#define DESSERT_APPPARAMS_BOOL_FALSE 0
++#ifndef DIR_SEPARATOR_2
++# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
++#else /* DIR_SEPARATOR_2 */
++# define IS_DIR_SEPARATOR(ch) \
++ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
++#endif /* DIR_SEPARATOR_2 */
+
-+/* *********************** */
++#ifndef PATH_SEPARATOR_2
++# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
++#else /* PATH_SEPARATOR_2 */
++# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
++#endif /* PATH_SEPARATOR_2 */
+
-+/** Flag indicating if a appstats callback entry is of type bulk. */
-+#define DESSERT_APPSTATS_CB_BULK 1
-+/** Flag indicating if a appstats callback entry is of type nobulk. */
-+#define DESSERT_APPSTATS_CB_NOBULK 2
++#ifdef __CYGWIN__
++# define FOPEN_WB "wb"
++#endif
+
-+/******************************************************************************
-+ * typedefs
-+ ******************************************************************************/
++#ifndef FOPEN_WB
++# define FOPEN_WB "w"
++#endif
++#ifndef _O_BINARY
++# define _O_BINARY 0
++#endif
+
-+/** An abstract data type representing some statistical datum.*/
-+typedef struct dessert_agentx_appstats {
++#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
++#define XFREE(stale) do { \
++ if (stale) { free ((void *) stale); stale = 0; } \
++} while (0)
+
-+ /** A prev pointer. @internal */
-+ struct dessert_agentx_appstats *prev;
-+ /** A next pointer. @internal */
-+ struct dessert_agentx_appstats *next;
++#undef LTWRAPPER_DEBUGPRINTF
++#if defined DEBUGWRAPPER
++# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
++static void
++ltwrapper_debugprintf (const char *fmt, ...)
++{
++ va_list args;
++ va_start (args, fmt);
++ (void) vfprintf (stderr, fmt, args);
++ va_end (args);
++}
++#else
++# define LTWRAPPER_DEBUGPRINTF(args)
++#endif
+
-+ /** The name of the datum. */
-+ char name[256];
-+ /** A description of the datum*/
-+ char desc[256];
++const char *program_name = NULL;
+
-+ /** The type of the datum.
-+ *
-+ * @see For valid values please refer to: \n DESSERT_APPSTATS_VALUETYPE_BOOL
-+ * @see DESSERT_APPSTATS_VALUETYPE_INT32
-+ * @see DESSERT_APPSTATS_VALUETYPE_UINT32
-+ * @see DESSERT_APPSTATS_VALUETYPE_COUNTER64
-+ * @see DESSERT_APPSTATS_VALUETYPE_OCTETSTRING
-+ */
-+ int value_type;
-+ /** Indicates if this datum contains information about a node or a link
-+ *
-+ * @see For valid values please refer to: \n DESSERT_APPSTATS_NODEORLINK_NONE
-+ * @see DESSERT_APPSTATS_NODEORLINK_NODE
-+ * @see DESSERT_APPSTATS_NODEORLINK_LINK
-+ */
-+ int node_or_link;
++void *xmalloc (size_t num);
++char *xstrdup (const char *string);
++const char *base_name (const char *name);
++char *find_executable (const char *wrapper);
++char *chase_symlinks (const char *pathspec);
++int make_executable (const char *path);
++int check_executable (const char *path);
++char *strendzap (char *str, const char *pat);
++void lt_fatal (const char *message, ...);
++void lt_setenv (const char *name, const char *value);
++char *lt_extend_str (const char *orig_value, const char *add, int to_end);
++void lt_opt_process_env_set (const char *arg);
++void lt_opt_process_env_prepend (const char *arg);
++void lt_opt_process_env_append (const char *arg);
++int lt_split_name_value (const char *arg, char** name, char** value);
++void lt_update_exe_path (const char *name, const char *value);
++void lt_update_lib_path (const char *name, const char *value);
+
-+ /** Field representing a mac address if this datum contains information about a node or a link. */
-+ uint8_t macaddress1 [ETHER_ADDR_LEN];
-+ /** Field representing a mac address if this datum contains information about a link. */
-+ uint8_t macaddress2 [ETHER_ADDR_LEN];
++static const char *script_text_part1 =
++EOF
+
-+ union {
-+ /** A boolean.
-+ *
-+ * @see For valid values please refer to: \n DESSERT_APPSTATS_BOOL_TRUE
-+ * @see DESSERT_APPSTATS_BOOL_FALSE
-+ */
-+ uint8_t bool;
-+ /** A 32bit signed integer. */
-+ int32_t int32;
-+ /** A 32bit unsigned integer. */
-+ uint32_t uint32;
-+ /** A 64bit unsigned integer with counter semantics */
-+ uint64_t counter64;
++ func_emit_wrapper_part1 yes |
++ $SED -e 's/\([\\"]\)/\\\1/g' \
++ -e 's/^/ "/' -e 's/$/\\n"/'
++ echo ";"
++ cat <<EOF
+
-+ struct {
-+ /** The length of the octetstring field. */
-+ uint8_t octetstring_len;
-+ /** Character pointer to some raw bytes. */
-+ char *octetstring;
-+ };
-+ };
++static const char *script_text_part2 =
++EOF
++ func_emit_wrapper_part2 yes |
++ $SED -e 's/\([\\"]\)/\\\1/g' \
++ -e 's/^/ "/' -e 's/$/\\n"/'
++ echo ";"
+
-+} dessert_agentx_appstats_t;
++ cat <<EOF
++const char * MAGIC_EXE = "$magic_exe";
++const char * LIB_PATH_VARNAME = "$shlibpath_var";
++EOF
+
-+/** An abstract data type representing some parameter.*/
-+typedef struct dessert_agentx_appparams {
++ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
++ func_to_host_pathlist "$temp_rpath"
++ cat <<EOF
++const char * LIB_PATH_VALUE = "$func_to_host_pathlist_result";
++EOF
++ else
++ cat <<"EOF"
++const char * LIB_PATH_VALUE = "";
++EOF
++ fi
+
-+ /** Internal. @internal */
-+ struct dessert_agentx_appparams *prev;
-+ /** Internal. @internal */
-+ struct dessert_agentx_appparams *next;
++ if test -n "$dllsearchpath"; then
++ func_to_host_pathlist "$dllsearchpath:"
++ cat <<EOF
++const char * EXE_PATH_VARNAME = "PATH";
++const char * EXE_PATH_VALUE = "$func_to_host_pathlist_result";
++EOF
++ else
++ cat <<"EOF"
++const char * EXE_PATH_VARNAME = "";
++const char * EXE_PATH_VALUE = "";
++EOF
++ fi
+
-+ /** Internal. @internal Internal. */
-+ uint8_t index;
++ if test "$fast_install" = yes; then
++ cat <<EOF
++const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
++EOF
++ else
++ cat <<EOF
++const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
++EOF
++ fi
+
-+ /** The name of the datum. */
-+ char name[256];
-+ /** A description of the datum*/
-+ char desc[256];
+
-+ /** The type of the parameter.
-+ *
-+ * @see For valid values please refer to: \n DESSERT_APPPARAMS_VALUETYPE_BOOL
-+ * @see DESSERT_APPPARAMS_VALUETYPE_INT32
-+ * @see DESSERT_APPPARAMS_VALUETYPE_UINT32
-+ * @see DESSERT_APPPARAMS_VALUETYPE_OCTETSTRING
-+ */
-+ int value_type;
++ cat <<"EOF"
+
-+ union {
-+ /** A boolean.
-+ *
-+ * @see For valid values please refer to: \n DESSERT_APPPARAMS_BOOL_TRUE
-+ * @see DESSERT_APPPARAMS_BOOL_FALSE
-+ */
-+ uint8_t bool;
-+ /** A 32bit signed integer. */
-+ int32_t int32;
-+ /** A 32bit unsigned integer. */
-+ uint32_t uint32;
++#define LTWRAPPER_OPTION_PREFIX "--lt-"
++#define LTWRAPPER_OPTION_PREFIX_LENGTH 5
+
-+ struct {
-+ /** The length of the octetstring field. */
-+ uint16_t octetstring_len;
-+ /** Character pointer to some raw bytes. */
-+ char *octetstring;
-+ };
-+ };
++static const size_t opt_prefix_len = LTWRAPPER_OPTION_PREFIX_LENGTH;
++static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
+
-+} dessert_agentx_appparams_t;
++static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
+
-+/** Callback type to call if the AppstatsTable is asked for by some snmp client.
-+ *
-+ * @param *appstats dessert_agentx_appstats_t the statistical datum to be filled out
-+ *
-+ *
-+ * @retval DESSERT_OK on success
-+ * @retval DESSERT_ERR to remove the corresponding callback entry
-+ *
-+ */
-+typedef int dessert_agentx_appstatscb_get_t(struct dessert_agentx_appstats *appstats);
++static const size_t env_set_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
++static const char *env_set_opt = LTWRAPPER_OPTION_PREFIX "env-set";
++ /* argument is putenv-style "foo=bar", value of foo is set to bar */
+
-+/** Callback type to call if the AppparamsTable is asked for by some snmp client.
-+ *
-+ * @param *appstats dessert_agentx_appparams_t the parameter to be filled out
-+ *
-+ *
-+ * @retval DESSERT_OK on success
-+ * @retval DESSERT_ERR to remove the corresponding callback entry
-+ *
-+ */
-+typedef int dessert_agentx_appparamscb_get_t(struct dessert_agentx_appparams *appparams);
++static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
++static const char *env_prepend_opt = LTWRAPPER_OPTION_PREFIX "env-prepend";
++ /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
+
-+/** Callback type to call if the specific row represented by this callback is
-+ * going to be set by some snmp client.
-+ *
-+ * @param *appstats dessert_agentx_appparams_t the new value
-+ *
-+ *
-+ * @retval DESSERT_OK on success
-+ * @retval DESSERT_ERR otherwise
-+ *
-+ */
-+typedef int dessert_agentx_appparamscb_set_t(struct dessert_agentx_appparams *appparams);
++static const size_t env_append_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
++static const char *env_append_opt = LTWRAPPER_OPTION_PREFIX "env-append";
++ /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
+
-+/** A callback entry representing a statistical datum. */
-+typedef struct dessert_agentx_appstats_cb_entry {
++int
++main (int argc, char *argv[])
++{
++ char **newargz;
++ int newargc;
++ char *tmp_pathspec;
++ char *actual_cwrapper_path;
++ char *actual_cwrapper_name;
++ char *target_name;
++ char *lt_argv_zero;
++ intptr_t rval = 127;
+
-+ /** Interal. @internal */
-+ struct dessert_agentx_appstats_cb_entry *prev;
-+ /** Interal. @internal */
-+ struct dessert_agentx_appstats_cb_entry *next;
++ int i;
+
-+ /** Flag indicating whether this entry represents a bulk entry.*/
-+ uint8_t isbulk_flag;
++ program_name = (char *) xstrdup (base_name (argv[0]));
++ LTWRAPPER_DEBUGPRINTF (("(main) argv[0] : %s\n", argv[0]));
++ LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
+
-+ /** The getter callback. */
-+ dessert_agentx_appstatscb_get_t *c;
++ /* very simple arg parsing; don't want to rely on getopt */
++ for (i = 1; i < argc; i++)
++ {
++ if (strcmp (argv[i], dumpscript_opt) == 0)
++ {
++EOF
++ case "$host" in
++ *mingw* | *cygwin* )
++ # make stdout use "unix" line endings
++ echo " setmode(1,_O_BINARY);"
++ ;;
++ esac
+
-+} dessert_agentx_appstats_cb_entry_t;
++ cat <<"EOF"
++ printf ("%s", script_text_part1);
++ printf ("%s", script_text_part2);
++ return 0;
++ }
++ }
+
-+/** A callback entry representing a parameter. */
-+typedef struct dessert_agentx_appparams_cb_entry {
++ newargz = XMALLOC (char *, argc + 1);
++ tmp_pathspec = find_executable (argv[0]);
++ if (tmp_pathspec == NULL)
++ lt_fatal ("Couldn't find %s", argv[0]);
++ LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
++ tmp_pathspec));
+
-+ /** Internal. @internal */
-+ struct dessert_agentx_appparams_cb_entry *prev;
-+ /** Internal. @internal*/
-+ struct dessert_agentx_appparams_cb_entry *next;
++ actual_cwrapper_path = chase_symlinks (tmp_pathspec);
++ LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
++ actual_cwrapper_path));
++ XFREE (tmp_pathspec);
+
-+ /** Internal. @internal */
-+ uint8_t index;
++ actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
++ strendzap (actual_cwrapper_path, actual_cwrapper_name);
+
-+ /** The getter callback. */
-+ dessert_agentx_appparamscb_get_t *get;
-+ /** The setter callback. */
-+ dessert_agentx_appparamscb_set_t *set;
++ /* wrapper name transforms */
++ strendzap (actual_cwrapper_name, ".exe");
++ tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
++ XFREE (actual_cwrapper_name);
++ actual_cwrapper_name = tmp_pathspec;
++ tmp_pathspec = 0;
+
-+} dessert_agentx_appparams_cb_entry_t;
++ /* target_name transforms -- use actual target program name; might have lt- prefix */
++ target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
++ strendzap (target_name, ".exe");
++ tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
++ XFREE (target_name);
++ target_name = tmp_pathspec;
++ tmp_pathspec = 0;
+
++ LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
++ target_name));
++EOF
+
-+/******************************************************************************
-+ * globals
-+ ******************************************************************************/
++ cat <<EOF
++ newargz[0] =
++ XMALLOC (char, (strlen (actual_cwrapper_path) +
++ strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
++ strcpy (newargz[0], actual_cwrapper_path);
++ strcat (newargz[0], "$objdir");
++ strcat (newargz[0], "/");
++EOF
+
++ cat <<"EOF"
++ /* stop here, and copy so we don't have to do this twice */
++ tmp_pathspec = xstrdup (newargz[0]);
+
-+/******************************************************************************
-+ * functions
-+ ******************************************************************************/
-+dessert_agentx_appstats_t *dessert_agentx_appstats_new(void);
-+void dessert_agentx_appstats_destroy(dessert_agentx_appstats_t *appstat);
++ /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
++ strcat (newargz[0], actual_cwrapper_name);
+
-+dessert_agentx_appstats_cb_entry_t *dessert_agentx_appstats_add(dessert_agentx_appstatscb_get_t *c);
-+dessert_agentx_appstats_cb_entry_t *dessert_agentx_appstats_add_bulk(dessert_agentx_appstatscb_get_t *c);
-+int dessert_agentx_appstats_del(dessert_agentx_appstats_cb_entry_t *e);
++ /* DO want the lt- prefix here if it exists, so use target_name */
++ lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
++ XFREE (tmp_pathspec);
++ tmp_pathspec = NULL;
++EOF
+
-+dessert_agentx_appparams_t *dessert_agentx_appparam_new(void);
-+void dessert_agentx_appparam_destroy(dessert_agentx_appparams_t *appparam);
++ case $host_os in
++ mingw*)
++ cat <<"EOF"
++ {
++ char* p;
++ while ((p = strchr (newargz[0], '\\')) != NULL)
++ {
++ *p = '/';
++ }
++ while ((p = strchr (lt_argv_zero, '\\')) != NULL)
++ {
++ *p = '/';
++ }
++ }
++EOF
++ ;;
++ esac
+
-+dessert_agentx_appparams_cb_entry_t *dessert_agentx_appparams_add(dessert_agentx_appparamscb_get_t *get, dessert_agentx_appparamscb_set_t *set);
-+int dessert_agentx_appparams_del(dessert_agentx_appparams_cb_entry_t *e);
++ cat <<"EOF"
++ XFREE (target_name);
++ XFREE (actual_cwrapper_path);
++ XFREE (actual_cwrapper_name);
+
-+/**************************************************************************//**
-+ * @}
-+ *
-+ * @defgroup macros U S E F U L L _ MA C R O S
-+ *
-+ * @brief EXTERNAL / PUBLIC
-+ *
-+ * @{
-+ ******************************************************************************/
++ lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
++ lt_setenv ("DUALCASE", "1"); /* for MSK sh */
++ lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
++ lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+
-+/** A convenience macro to safely iterate the list of mesh interfaces.
-+ *
-+ * @param __interface pointer to a temporal dessert_meshif_t
-+ *
-+ * @warning You must pair it with an ending MESHIFLIST_ITERATOR_STOP() macro!
-+ * Please find an usage example in the Examples paragraph below.
-+ *
-+ * @par Examples:
-+ *
-+ * @li The do_something() function will be called for every mesh interface in the list.
-+ * @code
-+ * dessert_meshif_t *iface;
-+ *
-+ * MESHIFLIST_ITERATOR_START(iface)
-+ * do_something(iface); // do something to every iface
-+ * MESHIFLIST_ITERATOR_STOP;
-+ * @endcode
-+ */
-+#define MESHIFLIST_ITERATOR_START(__interface) \
-+pthread_rwlock_rdlock(&dessert_cfglock); \
-+DL_FOREACH(dessert_meshiflist_get(), __interface) {
++ newargc=0;
++ for (i = 1; i < argc; i++)
++ {
++ if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
++ {
++ if (argv[i][env_set_opt_len] == '=')
++ {
++ const char *p = argv[i] + env_set_opt_len + 1;
++ lt_opt_process_env_set (p);
++ }
++ else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
++ {
++ lt_opt_process_env_set (argv[++i]); /* don't copy */
++ }
++ else
++ lt_fatal ("%s missing required argument", env_set_opt);
++ continue;
++ }
++ if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
++ {
++ if (argv[i][env_prepend_opt_len] == '=')
++ {
++ const char *p = argv[i] + env_prepend_opt_len + 1;
++ lt_opt_process_env_prepend (p);
++ }
++ else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
++ {
++ lt_opt_process_env_prepend (argv[++i]); /* don't copy */
++ }
++ else
++ lt_fatal ("%s missing required argument", env_prepend_opt);
++ continue;
++ }
++ if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
++ {
++ if (argv[i][env_append_opt_len] == '=')
++ {
++ const char *p = argv[i] + env_append_opt_len + 1;
++ lt_opt_process_env_append (p);
++ }
++ else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
++ {
++ lt_opt_process_env_append (argv[++i]); /* don't copy */
++ }
++ else
++ lt_fatal ("%s missing required argument", env_append_opt);
++ continue;
++ }
++ if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
++ {
++ /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
++ namespace, but it is not one of the ones we know about and
++ have already dealt with, above (inluding dump-script), then
++ report an error. Otherwise, targets might begin to believe
++ they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
++ namespace. The first time any user complains about this, we'll
++ need to make LTWRAPPER_OPTION_PREFIX a configure-time option
++ or a configure.ac-settable value.
++ */
++ lt_fatal ("Unrecognized option in %s namespace: '%s'",
++ ltwrapper_option_prefix, argv[i]);
++ }
++ /* otherwise ... */
++ newargz[++newargc] = xstrdup (argv[i]);
++ }
++ newargz[++newargc] = NULL;
+
-+/** A convenience macro to safely iterate the list of mesh interfaces.
-+ *
-+ * @see MESHIFLIST_ITERATOR_START()
-+ */
-+#define MESHIFLIST_ITERATOR_STOP } pthread_rwlock_unlock(&dessert_cfglock)
++ LTWRAPPER_DEBUGPRINTF (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
++ for (i = 0; i < newargc; i++)
++ {
++ LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
++ }
+
-+/** A convenience macro to safely add @a __sec seconds and @a __usec microseconds
-+ * to the @c struct @c timeval @a __tv in an <em>invariant respecting</em> manner.
-+ *
-+ * @param __tv the @c struct @c timeval to add to
-+ * @param __sec the number of seconds to add up to @a __tv->tv_sec
-+ * @param __usec the number of microseconds to add up to @a __tv.->tv_usec
-+ *
-+ * %DESCRIPTION: \n
-+ * The <a href="http://www.gnu.org/s/libc/manual/html_node/Elapsed-Time.html#Elapsed-Time">GNU C Library Documentation</a>
-+ * states about the @c tv_usec member of the @c struct @c timeval: <em>This is the
-+ * rest of the elapsed time (a fraction of a second), represented as the number
-+ * of microseconds. It is always less than one @a million.</em>
-+ *
-+ */
-+#define TIMEVAL_ADD(__tv, __sec, __usec) \
-+ do { \
-+ (__tv)->tv_sec += __sec; \
-+ (__tv)->tv_usec += __usec; \
-+ if((__tv)->tv_usec >= 1000000) { \
-+ ++(__tv)->tv_sec; \
-+ (__tv)->tv_usec -= 1000000; \
-+ } \
-+ } while(0)
++EOF
+
-+#define likely(x) (__builtin_expect((x),1))
-+#define unlikely(x) (__builtin_expect((x),0))
++ case $host_os in
++ mingw*)
++ cat <<"EOF"
++ /* execv doesn't actually work on mingw as expected on unix */
++ rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
++ if (rval == -1)
++ {
++ /* failed to start process */
++ LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
++ return 127;
++ }
++ return rval;
++EOF
++ ;;
++ *)
++ cat <<"EOF"
++ execv (lt_argv_zero, newargz);
++ return rval; /* =127, but avoids unused variable warning */
++EOF
++ ;;
++ esac
+
-+#define __dessert_assert(func, file, line, e) \
-+ ((void)_dessert_log(LOG_EMERG, func, file, line, "assertion `%s' failed!\n", e), abort)
++ cat <<"EOF"
++}
+
-+#ifdef NDEBUG
-+#define assert(e) ((void)0)
-+#else
-+#define assert(e) \
-+ (__builtin_expect(!(e), 0) ? __dessert_assert(__FUNCTION__, __FILE__, __LINE__, #e) : (void)0)
-+#endif
++void *
++xmalloc (size_t num)
++{
++ void *p = (void *) malloc (num);
++ if (!p)
++ lt_fatal ("Memory exhausted");
+
-+/** @} */
++ return p;
++}
+
-+/******************************************************************************
-+ *
-+ * ! ! ! ! O L D ! ! ! T O D O ! ! ! !
-+ *
-+ ******************************************************************************/
++char *
++xstrdup (const char *string)
++{
++ return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
++ string) : NULL;
++}
+
-+/** the config-flag variable */
-+//extern uint16_t dessert_cfgflags; // TODO not used! to be removed??!?
++const char *
++base_name (const char *name)
++{
++ const char *base;
+
-+/** size of a dessert_msg buffer */
-+//#define dessert_msg_buflen(x) ((x->flags&DESSERT_FLAG_SPARSE)?(x->hlen+x->plen):(DESSERT_MAXFRAMELEN+DESSERT_MSGPROCLEN))
++#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
++ /* Skip over the disk name in MSDOS pathnames. */
++ if (isalpha ((unsigned char) name[0]) && name[1] == ':')
++ name += 2;
++#endif
+
-+//#define dessert_frameid_overflow(x, y) ((x>y)&&((x-y)>(DESSERT_FRAMEID_MAX/2)))
++ for (base = name; *name; name++)
++ if (IS_DIR_SEPARATOR (*name))
++ base = name + 1;
++ return base;
++}
+
++int
++check_executable (const char *path)
++{
++ struct stat st;
+
-+#endif /* DESSERT_H*/
-diff --git a/include/dessert/utlist.h b/include/dessert/utlist.h
-new file mode 100644
-index 0000000..40ebbc6
---- /dev/null
-+++ b/include/dessert/utlist.h
-@@ -0,0 +1,349 @@
-+/*
-+Copyright (c) 2007-2009, Troy D. Hanson
-+All rights reserved.
++ LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n",
++ path ? (*path ? path : "EMPTY!") : "NULL!"));
++ if ((!path) || (!*path))
++ return 0;
+
-+Redistribution and use in source and binary forms, with or without
-+modification, are permitted provided that the following conditions are met:
++ if ((stat (path, &st) >= 0)
++ && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
++ return 1;
++ else
++ return 0;
++}
+
-+ * Redistributions of source code must retain the above copyright
-+ notice, this list of conditions and the following disclaimer.
++int
++make_executable (const char *path)
++{
++ int rval = 0;
++ struct stat st;
+
-+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-+OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+*/
++ LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n",
++ path ? (*path ? path : "EMPTY!") : "NULL!"));
++ if ((!path) || (!*path))
++ return 0;
+
-+#ifndef UTLIST_H
-+#define UTLIST_H
++ if (stat (path, &st) >= 0)
++ {
++ rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
++ }
++ return rval;
++}
+
-+#define UTLIST_VERSION 1.8
++/* Searches for the full path of the wrapper. Returns
++ newly allocated full path name if found, NULL otherwise
++ Does not chase symlinks, even on platforms that support them.
++*/
++char *
++find_executable (const char *wrapper)
++{
++ int has_slash = 0;
++ const char *p;
++ const char *p_next;
++ /* static buffer for getcwd */
++ char tmp[LT_PATHMAX + 1];
++ int tmp_len;
++ char *concat_name;
+
-+/*
-+ * This file contains macros to manipulate singly and doubly-linked lists.
-+ *
-+ * 1. LL_ macros: singly-linked lists.
-+ * 2. DL_ macros: doubly-linked lists.
-+ * 3. CDL_ macros: circular doubly-linked lists.
-+ *
-+ * To use singly-linked lists, your structure must have a "next" pointer.
-+ * To use doubly-linked lists, your structure must "prev" and "next" pointers.
-+ * Either way, the pointer to the head of the list must be initialized to NULL.
-+ *
-+ * ----------------.EXAMPLE -------------------------
-+ * struct item {
-+ * int id;
-+ * struct item *prev, *next;
-+ * }
-+ *
-+ * struct item *list = NULL:
-+ *
-+ * int main() {
-+ * struct item *item;
-+ * ... allocate and populate item ...
-+ * DL_APPEND(list, item);
-+ * }
-+ * --------------------------------------------------
-+ *
-+ * For doubly-linked lists, the append and delete macros are O(1)
-+ * For singly-linked lists, append and delete are O(n) but prepend is O(1)
-+ * The sort macro is O(n log(n)) for all types of single/double/circular lists.
-+ */
++ LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n",
++ wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
+
-+/******************************************************************************
-+ * The sort macro is an adaptation of Simon Tatham's O(n log(n)) mergesort *
-+ * Unwieldy variable names used here to avoid shadowing passed-in variables. *
-+ *****************************************************************************/
-+#define LL_SORT(list, cmp) \
-+do { \
-+ __typeof__(list) _ls_p, _ls_q, _ls_e, _ls_tail, _ls_oldhead; \
-+ int _ls_insize, _ls_nmerges, _ls_psize, _ls_qsize, _ls_i, _ls_looping; \
-+ if (list) { \
-+ _ls_insize = 1; \
-+ _ls_looping = 1; \
-+ while (_ls_looping) { \
-+ _ls_p = list; \
-+ _ls_oldhead = list; \
-+ list = NULL; \
-+ _ls_tail = NULL; \
-+ _ls_nmerges = 0; \
-+ while (_ls_p) { \
-+ _ls_nmerges++; \
-+ _ls_q = _ls_p; \
-+ _ls_psize = 0; \
-+ for (_ls_i = 0; _ls_i < _ls_insize; _ls_i++) { \
-+ _ls_psize++; \
-+ _ls_q = _ls_q->next; \
-+ if (!_ls_q) break; \
-+ } \
-+ _ls_qsize = _ls_insize; \
-+ while (_ls_psize > 0 || (_ls_qsize > 0 && _ls_q)) { \
-+ if (_ls_psize == 0) { \
-+ _ls_e = _ls_q; _ls_q = _ls_q->next; _ls_qsize--; \
-+ } else if (_ls_qsize == 0 || !_ls_q) { \
-+ _ls_e = _ls_p; _ls_p = _ls_p->next; _ls_psize--; \
-+ } else if (cmp(_ls_p,_ls_q) <= 0) { \
-+ _ls_e = _ls_p; _ls_p = _ls_p->next; _ls_psize--; \
-+ } else { \
-+ _ls_e = _ls_q; _ls_q = _ls_q->next; _ls_qsize--; \
-+ } \
-+ if (_ls_tail) { \
-+ _ls_tail->next = _ls_e; \
-+ } else { \
-+ list = _ls_e; \
-+ } \
-+ _ls_tail = _ls_e; \
-+ } \
-+ _ls_p = _ls_q; \
-+ } \
-+ _ls_tail->next = NULL; \
-+ if (_ls_nmerges <= 1) { \
-+ _ls_looping=0; \
-+ } \
-+ _ls_insize *= 2; \
-+ } \
-+ } \
-+} while (0)
++ if ((wrapper == NULL) || (*wrapper == '\0'))
++ return NULL;
+
-+#define DL_SORT(list, cmp) \
-+do { \
-+ __typeof__(list) _ls_p, _ls_q, _ls_e, _ls_tail, _ls_oldhead; \
-+ int _ls_insize, _ls_nmerges, _ls_psize, _ls_qsize, _ls_i, _ls_looping; \
-+ if (list) { \
-+ _ls_insize = 1; \
-+ _ls_looping = 1; \
-+ while (_ls_looping) { \
-+ _ls_p = list; \
-+ _ls_oldhead = list; \
-+ list = NULL; \
-+ _ls_tail = NULL; \
-+ _ls_nmerges = 0; \
-+ while (_ls_p) { \
-+ _ls_nmerges++; \
-+ _ls_q = _ls_p; \
-+ _ls_psize = 0; \
-+ for (_ls_i = 0; _ls_i < _ls_insize; _ls_i++) { \
-+ _ls_psize++; \
-+ _ls_q = _ls_q->next; \
-+ if (!_ls_q) break; \
-+ } \
-+ _ls_qsize = _ls_insize; \
-+ while (_ls_psize > 0 || (_ls_qsize > 0 && _ls_q)) { \
-+ if (_ls_psize == 0) { \
-+ _ls_e = _ls_q; _ls_q = _ls_q->next; _ls_qsize--; \
-+ } else if (_ls_qsize == 0 || !_ls_q) { \
-+ _ls_e = _ls_p; _ls_p = _ls_p->next; _ls_psize--; \
-+ } else if (cmp(_ls_p,_ls_q) <= 0) { \
-+ _ls_e = _ls_p; _ls_p = _ls_p->next; _ls_psize--; \
-+ } else { \
-+ _ls_e = _ls_q; _ls_q = _ls_q->next; _ls_qsize--; \
-+ } \
-+ if (_ls_tail) { \
-+ _ls_tail->next = _ls_e; \
-+ } else { \
-+ list = _ls_e; \
-+ } \
-+ _ls_e->prev = _ls_tail; \
-+ _ls_tail = _ls_e; \
-+ } \
-+ _ls_p = _ls_q; \
-+ } \
-+ list->prev = _ls_tail; \
-+ _ls_tail->next = NULL; \
-+ if (_ls_nmerges <= 1) { \
-+ _ls_looping=0; \
-+ } \
-+ _ls_insize *= 2; \
-+ } \
-+ } \
-+} while (0)
++ /* Absolute path? */
++#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
++ if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
++ {
++ concat_name = xstrdup (wrapper);
++ if (check_executable (concat_name))
++ return concat_name;
++ XFREE (concat_name);
++ }
++ else
++ {
++#endif
++ if (IS_DIR_SEPARATOR (wrapper[0]))
++ {
++ concat_name = xstrdup (wrapper);
++ if (check_executable (concat_name))
++ return concat_name;
++ XFREE (concat_name);
++ }
++#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
++ }
++#endif
+
-+#define CDL_SORT(list, cmp) \
-+do { \
-+ __typeof__(list) _ls_p, _ls_q, _ls_e, _ls_tail, _ls_oldhead; \
-+ int _ls_insize, _ls_nmerges, _ls_psize, _ls_qsize, _ls_i, _ls_looping; \
-+ if (list) { \
-+ _ls_insize = 1; \
-+ _ls_looping = 1; \
-+ while (_ls_looping) { \
-+ _ls_p = list; \
-+ _ls_oldhead = list; \
-+ list = NULL; \
-+ _ls_tail = NULL; \
-+ _ls_nmerges = 0; \
-+ while (_ls_p) { \
-+ _ls_nmerges++; \
-+ _ls_q = _ls_p; \
-+ _ls_psize = 0; \
-+ for (_ls_i = 0; _ls_i < _ls_insize; _ls_i++) { \
-+ _ls_psize++; \
-+ _ls_q = ((_ls_q->next == _ls_oldhead) ? NULL : _ls_q->next); \
-+ if (!_ls_q) break; \
-+ } \
-+ _ls_qsize = _ls_insize; \
-+ while (_ls_psize > 0 || (_ls_qsize > 0 && _ls_q)) { \
-+ if (_ls_psize == 0) { \
-+ _ls_e = _ls_q; _ls_q = _ls_q->next; _ls_qsize--; \
-+ if (_ls_q == _ls_oldhead) { _ls_q = NULL; } \
-+ } else if (_ls_qsize == 0 || !_ls_q) { \
-+ _ls_e = _ls_p; _ls_p = _ls_p->next; _ls_psize--; \
-+ if (_ls_p == _ls_oldhead) { _ls_p = NULL; } \
-+ } else if (cmp(_ls_p,_ls_q) <= 0) { \
-+ _ls_e = _ls_p; _ls_p = _ls_p->next; _ls_psize--; \
-+ if (_ls_p == _ls_oldhead) { _ls_p = NULL; } \
-+ } else { \
-+ _ls_e = _ls_q; _ls_q = _ls_q->next; _ls_qsize--; \
-+ if (_ls_q == _ls_oldhead) { _ls_q = NULL; } \
-+ } \
-+ if (_ls_tail) { \
-+ _ls_tail->next = _ls_e; \
-+ } else { \
-+ list = _ls_e; \
-+ } \
-+ _ls_e->prev = _ls_tail; \
-+ _ls_tail = _ls_e; \
-+ } \
-+ _ls_p = _ls_q; \
-+ } \
-+ list->prev = _ls_tail; \
-+ _ls_tail->next = list; \
-+ if (_ls_nmerges <= 1) { \
-+ _ls_looping=0; \
-+ } \
-+ _ls_insize *= 2; \
-+ } \
-+ } \
-+} while (0)
++ for (p = wrapper; *p; p++)
++ if (*p == '/')
++ {
++ has_slash = 1;
++ break;
++ }
++ if (!has_slash)
++ {
++ /* no slashes; search PATH */
++ const char *path = getenv ("PATH");
++ if (path != NULL)
++ {
++ for (p = path; *p; p = p_next)
++ {
++ const char *q;
++ size_t p_len;
++ for (q = p; *q; q++)
++ if (IS_PATH_SEPARATOR (*q))
++ break;
++ p_len = q - p;
++ p_next = (*q == '\0' ? q : q + 1);
++ if (p_len == 0)
++ {
++ /* empty path: current directory */
++ if (getcwd (tmp, LT_PATHMAX) == NULL)
++ lt_fatal ("getcwd failed");
++ tmp_len = strlen (tmp);
++ concat_name =
++ XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
++ memcpy (concat_name, tmp, tmp_len);
++ concat_name[tmp_len] = '/';
++ strcpy (concat_name + tmp_len + 1, wrapper);
++ }
++ else
++ {
++ concat_name =
++ XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
++ memcpy (concat_name, p, p_len);
++ concat_name[p_len] = '/';
++ strcpy (concat_name + p_len + 1, wrapper);
++ }
++ if (check_executable (concat_name))
++ return concat_name;
++ XFREE (concat_name);
++ }
++ }
++ /* not found in PATH; assume curdir */
++ }
++ /* Relative path | not found in path: prepend cwd */
++ if (getcwd (tmp, LT_PATHMAX) == NULL)
++ lt_fatal ("getcwd failed");
++ tmp_len = strlen (tmp);
++ concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
++ memcpy (concat_name, tmp, tmp_len);
++ concat_name[tmp_len] = '/';
++ strcpy (concat_name + tmp_len + 1, wrapper);
+
-+/******************************************************************************
-+ * singly linked list macros (non-circular) *
-+ *****************************************************************************/
-+#define LL_PREPEND(head,add) \
-+do { \
-+ (add)->next = head; \
-+ head = add; \
-+} while (0)
++ if (check_executable (concat_name))
++ return concat_name;
++ XFREE (concat_name);
++ return NULL;
++}
+
-+#define LL_APPEND(head,add) \
-+do { \
-+ __typeof__(head) _tmp; \
-+ (add)->next=NULL; \
-+ if (head) { \
-+ _tmp = head; \
-+ while (_tmp->next) { _tmp = _tmp->next; } \
-+ _tmp->next=(add); \
-+ } else { \
-+ (head)=(add); \
-+ } \
-+} while (0)
++char *
++chase_symlinks (const char *pathspec)
++{
++#ifndef S_ISLNK
++ return xstrdup (pathspec);
++#else
++ char buf[LT_PATHMAX];
++ struct stat s;
++ char *tmp_pathspec = xstrdup (pathspec);
++ char *p;
++ int has_symlinks = 0;
++ while (strlen (tmp_pathspec) && !has_symlinks)
++ {
++ LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
++ tmp_pathspec));
++ if (lstat (tmp_pathspec, &s) == 0)
++ {
++ if (S_ISLNK (s.st_mode) != 0)
++ {
++ has_symlinks = 1;
++ break;
++ }
++
++ /* search backwards for last DIR_SEPARATOR */
++ p = tmp_pathspec + strlen (tmp_pathspec) - 1;
++ while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
++ p--;
++ if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
++ {
++ /* no more DIR_SEPARATORS left */
++ break;
++ }
++ *p = '\0';
++ }
++ else
++ {
++ char *errstr = strerror (errno);
++ lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
++ }
++ }
++ XFREE (tmp_pathspec);
+
-+#define LL_DELETE(head,del) \
-+do { \
-+ __typeof__(head) _tmp; \
-+ if ((head) == (del)) { \
-+ (head)=(head)->next; \
-+ } else { \
-+ _tmp = head; \
-+ while (_tmp->next && (_tmp->next != (del))) { \
-+ _tmp = _tmp->next; \
-+ } \
-+ if (_tmp->next) { \
-+ _tmp->next = ((del)->next); \
-+ } \
-+ } \
-+} while (0)
++ if (!has_symlinks)
++ {
++ return xstrdup (pathspec);
++ }
+
-+#define LL_FOREACH(head,el) \
-+ for(el=head;el;el=el->next)
++ tmp_pathspec = realpath (pathspec, buf);
++ if (tmp_pathspec == 0)
++ {
++ lt_fatal ("Could not follow symlinks for %s", pathspec);
++ }
++ return xstrdup (tmp_pathspec);
++#endif
++}
+
-+/******************************************************************************
-+ * doubly linked list macros (non-circular) *
-+ *****************************************************************************/
-+#define DL_PREPEND(head,add) \
-+do { \
-+ (add)->next = head; \
-+ if (head) { \
-+ (add)->prev = (head)->prev; \
-+ (head)->prev = (add); \
-+ } else { \
-+ (add)->prev = (add); \
-+ } \
-+ (head) = (add); \
-+} while (0)
++char *
++strendzap (char *str, const char *pat)
++{
++ size_t len, patlen;
+
-+#define DL_APPEND(head,add) \
-+do { \
-+ if (head) { \
-+ (add)->prev = (head)->prev; \
-+ (head)->prev->next = (add); \
-+ (head)->prev = (add); \
-+ (add)->next = NULL; \
-+ } else { \
-+ (head)=(add); \
-+ (head)->prev = (head); \
-+ (head)->next = NULL; \
-+ } \
-+} while (0);
++ assert (str != NULL);
++ assert (pat != NULL);
+
-+#define DL_DELETE(head,del) \
-+do { \
-+ if ((del)->prev == (del)) { \
-+ (head)=NULL; \
-+ } else if ((del)==(head)) { \
-+ (del)->next->prev = (del)->prev; \
-+ (head) = (del)->next; \
-+ } else { \
-+ (del)->prev->next = (del)->next; \
-+ if ((del)->next) { \
-+ (del)->next->prev = (del)->prev; \
-+ } else { \
-+ (head)->prev = (del)->prev; \
-+ } \
-+ } \
-+} while (0);
++ len = strlen (str);
++ patlen = strlen (pat);
+
++ if (patlen <= len)
++ {
++ str += len - patlen;
++ if (strcmp (str, pat) == 0)
++ *str = '\0';
++ }
++ return str;
++}
+
-+#define DL_FOREACH(head,el) \
-+ for(el=head;el;el=el->next)
++static void
++lt_error_core (int exit_status, const char *mode,
++ const char *message, va_list ap)
++{
++ fprintf (stderr, "%s: %s: ", program_name, mode);
++ vfprintf (stderr, message, ap);
++ fprintf (stderr, ".\n");
+
-+/******************************************************************************
-+ * circular doubly linked list macros *
-+ *****************************************************************************/
-+#define CDL_PREPEND(head,add) \
-+do { \
-+ if (head) { \
-+ (add)->prev = (head)->prev; \
-+ (add)->next = (head); \
-+ (head)->prev = (add); \
-+ (add)->prev->next = (add); \
-+ } else { \
-+ (add)->prev = (add); \
-+ (add)->next = (add); \
-+ } \
-+(head)=(add); \
-+} while (0)
++ if (exit_status >= 0)
++ exit (exit_status);
++}
+
-+#define CDL_DELETE(head,del) \
-+do { \
-+ if ( ((head)==(del)) && ((head)->next == (head))) { \
-+ (head) = 0L; \
-+ } else { \
-+ (del)->next->prev = (del)->prev; \
-+ (del)->prev->next = (del)->next; \
-+ if ((del) == (head)) (head)=(del)->next; \
-+ } \
-+} while (0);
++void
++lt_fatal (const char *message, ...)
++{
++ va_list ap;
++ va_start (ap, message);
++ lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
++ va_end (ap);
++}
+
-+#define CDL_FOREACH(head,el) \
-+ for(el=head;el;el= (el->next==head ? 0L : el->next))
++void
++lt_setenv (const char *name, const char *value)
++{
++ LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
++ (name ? name : "<NULL>"),
++ (value ? value : "<NULL>")));
++ {
++#ifdef HAVE_SETENV
++ /* always make a copy, for consistency with !HAVE_SETENV */
++ char *str = xstrdup (value);
++ setenv (name, str, 1);
++#else
++ int len = strlen (name) + 1 + strlen (value) + 1;
++ char *str = XMALLOC (char, len);
++ sprintf (str, "%s=%s", name, value);
++ if (putenv (str) != EXIT_SUCCESS)
++ {
++ XFREE (str);
++ }
++#endif
++ }
++}
+
++char *
++lt_extend_str (const char *orig_value, const char *add, int to_end)
++{
++ char *new_value;
++ if (orig_value && *orig_value)
++ {
++ int orig_value_len = strlen (orig_value);
++ int add_len = strlen (add);
++ new_value = XMALLOC (char, add_len + orig_value_len + 1);
++ if (to_end)
++ {
++ strcpy (new_value, orig_value);
++ strcpy (new_value + orig_value_len, add);
++ }
++ else
++ {
++ strcpy (new_value, add);
++ strcpy (new_value + add_len, orig_value);
++ }
++ }
++ else
++ {
++ new_value = xstrdup (add);
++ }
++ return new_value;
++}
+
-+#endif /* UTLIST_H */
++int
++lt_split_name_value (const char *arg, char** name, char** value)
++{
++ const char *p;
++ int len;
++ if (!arg || !*arg)
++ return 1;
+
-diff --git a/install-sh b/install-sh
-new file mode 100755
-index 0000000..6781b98
---- /dev/null
-+++ b/install-sh
-@@ -0,0 +1,520 @@
-+#!/bin/sh
-+# install - install a program, script, or datafile
++ p = strchr (arg, (int)'=');
+
-+scriptversion=2009-04-28.21; # UTC
++ if (!p)
++ return 1;
+
-+# This originates from X11R5 (mit/util/scripts/install.sh), which was
-+# later released in X11R6 (xc/config/util/install.sh) with the
-+# following copyright and license.
-+#
-+# Copyright (C) 1994 X Consortium
-+#
-+# Permission is hereby granted, free of charge, to any person obtaining a copy
-+# of this software and associated documentation files (the "Software"), to
-+# deal in the Software without restriction, including without limitation the
-+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-+# sell copies of the Software, and to permit persons to whom the Software is
-+# furnished to do so, subject to the following conditions:
-+#
-+# The above copyright notice and this permission notice shall be included in
-+# all copies or substantial portions of the Software.
-+#
-+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
-+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-+#
-+# Except as contained in this notice, the name of the X Consortium shall not
-+# be used in advertising or otherwise to promote the sale, use or other deal-
-+# ings in this Software without prior written authorization from the X Consor-
-+# tium.
-+#
-+#
-+# FSF changes to this file are in the public domain.
-+#
-+# Calling this script install-sh is preferred over install.sh, to prevent
-+# `make' implicit rules from creating a file called install from it
-+# when there is no Makefile.
-+#
-+# This script is compatible with the BSD install script, but was written
-+# from scratch.
++ *value = xstrdup (++p);
+
-+nl='
-+'
-+IFS=" "" $nl"
++ len = strlen (arg) - strlen (*value);
++ *name = XMALLOC (char, len);
++ strncpy (*name, arg, len-1);
++ (*name)[len - 1] = '\0';
+
-+# set DOITPROG to echo to test this script
++ return 0;
++}
+
-+# Don't use :- since 4.3BSD and earlier shells don't like it.
-+doit=${DOITPROG-}
-+if test -z "$doit"; then
-+ doit_exec=exec
-+else
-+ doit_exec=$doit
-+fi
++void
++lt_opt_process_env_set (const char *arg)
++{
++ char *name = NULL;
++ char *value = NULL;
+
-+# Put in absolute file names if you don't have them in your path;
-+# or use environment vars.
++ if (lt_split_name_value (arg, &name, &value) != 0)
++ {
++ XFREE (name);
++ XFREE (value);
++ lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
++ }
+
-+chgrpprog=${CHGRPPROG-chgrp}
-+chmodprog=${CHMODPROG-chmod}
-+chownprog=${CHOWNPROG-chown}
-+cmpprog=${CMPPROG-cmp}
-+cpprog=${CPPROG-cp}
-+mkdirprog=${MKDIRPROG-mkdir}
-+mvprog=${MVPROG-mv}
-+rmprog=${RMPROG-rm}
-+stripprog=${STRIPPROG-strip}
++ lt_setenv (name, value);
++ XFREE (name);
++ XFREE (value);
++}
+
-+posix_glob='?'
-+initialize_posix_glob='
-+ test "$posix_glob" != "?" || {
-+ if (set -f) 2>/dev/null; then
-+ posix_glob=
-+ else
-+ posix_glob=:
-+ fi
-+ }
-+'
++void
++lt_opt_process_env_prepend (const char *arg)
++{
++ char *name = NULL;
++ char *value = NULL;
++ char *new_value = NULL;
+
-+posix_mkdir=
++ if (lt_split_name_value (arg, &name, &value) != 0)
++ {
++ XFREE (name);
++ XFREE (value);
++ lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
++ }
+
-+# Desired mode of installed file.
-+mode=0755
++ new_value = lt_extend_str (getenv (name), value, 0);
++ lt_setenv (name, new_value);
++ XFREE (new_value);
++ XFREE (name);
++ XFREE (value);
++}
+
-+chgrpcmd=
-+chmodcmd=$chmodprog
-+chowncmd=
-+mvcmd=$mvprog
-+rmcmd="$rmprog -f"
-+stripcmd=
++void
++lt_opt_process_env_append (const char *arg)
++{
++ char *name = NULL;
++ char *value = NULL;
++ char *new_value = NULL;
+
-+src=
-+dst=
-+dir_arg=
-+dst_arg=
++ if (lt_split_name_value (arg, &name, &value) != 0)
++ {
++ XFREE (name);
++ XFREE (value);
++ lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
++ }
+
-+copy_on_change=false
-+no_target_directory=
++ new_value = lt_extend_str (getenv (name), value, 1);
++ lt_setenv (name, new_value);
++ XFREE (new_value);
++ XFREE (name);
++ XFREE (value);
++}
+
-+usage="\
-+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
-+ or: $0 [OPTION]... SRCFILES... DIRECTORY
-+ or: $0 [OPTION]... -t DIRECTORY SRCFILES...
-+ or: $0 [OPTION]... -d DIRECTORIES...
++void
++lt_update_exe_path (const char *name, const char *value)
++{
++ LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
++ (name ? name : "<NULL>"),
++ (value ? value : "<NULL>")));
+
-+In the 1st form, copy SRCFILE to DSTFILE.
-+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
-+In the 4th, create DIRECTORIES.
++ if (name && *name && value && *value)
++ {
++ char *new_value = lt_extend_str (getenv (name), value, 0);
++ /* some systems can't cope with a ':'-terminated path #' */
++ int len = strlen (new_value);
++ while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
++ {
++ new_value[len-1] = '\0';
++ }
++ lt_setenv (name, new_value);
++ XFREE (new_value);
++ }
++}
+
-+Options:
-+ --help display this help and exit.
-+ --version display version info and exit.
++void
++lt_update_lib_path (const char *name, const char *value)
++{
++ LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
++ (name ? name : "<NULL>"),
++ (value ? value : "<NULL>")));
+
-+ -c (ignored)
-+ -C install only if different (preserve the last data modification time)
-+ -d create directories instead of installing files.
-+ -g GROUP $chgrpprog installed files to GROUP.
-+ -m MODE $chmodprog installed files to MODE.
-+ -o USER $chownprog installed files to USER.
-+ -s $stripprog installed files.
-+ -t DIRECTORY install into DIRECTORY.
-+ -T report an error if DSTFILE is a directory.
++ if (name && *name && value && *value)
++ {
++ char *new_value = lt_extend_str (getenv (name), value, 0);
++ lt_setenv (name, new_value);
++ XFREE (new_value);
++ }
++}
+
-+Environment variables override the default commands:
-+ CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
-+ RMPROG STRIPPROG
-+"
+
-+while test $# -ne 0; do
-+ case $1 in
-+ -c) ;;
++EOF
++}
++# end: func_emit_cwrapperexe_src
+
-+ -C) copy_on_change=true;;
++# func_mode_link arg...
++func_mode_link ()
++{
++ $opt_debug
++ case $host in
++ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
++ # It is impossible to link a dll without this setting, and
++ # we shouldn't force the makefile maintainer to figure out
++ # which system we are compiling for in order to pass an extra
++ # flag for every libtool invocation.
++ # allow_undefined=no
+
-+ -d) dir_arg=true;;
++ # FIXME: Unfortunately, there are problems with the above when trying
++ # to make a dll which has undefined symbols, in which case not
++ # even a static library is built. For now, we need to specify
++ # -no-undefined on the libtool link line when we can be certain
++ # that all symbols are satisfied, otherwise we get a static library.
++ allow_undefined=yes
++ ;;
++ *)
++ allow_undefined=yes
++ ;;
++ esac
++ libtool_args=$nonopt
++ base_compile="$nonopt $@"
++ compile_command=$nonopt
++ finalize_command=$nonopt
+
-+ -g) chgrpcmd="$chgrpprog $2"
-+ shift;;
++ compile_rpath=
++ finalize_rpath=
++ compile_shlibpath=
++ finalize_shlibpath=
++ convenience=
++ old_convenience=
++ deplibs=
++ old_deplibs=
++ compiler_flags=
++ linker_flags=
++ dllsearchpath=
++ lib_search_path=`pwd`
++ inst_prefix_dir=
++ new_inherited_linker_flags=
+
-+ --help) echo "$usage"; exit $?;;
++ avoid_version=no
++ dlfiles=
++ dlprefiles=
++ dlself=no
++ export_dynamic=no
++ export_symbols=
++ export_symbols_regex=
++ generated=
++ libobjs=
++ ltlibs=
++ module=no
++ no_install=no
++ objs=
++ non_pic_objects=
++ precious_files_regex=
++ prefer_static_libs=no
++ preload=no
++ prev=
++ prevarg=
++ release=
++ rpath=
++ xrpath=
++ perm_rpath=
++ temp_rpath=
++ thread_safe=no
++ vinfo=
++ vinfo_number=no
++ weak_libs=
++ single_module="${wl}-single_module"
++ func_infer_tag $base_compile
+
-+ -m) mode=$2
-+ case $mode in
-+ *' '* | *' '* | *'
-+'* | *'*'* | *'?'* | *'['*)
-+ echo "$0: invalid mode: $mode" >&2
-+ exit 1;;
++ # We need to know -static, to get the right output filenames.
++ for arg
++ do
++ case $arg in
++ -shared)
++ test "$build_libtool_libs" != yes && \
++ func_fatal_configuration "can not build a shared library"
++ build_old_libs=no
++ break
++ ;;
++ -all-static | -static | -static-libtool-libs)
++ case $arg in
++ -all-static)
++ if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
++ func_warning "complete static linking is impossible in this configuration"
++ fi
++ if test -n "$link_static_flag"; then
++ dlopen_self=$dlopen_self_static
++ fi
++ prefer_static_libs=yes
++ ;;
++ -static)
++ if test -z "$pic_flag" && test -n "$link_static_flag"; then
++ dlopen_self=$dlopen_self_static
++ fi
++ prefer_static_libs=built
++ ;;
++ -static-libtool-libs)
++ if test -z "$pic_flag" && test -n "$link_static_flag"; then
++ dlopen_self=$dlopen_self_static
++ fi
++ prefer_static_libs=yes
++ ;;
+ esac
-+ shift;;
-+
-+ -o) chowncmd="$chownprog $2"
-+ shift;;
++ build_libtool_libs=no
++ build_old_libs=yes
++ break
++ ;;
++ esac
++ done
+
-+ -s) stripcmd=$stripprog;;
++ # See if our shared archives depend on static archives.
++ test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
-+ -t) dst_arg=$2
-+ shift;;
++ # Go through the arguments, transforming them on the way.
++ while test "$#" -gt 0; do
++ arg="$1"
++ shift
++ func_quote_for_eval "$arg"
++ qarg=$func_quote_for_eval_unquoted_result
++ func_append libtool_args " $func_quote_for_eval_result"
+
-+ -T) no_target_directory=true;;
++ # If the previous option needs an argument, assign it.
++ if test -n "$prev"; then
++ case $prev in
++ output)
++ func_append compile_command " @OUTPUT@"
++ func_append finalize_command " @OUTPUT@"
++ ;;
++ esac
+
-+ --version) echo "$0 $scriptversion"; exit $?;;
++ case $prev in
++ dlfiles|dlprefiles)
++ if test "$preload" = no; then
++ # Add the symbol object into the linking commands.
++ func_append compile_command " @SYMFILE@"
++ func_append finalize_command " @SYMFILE@"
++ preload=yes
++ fi
++ case $arg in
++ *.la | *.lo) ;; # We handle these cases below.
++ force)
++ if test "$dlself" = no; then
++ dlself=needless
++ export_dynamic=yes
++ fi
++ prev=
++ continue
++ ;;
++ self)
++ if test "$prev" = dlprefiles; then
++ dlself=yes
++ elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
++ dlself=yes
++ else
++ dlself=needless
++ export_dynamic=yes
++ fi
++ prev=
++ continue
++ ;;
++ *)
++ if test "$prev" = dlfiles; then
++ dlfiles="$dlfiles $arg"
++ else
++ dlprefiles="$dlprefiles $arg"
++ fi
++ prev=
++ continue
++ ;;
++ esac
++ ;;
++ expsyms)
++ export_symbols="$arg"
++ test -f "$arg" \
++ || func_fatal_error "symbol file \`$arg' does not exist"
++ prev=
++ continue
++ ;;
++ expsyms_regex)
++ export_symbols_regex="$arg"
++ prev=
++ continue
++ ;;
++ framework)
++ case $host in
++ *-*-darwin*)
++ case "$deplibs " in
++ *" $qarg.ltframework "*) ;;
++ *) deplibs="$deplibs $qarg.ltframework" # this is fixed later
++ ;;
++ esac
++ ;;
++ esac
++ prev=
++ continue
++ ;;
++ inst_prefix)
++ inst_prefix_dir="$arg"
++ prev=
++ continue
++ ;;
++ objectlist)
++ if test -f "$arg"; then
++ save_arg=$arg
++ moreargs=
++ for fil in `cat "$save_arg"`
++ do
++# moreargs="$moreargs $fil"
++ arg=$fil
++ # A libtool-controlled object.
+
-+ --) shift
-+ break;;
++ # Check to see that this really is a libtool object.
++ if func_lalib_unsafe_p "$arg"; then
++ pic_object=
++ non_pic_object=
+
-+ -*) echo "$0: invalid option: $1" >&2
-+ exit 1;;
++ # Read the .lo file
++ func_source "$arg"
+
-+ *) break;;
-+ esac
-+ shift
-+done
++ if test -z "$pic_object" ||
++ test -z "$non_pic_object" ||
++ test "$pic_object" = none &&
++ test "$non_pic_object" = none; then
++ func_fatal_error "cannot find name of object for \`$arg'"
++ fi
+
-+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
-+ # When -d is used, all remaining arguments are directories to create.
-+ # When -t is used, the destination is already specified.
-+ # Otherwise, the last argument is the destination. Remove it from $@.
-+ for arg
-+ do
-+ if test -n "$dst_arg"; then
-+ # $@ is not empty: it contains at least $arg.
-+ set fnord "$@" "$dst_arg"
-+ shift # fnord
-+ fi
-+ shift # arg
-+ dst_arg=$arg
-+ done
-+fi
++ # Extract subdirectory from the argument.
++ func_dirname "$arg" "/" ""
++ xdir="$func_dirname_result"
+
-+if test $# -eq 0; then
-+ if test -z "$dir_arg"; then
-+ echo "$0: no input file specified." >&2
-+ exit 1
-+ fi
-+ # It's OK to call `install-sh -d' without argument.
-+ # This can happen when creating conditional directories.
-+ exit 0
-+fi
++ if test "$pic_object" != none; then
++ # Prepend the subdirectory the object is found in.
++ pic_object="$xdir$pic_object"
+
-+if test -z "$dir_arg"; then
-+ trap '(exit $?); exit' 1 2 13 15
++ if test "$prev" = dlfiles; then
++ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
++ dlfiles="$dlfiles $pic_object"
++ prev=
++ continue
++ else
++ # If libtool objects are unsupported, then we need to preload.
++ prev=dlprefiles
++ fi
++ fi
+
-+ # Set umask so as not to create temps with too-generous modes.
-+ # However, 'strip' requires both read and write access to temps.
-+ case $mode in
-+ # Optimize common cases.
-+ *644) cp_umask=133;;
-+ *755) cp_umask=22;;
++ # CHECK ME: I think I busted this. -Ossama
++ if test "$prev" = dlprefiles; then
++ # Preload the old-style object.
++ dlprefiles="$dlprefiles $pic_object"
++ prev=
++ fi
+
-+ *[0-7])
-+ if test -z "$stripcmd"; then
-+ u_plus_rw=
-+ else
-+ u_plus_rw='% 200'
-+ fi
-+ cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
-+ *)
-+ if test -z "$stripcmd"; then
-+ u_plus_rw=
-+ else
-+ u_plus_rw=,u+rw
-+ fi
-+ cp_umask=$mode$u_plus_rw;;
-+ esac
-+fi
++ # A PIC object.
++ func_append libobjs " $pic_object"
++ arg="$pic_object"
++ fi
+
-+for src
-+do
-+ # Protect names starting with `-'.
-+ case $src in
-+ -*) src=./$src;;
-+ esac
++ # Non-PIC object.
++ if test "$non_pic_object" != none; then
++ # Prepend the subdirectory the object is found in.
++ non_pic_object="$xdir$non_pic_object"
+
-+ if test -n "$dir_arg"; then
-+ dst=$src
-+ dstdir=$dst
-+ test -d "$dstdir"
-+ dstdir_status=$?
-+ else
++ # A standard non-PIC object
++ func_append non_pic_objects " $non_pic_object"
++ if test -z "$pic_object" || test "$pic_object" = none ; then
++ arg="$non_pic_object"
++ fi
++ else
++ # If the PIC object exists, use it instead.
++ # $xdir was prepended to $pic_object above.
++ non_pic_object="$pic_object"
++ func_append non_pic_objects " $non_pic_object"
++ fi
++ else
++ # Only an error if not doing a dry-run.
++ if $opt_dry_run; then
++ # Extract subdirectory from the argument.
++ func_dirname "$arg" "/" ""
++ xdir="$func_dirname_result"
+
-+ # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
-+ # might cause directories to be created, which would be especially bad
-+ # if $src (and thus $dsttmp) contains '*'.
-+ if test ! -f "$src" && test ! -d "$src"; then
-+ echo "$0: $src does not exist." >&2
-+ exit 1
-+ fi
++ func_lo2o "$arg"
++ pic_object=$xdir$objdir/$func_lo2o_result
++ non_pic_object=$xdir$func_lo2o_result
++ func_append libobjs " $pic_object"
++ func_append non_pic_objects " $non_pic_object"
++ else
++ func_fatal_error "\`$arg' is not a valid libtool object"
++ fi
++ fi
++ done
++ else
++ func_fatal_error "link input file \`$arg' does not exist"
++ fi
++ arg=$save_arg
++ prev=
++ continue
++ ;;
++ precious_regex)
++ precious_files_regex="$arg"
++ prev=
++ continue
++ ;;
++ release)
++ release="-$arg"
++ prev=
++ continue
++ ;;
++ rpath | xrpath)
++ # We need an absolute path.
++ case $arg in
++ [\\/]* | [A-Za-z]:[\\/]*) ;;
++ *)
++ func_fatal_error "only absolute run-paths are allowed"
++ ;;
++ esac
++ if test "$prev" = rpath; then
++ case "$rpath " in
++ *" $arg "*) ;;
++ *) rpath="$rpath $arg" ;;
++ esac
++ else
++ case "$xrpath " in
++ *" $arg "*) ;;
++ *) xrpath="$xrpath $arg" ;;
++ esac
++ fi
++ prev=
++ continue
++ ;;
++ shrext)
++ shrext_cmds="$arg"
++ prev=
++ continue
++ ;;
++ weak)
++ weak_libs="$weak_libs $arg"
++ prev=
++ continue
++ ;;
++ xcclinker)
++ linker_flags="$linker_flags $qarg"
++ compiler_flags="$compiler_flags $qarg"
++ prev=
++ func_append compile_command " $qarg"
++ func_append finalize_command " $qarg"
++ continue
++ ;;
++ xcompiler)
++ compiler_flags="$compiler_flags $qarg"
++ prev=
++ func_append compile_command " $qarg"
++ func_append finalize_command " $qarg"
++ continue
++ ;;
++ xlinker)
++ linker_flags="$linker_flags $qarg"
++ compiler_flags="$compiler_flags $wl$qarg"
++ prev=
++ func_append compile_command " $wl$qarg"
++ func_append finalize_command " $wl$qarg"
++ continue
++ ;;
++ *)
++ eval "$prev=\"\$arg\""
++ prev=
++ continue
++ ;;
++ esac
++ fi # test -n "$prev"
+
-+ if test -z "$dst_arg"; then
-+ echo "$0: no destination specified." >&2
-+ exit 1
-+ fi
++ prevarg="$arg"
+
-+ dst=$dst_arg
-+ # Protect names starting with `-'.
-+ case $dst in
-+ -*) dst=./$dst;;
-+ esac
++ case $arg in
++ -all-static)
++ if test -n "$link_static_flag"; then
++ # See comment for -static flag below, for more details.
++ func_append compile_command " $link_static_flag"
++ func_append finalize_command " $link_static_flag"
++ fi
++ continue
++ ;;
+
-+ # If destination is a directory, append the input filename; won't work
-+ # if double slashes aren't ignored.
-+ if test -d "$dst"; then
-+ if test -n "$no_target_directory"; then
-+ echo "$0: $dst_arg: Is a directory" >&2
-+ exit 1
-+ fi
-+ dstdir=$dst
-+ dst=$dstdir/`basename "$src"`
-+ dstdir_status=0
-+ else
-+ # Prefer dirname, but fall back on a substitute if dirname fails.
-+ dstdir=`
-+ (dirname "$dst") 2>/dev/null ||
-+ expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-+ X"$dst" : 'X\(//\)[^/]' \| \
-+ X"$dst" : 'X\(//\)$' \| \
-+ X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
-+ echo X"$dst" |
-+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)[^/].*/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\).*/{
-+ s//\1/
-+ q
-+ }
-+ s/.*/./; q'
-+ `
++ -allow-undefined)
++ # FIXME: remove this flag sometime in the future.
++ func_fatal_error "\`-allow-undefined' must not be used because it is the default"
++ ;;
+
-+ test -d "$dstdir"
-+ dstdir_status=$?
-+ fi
-+ fi
++ -avoid-version)
++ avoid_version=yes
++ continue
++ ;;
+
-+ obsolete_mkdir_used=false
++ -dlopen)
++ prev=dlfiles
++ continue
++ ;;
+
-+ if test $dstdir_status != 0; then
-+ case $posix_mkdir in
-+ '')
-+ # Create intermediate dirs using mode 755 as modified by the umask.
-+ # This is like FreeBSD 'install' as of 1997-10-28.
-+ umask=`umask`
-+ case $stripcmd.$umask in
-+ # Optimize common cases.
-+ *[2367][2367]) mkdir_umask=$umask;;
-+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
++ -dlpreopen)
++ prev=dlprefiles
++ continue
++ ;;
+
-+ *[0-7])
-+ mkdir_umask=`expr $umask + 22 \
-+ - $umask % 100 % 40 + $umask % 20 \
-+ - $umask % 10 % 4 + $umask % 2
-+ `;;
-+ *) mkdir_umask=$umask,go-w;;
-+ esac
++ -export-dynamic)
++ export_dynamic=yes
++ continue
++ ;;
+
-+ # With -d, create the new directory with the user-specified mode.
-+ # Otherwise, rely on $mkdir_umask.
-+ if test -n "$dir_arg"; then
-+ mkdir_mode=-m$mode
++ -export-symbols | -export-symbols-regex)
++ if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
++ func_fatal_error "more than one -exported-symbols argument is not allowed"
++ fi
++ if test "X$arg" = "X-export-symbols"; then
++ prev=expsyms
+ else
-+ mkdir_mode=
++ prev=expsyms_regex
+ fi
++ continue
++ ;;
+
-+ posix_mkdir=false
-+ case $umask in
-+ *[123567][0-7][0-7])
-+ # POSIX mkdir -p sets u+wx bits regardless of umask, which
-+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
-+ ;;
-+ *)
-+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-+ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-+
-+ if (umask $mkdir_umask &&
-+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
-+ then
-+ if test -z "$dir_arg" || {
-+ # Check for POSIX incompatibilities with -m.
-+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
-+ # other-writeable bit of parent directory when it shouldn't.
-+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
-+ ls_ld_tmpdir=`ls -ld "$tmpdir"`
-+ case $ls_ld_tmpdir in
-+ d????-?r-*) different_mode=700;;
-+ d????-?--*) different_mode=755;;
-+ *) false;;
-+ esac &&
-+ $mkdirprog -m$different_mode -p -- "$tmpdir" && {
-+ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
-+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
-+ }
-+ }
-+ then posix_mkdir=:
-+ fi
-+ rmdir "$tmpdir/d" "$tmpdir"
-+ else
-+ # Remove any dirs left behind by ancient mkdir implementations.
-+ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
-+ fi
-+ trap '' 0;;
-+ esac;;
-+ esac
-+
-+ if
-+ $posix_mkdir && (
-+ umask $mkdir_umask &&
-+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
-+ )
-+ then :
-+ else
-+
-+ # The umask is ridiculous, or mkdir does not conform to POSIX,
-+ # or it failed possibly due to a race condition. Create the
-+ # directory the slow way, step by step, checking for races as we go.
-+
-+ case $dstdir in
-+ /*) prefix='/';;
-+ -*) prefix='./';;
-+ *) prefix='';;
-+ esac
-+
-+ eval "$initialize_posix_glob"
-+
-+ oIFS=$IFS
-+ IFS=/
-+ $posix_glob set -f
-+ set fnord $dstdir
-+ shift
-+ $posix_glob set +f
-+ IFS=$oIFS
++ -framework)
++ prev=framework
++ continue
++ ;;
+
-+ prefixes=
++ -inst-prefix-dir)
++ prev=inst_prefix
++ continue
++ ;;
+
-+ for d
-+ do
-+ test -z "$d" && continue
++ # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
++ # so, if we see these flags be careful not to treat them like -L
++ -L[A-Z][A-Z]*:*)
++ case $with_gcc/$host in
++ no/*-*-irix* | /*-*-irix*)
++ func_append compile_command " $arg"
++ func_append finalize_command " $arg"
++ ;;
++ esac
++ continue
++ ;;
+
-+ prefix=$prefix$d
-+ if test -d "$prefix"; then
-+ prefixes=
-+ else
-+ if $posix_mkdir; then
-+ (umask=$mkdir_umask &&
-+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
-+ # Don't fail if two instances are running concurrently.
-+ test -d "$prefix" || exit 1
++ -L*)
++ func_stripname '-L' '' "$arg"
++ dir=$func_stripname_result
++ if test -z "$dir"; then
++ if test "$#" -gt 0; then
++ func_fatal_error "require no space between \`-L' and \`$1'"
+ else
-+ case $prefix in
-+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
-+ *) qprefix=$prefix;;
-+ esac
-+ prefixes="$prefixes '$qprefix'"
++ func_fatal_error "need path for \`-L' option"
+ fi
+ fi
-+ prefix=$prefix/
-+ done
-+
-+ if test -n "$prefixes"; then
-+ # Don't fail if two instances are running concurrently.
-+ (umask $mkdir_umask &&
-+ eval "\$doit_exec \$mkdirprog $prefixes") ||
-+ test -d "$dstdir" || exit 1
-+ obsolete_mkdir_used=true
-+ fi
-+ fi
-+ fi
-+
-+ if test -n "$dir_arg"; then
-+ { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
-+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
-+ { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
-+ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
-+ else
++ # We need an absolute path.
++ case $dir in
++ [\\/]* | [A-Za-z]:[\\/]*) ;;
++ *)
++ absdir=`cd "$dir" && pwd`
++ test -z "$absdir" && \
++ func_fatal_error "cannot determine absolute directory name of \`$dir'"
++ dir="$absdir"
++ ;;
++ esac
++ case "$deplibs " in
++ *" -L$dir "*) ;;
++ *)
++ deplibs="$deplibs -L$dir"
++ lib_search_path="$lib_search_path $dir"
++ ;;
++ esac
++ case $host in
++ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
++ testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
++ case :$dllsearchpath: in
++ *":$dir:"*) ;;
++ ::) dllsearchpath=$dir;;
++ *) dllsearchpath="$dllsearchpath:$dir";;
++ esac
++ case :$dllsearchpath: in
++ *":$testbindir:"*) ;;
++ ::) dllsearchpath=$testbindir;;
++ *) dllsearchpath="$dllsearchpath:$testbindir";;
++ esac
++ ;;
++ esac
++ continue
++ ;;
+
-+ # Make a couple of temp file names in the proper directory.
-+ dsttmp=$dstdir/_inst.$$_
-+ rmtmp=$dstdir/_rm.$$_
++ -l*)
++ if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
++ case $host in
++ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
++ # These systems don't actually have a C or math library (as such)
++ continue
++ ;;
++ *-*-os2*)
++ # These systems don't actually have a C library (as such)
++ test "X$arg" = "X-lc" && continue
++ ;;
++ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
++ # Do not include libc due to us having libc/libc_r.
++ test "X$arg" = "X-lc" && continue
++ ;;
++ *-*-rhapsody* | *-*-darwin1.[012])
++ # Rhapsody C and math libraries are in the System framework
++ deplibs="$deplibs System.ltframework"
++ continue
++ ;;
++ *-*-sco3.2v5* | *-*-sco5v6*)
++ # Causes problems with __ctype
++ test "X$arg" = "X-lc" && continue
++ ;;
++ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
++ # Compiler inserts libc in the correct place for threads to work
++ test "X$arg" = "X-lc" && continue
++ ;;
++ esac
++ elif test "X$arg" = "X-lc_r"; then
++ case $host in
++ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
++ # Do not include libc_r directly, use -pthread flag.
++ continue
++ ;;
++ esac
++ fi
++ deplibs="$deplibs $arg"
++ continue
++ ;;
+
-+ # Trap to clean up those temp files at exit.
-+ trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
++ -module)
++ module=yes
++ continue
++ ;;
+
-+ # Copy the file name to the temp name.
-+ (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
++ # Tru64 UNIX uses -model [arg] to determine the layout of C++
++ # classes, name mangling, and exception handling.
++ # Darwin uses the -arch flag to determine output architecture.
++ -model|-arch|-isysroot)
++ compiler_flags="$compiler_flags $arg"
++ func_append compile_command " $arg"
++ func_append finalize_command " $arg"
++ prev=xcompiler
++ continue
++ ;;
+
-+ # and set any options; do chmod last to preserve setuid bits.
-+ #
-+ # If any of these fail, we abort the whole thing. If we want to
-+ # ignore errors from any of these, just make sure not to ignore
-+ # errors from the above "$doit $cpprog $src $dsttmp" command.
-+ #
-+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
-+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
-+ { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
-+ { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
++ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
++ compiler_flags="$compiler_flags $arg"
++ func_append compile_command " $arg"
++ func_append finalize_command " $arg"
++ case "$new_inherited_linker_flags " in
++ *" $arg "*) ;;
++ * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
++ esac
++ continue
++ ;;
+
-+ # If -C, don't bother to copy if it wouldn't change the file.
-+ if $copy_on_change &&
-+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
-+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
++ -multi_module)
++ single_module="${wl}-multi_module"
++ continue
++ ;;
+
-+ eval "$initialize_posix_glob" &&
-+ $posix_glob set -f &&
-+ set X $old && old=:$2:$4:$5:$6 &&
-+ set X $new && new=:$2:$4:$5:$6 &&
-+ $posix_glob set +f &&
++ -no-fast-install)
++ fast_install=no
++ continue
++ ;;
+
-+ test "$old" = "$new" &&
-+ $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
-+ then
-+ rm -f "$dsttmp"
-+ else
-+ # Rename the file to the real destination.
-+ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
++ -no-install)
++ case $host in
++ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
++ # The PATH hackery in wrapper scripts is required on Windows
++ # and Darwin in order for the loader to find any dlls it needs.
++ func_warning "\`-no-install' is ignored for $host"
++ func_warning "assuming \`-no-fast-install' instead"
++ fast_install=no
++ ;;
++ *) no_install=yes ;;
++ esac
++ continue
++ ;;
+
-+ # The rename failed, perhaps because mv can't rename something else
-+ # to itself, or perhaps because mv is so ancient that it does not
-+ # support -f.
-+ {
-+ # Now remove or move aside any old file at destination location.
-+ # We try this two ways since rm can't unlink itself on some
-+ # systems and the destination file might be busy for other
-+ # reasons. In this case, the final cleanup might fail but the new
-+ # file should still install successfully.
-+ {
-+ test ! -f "$dst" ||
-+ $doit $rmcmd -f "$dst" 2>/dev/null ||
-+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
-+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
-+ } ||
-+ { echo "$0: cannot unlink or rename $dst" >&2
-+ (exit 1); exit 1
-+ }
-+ } &&
++ -no-undefined)
++ allow_undefined=no
++ continue
++ ;;
+
-+ # Now rename the file to the real destination.
-+ $doit $mvcmd "$dsttmp" "$dst"
-+ }
-+ fi || exit 1
++ -objectlist)
++ prev=objectlist
++ continue
++ ;;
+
-+ trap '' 0
-+ fi
-+done
++ -o) prev=output ;;
+
-+# Local variables:
-+# eval: (add-hook 'write-file-hooks 'time-stamp)
-+# time-stamp-start: "scriptversion="
-+# time-stamp-format: "%:y-%02m-%02d.%02H"
-+# time-stamp-time-zone: "UTC"
-+# time-stamp-end: "; # UTC"
-+# End:
-diff --git a/libdessert.pc.in b/libdessert.pc.in
-new file mode 100644
-index 0000000..ddea821
---- /dev/null
-+++ b/libdessert.pc.in
-@@ -0,0 +1,11 @@
-+prefix=@prefix@
-+exec_prefix=@exec_prefix@
-+libdir=@libdir@
-+includedir=@includedir@
++ -precious-files-regex)
++ prev=precious_regex
++ continue
++ ;;
+
-+Name: @PACKAGE_NAME@
-+Description: DES-SERT - an Extensible Routing-Framework for Testbeds
-+Version: @VERSION@
-+Libs: @PTHREAD_LIBS@ -L${libdir} -ldessert
-+Cflags: @PTHREAD_CFLAGS@ -I${includedir}
++ -release)
++ prev=release
++ continue
++ ;;
+
-diff --git a/ltmain.sh b/ltmain.sh
-new file mode 100755
-index 0000000..3506ead
---- /dev/null
-+++ b/ltmain.sh
-@@ -0,0 +1,8413 @@
-+# Generated from ltmain.m4sh.
++ -rpath)
++ prev=rpath
++ continue
++ ;;
+
-+# ltmain.sh (GNU libtool) 2.2.6
-+# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
++ -R)
++ prev=xrpath
++ continue
++ ;;
+
-+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
-+# This is free software; see the source for copying conditions. There is NO
-+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
++ -R*)
++ func_stripname '-R' '' "$arg"
++ dir=$func_stripname_result
++ # We need an absolute path.
++ case $dir in
++ [\\/]* | [A-Za-z]:[\\/]*) ;;
++ *)
++ func_fatal_error "only absolute run-paths are allowed"
++ ;;
++ esac
++ case "$xrpath " in
++ *" $dir "*) ;;
++ *) xrpath="$xrpath $dir" ;;
++ esac
++ continue
++ ;;
+
-+# GNU Libtool 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 2 of the License, or
-+# (at your option) any later version.
-+#
-+# As a special exception to the GNU General Public License,
-+# if you distribute this file as part of a program or library that
-+# is built using GNU Libtool, you may include this file under the
-+# same distribution terms that you use for the rest of that program.
-+#
-+# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy
-+# can be downloaded from http://www.gnu.org/licenses/gpl.html,
-+# or obtained by writing to the Free Software Foundation, Inc.,
-+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++ -shared)
++ # The effects of -shared are defined in a previous loop.
++ continue
++ ;;
+
-+# Usage: $progname [OPTION]... [MODE-ARG]...
-+#
-+# Provide generalized library-building support services.
-+#
-+# --config show all configuration variables
-+# --debug enable verbose shell tracing
-+# -n, --dry-run display commands without modifying any files
-+# --features display basic configuration information and exit
-+# --mode=MODE use operation mode MODE
-+# --preserve-dup-deps don't remove duplicate dependency libraries
-+# --quiet, --silent don't print informational messages
-+# --tag=TAG use configuration variables from tag TAG
-+# -v, --verbose print informational messages (default)
-+# --version print version information
-+# -h, --help print short or long help message
-+#
-+# MODE must be one of the following:
-+#
-+# clean remove files from the build directory
-+# compile compile a source file into a libtool object
-+# execute automatically set library path, then run a program
-+# finish complete the installation of libtool libraries
-+# install install libraries or executables
-+# link create a library or an executable
-+# uninstall remove libraries from an installed directory
-+#
-+# MODE-ARGS vary depending on the MODE.
-+# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
-+#
-+# When reporting a bug, please describe a test case to reproduce it and
-+# include the following information:
-+#
-+# host-triplet: $host
-+# shell: $SHELL
-+# compiler: $LTCC
-+# compiler flags: $LTCFLAGS
-+# linker: $LD (gnu? $with_gnu_ld)
-+# $progname: (GNU libtool) 2.2.6 Debian-2.2.6a-4
-+# automake: $automake_version
-+# autoconf: $autoconf_version
-+#
-+# Report bugs to <bug-libtool@gnu.org>.
++ -shrext)
++ prev=shrext
++ continue
++ ;;
+
-+PROGRAM=ltmain.sh
-+PACKAGE=libtool
-+VERSION="2.2.6 Debian-2.2.6a-4"
-+TIMESTAMP=""
-+package_revision=1.3012
++ -static | -static-libtool-libs)
++ # The effects of -static are defined in a previous loop.
++ # We used to do the same as -all-static on platforms that
++ # didn't have a PIC flag, but the assumption that the effects
++ # would be equivalent was wrong. It would break on at least
++ # Digital Unix and AIX.
++ continue
++ ;;
+
-+# Be Bourne compatible
-+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-+ emulate sh
-+ NULLCMD=:
-+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-+ # is contrary to our usage. Disable this feature.
-+ alias -g '${1+"$@"}'='"$@"'
-+ setopt NO_GLOB_SUBST
-+else
-+ case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
-+fi
-+BIN_SH=xpg4; export BIN_SH # for Tru64
-+DUALCASE=1; export DUALCASE # for MKS sh
++ -thread-safe)
++ thread_safe=yes
++ continue
++ ;;
+
-+# NLS nuisances: We save the old values to restore during execute mode.
-+# Only set LANG and LC_ALL to C if already set.
-+# These must not be set unconditionally because not all systems understand
-+# e.g. LANG=C (notably SCO).
-+lt_user_locale=
-+lt_safe_locale=
-+for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-+do
-+ eval "if test \"\${$lt_var+set}\" = set; then
-+ save_$lt_var=\$$lt_var
-+ $lt_var=C
-+ export $lt_var
-+ lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
-+ lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
-+ fi"
-+done
++ -version-info)
++ prev=vinfo
++ continue
++ ;;
+
-+$lt_unset CDPATH
++ -version-number)
++ prev=vinfo
++ vinfo_number=yes
++ continue
++ ;;
+
++ -weak)
++ prev=weak
++ continue
++ ;;
+
++ -Wc,*)
++ func_stripname '-Wc,' '' "$arg"
++ args=$func_stripname_result
++ arg=
++ save_ifs="$IFS"; IFS=','
++ for flag in $args; do
++ IFS="$save_ifs"
++ func_quote_for_eval "$flag"
++ arg="$arg $wl$func_quote_for_eval_result"
++ compiler_flags="$compiler_flags $func_quote_for_eval_result"
++ done
++ IFS="$save_ifs"
++ func_stripname ' ' '' "$arg"
++ arg=$func_stripname_result
++ ;;
+
++ -Wl,*)
++ func_stripname '-Wl,' '' "$arg"
++ args=$func_stripname_result
++ arg=
++ save_ifs="$IFS"; IFS=','
++ for flag in $args; do
++ IFS="$save_ifs"
++ func_quote_for_eval "$flag"
++ arg="$arg $wl$func_quote_for_eval_result"
++ compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
++ linker_flags="$linker_flags $func_quote_for_eval_result"
++ done
++ IFS="$save_ifs"
++ func_stripname ' ' '' "$arg"
++ arg=$func_stripname_result
++ ;;
+
++ -Xcompiler)
++ prev=xcompiler
++ continue
++ ;;
+
-+: ${CP="cp -f"}
-+: ${ECHO="echo"}
-+: ${EGREP="/bin/grep -E"}
-+: ${FGREP="/bin/grep -F"}
-+: ${GREP="/bin/grep"}
-+: ${LN_S="ln -s"}
-+: ${MAKE="make"}
-+: ${MKDIR="mkdir"}
-+: ${MV="mv -f"}
-+: ${RM="rm -f"}
-+: ${SED="/bin/sed"}
-+: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
-+: ${Xsed="$SED -e 1s/^X//"}
++ -Xlinker)
++ prev=xlinker
++ continue
++ ;;
+
-+# Global variables:
-+EXIT_SUCCESS=0
-+EXIT_FAILURE=1
-+EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
-+EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
++ -XCClinker)
++ prev=xcclinker
++ continue
++ ;;
+
-+exit_status=$EXIT_SUCCESS
++ # -msg_* for osf cc
++ -msg_*)
++ func_quote_for_eval "$arg"
++ arg="$func_quote_for_eval_result"
++ ;;
+
-+# Make sure IFS has a sensible default
-+lt_nl='
-+'
-+IFS=" $lt_nl"
++ # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
++ # -r[0-9][0-9]* specifies the processor on the SGI compiler
++ # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
++ # +DA*, +DD* enable 64-bit mode on the HP compiler
++ # -q* pass through compiler args for the IBM compiler
++ # -m*, -t[45]*, -txscale* pass through architecture-specific
++ # compiler args for GCC
++ # -F/path gives path to uninstalled frameworks, gcc on darwin
++ # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
++ # @file GCC response files
++ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
++ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
++ func_quote_for_eval "$arg"
++ arg="$func_quote_for_eval_result"
++ func_append compile_command " $arg"
++ func_append finalize_command " $arg"
++ compiler_flags="$compiler_flags $arg"
++ continue
++ ;;
+
-+dirname="s,/[^/]*$,,"
-+basename="s,^.*/,,"
++ # Some other compiler flag.
++ -* | +*)
++ func_quote_for_eval "$arg"
++ arg="$func_quote_for_eval_result"
++ ;;
+
-+# func_dirname_and_basename file append nondir_replacement
-+# perform func_basename and func_dirname in a single function
-+# call:
-+# dirname: Compute the dirname of FILE. If nonempty,
-+# add APPEND to the result, otherwise set result
-+# to NONDIR_REPLACEMENT.
-+# value returned in "$func_dirname_result"
-+# basename: Compute filename of FILE.
-+# value retuned in "$func_basename_result"
-+# Implementation must be kept synchronized with func_dirname
-+# and func_basename. For efficiency, we do not delegate to
-+# those functions but instead duplicate the functionality here.
-+func_dirname_and_basename ()
-+{
-+ # Extract subdirectory from the argument.
-+ func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
-+ if test "X$func_dirname_result" = "X${1}"; then
-+ func_dirname_result="${3}"
-+ else
-+ func_dirname_result="$func_dirname_result${2}"
-+ fi
-+ func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
-+}
++ *.$objext)
++ # A standard object.
++ objs="$objs $arg"
++ ;;
+
-+# Generated shell functions inserted here.
++ *.lo)
++ # A libtool-controlled object.
+
-+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-+# is ksh but when the shell is invoked as "sh" and the current value of
-+# the _XPG environment variable is not equal to 1 (one), the special
-+# positional parameter $0, within a function call, is the name of the
-+# function.
-+progpath="$0"
++ # Check to see that this really is a libtool object.
++ if func_lalib_unsafe_p "$arg"; then
++ pic_object=
++ non_pic_object=
+
-+# The name of this program:
-+# In the unlikely event $progname began with a '-', it would play havoc with
-+# func_echo (imagine progname=-n), so we prepend ./ in that case:
-+func_dirname_and_basename "$progpath"
-+progname=$func_basename_result
-+case $progname in
-+ -*) progname=./$progname ;;
-+esac
++ # Read the .lo file
++ func_source "$arg"
+
-+# Make sure we have an absolute path for reexecution:
-+case $progpath in
-+ [\\/]*|[A-Za-z]:\\*) ;;
-+ *[\\/]*)
-+ progdir=$func_dirname_result
-+ progdir=`cd "$progdir" && pwd`
-+ progpath="$progdir/$progname"
-+ ;;
-+ *)
-+ save_IFS="$IFS"
-+ IFS=:
-+ for progdir in $PATH; do
-+ IFS="$save_IFS"
-+ test -x "$progdir/$progname" && break
-+ done
-+ IFS="$save_IFS"
-+ test -n "$progdir" || progdir=`pwd`
-+ progpath="$progdir/$progname"
-+ ;;
-+esac
++ if test -z "$pic_object" ||
++ test -z "$non_pic_object" ||
++ test "$pic_object" = none &&
++ test "$non_pic_object" = none; then
++ func_fatal_error "cannot find name of object for \`$arg'"
++ fi
+
-+# Sed substitution that helps us do robust quoting. It backslashifies
-+# metacharacters that are still active within double-quoted strings.
-+Xsed="${SED}"' -e 1s/^X//'
-+sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
++ # Extract subdirectory from the argument.
++ func_dirname "$arg" "/" ""
++ xdir="$func_dirname_result"
+
-+# Same as above, but do not quote variable references.
-+double_quote_subst='s/\(["`\\]\)/\\\1/g'
++ if test "$pic_object" != none; then
++ # Prepend the subdirectory the object is found in.
++ pic_object="$xdir$pic_object"
+
-+# Re-`\' parameter expansions in output of double_quote_subst that were
-+# `\'-ed in input to the same. If an odd number of `\' preceded a '$'
-+# in input to double_quote_subst, that '$' was protected from expansion.
-+# Since each input `\' is now two `\'s, look for any number of runs of
-+# four `\'s followed by two `\'s and then a '$'. `\' that '$'.
-+bs='\\'
-+bs2='\\\\'
-+bs4='\\\\\\\\'
-+dollar='\$'
-+sed_double_backslash="\
-+ s/$bs4/&\\
-+/g
-+ s/^$bs2$dollar/$bs&/
-+ s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
-+ s/\n//g"
++ if test "$prev" = dlfiles; then
++ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
++ dlfiles="$dlfiles $pic_object"
++ prev=
++ continue
++ else
++ # If libtool objects are unsupported, then we need to preload.
++ prev=dlprefiles
++ fi
++ fi
+
-+# Standard options:
-+opt_dry_run=false
-+opt_help=false
-+opt_quiet=false
-+opt_verbose=false
-+opt_warning=:
++ # CHECK ME: I think I busted this. -Ossama
++ if test "$prev" = dlprefiles; then
++ # Preload the old-style object.
++ dlprefiles="$dlprefiles $pic_object"
++ prev=
++ fi
+
-+# func_echo arg...
-+# Echo program name prefixed message, along with the current mode
-+# name if it has been set yet.
-+func_echo ()
-+{
-+ $ECHO "$progname${mode+: }$mode: $*"
-+}
++ # A PIC object.
++ func_append libobjs " $pic_object"
++ arg="$pic_object"
++ fi
+
-+# func_verbose arg...
-+# Echo program name prefixed message in verbose mode only.
-+func_verbose ()
-+{
-+ $opt_verbose && func_echo ${1+"$@"}
++ # Non-PIC object.
++ if test "$non_pic_object" != none; then
++ # Prepend the subdirectory the object is found in.
++ non_pic_object="$xdir$non_pic_object"
+
-+ # A bug in bash halts the script if the last line of a function
-+ # fails when set -e is in force, so we need another command to
-+ # work around that:
-+ :
-+}
++ # A standard non-PIC object
++ func_append non_pic_objects " $non_pic_object"
++ if test -z "$pic_object" || test "$pic_object" = none ; then
++ arg="$non_pic_object"
++ fi
++ else
++ # If the PIC object exists, use it instead.
++ # $xdir was prepended to $pic_object above.
++ non_pic_object="$pic_object"
++ func_append non_pic_objects " $non_pic_object"
++ fi
++ else
++ # Only an error if not doing a dry-run.
++ if $opt_dry_run; then
++ # Extract subdirectory from the argument.
++ func_dirname "$arg" "/" ""
++ xdir="$func_dirname_result"
+
-+# func_error arg...
-+# Echo program name prefixed message to standard error.
-+func_error ()
-+{
-+ $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
-+}
++ func_lo2o "$arg"
++ pic_object=$xdir$objdir/$func_lo2o_result
++ non_pic_object=$xdir$func_lo2o_result
++ func_append libobjs " $pic_object"
++ func_append non_pic_objects " $non_pic_object"
++ else
++ func_fatal_error "\`$arg' is not a valid libtool object"
++ fi
++ fi
++ ;;
+
-+# func_warning arg...
-+# Echo program name prefixed warning message to standard error.
-+func_warning ()
-+{
-+ $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
++ *.$libext)
++ # An archive.
++ deplibs="$deplibs $arg"
++ old_deplibs="$old_deplibs $arg"
++ continue
++ ;;
+
-+ # bash bug again:
-+ :
-+}
++ *.la)
++ # A libtool-controlled library.
+
-+# func_fatal_error arg...
-+# Echo program name prefixed message to standard error, and exit.
-+func_fatal_error ()
-+{
-+ func_error ${1+"$@"}
-+ exit $EXIT_FAILURE
-+}
++ if test "$prev" = dlfiles; then
++ # This library was specified with -dlopen.
++ dlfiles="$dlfiles $arg"
++ prev=
++ elif test "$prev" = dlprefiles; then
++ # The library was specified with -dlpreopen.
++ dlprefiles="$dlprefiles $arg"
++ prev=
++ else
++ deplibs="$deplibs $arg"
++ fi
++ continue
++ ;;
+
-+# func_fatal_help arg...
-+# Echo program name prefixed message to standard error, followed by
-+# a help hint, and exit.
-+func_fatal_help ()
-+{
-+ func_error ${1+"$@"}
-+ func_fatal_error "$help"
-+}
-+help="Try \`$progname --help' for more information." ## default
++ # Some other compiler argument.
++ *)
++ # Unknown arguments in both finalize_command and compile_command need
++ # to be aesthetically quoted because they are evaled later.
++ func_quote_for_eval "$arg"
++ arg="$func_quote_for_eval_result"
++ ;;
++ esac # arg
+
++ # Now actually substitute the argument into the commands.
++ if test -n "$arg"; then
++ func_append compile_command " $arg"
++ func_append finalize_command " $arg"
++ fi
++ done # argument parsing loop
+
-+# func_grep expression filename
-+# Check whether EXPRESSION matches any line of FILENAME, without output.
-+func_grep ()
-+{
-+ $GREP "$1" "$2" >/dev/null 2>&1
-+}
++ test -n "$prev" && \
++ func_fatal_help "the \`$prevarg' option requires an argument"
+
++ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
++ eval arg=\"$export_dynamic_flag_spec\"
++ func_append compile_command " $arg"
++ func_append finalize_command " $arg"
++ fi
+
-+# func_mkdir_p directory-path
-+# Make sure the entire path to DIRECTORY-PATH is available.
-+func_mkdir_p ()
-+{
-+ my_directory_path="$1"
-+ my_dir_list=
++ oldlibs=
++ # calculate the name of the file, without its directory
++ func_basename "$output"
++ outputname="$func_basename_result"
++ libobjs_save="$libobjs"
+
-+ if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
++ if test -n "$shlibpath_var"; then
++ # get the directories listed in $shlibpath_var
++ eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
++ else
++ shlib_search_path=
++ fi
++ eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
++ eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
-+ # Protect directory names starting with `-'
-+ case $my_directory_path in
-+ -*) my_directory_path="./$my_directory_path" ;;
-+ esac
++ func_dirname "$output" "/" ""
++ output_objdir="$func_dirname_result$objdir"
++ # Create the object directory.
++ func_mkdir_p "$output_objdir"
+
-+ # While some portion of DIR does not yet exist...
-+ while test ! -d "$my_directory_path"; do
-+ # ...make a list in topmost first order. Use a colon delimited
-+ # list incase some portion of path contains whitespace.
-+ my_dir_list="$my_directory_path:$my_dir_list"
++ # Determine the type of output
++ case $output in
++ "")
++ func_fatal_help "you must specify an output file"
++ ;;
++ *.$libext) linkmode=oldlib ;;
++ *.lo | *.$objext) linkmode=obj ;;
++ *.la) linkmode=lib ;;
++ *) linkmode=prog ;; # Anything else should be a program.
++ esac
+
-+ # If the last portion added has no slash in it, the list is done
-+ case $my_directory_path in */*) ;; *) break ;; esac
++ specialdeplibs=
+
-+ # ...otherwise throw away the child directory and loop
-+ my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
-+ done
-+ my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
++ libs=
++ # Find all interdependent deplibs by searching for libraries
++ # that are linked more than once (e.g. -la -lb -la)
++ for deplib in $deplibs; do
++ if $opt_duplicate_deps ; then
++ case "$libs " in
++ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
++ esac
++ fi
++ libs="$libs $deplib"
++ done
+
-+ save_mkdir_p_IFS="$IFS"; IFS=':'
-+ for my_dir in $my_dir_list; do
-+ IFS="$save_mkdir_p_IFS"
-+ # mkdir can fail with a `File exist' error if two processes
-+ # try to create one of the directories concurrently. Don't
-+ # stop in that case!
-+ $MKDIR "$my_dir" 2>/dev/null || :
-+ done
-+ IFS="$save_mkdir_p_IFS"
++ if test "$linkmode" = lib; then
++ libs="$predeps $libs $compiler_lib_search_path $postdeps"
+
-+ # Bail out if we (or some other process) failed to create a directory.
-+ test -d "$my_directory_path" || \
-+ func_fatal_error "Failed to create \`$1'"
++ # Compute libraries that are listed more than once in $predeps
++ # $postdeps and mark them as special (i.e., whose duplicates are
++ # not to be eliminated).
++ pre_post_deps=
++ if $opt_duplicate_compiler_generated_deps; then
++ for pre_post_dep in $predeps $postdeps; do
++ case "$pre_post_deps " in
++ *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
++ esac
++ pre_post_deps="$pre_post_deps $pre_post_dep"
++ done
++ fi
++ pre_post_deps=
+ fi
-+}
+
++ deplibs=
++ newdependency_libs=
++ newlib_search_path=
++ need_relink=no # whether we're linking any uninstalled libtool libraries
++ notinst_deplibs= # not-installed libtool libraries
++ notinst_path= # paths that contain not-installed libtool libraries
+
-+# func_mktempdir [string]
-+# Make a temporary directory that won't clash with other running
-+# libtool processes, and avoids race conditions if possible. If
-+# given, STRING is the basename for that directory.
-+func_mktempdir ()
-+{
-+ my_template="${TMPDIR-/tmp}/${1-$progname}"
-+
-+ if test "$opt_dry_run" = ":"; then
-+ # Return a directory name, but don't create it in dry-run mode
-+ my_tmpdir="${my_template}-$$"
-+ else
++ case $linkmode in
++ lib)
++ passes="conv dlpreopen link"
++ for file in $dlfiles $dlprefiles; do
++ case $file in
++ *.la) ;;
++ *)
++ func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
++ ;;
++ esac
++ done
++ ;;
++ prog)
++ compile_deplibs=
++ finalize_deplibs=
++ alldeplibs=no
++ newdlfiles=
++ newdlprefiles=
++ passes="conv scan dlopen dlpreopen link"
++ ;;
++ *) passes="conv"
++ ;;
++ esac
+
-+ # If mktemp works, use that first and foremost
-+ my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
++ for pass in $passes; do
++ # The preopen pass in lib mode reverses $deplibs; put it back here
++ # so that -L comes before libs that need it for instance...
++ if test "$linkmode,$pass" = "lib,link"; then
++ ## FIXME: Find the place where the list is rebuilt in the wrong
++ ## order, and fix it there properly
++ tmp_deplibs=
++ for deplib in $deplibs; do
++ tmp_deplibs="$deplib $tmp_deplibs"
++ done
++ deplibs="$tmp_deplibs"
++ fi
+
-+ if test ! -d "$my_tmpdir"; then
-+ # Failing that, at least try and use $RANDOM to avoid a race
-+ my_tmpdir="${my_template}-${RANDOM-0}$$"
++ if test "$linkmode,$pass" = "lib,link" ||
++ test "$linkmode,$pass" = "prog,scan"; then
++ libs="$deplibs"
++ deplibs=
++ fi
++ if test "$linkmode" = prog; then
++ case $pass in
++ dlopen) libs="$dlfiles" ;;
++ dlpreopen) libs="$dlprefiles" ;;
++ link)
++ libs="$deplibs %DEPLIBS%"
++ test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
++ ;;
++ esac
++ fi
++ if test "$linkmode,$pass" = "lib,dlpreopen"; then
++ # Collect and forward deplibs of preopened libtool libs
++ for lib in $dlprefiles; do
++ # Ignore non-libtool-libs
++ dependency_libs=
++ case $lib in
++ *.la) func_source "$lib" ;;
++ esac
+
-+ save_mktempdir_umask=`umask`
-+ umask 0077
-+ $MKDIR "$my_tmpdir"
-+ umask $save_mktempdir_umask
++ # Collect preopened libtool deplibs, except any this library
++ # has declared as weak libs
++ for deplib in $dependency_libs; do
++ deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
++ case " $weak_libs " in
++ *" $deplib_base "*) ;;
++ *) deplibs="$deplibs $deplib" ;;
++ esac
++ done
++ done
++ libs="$dlprefiles"
++ fi
++ if test "$pass" = dlopen; then
++ # Collect dlpreopened libraries
++ save_deplibs="$deplibs"
++ deplibs=
+ fi
+
-+ # If we're not in dry-run mode, bomb out on failure
-+ test -d "$my_tmpdir" || \
-+ func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
-+ fi
++ for deplib in $libs; do
++ lib=
++ found=no
++ case $deplib in
++ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
++ if test "$linkmode,$pass" = "prog,link"; then
++ compile_deplibs="$deplib $compile_deplibs"
++ finalize_deplibs="$deplib $finalize_deplibs"
++ else
++ compiler_flags="$compiler_flags $deplib"
++ if test "$linkmode" = lib ; then
++ case "$new_inherited_linker_flags " in
++ *" $deplib "*) ;;
++ * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
++ esac
++ fi
++ fi
++ continue
++ ;;
++ -l*)
++ if test "$linkmode" != lib && test "$linkmode" != prog; then
++ func_warning "\`-l' is ignored for archives/objects"
++ continue
++ fi
++ func_stripname '-l' '' "$deplib"
++ name=$func_stripname_result
++ if test "$linkmode" = lib; then
++ searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
++ else
++ searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
++ fi
++ for searchdir in $searchdirs; do
++ for search_ext in .la $std_shrext .so .a; do
++ # Search the libtool library
++ lib="$searchdir/lib${name}${search_ext}"
++ if test -f "$lib"; then
++ if test "$search_ext" = ".la"; then
++ found=yes
++ else
++ found=no
++ fi
++ break 2
++ fi
++ done
++ done
++ if test "$found" != yes; then
++ # deplib doesn't seem to be a libtool library
++ if test "$linkmode,$pass" = "prog,link"; then
++ compile_deplibs="$deplib $compile_deplibs"
++ finalize_deplibs="$deplib $finalize_deplibs"
++ else
++ deplibs="$deplib $deplibs"
++ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
++ fi
++ continue
++ else # deplib is a libtool library
++ # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
++ # We need to do some special things here, and not later.
++ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
++ case " $predeps $postdeps " in
++ *" $deplib "*)
++ if func_lalib_p "$lib"; then
++ library_names=
++ old_library=
++ func_source "$lib"
++ for l in $old_library $library_names; do
++ ll="$l"
++ done
++ if test "X$ll" = "X$old_library" ; then # only static version available
++ found=no
++ func_dirname "$lib" "" "."
++ ladir="$func_dirname_result"
++ lib=$ladir/$old_library
++ if test "$linkmode,$pass" = "prog,link"; then
++ compile_deplibs="$deplib $compile_deplibs"
++ finalize_deplibs="$deplib $finalize_deplibs"
++ else
++ deplibs="$deplib $deplibs"
++ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
++ fi
++ continue
++ fi
++ fi
++ ;;
++ *) ;;
++ esac
++ fi
++ fi
++ ;; # -l
++ *.ltframework)
++ if test "$linkmode,$pass" = "prog,link"; then
++ compile_deplibs="$deplib $compile_deplibs"
++ finalize_deplibs="$deplib $finalize_deplibs"
++ else
++ deplibs="$deplib $deplibs"
++ if test "$linkmode" = lib ; then
++ case "$new_inherited_linker_flags " in
++ *" $deplib "*) ;;
++ * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
++ esac
++ fi
++ fi
++ continue
++ ;;
++ -L*)
++ case $linkmode in
++ lib)
++ deplibs="$deplib $deplibs"
++ test "$pass" = conv && continue
++ newdependency_libs="$deplib $newdependency_libs"
++ func_stripname '-L' '' "$deplib"
++ newlib_search_path="$newlib_search_path $func_stripname_result"
++ ;;
++ prog)
++ if test "$pass" = conv; then
++ deplibs="$deplib $deplibs"
++ continue
++ fi
++ if test "$pass" = scan; then
++ deplibs="$deplib $deplibs"
++ else
++ compile_deplibs="$deplib $compile_deplibs"
++ finalize_deplibs="$deplib $finalize_deplibs"
++ fi
++ func_stripname '-L' '' "$deplib"
++ newlib_search_path="$newlib_search_path $func_stripname_result"
++ ;;
++ *)
++ func_warning "\`-L' is ignored for archives/objects"
++ ;;
++ esac # linkmode
++ continue
++ ;; # -L
++ -R*)
++ if test "$pass" = link; then
++ func_stripname '-R' '' "$deplib"
++ dir=$func_stripname_result
++ # Make sure the xrpath contains only unique directories.
++ case "$xrpath " in
++ *" $dir "*) ;;
++ *) xrpath="$xrpath $dir" ;;
++ esac
++ fi
++ deplibs="$deplib $deplibs"
++ continue
++ ;;
++ *.la) lib="$deplib" ;;
++ *.$libext)
++ if test "$pass" = conv; then
++ deplibs="$deplib $deplibs"
++ continue
++ fi
++ case $linkmode in
++ lib)
++ # Linking convenience modules into shared libraries is allowed,
++ # but linking other static libraries is non-portable.
++ case " $dlpreconveniencelibs " in
++ *" $deplib "*) ;;
++ *)
++ valid_a_lib=no
++ case $deplibs_check_method in
++ match_pattern*)
++ set dummy $deplibs_check_method; shift
++ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
++ if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
++ | $EGREP "$match_pattern_regex" > /dev/null; then
++ valid_a_lib=yes
++ fi
++ ;;
++ pass_all)
++ valid_a_lib=yes
++ ;;
++ esac
++ if test "$valid_a_lib" != yes; then
++ $ECHO
++ $ECHO "*** Warning: Trying to link with static lib archive $deplib."
++ $ECHO "*** I have the capability to make that library automatically link in when"
++ $ECHO "*** you link to this library. But I can only do this if you have a"
++ $ECHO "*** shared version of the library, which you do not appear to have"
++ $ECHO "*** because the file extensions .$libext of this argument makes me believe"
++ $ECHO "*** that it is just a static archive that I should not use here."
++ else
++ $ECHO
++ $ECHO "*** Warning: Linking the shared library $output against the"
++ $ECHO "*** static library $deplib is not portable!"
++ deplibs="$deplib $deplibs"
++ fi
++ ;;
++ esac
++ continue
++ ;;
++ prog)
++ if test "$pass" != link; then
++ deplibs="$deplib $deplibs"
++ else
++ compile_deplibs="$deplib $compile_deplibs"
++ finalize_deplibs="$deplib $finalize_deplibs"
++ fi
++ continue
++ ;;
++ esac # linkmode
++ ;; # *.$libext
++ *.lo | *.$objext)
++ if test "$pass" = conv; then
++ deplibs="$deplib $deplibs"
++ elif test "$linkmode" = prog; then
++ if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
++ # If there is no dlopen support or we're linking statically,
++ # we need to preload.
++ newdlprefiles="$newdlprefiles $deplib"
++ compile_deplibs="$deplib $compile_deplibs"
++ finalize_deplibs="$deplib $finalize_deplibs"
++ else
++ newdlfiles="$newdlfiles $deplib"
++ fi
++ fi
++ continue
++ ;;
++ %DEPLIBS%)
++ alldeplibs=yes
++ continue
++ ;;
++ esac # case $deplib
++
++ if test "$found" = yes || test -f "$lib"; then :
++ else
++ func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
++ fi
+
-+ $ECHO "X$my_tmpdir" | $Xsed
-+}
++ # Check to see that this really is a libtool archive.
++ func_lalib_unsafe_p "$lib" \
++ || func_fatal_error "\`$lib' is not a valid libtool archive"
+
++ func_dirname "$lib" "" "."
++ ladir="$func_dirname_result"
+
-+# func_quote_for_eval arg
-+# Aesthetically quote ARG to be evaled later.
-+# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
-+# is double-quoted, suitable for a subsequent eval, whereas
-+# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
-+# which are still active within double quotes backslashified.
-+func_quote_for_eval ()
-+{
-+ case $1 in
-+ *[\\\`\"\$]*)
-+ func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
-+ *)
-+ func_quote_for_eval_unquoted_result="$1" ;;
-+ esac
++ dlname=
++ dlopen=
++ dlpreopen=
++ libdir=
++ library_names=
++ old_library=
++ inherited_linker_flags=
++ # If the library was installed with an old release of libtool,
++ # it will not redefine variables installed, or shouldnotlink
++ installed=yes
++ shouldnotlink=no
++ avoidtemprpath=
+
-+ case $func_quote_for_eval_unquoted_result in
-+ # Double-quote args containing shell metacharacters to delay
-+ # word splitting, command substitution and and variable
-+ # expansion for a subsequent eval.
-+ # Many Bourne shells cannot handle close brackets correctly
-+ # in scan sets, so we specify it separately.
-+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
-+ func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
-+ ;;
-+ *)
-+ func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
-+ esac
-+}
+
++ # Read the .la file
++ func_source "$lib"
+
-+# func_quote_for_expand arg
-+# Aesthetically quote ARG to be evaled later; same as above,
-+# but do not quote variable references.
-+func_quote_for_expand ()
-+{
-+ case $1 in
-+ *[\\\`\"]*)
-+ my_arg=`$ECHO "X$1" | $Xsed \
-+ -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
-+ *)
-+ my_arg="$1" ;;
-+ esac
++ # Convert "-framework foo" to "foo.ltframework"
++ if test -n "$inherited_linker_flags"; then
++ tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
++ for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
++ case " $new_inherited_linker_flags " in
++ *" $tmp_inherited_linker_flag "*) ;;
++ *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
++ esac
++ done
++ fi
++ dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
++ if test "$linkmode,$pass" = "lib,link" ||
++ test "$linkmode,$pass" = "prog,scan" ||
++ { test "$linkmode" != prog && test "$linkmode" != lib; }; then
++ test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
++ test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
++ fi
+
-+ case $my_arg in
-+ # Double-quote args containing shell metacharacters to delay
-+ # word splitting and command substitution for a subsequent eval.
-+ # Many Bourne shells cannot handle close brackets correctly
-+ # in scan sets, so we specify it separately.
-+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
-+ my_arg="\"$my_arg\""
-+ ;;
-+ esac
++ if test "$pass" = conv; then
++ # Only check for convenience libraries
++ deplibs="$lib $deplibs"
++ if test -z "$libdir"; then
++ if test -z "$old_library"; then
++ func_fatal_error "cannot find name of link library for \`$lib'"
++ fi
++ # It is a libtool convenience library, so add in its objects.
++ convenience="$convenience $ladir/$objdir/$old_library"
++ old_convenience="$old_convenience $ladir/$objdir/$old_library"
++ tmp_libs=
++ for deplib in $dependency_libs; do
++ deplibs="$deplib $deplibs"
++ if $opt_duplicate_deps ; then
++ case "$tmp_libs " in
++ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
++ esac
++ fi
++ tmp_libs="$tmp_libs $deplib"
++ done
++ elif test "$linkmode" != prog && test "$linkmode" != lib; then
++ func_fatal_error "\`$lib' is not a convenience library"
++ fi
++ continue
++ fi # $pass = conv
+
-+ func_quote_for_expand_result="$my_arg"
-+}
+
++ # Get the name of the library we link against.
++ linklib=
++ for l in $old_library $library_names; do
++ linklib="$l"
++ done
++ if test -z "$linklib"; then
++ func_fatal_error "cannot find name of link library for \`$lib'"
++ fi
+
-+# func_show_eval cmd [fail_exp]
-+# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
-+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
-+# is given, then evaluate it.
-+func_show_eval ()
-+{
-+ my_cmd="$1"
-+ my_fail_exp="${2-:}"
++ # This library was specified with -dlopen.
++ if test "$pass" = dlopen; then
++ if test -z "$libdir"; then
++ func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
++ fi
++ if test -z "$dlname" ||
++ test "$dlopen_support" != yes ||
++ test "$build_libtool_libs" = no; then
++ # If there is no dlname, no dlopen support or we're linking
++ # statically, we need to preload. We also need to preload any
++ # dependent libraries so libltdl's deplib preloader doesn't
++ # bomb out in the load deplibs phase.
++ dlprefiles="$dlprefiles $lib $dependency_libs"
++ else
++ newdlfiles="$newdlfiles $lib"
++ fi
++ continue
++ fi # $pass = dlopen
+
-+ ${opt_silent-false} || {
-+ func_quote_for_expand "$my_cmd"
-+ eval "func_echo $func_quote_for_expand_result"
-+ }
++ # We need an absolute path.
++ case $ladir in
++ [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
++ *)
++ abs_ladir=`cd "$ladir" && pwd`
++ if test -z "$abs_ladir"; then
++ func_warning "cannot determine absolute directory name of \`$ladir'"
++ func_warning "passing it literally to the linker, although it might fail"
++ abs_ladir="$ladir"
++ fi
++ ;;
++ esac
++ func_basename "$lib"
++ laname="$func_basename_result"
+
-+ if ${opt_dry_run-false}; then :; else
-+ eval "$my_cmd"
-+ my_status=$?
-+ if test "$my_status" -eq 0; then :; else
-+ eval "(exit $my_status); $my_fail_exp"
-+ fi
-+ fi
-+}
++ # Find the relevant object directory and library name.
++ if test "X$installed" = Xyes; then
++ if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
++ func_warning "library \`$lib' was moved."
++ dir="$ladir"
++ absdir="$abs_ladir"
++ libdir="$abs_ladir"
++ else
++ dir="$libdir"
++ absdir="$libdir"
++ fi
++ test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
++ else
++ if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
++ dir="$ladir"
++ absdir="$abs_ladir"
++ # Remove this search path later
++ notinst_path="$notinst_path $abs_ladir"
++ else
++ dir="$ladir/$objdir"
++ absdir="$abs_ladir/$objdir"
++ # Remove this search path later
++ notinst_path="$notinst_path $abs_ladir"
++ fi
++ fi # $installed = yes
++ func_stripname 'lib' '.la' "$laname"
++ name=$func_stripname_result
+
++ # This library was specified with -dlpreopen.
++ if test "$pass" = dlpreopen; then
++ if test -z "$libdir" && test "$linkmode" = prog; then
++ func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
++ fi
++ # Prefer using a static library (so that no silly _DYNAMIC symbols
++ # are required to link).
++ if test -n "$old_library"; then
++ newdlprefiles="$newdlprefiles $dir/$old_library"
++ # Keep a list of preopened convenience libraries to check
++ # that they are being used correctly in the link pass.
++ test -z "$libdir" && \
++ dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
++ # Otherwise, use the dlname, so that lt_dlopen finds it.
++ elif test -n "$dlname"; then
++ newdlprefiles="$newdlprefiles $dir/$dlname"
++ else
++ newdlprefiles="$newdlprefiles $dir/$linklib"
++ fi
++ fi # $pass = dlpreopen
+
-+# func_show_eval_locale cmd [fail_exp]
-+# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
-+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
-+# is given, then evaluate it. Use the saved locale for evaluation.
-+func_show_eval_locale ()
-+{
-+ my_cmd="$1"
-+ my_fail_exp="${2-:}"
++ if test -z "$libdir"; then
++ # Link the convenience library
++ if test "$linkmode" = lib; then
++ deplibs="$dir/$old_library $deplibs"
++ elif test "$linkmode,$pass" = "prog,link"; then
++ compile_deplibs="$dir/$old_library $compile_deplibs"
++ finalize_deplibs="$dir/$old_library $finalize_deplibs"
++ else
++ deplibs="$lib $deplibs" # used for prog,scan pass
++ fi
++ continue
++ fi
+
-+ ${opt_silent-false} || {
-+ func_quote_for_expand "$my_cmd"
-+ eval "func_echo $func_quote_for_expand_result"
-+ }
+
-+ if ${opt_dry_run-false}; then :; else
-+ eval "$lt_user_locale
-+ $my_cmd"
-+ my_status=$?
-+ eval "$lt_safe_locale"
-+ if test "$my_status" -eq 0; then :; else
-+ eval "(exit $my_status); $my_fail_exp"
-+ fi
-+ fi
-+}
++ if test "$linkmode" = prog && test "$pass" != link; then
++ newlib_search_path="$newlib_search_path $ladir"
++ deplibs="$lib $deplibs"
+
++ linkalldeplibs=no
++ if test "$link_all_deplibs" != no || test -z "$library_names" ||
++ test "$build_libtool_libs" = no; then
++ linkalldeplibs=yes
++ fi
+
++ tmp_libs=
++ for deplib in $dependency_libs; do
++ case $deplib in
++ -L*) func_stripname '-L' '' "$deplib"
++ newlib_search_path="$newlib_search_path $func_stripname_result"
++ ;;
++ esac
++ # Need to link against all dependency_libs?
++ if test "$linkalldeplibs" = yes; then
++ deplibs="$deplib $deplibs"
++ else
++ # Need to hardcode shared library paths
++ # or/and link against static libraries
++ newdependency_libs="$deplib $newdependency_libs"
++ fi
++ if $opt_duplicate_deps ; then
++ case "$tmp_libs " in
++ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
++ esac
++ fi
++ tmp_libs="$tmp_libs $deplib"
++ done # for deplib
++ continue
++ fi # $linkmode = prog...
+
++ if test "$linkmode,$pass" = "prog,link"; then
++ if test -n "$library_names" &&
++ { { test "$prefer_static_libs" = no ||
++ test "$prefer_static_libs,$installed" = "built,yes"; } ||
++ test -z "$old_library"; }; then
++ # We need to hardcode the library path
++ if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
++ # Make sure the rpath contains only unique directories.
++ case "$temp_rpath:" in
++ *"$absdir:"*) ;;
++ *) temp_rpath="$temp_rpath$absdir:" ;;
++ esac
++ fi
+
++ # Hardcode the library path.
++ # Skip directories that are in the system default run-time
++ # search path.
++ case " $sys_lib_dlsearch_path " in
++ *" $absdir "*) ;;
++ *)
++ case "$compile_rpath " in
++ *" $absdir "*) ;;
++ *) compile_rpath="$compile_rpath $absdir"
++ esac
++ ;;
++ esac
++ case " $sys_lib_dlsearch_path " in
++ *" $libdir "*) ;;
++ *)
++ case "$finalize_rpath " in
++ *" $libdir "*) ;;
++ *) finalize_rpath="$finalize_rpath $libdir"
++ esac
++ ;;
++ esac
++ fi # $linkmode,$pass = prog,link...
+
-+# func_version
-+# Echo version message to standard output and exit.
-+func_version ()
-+{
-+ $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
-+ s/^# //
-+ s/^# *$//
-+ s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
-+ p
-+ }' < "$progpath"
-+ exit $?
-+}
++ if test "$alldeplibs" = yes &&
++ { test "$deplibs_check_method" = pass_all ||
++ { test "$build_libtool_libs" = yes &&
++ test -n "$library_names"; }; }; then
++ # We only need to search for static libraries
++ continue
++ fi
++ fi
+
-+# func_usage
-+# Echo short help message to standard output and exit.
-+func_usage ()
-+{
-+ $SED -n '/^# Usage:/,/# -h/ {
-+ s/^# //
-+ s/^# *$//
-+ s/\$progname/'$progname'/
-+ p
-+ }' < "$progpath"
-+ $ECHO
-+ $ECHO "run \`$progname --help | more' for full usage"
-+ exit $?
-+}
++ link_static=no # Whether the deplib will be linked statically
++ use_static_libs=$prefer_static_libs
++ if test "$use_static_libs" = built && test "$installed" = yes; then
++ use_static_libs=no
++ fi
++ if test -n "$library_names" &&
++ { test "$use_static_libs" = no || test -z "$old_library"; }; then
++ case $host in
++ *cygwin* | *mingw* | *cegcc*)
++ # No point in relinking DLLs because paths are not encoded
++ notinst_deplibs="$notinst_deplibs $lib"
++ need_relink=no
++ ;;
++ *)
++ if test "$installed" = no; then
++ notinst_deplibs="$notinst_deplibs $lib"
++ need_relink=yes
++ fi
++ ;;
++ esac
++ # This is a shared library
+
-+# func_help
-+# Echo long help message to standard output and exit.
-+func_help ()
-+{
-+ $SED -n '/^# Usage:/,/# Report bugs to/ {
-+ s/^# //
-+ s/^# *$//
-+ s*\$progname*'$progname'*
-+ s*\$host*'"$host"'*
-+ s*\$SHELL*'"$SHELL"'*
-+ s*\$LTCC*'"$LTCC"'*
-+ s*\$LTCFLAGS*'"$LTCFLAGS"'*
-+ s*\$LD*'"$LD"'*
-+ s/\$with_gnu_ld/'"$with_gnu_ld"'/
-+ s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
-+ s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
-+ p
-+ }' < "$progpath"
-+ exit $?
-+}
++ # Warn about portability, can't link against -module's on some
++ # systems (darwin). Don't bleat about dlopened modules though!
++ dlopenmodule=""
++ for dlpremoduletest in $dlprefiles; do
++ if test "X$dlpremoduletest" = "X$lib"; then
++ dlopenmodule="$dlpremoduletest"
++ break
++ fi
++ done
++ if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
++ $ECHO
++ if test "$linkmode" = prog; then
++ $ECHO "*** Warning: Linking the executable $output against the loadable module"
++ else
++ $ECHO "*** Warning: Linking the shared library $output against the loadable module"
++ fi
++ $ECHO "*** $linklib is not portable!"
++ fi
++ if test "$linkmode" = lib &&
++ test "$hardcode_into_libs" = yes; then
++ # Hardcode the library path.
++ # Skip directories that are in the system default run-time
++ # search path.
++ case " $sys_lib_dlsearch_path " in
++ *" $absdir "*) ;;
++ *)
++ case "$compile_rpath " in
++ *" $absdir "*) ;;
++ *) compile_rpath="$compile_rpath $absdir"
++ esac
++ ;;
++ esac
++ case " $sys_lib_dlsearch_path " in
++ *" $libdir "*) ;;
++ *)
++ case "$finalize_rpath " in
++ *" $libdir "*) ;;
++ *) finalize_rpath="$finalize_rpath $libdir"
++ esac
++ ;;
++ esac
++ fi
+
-+# func_missing_arg argname
-+# Echo program name prefixed message to standard error and set global
-+# exit_cmd.
-+func_missing_arg ()
-+{
-+ func_error "missing argument for $1"
-+ exit_cmd=exit
-+}
++ if test -n "$old_archive_from_expsyms_cmds"; then
++ # figure out the soname
++ set dummy $library_names
++ shift
++ realname="$1"
++ shift
++ libname=`eval "\\$ECHO \"$libname_spec\""`
++ # use dlname if we got it. it's perfectly good, no?
++ if test -n "$dlname"; then
++ soname="$dlname"
++ elif test -n "$soname_spec"; then
++ # bleh windows
++ case $host in
++ *cygwin* | mingw* | *cegcc*)
++ func_arith $current - $age
++ major=$func_arith_result
++ versuffix="-$major"
++ ;;
++ esac
++ eval soname=\"$soname_spec\"
++ else
++ soname="$realname"
++ fi
+
-+exit_cmd=:
++ # Make a new name for the extract_expsyms_cmds to use
++ soroot="$soname"
++ func_basename "$soroot"
++ soname="$func_basename_result"
++ func_stripname 'lib' '.dll' "$soname"
++ newlib=libimp-$func_stripname_result.a
+
++ # If the library has no export list, then create one now
++ if test -f "$output_objdir/$soname-def"; then :
++ else
++ func_verbose "extracting exported symbol list from \`$soname'"
++ func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
++ fi
+
++ # Create $newlib
++ if test -f "$output_objdir/$newlib"; then :; else
++ func_verbose "generating import library for \`$soname'"
++ func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
++ fi
++ # make sure the library variables are pointing to the new library
++ dir=$output_objdir
++ linklib=$newlib
++ fi # test -n "$old_archive_from_expsyms_cmds"
+
++ if test "$linkmode" = prog || test "$mode" != relink; then
++ add_shlibpath=
++ add_dir=
++ add=
++ lib_linked=yes
++ case $hardcode_action in
++ immediate | unsupported)
++ if test "$hardcode_direct" = no; then
++ add="$dir/$linklib"
++ case $host in
++ *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
++ *-*-sysv4*uw2*) add_dir="-L$dir" ;;
++ *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
++ *-*-unixware7*) add_dir="-L$dir" ;;
++ *-*-darwin* )
++ # if the lib is a (non-dlopened) module then we can not
++ # link against it, someone is ignoring the earlier warnings
++ if /usr/bin/file -L $add 2> /dev/null |
++ $GREP ": [^:]* bundle" >/dev/null ; then
++ if test "X$dlopenmodule" != "X$lib"; then
++ $ECHO "*** Warning: lib $linklib is a module, not a shared library"
++ if test -z "$old_library" ; then
++ $ECHO
++ $ECHO "*** And there doesn't seem to be a static archive available"
++ $ECHO "*** The link will probably fail, sorry"
++ else
++ add="$dir/$old_library"
++ fi
++ elif test -n "$old_library"; then
++ add="$dir/$old_library"
++ fi
++ fi
++ esac
++ elif test "$hardcode_minus_L" = no; then
++ case $host in
++ *-*-sunos*) add_shlibpath="$dir" ;;
++ esac
++ add_dir="-L$dir"
++ add="-l$name"
++ elif test "$hardcode_shlibpath_var" = no; then
++ add_shlibpath="$dir"
++ add="-l$name"
++ else
++ lib_linked=no
++ fi
++ ;;
++ relink)
++ if test "$hardcode_direct" = yes &&
++ test "$hardcode_direct_absolute" = no; then
++ add="$dir/$linklib"
++ elif test "$hardcode_minus_L" = yes; then
++ add_dir="-L$dir"
++ # Try looking first in the location we're being installed to.
++ if test -n "$inst_prefix_dir"; then
++ case $libdir in
++ [\\/]*)
++ add_dir="$add_dir -L$inst_prefix_dir$libdir"
++ ;;
++ esac
++ fi
++ add="-l$name"
++ elif test "$hardcode_shlibpath_var" = yes; then
++ add_shlibpath="$dir"
++ add="-l$name"
++ else
++ lib_linked=no
++ fi
++ ;;
++ *) lib_linked=no ;;
++ esac
+
++ if test "$lib_linked" != yes; then
++ func_fatal_configuration "unsupported hardcode properties"
++ fi
+
-+# Check that we have a working $ECHO.
-+if test "X$1" = X--no-reexec; then
-+ # Discard the --no-reexec flag, and continue.
-+ shift
-+elif test "X$1" = X--fallback-echo; then
-+ # Avoid inline document here, it may be left over
-+ :
-+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
-+ # Yippee, $ECHO works!
-+ :
-+else
-+ # Restart under the correct shell, and then maybe $ECHO will work.
-+ exec $SHELL "$progpath" --no-reexec ${1+"$@"}
-+fi
++ if test -n "$add_shlibpath"; then
++ case :$compile_shlibpath: in
++ *":$add_shlibpath:"*) ;;
++ *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
++ esac
++ fi
++ if test "$linkmode" = prog; then
++ test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
++ test -n "$add" && compile_deplibs="$add $compile_deplibs"
++ else
++ test -n "$add_dir" && deplibs="$add_dir $deplibs"
++ test -n "$add" && deplibs="$add $deplibs"
++ if test "$hardcode_direct" != yes &&
++ test "$hardcode_minus_L" != yes &&
++ test "$hardcode_shlibpath_var" = yes; then
++ case :$finalize_shlibpath: in
++ *":$libdir:"*) ;;
++ *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
++ esac
++ fi
++ fi
++ fi
+
-+if test "X$1" = X--fallback-echo; then
-+ # used as fallback echo
-+ shift
-+ cat <<EOF
-+$*
-+EOF
-+ exit $EXIT_SUCCESS
-+fi
++ if test "$linkmode" = prog || test "$mode" = relink; then
++ add_shlibpath=
++ add_dir=
++ add=
++ # Finalize command for both is simple: just hardcode it.
++ if test "$hardcode_direct" = yes &&
++ test "$hardcode_direct_absolute" = no; then
++ add="$libdir/$linklib"
++ elif test "$hardcode_minus_L" = yes; then
++ add_dir="-L$libdir"
++ add="-l$name"
++ elif test "$hardcode_shlibpath_var" = yes; then
++ case :$finalize_shlibpath: in
++ *":$libdir:"*) ;;
++ *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
++ esac
++ add="-l$name"
++ elif test "$hardcode_automatic" = yes; then
++ if test -n "$inst_prefix_dir" &&
++ test -f "$inst_prefix_dir$libdir/$linklib" ; then
++ add="$inst_prefix_dir$libdir/$linklib"
++ else
++ add="$libdir/$linklib"
++ fi
++ else
++ # We cannot seem to hardcode it, guess we'll fake it.
++ add_dir="-L$libdir"
++ # Try looking first in the location we're being installed to.
++ if test -n "$inst_prefix_dir"; then
++ case $libdir in
++ [\\/]*)
++ add_dir="$add_dir -L$inst_prefix_dir$libdir"
++ ;;
++ esac
++ fi
++ add="-l$name"
++ fi
+
-+magic="%%%MAGIC variable%%%"
-+magic_exe="%%%MAGIC EXE variable%%%"
++ if test "$linkmode" = prog; then
++ test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
++ test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
++ else
++ test -n "$add_dir" && deplibs="$add_dir $deplibs"
++ test -n "$add" && deplibs="$add $deplibs"
++ fi
++ fi
++ elif test "$linkmode" = prog; then
++ # Here we assume that one of hardcode_direct or hardcode_minus_L
++ # is not unsupported. This is valid on all known static and
++ # shared platforms.
++ if test "$hardcode_direct" != unsupported; then
++ test -n "$old_library" && linklib="$old_library"
++ compile_deplibs="$dir/$linklib $compile_deplibs"
++ finalize_deplibs="$dir/$linklib $finalize_deplibs"
++ else
++ compile_deplibs="-l$name -L$dir $compile_deplibs"
++ finalize_deplibs="-l$name -L$dir $finalize_deplibs"
++ fi
++ elif test "$build_libtool_libs" = yes; then
++ # Not a shared library
++ if test "$deplibs_check_method" != pass_all; then
++ # We're trying link a shared library against a static one
++ # but the system doesn't support it.
+
-+# Global variables.
-+# $mode is unset
-+nonopt=
-+execute_dlfiles=
-+preserve_args=
-+lo2o="s/\\.lo\$/.${objext}/"
-+o2lo="s/\\.${objext}\$/.lo/"
-+extracted_archives=
-+extracted_serial=0
++ # Just print a warning and add the library to dependency_libs so
++ # that the program can be linked against the static library.
++ $ECHO
++ $ECHO "*** Warning: This system can not link to static lib archive $lib."
++ $ECHO "*** I have the capability to make that library automatically link in when"
++ $ECHO "*** you link to this library. But I can only do this if you have a"
++ $ECHO "*** shared version of the library, which you do not appear to have."
++ if test "$module" = yes; then
++ $ECHO "*** But as you try to build a module library, libtool will still create "
++ $ECHO "*** a static module, that should work as long as the dlopening application"
++ $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
++ if test -z "$global_symbol_pipe"; then
++ $ECHO
++ $ECHO "*** However, this would only work if libtool was able to extract symbol"
++ $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
++ $ECHO "*** not find such a program. So, this module is probably useless."
++ $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
++ fi
++ if test "$build_old_libs" = no; then
++ build_libtool_libs=module
++ build_old_libs=yes
++ else
++ build_libtool_libs=no
++ fi
++ fi
++ else
++ deplibs="$dir/$old_library $deplibs"
++ link_static=yes
++ fi
++ fi # link shared/static library?
+
-+opt_dry_run=false
-+opt_duplicate_deps=false
-+opt_silent=false
-+opt_debug=:
++ if test "$linkmode" = lib; then
++ if test -n "$dependency_libs" &&
++ { test "$hardcode_into_libs" != yes ||
++ test "$build_old_libs" = yes ||
++ test "$link_static" = yes; }; then
++ # Extract -R from dependency_libs
++ temp_deplibs=
++ for libdir in $dependency_libs; do
++ case $libdir in
++ -R*) func_stripname '-R' '' "$libdir"
++ temp_xrpath=$func_stripname_result
++ case " $xrpath " in
++ *" $temp_xrpath "*) ;;
++ *) xrpath="$xrpath $temp_xrpath";;
++ esac;;
++ *) temp_deplibs="$temp_deplibs $libdir";;
++ esac
++ done
++ dependency_libs="$temp_deplibs"
++ fi
+
-+# If this variable is set in any of the actions, the command in it
-+# will be execed at the end. This prevents here-documents from being
-+# left over by shells.
-+exec_cmd=
++ newlib_search_path="$newlib_search_path $absdir"
++ # Link against this library
++ test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
++ # ... and its dependency_libs
++ tmp_libs=
++ for deplib in $dependency_libs; do
++ newdependency_libs="$deplib $newdependency_libs"
++ if $opt_duplicate_deps ; then
++ case "$tmp_libs " in
++ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
++ esac
++ fi
++ tmp_libs="$tmp_libs $deplib"
++ done
+
-+# func_fatal_configuration arg...
-+# Echo program name prefixed message to standard error, followed by
-+# a configuration failure hint, and exit.
-+func_fatal_configuration ()
-+{
-+ func_error ${1+"$@"}
-+ func_error "See the $PACKAGE documentation for more information."
-+ func_fatal_error "Fatal configuration error."
-+}
++ if test "$link_all_deplibs" != no; then
++ # Add the search paths of all dependency libraries
++ for deplib in $dependency_libs; do
++ path=
++ case $deplib in
++ -L*) path="$deplib" ;;
++ *.la)
++ func_dirname "$deplib" "" "."
++ dir="$func_dirname_result"
++ # We need an absolute path.
++ case $dir in
++ [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
++ *)
++ absdir=`cd "$dir" && pwd`
++ if test -z "$absdir"; then
++ func_warning "cannot determine absolute directory name of \`$dir'"
++ absdir="$dir"
++ fi
++ ;;
++ esac
++ if $GREP "^installed=no" $deplib > /dev/null; then
++ case $host in
++ *-*-darwin*)
++ depdepl=
++ eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
++ if test -n "$deplibrary_names" ; then
++ for tmp in $deplibrary_names ; do
++ depdepl=$tmp
++ done
++ if test -f "$absdir/$objdir/$depdepl" ; then
++ depdepl="$absdir/$objdir/$depdepl"
++ darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
++ if test -z "$darwin_install_name"; then
++ darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
++ fi
++ compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
++ linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
++ path=
++ fi
++ fi
++ ;;
++ *)
++ path="-L$absdir/$objdir"
++ ;;
++ esac
++ else
++ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
++ test -z "$libdir" && \
++ func_fatal_error "\`$deplib' is not a valid libtool archive"
++ test "$absdir" != "$libdir" && \
++ func_warning "\`$deplib' seems to be moved"
+
++ path="-L$absdir"
++ fi
++ ;;
++ esac
++ case " $deplibs " in
++ *" $path "*) ;;
++ *) deplibs="$path $deplibs" ;;
++ esac
++ done
++ fi # link_all_deplibs != no
++ fi # linkmode = lib
++ done # for deplib in $libs
++ if test "$pass" = link; then
++ if test "$linkmode" = "prog"; then
++ compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
++ finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
++ else
++ compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
++ fi
++ fi
++ dependency_libs="$newdependency_libs"
++ if test "$pass" = dlpreopen; then
++ # Link the dlpreopened libraries before other libraries
++ for deplib in $save_deplibs; do
++ deplibs="$deplib $deplibs"
++ done
++ fi
++ if test "$pass" != dlopen; then
++ if test "$pass" != conv; then
++ # Make sure lib_search_path contains only unique directories.
++ lib_search_path=
++ for dir in $newlib_search_path; do
++ case "$lib_search_path " in
++ *" $dir "*) ;;
++ *) lib_search_path="$lib_search_path $dir" ;;
++ esac
++ done
++ newlib_search_path=
++ fi
+
-+# func_config
-+# Display the configuration for all the tags in this script.
-+func_config ()
-+{
-+ re_begincf='^# ### BEGIN LIBTOOL'
-+ re_endcf='^# ### END LIBTOOL'
++ if test "$linkmode,$pass" != "prog,link"; then
++ vars="deplibs"
++ else
++ vars="compile_deplibs finalize_deplibs"
++ fi
++ for var in $vars dependency_libs; do
++ # Add libraries to $var in reverse order
++ eval tmp_libs=\"\$$var\"
++ new_libs=
++ for deplib in $tmp_libs; do
++ # FIXME: Pedantically, this is the right thing to do, so
++ # that some nasty dependency loop isn't accidentally
++ # broken:
++ #new_libs="$deplib $new_libs"
++ # Pragmatically, this seems to cause very few problems in
++ # practice:
++ case $deplib in
++ -L*) new_libs="$deplib $new_libs" ;;
++ -R*) ;;
++ *)
++ # And here is the reason: when a library appears more
++ # than once as an explicit dependence of a library, or
++ # is implicitly linked in more than once by the
++ # compiler, it is considered special, and multiple
++ # occurrences thereof are not removed. Compare this
++ # with having the same library being listed as a
++ # dependency of multiple other libraries: in this case,
++ # we know (pedantically, we assume) the library does not
++ # need to be listed more than once, so we keep only the
++ # last copy. This is not always right, but it is rare
++ # enough that we require users that really mean to play
++ # such unportable linking tricks to link the library
++ # using -Wl,-lname, so that libtool does not consider it
++ # for duplicate removal.
++ case " $specialdeplibs " in
++ *" $deplib "*) new_libs="$deplib $new_libs" ;;
++ *)
++ case " $new_libs " in
++ *" $deplib "*) ;;
++ *) new_libs="$deplib $new_libs" ;;
++ esac
++ ;;
++ esac
++ ;;
++ esac
++ done
++ tmp_libs=
++ for deplib in $new_libs; do
++ case $deplib in
++ -L*)
++ case " $tmp_libs " in
++ *" $deplib "*) ;;
++ *) tmp_libs="$tmp_libs $deplib" ;;
++ esac
++ ;;
++ *) tmp_libs="$tmp_libs $deplib" ;;
++ esac
++ done
++ eval $var=\"$tmp_libs\"
++ done # for var
++ fi
++ # Last step: remove runtime libs from dependency_libs
++ # (they stay in deplibs)
++ tmp_libs=
++ for i in $dependency_libs ; do
++ case " $predeps $postdeps $compiler_lib_search_path " in
++ *" $i "*)
++ i=""
++ ;;
++ esac
++ if test -n "$i" ; then
++ tmp_libs="$tmp_libs $i"
++ fi
++ done
++ dependency_libs=$tmp_libs
++ done # for pass
++ if test "$linkmode" = prog; then
++ dlfiles="$newdlfiles"
++ fi
++ if test "$linkmode" = prog || test "$linkmode" = lib; then
++ dlprefiles="$newdlprefiles"
++ fi
+
-+ # Default configuration.
-+ $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
++ case $linkmode in
++ oldlib)
++ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
++ func_warning "\`-dlopen' is ignored for archives"
++ fi
+
-+ # Now print the configurations for the tags.
-+ for tagname in $taglist; do
-+ $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
-+ done
++ case " $deplibs" in
++ *\ -l* | *\ -L*)
++ func_warning "\`-l' and \`-L' are ignored for archives" ;;
++ esac
+
-+ exit $?
-+}
++ test -n "$rpath" && \
++ func_warning "\`-rpath' is ignored for archives"
+
-+# func_features
-+# Display the features supported by this script.
-+func_features ()
-+{
-+ $ECHO "host: $host"
-+ if test "$build_libtool_libs" = yes; then
-+ $ECHO "enable shared libraries"
-+ else
-+ $ECHO "disable shared libraries"
-+ fi
-+ if test "$build_old_libs" = yes; then
-+ $ECHO "enable static libraries"
-+ else
-+ $ECHO "disable static libraries"
-+ fi
++ test -n "$xrpath" && \
++ func_warning "\`-R' is ignored for archives"
+
-+ exit $?
-+}
++ test -n "$vinfo" && \
++ func_warning "\`-version-info/-version-number' is ignored for archives"
+
-+# func_enable_tag tagname
-+# Verify that TAGNAME is valid, and either flag an error and exit, or
-+# enable the TAGNAME tag. We also add TAGNAME to the global $taglist
-+# variable here.
-+func_enable_tag ()
-+{
-+ # Global variable:
-+ tagname="$1"
++ test -n "$release" && \
++ func_warning "\`-release' is ignored for archives"
+
-+ re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
-+ re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
-+ sed_extractcf="/$re_begincf/,/$re_endcf/p"
++ test -n "$export_symbols$export_symbols_regex" && \
++ func_warning "\`-export-symbols' is ignored for archives"
+
-+ # Validate tagname.
-+ case $tagname in
-+ *[!-_A-Za-z0-9,/]*)
-+ func_fatal_error "invalid tag name: $tagname"
++ # Now set the variables for building old libraries.
++ build_libtool_libs=no
++ oldlibs="$output"
++ objs="$objs$old_deplibs"
+ ;;
-+ esac
+
-+ # Don't test for the "default" C tag, as we know it's
-+ # there but not specially marked.
-+ case $tagname in
-+ CC) ;;
-+ *)
-+ if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
-+ taglist="$taglist $tagname"
++ lib)
++ # Make sure we only generate libraries of the form `libNAME.la'.
++ case $outputname in
++ lib*)
++ func_stripname 'lib' '.la' "$outputname"
++ name=$func_stripname_result
++ eval shared_ext=\"$shrext_cmds\"
++ eval libname=\"$libname_spec\"
++ ;;
++ *)
++ test "$module" = no && \
++ func_fatal_help "libtool library \`$output' must begin with \`lib'"
+
-+ # Evaluate the configuration. Be careful to quote the path
-+ # and the sed script, to avoid splitting on whitespace, but
-+ # also don't use non-portable quotes within backquotes within
-+ # quotes we have to do it in 2 steps:
-+ extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
-+ eval "$extractedcf"
-+ else
-+ func_error "ignoring unknown tag $tagname"
++ if test "$need_lib_prefix" != no; then
++ # Add the "lib" prefix for modules if required
++ func_stripname '' '.la' "$outputname"
++ name=$func_stripname_result
++ eval shared_ext=\"$shrext_cmds\"
++ eval libname=\"$libname_spec\"
++ else
++ func_stripname '' '.la' "$outputname"
++ libname=$func_stripname_result
++ fi
++ ;;
++ esac
++
++ if test -n "$objs"; then
++ if test "$deplibs_check_method" != pass_all; then
++ func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
++ else
++ $ECHO
++ $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
++ $ECHO "*** objects $objs is not portable!"
++ libobjs="$libobjs $objs"
++ fi
+ fi
-+ ;;
-+ esac
-+}
+
-+# Parse options once, thoroughly. This comes as soon as possible in
-+# the script to make things like `libtool --version' happen quickly.
-+{
++ test "$dlself" != no && \
++ func_warning "\`-dlopen self' is ignored for libtool libraries"
+
-+ # Shorthand for --mode=foo, only valid as the first argument
-+ case $1 in
-+ clean|clea|cle|cl)
-+ shift; set dummy --mode clean ${1+"$@"}; shift
-+ ;;
-+ compile|compil|compi|comp|com|co|c)
-+ shift; set dummy --mode compile ${1+"$@"}; shift
-+ ;;
-+ execute|execut|execu|exec|exe|ex|e)
-+ shift; set dummy --mode execute ${1+"$@"}; shift
-+ ;;
-+ finish|finis|fini|fin|fi|f)
-+ shift; set dummy --mode finish ${1+"$@"}; shift
-+ ;;
-+ install|instal|insta|inst|ins|in|i)
-+ shift; set dummy --mode install ${1+"$@"}; shift
-+ ;;
-+ link|lin|li|l)
-+ shift; set dummy --mode link ${1+"$@"}; shift
-+ ;;
-+ uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
-+ shift; set dummy --mode uninstall ${1+"$@"}; shift
-+ ;;
-+ esac
++ set dummy $rpath
++ shift
++ test "$#" -gt 1 && \
++ func_warning "ignoring multiple \`-rpath's for a libtool library"
+
-+ # Parse non-mode specific arguments:
-+ while test "$#" -gt 0; do
-+ opt="$1"
-+ shift
++ install_libdir="$1"
+
-+ case $opt in
-+ --config) func_config ;;
++ oldlibs=
++ if test -z "$rpath"; then
++ if test "$build_libtool_libs" = yes; then
++ # Building a libtool convenience library.
++ # Some compilers have problems with a `.al' extension so
++ # convenience libraries should have the same extension an
++ # archive normally would.
++ oldlibs="$output_objdir/$libname.$libext $oldlibs"
++ build_libtool_libs=convenience
++ build_old_libs=yes
++ fi
+
-+ --debug) preserve_args="$preserve_args $opt"
-+ func_echo "enabling shell trace mode"
-+ opt_debug='set -x'
-+ $opt_debug
-+ ;;
++ test -n "$vinfo" && \
++ func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
+
-+ -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break
-+ execute_dlfiles="$execute_dlfiles $1"
-+ shift
-+ ;;
++ test -n "$release" && \
++ func_warning "\`-release' is ignored for convenience libraries"
++ else
+
-+ --dry-run | -n) opt_dry_run=: ;;
-+ --features) func_features ;;
-+ --finish) mode="finish" ;;
++ # Parse the version information argument.
++ save_ifs="$IFS"; IFS=':'
++ set dummy $vinfo 0 0 0
++ shift
++ IFS="$save_ifs"
+
-+ --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break
-+ case $1 in
-+ # Valid mode arguments:
-+ clean) ;;
-+ compile) ;;
-+ execute) ;;
-+ finish) ;;
-+ install) ;;
-+ link) ;;
-+ relink) ;;
-+ uninstall) ;;
++ test -n "$7" && \
++ func_fatal_help "too many parameters to \`-version-info'"
+
-+ # Catch anything else as an error
-+ *) func_error "invalid argument for $opt"
-+ exit_cmd=exit
-+ break
-+ ;;
-+ esac
++ # convert absolute version numbers to libtool ages
++ # this retains compatibility with .la files and attempts
++ # to make the code below a bit more comprehensible
+
-+ mode="$1"
-+ shift
-+ ;;
++ case $vinfo_number in
++ yes)
++ number_major="$1"
++ number_minor="$2"
++ number_revision="$3"
++ #
++ # There are really only two kinds -- those that
++ # use the current revision as the major version
++ # and those that subtract age and use age as
++ # a minor version. But, then there is irix
++ # which has an extra 1 added just for fun
++ #
++ case $version_type in
++ darwin|linux|osf|windows|none)
++ func_arith $number_major + $number_minor
++ current=$func_arith_result
++ age="$number_minor"
++ revision="$number_revision"
++ ;;
++ freebsd-aout|freebsd-elf|sunos)
++ current="$number_major"
++ revision="$number_minor"
++ age="0"
++ ;;
++ irix|nonstopux)
++ func_arith $number_major + $number_minor
++ current=$func_arith_result
++ age="$number_minor"
++ revision="$number_minor"
++ lt_irix_increment=no
++ ;;
++ *)
++ func_fatal_configuration "$modename: unknown library version type \`$version_type'"
++ ;;
++ esac
++ ;;
++ no)
++ current="$1"
++ revision="$2"
++ age="$3"
++ ;;
++ esac
+
-+ --preserve-dup-deps)
-+ opt_duplicate_deps=: ;;
++ # Check that each of the things are valid numbers.
++ case $current in
++ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
++ *)
++ func_error "CURRENT \`$current' must be a nonnegative integer"
++ func_fatal_error "\`$vinfo' is not valid version information"
++ ;;
++ esac
+
-+ --quiet|--silent) preserve_args="$preserve_args $opt"
-+ opt_silent=:
-+ ;;
++ case $revision in
++ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
++ *)
++ func_error "REVISION \`$revision' must be a nonnegative integer"
++ func_fatal_error "\`$vinfo' is not valid version information"
++ ;;
++ esac
+
-+ --verbose| -v) preserve_args="$preserve_args $opt"
-+ opt_silent=false
-+ ;;
++ case $age in
++ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
++ *)
++ func_error "AGE \`$age' must be a nonnegative integer"
++ func_fatal_error "\`$vinfo' is not valid version information"
++ ;;
++ esac
+
-+ --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break
-+ preserve_args="$preserve_args $opt $1"
-+ func_enable_tag "$1" # tagname is set here
-+ shift
-+ ;;
++ if test "$age" -gt "$current"; then
++ func_error "AGE \`$age' is greater than the current interface number \`$current'"
++ func_fatal_error "\`$vinfo' is not valid version information"
++ fi
+
-+ # Separate optargs to long options:
-+ -dlopen=*|--mode=*|--tag=*)
-+ func_opt_split "$opt"
-+ set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
-+ shift
-+ ;;
++ # Calculate the version variables.
++ major=
++ versuffix=
++ verstring=
++ case $version_type in
++ none) ;;
+
-+ -\?|-h) func_usage ;;
-+ --help) opt_help=: ;;
-+ --version) func_version ;;
++ darwin)
++ # Like Linux, but with the current version available in
++ # verstring for coding it into the library header
++ func_arith $current - $age
++ major=.$func_arith_result
++ versuffix="$major.$age.$revision"
++ # Darwin ld doesn't like 0 for these options...
++ func_arith $current + 1
++ minor_current=$func_arith_result
++ xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
++ verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
++ ;;
+
-+ -*) func_fatal_help "unrecognized option \`$opt'" ;;
++ freebsd-aout)
++ major=".$current"
++ versuffix=".$current.$revision";
++ ;;
+
-+ *) nonopt="$opt"
-+ break
-+ ;;
-+ esac
-+ done
++ freebsd-elf)
++ major=".$current"
++ versuffix=".$current"
++ ;;
+
++ irix | nonstopux)
++ if test "X$lt_irix_increment" = "Xno"; then
++ func_arith $current - $age
++ else
++ func_arith $current - $age + 1
++ fi
++ major=$func_arith_result
+
-+ case $host in
-+ *cygwin* | *mingw* | *pw32* | *cegcc*)
-+ # don't eliminate duplications in $postdeps and $predeps
-+ opt_duplicate_compiler_generated_deps=:
-+ ;;
-+ *)
-+ opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
-+ ;;
-+ esac
++ case $version_type in
++ nonstopux) verstring_prefix=nonstopux ;;
++ *) verstring_prefix=sgi ;;
++ esac
++ verstring="$verstring_prefix$major.$revision"
+
-+ # Having warned about all mis-specified options, bail out if
-+ # anything was wrong.
-+ $exit_cmd $EXIT_FAILURE
-+}
++ # Add in all the interfaces that we are compatible with.
++ loop=$revision
++ while test "$loop" -ne 0; do
++ func_arith $revision - $loop
++ iface=$func_arith_result
++ func_arith $loop - 1
++ loop=$func_arith_result
++ verstring="$verstring_prefix$major.$iface:$verstring"
++ done
+
-+# func_check_version_match
-+# Ensure that we are using m4 macros, and libtool script from the same
-+# release of libtool.
-+func_check_version_match ()
-+{
-+ if test "$package_revision" != "$macro_revision"; then
-+ if test "$VERSION" != "$macro_version"; then
-+ if test -z "$macro_version"; then
-+ cat >&2 <<_LT_EOF
-+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
-+$progname: definition of this LT_INIT comes from an older release.
-+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-+$progname: and run autoconf again.
-+_LT_EOF
-+ else
-+ cat >&2 <<_LT_EOF
-+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
-+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
-+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-+$progname: and run autoconf again.
-+_LT_EOF
-+ fi
-+ else
-+ cat >&2 <<_LT_EOF
-+$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
-+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
-+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
-+$progname: of $PACKAGE $VERSION and run autoconf again.
-+_LT_EOF
-+ fi
++ # Before this point, $major must not contain `.'.
++ major=.$major
++ versuffix="$major.$revision"
++ ;;
+
-+ exit $EXIT_MISMATCH
-+ fi
-+}
++ linux)
++ func_arith $current - $age
++ major=.$func_arith_result
++ versuffix="$major.$age.$revision"
++ ;;
+
++ osf)
++ func_arith $current - $age
++ major=.$func_arith_result
++ versuffix=".$current.$age.$revision"
++ verstring="$current.$age.$revision"
+
-+## ----------- ##
-+## Main. ##
-+## ----------- ##
++ # Add in all the interfaces that we are compatible with.
++ loop=$age
++ while test "$loop" -ne 0; do
++ func_arith $current - $loop
++ iface=$func_arith_result
++ func_arith $loop - 1
++ loop=$func_arith_result
++ verstring="$verstring:${iface}.0"
++ done
+
-+$opt_help || {
-+ # Sanity checks first:
-+ func_check_version_match
++ # Make executables depend on our current version.
++ verstring="$verstring:${current}.0"
++ ;;
+
-+ if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
-+ func_fatal_configuration "not configured to build any kind of library"
-+ fi
++ qnx)
++ major=".$current"
++ versuffix=".$current"
++ ;;
+
-+ test -z "$mode" && func_fatal_error "error: you must specify a MODE."
++ sunos)
++ major=".$current"
++ versuffix=".$current.$revision"
++ ;;
+
++ windows)
++ # Use '-' rather than '.', since we only want one
++ # extension on DOS 8.3 filesystems.
++ func_arith $current - $age
++ major=$func_arith_result
++ versuffix="-$major"
++ ;;
+
-+ # Darwin sucks
-+ eval std_shrext=\"$shrext_cmds\"
++ *)
++ func_fatal_configuration "unknown library version type \`$version_type'"
++ ;;
++ esac
+
++ # Clear the version info if we defaulted, and they specified a release.
++ if test -z "$vinfo" && test -n "$release"; then
++ major=
++ case $version_type in
++ darwin)
++ # we can't check for "0.0" in archive_cmds due to quoting
++ # problems, so we reset it completely
++ verstring=
++ ;;
++ *)
++ verstring="0.0"
++ ;;
++ esac
++ if test "$need_version" = no; then
++ versuffix=
++ else
++ versuffix=".0.0"
++ fi
++ fi
+
-+ # Only execute mode is allowed to have -dlopen flags.
-+ if test -n "$execute_dlfiles" && test "$mode" != execute; then
-+ func_error "unrecognized option \`-dlopen'"
-+ $ECHO "$help" 1>&2
-+ exit $EXIT_FAILURE
-+ fi
++ # Remove version info from name if versioning should be avoided
++ if test "$avoid_version" = yes && test "$need_version" = no; then
++ major=
++ versuffix=
++ verstring=""
++ fi
+
-+ # Change the help message to a mode-specific one.
-+ generic_help="$help"
-+ help="Try \`$progname --help --mode=$mode' for more information."
-+}
++ # Check to see if the archive will have undefined symbols.
++ if test "$allow_undefined" = yes; then
++ if test "$allow_undefined_flag" = unsupported; then
++ func_warning "undefined symbols not allowed in $host shared libraries"
++ build_libtool_libs=no
++ build_old_libs=yes
++ fi
++ else
++ # Don't allow undefined symbols.
++ allow_undefined_flag="$no_undefined_flag"
++ fi
+
++ fi
+
-+# func_lalib_p file
-+# True iff FILE is a libtool `.la' library or `.lo' object file.
-+# This function is only a basic sanity check; it will hardly flush out
-+# determined imposters.
-+func_lalib_p ()
-+{
-+ test -f "$1" &&
-+ $SED -e 4q "$1" 2>/dev/null \
-+ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
-+}
++ func_generate_dlsyms "$libname" "$libname" "yes"
++ libobjs="$libobjs $symfileobj"
++ test "X$libobjs" = "X " && libobjs=
+
-+# func_lalib_unsafe_p file
-+# True iff FILE is a libtool `.la' library or `.lo' object file.
-+# This function implements the same check as func_lalib_p without
-+# resorting to external programs. To this end, it redirects stdin and
-+# closes it afterwards, without saving the original file descriptor.
-+# As a safety measure, use it only where a negative result would be
-+# fatal anyway. Works if `file' does not exist.
-+func_lalib_unsafe_p ()
-+{
-+ lalib_p=no
-+ if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
-+ for lalib_p_l in 1 2 3 4
-+ do
-+ read lalib_p_line
-+ case "$lalib_p_line" in
-+ \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
-+ esac
++ if test "$mode" != relink; then
++ # Remove our outputs, but don't remove object files since they
++ # may have been created when compiling PIC objects.
++ removelist=
++ tempremovelist=`$ECHO "$output_objdir/*"`
++ for p in $tempremovelist; do
++ case $p in
++ *.$objext | *.gcno)
++ ;;
++ $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
++ if test "X$precious_files_regex" != "X"; then
++ if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
++ then
++ continue
++ fi
++ fi
++ removelist="$removelist $p"
++ ;;
++ *) ;;
++ esac
+ done
-+ exec 0<&5 5<&-
-+ fi
-+ test "$lalib_p" = yes
-+}
++ test -n "$removelist" && \
++ func_show_eval "${RM}r \$removelist"
++ fi
+
-+# func_ltwrapper_script_p file
-+# True iff FILE is a libtool wrapper script
-+# This function is only a basic sanity check; it will hardly flush out
-+# determined imposters.
-+func_ltwrapper_script_p ()
-+{
-+ func_lalib_p "$1"
-+}
++ # Now set the variables for building old libraries.
++ if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
++ oldlibs="$oldlibs $output_objdir/$libname.$libext"
+
-+# func_ltwrapper_executable_p file
-+# True iff FILE is a libtool wrapper executable
-+# This function is only a basic sanity check; it will hardly flush out
-+# determined imposters.
-+func_ltwrapper_executable_p ()
-+{
-+ func_ltwrapper_exec_suffix=
-+ case $1 in
-+ *.exe) ;;
-+ *) func_ltwrapper_exec_suffix=.exe ;;
-+ esac
-+ $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
-+}
++ # Transform .lo files to .o files.
++ oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
++ fi
+
-+# func_ltwrapper_scriptname file
-+# Assumes file is an ltwrapper_executable
-+# uses $file to determine the appropriate filename for a
-+# temporary ltwrapper_script.
-+func_ltwrapper_scriptname ()
-+{
-+ func_ltwrapper_scriptname_result=""
-+ if func_ltwrapper_executable_p "$1"; then
-+ func_dirname_and_basename "$1" "" "."
-+ func_stripname '' '.exe' "$func_basename_result"
-+ func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
-+ fi
-+}
++ # Eliminate all temporary directories.
++ #for path in $notinst_path; do
++ # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
++ # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
++ # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
++ #done
+
-+# func_ltwrapper_p file
-+# True iff FILE is a libtool wrapper script or wrapper executable
-+# This function is only a basic sanity check; it will hardly flush out
-+# determined imposters.
-+func_ltwrapper_p ()
-+{
-+ func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
-+}
++ if test -n "$xrpath"; then
++ # If the user specified any rpath flags, then add them.
++ temp_xrpath=
++ for libdir in $xrpath; do
++ temp_xrpath="$temp_xrpath -R$libdir"
++ case "$finalize_rpath " in
++ *" $libdir "*) ;;
++ *) finalize_rpath="$finalize_rpath $libdir" ;;
++ esac
++ done
++ if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
++ dependency_libs="$temp_xrpath $dependency_libs"
++ fi
++ fi
+
++ # Make sure dlfiles contains only unique files that won't be dlpreopened
++ old_dlfiles="$dlfiles"
++ dlfiles=
++ for lib in $old_dlfiles; do
++ case " $dlprefiles $dlfiles " in
++ *" $lib "*) ;;
++ *) dlfiles="$dlfiles $lib" ;;
++ esac
++ done
+
-+# func_execute_cmds commands fail_cmd
-+# Execute tilde-delimited COMMANDS.
-+# If FAIL_CMD is given, eval that upon failure.
-+# FAIL_CMD may read-access the current command in variable CMD!
-+func_execute_cmds ()
-+{
-+ $opt_debug
-+ save_ifs=$IFS; IFS='~'
-+ for cmd in $1; do
-+ IFS=$save_ifs
-+ eval cmd=\"$cmd\"
-+ func_show_eval "$cmd" "${2-:}"
-+ done
-+ IFS=$save_ifs
-+}
++ # Make sure dlprefiles contains only unique files
++ old_dlprefiles="$dlprefiles"
++ dlprefiles=
++ for lib in $old_dlprefiles; do
++ case "$dlprefiles " in
++ *" $lib "*) ;;
++ *) dlprefiles="$dlprefiles $lib" ;;
++ esac
++ done
++
++ if test "$build_libtool_libs" = yes; then
++ if test -n "$rpath"; then
++ case $host in
++ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
++ # these systems don't actually have a c library (as such)!
++ ;;
++ *-*-rhapsody* | *-*-darwin1.[012])
++ # Rhapsody C library is in the System framework
++ deplibs="$deplibs System.ltframework"
++ ;;
++ *-*-netbsd*)
++ # Don't link with libc until the a.out ld.so is fixed.
++ ;;
++ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
++ # Do not include libc due to us having libc/libc_r.
++ ;;
++ *-*-sco3.2v5* | *-*-sco5v6*)
++ # Causes problems with __ctype
++ ;;
++ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
++ # Compiler inserts libc in the correct place for threads to work
++ ;;
++ *)
++ # Add libc to deplibs on all other systems if necessary.
++ if test "$build_libtool_need_lc" = "yes"; then
++ deplibs="$deplibs -lc"
++ fi
++ ;;
++ esac
++ fi
+
++ # Transform deplibs into only deplibs that can be linked in shared.
++ name_save=$name
++ libname_save=$libname
++ release_save=$release
++ versuffix_save=$versuffix
++ major_save=$major
++ # I'm not sure if I'm treating the release correctly. I think
++ # release should show up in the -l (ie -lgmp5) so we don't want to
++ # add it in twice. Is that correct?
++ release=""
++ versuffix=""
++ major=""
++ newdeplibs=
++ droppeddeps=no
++ case $deplibs_check_method in
++ pass_all)
++ # Don't check for shared/static. Everything works.
++ # This might be a little naive. We might want to check
++ # whether the library exists or not. But this is on
++ # osf3 & osf4 and I'm not really sure... Just
++ # implementing what was already the behavior.
++ newdeplibs=$deplibs
++ ;;
++ test_compile)
++ # This code stresses the "libraries are programs" paradigm to its
++ # limits. Maybe even breaks it. We compile a program, linking it
++ # against the deplibs as a proxy for the library. Then we can check
++ # whether they linked in statically or dynamically with ldd.
++ $opt_dry_run || $RM conftest.c
++ cat > conftest.c <<EOF
++ int main() { return 0; }
++EOF
++ $opt_dry_run || $RM conftest
++ if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
++ ldd_output=`ldd conftest`
++ for i in $deplibs; do
++ case $i in
++ -l*)
++ func_stripname -l '' "$i"
++ name=$func_stripname_result
++ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
++ case " $predeps $postdeps " in
++ *" $i "*)
++ newdeplibs="$newdeplibs $i"
++ i=""
++ ;;
++ esac
++ fi
++ if test -n "$i" ; then
++ libname=`eval "\\$ECHO \"$libname_spec\""`
++ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
++ set dummy $deplib_matches; shift
++ deplib_match=$1
++ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
++ newdeplibs="$newdeplibs $i"
++ else
++ droppeddeps=yes
++ $ECHO
++ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
++ $ECHO "*** I have the capability to make that library automatically link in when"
++ $ECHO "*** you link to this library. But I can only do this if you have a"
++ $ECHO "*** shared version of the library, which I believe you do not have"
++ $ECHO "*** because a test_compile did reveal that the linker did not use it for"
++ $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
++ fi
++ fi
++ ;;
++ *)
++ newdeplibs="$newdeplibs $i"
++ ;;
++ esac
++ done
++ else
++ # Error occurred in the first compile. Let's try to salvage
++ # the situation: Compile a separate program for each library.
++ for i in $deplibs; do
++ case $i in
++ -l*)
++ func_stripname -l '' "$i"
++ name=$func_stripname_result
++ $opt_dry_run || $RM conftest
++ if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
++ ldd_output=`ldd conftest`
++ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
++ case " $predeps $postdeps " in
++ *" $i "*)
++ newdeplibs="$newdeplibs $i"
++ i=""
++ ;;
++ esac
++ fi
++ if test -n "$i" ; then
++ libname=`eval "\\$ECHO \"$libname_spec\""`
++ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
++ set dummy $deplib_matches; shift
++ deplib_match=$1
++ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
++ newdeplibs="$newdeplibs $i"
++ else
++ droppeddeps=yes
++ $ECHO
++ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
++ $ECHO "*** I have the capability to make that library automatically link in when"
++ $ECHO "*** you link to this library. But I can only do this if you have a"
++ $ECHO "*** shared version of the library, which you do not appear to have"
++ $ECHO "*** because a test_compile did reveal that the linker did not use this one"
++ $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
++ fi
++ fi
++ else
++ droppeddeps=yes
++ $ECHO
++ $ECHO "*** Warning! Library $i is needed by this library but I was not able to"
++ $ECHO "*** make it link in! You will probably need to install it or some"
++ $ECHO "*** library that it depends on before this library will be fully"
++ $ECHO "*** functional. Installing it before continuing would be even better."
++ fi
++ ;;
++ *)
++ newdeplibs="$newdeplibs $i"
++ ;;
++ esac
++ done
++ fi
++ ;;
++ file_magic*)
++ set dummy $deplibs_check_method; shift
++ file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
++ for a_deplib in $deplibs; do
++ case $a_deplib in
++ -l*)
++ func_stripname -l '' "$a_deplib"
++ name=$func_stripname_result
++ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
++ case " $predeps $postdeps " in
++ *" $a_deplib "*)
++ newdeplibs="$newdeplibs $a_deplib"
++ a_deplib=""
++ ;;
++ esac
++ fi
++ if test -n "$a_deplib" ; then
++ libname=`eval "\\$ECHO \"$libname_spec\""`
++ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
++ potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
++ for potent_lib in $potential_libs; do
++ # Follow soft links.
++ if ls -lLd "$potent_lib" 2>/dev/null |
++ $GREP " -> " >/dev/null; then
++ continue
++ fi
++ # The statement above tries to avoid entering an
++ # endless loop below, in case of cyclic links.
++ # We might still enter an endless loop, since a link
++ # loop can be closed while we follow links,
++ # but so what?
++ potlib="$potent_lib"
++ while test -h "$potlib" 2>/dev/null; do
++ potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
++ case $potliblink in
++ [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
++ *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
++ esac
++ done
++ if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
++ $SED -e 10q |
++ $EGREP "$file_magic_regex" > /dev/null; then
++ newdeplibs="$newdeplibs $a_deplib"
++ a_deplib=""
++ break 2
++ fi
++ done
++ done
++ fi
++ if test -n "$a_deplib" ; then
++ droppeddeps=yes
++ $ECHO
++ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
++ $ECHO "*** I have the capability to make that library automatically link in when"
++ $ECHO "*** you link to this library. But I can only do this if you have a"
++ $ECHO "*** shared version of the library, which you do not appear to have"
++ $ECHO "*** because I did check the linker path looking for a file starting"
++ if test -z "$potlib" ; then
++ $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
++ else
++ $ECHO "*** with $libname and none of the candidates passed a file format test"
++ $ECHO "*** using a file magic. Last file checked: $potlib"
++ fi
++ fi
++ ;;
++ *)
++ # Add a -L argument.
++ newdeplibs="$newdeplibs $a_deplib"
++ ;;
++ esac
++ done # Gone through all deplibs.
++ ;;
++ match_pattern*)
++ set dummy $deplibs_check_method; shift
++ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
++ for a_deplib in $deplibs; do
++ case $a_deplib in
++ -l*)
++ func_stripname -l '' "$a_deplib"
++ name=$func_stripname_result
++ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
++ case " $predeps $postdeps " in
++ *" $a_deplib "*)
++ newdeplibs="$newdeplibs $a_deplib"
++ a_deplib=""
++ ;;
++ esac
++ fi
++ if test -n "$a_deplib" ; then
++ libname=`eval "\\$ECHO \"$libname_spec\""`
++ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
++ potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
++ for potent_lib in $potential_libs; do
++ potlib="$potent_lib" # see symlink-check above in file_magic test
++ if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
++ $EGREP "$match_pattern_regex" > /dev/null; then
++ newdeplibs="$newdeplibs $a_deplib"
++ a_deplib=""
++ break 2
++ fi
++ done
++ done
++ fi
++ if test -n "$a_deplib" ; then
++ droppeddeps=yes
++ $ECHO
++ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
++ $ECHO "*** I have the capability to make that library automatically link in when"
++ $ECHO "*** you link to this library. But I can only do this if you have a"
++ $ECHO "*** shared version of the library, which you do not appear to have"
++ $ECHO "*** because I did check the linker path looking for a file starting"
++ if test -z "$potlib" ; then
++ $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
++ else
++ $ECHO "*** with $libname and none of the candidates passed a file format test"
++ $ECHO "*** using a regex pattern. Last file checked: $potlib"
++ fi
++ fi
++ ;;
++ *)
++ # Add a -L argument.
++ newdeplibs="$newdeplibs $a_deplib"
++ ;;
++ esac
++ done # Gone through all deplibs.
++ ;;
++ none | unknown | *)
++ newdeplibs=""
++ tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
++ -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
++ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
++ for i in $predeps $postdeps ; do
++ # can't use Xsed below, because $i might contain '/'
++ tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
++ done
++ fi
++ if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' |
++ $GREP . >/dev/null; then
++ $ECHO
++ if test "X$deplibs_check_method" = "Xnone"; then
++ $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
++ else
++ $ECHO "*** Warning: inter-library dependencies are not known to be supported."
++ fi
++ $ECHO "*** All declared inter-library dependencies are being dropped."
++ droppeddeps=yes
++ fi
++ ;;
++ esac
++ versuffix=$versuffix_save
++ major=$major_save
++ release=$release_save
++ libname=$libname_save
++ name=$name_save
+
-+# func_source file
-+# Source FILE, adding directory component if necessary.
-+# Note that it is not necessary on cygwin/mingw to append a dot to
-+# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
-+# behavior happens only for exec(3), not for open(2)! Also, sourcing
-+# `FILE.' does not work on cygwin managed mounts.
-+func_source ()
-+{
-+ $opt_debug
-+ case $1 in
-+ */* | *\\*) . "$1" ;;
-+ *) . "./$1" ;;
-+ esac
-+}
++ case $host in
++ *-*-rhapsody* | *-*-darwin1.[012])
++ # On Rhapsody replace the C library with the System framework
++ newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
++ ;;
++ esac
+
++ if test "$droppeddeps" = yes; then
++ if test "$module" = yes; then
++ $ECHO
++ $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
++ $ECHO "*** dependencies of module $libname. Therefore, libtool will create"
++ $ECHO "*** a static module, that should work as long as the dlopening"
++ $ECHO "*** application is linked with the -dlopen flag."
++ if test -z "$global_symbol_pipe"; then
++ $ECHO
++ $ECHO "*** However, this would only work if libtool was able to extract symbol"
++ $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
++ $ECHO "*** not find such a program. So, this module is probably useless."
++ $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
++ fi
++ if test "$build_old_libs" = no; then
++ oldlibs="$output_objdir/$libname.$libext"
++ build_libtool_libs=module
++ build_old_libs=yes
++ else
++ build_libtool_libs=no
++ fi
++ else
++ $ECHO "*** The inter-library dependencies that have been dropped here will be"
++ $ECHO "*** automatically added whenever a program is linked with this library"
++ $ECHO "*** or is declared to -dlopen it."
+
-+# func_infer_tag arg
-+# Infer tagged configuration to use if any are available and
-+# if one wasn't chosen via the "--tag" command line option.
-+# Only attempt this if the compiler in the base compile
-+# command doesn't match the default compiler.
-+# arg is usually of the form 'gcc ...'
-+func_infer_tag ()
-+{
-+ $opt_debug
-+ if test -n "$available_tags" && test -z "$tagname"; then
-+ CC_quoted=
-+ for arg in $CC; do
-+ func_quote_for_eval "$arg"
-+ CC_quoted="$CC_quoted $func_quote_for_eval_result"
-+ done
-+ case $@ in
-+ # Blanks in the command may have been stripped by the calling shell,
-+ # but not from the CC environment variable when configure was run.
-+ " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
-+ # Blanks at the start of $base_compile will cause this to fail
-+ # if we don't check for them as well.
-+ *)
-+ for z in $available_tags; do
-+ if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
-+ # Evaluate the configuration.
-+ eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
-+ CC_quoted=
-+ for arg in $CC; do
-+ # Double-quote args containing other shell metacharacters.
-+ func_quote_for_eval "$arg"
-+ CC_quoted="$CC_quoted $func_quote_for_eval_result"
-+ done
-+ case "$@ " in
-+ " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
-+ # The compiler in the base compile command matches
-+ # the one in the tagged configuration.
-+ # Assume this is the tagged configuration we want.
-+ tagname=$z
-+ break
-+ ;;
-+ esac
++ if test "$allow_undefined" = no; then
++ $ECHO
++ $ECHO "*** Since this library must not contain undefined symbols,"
++ $ECHO "*** because either the platform does not support them or"
++ $ECHO "*** it was explicitly requested with -no-undefined,"
++ $ECHO "*** libtool will only create a static version of it."
++ if test "$build_old_libs" = no; then
++ oldlibs="$output_objdir/$libname.$libext"
++ build_libtool_libs=module
++ build_old_libs=yes
++ else
++ build_libtool_libs=no
++ fi
++ fi
+ fi
-+ done
-+ # If $tagname still isn't set, then no tagged configuration
-+ # was found and let the user know that the "--tag" command
-+ # line option must be used.
-+ if test -z "$tagname"; then
-+ func_echo "unable to infer tagged configuration"
-+ func_fatal_error "specify a tag with \`--tag'"
-+# else
-+# func_verbose "using $tagname tagged configuration"
+ fi
-+ ;;
++ # Done checking deplibs!
++ deplibs=$newdeplibs
++ fi
++ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
++ case $host in
++ *-*-darwin*)
++ newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
++ new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
++ deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
++ ;;
+ esac
-+ fi
-+}
+
++ # move library search paths that coincide with paths to not yet
++ # installed libraries to the beginning of the library search list
++ new_libs=
++ for path in $notinst_path; do
++ case " $new_libs " in
++ *" -L$path/$objdir "*) ;;
++ *)
++ case " $deplibs " in
++ *" -L$path/$objdir "*)
++ new_libs="$new_libs -L$path/$objdir" ;;
++ esac
++ ;;
++ esac
++ done
++ for deplib in $deplibs; do
++ case $deplib in
++ -L*)
++ case " $new_libs " in
++ *" $deplib "*) ;;
++ *) new_libs="$new_libs $deplib" ;;
++ esac
++ ;;
++ *) new_libs="$new_libs $deplib" ;;
++ esac
++ done
++ deplibs="$new_libs"
+
++ # All the library-specific variables (install_libdir is set above).
++ library_names=
++ old_library=
++ dlname=
+
-+# func_write_libtool_object output_name pic_name nonpic_name
-+# Create a libtool object file (analogous to a ".la" file),
-+# but don't create it if we're doing a dry run.
-+func_write_libtool_object ()
-+{
-+ write_libobj=${1}
-+ if test "$build_libtool_libs" = yes; then
-+ write_lobj=\'${2}\'
-+ else
-+ write_lobj=none
-+ fi
-+
-+ if test "$build_old_libs" = yes; then
-+ write_oldobj=\'${3}\'
-+ else
-+ write_oldobj=none
-+ fi
-+
-+ $opt_dry_run || {
-+ cat >${write_libobj}T <<EOF
-+# $write_libobj - a libtool object file
-+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-+#
-+# Please DO NOT delete this file!
-+# It is necessary for linking the library.
++ # Test again, we may have decided not to build it any more
++ if test "$build_libtool_libs" = yes; then
++ if test "$hardcode_into_libs" = yes; then
++ # Hardcode the library paths
++ hardcode_libdirs=
++ dep_rpath=
++ rpath="$finalize_rpath"
++ test "$mode" != relink && rpath="$compile_rpath$rpath"
++ for libdir in $rpath; do
++ if test -n "$hardcode_libdir_flag_spec"; then
++ if test -n "$hardcode_libdir_separator"; then
++ if test -z "$hardcode_libdirs"; then
++ hardcode_libdirs="$libdir"
++ else
++ # Just accumulate the unique libdirs.
++ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
++ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
++ ;;
++ *)
++ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
++ ;;
++ esac
++ fi
++ else
++ eval flag=\"$hardcode_libdir_flag_spec\"
++ dep_rpath="$dep_rpath $flag"
++ fi
++ elif test -n "$runpath_var"; then
++ case "$perm_rpath " in
++ *" $libdir "*) ;;
++ *) perm_rpath="$perm_rpath $libdir" ;;
++ esac
++ fi
++ done
++ # Substitute the hardcoded libdirs into the rpath.
++ if test -n "$hardcode_libdir_separator" &&
++ test -n "$hardcode_libdirs"; then
++ libdir="$hardcode_libdirs"
++ if test -n "$hardcode_libdir_flag_spec_ld"; then
++ eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
++ else
++ eval dep_rpath=\"$hardcode_libdir_flag_spec\"
++ fi
++ fi
++ if test -n "$runpath_var" && test -n "$perm_rpath"; then
++ # We should set the runpath_var.
++ rpath=
++ for dir in $perm_rpath; do
++ rpath="$rpath$dir:"
++ done
++ eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
++ fi
++ test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
++ fi
+
-+# Name of the PIC object.
-+pic_object=$write_lobj
++ shlibpath="$finalize_shlibpath"
++ test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
++ if test -n "$shlibpath"; then
++ eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
++ fi
+
-+# Name of the non-PIC object
-+non_pic_object=$write_oldobj
++ # Get the real and link names of the library.
++ eval shared_ext=\"$shrext_cmds\"
++ eval library_names=\"$library_names_spec\"
++ set dummy $library_names
++ shift
++ realname="$1"
++ shift
+
-+EOF
-+ $MV "${write_libobj}T" "${write_libobj}"
-+ }
-+}
++ if test -n "$soname_spec"; then
++ eval soname=\"$soname_spec\"
++ else
++ soname="$realname"
++ fi
++ if test -z "$dlname"; then
++ dlname=$soname
++ fi
+
-+# func_mode_compile arg...
-+func_mode_compile ()
-+{
-+ $opt_debug
-+ # Get the compilation command and the source file.
-+ base_compile=
-+ srcfile="$nonopt" # always keep a non-empty value in "srcfile"
-+ suppress_opt=yes
-+ suppress_output=
-+ arg_mode=normal
-+ libobj=
-+ later=
-+ pie_flag=
++ lib="$output_objdir/$realname"
++ linknames=
++ for link
++ do
++ linknames="$linknames $link"
++ done
+
-+ for arg
-+ do
-+ case $arg_mode in
-+ arg )
-+ # do not "continue". Instead, add this to base_compile
-+ lastarg="$arg"
-+ arg_mode=normal
-+ ;;
++ # Use standard objects if they are pic
++ test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
++ test "X$libobjs" = "X " && libobjs=
+
-+ target )
-+ libobj="$arg"
-+ arg_mode=normal
-+ continue
-+ ;;
++ delfiles=
++ if test -n "$export_symbols" && test -n "$include_expsyms"; then
++ $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
++ export_symbols="$output_objdir/$libname.uexp"
++ delfiles="$delfiles $export_symbols"
++ fi
+
-+ normal )
-+ # Accept any command-line options.
-+ case $arg in
-+ -o)
-+ test -n "$libobj" && \
-+ func_fatal_error "you cannot specify \`-o' more than once"
-+ arg_mode=target
-+ continue
++ orig_export_symbols=
++ case $host_os in
++ cygwin* | mingw* | cegcc*)
++ if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
++ # exporting using user supplied symfile
++ if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
++ # and it's NOT already a .def file. Must figure out
++ # which of the given symbols are data symbols and tag
++ # them as such. So, trigger use of export_symbols_cmds.
++ # export_symbols gets reassigned inside the "prepare
++ # the list of exported symbols" if statement, so the
++ # include_expsyms logic still works.
++ orig_export_symbols="$export_symbols"
++ export_symbols=
++ always_export_symbols=yes
++ fi
++ fi
+ ;;
++ esac
+
-+ -pie | -fpie | -fPIE)
-+ pie_flag="$pie_flag $arg"
-+ continue
-+ ;;
++ # Prepare the list of exported symbols
++ if test -z "$export_symbols"; then
++ if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
++ func_verbose "generating symbol list for \`$libname.la'"
++ export_symbols="$output_objdir/$libname.exp"
++ $opt_dry_run || $RM $export_symbols
++ cmds=$export_symbols_cmds
++ save_ifs="$IFS"; IFS='~'
++ for cmd in $cmds; do
++ IFS="$save_ifs"
++ eval cmd=\"$cmd\"
++ func_len " $cmd"
++ len=$func_len_result
++ if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
++ func_show_eval "$cmd" 'exit $?'
++ skipped_export=false
++ else
++ # The command line is too long to execute in one step.
++ func_verbose "using reloadable object file for export list..."
++ skipped_export=:
++ # Break out early, otherwise skipped_export may be
++ # set to false by a later but shorter cmd.
++ break
++ fi
++ done
++ IFS="$save_ifs"
++ if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
++ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
++ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
++ fi
++ fi
++ fi
+
-+ -shared | -static | -prefer-pic | -prefer-non-pic)
-+ later="$later $arg"
-+ continue
-+ ;;
++ if test -n "$export_symbols" && test -n "$include_expsyms"; then
++ tmp_export_symbols="$export_symbols"
++ test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
++ $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
++ fi
+
-+ -no-suppress)
-+ suppress_opt=no
-+ continue
-+ ;;
++ if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
++ # The given exports_symbols file has to be filtered, so filter it.
++ func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
++ # FIXME: $output_objdir/$libname.filter potentially contains lots of
++ # 's' commands which not all seds can handle. GNU sed should be fine
++ # though. Also, the filter scales superlinearly with the number of
++ # global variables. join(1) would be nice here, but unfortunately
++ # isn't a blessed tool.
++ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
++ delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
++ export_symbols=$output_objdir/$libname.def
++ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
++ fi
+
-+ -Xcompiler)
-+ arg_mode=arg # the next one goes into the "base_compile" arg list
-+ continue # The current "srcfile" will either be retained or
-+ ;; # replaced later. I would guess that would be a bug.
++ tmp_deplibs=
++ for test_deplib in $deplibs; do
++ case " $convenience " in
++ *" $test_deplib "*) ;;
++ *)
++ tmp_deplibs="$tmp_deplibs $test_deplib"
++ ;;
++ esac
++ done
++ deplibs="$tmp_deplibs"
+
-+ -Wc,*)
-+ func_stripname '-Wc,' '' "$arg"
-+ args=$func_stripname_result
-+ lastarg=
-+ save_ifs="$IFS"; IFS=','
-+ for arg in $args; do
-+ IFS="$save_ifs"
-+ func_quote_for_eval "$arg"
-+ lastarg="$lastarg $func_quote_for_eval_result"
-+ done
-+ IFS="$save_ifs"
-+ func_stripname ' ' '' "$lastarg"
-+ lastarg=$func_stripname_result
++ if test -n "$convenience"; then
++ if test -n "$whole_archive_flag_spec" &&
++ test "$compiler_needs_object" = yes &&
++ test -z "$libobjs"; then
++ # extract the archives, so we have objects to list.
++ # TODO: could optimize this to just extract one archive.
++ whole_archive_flag_spec=
++ fi
++ if test -n "$whole_archive_flag_spec"; then
++ save_libobjs=$libobjs
++ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
++ test "X$libobjs" = "X " && libobjs=
++ else
++ gentop="$output_objdir/${outputname}x"
++ generated="$generated $gentop"
+
-+ # Add the arguments to base_compile.
-+ base_compile="$base_compile $lastarg"
-+ continue
-+ ;;
++ func_extract_archives $gentop $convenience
++ libobjs="$libobjs $func_extract_archives_result"
++ test "X$libobjs" = "X " && libobjs=
++ fi
++ fi
+
-+ *)
-+ # Accept the current argument as the source file.
-+ # The previous "srcfile" becomes the current argument.
-+ #
-+ lastarg="$srcfile"
-+ srcfile="$arg"
-+ ;;
-+ esac # case $arg
-+ ;;
-+ esac # case $arg_mode
++ if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
++ eval flag=\"$thread_safe_flag_spec\"
++ linker_flags="$linker_flags $flag"
++ fi
+
-+ # Aesthetically quote the previous argument.
-+ func_quote_for_eval "$lastarg"
-+ base_compile="$base_compile $func_quote_for_eval_result"
-+ done # for arg
++ # Make a backup of the uninstalled library when relinking
++ if test "$mode" = relink; then
++ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
++ fi
+
-+ case $arg_mode in
-+ arg)
-+ func_fatal_error "you must specify an argument for -Xcompile"
-+ ;;
-+ target)
-+ func_fatal_error "you must specify a target with \`-o'"
-+ ;;
-+ *)
-+ # Get the name of the library object.
-+ test -z "$libobj" && {
-+ func_basename "$srcfile"
-+ libobj="$func_basename_result"
-+ }
-+ ;;
-+ esac
++ # Do each of the archive commands.
++ if test "$module" = yes && test -n "$module_cmds" ; then
++ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
++ eval test_cmds=\"$module_expsym_cmds\"
++ cmds=$module_expsym_cmds
++ else
++ eval test_cmds=\"$module_cmds\"
++ cmds=$module_cmds
++ fi
++ else
++ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
++ eval test_cmds=\"$archive_expsym_cmds\"
++ cmds=$archive_expsym_cmds
++ else
++ eval test_cmds=\"$archive_cmds\"
++ cmds=$archive_cmds
++ fi
++ fi
+
-+ # Recognize several different file suffixes.
-+ # If the user specifies -o file.o, it is replaced with file.lo
-+ case $libobj in
-+ *.[cCFSifmso] | \
-+ *.ada | *.adb | *.ads | *.asm | \
-+ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
-+ *.[fF][09]? | *.for | *.java | *.obj | *.sx)
-+ func_xform "$libobj"
-+ libobj=$func_xform_result
-+ ;;
-+ esac
++ if test "X$skipped_export" != "X:" &&
++ func_len " $test_cmds" &&
++ len=$func_len_result &&
++ test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
++ :
++ else
++ # The command line is too long to link in one step, link piecewise
++ # or, if using GNU ld and skipped_export is not :, use a linker
++ # script.
+
-+ case $libobj in
-+ *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
-+ *)
-+ func_fatal_error "cannot determine name of library object from \`$libobj'"
-+ ;;
-+ esac
++ # Save the value of $output and $libobjs because we want to
++ # use them later. If we have whole_archive_flag_spec, we
++ # want to use save_libobjs as it was before
++ # whole_archive_flag_spec was expanded, because we can't
++ # assume the linker understands whole_archive_flag_spec.
++ # This may have to be revisited, in case too many
++ # convenience libraries get linked in and end up exceeding
++ # the spec.
++ if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
++ save_libobjs=$libobjs
++ fi
++ save_output=$output
++ output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
+
-+ func_infer_tag $base_compile
++ # Clear the reloadable object creation command queue and
++ # initialize k to one.
++ test_cmds=
++ concat_cmds=
++ objlist=
++ last_robj=
++ k=1
+
-+ for arg in $later; do
-+ case $arg in
-+ -shared)
-+ test "$build_libtool_libs" != yes && \
-+ func_fatal_configuration "can not build a shared library"
-+ build_old_libs=no
-+ continue
-+ ;;
++ if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
++ output=${output_objdir}/${output_la}.lnkscript
++ func_verbose "creating GNU ld script: $output"
++ $ECHO 'INPUT (' > $output
++ for obj in $save_libobjs
++ do
++ $ECHO "$obj" >> $output
++ done
++ $ECHO ')' >> $output
++ delfiles="$delfiles $output"
++ elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
++ output=${output_objdir}/${output_la}.lnk
++ func_verbose "creating linker input file list: $output"
++ : > $output
++ set x $save_libobjs
++ shift
++ firstobj=
++ if test "$compiler_needs_object" = yes; then
++ firstobj="$1 "
++ shift
++ fi
++ for obj
++ do
++ $ECHO "$obj" >> $output
++ done
++ delfiles="$delfiles $output"
++ output=$firstobj\"$file_list_spec$output\"
++ else
++ if test -n "$save_libobjs"; then
++ func_verbose "creating reloadable object files..."
++ output=$output_objdir/$output_la-${k}.$objext
++ eval test_cmds=\"$reload_cmds\"
++ func_len " $test_cmds"
++ len0=$func_len_result
++ len=$len0
+
-+ -static)
-+ build_libtool_libs=no
-+ build_old_libs=yes
-+ continue
-+ ;;
++ # Loop over the list of objects to be linked.
++ for obj in $save_libobjs
++ do
++ func_len " $obj"
++ func_arith $len + $func_len_result
++ len=$func_arith_result
++ if test "X$objlist" = X ||
++ test "$len" -lt "$max_cmd_len"; then
++ func_append objlist " $obj"
++ else
++ # The command $test_cmds is almost too long, add a
++ # command to the queue.
++ if test "$k" -eq 1 ; then
++ # The first file doesn't have a previous command to add.
++ eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
++ else
++ # All subsequent reloadable object files will link in
++ # the last one created.
++ eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
++ fi
++ last_robj=$output_objdir/$output_la-${k}.$objext
++ func_arith $k + 1
++ k=$func_arith_result
++ output=$output_objdir/$output_la-${k}.$objext
++ objlist=$obj
++ func_len " $last_robj"
++ func_arith $len0 + $func_len_result
++ len=$func_arith_result
++ fi
++ done
++ # Handle the remaining objects by creating one last
++ # reloadable object file. All subsequent reloadable object
++ # files will link in the last one created.
++ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
++ eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
++ if test -n "$last_robj"; then
++ eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
++ fi
++ delfiles="$delfiles $output"
+
-+ -prefer-pic)
-+ pic_mode=yes
-+ continue
-+ ;;
++ else
++ output=
++ fi
+
-+ -prefer-non-pic)
-+ pic_mode=no
-+ continue
-+ ;;
-+ esac
-+ done
++ if ${skipped_export-false}; then
++ func_verbose "generating symbol list for \`$libname.la'"
++ export_symbols="$output_objdir/$libname.exp"
++ $opt_dry_run || $RM $export_symbols
++ libobjs=$output
++ # Append the command to create the export file.
++ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
++ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
++ if test -n "$last_robj"; then
++ eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
++ fi
++ fi
+
-+ func_quote_for_eval "$libobj"
-+ test "X$libobj" != "X$func_quote_for_eval_result" \
-+ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
-+ && func_warning "libobj name \`$libobj' may not contain shell special characters."
-+ func_dirname_and_basename "$obj" "/" ""
-+ objname="$func_basename_result"
-+ xdir="$func_dirname_result"
-+ lobj=${xdir}$objdir/$objname
++ test -n "$save_libobjs" &&
++ func_verbose "creating a temporary reloadable object file: $output"
+
-+ test -z "$base_compile" && \
-+ func_fatal_help "you must specify a compilation command"
++ # Loop through the commands generated above and execute them.
++ save_ifs="$IFS"; IFS='~'
++ for cmd in $concat_cmds; do
++ IFS="$save_ifs"
++ $opt_silent || {
++ func_quote_for_expand "$cmd"
++ eval "func_echo $func_quote_for_expand_result"
++ }
++ $opt_dry_run || eval "$cmd" || {
++ lt_exit=$?
+
-+ # Delete any leftover library objects.
-+ if test "$build_old_libs" = yes; then
-+ removelist="$obj $lobj $libobj ${libobj}T"
-+ else
-+ removelist="$lobj $libobj ${libobj}T"
-+ fi
++ # Restore the uninstalled library and exit
++ if test "$mode" = relink; then
++ ( cd "$output_objdir" && \
++ $RM "${realname}T" && \
++ $MV "${realname}U" "$realname" )
++ fi
+
-+ # On Cygwin there's no "real" PIC flag so we must build both object types
-+ case $host_os in
-+ cygwin* | mingw* | pw32* | os2* | cegcc*)
-+ pic_mode=default
-+ ;;
-+ esac
-+ if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
-+ # non-PIC code in shared libraries is not supported
-+ pic_mode=default
-+ fi
++ exit $lt_exit
++ }
++ done
++ IFS="$save_ifs"
+
-+ # Calculate the filename of the output object if compiler does
-+ # not support -o with -c
-+ if test "$compiler_c_o" = no; then
-+ output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
-+ lockfile="$output_obj.lock"
-+ else
-+ output_obj=
-+ need_locks=no
-+ lockfile=
-+ fi
++ if test -n "$export_symbols_regex" && ${skipped_export-false}; then
++ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
++ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
++ fi
++ fi
+
-+ # Lock this critical section if it is needed
-+ # We use this script file to make the link, it avoids creating a new file
-+ if test "$need_locks" = yes; then
-+ until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
-+ func_echo "Waiting for $lockfile to be removed"
-+ sleep 2
-+ done
-+ elif test "$need_locks" = warn; then
-+ if test -f "$lockfile"; then
-+ $ECHO "\
-+*** ERROR, $lockfile exists and contains:
-+`cat $lockfile 2>/dev/null`
++ if ${skipped_export-false}; then
++ if test -n "$export_symbols" && test -n "$include_expsyms"; then
++ tmp_export_symbols="$export_symbols"
++ test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
++ $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
++ fi
+
-+This indicates that another process is trying to use the same
-+temporary object file, and libtool could not work around it because
-+your compiler does not support \`-c' and \`-o' together. If you
-+repeat this compilation, it may succeed, by chance, but you had better
-+avoid parallel builds (make -j) in this platform, or get a better
-+compiler."
++ if test -n "$orig_export_symbols"; then
++ # The given exports_symbols file has to be filtered, so filter it.
++ func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
++ # FIXME: $output_objdir/$libname.filter potentially contains lots of
++ # 's' commands which not all seds can handle. GNU sed should be fine
++ # though. Also, the filter scales superlinearly with the number of
++ # global variables. join(1) would be nice here, but unfortunately
++ # isn't a blessed tool.
++ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
++ delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
++ export_symbols=$output_objdir/$libname.def
++ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
++ fi
++ fi
+
-+ $opt_dry_run || $RM $removelist
-+ exit $EXIT_FAILURE
-+ fi
-+ removelist="$removelist $output_obj"
-+ $ECHO "$srcfile" > "$lockfile"
-+ fi
++ libobjs=$output
++ # Restore the value of output.
++ output=$save_output
+
-+ $opt_dry_run || $RM $removelist
-+ removelist="$removelist $lockfile"
-+ trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
++ if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
++ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
++ test "X$libobjs" = "X " && libobjs=
++ fi
++ # Expand the library linking commands again to reset the
++ # value of $libobjs for piecewise linking.
+
-+ if test -n "$fix_srcfile_path"; then
-+ eval srcfile=\"$fix_srcfile_path\"
-+ fi
-+ func_quote_for_eval "$srcfile"
-+ qsrcfile=$func_quote_for_eval_result
++ # Do each of the archive commands.
++ if test "$module" = yes && test -n "$module_cmds" ; then
++ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
++ cmds=$module_expsym_cmds
++ else
++ cmds=$module_cmds
++ fi
++ else
++ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
++ cmds=$archive_expsym_cmds
++ else
++ cmds=$archive_cmds
++ fi
++ fi
++ fi
+
-+ # Only build a PIC object if we are building libtool libraries.
-+ if test "$build_libtool_libs" = yes; then
-+ # Without this assignment, base_compile gets emptied.
-+ fbsd_hideous_sh_bug=$base_compile
++ if test -n "$delfiles"; then
++ # Append the command to remove temporary files to $cmds.
++ eval cmds=\"\$cmds~\$RM $delfiles\"
++ fi
+
-+ if test "$pic_mode" != no; then
-+ command="$base_compile $qsrcfile $pic_flag"
-+ else
-+ # Don't build PIC code
-+ command="$base_compile $qsrcfile"
-+ fi
++ # Add any objects from preloaded convenience libraries
++ if test -n "$dlprefiles"; then
++ gentop="$output_objdir/${outputname}x"
++ generated="$generated $gentop"
+
-+ func_mkdir_p "$xdir$objdir"
++ func_extract_archives $gentop $dlprefiles
++ libobjs="$libobjs $func_extract_archives_result"
++ test "X$libobjs" = "X " && libobjs=
++ fi
+
-+ if test -z "$output_obj"; then
-+ # Place PIC objects in $objdir
-+ command="$command -o $lobj"
-+ fi
++ save_ifs="$IFS"; IFS='~'
++ for cmd in $cmds; do
++ IFS="$save_ifs"
++ eval cmd=\"$cmd\"
++ $opt_silent || {
++ func_quote_for_expand "$cmd"
++ eval "func_echo $func_quote_for_expand_result"
++ }
++ $opt_dry_run || eval "$cmd" || {
++ lt_exit=$?
+
-+ func_show_eval_locale "$command" \
-+ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
++ # Restore the uninstalled library and exit
++ if test "$mode" = relink; then
++ ( cd "$output_objdir" && \
++ $RM "${realname}T" && \
++ $MV "${realname}U" "$realname" )
++ fi
+
-+ if test "$need_locks" = warn &&
-+ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
-+ $ECHO "\
-+*** ERROR, $lockfile contains:
-+`cat $lockfile 2>/dev/null`
++ exit $lt_exit
++ }
++ done
++ IFS="$save_ifs"
+
-+but it should contain:
-+$srcfile
++ # Restore the uninstalled library and exit
++ if test "$mode" = relink; then
++ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
+
-+This indicates that another process is trying to use the same
-+temporary object file, and libtool could not work around it because
-+your compiler does not support \`-c' and \`-o' together. If you
-+repeat this compilation, it may succeed, by chance, but you had better
-+avoid parallel builds (make -j) in this platform, or get a better
-+compiler."
++ if test -n "$convenience"; then
++ if test -z "$whole_archive_flag_spec"; then
++ func_show_eval '${RM}r "$gentop"'
++ fi
++ fi
+
-+ $opt_dry_run || $RM $removelist
-+ exit $EXIT_FAILURE
-+ fi
++ exit $EXIT_SUCCESS
++ fi
+
-+ # Just move the object if needed, then go on to compile the next one
-+ if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
-+ func_show_eval '$MV "$output_obj" "$lobj"' \
-+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
-+ fi
++ # Create links to the real library.
++ for linkname in $linknames; do
++ if test "$realname" != "$linkname"; then
++ func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
++ fi
++ done
+
-+ # Allow error messages only from the first compilation.
-+ if test "$suppress_opt" = yes; then
-+ suppress_output=' >/dev/null 2>&1'
++ # If -module or -export-dynamic was specified, set the dlname.
++ if test "$module" = yes || test "$export_dynamic" = yes; then
++ # On all known operating systems, these are identical.
++ dlname="$soname"
++ fi
+ fi
-+ fi
++ ;;
+
-+ # Only build a position-dependent object if we build old libraries.
-+ if test "$build_old_libs" = yes; then
-+ if test "$pic_mode" != yes; then
-+ # Don't build PIC code
-+ command="$base_compile $qsrcfile$pie_flag"
-+ else
-+ command="$base_compile $qsrcfile $pic_flag"
-+ fi
-+ if test "$compiler_c_o" = yes; then
-+ command="$command -o $obj"
++ obj)
++ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
++ func_warning "\`-dlopen' is ignored for objects"
+ fi
+
-+ # Suppress compiler output if we already did a PIC compilation.
-+ command="$command$suppress_output"
-+ func_show_eval_locale "$command" \
-+ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
-+
-+ if test "$need_locks" = warn &&
-+ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
-+ $ECHO "\
-+*** ERROR, $lockfile contains:
-+`cat $lockfile 2>/dev/null`
-+
-+but it should contain:
-+$srcfile
++ case " $deplibs" in
++ *\ -l* | *\ -L*)
++ func_warning "\`-l' and \`-L' are ignored for objects" ;;
++ esac
+
-+This indicates that another process is trying to use the same
-+temporary object file, and libtool could not work around it because
-+your compiler does not support \`-c' and \`-o' together. If you
-+repeat this compilation, it may succeed, by chance, but you had better
-+avoid parallel builds (make -j) in this platform, or get a better
-+compiler."
++ test -n "$rpath" && \
++ func_warning "\`-rpath' is ignored for objects"
+
-+ $opt_dry_run || $RM $removelist
-+ exit $EXIT_FAILURE
-+ fi
++ test -n "$xrpath" && \
++ func_warning "\`-R' is ignored for objects"
+
-+ # Just move the object if needed
-+ if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
-+ func_show_eval '$MV "$output_obj" "$obj"' \
-+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
-+ fi
-+ fi
++ test -n "$vinfo" && \
++ func_warning "\`-version-info' is ignored for objects"
+
-+ $opt_dry_run || {
-+ func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
++ test -n "$release" && \
++ func_warning "\`-release' is ignored for objects"
+
-+ # Unlock the critical section if it was locked
-+ if test "$need_locks" != no; then
-+ removelist=$lockfile
-+ $RM "$lockfile"
-+ fi
-+ }
++ case $output in
++ *.lo)
++ test -n "$objs$old_deplibs" && \
++ func_fatal_error "cannot build library object \`$output' from non-libtool objects"
+
-+ exit $EXIT_SUCCESS
-+}
++ libobj=$output
++ func_lo2o "$libobj"
++ obj=$func_lo2o_result
++ ;;
++ *)
++ libobj=
++ obj="$output"
++ ;;
++ esac
+
-+$opt_help || {
-+test "$mode" = compile && func_mode_compile ${1+"$@"}
-+}
++ # Delete the old objects.
++ $opt_dry_run || $RM $obj $libobj
+
-+func_mode_help ()
-+{
-+ # We need to display help for each of the modes.
-+ case $mode in
-+ "")
-+ # Generic help is extracted from the usage comments
-+ # at the start of this file.
-+ func_help
-+ ;;
++ # Objects from convenience libraries. This assumes
++ # single-version convenience libraries. Whenever we create
++ # different ones for PIC/non-PIC, this we'll have to duplicate
++ # the extraction.
++ reload_conv_objs=
++ gentop=
++ # reload_cmds runs $LD directly, so let us get rid of
++ # -Wl from whole_archive_flag_spec and hope we can get by with
++ # turning comma into space..
++ wl=
+
-+ clean)
-+ $ECHO \
-+"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
++ if test -n "$convenience"; then
++ if test -n "$whole_archive_flag_spec"; then
++ eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
++ reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
++ else
++ gentop="$output_objdir/${obj}x"
++ generated="$generated $gentop"
+
-+Remove files from the build directory.
++ func_extract_archives $gentop $convenience
++ reload_conv_objs="$reload_objs $func_extract_archives_result"
++ fi
++ fi
+
-+RM is the name of the program to use to delete files associated with each FILE
-+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-+to RM.
++ # Create the old-style object.
++ reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+
-+If FILE is a libtool library, object or program, all the files associated
-+with it are deleted. Otherwise, only FILE itself is deleted using RM."
-+ ;;
++ output="$obj"
++ func_execute_cmds "$reload_cmds" 'exit $?'
+
-+ compile)
-+ $ECHO \
-+"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
++ # Exit if we aren't doing a library object file.
++ if test -z "$libobj"; then
++ if test -n "$gentop"; then
++ func_show_eval '${RM}r "$gentop"'
++ fi
+
-+Compile a source file into a libtool library object.
++ exit $EXIT_SUCCESS
++ fi
+
-+This mode accepts the following additional options:
++ if test "$build_libtool_libs" != yes; then
++ if test -n "$gentop"; then
++ func_show_eval '${RM}r "$gentop"'
++ fi
+
-+ -o OUTPUT-FILE set the output file name to OUTPUT-FILE
-+ -no-suppress do not suppress compiler output for multiple passes
-+ -prefer-pic try to building PIC objects only
-+ -prefer-non-pic try to building non-PIC objects only
-+ -shared do not build a \`.o' file suitable for static linking
-+ -static only build a \`.o' file suitable for static linking
++ # Create an invalid libtool object if no PIC, so that we don't
++ # accidentally link it into a program.
++ # $show "echo timestamp > $libobj"
++ # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
++ exit $EXIT_SUCCESS
++ fi
+
-+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
-+from the given SOURCEFILE.
++ if test -n "$pic_flag" || test "$pic_mode" != default; then
++ # Only do commands if we really have different PIC objects.
++ reload_objs="$libobjs $reload_conv_objs"
++ output="$libobj"
++ func_execute_cmds "$reload_cmds" 'exit $?'
++ fi
+
-+The output file name is determined by removing the directory component from
-+SOURCEFILE, then substituting the C source code suffix \`.c' with the
-+library object suffix, \`.lo'."
-+ ;;
++ if test -n "$gentop"; then
++ func_show_eval '${RM}r "$gentop"'
++ fi
+
-+ execute)
-+ $ECHO \
-+"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
++ exit $EXIT_SUCCESS
++ ;;
+
-+Automatically set library path, then run a program.
++ prog)
++ case $host in
++ *cygwin*) func_stripname '' '.exe' "$output"
++ output=$func_stripname_result.exe;;
++ esac
++ test -n "$vinfo" && \
++ func_warning "\`-version-info' is ignored for programs"
+
-+This mode accepts the following additional options:
++ test -n "$release" && \
++ func_warning "\`-release' is ignored for programs"
+
-+ -dlopen FILE add the directory containing FILE to the library path
++ test "$preload" = yes \
++ && test "$dlopen_support" = unknown \
++ && test "$dlopen_self" = unknown \
++ && test "$dlopen_self_static" = unknown && \
++ func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
+
-+This mode sets the library path environment variable according to \`-dlopen'
-+flags.
++ case $host in
++ *-*-rhapsody* | *-*-darwin1.[012])
++ # On Rhapsody replace the C library is the System framework
++ compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
++ finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
++ ;;
++ esac
+
-+If any of the ARGS are libtool executable wrappers, then they are translated
-+into their corresponding uninstalled binary, and any of their required library
-+directories are added to the library path.
++ case $host in
++ *-*-darwin*)
++ # Don't allow lazy linking, it breaks C++ global constructors
++ # But is supposedly fixed on 10.4 or later (yay!).
++ if test "$tagname" = CXX ; then
++ case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
++ 10.[0123])
++ compile_command="$compile_command ${wl}-bind_at_load"
++ finalize_command="$finalize_command ${wl}-bind_at_load"
++ ;;
++ esac
++ fi
++ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
++ compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
++ finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
++ ;;
++ esac
+
-+Then, COMMAND is executed, with ARGS as arguments."
-+ ;;
+
-+ finish)
-+ $ECHO \
-+"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
++ # move library search paths that coincide with paths to not yet
++ # installed libraries to the beginning of the library search list
++ new_libs=
++ for path in $notinst_path; do
++ case " $new_libs " in
++ *" -L$path/$objdir "*) ;;
++ *)
++ case " $compile_deplibs " in
++ *" -L$path/$objdir "*)
++ new_libs="$new_libs -L$path/$objdir" ;;
++ esac
++ ;;
++ esac
++ done
++ for deplib in $compile_deplibs; do
++ case $deplib in
++ -L*)
++ case " $new_libs " in
++ *" $deplib "*) ;;
++ *) new_libs="$new_libs $deplib" ;;
++ esac
++ ;;
++ *) new_libs="$new_libs $deplib" ;;
++ esac
++ done
++ compile_deplibs="$new_libs"
+
-+Complete the installation of libtool libraries.
+
-+Each LIBDIR is a directory that contains libtool libraries.
++ compile_command="$compile_command $compile_deplibs"
++ finalize_command="$finalize_command $finalize_deplibs"
+
-+The commands that this mode executes may require superuser privileges. Use
-+the \`--dry-run' option if you just want to see what would be executed."
-+ ;;
++ if test -n "$rpath$xrpath"; then
++ # If the user specified any rpath flags, then add them.
++ for libdir in $rpath $xrpath; do
++ # This is the magic to use -rpath.
++ case "$finalize_rpath " in
++ *" $libdir "*) ;;
++ *) finalize_rpath="$finalize_rpath $libdir" ;;
++ esac
++ done
++ fi
+
-+ install)
-+ $ECHO \
-+"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
++ # Now hardcode the library paths
++ rpath=
++ hardcode_libdirs=
++ for libdir in $compile_rpath $finalize_rpath; do
++ if test -n "$hardcode_libdir_flag_spec"; then
++ if test -n "$hardcode_libdir_separator"; then
++ if test -z "$hardcode_libdirs"; then
++ hardcode_libdirs="$libdir"
++ else
++ # Just accumulate the unique libdirs.
++ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
++ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
++ ;;
++ *)
++ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
++ ;;
++ esac
++ fi
++ else
++ eval flag=\"$hardcode_libdir_flag_spec\"
++ rpath="$rpath $flag"
++ fi
++ elif test -n "$runpath_var"; then
++ case "$perm_rpath " in
++ *" $libdir "*) ;;
++ *) perm_rpath="$perm_rpath $libdir" ;;
++ esac
++ fi
++ case $host in
++ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
++ testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
++ case :$dllsearchpath: in
++ *":$libdir:"*) ;;
++ ::) dllsearchpath=$libdir;;
++ *) dllsearchpath="$dllsearchpath:$libdir";;
++ esac
++ case :$dllsearchpath: in
++ *":$testbindir:"*) ;;
++ ::) dllsearchpath=$testbindir;;
++ *) dllsearchpath="$dllsearchpath:$testbindir";;
++ esac
++ ;;
++ esac
++ done
++ # Substitute the hardcoded libdirs into the rpath.
++ if test -n "$hardcode_libdir_separator" &&
++ test -n "$hardcode_libdirs"; then
++ libdir="$hardcode_libdirs"
++ eval rpath=\" $hardcode_libdir_flag_spec\"
++ fi
++ compile_rpath="$rpath"
+
-+Install executables or libraries.
++ rpath=
++ hardcode_libdirs=
++ for libdir in $finalize_rpath; do
++ if test -n "$hardcode_libdir_flag_spec"; then
++ if test -n "$hardcode_libdir_separator"; then
++ if test -z "$hardcode_libdirs"; then
++ hardcode_libdirs="$libdir"
++ else
++ # Just accumulate the unique libdirs.
++ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
++ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
++ ;;
++ *)
++ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
++ ;;
++ esac
++ fi
++ else
++ eval flag=\"$hardcode_libdir_flag_spec\"
++ rpath="$rpath $flag"
++ fi
++ elif test -n "$runpath_var"; then
++ case "$finalize_perm_rpath " in
++ *" $libdir "*) ;;
++ *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
++ esac
++ fi
++ done
++ # Substitute the hardcoded libdirs into the rpath.
++ if test -n "$hardcode_libdir_separator" &&
++ test -n "$hardcode_libdirs"; then
++ libdir="$hardcode_libdirs"
++ eval rpath=\" $hardcode_libdir_flag_spec\"
++ fi
++ finalize_rpath="$rpath"
+
-+INSTALL-COMMAND is the installation command. The first component should be
-+either the \`install' or \`cp' program.
++ if test -n "$libobjs" && test "$build_old_libs" = yes; then
++ # Transform all the library objects into standard objects.
++ compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
++ finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
++ fi
+
-+The following components of INSTALL-COMMAND are treated specially:
++ func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
+
-+ -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation
++ # template prelinking step
++ if test -n "$prelink_cmds"; then
++ func_execute_cmds "$prelink_cmds" 'exit $?'
++ fi
+
-+The rest of the components are interpreted as arguments to that command (only
-+BSD-compatible install options are recognized)."
++ wrappers_required=yes
++ case $host in
++ *cygwin* | *mingw* )
++ if test "$build_libtool_libs" != yes; then
++ wrappers_required=no
++ fi
++ ;;
++ *cegcc)
++ # Disable wrappers for cegcc, we are cross compiling anyway.
++ wrappers_required=no
++ ;;
++ *)
++ if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
++ wrappers_required=no
++ fi
+ ;;
++ esac
++ if test "$wrappers_required" = no; then
++ # Replace the output file specification.
++ compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
++ link_command="$compile_command$compile_rpath"
+
-+ link)
-+ $ECHO \
-+"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
++ # We have no uninstalled library dependencies, so finalize right now.
++ exit_status=0
++ func_show_eval "$link_command" 'exit_status=$?'
+
-+Link object files or libraries together to form another library, or to
-+create an executable program.
++ # Delete the generated files.
++ if test -f "$output_objdir/${outputname}S.${objext}"; then
++ func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
++ fi
+
-+LINK-COMMAND is a command using the C compiler that you would use to create
-+a program from several object files.
++ exit $exit_status
++ fi
+
-+The following components of LINK-COMMAND are treated specially:
++ if test -n "$compile_shlibpath$finalize_shlibpath"; then
++ compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
++ fi
++ if test -n "$finalize_shlibpath"; then
++ finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
++ fi
+
-+ -all-static do not do any dynamic linking at all
-+ -avoid-version do not add a version suffix if possible
-+ -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
-+ -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
-+ -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-+ -export-symbols SYMFILE
-+ try to export only the symbols listed in SYMFILE
-+ -export-symbols-regex REGEX
-+ try to export only the symbols matching REGEX
-+ -LLIBDIR search LIBDIR for required installed libraries
-+ -lNAME OUTPUT-FILE requires the installed library libNAME
-+ -module build a library that can dlopened
-+ -no-fast-install disable the fast-install mode
-+ -no-install link a not-installable executable
-+ -no-undefined declare that a library does not refer to external symbols
-+ -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
-+ -objectlist FILE Use a list of object files found in FILE to specify objects
-+ -precious-files-regex REGEX
-+ don't remove output files matching REGEX
-+ -release RELEASE specify package release information
-+ -rpath LIBDIR the created library will eventually be installed in LIBDIR
-+ -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
-+ -shared only do dynamic linking of libtool libraries
-+ -shrext SUFFIX override the standard shared library file extension
-+ -static do not do any dynamic linking of uninstalled libtool libraries
-+ -static-libtool-libs
-+ do not do any dynamic linking of libtool libraries
-+ -version-info CURRENT[:REVISION[:AGE]]
-+ specify library version info [each variable defaults to 0]
-+ -weak LIBNAME declare that the target provides the LIBNAME interface
++ compile_var=
++ finalize_var=
++ if test -n "$runpath_var"; then
++ if test -n "$perm_rpath"; then
++ # We should set the runpath_var.
++ rpath=
++ for dir in $perm_rpath; do
++ rpath="$rpath$dir:"
++ done
++ compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
++ fi
++ if test -n "$finalize_perm_rpath"; then
++ # We should set the runpath_var.
++ rpath=
++ for dir in $finalize_perm_rpath; do
++ rpath="$rpath$dir:"
++ done
++ finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
++ fi
++ fi
+
-+All other options (arguments beginning with \`-') are ignored.
++ if test "$no_install" = yes; then
++ # We don't need to create a wrapper script.
++ link_command="$compile_var$compile_command$compile_rpath"
++ # Replace the output file specification.
++ link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
++ # Delete the old output file.
++ $opt_dry_run || $RM $output
++ # Link the executable and exit
++ func_show_eval "$link_command" 'exit $?'
++ exit $EXIT_SUCCESS
++ fi
+
-+Every other argument is treated as a filename. Files ending in \`.la' are
-+treated as uninstalled libtool libraries, other files are standard or library
-+object files.
++ if test "$hardcode_action" = relink; then
++ # Fast installation is not supported
++ link_command="$compile_var$compile_command$compile_rpath"
++ relink_command="$finalize_var$finalize_command$finalize_rpath"
+
-+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-+only library objects (\`.lo' files) may be specified, and \`-rpath' is
-+required, except when creating a convenience library.
++ func_warning "this platform does not like uninstalled shared libraries"
++ func_warning "\`$output' will be relinked during installation"
++ else
++ if test "$fast_install" != no; then
++ link_command="$finalize_var$compile_command$finalize_rpath"
++ if test "$fast_install" = yes; then
++ relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
++ else
++ # fast_install is set to needless
++ relink_command=
++ fi
++ else
++ link_command="$compile_var$compile_command$compile_rpath"
++ relink_command="$finalize_var$finalize_command$finalize_rpath"
++ fi
++ fi
+
-+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-+using \`ar' and \`ranlib', or on Windows using \`lib'.
++ # Replace the output file specification.
++ link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
-+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
-+is created, otherwise an executable program is created."
-+ ;;
++ # Delete the old output files.
++ $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
-+ uninstall)
-+ $ECHO \
-+"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
++ func_show_eval "$link_command" 'exit $?'
+
-+Remove libraries from an installation directory.
++ # Now create the wrapper script.
++ func_verbose "creating $output"
+
-+RM is the name of the program to use to delete files associated with each FILE
-+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-+to RM.
++ # Quote the relink command for shipping.
++ if test -n "$relink_command"; then
++ # Preserve any variables that may affect compiler behavior
++ for var in $variables_saved_for_relink; do
++ if eval test -z \"\${$var+set}\"; then
++ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
++ elif eval var_value=\$$var; test -z "$var_value"; then
++ relink_command="$var=; export $var; $relink_command"
++ else
++ func_quote_for_eval "$var_value"
++ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
++ fi
++ done
++ relink_command="(cd `pwd`; $relink_command)"
++ relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
++ fi
+
-+If FILE is a libtool library, all the files associated with it are deleted.
-+Otherwise, only FILE itself is deleted using RM."
-+ ;;
++ # Quote $ECHO for shipping.
++ if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
++ case $progpath in
++ [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
++ *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
++ esac
++ qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
++ else
++ qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
++ fi
+
-+ *)
-+ func_fatal_help "invalid operation mode \`$mode'"
-+ ;;
-+ esac
++ # Only actually do things if not in dry run mode.
++ $opt_dry_run || {
++ # win32 will think the script is a binary if it has
++ # a .exe suffix, so we strip it off here.
++ case $output in
++ *.exe) func_stripname '' '.exe' "$output"
++ output=$func_stripname_result ;;
++ esac
++ # test for cygwin because mv fails w/o .exe extensions
++ case $host in
++ *cygwin*)
++ exeext=.exe
++ func_stripname '' '.exe' "$outputname"
++ outputname=$func_stripname_result ;;
++ *) exeext= ;;
++ esac
++ case $host in
++ *cygwin* | *mingw* )
++ func_dirname_and_basename "$output" "" "."
++ output_name=$func_basename_result
++ output_path=$func_dirname_result
++ cwrappersource="$output_path/$objdir/lt-$output_name.c"
++ cwrapper="$output_path/$output_name.exe"
++ $RM $cwrappersource $cwrapper
++ trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
++
++ func_emit_cwrapperexe_src > $cwrappersource
++
++ # The wrapper executable is built using the $host compiler,
++ # because it contains $host paths and files. If cross-
++ # compiling, it, like the target executable, must be
++ # executed on the $host or under an emulation environment.
++ $opt_dry_run || {
++ $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
++ $STRIP $cwrapper
++ }
+
-+ $ECHO
-+ $ECHO "Try \`$progname --help' for more information about other modes."
++ # Now, create the wrapper script for func_source use:
++ func_ltwrapper_scriptname $cwrapper
++ $RM $func_ltwrapper_scriptname_result
++ trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
++ $opt_dry_run || {
++ # note: this script will not be executed, so do not chmod.
++ if test "x$build" = "x$host" ; then
++ $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
++ else
++ func_emit_wrapper no > $func_ltwrapper_scriptname_result
++ fi
++ }
++ ;;
++ * )
++ $RM $output
++ trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
+
-+ exit $?
-+}
++ func_emit_wrapper no > $output
++ chmod +x $output
++ ;;
++ esac
++ }
++ exit $EXIT_SUCCESS
++ ;;
++ esac
+
-+ # Now that we've collected a possible --mode arg, show help if necessary
-+ $opt_help && func_mode_help
++ # See if we need to build an old-fashioned archive.
++ for oldlib in $oldlibs; do
+
++ if test "$build_libtool_libs" = convenience; then
++ oldobjs="$libobjs_save $symfileobj"
++ addlibs="$convenience"
++ build_libtool_libs=no
++ else
++ if test "$build_libtool_libs" = module; then
++ oldobjs="$libobjs_save"
++ build_libtool_libs=no
++ else
++ oldobjs="$old_deplibs $non_pic_objects"
++ if test "$preload" = yes && test -f "$symfileobj"; then
++ oldobjs="$oldobjs $symfileobj"
++ fi
++ fi
++ addlibs="$old_convenience"
++ fi
+
-+# func_mode_execute arg...
-+func_mode_execute ()
-+{
-+ $opt_debug
-+ # The first argument is the command name.
-+ cmd="$nonopt"
-+ test -z "$cmd" && \
-+ func_fatal_help "you must specify a COMMAND"
++ if test -n "$addlibs"; then
++ gentop="$output_objdir/${outputname}x"
++ generated="$generated $gentop"
+
-+ # Handle -dlopen flags immediately.
-+ for file in $execute_dlfiles; do
-+ test -f "$file" \
-+ || func_fatal_help "\`$file' is not a file"
++ func_extract_archives $gentop $addlibs
++ oldobjs="$oldobjs $func_extract_archives_result"
++ fi
+
-+ dir=
-+ case $file in
-+ *.la)
-+ # Check to see that this really is a libtool archive.
-+ func_lalib_unsafe_p "$file" \
-+ || func_fatal_help "\`$lib' is not a valid libtool archive"
++ # Do each command in the archive commands.
++ if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
++ cmds=$old_archive_from_new_cmds
++ else
+
-+ # Read the libtool library.
-+ dlname=
-+ library_names=
-+ func_source "$file"
++ # Add any objects from preloaded convenience libraries
++ if test -n "$dlprefiles"; then
++ gentop="$output_objdir/${outputname}x"
++ generated="$generated $gentop"
+
-+ # Skip this library if it cannot be dlopened.
-+ if test -z "$dlname"; then
-+ # Warn if it was a shared library.
-+ test -n "$library_names" && \
-+ func_warning "\`$file' was not linked with \`-export-dynamic'"
-+ continue
++ func_extract_archives $gentop $dlprefiles
++ oldobjs="$oldobjs $func_extract_archives_result"
+ fi
+
-+ func_dirname "$file" "" "."
-+ dir="$func_dirname_result"
++ # POSIX demands no paths to be encoded in archives. We have
++ # to avoid creating archives with duplicate basenames if we
++ # might have to extract them afterwards, e.g., when creating a
++ # static archive out of a convenience library, or when linking
++ # the entirety of a libtool archive into another (currently
++ # not supported by libtool).
++ if (for obj in $oldobjs
++ do
++ func_basename "$obj"
++ $ECHO "$func_basename_result"
++ done | sort | sort -uc >/dev/null 2>&1); then
++ :
++ else
++ $ECHO "copying selected object files to avoid basename conflicts..."
++ gentop="$output_objdir/${outputname}x"
++ generated="$generated $gentop"
++ func_mkdir_p "$gentop"
++ save_oldobjs=$oldobjs
++ oldobjs=
++ counter=1
++ for obj in $save_oldobjs
++ do
++ func_basename "$obj"
++ objbase="$func_basename_result"
++ case " $oldobjs " in
++ " ") oldobjs=$obj ;;
++ *[\ /]"$objbase "*)
++ while :; do
++ # Make sure we don't pick an alternate name that also
++ # overlaps.
++ newobj=lt$counter-$objbase
++ func_arith $counter + 1
++ counter=$func_arith_result
++ case " $oldobjs " in
++ *[\ /]"$newobj "*) ;;
++ *) if test ! -f "$gentop/$newobj"; then break; fi ;;
++ esac
++ done
++ func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
++ oldobjs="$oldobjs $gentop/$newobj"
++ ;;
++ *) oldobjs="$oldobjs $obj" ;;
++ esac
++ done
++ fi
++ eval cmds=\"$old_archive_cmds\"
+
-+ if test -f "$dir/$objdir/$dlname"; then
-+ dir="$dir/$objdir"
++ func_len " $cmds"
++ len=$func_len_result
++ if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
++ cmds=$old_archive_cmds
+ else
-+ if test ! -f "$dir/$dlname"; then
-+ func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
++ # the command line is too long to link in one step, link in parts
++ func_verbose "using piecewise archive linking..."
++ save_RANLIB=$RANLIB
++ RANLIB=:
++ objlist=
++ concat_cmds=
++ save_oldobjs=$oldobjs
++ oldobjs=
++ # Is there a better way of finding the last object in the list?
++ for obj in $save_oldobjs
++ do
++ last_oldobj=$obj
++ done
++ eval test_cmds=\"$old_archive_cmds\"
++ func_len " $test_cmds"
++ len0=$func_len_result
++ len=$len0
++ for obj in $save_oldobjs
++ do
++ func_len " $obj"
++ func_arith $len + $func_len_result
++ len=$func_arith_result
++ func_append objlist " $obj"
++ if test "$len" -lt "$max_cmd_len"; then
++ :
++ else
++ # the above command should be used before it gets too long
++ oldobjs=$objlist
++ if test "$obj" = "$last_oldobj" ; then
++ RANLIB=$save_RANLIB
++ fi
++ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
++ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
++ objlist=
++ len=$len0
++ fi
++ done
++ RANLIB=$save_RANLIB
++ oldobjs=$objlist
++ if test "X$oldobjs" = "X" ; then
++ eval cmds=\"\$concat_cmds\"
++ else
++ eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+ fi
+ fi
-+ ;;
-+
-+ *.lo)
-+ # Just add the directory containing the .lo file.
-+ func_dirname "$file" "" "."
-+ dir="$func_dirname_result"
-+ ;;
-+
-+ *)
-+ func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
-+ continue
-+ ;;
-+ esac
-+
-+ # Get the absolute pathname.
-+ absdir=`cd "$dir" && pwd`
-+ test -n "$absdir" && dir="$absdir"
-+
-+ # Now add the directory to shlibpath_var.
-+ if eval "test -z \"\$$shlibpath_var\""; then
-+ eval "$shlibpath_var=\"\$dir\""
-+ else
-+ eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+ fi
++ func_execute_cmds "$cmds" 'exit $?'
+ done
+
-+ # This variable tells wrapper scripts just to set shlibpath_var
-+ # rather than running their programs.
-+ libtool_execute_magic="$magic"
++ test -n "$generated" && \
++ func_show_eval "${RM}r$generated"
+
-+ # Check if any of the arguments is a wrapper script.
-+ args=
-+ for file
-+ do
-+ case $file in
-+ -*) ;;
-+ *)
-+ # Do a test to see if this is really a libtool program.
-+ if func_ltwrapper_script_p "$file"; then
-+ func_source "$file"
-+ # Transform arg to wrapped name.
-+ file="$progdir/$program"
-+ elif func_ltwrapper_executable_p "$file"; then
-+ func_ltwrapper_scriptname "$file"
-+ func_source "$func_ltwrapper_scriptname_result"
-+ # Transform arg to wrapped name.
-+ file="$progdir/$program"
-+ fi
-+ ;;
-+ esac
-+ # Quote arguments (to preserve shell metacharacters).
-+ func_quote_for_eval "$file"
-+ args="$args $func_quote_for_eval_result"
-+ done
++ # Now create the libtool archive.
++ case $output in
++ *.la)
++ old_library=
++ test "$build_old_libs" = yes && old_library="$libname.$libext"
++ func_verbose "creating $output"
+
-+ if test "X$opt_dry_run" = Xfalse; then
-+ if test -n "$shlibpath_var"; then
-+ # Export the shlibpath_var.
-+ eval "export $shlibpath_var"
++ # Preserve any variables that may affect compiler behavior
++ for var in $variables_saved_for_relink; do
++ if eval test -z \"\${$var+set}\"; then
++ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
++ elif eval var_value=\$$var; test -z "$var_value"; then
++ relink_command="$var=; export $var; $relink_command"
++ else
++ func_quote_for_eval "$var_value"
++ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
++ fi
++ done
++ # Quote the link command for shipping.
++ relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
++ relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
++ if test "$hardcode_automatic" = yes ; then
++ relink_command=
+ fi
+
-+ # Restore saved environment variables
-+ for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-+ do
-+ eval "if test \"\${save_$lt_var+set}\" = set; then
-+ $lt_var=\$save_$lt_var; export $lt_var
-+ else
-+ $lt_unset $lt_var
-+ fi"
-+ done
++ # Only create the output if not a dry run.
++ $opt_dry_run || {
++ for installed in no yes; do
++ if test "$installed" = yes; then
++ if test -z "$install_libdir"; then
++ break
++ fi
++ output="$output_objdir/$outputname"i
++ # Replace all uninstalled libtool libraries with the installed ones
++ newdependency_libs=
++ for deplib in $dependency_libs; do
++ case $deplib in
++ *.la)
++ func_basename "$deplib"
++ name="$func_basename_result"
++ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
++ test -z "$libdir" && \
++ func_fatal_error "\`$deplib' is not a valid libtool archive"
++ newdependency_libs="$newdependency_libs $libdir/$name"
++ ;;
++ *) newdependency_libs="$newdependency_libs $deplib" ;;
++ esac
++ done
++ dependency_libs="$newdependency_libs"
++ newdlfiles=
+
-+ # Now prepare to actually exec the command.
-+ exec_cmd="\$cmd$args"
-+ else
-+ # Display what would be done.
-+ if test -n "$shlibpath_var"; then
-+ eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
-+ $ECHO "export $shlibpath_var"
-+ fi
-+ $ECHO "$cmd$args"
-+ exit $EXIT_SUCCESS
-+ fi
-+}
++ for lib in $dlfiles; do
++ case $lib in
++ *.la)
++ func_basename "$lib"
++ name="$func_basename_result"
++ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
++ test -z "$libdir" && \
++ func_fatal_error "\`$lib' is not a valid libtool archive"
++ newdlfiles="$newdlfiles $libdir/$name"
++ ;;
++ *) newdlfiles="$newdlfiles $lib" ;;
++ esac
++ done
++ dlfiles="$newdlfiles"
++ newdlprefiles=
++ for lib in $dlprefiles; do
++ case $lib in
++ *.la)
++ # Only pass preopened files to the pseudo-archive (for
++ # eventual linking with the app. that links it) if we
++ # didn't already link the preopened objects directly into
++ # the library:
++ func_basename "$lib"
++ name="$func_basename_result"
++ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
++ test -z "$libdir" && \
++ func_fatal_error "\`$lib' is not a valid libtool archive"
++ newdlprefiles="$newdlprefiles $libdir/$name"
++ ;;
++ esac
++ done
++ dlprefiles="$newdlprefiles"
++ else
++ newdlfiles=
++ for lib in $dlfiles; do
++ case $lib in
++ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
++ *) abs=`pwd`"/$lib" ;;
++ esac
++ newdlfiles="$newdlfiles $abs"
++ done
++ dlfiles="$newdlfiles"
++ newdlprefiles=
++ for lib in $dlprefiles; do
++ case $lib in
++ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
++ *) abs=`pwd`"/$lib" ;;
++ esac
++ newdlprefiles="$newdlprefiles $abs"
++ done
++ dlprefiles="$newdlprefiles"
++ fi
++ $RM $output
++ # place dlname in correct position for cygwin
++ tdlname=$dlname
++ case $host,$output,$installed,$module,$dlname in
++ *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
++ esac
++ $ECHO > $output "\
++# $outputname - a libtool library file
++# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
++#
++# Please DO NOT delete this file!
++# It is necessary for linking the library.
+
-+test "$mode" = execute && func_mode_execute ${1+"$@"}
++# The name that we can dlopen(3).
++dlname='$tdlname'
+
++# Names of this library.
++library_names='$library_names'
+
-+# func_mode_finish arg...
-+func_mode_finish ()
-+{
-+ $opt_debug
-+ libdirs="$nonopt"
-+ admincmds=
++# The name of the static archive.
++old_library='$old_library'
+
-+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
-+ for dir
-+ do
-+ libdirs="$libdirs $dir"
-+ done
++# Linker flags that can not go in dependency_libs.
++inherited_linker_flags='$new_inherited_linker_flags'
+
-+ for libdir in $libdirs; do
-+ if test -n "$finish_cmds"; then
-+ # Do each command in the finish commands.
-+ func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
-+'"$cmd"'"'
-+ fi
-+ if test -n "$finish_eval"; then
-+ # Do the single finish_eval.
-+ eval cmds=\"$finish_eval\"
-+ $opt_dry_run || eval "$cmds" || admincmds="$admincmds
-+ $cmds"
-+ fi
-+ done
-+ fi
++# Libraries that this one depends upon.
++dependency_libs='$dependency_libs'
+
-+ # Exit here if they wanted silent mode.
-+ $opt_silent && exit $EXIT_SUCCESS
++# Names of additional weak libraries provided by this library
++weak_library_names='$weak_libs'
+
-+ $ECHO "X----------------------------------------------------------------------" | $Xsed
-+ $ECHO "Libraries have been installed in:"
-+ for libdir in $libdirs; do
-+ $ECHO " $libdir"
-+ done
-+ $ECHO
-+ $ECHO "If you ever happen to want to link against installed libraries"
-+ $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
-+ $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
-+ $ECHO "flag during linking and do at least one of the following:"
-+ if test -n "$shlibpath_var"; then
-+ $ECHO " - add LIBDIR to the \`$shlibpath_var' environment variable"
-+ $ECHO " during execution"
-+ fi
-+ if test -n "$runpath_var"; then
-+ $ECHO " - add LIBDIR to the \`$runpath_var' environment variable"
-+ $ECHO " during linking"
-+ fi
-+ if test -n "$hardcode_libdir_flag_spec"; then
-+ libdir=LIBDIR
-+ eval flag=\"$hardcode_libdir_flag_spec\"
++# Version information for $libname.
++current=$current
++age=$age
++revision=$revision
+
-+ $ECHO " - use the \`$flag' linker flag"
-+ fi
-+ if test -n "$admincmds"; then
-+ $ECHO " - have your system administrator run these commands:$admincmds"
-+ fi
-+ if test -f /etc/ld.so.conf; then
-+ $ECHO " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
-+ fi
-+ $ECHO
++# Is this an already installed library?
++installed=$installed
+
-+ $ECHO "See any operating system documentation about shared libraries for"
-+ case $host in
-+ solaris2.[6789]|solaris2.1[0-9])
-+ $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
-+ $ECHO "pages."
-+ ;;
-+ *)
-+ $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
-+ ;;
-+ esac
-+ $ECHO "X----------------------------------------------------------------------" | $Xsed
-+ exit $EXIT_SUCCESS
-+}
++# Should we warn about portability when linking against -modules?
++shouldnotlink=$module
+
-+test "$mode" = finish && func_mode_finish ${1+"$@"}
++# Files to dlopen/dlpreopen
++dlopen='$dlfiles'
++dlpreopen='$dlprefiles'
+
++# Directory that this library needs to be installed in:
++libdir='$install_libdir'"
++ if test "$installed" = no && test "$need_relink" = yes; then
++ $ECHO >> $output "\
++relink_command=\"$relink_command\""
++ fi
++ done
++ }
+
-+# func_mode_install arg...
-+func_mode_install ()
-+{
-+ $opt_debug
-+ # There may be an optional sh(1) argument at the beginning of
-+ # install_prog (especially on Windows NT).
-+ if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
-+ # Allow the use of GNU shtool's install command.
-+ $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
-+ # Aesthetically quote it.
-+ func_quote_for_eval "$nonopt"
-+ install_prog="$func_quote_for_eval_result "
-+ arg=$1
-+ shift
-+ else
-+ install_prog=
-+ arg=$nonopt
-+ fi
++ # Do a symbolic link so that the libtool archive can be found in
++ # LD_LIBRARY_PATH before the program is installed.
++ func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
++ ;;
++ esac
++ exit $EXIT_SUCCESS
++}
+
-+ # The real first argument should be the name of the installation program.
-+ # Aesthetically quote it.
-+ func_quote_for_eval "$arg"
-+ install_prog="$install_prog$func_quote_for_eval_result"
++{ test "$mode" = link || test "$mode" = relink; } &&
++ func_mode_link ${1+"$@"}
+
-+ # We need to accept at least all the BSD install flags.
-+ dest=
++
++# func_mode_uninstall arg...
++func_mode_uninstall ()
++{
++ $opt_debug
++ RM="$nonopt"
+ files=
-+ opts=
-+ prev=
-+ install_type=
-+ isdir=no
-+ stripme=
++ rmforce=
++ exit_status=0
++
++ # This variable tells wrapper scripts just to set variables rather
++ # than running their programs.
++ libtool_install_magic="$magic"
++
+ for arg
+ do
-+ if test -n "$dest"; then
-+ files="$files $dest"
-+ dest=$arg
-+ continue
++ case $arg in
++ -f) RM="$RM $arg"; rmforce=yes ;;
++ -*) RM="$RM $arg" ;;
++ *) files="$files $arg" ;;
++ esac
++ done
++
++ test -z "$RM" && \
++ func_fatal_help "you must specify an RM program"
++
++ rmdirs=
++
++ origobjdir="$objdir"
++ for file in $files; do
++ func_dirname "$file" "" "."
++ dir="$func_dirname_result"
++ if test "X$dir" = X.; then
++ objdir="$origobjdir"
++ else
++ objdir="$dir/$origobjdir"
+ fi
++ func_basename "$file"
++ name="$func_basename_result"
++ test "$mode" = uninstall && objdir="$dir"
+
-+ case $arg in
-+ -d) isdir=yes ;;
-+ -f)
-+ case " $install_prog " in
-+ *[\\\ /]cp\ *) ;;
-+ *) prev=$arg ;;
++ # Remember objdir for removal later, being careful to avoid duplicates
++ if test "$mode" = clean; then
++ case " $rmdirs " in
++ *" $objdir "*) ;;
++ *) rmdirs="$rmdirs $objdir" ;;
+ esac
-+ ;;
-+ -g | -m | -o)
-+ prev=$arg
-+ ;;
-+ -s)
-+ stripme=" -s"
++ fi
++
++ # Don't error if the file doesn't exist and rm -f was used.
++ if { test -L "$file"; } >/dev/null 2>&1 ||
++ { test -h "$file"; } >/dev/null 2>&1 ||
++ test -f "$file"; then
++ :
++ elif test -d "$file"; then
++ exit_status=1
++ continue
++ elif test "$rmforce" = yes; then
+ continue
++ fi
++
++ rmfiles="$file"
++
++ case $name in
++ *.la)
++ # Possibly a libtool archive, so verify it.
++ if func_lalib_p "$file"; then
++ func_source $dir/$name
++
++ # Delete the libtool libraries and symlinks.
++ for n in $library_names; do
++ rmfiles="$rmfiles $objdir/$n"
++ done
++ test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
++
++ case "$mode" in
++ clean)
++ case " $library_names " in
++ # " " in the beginning catches empty $dlname
++ *" $dlname "*) ;;
++ *) rmfiles="$rmfiles $objdir/$dlname" ;;
++ esac
++ test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
++ ;;
++ uninstall)
++ if test -n "$library_names"; then
++ # Do each command in the postuninstall commands.
++ func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
++ fi
++
++ if test -n "$old_library"; then
++ # Do each command in the old_postuninstall commands.
++ func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
++ fi
++ # FIXME: should reinstall the best remaining shared library.
++ ;;
++ esac
++ fi
+ ;;
-+ -*)
++
++ *.lo)
++ # Possibly a libtool object, so verify it.
++ if func_lalib_p "$file"; then
++
++ # Read the .lo file
++ func_source $dir/$name
++
++ # Add PIC object to the list of files to remove.
++ if test -n "$pic_object" &&
++ test "$pic_object" != none; then
++ rmfiles="$rmfiles $dir/$pic_object"
++ fi
++
++ # Add non-PIC object to the list of files to remove.
++ if test -n "$non_pic_object" &&
++ test "$non_pic_object" != none; then
++ rmfiles="$rmfiles $dir/$non_pic_object"
++ fi
++ fi
+ ;;
++
+ *)
-+ # If the previous option needed an argument, then skip it.
-+ if test -n "$prev"; then
-+ prev=
-+ else
-+ dest=$arg
-+ continue
++ if test "$mode" = clean ; then
++ noexename=$name
++ case $file in
++ *.exe)
++ func_stripname '' '.exe' "$file"
++ file=$func_stripname_result
++ func_stripname '' '.exe' "$name"
++ noexename=$func_stripname_result
++ # $file with .exe has already been added to rmfiles,
++ # add $file without .exe
++ rmfiles="$rmfiles $file"
++ ;;
++ esac
++ # Do a test to see if this is a libtool program.
++ if func_ltwrapper_p "$file"; then
++ if func_ltwrapper_executable_p "$file"; then
++ func_ltwrapper_scriptname "$file"
++ relink_command=
++ func_source $func_ltwrapper_scriptname_result
++ rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
++ else
++ relink_command=
++ func_source $dir/$noexename
++ fi
++
++ # note $name still contains .exe if it was in $file originally
++ # as does the version of $file that was added into $rmfiles
++ rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
++ if test "$fast_install" = yes && test -n "$relink_command"; then
++ rmfiles="$rmfiles $objdir/lt-$name"
++ fi
++ if test "X$noexename" != "X$name" ; then
++ rmfiles="$rmfiles $objdir/lt-${noexename}.c"
++ fi
++ fi
+ fi
+ ;;
+ esac
++ func_show_eval "$RM $rmfiles" 'exit_status=1'
++ done
++ objdir="$origobjdir"
+
-+ # Aesthetically quote the argument.
-+ func_quote_for_eval "$arg"
-+ install_prog="$install_prog $func_quote_for_eval_result"
++ # Try to remove the ${objdir}s in the directories where we deleted files
++ for dir in $rmdirs; do
++ if test -d "$dir"; then
++ func_show_eval "rmdir $dir >/dev/null 2>&1"
++ fi
+ done
+
-+ test -z "$install_prog" && \
-+ func_fatal_help "you must specify an install program"
++ exit $exit_status
++}
+
-+ test -n "$prev" && \
-+ func_fatal_help "the \`$prev' option requires an argument"
++{ test "$mode" = uninstall || test "$mode" = clean; } &&
++ func_mode_uninstall ${1+"$@"}
+
-+ if test -z "$files"; then
-+ if test -z "$dest"; then
-+ func_fatal_help "no file or destination specified"
-+ else
-+ func_fatal_help "you must specify a destination"
-+ fi
-+ fi
++test -z "$mode" && {
++ help="$generic_help"
++ func_fatal_help "you must specify a MODE"
++}
+
-+ # Strip any trailing slash from the destination.
-+ func_stripname '' '/' "$dest"
-+ dest=$func_stripname_result
++test -z "$exec_cmd" && \
++ func_fatal_help "invalid operation mode \`$mode'"
+
-+ # Check to see that the destination is a directory.
-+ test -d "$dest" && isdir=yes
-+ if test "$isdir" = yes; then
-+ destdir="$dest"
-+ destname=
-+ else
-+ func_dirname_and_basename "$dest" "" "."
-+ destdir="$func_dirname_result"
-+ destname="$func_basename_result"
++if test -n "$exec_cmd"; then
++ eval exec "$exec_cmd"
++ exit $EXIT_FAILURE
++fi
+
-+ # Not a directory, so check to see that there is only one file specified.
-+ set dummy $files; shift
-+ test "$#" -gt 1 && \
-+ func_fatal_help "\`$dest' is not a directory"
-+ fi
-+ case $destdir in
-+ [\\/]* | [A-Za-z]:[\\/]*) ;;
-+ *)
-+ for file in $files; do
-+ case $file in
-+ *.lo) ;;
-+ *)
-+ func_fatal_help "\`$destdir' must be an absolute directory name"
-+ ;;
-+ esac
-+ done
-+ ;;
-+ esac
++exit $exit_status
+
-+ # This variable tells wrapper scripts just to set variables rather
-+ # than running their programs.
-+ libtool_install_magic="$magic"
+
-+ staticlibs=
-+ future_libdirs=
-+ current_libdirs=
-+ for file in $files; do
++# The TAGs below are defined such that we never get into a situation
++# in which we disable both kinds of libraries. Given conflicting
++# choices, we go for a static library, that is the most portable,
++# since we can't tell whether shared libraries were disabled because
++# the user asked for that or because the platform doesn't support
++# them. This is particularly important on AIX, because we don't
++# support having both static and shared libraries enabled at the same
++# time on that platform, so we default to a shared-only configuration.
++# If a disable-shared tag is given, we'll fallback to a static-only
++# configuration. But we'll never go from static-only to shared-only.
+
-+ # Do each installation.
-+ case $file in
-+ *.$libext)
-+ # Do the static libraries later.
-+ staticlibs="$staticlibs $file"
-+ ;;
++# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
++build_libtool_libs=no
++build_old_libs=yes
++# ### END LIBTOOL TAG CONFIG: disable-shared
+
-+ *.la)
-+ # Check to see that this really is a libtool archive.
-+ func_lalib_unsafe_p "$file" \
-+ || func_fatal_help "\`$file' is not a valid libtool archive"
++# ### BEGIN LIBTOOL TAG CONFIG: disable-static
++build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
++# ### END LIBTOOL TAG CONFIG: disable-static
+
-+ library_names=
-+ old_library=
-+ relink_command=
-+ func_source "$file"
++# Local Variables:
++# mode:shell-script
++# sh-indentation:2
++# End:
++# vi:sw=2
+
-+ # Add the libdir to current_libdirs if it is the destination.
-+ if test "X$destdir" = "X$libdir"; then
-+ case "$current_libdirs " in
-+ *" $libdir "*) ;;
-+ *) current_libdirs="$current_libdirs $libdir" ;;
-+ esac
-+ else
-+ # Note the libdir as a future libdir.
-+ case "$future_libdirs " in
-+ *" $libdir "*) ;;
-+ *) future_libdirs="$future_libdirs $libdir" ;;
-+ esac
-+ fi
+Index: libdessert0.86-0.86.14/m4/ac_doxygen.m4
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/m4/ac_doxygen.m4 2009-12-09 16:38:27.254756172 +0100
+@@ -0,0 +1,324 @@
++#
++# Copyright 2007 Oren Ben-Kiki
++#
++# Licensed under the Apache License, Version 2.0 (the "License");
++# you may not use this file except in compliance with the License.
++# You may obtain a copy of the License at
++#
++# http://www.apache.org/licenses/LICENSE-2.0
++#
++# Unless required by applicable law or agreed to in writing,
++# software distributed under the License is distributed on an "AS IS" BASIS,
++# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
++# implied. See the License for the specific language governing
++# permissions and limitations under the License.
++#
+
-+ func_dirname "$file" "/" ""
-+ dir="$func_dirname_result"
-+ dir="$dir$objdir"
+
-+ if test -n "$relink_command"; then
-+ # Determine the prefix the user has applied to our future dir.
-+ inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
++# Generate automatic documentation using Doxygen. Works in concert with the
++# aminclude.m4 file and a compatible doxygen configuration file. Defines the
++# following public macros:
++#
++# DX_???_FEATURE(ON|OFF) - control the default setting fo a Doxygen feature.
++# Supported features are 'DOXYGEN' itself, 'DOT' for generating graphics,
++# 'HTML' for plain HTML, 'CHM' for compressed HTML help (for MS users), 'CHI'
++# for generating a seperate .chi file by the .chm file, and 'MAN', 'RTF',
++# 'XML', 'PDF' and 'PS' for the appropriate output formats. The environment
++# variable DOXYGEN_PAPER_SIZE may be specified to override the default 'a4wide'
++# paper size.
++#
++# By default, HTML, PDF and PS documentation is generated as this seems to be
++# the most popular and portable combination. MAN pages created by Doxygen are
++# usually problematic, though by picking an appropriate subset and doing some
++# massaging they might be better than nothing. CHM and RTF are specific for MS
++# (note that you can't generate both HTML and CHM at the same time). The XML is
++# rather useless unless you apply specialized post-processing to it.
++#
++# The macro mainly controls the default state of the feature. The use can
++# override the default by specifying --enable or --disable. The macros ensure
++# that contradictory flags are not given (e.g., --enable-doxygen-html and
++# --enable-doxygen-chm, --enable-doxygen-anything with --disable-doxygen, etc.)
++# Finally, each feature will be automatically disabled (with a warning) if the
++# required programs are missing.
++#
++# Once all the feature defaults have been specified, call DX_INIT_DOXYGEN with
++# the following parameters: a one-word name for the project for use as a
++# filename base etc., an optional configuration file name (the default is
++# 'Doxyfile', the same as Doxygen's default), and an optional output directory
++# name (the default is 'doxygen-doc').
+
-+ # Don't allow the user to place us outside of our expected
-+ # location b/c this prevents finding dependent libraries that
-+ # are installed to the same prefix.
-+ # At present, this check doesn't affect windows .dll's that
-+ # are installed into $libdir/../bin (currently, that works fine)
-+ # but it's something to keep an eye on.
-+ test "$inst_prefix_dir" = "$destdir" && \
-+ func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
++## ----------##
++## Defaults. ##
++## ----------##
+
-+ if test -n "$inst_prefix_dir"; then
-+ # Stick the inst_prefix_dir data into the link command.
-+ relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
-+ else
-+ relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
-+ fi
++DX_ENV=""
++AC_DEFUN([DX_FEATURE_doc], ON)
++AC_DEFUN([DX_FEATURE_dot], ON)
++AC_DEFUN([DX_FEATURE_man], OFF)
++AC_DEFUN([DX_FEATURE_html], ON)
++AC_DEFUN([DX_FEATURE_chm], OFF)
++AC_DEFUN([DX_FEATURE_chi], OFF)
++AC_DEFUN([DX_FEATURE_rtf], OFF)
++AC_DEFUN([DX_FEATURE_xml], OFF)
++AC_DEFUN([DX_FEATURE_pdf], ON)
++AC_DEFUN([DX_FEATURE_ps], ON)
+
-+ func_warning "relinking \`$file'"
-+ func_show_eval "$relink_command" \
-+ 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
-+ fi
++## --------------- ##
++## Private macros. ##
++## --------------- ##
+
-+ # See the names of the shared library.
-+ set dummy $library_names; shift
-+ if test -n "$1"; then
-+ realname="$1"
-+ shift
++# DX_ENV_APPEND(VARIABLE, VALUE)
++# ------------------------------
++# Append VARIABLE="VALUE" to DX_ENV for invoking doxygen.
++AC_DEFUN([DX_ENV_APPEND], [AC_SUBST([DX_ENV], ["$DX_ENV $1='$2'"])])
+
-+ srcname="$realname"
-+ test -n "$relink_command" && srcname="$realname"T
++# DX_DIRNAME_EXPR
++# ---------------
++# Expand into a shell expression prints the directory part of a path.
++AC_DEFUN([DX_DIRNAME_EXPR],
++ [[expr ".$1" : '\(\.\)[^/]*$' \| "x$1" : 'x\(.*\)/[^/]*$']])
+
-+ # Install the shared library and build the symlinks.
-+ func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
-+ 'exit $?'
-+ tstripme="$stripme"
-+ case $host_os in
-+ cygwin* | mingw* | pw32* | cegcc*)
-+ case $realname in
-+ *.dll.a)
-+ tstripme=""
-+ ;;
-+ esac
-+ ;;
-+ esac
-+ if test -n "$tstripme" && test -n "$striplib"; then
-+ func_show_eval "$striplib $destdir/$realname" 'exit $?'
-+ fi
++# DX_IF_FEATURE(FEATURE, IF-ON, IF-OFF)
++# -------------------------------------
++# Expands according to the M4 (static) status of the feature.
++AC_DEFUN([DX_IF_FEATURE], [ifelse(DX_FEATURE_$1, ON, [$2], [$3])])
+
-+ if test "$#" -gt 0; then
-+ # Delete the old symlinks, and create new ones.
-+ # Try `ln -sf' first, because the `ln' binary might depend on
-+ # the symlink we replace! Solaris /bin/ln does not understand -f,
-+ # so we also need to try rm && ln -s.
-+ for linkname
-+ do
-+ test "$linkname" != "$realname" \
-+ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
-+ done
-+ fi
++# DX_REQUIRE_PROG(VARIABLE, PROGRAM)
++# ----------------------------------
++# Require the specified program to be found for the DX_CURRENT_FEATURE to work.
++AC_DEFUN([DX_REQUIRE_PROG], [
++AC_PATH_TOOL([$1], [$2])
++if test "$DX_FLAG_$[DX_CURRENT_FEATURE$$1]" = 1; then
++ AC_MSG_WARN([$2 not found - will not DX_CURRENT_DESCRIPTION])
++ AC_SUBST([DX_FLAG_]DX_CURRENT_FEATURE, 0)
++fi
++])
+
-+ # Do each command in the postinstall commands.
-+ lib="$destdir/$realname"
-+ func_execute_cmds "$postinstall_cmds" 'exit $?'
-+ fi
++# DX_TEST_FEATURE(FEATURE)
++# ------------------------
++# Expand to a shell expression testing whether the feature is active.
++AC_DEFUN([DX_TEST_FEATURE], [test "$DX_FLAG_$1" = 1])
+
-+ # Install the pseudo-library for information purposes.
-+ func_basename "$file"
-+ name="$func_basename_result"
-+ instname="$dir/$name"i
-+ func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
++# DX_CHECK_DEPEND(REQUIRED_FEATURE, REQUIRED_STATE)
++# -------------------------------------------------
++# Verify that a required features has the right state before trying to turn on
++# the DX_CURRENT_FEATURE.
++AC_DEFUN([DX_CHECK_DEPEND], [
++test "$DX_FLAG_$1" = "$2" \
++|| AC_MSG_ERROR([doxygen-DX_CURRENT_FEATURE ifelse([$2], 1,
++ requires, contradicts) doxygen-DX_CURRENT_FEATURE])
++])
++
++# DX_CLEAR_DEPEND(FEATURE, REQUIRED_FEATURE, REQUIRED_STATE)
++# ----------------------------------------------------------
++# Turn off the DX_CURRENT_FEATURE if the required feature is off.
++AC_DEFUN([DX_CLEAR_DEPEND], [
++test "$DX_FLAG_$1" = "$2" || AC_SUBST([DX_FLAG_]DX_CURRENT_FEATURE, 0)
++])
++
++# DX_FEATURE_ARG(FEATURE, DESCRIPTION,
++# CHECK_DEPEND, CLEAR_DEPEND,
++# REQUIRE, DO-IF-ON, DO-IF-OFF)
++# --------------------------------------------
++# Parse the command-line option controlling a feature. CHECK_DEPEND is called
++# if the user explicitly turns the feature on (and invokes DX_CHECK_DEPEND),
++# otherwise CLEAR_DEPEND is called to turn off the default state if a required
++# feature is disabled (using DX_CLEAR_DEPEND). REQUIRE performs additional
++# requirement tests (DX_REQUIRE_PROG). Finally, an automake flag is set and
++# DO-IF-ON or DO-IF-OFF are called according to the final state of the feature.
++AC_DEFUN([DX_ARG_ABLE], [
++ AC_DEFUN([DX_CURRENT_FEATURE], [$1])
++ AC_DEFUN([DX_CURRENT_DESCRIPTION], [$2])
++ AC_ARG_ENABLE(doxygen-$1,
++ [AS_HELP_STRING(DX_IF_FEATURE([$1], [--disable-doxygen-$1],
++ [--enable-doxygen-$1]),
++ DX_IF_FEATURE([$1], [don't $2], [$2]))],
++ [
++case "$enableval" in
++#(
++y|Y|yes|Yes|YES)
++ AC_SUBST([DX_FLAG_$1], 1)
++ $3
++;; #(
++n|N|no|No|NO)
++ AC_SUBST([DX_FLAG_$1], 0)
++;; #(
++*)
++ AC_MSG_ERROR([invalid value '$enableval' given to doxygen-$1])
++;;
++esac
++], [
++AC_SUBST([DX_FLAG_$1], [DX_IF_FEATURE([$1], 1, 0)])
++$4
++])
++if DX_TEST_FEATURE([$1]); then
++ $5
++ :
++fi
++if DX_TEST_FEATURE([$1]); then
++ AM_CONDITIONAL(DX_COND_$1, :)
++ $6
++ :
++else
++ AM_CONDITIONAL(DX_COND_$1, false)
++ $7
++ :
++fi
++])
+
-+ # Maybe install the static library, too.
-+ test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
-+ ;;
++## -------------- ##
++## Public macros. ##
++## -------------- ##
+
-+ *.lo)
-+ # Install (i.e. copy) a libtool object.
++# DX_XXX_FEATURE(DEFAULT_STATE)
++# -----------------------------
++AC_DEFUN([DX_DOXYGEN_FEATURE], [AC_DEFUN([DX_FEATURE_doc], [$1])])
++AC_DEFUN([DX_MAN_FEATURE], [AC_DEFUN([DX_FEATURE_man], [$1])])
++AC_DEFUN([DX_HTML_FEATURE], [AC_DEFUN([DX_FEATURE_html], [$1])])
++AC_DEFUN([DX_CHM_FEATURE], [AC_DEFUN([DX_FEATURE_chm], [$1])])
++AC_DEFUN([DX_CHI_FEATURE], [AC_DEFUN([DX_FEATURE_chi], [$1])])
++AC_DEFUN([DX_RTF_FEATURE], [AC_DEFUN([DX_FEATURE_rtf], [$1])])
++AC_DEFUN([DX_XML_FEATURE], [AC_DEFUN([DX_FEATURE_xml], [$1])])
++AC_DEFUN([DX_XML_FEATURE], [AC_DEFUN([DX_FEATURE_xml], [$1])])
++AC_DEFUN([DX_PDF_FEATURE], [AC_DEFUN([DX_FEATURE_pdf], [$1])])
++AC_DEFUN([DX_PS_FEATURE], [AC_DEFUN([DX_FEATURE_ps], [$1])])
+
-+ # Figure out destination file name, if it wasn't already specified.
-+ if test -n "$destname"; then
-+ destfile="$destdir/$destname"
-+ else
-+ func_basename "$file"
-+ destfile="$func_basename_result"
-+ destfile="$destdir/$destfile"
-+ fi
++# DX_INIT_DOXYGEN(PROJECT, [CONFIG-FILE], [OUTPUT-DOC-DIR])
++# ---------------------------------------------------------
++# PROJECT also serves as the base name for the documentation files.
++# The default CONFIG-FILE is "Doxyfile" and OUTPUT-DOC-DIR is "doxygen-doc".
++AC_DEFUN([DX_INIT_DOXYGEN], [
+
-+ # Deduce the name of the destination old-style object file.
-+ case $destfile in
-+ *.lo)
-+ func_lo2o "$destfile"
-+ staticdest=$func_lo2o_result
-+ ;;
-+ *.$objext)
-+ staticdest="$destfile"
-+ destfile=
-+ ;;
-+ *)
-+ func_fatal_help "cannot copy a libtool object to \`$destfile'"
-+ ;;
-+ esac
++# Files:
++AC_SUBST([DX_PROJECT], [$1])
++AC_SUBST([DX_CONFIG], [ifelse([$2], [], Doxyfile, [$2])])
++AC_SUBST([DX_DOCDIR], [ifelse([$3], [], doxygen-doc, [$3])])
+
-+ # Install the libtool object if requested.
-+ test -n "$destfile" && \
-+ func_show_eval "$install_prog $file $destfile" 'exit $?'
++# Environment variables used inside doxygen.cfg:
++DX_ENV_APPEND(SRCDIR, $srcdir)
++DX_ENV_APPEND(PROJECT, $DX_PROJECT)
++DX_ENV_APPEND(DOCDIR, $DX_DOCDIR)
++DX_ENV_APPEND(VERSION, $PACKAGE_VERSION)
+
-+ # Install the old object if enabled.
-+ if test "$build_old_libs" = yes; then
-+ # Deduce the name of the old-style object file.
-+ func_lo2o "$file"
-+ staticobj=$func_lo2o_result
-+ func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
-+ fi
-+ exit $EXIT_SUCCESS
-+ ;;
++# Doxygen itself:
++DX_ARG_ABLE(doc, [generate any doxygen documentation],
++ [],
++ [],
++ [DX_REQUIRE_PROG([DX_DOXYGEN], doxygen)
++ DX_REQUIRE_PROG([DX_PERL], perl)],
++ [DX_ENV_APPEND(PERL_PATH, $DX_PERL)])
+
-+ *)
-+ # Figure out destination file name, if it wasn't already specified.
-+ if test -n "$destname"; then
-+ destfile="$destdir/$destname"
-+ else
-+ func_basename "$file"
-+ destfile="$func_basename_result"
-+ destfile="$destdir/$destfile"
-+ fi
++# Dot for graphics:
++DX_ARG_ABLE(dot, [generate graphics for doxygen documentation],
++ [DX_CHECK_DEPEND(doc, 1)],
++ [DX_CLEAR_DEPEND(doc, 1)],
++ [DX_REQUIRE_PROG([DX_DOT], dot)],
++ [DX_ENV_APPEND(HAVE_DOT, YES)
++ DX_ENV_APPEND(DOT_PATH, [`DX_DIRNAME_EXPR($DX_DOT)`])],
++ [DX_ENV_APPEND(HAVE_DOT, NO)])
+
-+ # If the file is missing, and there is a .exe on the end, strip it
-+ # because it is most likely a libtool script we actually want to
-+ # install
-+ stripped_ext=""
-+ case $file in
-+ *.exe)
-+ if test ! -f "$file"; then
-+ func_stripname '' '.exe' "$file"
-+ file=$func_stripname_result
-+ stripped_ext=".exe"
-+ fi
-+ ;;
-+ esac
++# Man pages generation:
++DX_ARG_ABLE(man, [generate doxygen manual pages],
++ [DX_CHECK_DEPEND(doc, 1)],
++ [DX_CLEAR_DEPEND(doc, 1)],
++ [],
++ [DX_ENV_APPEND(GENERATE_MAN, YES)],
++ [DX_ENV_APPEND(GENERATE_MAN, NO)])
+
-+ # Do a test to see if this is really a libtool program.
-+ case $host in
-+ *cygwin* | *mingw*)
-+ if func_ltwrapper_executable_p "$file"; then
-+ func_ltwrapper_scriptname "$file"
-+ wrapper=$func_ltwrapper_scriptname_result
-+ else
-+ func_stripname '' '.exe' "$file"
-+ wrapper=$func_stripname_result
-+ fi
-+ ;;
-+ *)
-+ wrapper=$file
-+ ;;
-+ esac
-+ if func_ltwrapper_script_p "$wrapper"; then
-+ notinst_deplibs=
-+ relink_command=
++# RTF file generation:
++DX_ARG_ABLE(rtf, [generate doxygen RTF documentation],
++ [DX_CHECK_DEPEND(doc, 1)],
++ [DX_CLEAR_DEPEND(doc, 1)],
++ [],
++ [DX_ENV_APPEND(GENERATE_RTF, YES)],
++ [DX_ENV_APPEND(GENERATE_RTF, NO)])
+
-+ func_source "$wrapper"
++# XML file generation:
++DX_ARG_ABLE(xml, [generate doxygen XML documentation],
++ [DX_CHECK_DEPEND(doc, 1)],
++ [DX_CLEAR_DEPEND(doc, 1)],
++ [],
++ [DX_ENV_APPEND(GENERATE_XML, YES)],
++ [DX_ENV_APPEND(GENERATE_XML, NO)])
+
-+ # Check the variables that should have been set.
-+ test -z "$generated_by_libtool_version" && \
-+ func_fatal_error "invalid libtool wrapper script \`$wrapper'"
++# (Compressed) HTML help generation:
++DX_ARG_ABLE(chm, [generate doxygen compressed HTML help documentation],
++ [DX_CHECK_DEPEND(doc, 1)],
++ [DX_CLEAR_DEPEND(doc, 1)],
++ [DX_REQUIRE_PROG([DX_HHC], hhc)],
++ [DX_ENV_APPEND(HHC_PATH, $DX_HHC)
++ DX_ENV_APPEND(GENERATE_HTML, YES)
++ DX_ENV_APPEND(GENERATE_HTMLHELP, YES)],
++ [DX_ENV_APPEND(GENERATE_HTMLHELP, NO)])
+
-+ finalize=yes
-+ for lib in $notinst_deplibs; do
-+ # Check to see that each library is installed.
-+ libdir=
-+ if test -f "$lib"; then
-+ func_source "$lib"
-+ fi
-+ libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
-+ if test -n "$libdir" && test ! -f "$libfile"; then
-+ func_warning "\`$lib' has not been installed in \`$libdir'"
-+ finalize=no
-+ fi
-+ done
++# Seperate CHI file generation.
++DX_ARG_ABLE(chi, [generate doxygen seperate compressed HTML help index file],
++ [DX_CHECK_DEPEND(chm, 1)],
++ [DX_CLEAR_DEPEND(chm, 1)],
++ [],
++ [DX_ENV_APPEND(GENERATE_CHI, YES)],
++ [DX_ENV_APPEND(GENERATE_CHI, NO)])
+
-+ relink_command=
-+ func_source "$wrapper"
++# Plain HTML pages generation:
++DX_ARG_ABLE(html, [generate doxygen plain HTML documentation],
++ [DX_CHECK_DEPEND(doc, 1) DX_CHECK_DEPEND(chm, 0)],
++ [DX_CLEAR_DEPEND(doc, 1) DX_CLEAR_DEPEND(chm, 0)],
++ [],
++ [DX_ENV_APPEND(GENERATE_HTML, YES)],
++ [DX_TEST_FEATURE(chm) || DX_ENV_APPEND(GENERATE_HTML, NO)])
+
-+ outputname=
-+ if test "$fast_install" = no && test -n "$relink_command"; then
-+ $opt_dry_run || {
-+ if test "$finalize" = yes; then
-+ tmpdir=`func_mktempdir`
-+ func_basename "$file$stripped_ext"
-+ file="$func_basename_result"
-+ outputname="$tmpdir/$file"
-+ # Replace the output file specification.
-+ relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
++# PostScript file generation:
++DX_ARG_ABLE(ps, [generate doxygen PostScript documentation],
++ [DX_CHECK_DEPEND(doc, 1)],
++ [DX_CLEAR_DEPEND(doc, 1)],
++ [DX_REQUIRE_PROG([DX_LATEX], latex)
++ DX_REQUIRE_PROG([DX_MAKEINDEX], makeindex)
++ DX_REQUIRE_PROG([DX_DVIPS], dvips)
++ DX_REQUIRE_PROG([DX_EGREP], egrep)])
+
-+ $opt_silent || {
-+ func_quote_for_expand "$relink_command"
-+ eval "func_echo $func_quote_for_expand_result"
-+ }
-+ if eval "$relink_command"; then :
-+ else
-+ func_error "error: relink \`$file' with the above command before installing it"
-+ $opt_dry_run || ${RM}r "$tmpdir"
-+ continue
-+ fi
-+ file="$outputname"
-+ else
-+ func_warning "cannot relink \`$file'"
-+ fi
-+ }
-+ else
-+ # Install the binary that we compiled earlier.
-+ file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
-+ fi
-+ fi
++# PDF file generation:
++DX_ARG_ABLE(pdf, [generate doxygen PDF documentation],
++ [DX_CHECK_DEPEND(doc, 1)],
++ [DX_CLEAR_DEPEND(doc, 1)],
++ [DX_REQUIRE_PROG([DX_PDFLATEX], pdflatex)
++ DX_REQUIRE_PROG([DX_MAKEINDEX], makeindex)
++ DX_REQUIRE_PROG([DX_EGREP], egrep)])
+
-+ # remove .exe since cygwin /usr/bin/install will append another
-+ # one anyway
-+ case $install_prog,$host in
-+ */usr/bin/install*,*cygwin*)
-+ case $file:$destfile in
-+ *.exe:*.exe)
-+ # this is ok
-+ ;;
-+ *.exe:*)
-+ destfile=$destfile.exe
-+ ;;
-+ *:*.exe)
-+ func_stripname '' '.exe' "$destfile"
-+ destfile=$func_stripname_result
-+ ;;
-+ esac
-+ ;;
-+ esac
-+ func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
-+ $opt_dry_run || if test -n "$outputname"; then
-+ ${RM}r "$tmpdir"
-+ fi
-+ ;;
-+ esac
-+ done
++# LaTeX generation for PS and/or PDF:
++if DX_TEST_FEATURE(ps) || DX_TEST_FEATURE(pdf); then
++ AM_CONDITIONAL(DX_COND_latex, :)
++ DX_ENV_APPEND(GENERATE_LATEX, YES)
++else
++ AM_CONDITIONAL(DX_COND_latex, false)
++ DX_ENV_APPEND(GENERATE_LATEX, NO)
++fi
+
-+ for file in $staticlibs; do
-+ func_basename "$file"
-+ name="$func_basename_result"
++# Paper size for PS and/or PDF:
++AC_ARG_VAR(DOXYGEN_PAPER_SIZE,
++ [a4wide (default), a4, letter, legal or executive])
++case "$DOXYGEN_PAPER_SIZE" in
++#(
++"")
++ AC_SUBST(DOXYGEN_PAPER_SIZE, "")
++;; #(
++a4wide|a4|letter|legal|executive)
++ DX_ENV_APPEND(PAPER_SIZE, $DOXYGEN_PAPER_SIZE)
++;; #(
++*)
++ AC_MSG_ERROR([unknown DOXYGEN_PAPER_SIZE='$DOXYGEN_PAPER_SIZE'])
++;;
++esac
+
-+ # Set up the ranlib parameters.
-+ oldlib="$destdir/$name"
++#For debugging:
++#echo DX_FLAG_doc=$DX_FLAG_doc
++#echo DX_FLAG_dot=$DX_FLAG_dot
++#echo DX_FLAG_man=$DX_FLAG_man
++#echo DX_FLAG_html=$DX_FLAG_html
++#echo DX_FLAG_chm=$DX_FLAG_chm
++#echo DX_FLAG_chi=$DX_FLAG_chi
++#echo DX_FLAG_rtf=$DX_FLAG_rtf
++#echo DX_FLAG_xml=$DX_FLAG_xml
++#echo DX_FLAG_pdf=$DX_FLAG_pdf
++#echo DX_FLAG_ps=$DX_FLAG_ps
++#echo DX_ENV=$DX_ENV
++])
+Index: libdessert0.86-0.86.14/m4/ax_pthread.m4
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/m4/ax_pthread.m4 2009-12-09 16:38:27.254756172 +0100
+@@ -0,0 +1,272 @@
++# ===========================================================================
++# http://www.nongnu.org/autoconf-archive/ax_pthread.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
++#
++# DESCRIPTION
++#
++# This macro figures out how to build C programs using POSIX threads. It
++# sets the PTHREAD_LIBS output variable to the threads library and linker
++# flags, and the PTHREAD_CFLAGS output variable to any special C compiler
++# flags that are needed. (The user can also force certain compiler
++# flags/libs to be tested by setting these environment variables.)
++#
++# Also sets PTHREAD_CC to any special C compiler that is needed for
++# multi-threaded programs (defaults to the value of CC otherwise). (This
++# is necessary on AIX to use the special cc_r compiler alias.)
++#
++# NOTE: You are assumed to not only compile your program with these flags,
++# but also link it with them as well. e.g. you should link with
++# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
++#
++# If you are only building threads programs, you may wish to use these
++# variables in your default LIBS, CFLAGS, and CC:
++#
++# LIBS="$PTHREAD_LIBS $LIBS"
++# CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
++# CC="$PTHREAD_CC"
++#
++# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant
++# has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name
++# (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
++#
++# ACTION-IF-FOUND is a list of shell commands to run if a threads library
++# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it
++# is not found. If ACTION-IF-FOUND is not specified, the default action
++# will define HAVE_PTHREAD.
++#
++# Please let the authors know if this macro fails on any platform, or if
++# you have any other suggestions or comments. This macro was based on work
++# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help
++# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by
++# Alejandro Forero Cuervo to the autoconf macro repository. We are also
++# grateful for the helpful feedback of numerous users.
++#
++# LICENSE
++#
++# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
++#
++# 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/>.
++#
++# As a special exception, the respective Autoconf Macro's copyright owner
++# gives unlimited permission to copy, distribute and modify the configure
++# scripts that are the output of Autoconf when processing the Macro. You
++# need not follow the terms of the GNU General Public License when using
++# or distributing such scripts, even though portions of the text of the
++# Macro appear in them. The GNU General Public License (GPL) does govern
++# all other use of the material that constitutes the Autoconf Macro.
++#
++# This special exception to the GPL applies to versions of the Autoconf
++# Macro released by the Autoconf Archive. When you make and distribute a
++# modified version of the Autoconf Macro, you may extend this special
++# exception to the GPL to apply to your modified version as well.
+
-+ func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
++AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
++AC_DEFUN([AX_PTHREAD], [
++AC_REQUIRE([AC_CANONICAL_HOST])
++AC_LANG_SAVE
++AC_LANG_C
++ax_pthread_ok=no
+
-+ if test -n "$stripme" && test -n "$old_striplib"; then
-+ func_show_eval "$old_striplib $oldlib" 'exit $?'
-+ fi
++# We used to check for pthread.h first, but this fails if pthread.h
++# requires special compiler flags (e.g. on True64 or Sequent).
++# It gets checked for in the link test anyway.
+
-+ # Do each command in the postinstall commands.
-+ func_execute_cmds "$old_postinstall_cmds" 'exit $?'
-+ done
++# First of all, check if the user has set any of the PTHREAD_LIBS,
++# etcetera environment variables, and if threads linking works using
++# them:
++if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
++ save_CFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
++ save_LIBS="$LIBS"
++ LIBS="$PTHREAD_LIBS $LIBS"
++ AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS])
++ AC_TRY_LINK_FUNC(pthread_join, ax_pthread_ok=yes)
++ AC_MSG_RESULT($ax_pthread_ok)
++ if test x"$ax_pthread_ok" = xno; then
++ PTHREAD_LIBS=""
++ PTHREAD_CFLAGS=""
++ fi
++ LIBS="$save_LIBS"
++ CFLAGS="$save_CFLAGS"
++fi
+
-+ test -n "$future_libdirs" && \
-+ func_warning "remember to run \`$progname --finish$future_libdirs'"
++# We must check for the threads library under a number of different
++# names; the ordering is very important because some systems
++# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
++# libraries is broken (non-POSIX).
+
-+ if test -n "$current_libdirs"; then
-+ # Maybe just do a dry run.
-+ $opt_dry_run && current_libdirs=" -n$current_libdirs"
-+ exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
-+ else
-+ exit $EXIT_SUCCESS
-+ fi
-+}
++# Create a list of thread flags to try. Items starting with a "-" are
++# C compiler flags, and other items are library names, except for "none"
++# which indicates that we try without any flags at all, and "pthread-config"
++# which is a program returning the flags for the Pth emulation library.
+
-+test "$mode" = install && func_mode_install ${1+"$@"}
++ax_pthread_flags="pthread pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
+
++# The ordering *is* (sometimes) important. Some notes on the
++# individual items follow:
+
-+# func_generate_dlsyms outputname originator pic_p
-+# Extract symbols from dlprefiles and create ${outputname}S.o with
-+# a dlpreopen symbol table.
-+func_generate_dlsyms ()
-+{
-+ $opt_debug
-+ my_outputname="$1"
-+ my_originator="$2"
-+ my_pic_p="${3-no}"
-+ my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
-+ my_dlsyms=
++# pthreads: AIX (must check this before -lpthread)
++# none: in case threads are in libc; should be tried before -Kthread and
++# other compiler flags to prevent continual compiler warnings
++# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
++# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
++# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
++# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
++# -pthreads: Solaris/gcc
++# -mthreads: Mingw32/gcc, Lynx/gcc
++# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
++# doesn't hurt to check since this sometimes defines pthreads too;
++# also defines -D_REENTRANT)
++# ... -mt is also the pthreads flag for HP/aCC
++# pthread: Linux, etcetera
++# --thread-safe: KAI C++
++# pthread-config: use pthread-config program (for GNU Pth library)
+
-+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-+ if test -n "$NM" && test -n "$global_symbol_pipe"; then
-+ my_dlsyms="${my_outputname}S.c"
-+ else
-+ func_error "not configured to extract global symbols from dlpreopened files"
-+ fi
-+ fi
++case "${host_cpu}-${host_os}" in
++ *solaris*)
+
-+ if test -n "$my_dlsyms"; then
-+ case $my_dlsyms in
-+ "") ;;
-+ *.c)
-+ # Discover the nlist of each of the dlfiles.
-+ nlist="$output_objdir/${my_outputname}.nm"
++ # On Solaris (at least, for some versions), libc contains stubbed
++ # (non-functional) versions of the pthreads routines, so link-based
++ # tests will erroneously succeed. (We need to link with -pthreads/-mt/
++ # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather
++ # a function called by this macro, so we could check for that, but
++ # who knows whether they'll stub that too in a future libc.) So,
++ # we'll just look for -pthreads and -lpthread first:
+
-+ func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
++ ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags"
++ ;;
++esac
+
-+ # Parse the name list into a source file.
-+ func_verbose "creating $output_objdir/$my_dlsyms"
++if test x"$ax_pthread_ok" = xno; then
++for flag in $ax_pthread_flags; do
+
-+ $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
-+/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
-+/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
++ case $flag in
++ none)
++ AC_MSG_CHECKING([whether pthreads work without any flags])
++ ;;
+
-+#ifdef __cplusplus
-+extern \"C\" {
-+#endif
++ -*)
++ AC_MSG_CHECKING([whether pthreads work with $flag])
++ PTHREAD_CFLAGS="$flag"
++ ;;
+
-+/* External symbol declarations for the compiler. */\
-+"
++ pthread-config)
++ AC_CHECK_PROG(ax_pthread_config, pthread-config, yes, no)
++ if test x"$ax_pthread_config" = xno; then continue; fi
++ PTHREAD_CFLAGS="`pthread-config --cflags`"
++ PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
++ ;;
+
-+ if test "$dlself" = yes; then
-+ func_verbose "generating symbol list for \`$output'"
++ *)
++ AC_MSG_CHECKING([for the pthreads library -l$flag])
++ PTHREAD_LIBS="-l$flag"
++ ;;
++ esac
+
-+ $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
++ save_LIBS="$LIBS"
++ save_CFLAGS="$CFLAGS"
++ LIBS="$PTHREAD_LIBS $LIBS"
++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+
-+ # Add our own program objects to the symbol list.
-+ progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-+ for progfile in $progfiles; do
-+ func_verbose "extracting global C symbols from \`$progfile'"
-+ $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
-+ done
++ # Check for various functions. We must include pthread.h,
++ # since some functions may be macros. (On the Sequent, we
++ # need a special flag -Kthread to make this header compile.)
++ # We check for pthread_join because it is in -lpthread on IRIX
++ # while pthread_create is in libc. We check for pthread_attr_init
++ # due to DEC craziness with -lpthreads. We check for
++ # pthread_cleanup_push because it is one of the few pthread
++ # functions on Solaris that doesn't have a non-functional libc stub.
++ # We try pthread_create on general principles.
++ AC_TRY_LINK([#include <pthread.h>],
++ [pthread_t th; pthread_join(th, 0);
++ pthread_attr_init(0); pthread_cleanup_push(0, 0);
++ pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
++ [ax_pthread_ok=yes])
+
-+ if test -n "$exclude_expsyms"; then
-+ $opt_dry_run || {
-+ eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
-+ eval '$MV "$nlist"T "$nlist"'
-+ }
-+ fi
++ LIBS="$save_LIBS"
++ CFLAGS="$save_CFLAGS"
+
-+ if test -n "$export_symbols_regex"; then
-+ $opt_dry_run || {
-+ eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
-+ eval '$MV "$nlist"T "$nlist"'
-+ }
-+ fi
++ AC_MSG_RESULT($ax_pthread_ok)
++ if test "x$ax_pthread_ok" = xyes; then
++ break;
++ fi
+
-+ # Prepare the list of exported symbols
-+ if test -z "$export_symbols"; then
-+ export_symbols="$output_objdir/$outputname.exp"
-+ $opt_dry_run || {
-+ $RM $export_symbols
-+ eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
-+ case $host in
-+ *cygwin* | *mingw* | *cegcc* )
-+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-+ eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
-+ ;;
-+ esac
-+ }
-+ else
-+ $opt_dry_run || {
-+ eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
-+ eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
-+ eval '$MV "$nlist"T "$nlist"'
-+ case $host in
-+ *cygwin | *mingw* | *cegcc* )
-+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-+ eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
-+ ;;
-+ esac
-+ }
-+ fi
-+ fi
++ PTHREAD_LIBS=""
++ PTHREAD_CFLAGS=""
++done
++fi
+
-+ for dlprefile in $dlprefiles; do
-+ func_verbose "extracting global C symbols from \`$dlprefile'"
-+ func_basename "$dlprefile"
-+ name="$func_basename_result"
-+ $opt_dry_run || {
-+ eval '$ECHO ": $name " >> "$nlist"'
-+ eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
-+ }
++# Various other checks:
++if test "x$ax_pthread_ok" = xyes; then
++ save_LIBS="$LIBS"
++ LIBS="$PTHREAD_LIBS $LIBS"
++ save_CFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
++
++ # Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
++ AC_MSG_CHECKING([for joinable pthread attribute])
++ attr_name=unknown
++ for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
++ AC_TRY_LINK([#include <pthread.h>], [int attr=$attr; return attr;],
++ [attr_name=$attr; break])
+ done
++ AC_MSG_RESULT($attr_name)
++ if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
++ AC_DEFINE_UNQUOTED(PTHREAD_CREATE_JOINABLE, $attr_name,
++ [Define to necessary symbol if this constant
++ uses a non-standard name on your system.])
++ fi
+
-+ $opt_dry_run || {
-+ # Make sure we have at least an empty file.
-+ test -f "$nlist" || : > "$nlist"
++ AC_MSG_CHECKING([if more special flags are required for pthreads])
++ flag=no
++ case "${host_cpu}-${host_os}" in
++ *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";;
++ *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";;
++ esac
++ AC_MSG_RESULT(${flag})
++ if test "x$flag" != xno; then
++ PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
++ fi
+
-+ if test -n "$exclude_expsyms"; then
-+ $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
-+ $MV "$nlist"T "$nlist"
-+ fi
++ LIBS="$save_LIBS"
++ CFLAGS="$save_CFLAGS"
+
-+ # Try sorting and uniquifying the output.
-+ if $GREP -v "^: " < "$nlist" |
-+ if sort -k 3 </dev/null >/dev/null 2>&1; then
-+ sort -k 3
-+ else
-+ sort +2
-+ fi |
-+ uniq > "$nlist"S; then
-+ :
-+ else
-+ $GREP -v "^: " < "$nlist" > "$nlist"S
-+ fi
++ # More AIX lossage: must compile with xlc_r or cc_r
++ if test x"$GCC" != xyes; then
++ AC_CHECK_PROGS(PTHREAD_CC, xlc_r cc_r, ${CC})
++ else
++ PTHREAD_CC=$CC
++ fi
++else
++ PTHREAD_CC="$CC"
++fi
+
-+ if test -f "$nlist"S; then
-+ eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
-+ else
-+ $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
-+ fi
++AC_SUBST(PTHREAD_LIBS)
++AC_SUBST(PTHREAD_CFLAGS)
++AC_SUBST(PTHREAD_CC)
+
-+ $ECHO >> "$output_objdir/$my_dlsyms" "\
++# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
++if test x"$ax_pthread_ok" = xyes; then
++ ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1])
++ :
++else
++ ax_pthread_ok=no
++ $2
++fi
++AC_LANG_RESTORE
++])dnl AX_PTHREAD
+Index: libdessert0.86-0.86.14/m4/libtool.m4
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/m4/libtool.m4 2009-12-09 16:38:27.261422553 +0100
+@@ -0,0 +1,7376 @@
++# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
++#
++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
++# 2006, 2007, 2008 Free Software Foundation, Inc.
++# Written by Gordon Matzigkeit, 1996
++#
++# This file is free software; the Free Software Foundation gives
++# unlimited permission to copy and/or distribute it, with or without
++# modifications, as long as this notice is preserved.
+
-+/* The mapping between symbol names and symbols. */
-+typedef struct {
-+ const char *name;
-+ void *address;
-+} lt_dlsymlist;
-+"
-+ case $host in
-+ *cygwin* | *mingw* | *cegcc* )
-+ $ECHO >> "$output_objdir/$my_dlsyms" "\
-+/* DATA imports from DLLs on WIN32 con't be const, because
-+ runtime relocations are performed -- see ld's documentation
-+ on pseudo-relocs. */"
-+ lt_dlsym_const= ;;
-+ *osf5*)
-+ echo >> "$output_objdir/$my_dlsyms" "\
-+/* This system does not cope well with relocations in const data */"
-+ lt_dlsym_const= ;;
-+ *)
-+ lt_dlsym_const=const ;;
-+ esac
++m4_define([_LT_COPYING], [dnl
++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
++# 2006, 2007, 2008 Free Software Foundation, Inc.
++# Written by Gordon Matzigkeit, 1996
++#
++# This file is part of GNU Libtool.
++#
++# GNU Libtool 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 2 of
++# the License, or (at your option) any later version.
++#
++# As a special exception to the GNU General Public License,
++# if you distribute this file as part of a program or library that
++# is built using GNU Libtool, you may include this file under the
++# same distribution terms that you use for the rest of that program.
++#
++# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy
++# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
++# obtained by writing to the Free Software Foundation, Inc.,
++# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++])
+
-+ $ECHO >> "$output_objdir/$my_dlsyms" "\
-+extern $lt_dlsym_const lt_dlsymlist
-+lt_${my_prefix}_LTX_preloaded_symbols[];
-+$lt_dlsym_const lt_dlsymlist
-+lt_${my_prefix}_LTX_preloaded_symbols[] =
-+{\
-+ { \"$my_originator\", (void *) 0 },"
++# serial 56 LT_INIT
+
-+ case $need_lib_prefix in
-+ no)
-+ eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
-+ ;;
-+ *)
-+ eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
-+ ;;
-+ esac
-+ $ECHO >> "$output_objdir/$my_dlsyms" "\
-+ {0, (void *) 0}
-+};
+
-+/* This works around a problem in FreeBSD linker */
-+#ifdef FREEBSD_WORKAROUND
-+static const void *lt_preloaded_setup() {
-+ return lt_${my_prefix}_LTX_preloaded_symbols;
-+}
-+#endif
++# LT_PREREQ(VERSION)
++# ------------------
++# Complain and exit if this libtool version is less that VERSION.
++m4_defun([LT_PREREQ],
++[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
++ [m4_default([$3],
++ [m4_fatal([Libtool version $1 or higher is required],
++ 63)])],
++ [$2])])
+
-+#ifdef __cplusplus
-+}
-+#endif\
-+"
-+ } # !$opt_dry_run
+
-+ pic_flag_for_symtable=
-+ case "$compile_command " in
-+ *" -static "*) ;;
-+ *)
-+ case $host in
-+ # compiling the symbol table file with pic_flag works around
-+ # a FreeBSD bug that causes programs to crash when -lm is
-+ # linked before any other PIC object. But we must not use
-+ # pic_flag when linking with -static. The problem exists in
-+ # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
-+ *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
-+ pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
-+ *-*-hpux*)
-+ pic_flag_for_symtable=" $pic_flag" ;;
-+ *)
-+ if test "X$my_pic_p" != Xno; then
-+ pic_flag_for_symtable=" $pic_flag"
-+ fi
-+ ;;
-+ esac
-+ ;;
-+ esac
-+ symtab_cflags=
-+ for arg in $LTCFLAGS; do
-+ case $arg in
-+ -pie | -fpie | -fPIE) ;;
-+ *) symtab_cflags="$symtab_cflags $arg" ;;
-+ esac
-+ done
++# _LT_CHECK_BUILDDIR
++# ------------------
++# Complain if the absolute build directory name contains unusual characters
++m4_defun([_LT_CHECK_BUILDDIR],
++[case `pwd` in
++ *\ * | *\ *)
++ AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
++esac
++])
+
-+ # Now compile the dynamic symbol file.
-+ func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
+
-+ # Clean up the generated files.
-+ func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
++# LT_INIT([OPTIONS])
++# ------------------
++AC_DEFUN([LT_INIT],
++[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
++AC_BEFORE([$0], [LT_LANG])dnl
++AC_BEFORE([$0], [LT_OUTPUT])dnl
++AC_BEFORE([$0], [LTDL_INIT])dnl
++m4_require([_LT_CHECK_BUILDDIR])dnl
++
++dnl Autoconf doesn't catch unexpanded LT_ macros by default:
++m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
++m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
++dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
++dnl unless we require an AC_DEFUNed macro:
++AC_REQUIRE([LTOPTIONS_VERSION])dnl
++AC_REQUIRE([LTSUGAR_VERSION])dnl
++AC_REQUIRE([LTVERSION_VERSION])dnl
++AC_REQUIRE([LTOBSOLETE_VERSION])dnl
++m4_require([_LT_PROG_LTMAIN])dnl
++
++dnl Parse OPTIONS
++_LT_SET_OPTIONS([$0], [$1])
+
-+ # Transform the symbol file into the correct name.
-+ symfileobj="$output_objdir/${my_outputname}S.$objext"
-+ case $host in
-+ *cygwin* | *mingw* | *cegcc* )
-+ if test -f "$output_objdir/$my_outputname.def"; then
-+ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
-+ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
-+ else
-+ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
-+ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
-+ fi
-+ ;;
-+ *)
-+ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
-+ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
-+ ;;
-+ esac
-+ ;;
-+ *)
-+ func_fatal_error "unknown suffix for \`$my_dlsyms'"
-+ ;;
-+ esac
-+ else
-+ # We keep going just in case the user didn't refer to
-+ # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
-+ # really was required.
++# This can be used to rebuild libtool when needed
++LIBTOOL_DEPS="$ltmain"
+
-+ # Nullify the symbol file.
-+ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
-+ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
-+ fi
-+}
++# Always use our own libtool.
++LIBTOOL='$(SHELL) $(top_builddir)/libtool'
++AC_SUBST(LIBTOOL)dnl
+
-+# func_win32_libid arg
-+# return the library type of file 'arg'
-+#
-+# Need a lot of goo to handle *both* DLLs and import libs
-+# Has to be a shell function in order to 'eat' the argument
-+# that is supplied when $file_magic_command is called.
-+func_win32_libid ()
-+{
-+ $opt_debug
-+ win32_libid_type="unknown"
-+ win32_fileres=`file -L $1 2>/dev/null`
-+ case $win32_fileres in
-+ *ar\ archive\ import\ library*) # definitely import
-+ win32_libid_type="x86 archive import"
-+ ;;
-+ *ar\ archive*) # could be an import, or static
-+ if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
-+ $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
-+ win32_nmres=`eval $NM -f posix -A $1 |
-+ $SED -n -e '
-+ 1,100{
-+ / I /{
-+ s,.*,import,
-+ p
-+ q
-+ }
-+ }'`
-+ case $win32_nmres in
-+ import*) win32_libid_type="x86 archive import";;
-+ *) win32_libid_type="x86 archive static";;
-+ esac
-+ fi
-+ ;;
-+ *DLL*)
-+ win32_libid_type="x86 DLL"
-+ ;;
-+ *executable*) # but shell scripts are "executable" too...
-+ case $win32_fileres in
-+ *MS\ Windows\ PE\ Intel*)
-+ win32_libid_type="x86 DLL"
-+ ;;
-+ esac
-+ ;;
++_LT_SETUP
++
++# Only expand once:
++m4_define([LT_INIT])
++])# LT_INIT
++
++# Old names:
++AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
++AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
++dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
++
++
++# _LT_CC_BASENAME(CC)
++# -------------------
++# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
++m4_defun([_LT_CC_BASENAME],
++[for cc_temp in $1""; do
++ case $cc_temp in
++ compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
++ distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
++ \-*) ;;
++ *) break;;
+ esac
-+ $ECHO "$win32_libid_type"
-+}
++done
++cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
++])
+
+
++# _LT_FILEUTILS_DEFAULTS
++# ----------------------
++# It is okay to use these file commands and assume they have been set
++# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
++m4_defun([_LT_FILEUTILS_DEFAULTS],
++[: ${CP="cp -f"}
++: ${MV="mv -f"}
++: ${RM="rm -f"}
++])# _LT_FILEUTILS_DEFAULTS
++
++
++# _LT_SETUP
++# ---------
++m4_defun([_LT_SETUP],
++[AC_REQUIRE([AC_CANONICAL_HOST])dnl
++AC_REQUIRE([AC_CANONICAL_BUILD])dnl
++_LT_DECL([], [host_alias], [0], [The host system])dnl
++_LT_DECL([], [host], [0])dnl
++_LT_DECL([], [host_os], [0])dnl
++dnl
++_LT_DECL([], [build_alias], [0], [The build system])dnl
++_LT_DECL([], [build], [0])dnl
++_LT_DECL([], [build_os], [0])dnl
++dnl
++AC_REQUIRE([AC_PROG_CC])dnl
++AC_REQUIRE([LT_PATH_LD])dnl
++AC_REQUIRE([LT_PATH_NM])dnl
++dnl
++AC_REQUIRE([AC_PROG_LN_S])dnl
++test -z "$LN_S" && LN_S="ln -s"
++_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
++dnl
++AC_REQUIRE([LT_CMD_MAX_LEN])dnl
++_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
++_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
++dnl
++m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++m4_require([_LT_CHECK_SHELL_FEATURES])dnl
++m4_require([_LT_CMD_RELOAD])dnl
++m4_require([_LT_CHECK_MAGIC_METHOD])dnl
++m4_require([_LT_CMD_OLD_ARCHIVE])dnl
++m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
++
++_LT_CONFIG_LIBTOOL_INIT([
++# See if we are running on zsh, and set the options which allow our
++# commands through without removal of \ escapes INIT.
++if test -n "\${ZSH_VERSION+set}" ; then
++ setopt NO_GLOB_SUBST
++fi
++])
++if test -n "${ZSH_VERSION+set}" ; then
++ setopt NO_GLOB_SUBST
++fi
+
-+# func_extract_an_archive dir oldlib
-+func_extract_an_archive ()
-+{
-+ $opt_debug
-+ f_ex_an_ar_dir="$1"; shift
-+ f_ex_an_ar_oldlib="$1"
-+ func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
-+ if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
-+ :
-+ else
-+ func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
-+ fi
-+}
++_LT_CHECK_OBJDIR
+
++m4_require([_LT_TAG_COMPILER])dnl
++_LT_PROG_ECHO_BACKSLASH
+
-+# func_extract_archives gentop oldlib ...
-+func_extract_archives ()
-+{
-+ $opt_debug
-+ my_gentop="$1"; shift
-+ my_oldlibs=${1+"$@"}
-+ my_oldobjs=""
-+ my_xlib=""
-+ my_xabs=""
-+ my_xdir=""
++case $host_os in
++aix3*)
++ # AIX sometimes has problems with the GCC collect2 program. For some
++ # reason, if we set the COLLECT_NAMES environment variable, the problems
++ # vanish in a puff of smoke.
++ if test "X${COLLECT_NAMES+set}" != Xset; then
++ COLLECT_NAMES=
++ export COLLECT_NAMES
++ fi
++ ;;
++esac
+
-+ for my_xlib in $my_oldlibs; do
-+ # Extract the objects.
-+ case $my_xlib in
-+ [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
-+ *) my_xabs=`pwd`"/$my_xlib" ;;
-+ esac
-+ func_basename "$my_xlib"
-+ my_xlib="$func_basename_result"
-+ my_xlib_u=$my_xlib
-+ while :; do
-+ case " $extracted_archives " in
-+ *" $my_xlib_u "*)
-+ func_arith $extracted_serial + 1
-+ extracted_serial=$func_arith_result
-+ my_xlib_u=lt$extracted_serial-$my_xlib ;;
-+ *) break ;;
-+ esac
-+ done
-+ extracted_archives="$extracted_archives $my_xlib_u"
-+ my_xdir="$my_gentop/$my_xlib_u"
++# Sed substitution that helps us do robust quoting. It backslashifies
++# metacharacters that are still active within double-quoted strings.
++sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
+
-+ func_mkdir_p "$my_xdir"
++# Same as above, but do not quote variable references.
++double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+
-+ case $host in
-+ *-darwin*)
-+ func_verbose "Extracting $my_xabs"
-+ # Do not bother doing anything if just a dry run
-+ $opt_dry_run || {
-+ darwin_orig_dir=`pwd`
-+ cd $my_xdir || exit $?
-+ darwin_archive=$my_xabs
-+ darwin_curdir=`pwd`
-+ darwin_base_archive=`basename "$darwin_archive"`
-+ darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
-+ if test -n "$darwin_arches"; then
-+ darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
-+ darwin_arch=
-+ func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
-+ for darwin_arch in $darwin_arches ; do
-+ func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
-+ $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
-+ cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
-+ func_extract_an_archive "`pwd`" "${darwin_base_archive}"
-+ cd "$darwin_curdir"
-+ $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
-+ done # $darwin_arches
-+ ## Okay now we've a bunch of thin objects, gotta fatten them up :)
-+ darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
-+ darwin_file=
-+ darwin_files=
-+ for darwin_file in $darwin_filelist; do
-+ darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
-+ $LIPO -create -output "$darwin_file" $darwin_files
-+ done # $darwin_filelist
-+ $RM -rf unfat-$$
-+ cd "$darwin_orig_dir"
-+ else
-+ cd $darwin_orig_dir
-+ func_extract_an_archive "$my_xdir" "$my_xabs"
-+ fi # $darwin_arches
-+ } # !$opt_dry_run
-+ ;;
-+ *)
-+ func_extract_an_archive "$my_xdir" "$my_xabs"
-+ ;;
-+ esac
-+ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
-+ done
++# Sed substitution to delay expansion of an escaped shell variable in a
++# double_quote_subst'ed string.
++delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
++
++# Sed substitution to delay expansion of an escaped single quote.
++delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
-+ func_extract_archives_result="$my_oldobjs"
-+}
++# Sed substitution to avoid accidental globbing in evaled expressions
++no_glob_subst='s/\*/\\\*/g'
+
++# Global variables:
++ofile=libtool
++can_build_shared=yes
+
++# All known linkers require a `.a' archive for static linking (except MSVC,
++# which needs '.lib').
++libext=a
+
-+# func_emit_wrapper_part1 [arg=no]
-+#
-+# Emit the first part of a libtool wrapper script on stdout.
-+# For more information, see the description associated with
-+# func_emit_wrapper(), below.
-+func_emit_wrapper_part1 ()
-+{
-+ func_emit_wrapper_part1_arg1=no
-+ if test -n "$1" ; then
-+ func_emit_wrapper_part1_arg1=$1
-+ fi
++with_gnu_ld="$lt_cv_prog_gnu_ld"
+
-+ $ECHO "\
-+#! $SHELL
++old_CC="$CC"
++old_CFLAGS="$CFLAGS"
+
-+# $output - temporary wrapper script for $objdir/$outputname
-+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-+#
-+# The $output program cannot be directly executed until all the libtool
-+# libraries that it depends on are installed.
-+#
-+# This wrapper script should never be moved out of the build directory.
-+# If it is, it will not operate correctly.
++# Set sane defaults for various variables
++test -z "$CC" && CC=cc
++test -z "$LTCC" && LTCC=$CC
++test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
++test -z "$LD" && LD=ld
++test -z "$ac_objext" && ac_objext=o
+
-+# Sed substitution that helps us do robust quoting. It backslashifies
-+# metacharacters that are still active within double-quoted strings.
-+Xsed='${SED} -e 1s/^X//'
-+sed_quote_subst='$sed_quote_subst'
++_LT_CC_BASENAME([$compiler])
+
-+# Be Bourne compatible
-+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
-+ emulate sh
-+ NULLCMD=:
-+ # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
-+ # is contrary to our usage. Disable this feature.
-+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
-+ setopt NO_GLOB_SUBST
-+else
-+ case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
-+fi
-+BIN_SH=xpg4; export BIN_SH # for Tru64
-+DUALCASE=1; export DUALCASE # for MKS sh
++# Only perform the check for file, if the check method requires it
++test -z "$MAGIC_CMD" && MAGIC_CMD=file
++case $deplibs_check_method in
++file_magic*)
++ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
++ _LT_PATH_MAGIC
++ fi
++ ;;
++esac
+
-+# The HP-UX ksh and POSIX shell print the target directory to stdout
-+# if CDPATH is set.
-+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
++# Use C for the default configuration in the libtool script
++LT_SUPPORTED_TAG([CC])
++_LT_LANG_C_CONFIG
++_LT_LANG_DEFAULT_CONFIG
++_LT_CONFIG_COMMANDS
++])# _LT_SETUP
+
-+relink_command=\"$relink_command\"
+
-+# This environment variable determines our operation mode.
-+if test \"\$libtool_install_magic\" = \"$magic\"; then
-+ # install mode needs the following variables:
-+ generated_by_libtool_version='$macro_version'
-+ notinst_deplibs='$notinst_deplibs'
-+else
-+ # When we are sourced in execute mode, \$file and \$ECHO are already set.
-+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
-+ ECHO=\"$qecho\"
-+ file=\"\$0\"
-+ # Make sure echo works.
-+ if test \"X\$1\" = X--no-reexec; then
-+ # Discard the --no-reexec flag, and continue.
-+ shift
-+ elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
-+ # Yippee, \$ECHO works!
-+ :
-+ else
-+ # Restart under the correct shell, and then maybe \$ECHO will work.
-+ exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
-+ fi
-+ fi\
-+"
-+ $ECHO "\
++# _LT_PROG_LTMAIN
++# ---------------
++# Note that this code is called both from `configure', and `config.status'
++# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
++# `config.status' has no value for ac_aux_dir unless we are using Automake,
++# so we pass a copy along to make sure it has a sensible value anyway.
++m4_defun([_LT_PROG_LTMAIN],
++[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
++_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
++ltmain="$ac_aux_dir/ltmain.sh"
++])# _LT_PROG_LTMAIN
+
-+ # Find the directory that this script lives in.
-+ thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
-+ test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
-+ # Follow symbolic links until we get to the real thisdir.
-+ file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
-+ while test -n \"\$file\"; do
-+ destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
++## ------------------------------------- ##
++## Accumulate code for creating libtool. ##
++## ------------------------------------- ##
+
-+ # If there was a directory component, then change thisdir.
-+ if test \"x\$destdir\" != \"x\$file\"; then
-+ case \"\$destdir\" in
-+ [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
-+ *) thisdir=\"\$thisdir/\$destdir\" ;;
-+ esac
-+ fi
++# So that we can recreate a full libtool script including additional
++# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
++# in macros and then make a single call at the end using the `libtool'
++# label.
+
-+ file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
-+ file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
-+ done
-+"
-+}
-+# end: func_emit_wrapper_part1
+
-+# func_emit_wrapper_part2 [arg=no]
-+#
-+# Emit the second part of a libtool wrapper script on stdout.
-+# For more information, see the description associated with
-+# func_emit_wrapper(), below.
-+func_emit_wrapper_part2 ()
-+{
-+ func_emit_wrapper_part2_arg1=no
-+ if test -n "$1" ; then
-+ func_emit_wrapper_part2_arg1=$1
-+ fi
++# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
++# ----------------------------------------
++# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
++m4_define([_LT_CONFIG_LIBTOOL_INIT],
++[m4_ifval([$1],
++ [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
++ [$1
++])])])
+
-+ $ECHO "\
++# Initialize.
++m4_define([_LT_OUTPUT_LIBTOOL_INIT])
+
-+ # Usually 'no', except on cygwin/mingw when embedded into
-+ # the cwrapper.
-+ WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1
-+ if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
-+ # special case for '.'
-+ if test \"\$thisdir\" = \".\"; then
-+ thisdir=\`pwd\`
-+ fi
-+ # remove .libs from thisdir
-+ case \"\$thisdir\" in
-+ *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
-+ $objdir ) thisdir=. ;;
-+ esac
-+ fi
+
-+ # Try to get the absolute directory name.
-+ absdir=\`cd \"\$thisdir\" && pwd\`
-+ test -n \"\$absdir\" && thisdir=\"\$absdir\"
-+"
++# _LT_CONFIG_LIBTOOL([COMMANDS])
++# ------------------------------
++# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
++m4_define([_LT_CONFIG_LIBTOOL],
++[m4_ifval([$1],
++ [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
++ [$1
++])])])
++
++# Initialize.
++m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
++
++
++# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
++# -----------------------------------------------------
++m4_defun([_LT_CONFIG_SAVE_COMMANDS],
++[_LT_CONFIG_LIBTOOL([$1])
++_LT_CONFIG_LIBTOOL_INIT([$2])
++])
+
-+ if test "$fast_install" = yes; then
-+ $ECHO "\
-+ program=lt-'$outputname'$exeext
-+ progdir=\"\$thisdir/$objdir\"
+
-+ if test ! -f \"\$progdir/\$program\" ||
-+ { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
-+ test \"X\$file\" != \"X\$progdir/\$program\"; }; then
++# _LT_FORMAT_COMMENT([COMMENT])
++# -----------------------------
++# Add leading comment marks to the start of each line, and a trailing
++# full-stop to the whole comment if one is not present already.
++m4_define([_LT_FORMAT_COMMENT],
++[m4_ifval([$1], [
++m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
++ [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
++)])
+
-+ file=\"\$\$-\$program\"
+
-+ if test ! -d \"\$progdir\"; then
-+ $MKDIR \"\$progdir\"
-+ else
-+ $RM \"\$progdir/\$file\"
-+ fi"
+
-+ $ECHO "\
++## ------------------------ ##
++## FIXME: Eliminate VARNAME ##
++## ------------------------ ##
+
-+ # relink executable if necessary
-+ if test -n \"\$relink_command\"; then
-+ if relink_command_output=\`eval \$relink_command 2>&1\`; then :
-+ else
-+ $ECHO \"\$relink_command_output\" >&2
-+ $RM \"\$progdir/\$file\"
-+ exit 1
-+ fi
-+ fi
+
-+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
-+ { $RM \"\$progdir/\$program\";
-+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
-+ $RM \"\$progdir/\$file\"
-+ fi"
-+ else
-+ $ECHO "\
-+ program='$outputname'
-+ progdir=\"\$thisdir/$objdir\"
-+"
-+ fi
++# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
++# -------------------------------------------------------------------
++# CONFIGNAME is the name given to the value in the libtool script.
++# VARNAME is the (base) name used in the configure script.
++# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
++# VARNAME. Any other value will be used directly.
++m4_define([_LT_DECL],
++[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
++ [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
++ [m4_ifval([$1], [$1], [$2])])
++ lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
++ m4_ifval([$4],
++ [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
++ lt_dict_add_subkey([lt_decl_dict], [$2],
++ [tagged?], [m4_ifval([$5], [yes], [no])])])
++])
+
-+ $ECHO "\
+
-+ if test -f \"\$progdir/\$program\"; then"
++# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
++# --------------------------------------------------------
++m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
+
-+ # Export our shlibpath_var if we have one.
-+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-+ $ECHO "\
-+ # Add our own library path to $shlibpath_var
-+ $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
-+ # Some systems cannot cope with colon-terminated $shlibpath_var
-+ # The second colon is a workaround for a bug in BeOS R4 sed
-+ $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
++# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
++# ------------------------------------------------
++m4_define([lt_decl_tag_varnames],
++[_lt_decl_filter([tagged?], [yes], $@)])
+
-+ export $shlibpath_var
-+"
-+ fi
+
-+ # fixup the dll searchpath if we need to.
-+ if test -n "$dllsearchpath"; then
-+ $ECHO "\
-+ # Add the dll search path components to the executable PATH
-+ PATH=$dllsearchpath:\$PATH
-+"
-+ fi
++# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
++# ---------------------------------------------------------
++m4_define([_lt_decl_filter],
++[m4_case([$#],
++ [0], [m4_fatal([$0: too few arguments: $#])],
++ [1], [m4_fatal([$0: too few arguments: $#: $1])],
++ [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
++ [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
++ [lt_dict_filter([lt_decl_dict], $@)])[]dnl
++])
+
-+ $ECHO "\
-+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
-+ # Run the actual program with our arguments.
-+"
-+ case $host in
-+ # Backslashes separate directories on plain windows
-+ *-*-mingw | *-*-os2* | *-cegcc*)
-+ $ECHO "\
-+ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-+"
-+ ;;
+
-+ *)
-+ $ECHO "\
-+ exec \"\$progdir/\$program\" \${1+\"\$@\"}
-+"
-+ ;;
-+ esac
-+ $ECHO "\
-+ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
-+ exit 1
-+ fi
-+ else
-+ # The program doesn't exist.
-+ \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
-+ \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
-+ $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
-+ exit 1
-+ fi
-+fi\
-+"
-+}
-+# end: func_emit_wrapper_part2
++# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
++# --------------------------------------------------
++m4_define([lt_decl_quote_varnames],
++[_lt_decl_filter([value], [1], $@)])
+
+
-+# func_emit_wrapper [arg=no]
-+#
-+# Emit a libtool wrapper script on stdout.
-+# Don't directly open a file because we may want to
-+# incorporate the script contents within a cygwin/mingw
-+# wrapper executable. Must ONLY be called from within
-+# func_mode_link because it depends on a number of variables
-+# set therein.
-+#
-+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
-+# variable will take. If 'yes', then the emitted script
-+# will assume that the directory in which it is stored is
-+# the $objdir directory. This is a cygwin/mingw-specific
-+# behavior.
-+func_emit_wrapper ()
-+{
-+ func_emit_wrapper_arg1=no
-+ if test -n "$1" ; then
-+ func_emit_wrapper_arg1=$1
-+ fi
++# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
++# ---------------------------------------------------
++m4_define([lt_decl_dquote_varnames],
++[_lt_decl_filter([value], [2], $@)])
+
-+ # split this up so that func_emit_cwrapperexe_src
-+ # can call each part independently.
-+ func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
-+ func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
-+}
+
++# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
++# ---------------------------------------------------
++m4_define([lt_decl_varnames_tagged],
++[m4_assert([$# <= 2])dnl
++_$0(m4_quote(m4_default([$1], [[, ]])),
++ m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
++ m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
++m4_define([_lt_decl_varnames_tagged],
++[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
+
-+# func_to_host_path arg
-+#
-+# Convert paths to host format when used with build tools.
-+# Intended for use with "native" mingw (where libtool itself
-+# is running under the msys shell), or in the following cross-
-+# build environments:
-+# $build $host
-+# mingw (msys) mingw [e.g. native]
-+# cygwin mingw
-+# *nix + wine mingw
-+# where wine is equipped with the `winepath' executable.
-+# In the native mingw case, the (msys) shell automatically
-+# converts paths for any non-msys applications it launches,
-+# but that facility isn't available from inside the cwrapper.
-+# Similar accommodations are necessary for $host mingw and
-+# $build cygwin. Calling this function does no harm for other
-+# $host/$build combinations not listed above.
-+#
-+# ARG is the path (on $build) that should be converted to
-+# the proper representation for $host. The result is stored
-+# in $func_to_host_path_result.
-+func_to_host_path ()
-+{
-+ func_to_host_path_result="$1"
-+ if test -n "$1" ; then
-+ case $host in
-+ *mingw* )
-+ lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
-+ case $build in
-+ *mingw* ) # actually, msys
-+ # awkward: cmd appends spaces to result
-+ lt_sed_strip_trailing_spaces="s/[ ]*\$//"
-+ func_to_host_path_tmp1=`( cmd //c echo "$1" |\
-+ $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
-+ func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
-+ $SED -e "$lt_sed_naive_backslashify"`
-+ ;;
-+ *cygwin* )
-+ func_to_host_path_tmp1=`cygpath -w "$1"`
-+ func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
-+ $SED -e "$lt_sed_naive_backslashify"`
-+ ;;
-+ * )
-+ # Unfortunately, winepath does not exit with a non-zero
-+ # error code, so we are forced to check the contents of
-+ # stdout. On the other hand, if the command is not
-+ # found, the shell will set an exit code of 127 and print
-+ # *an error message* to stdout. So we must check for both
-+ # error code of zero AND non-empty stdout, which explains
-+ # the odd construction:
-+ func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
-+ if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
-+ func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
-+ $SED -e "$lt_sed_naive_backslashify"`
-+ else
-+ # Allow warning below.
-+ func_to_host_path_result=""
-+ fi
-+ ;;
-+ esac
-+ if test -z "$func_to_host_path_result" ; then
-+ func_error "Could not determine host path corresponding to"
-+ func_error " '$1'"
-+ func_error "Continuing, but uninstalled executables may not work."
-+ # Fallback:
-+ func_to_host_path_result="$1"
-+ fi
-+ ;;
-+ esac
-+ fi
-+}
-+# end: func_to_host_path
+
-+# func_to_host_pathlist arg
-+#
-+# Convert pathlists to host format when used with build tools.
-+# See func_to_host_path(), above. This function supports the
-+# following $build/$host combinations (but does no harm for
-+# combinations not listed here):
-+# $build $host
-+# mingw (msys) mingw [e.g. native]
-+# cygwin mingw
-+# *nix + wine mingw
++# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
++# ------------------------------------------------
++m4_define([lt_decl_all_varnames],
++[_$0(m4_quote(m4_default([$1], [[, ]])),
++ m4_if([$2], [],
++ m4_quote(lt_decl_varnames),
++ m4_quote(m4_shift($@))))[]dnl
++])
++m4_define([_lt_decl_all_varnames],
++[lt_join($@, lt_decl_varnames_tagged([$1],
++ lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
++])
++
++
++# _LT_CONFIG_STATUS_DECLARE([VARNAME])
++# ------------------------------------
++# Quote a variable value, and forward it to `config.status' so that its
++# declaration there will have the same value as in `configure'. VARNAME
++# must have a single quote delimited value for this to work.
++m4_define([_LT_CONFIG_STATUS_DECLARE],
++[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
++
++
++# _LT_CONFIG_STATUS_DECLARATIONS
++# ------------------------------
++# We delimit libtool config variables with single quotes, so when
++# we write them to config.status, we have to be sure to quote all
++# embedded single quotes properly. In configure, this macro expands
++# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+#
-+# Path separators are also converted from $build format to
-+# $host format. If ARG begins or ends with a path separator
-+# character, it is preserved (but converted to $host format)
-+# on output.
++# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
++m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
++[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
++ [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
++
++
++# _LT_LIBTOOL_TAGS
++# ----------------
++# Output comment and list of tags supported by the script
++m4_defun([_LT_LIBTOOL_TAGS],
++[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
++available_tags="_LT_TAGS"dnl
++])
++
++
++# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
++# -----------------------------------
++# Extract the dictionary values for VARNAME (optionally with TAG) and
++# expand to a commented shell variable setting:
+#
-+# ARG is a pathlist (on $build) that should be converted to
-+# the proper representation on $host. The result is stored
-+# in $func_to_host_pathlist_result.
-+func_to_host_pathlist ()
-+{
-+ func_to_host_pathlist_result="$1"
-+ if test -n "$1" ; then
-+ case $host in
-+ *mingw* )
-+ lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
-+ # Remove leading and trailing path separator characters from
-+ # ARG. msys behavior is inconsistent here, cygpath turns them
-+ # into '.;' and ';.', and winepath ignores them completely.
-+ func_to_host_pathlist_tmp2="$1"
-+ # Once set for this call, this variable should not be
-+ # reassigned. It is used in tha fallback case.
-+ func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
-+ $SED -e 's|^:*||' -e 's|:*$||'`
-+ case $build in
-+ *mingw* ) # Actually, msys.
-+ # Awkward: cmd appends spaces to result.
-+ lt_sed_strip_trailing_spaces="s/[ ]*\$//"
-+ func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
-+ $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
-+ func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
-+ $SED -e "$lt_sed_naive_backslashify"`
-+ ;;
-+ *cygwin* )
-+ func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
-+ func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
-+ $SED -e "$lt_sed_naive_backslashify"`
-+ ;;
-+ * )
-+ # unfortunately, winepath doesn't convert pathlists
-+ func_to_host_pathlist_result=""
-+ func_to_host_pathlist_oldIFS=$IFS
-+ IFS=:
-+ for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
-+ IFS=$func_to_host_pathlist_oldIFS
-+ if test -n "$func_to_host_pathlist_f" ; then
-+ func_to_host_path "$func_to_host_pathlist_f"
-+ if test -n "$func_to_host_path_result" ; then
-+ if test -z "$func_to_host_pathlist_result" ; then
-+ func_to_host_pathlist_result="$func_to_host_path_result"
-+ else
-+ func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
-+ fi
-+ fi
-+ fi
-+ IFS=:
-+ done
-+ IFS=$func_to_host_pathlist_oldIFS
-+ ;;
-+ esac
-+ if test -z "$func_to_host_pathlist_result" ; then
-+ func_error "Could not determine the host path(s) corresponding to"
-+ func_error " '$1'"
-+ func_error "Continuing, but uninstalled executables may not work."
-+ # Fallback. This may break if $1 contains DOS-style drive
-+ # specifications. The fix is not to complicate the expression
-+ # below, but for the user to provide a working wine installation
-+ # with winepath so that path translation in the cross-to-mingw
-+ # case works properly.
-+ lt_replace_pathsep_nix_to_dos="s|:|;|g"
-+ func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
-+ $SED -e "$lt_replace_pathsep_nix_to_dos"`
-+ fi
-+ # Now, add the leading and trailing path separators back
-+ case "$1" in
-+ :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
-+ ;;
-+ esac
-+ case "$1" in
-+ *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
-+ ;;
-+ esac
-+ ;;
-+ esac
-+ fi
-+}
-+# end: func_to_host_pathlist
++# # Some comment about what VAR is for.
++# visible_name=$lt_internal_name
++m4_define([_LT_LIBTOOL_DECLARE],
++[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
++ [description])))[]dnl
++m4_pushdef([_libtool_name],
++ m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
++m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
++ [0], [_libtool_name=[$]$1],
++ [1], [_libtool_name=$lt_[]$1],
++ [2], [_libtool_name=$lt_[]$1],
++ [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
++m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
++])
+
-+# func_emit_cwrapperexe_src
-+# emit the source code for a wrapper executable on stdout
-+# Must ONLY be called from within func_mode_link because
-+# it depends on a number of variable set therein.
-+func_emit_cwrapperexe_src ()
-+{
-+ cat <<EOF
+
-+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
-+ Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
++# _LT_LIBTOOL_CONFIG_VARS
++# -----------------------
++# Produce commented declarations of non-tagged libtool config variables
++# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
++# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
++# section) are produced by _LT_LIBTOOL_TAG_VARS.
++m4_defun([_LT_LIBTOOL_CONFIG_VARS],
++[m4_foreach([_lt_var],
++ m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
++ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
+
-+ The $output program cannot be directly executed until all the libtool
-+ libraries that it depends on are installed.
+
-+ This wrapper executable should never be moved out of the build directory.
-+ If it is, it will not operate correctly.
++# _LT_LIBTOOL_TAG_VARS(TAG)
++# -------------------------
++m4_define([_LT_LIBTOOL_TAG_VARS],
++[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
++ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
+
-+ Currently, it simply execs the wrapper *script* "$SHELL $output",
-+ but could eventually absorb all of the scripts functionality and
-+ exec $objdir/$outputname directly.
-+*/
-+EOF
-+ cat <<"EOF"
-+#include <stdio.h>
-+#include <stdlib.h>
-+#ifdef _MSC_VER
-+# include <direct.h>
-+# include <process.h>
-+# include <io.h>
-+# define setmode _setmode
-+#else
-+# include <unistd.h>
-+# include <stdint.h>
-+# ifdef __CYGWIN__
-+# include <io.h>
-+# define HAVE_SETENV
-+# ifdef __STRICT_ANSI__
-+char *realpath (const char *, char *);
-+int putenv (char *);
-+int setenv (const char *, const char *, int);
-+# endif
-+# endif
-+#endif
-+#include <malloc.h>
-+#include <stdarg.h>
-+#include <assert.h>
-+#include <string.h>
-+#include <ctype.h>
-+#include <errno.h>
-+#include <fcntl.h>
-+#include <sys/stat.h>
+
-+#if defined(PATH_MAX)
-+# define LT_PATHMAX PATH_MAX
-+#elif defined(MAXPATHLEN)
-+# define LT_PATHMAX MAXPATHLEN
-+#else
-+# define LT_PATHMAX 1024
-+#endif
++# _LT_TAGVAR(VARNAME, [TAGNAME])
++# ------------------------------
++m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
++
++
++# _LT_CONFIG_COMMANDS
++# -------------------
++# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
++# variables for single and double quote escaping we saved from calls
++# to _LT_DECL, we can put quote escaped variables declarations
++# into `config.status', and then the shell code to quote escape them in
++# for loops in `config.status'. Finally, any additional code accumulated
++# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
++m4_defun([_LT_CONFIG_COMMANDS],
++[AC_PROVIDE_IFELSE([LT_OUTPUT],
++ dnl If the libtool generation code has been placed in $CONFIG_LT,
++ dnl instead of duplicating it all over again into config.status,
++ dnl then we will have config.status run $CONFIG_LT later, so it
++ dnl needs to know what name is stored there:
++ [AC_CONFIG_COMMANDS([libtool],
++ [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
++ dnl If the libtool generation code is destined for config.status,
++ dnl expand the accumulated commands and init code now:
++ [AC_CONFIG_COMMANDS([libtool],
++ [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
++])#_LT_CONFIG_COMMANDS
++
++
++# Initialize.
++m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
++[
++
++# The HP-UX ksh and POSIX shell print the target directory to stdout
++# if CDPATH is set.
++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
++
++sed_quote_subst='$sed_quote_subst'
++double_quote_subst='$double_quote_subst'
++delay_variable_subst='$delay_variable_subst'
++_LT_CONFIG_STATUS_DECLARATIONS
++LTCC='$LTCC'
++LTCFLAGS='$LTCFLAGS'
++compiler='$compiler_DEFAULT'
++
++# Quote evaled strings.
++for var in lt_decl_all_varnames([[ \
++]], lt_decl_quote_varnames); do
++ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
++ *[[\\\\\\\`\\"\\\$]]*)
++ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
++ ;;
++ *)
++ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
++ ;;
++ esac
++done
++
++# Double-quote double-evaled strings.
++for var in lt_decl_all_varnames([[ \
++]], lt_decl_dquote_varnames); do
++ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
++ *[[\\\\\\\`\\"\\\$]]*)
++ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
++ ;;
++ *)
++ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
++ ;;
++ esac
++done
+
-+#ifndef S_IXOTH
-+# define S_IXOTH 0
-+#endif
-+#ifndef S_IXGRP
-+# define S_IXGRP 0
-+#endif
++# Fix-up fallback echo if it was mangled by the above quoting rules.
++case \$lt_ECHO in
++*'\\\[$]0 --fallback-echo"')dnl "
++ lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
++ ;;
++esac
+
-+#ifdef _MSC_VER
-+# define S_IXUSR _S_IEXEC
-+# define stat _stat
-+# ifndef _INTPTR_T_DEFINED
-+# define intptr_t int
-+# endif
-+#endif
++_LT_OUTPUT_LIBTOOL_INIT
++])
+
-+#ifndef DIR_SEPARATOR
-+# define DIR_SEPARATOR '/'
-+# define PATH_SEPARATOR ':'
-+#endif
+
-+#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
-+ defined (__OS2__)
-+# define HAVE_DOS_BASED_FILE_SYSTEM
-+# define FOPEN_WB "wb"
-+# ifndef DIR_SEPARATOR_2
-+# define DIR_SEPARATOR_2 '\\'
-+# endif
-+# ifndef PATH_SEPARATOR_2
-+# define PATH_SEPARATOR_2 ';'
-+# endif
-+#endif
++# LT_OUTPUT
++# ---------
++# This macro allows early generation of the libtool script (before
++# AC_OUTPUT is called), incase it is used in configure for compilation
++# tests.
++AC_DEFUN([LT_OUTPUT],
++[: ${CONFIG_LT=./config.lt}
++AC_MSG_NOTICE([creating $CONFIG_LT])
++cat >"$CONFIG_LT" <<_LTEOF
++#! $SHELL
++# Generated by $as_me.
++# Run this file to recreate a libtool stub with the current configuration.
+
-+#ifndef DIR_SEPARATOR_2
-+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
-+#else /* DIR_SEPARATOR_2 */
-+# define IS_DIR_SEPARATOR(ch) \
-+ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
-+#endif /* DIR_SEPARATOR_2 */
++lt_cl_silent=false
++SHELL=\${CONFIG_SHELL-$SHELL}
++_LTEOF
+
-+#ifndef PATH_SEPARATOR_2
-+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
-+#else /* PATH_SEPARATOR_2 */
-+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
-+#endif /* PATH_SEPARATOR_2 */
++cat >>"$CONFIG_LT" <<\_LTEOF
++AS_SHELL_SANITIZE
++_AS_PREPARE
+
-+#ifdef __CYGWIN__
-+# define FOPEN_WB "wb"
-+#endif
++exec AS_MESSAGE_FD>&1
++exec AS_MESSAGE_LOG_FD>>config.log
++{
++ echo
++ AS_BOX([Running $as_me.])
++} >&AS_MESSAGE_LOG_FD
+
-+#ifndef FOPEN_WB
-+# define FOPEN_WB "w"
-+#endif
-+#ifndef _O_BINARY
-+# define _O_BINARY 0
-+#endif
++lt_cl_help="\
++\`$as_me' creates a local libtool stub from the current configuration,
++for use in further configure time tests before the real libtool is
++generated.
+
-+#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
-+#define XFREE(stale) do { \
-+ if (stale) { free ((void *) stale); stale = 0; } \
-+} while (0)
++Usage: $[0] [[OPTIONS]]
+
-+#undef LTWRAPPER_DEBUGPRINTF
-+#if defined DEBUGWRAPPER
-+# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
-+static void
-+ltwrapper_debugprintf (const char *fmt, ...)
-+{
-+ va_list args;
-+ va_start (args, fmt);
-+ (void) vfprintf (stderr, fmt, args);
-+ va_end (args);
-+}
-+#else
-+# define LTWRAPPER_DEBUGPRINTF(args)
-+#endif
++ -h, --help print this help, then exit
++ -V, --version print version number, then exit
++ -q, --quiet do not print progress messages
++ -d, --debug don't remove temporary files
+
-+const char *program_name = NULL;
++Report bugs to <bug-libtool@gnu.org>."
+
-+void *xmalloc (size_t num);
-+char *xstrdup (const char *string);
-+const char *base_name (const char *name);
-+char *find_executable (const char *wrapper);
-+char *chase_symlinks (const char *pathspec);
-+int make_executable (const char *path);
-+int check_executable (const char *path);
-+char *strendzap (char *str, const char *pat);
-+void lt_fatal (const char *message, ...);
-+void lt_setenv (const char *name, const char *value);
-+char *lt_extend_str (const char *orig_value, const char *add, int to_end);
-+void lt_opt_process_env_set (const char *arg);
-+void lt_opt_process_env_prepend (const char *arg);
-+void lt_opt_process_env_append (const char *arg);
-+int lt_split_name_value (const char *arg, char** name, char** value);
-+void lt_update_exe_path (const char *name, const char *value);
-+void lt_update_lib_path (const char *name, const char *value);
++lt_cl_version="\
++m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
++m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
++configured by $[0], generated by m4_PACKAGE_STRING.
+
-+static const char *script_text_part1 =
-+EOF
++Copyright (C) 2008 Free Software Foundation, Inc.
++This config.lt script is free software; the Free Software Foundation
++gives unlimited permision to copy, distribute and modify it."
+
-+ func_emit_wrapper_part1 yes |
-+ $SED -e 's/\([\\"]\)/\\\1/g' \
-+ -e 's/^/ "/' -e 's/$/\\n"/'
-+ echo ";"
-+ cat <<EOF
++while test $[#] != 0
++do
++ case $[1] in
++ --version | --v* | -V )
++ echo "$lt_cl_version"; exit 0 ;;
++ --help | --h* | -h )
++ echo "$lt_cl_help"; exit 0 ;;
++ --debug | --d* | -d )
++ debug=: ;;
++ --quiet | --q* | --silent | --s* | -q )
++ lt_cl_silent=: ;;
+
-+static const char *script_text_part2 =
-+EOF
-+ func_emit_wrapper_part2 yes |
-+ $SED -e 's/\([\\"]\)/\\\1/g' \
-+ -e 's/^/ "/' -e 's/$/\\n"/'
-+ echo ";"
++ -*) AC_MSG_ERROR([unrecognized option: $[1]
++Try \`$[0] --help' for more information.]) ;;
+
-+ cat <<EOF
-+const char * MAGIC_EXE = "$magic_exe";
-+const char * LIB_PATH_VARNAME = "$shlibpath_var";
-+EOF
++ *) AC_MSG_ERROR([unrecognized argument: $[1]
++Try \`$[0] --help' for more information.]) ;;
++ esac
++ shift
++done
+
-+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-+ func_to_host_pathlist "$temp_rpath"
-+ cat <<EOF
-+const char * LIB_PATH_VALUE = "$func_to_host_pathlist_result";
-+EOF
-+ else
-+ cat <<"EOF"
-+const char * LIB_PATH_VALUE = "";
-+EOF
-+ fi
++if $lt_cl_silent; then
++ exec AS_MESSAGE_FD>/dev/null
++fi
++_LTEOF
+
-+ if test -n "$dllsearchpath"; then
-+ func_to_host_pathlist "$dllsearchpath:"
-+ cat <<EOF
-+const char * EXE_PATH_VARNAME = "PATH";
-+const char * EXE_PATH_VALUE = "$func_to_host_pathlist_result";
-+EOF
-+ else
-+ cat <<"EOF"
-+const char * EXE_PATH_VARNAME = "";
-+const char * EXE_PATH_VALUE = "";
-+EOF
-+ fi
++cat >>"$CONFIG_LT" <<_LTEOF
++_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
++_LTEOF
+
-+ if test "$fast_install" = yes; then
-+ cat <<EOF
-+const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
-+EOF
-+ else
-+ cat <<EOF
-+const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
-+EOF
-+ fi
++cat >>"$CONFIG_LT" <<\_LTEOF
++AC_MSG_NOTICE([creating $ofile])
++_LT_OUTPUT_LIBTOOL_COMMANDS
++AS_EXIT(0)
++_LTEOF
++chmod +x "$CONFIG_LT"
+
++# configure is writing to config.log, but config.lt does its own redirection,
++# appending to config.log, which fails on DOS, as config.log is still kept
++# open by configure. Here we exec the FD to /dev/null, effectively closing
++# config.log, so it can be properly (re)opened and appended to by config.lt.
++if test "$no_create" != yes; then
++ lt_cl_success=:
++ test "$silent" = yes &&
++ lt_config_lt_args="$lt_config_lt_args --quiet"
++ exec AS_MESSAGE_LOG_FD>/dev/null
++ $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
++ exec AS_MESSAGE_LOG_FD>>config.log
++ $lt_cl_success || AS_EXIT(1)
++fi
++])# LT_OUTPUT
+
-+ cat <<"EOF"
+
-+#define LTWRAPPER_OPTION_PREFIX "--lt-"
-+#define LTWRAPPER_OPTION_PREFIX_LENGTH 5
++# _LT_CONFIG(TAG)
++# ---------------
++# If TAG is the built-in tag, create an initial libtool script with a
++# default configuration from the untagged config vars. Otherwise add code
++# to config.status for appending the configuration named by TAG from the
++# matching tagged config vars.
++m4_defun([_LT_CONFIG],
++[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++_LT_CONFIG_SAVE_COMMANDS([
++ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
++ m4_if(_LT_TAG, [C], [
++ # See if we are running on zsh, and set the options which allow our
++ # commands through without removal of \ escapes.
++ if test -n "${ZSH_VERSION+set}" ; then
++ setopt NO_GLOB_SUBST
++ fi
+
-+static const size_t opt_prefix_len = LTWRAPPER_OPTION_PREFIX_LENGTH;
-+static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
++ cfgfile="${ofile}T"
++ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
++ $RM "$cfgfile"
+
-+static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
++ cat <<_LT_EOF >> "$cfgfile"
++#! $SHELL
+
-+static const size_t env_set_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
-+static const char *env_set_opt = LTWRAPPER_OPTION_PREFIX "env-set";
-+ /* argument is putenv-style "foo=bar", value of foo is set to bar */
++# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
++# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
++# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
++# NOTE: Changes made to this file will be lost: look at ltmain.sh.
++#
++_LT_COPYING
++_LT_LIBTOOL_TAGS
+
-+static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
-+static const char *env_prepend_opt = LTWRAPPER_OPTION_PREFIX "env-prepend";
-+ /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
++# ### BEGIN LIBTOOL CONFIG
++_LT_LIBTOOL_CONFIG_VARS
++_LT_LIBTOOL_TAG_VARS
++# ### END LIBTOOL CONFIG
+
-+static const size_t env_append_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
-+static const char *env_append_opt = LTWRAPPER_OPTION_PREFIX "env-append";
-+ /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
++_LT_EOF
+
-+int
-+main (int argc, char *argv[])
-+{
-+ char **newargz;
-+ int newargc;
-+ char *tmp_pathspec;
-+ char *actual_cwrapper_path;
-+ char *actual_cwrapper_name;
-+ char *target_name;
-+ char *lt_argv_zero;
-+ intptr_t rval = 127;
++ case $host_os in
++ aix3*)
++ cat <<\_LT_EOF >> "$cfgfile"
++# AIX sometimes has problems with the GCC collect2 program. For some
++# reason, if we set the COLLECT_NAMES environment variable, the problems
++# vanish in a puff of smoke.
++if test "X${COLLECT_NAMES+set}" != Xset; then
++ COLLECT_NAMES=
++ export COLLECT_NAMES
++fi
++_LT_EOF
++ ;;
++ esac
+
-+ int i;
++ _LT_PROG_LTMAIN
+
-+ program_name = (char *) xstrdup (base_name (argv[0]));
-+ LTWRAPPER_DEBUGPRINTF (("(main) argv[0] : %s\n", argv[0]));
-+ LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
++ # We use sed instead of cat because bash on DJGPP gets confused if
++ # if finds mixed CR/LF and LF-only lines. Since sed operates in
++ # text mode, it properly converts lines to CR/LF. This bash problem
++ # is reportedly fixed, but why not run on old versions too?
++ sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
++ || (rm -f "$cfgfile"; exit 1)
+
-+ /* very simple arg parsing; don't want to rely on getopt */
-+ for (i = 1; i < argc; i++)
-+ {
-+ if (strcmp (argv[i], dumpscript_opt) == 0)
-+ {
-+EOF
-+ case "$host" in
-+ *mingw* | *cygwin* )
-+ # make stdout use "unix" line endings
-+ echo " setmode(1,_O_BINARY);"
-+ ;;
-+ esac
++ _LT_PROG_XSI_SHELLFNS
+
-+ cat <<"EOF"
-+ printf ("%s", script_text_part1);
-+ printf ("%s", script_text_part2);
-+ return 0;
-+ }
-+ }
++ sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
++ || (rm -f "$cfgfile"; exit 1)
+
-+ newargz = XMALLOC (char *, argc + 1);
-+ tmp_pathspec = find_executable (argv[0]);
-+ if (tmp_pathspec == NULL)
-+ lt_fatal ("Couldn't find %s", argv[0]);
-+ LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
-+ tmp_pathspec));
++ mv -f "$cfgfile" "$ofile" ||
++ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
++ chmod +x "$ofile"
++],
++[cat <<_LT_EOF >> "$ofile"
++
++dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
++dnl in a comment (ie after a #).
++# ### BEGIN LIBTOOL TAG CONFIG: $1
++_LT_LIBTOOL_TAG_VARS(_LT_TAG)
++# ### END LIBTOOL TAG CONFIG: $1
++_LT_EOF
++])dnl /m4_if
++],
++[m4_if([$1], [], [
++ PACKAGE='$PACKAGE'
++ VERSION='$VERSION'
++ TIMESTAMP='$TIMESTAMP'
++ RM='$RM'
++ ofile='$ofile'], [])
++])dnl /_LT_CONFIG_SAVE_COMMANDS
++])# _LT_CONFIG
+
-+ actual_cwrapper_path = chase_symlinks (tmp_pathspec);
-+ LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
-+ actual_cwrapper_path));
-+ XFREE (tmp_pathspec);
+
-+ actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
-+ strendzap (actual_cwrapper_path, actual_cwrapper_name);
++# LT_SUPPORTED_TAG(TAG)
++# ---------------------
++# Trace this macro to discover what tags are supported by the libtool
++# --tag option, using:
++# autoconf --trace 'LT_SUPPORTED_TAG:$1'
++AC_DEFUN([LT_SUPPORTED_TAG], [])
+
-+ /* wrapper name transforms */
-+ strendzap (actual_cwrapper_name, ".exe");
-+ tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
-+ XFREE (actual_cwrapper_name);
-+ actual_cwrapper_name = tmp_pathspec;
-+ tmp_pathspec = 0;
+
-+ /* target_name transforms -- use actual target program name; might have lt- prefix */
-+ target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
-+ strendzap (target_name, ".exe");
-+ tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
-+ XFREE (target_name);
-+ target_name = tmp_pathspec;
-+ tmp_pathspec = 0;
++# C support is built-in for now
++m4_define([_LT_LANG_C_enabled], [])
++m4_define([_LT_TAGS], [])
+
-+ LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
-+ target_name));
-+EOF
+
-+ cat <<EOF
-+ newargz[0] =
-+ XMALLOC (char, (strlen (actual_cwrapper_path) +
-+ strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
-+ strcpy (newargz[0], actual_cwrapper_path);
-+ strcat (newargz[0], "$objdir");
-+ strcat (newargz[0], "/");
-+EOF
++# LT_LANG(LANG)
++# -------------
++# Enable libtool support for the given language if not already enabled.
++AC_DEFUN([LT_LANG],
++[AC_BEFORE([$0], [LT_OUTPUT])dnl
++m4_case([$1],
++ [C], [_LT_LANG(C)],
++ [C++], [_LT_LANG(CXX)],
++ [Java], [_LT_LANG(GCJ)],
++ [Fortran 77], [_LT_LANG(F77)],
++ [Fortran], [_LT_LANG(FC)],
++ [Windows Resource], [_LT_LANG(RC)],
++ [m4_ifdef([_LT_LANG_]$1[_CONFIG],
++ [_LT_LANG($1)],
++ [m4_fatal([$0: unsupported language: "$1"])])])dnl
++])# LT_LANG
++
++
++# _LT_LANG(LANGNAME)
++# ------------------
++m4_defun([_LT_LANG],
++[m4_ifdef([_LT_LANG_]$1[_enabled], [],
++ [LT_SUPPORTED_TAG([$1])dnl
++ m4_append([_LT_TAGS], [$1 ])dnl
++ m4_define([_LT_LANG_]$1[_enabled], [])dnl
++ _LT_LANG_$1_CONFIG($1)])dnl
++])# _LT_LANG
+
-+ cat <<"EOF"
-+ /* stop here, and copy so we don't have to do this twice */
-+ tmp_pathspec = xstrdup (newargz[0]);
+
-+ /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
-+ strcat (newargz[0], actual_cwrapper_name);
++# _LT_LANG_DEFAULT_CONFIG
++# -----------------------
++m4_defun([_LT_LANG_DEFAULT_CONFIG],
++[AC_PROVIDE_IFELSE([AC_PROG_CXX],
++ [LT_LANG(CXX)],
++ [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
++
++AC_PROVIDE_IFELSE([AC_PROG_F77],
++ [LT_LANG(F77)],
++ [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
++
++AC_PROVIDE_IFELSE([AC_PROG_FC],
++ [LT_LANG(FC)],
++ [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
++
++dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
++dnl pulling things in needlessly.
++AC_PROVIDE_IFELSE([AC_PROG_GCJ],
++ [LT_LANG(GCJ)],
++ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
++ [LT_LANG(GCJ)],
++ [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
++ [LT_LANG(GCJ)],
++ [m4_ifdef([AC_PROG_GCJ],
++ [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
++ m4_ifdef([A][M_PROG_GCJ],
++ [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
++ m4_ifdef([LT_PROG_GCJ],
++ [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
++
++AC_PROVIDE_IFELSE([LT_PROG_RC],
++ [LT_LANG(RC)],
++ [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
++])# _LT_LANG_DEFAULT_CONFIG
++
++# Obsolete macros:
++AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
++AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
++AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
++AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
++dnl AC_DEFUN([AC_LIBTOOL_F77], [])
++dnl AC_DEFUN([AC_LIBTOOL_FC], [])
++dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
++
++
++# _LT_TAG_COMPILER
++# ----------------
++m4_defun([_LT_TAG_COMPILER],
++[AC_REQUIRE([AC_PROG_CC])dnl
++
++_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
++_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
++_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
++_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
+
-+ /* DO want the lt- prefix here if it exists, so use target_name */
-+ lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
-+ XFREE (tmp_pathspec);
-+ tmp_pathspec = NULL;
-+EOF
++# If no C compiler was specified, use CC.
++LTCC=${LTCC-"$CC"}
+
-+ case $host_os in
-+ mingw*)
-+ cat <<"EOF"
-+ {
-+ char* p;
-+ while ((p = strchr (newargz[0], '\\')) != NULL)
-+ {
-+ *p = '/';
-+ }
-+ while ((p = strchr (lt_argv_zero, '\\')) != NULL)
-+ {
-+ *p = '/';
-+ }
-+ }
-+EOF
-+ ;;
-+ esac
++# If no C compiler flags were specified, use CFLAGS.
++LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
-+ cat <<"EOF"
-+ XFREE (target_name);
-+ XFREE (actual_cwrapper_path);
-+ XFREE (actual_cwrapper_name);
++# Allow CC to be a program name with arguments.
++compiler=$CC
++])# _LT_TAG_COMPILER
+
-+ lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
-+ lt_setenv ("DUALCASE", "1"); /* for MSK sh */
-+ lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
-+ lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+
-+ newargc=0;
-+ for (i = 1; i < argc; i++)
-+ {
-+ if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
-+ {
-+ if (argv[i][env_set_opt_len] == '=')
-+ {
-+ const char *p = argv[i] + env_set_opt_len + 1;
-+ lt_opt_process_env_set (p);
-+ }
-+ else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
-+ {
-+ lt_opt_process_env_set (argv[++i]); /* don't copy */
-+ }
-+ else
-+ lt_fatal ("%s missing required argument", env_set_opt);
-+ continue;
-+ }
-+ if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
-+ {
-+ if (argv[i][env_prepend_opt_len] == '=')
-+ {
-+ const char *p = argv[i] + env_prepend_opt_len + 1;
-+ lt_opt_process_env_prepend (p);
-+ }
-+ else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
-+ {
-+ lt_opt_process_env_prepend (argv[++i]); /* don't copy */
-+ }
-+ else
-+ lt_fatal ("%s missing required argument", env_prepend_opt);
-+ continue;
-+ }
-+ if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
-+ {
-+ if (argv[i][env_append_opt_len] == '=')
-+ {
-+ const char *p = argv[i] + env_append_opt_len + 1;
-+ lt_opt_process_env_append (p);
-+ }
-+ else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
-+ {
-+ lt_opt_process_env_append (argv[++i]); /* don't copy */
-+ }
-+ else
-+ lt_fatal ("%s missing required argument", env_append_opt);
-+ continue;
-+ }
-+ if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
-+ {
-+ /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
-+ namespace, but it is not one of the ones we know about and
-+ have already dealt with, above (inluding dump-script), then
-+ report an error. Otherwise, targets might begin to believe
-+ they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
-+ namespace. The first time any user complains about this, we'll
-+ need to make LTWRAPPER_OPTION_PREFIX a configure-time option
-+ or a configure.ac-settable value.
-+ */
-+ lt_fatal ("Unrecognized option in %s namespace: '%s'",
-+ ltwrapper_option_prefix, argv[i]);
-+ }
-+ /* otherwise ... */
-+ newargz[++newargc] = xstrdup (argv[i]);
-+ }
-+ newargz[++newargc] = NULL;
++# _LT_COMPILER_BOILERPLATE
++# ------------------------
++# Check for compiler boilerplate output or warnings with
++# the simple compiler test code.
++m4_defun([_LT_COMPILER_BOILERPLATE],
++[m4_require([_LT_DECL_SED])dnl
++ac_outfile=conftest.$ac_objext
++echo "$lt_simple_compile_test_code" >conftest.$ac_ext
++eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
++_lt_compiler_boilerplate=`cat conftest.err`
++$RM conftest*
++])# _LT_COMPILER_BOILERPLATE
+
-+ LTWRAPPER_DEBUGPRINTF (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
-+ for (i = 0; i < newargc; i++)
-+ {
-+ LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
-+ }
+
-+EOF
++# _LT_LINKER_BOILERPLATE
++# ----------------------
++# Check for linker boilerplate output or warnings with
++# the simple link test code.
++m4_defun([_LT_LINKER_BOILERPLATE],
++[m4_require([_LT_DECL_SED])dnl
++ac_outfile=conftest.$ac_objext
++echo "$lt_simple_link_test_code" >conftest.$ac_ext
++eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
++_lt_linker_boilerplate=`cat conftest.err`
++$RM -r conftest*
++])# _LT_LINKER_BOILERPLATE
+
-+ case $host_os in
-+ mingw*)
-+ cat <<"EOF"
-+ /* execv doesn't actually work on mingw as expected on unix */
-+ rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
-+ if (rval == -1)
-+ {
-+ /* failed to start process */
-+ LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
-+ return 127;
-+ }
-+ return rval;
-+EOF
-+ ;;
-+ *)
-+ cat <<"EOF"
-+ execv (lt_argv_zero, newargz);
-+ return rval; /* =127, but avoids unused variable warning */
-+EOF
-+ ;;
-+ esac
++# _LT_REQUIRED_DARWIN_CHECKS
++# -------------------------
++m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
++ case $host_os in
++ rhapsody* | darwin*)
++ AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
++ AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
++ AC_CHECK_TOOL([LIPO], [lipo], [:])
++ AC_CHECK_TOOL([OTOOL], [otool], [:])
++ AC_CHECK_TOOL([OTOOL64], [otool64], [:])
++ _LT_DECL([], [DSYMUTIL], [1],
++ [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
++ _LT_DECL([], [NMEDIT], [1],
++ [Tool to change global to local symbols on Mac OS X])
++ _LT_DECL([], [LIPO], [1],
++ [Tool to manipulate fat objects and archives on Mac OS X])
++ _LT_DECL([], [OTOOL], [1],
++ [ldd/readelf like tool for Mach-O binaries on Mac OS X])
++ _LT_DECL([], [OTOOL64], [1],
++ [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
++
++ AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
++ [lt_cv_apple_cc_single_mod=no
++ if test -z "${LT_MULTI_MODULE}"; then
++ # By default we will add the -single_module flag. You can override
++ # by either setting the environment variable LT_MULTI_MODULE
++ # non-empty at configure time, or by adding -multi_module to the
++ # link flags.
++ rm -rf libconftest.dylib*
++ echo "int foo(void){return 1;}" > conftest.c
++ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
++-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
++ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
++ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
++ _lt_result=$?
++ if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
++ lt_cv_apple_cc_single_mod=yes
++ else
++ cat conftest.err >&AS_MESSAGE_LOG_FD
++ fi
++ rm -rf libconftest.dylib*
++ rm -f conftest.*
++ fi])
++ AC_CACHE_CHECK([for -exported_symbols_list linker flag],
++ [lt_cv_ld_exported_symbols_list],
++ [lt_cv_ld_exported_symbols_list=no
++ save_LDFLAGS=$LDFLAGS
++ echo "_main" > conftest.sym
++ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
++ [lt_cv_ld_exported_symbols_list=yes],
++ [lt_cv_ld_exported_symbols_list=no])
++ LDFLAGS="$save_LDFLAGS"
++ ])
++ case $host_os in
++ rhapsody* | darwin1.[[012]])
++ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
++ darwin1.*)
++ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
++ darwin*) # darwin 5.x on
++ # if running on 10.5 or later, the deployment target defaults
++ # to the OS version, if on x86, and 10.4, the deployment
++ # target defaults to 10.4. Don't you love it?
++ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
++ 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
++ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
++ 10.[[012]]*)
++ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
++ 10.*)
++ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
++ esac
++ ;;
++ esac
++ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
++ _lt_dar_single_mod='$single_module'
++ fi
++ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
++ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
++ else
++ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
++ fi
++ if test "$DSYMUTIL" != ":"; then
++ _lt_dsymutil='~$DSYMUTIL $lib || :'
++ else
++ _lt_dsymutil=
++ fi
++ ;;
++ esac
++])
++
++
++# _LT_DARWIN_LINKER_FEATURES
++# --------------------------
++# Checks for linker and compiler features on darwin
++m4_defun([_LT_DARWIN_LINKER_FEATURES],
++[
++ m4_require([_LT_REQUIRED_DARWIN_CHECKS])
++ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
++ _LT_TAGVAR(hardcode_direct, $1)=no
++ _LT_TAGVAR(hardcode_automatic, $1)=yes
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
++ _LT_TAGVAR(whole_archive_flag_spec, $1)=''
++ _LT_TAGVAR(link_all_deplibs, $1)=yes
++ _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
++ case $cc_basename in
++ ifort*) _lt_dar_can_shared=yes ;;
++ *) _lt_dar_can_shared=$GCC ;;
++ esac
++ if test "$_lt_dar_can_shared" = "yes"; then
++ output_verbose_link_cmd=echo
++ _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
++ _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
++ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
++ _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
++ m4_if([$1], [CXX],
++[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
++ _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
++ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
++ fi
++],[])
++ else
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ fi
++])
+
-+ cat <<"EOF"
-+}
++# _LT_SYS_MODULE_PATH_AIX
++# -----------------------
++# Links a minimal program and checks the executable
++# for the system default hardcoded library path. In most cases,
++# this is /usr/lib:/lib, but when the MPI compilers are used
++# the location of the communication and MPI libs are included too.
++# If we don't find anything, use the default library path according
++# to the aix ld manual.
++m4_defun([_LT_SYS_MODULE_PATH_AIX],
++[m4_require([_LT_DECL_SED])dnl
++AC_LINK_IFELSE(AC_LANG_PROGRAM,[
++lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\(.*\)$/\1/
++ p
++ }
++ }'
++aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++# Check for a 64-bit object if we didn't find anything.
++if test -z "$aix_libpath"; then
++ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++fi],[])
++if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++])# _LT_SYS_MODULE_PATH_AIX
+
-+void *
-+xmalloc (size_t num)
-+{
-+ void *p = (void *) malloc (num);
-+ if (!p)
-+ lt_fatal ("Memory exhausted");
+
-+ return p;
-+}
++# _LT_SHELL_INIT(ARG)
++# -------------------
++m4_define([_LT_SHELL_INIT],
++[ifdef([AC_DIVERSION_NOTICE],
++ [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
++ [AC_DIVERT_PUSH(NOTICE)])
++$1
++AC_DIVERT_POP
++])# _LT_SHELL_INIT
+
-+char *
-+xstrdup (const char *string)
-+{
-+ return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
-+ string) : NULL;
-+}
+
-+const char *
-+base_name (const char *name)
-+{
-+ const char *base;
++# _LT_PROG_ECHO_BACKSLASH
++# -----------------------
++# Add some code to the start of the generated configure script which
++# will find an echo command which doesn't interpret backslashes.
++m4_defun([_LT_PROG_ECHO_BACKSLASH],
++[_LT_SHELL_INIT([
++# Check that we are running under the correct shell.
++SHELL=${CONFIG_SHELL-/bin/sh}
+
-+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-+ /* Skip over the disk name in MSDOS pathnames. */
-+ if (isalpha ((unsigned char) name[0]) && name[1] == ':')
-+ name += 2;
-+#endif
++case X$lt_ECHO in
++X*--fallback-echo)
++ # Remove one level of quotation (which was required for Make).
++ ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
++ ;;
++esac
+
-+ for (base = name; *name; name++)
-+ if (IS_DIR_SEPARATOR (*name))
-+ base = name + 1;
-+ return base;
-+}
++ECHO=${lt_ECHO-echo}
++if test "X[$]1" = X--no-reexec; then
++ # Discard the --no-reexec flag, and continue.
++ shift
++elif test "X[$]1" = X--fallback-echo; then
++ # Avoid inline document here, it may be left over
++ :
++elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
++ # Yippee, $ECHO works!
++ :
++else
++ # Restart under the correct shell.
++ exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
++fi
+
-+int
-+check_executable (const char *path)
-+{
-+ struct stat st;
++if test "X[$]1" = X--fallback-echo; then
++ # used as fallback echo
++ shift
++ cat <<_LT_EOF
++[$]*
++_LT_EOF
++ exit 0
++fi
+
-+ LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n",
-+ path ? (*path ? path : "EMPTY!") : "NULL!"));
-+ if ((!path) || (!*path))
-+ return 0;
++# The HP-UX ksh and POSIX shell print the target directory to stdout
++# if CDPATH is set.
++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
-+ if ((stat (path, &st) >= 0)
-+ && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
-+ return 1;
++if test -z "$lt_ECHO"; then
++ if test "X${echo_test_string+set}" != Xset; then
++ # find a string as large as possible, as long as the shell can cope with it
++ for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
++ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
++ if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
++ { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
++ then
++ break
++ fi
++ done
++ fi
++
++ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
++ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ :
+ else
-+ return 0;
-+}
++ # The Solaris, AIX, and Digital Unix default echo programs unquote
++ # backslashes. This makes it impossible to quote backslashes using
++ # echo "$something" | sed 's/\\/\\\\/g'
++ #
++ # So, first we look for a working echo in the user's PATH.
+
-+int
-+make_executable (const char *path)
-+{
-+ int rval = 0;
-+ struct stat st;
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ for dir in $PATH /usr/ucb; do
++ IFS="$lt_save_ifs"
++ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
++ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
++ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ ECHO="$dir/echo"
++ break
++ fi
++ done
++ IFS="$lt_save_ifs"
+
-+ LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n",
-+ path ? (*path ? path : "EMPTY!") : "NULL!"));
-+ if ((!path) || (!*path))
-+ return 0;
++ if test "X$ECHO" = Xecho; then
++ # We didn't find a better echo, so look for alternatives.
++ if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
++ echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ # This shell has a builtin print -r that does the trick.
++ ECHO='print -r'
++ elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
++ test "X$CONFIG_SHELL" != X/bin/ksh; then
++ # If we have ksh, try running configure again with it.
++ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
++ export ORIGINAL_CONFIG_SHELL
++ CONFIG_SHELL=/bin/ksh
++ export CONFIG_SHELL
++ exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
++ else
++ # Try using printf.
++ ECHO='printf %s\n'
++ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
++ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ # Cool, printf works
++ :
++ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
++ test "X$echo_testing_string" = 'X\t' &&
++ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
++ export CONFIG_SHELL
++ SHELL="$CONFIG_SHELL"
++ export SHELL
++ ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
++ elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
++ test "X$echo_testing_string" = 'X\t' &&
++ echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
++ else
++ # maybe with a smaller string...
++ prev=:
+
-+ if (stat (path, &st) >= 0)
-+ {
-+ rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
-+ }
-+ return rval;
-+}
++ for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
++ if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
++ then
++ break
++ fi
++ prev="$cmd"
++ done
+
-+/* Searches for the full path of the wrapper. Returns
-+ newly allocated full path name if found, NULL otherwise
-+ Does not chase symlinks, even on platforms that support them.
-+*/
-+char *
-+find_executable (const char *wrapper)
-+{
-+ int has_slash = 0;
-+ const char *p;
-+ const char *p_next;
-+ /* static buffer for getcwd */
-+ char tmp[LT_PATHMAX + 1];
-+ int tmp_len;
-+ char *concat_name;
++ if test "$prev" != 'sed 50q "[$]0"'; then
++ echo_test_string=`eval $prev`
++ export echo_test_string
++ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
++ else
++ # Oops. We lost completely, so just stick with echo.
++ ECHO=echo
++ fi
++ fi
++ fi
++ fi
++ fi
++fi
+
-+ LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n",
-+ wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
++# Copy echo and quote the copy suitably for passing to libtool from
++# the Makefile, instead of quoting the original, which is used later.
++lt_ECHO=$ECHO
++if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
++ lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
++fi
+
-+ if ((wrapper == NULL) || (*wrapper == '\0'))
-+ return NULL;
++AC_SUBST(lt_ECHO)
++])
++_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
++_LT_DECL([], [ECHO], [1],
++ [An echo program that does not interpret backslashes])
++])# _LT_PROG_ECHO_BACKSLASH
+
-+ /* Absolute path? */
-+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-+ if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
-+ {
-+ concat_name = xstrdup (wrapper);
-+ if (check_executable (concat_name))
-+ return concat_name;
-+ XFREE (concat_name);
-+ }
-+ else
-+ {
-+#endif
-+ if (IS_DIR_SEPARATOR (wrapper[0]))
-+ {
-+ concat_name = xstrdup (wrapper);
-+ if (check_executable (concat_name))
-+ return concat_name;
-+ XFREE (concat_name);
-+ }
-+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-+ }
-+#endif
+
-+ for (p = wrapper; *p; p++)
-+ if (*p == '/')
-+ {
-+ has_slash = 1;
-+ break;
-+ }
-+ if (!has_slash)
-+ {
-+ /* no slashes; search PATH */
-+ const char *path = getenv ("PATH");
-+ if (path != NULL)
-+ {
-+ for (p = path; *p; p = p_next)
-+ {
-+ const char *q;
-+ size_t p_len;
-+ for (q = p; *q; q++)
-+ if (IS_PATH_SEPARATOR (*q))
-+ break;
-+ p_len = q - p;
-+ p_next = (*q == '\0' ? q : q + 1);
-+ if (p_len == 0)
-+ {
-+ /* empty path: current directory */
-+ if (getcwd (tmp, LT_PATHMAX) == NULL)
-+ lt_fatal ("getcwd failed");
-+ tmp_len = strlen (tmp);
-+ concat_name =
-+ XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
-+ memcpy (concat_name, tmp, tmp_len);
-+ concat_name[tmp_len] = '/';
-+ strcpy (concat_name + tmp_len + 1, wrapper);
-+ }
-+ else
-+ {
-+ concat_name =
-+ XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
-+ memcpy (concat_name, p, p_len);
-+ concat_name[p_len] = '/';
-+ strcpy (concat_name + p_len + 1, wrapper);
-+ }
-+ if (check_executable (concat_name))
-+ return concat_name;
-+ XFREE (concat_name);
-+ }
-+ }
-+ /* not found in PATH; assume curdir */
-+ }
-+ /* Relative path | not found in path: prepend cwd */
-+ if (getcwd (tmp, LT_PATHMAX) == NULL)
-+ lt_fatal ("getcwd failed");
-+ tmp_len = strlen (tmp);
-+ concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
-+ memcpy (concat_name, tmp, tmp_len);
-+ concat_name[tmp_len] = '/';
-+ strcpy (concat_name + tmp_len + 1, wrapper);
++# _LT_ENABLE_LOCK
++# ---------------
++m4_defun([_LT_ENABLE_LOCK],
++[AC_ARG_ENABLE([libtool-lock],
++ [AS_HELP_STRING([--disable-libtool-lock],
++ [avoid locking (might break parallel builds)])])
++test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
-+ if (check_executable (concat_name))
-+ return concat_name;
-+ XFREE (concat_name);
-+ return NULL;
-+}
++# Some flags need to be propagated to the compiler or linker for good
++# libtool support.
++case $host in
++ia64-*-hpux*)
++ # Find out which ABI we are using.
++ echo 'int i;' > conftest.$ac_ext
++ if AC_TRY_EVAL(ac_compile); then
++ case `/usr/bin/file conftest.$ac_objext` in
++ *ELF-32*)
++ HPUX_IA64_MODE="32"
++ ;;
++ *ELF-64*)
++ HPUX_IA64_MODE="64"
++ ;;
++ esac
++ fi
++ rm -rf conftest*
++ ;;
++*-*-irix6*)
++ # Find out which ABI we are using.
++ echo '[#]line __oline__ "configure"' > conftest.$ac_ext
++ if AC_TRY_EVAL(ac_compile); then
++ if test "$lt_cv_prog_gnu_ld" = yes; then
++ case `/usr/bin/file conftest.$ac_objext` in
++ *32-bit*)
++ LD="${LD-ld} -melf32bsmip"
++ ;;
++ *N32*)
++ LD="${LD-ld} -melf32bmipn32"
++ ;;
++ *64-bit*)
++ LD="${LD-ld} -melf64bmip"
++ ;;
++ esac
++ else
++ case `/usr/bin/file conftest.$ac_objext` in
++ *32-bit*)
++ LD="${LD-ld} -32"
++ ;;
++ *N32*)
++ LD="${LD-ld} -n32"
++ ;;
++ *64-bit*)
++ LD="${LD-ld} -64"
++ ;;
++ esac
++ fi
++ fi
++ rm -rf conftest*
++ ;;
+
-+char *
-+chase_symlinks (const char *pathspec)
-+{
-+#ifndef S_ISLNK
-+ return xstrdup (pathspec);
-+#else
-+ char buf[LT_PATHMAX];
-+ struct stat s;
-+ char *tmp_pathspec = xstrdup (pathspec);
-+ char *p;
-+ int has_symlinks = 0;
-+ while (strlen (tmp_pathspec) && !has_symlinks)
-+ {
-+ LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
-+ tmp_pathspec));
-+ if (lstat (tmp_pathspec, &s) == 0)
-+ {
-+ if (S_ISLNK (s.st_mode) != 0)
-+ {
-+ has_symlinks = 1;
-+ break;
-+ }
++x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
++s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
++ # Find out which ABI we are using.
++ echo 'int i;' > conftest.$ac_ext
++ if AC_TRY_EVAL(ac_compile); then
++ case `/usr/bin/file conftest.o` in
++ *32-bit*)
++ case $host in
++ x86_64-*kfreebsd*-gnu)
++ LD="${LD-ld} -m elf_i386_fbsd"
++ ;;
++ x86_64-*linux*)
++ LD="${LD-ld} -m elf_i386"
++ ;;
++ ppc64-*linux*|powerpc64-*linux*)
++ LD="${LD-ld} -m elf32ppclinux"
++ ;;
++ s390x-*linux*)
++ LD="${LD-ld} -m elf_s390"
++ ;;
++ sparc64-*linux*)
++ LD="${LD-ld} -m elf32_sparc"
++ ;;
++ esac
++ ;;
++ *64-bit*)
++ case $host in
++ x86_64-*kfreebsd*-gnu)
++ LD="${LD-ld} -m elf_x86_64_fbsd"
++ ;;
++ x86_64-*linux*)
++ LD="${LD-ld} -m elf_x86_64"
++ ;;
++ ppc*-*linux*|powerpc*-*linux*)
++ LD="${LD-ld} -m elf64ppc"
++ ;;
++ s390*-*linux*|s390*-*tpf*)
++ LD="${LD-ld} -m elf64_s390"
++ ;;
++ sparc*-*linux*)
++ LD="${LD-ld} -m elf64_sparc"
++ ;;
++ esac
++ ;;
++ esac
++ fi
++ rm -rf conftest*
++ ;;
+
-+ /* search backwards for last DIR_SEPARATOR */
-+ p = tmp_pathspec + strlen (tmp_pathspec) - 1;
-+ while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
-+ p--;
-+ if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
-+ {
-+ /* no more DIR_SEPARATORS left */
-+ break;
-+ }
-+ *p = '\0';
-+ }
-+ else
-+ {
-+ char *errstr = strerror (errno);
-+ lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
-+ }
-+ }
-+ XFREE (tmp_pathspec);
++*-*-sco3.2v5*)
++ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
++ SAVE_CFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS -belf"
++ AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
++ [AC_LANG_PUSH(C)
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
++ AC_LANG_POP])
++ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
++ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
++ CFLAGS="$SAVE_CFLAGS"
++ fi
++ ;;
++sparc*-*solaris*)
++ # Find out which ABI we are using.
++ echo 'int i;' > conftest.$ac_ext
++ if AC_TRY_EVAL(ac_compile); then
++ case `/usr/bin/file conftest.o` in
++ *64-bit*)
++ case $lt_cv_prog_gnu_ld in
++ yes*) LD="${LD-ld} -m elf64_sparc" ;;
++ *)
++ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
++ LD="${LD-ld} -64"
++ fi
++ ;;
++ esac
++ ;;
++ esac
++ fi
++ rm -rf conftest*
++ ;;
++esac
+
-+ if (!has_symlinks)
-+ {
-+ return xstrdup (pathspec);
-+ }
++need_locks="$enable_libtool_lock"
++])# _LT_ENABLE_LOCK
+
-+ tmp_pathspec = realpath (pathspec, buf);
-+ if (tmp_pathspec == 0)
-+ {
-+ lt_fatal ("Could not follow symlinks for %s", pathspec);
-+ }
-+ return xstrdup (tmp_pathspec);
-+#endif
-+}
+
-+char *
-+strendzap (char *str, const char *pat)
-+{
-+ size_t len, patlen;
++# _LT_CMD_OLD_ARCHIVE
++# -------------------
++m4_defun([_LT_CMD_OLD_ARCHIVE],
++[AC_CHECK_TOOL(AR, ar, false)
++test -z "$AR" && AR=ar
++test -z "$AR_FLAGS" && AR_FLAGS=cru
++_LT_DECL([], [AR], [1], [The archiver])
++_LT_DECL([], [AR_FLAGS], [1])
+
-+ assert (str != NULL);
-+ assert (pat != NULL);
++AC_CHECK_TOOL(STRIP, strip, :)
++test -z "$STRIP" && STRIP=:
++_LT_DECL([], [STRIP], [1], [A symbol stripping program])
+
-+ len = strlen (str);
-+ patlen = strlen (pat);
++AC_CHECK_TOOL(RANLIB, ranlib, :)
++test -z "$RANLIB" && RANLIB=:
++_LT_DECL([], [RANLIB], [1],
++ [Commands used to install an old-style archive])
+
-+ if (patlen <= len)
-+ {
-+ str += len - patlen;
-+ if (strcmp (str, pat) == 0)
-+ *str = '\0';
-+ }
-+ return str;
-+}
++# Determine commands to create old-style static archives.
++old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
++old_postinstall_cmds='chmod 644 $oldlib'
++old_postuninstall_cmds=
+
-+static void
-+lt_error_core (int exit_status, const char *mode,
-+ const char *message, va_list ap)
-+{
-+ fprintf (stderr, "%s: %s: ", program_name, mode);
-+ vfprintf (stderr, message, ap);
-+ fprintf (stderr, ".\n");
++if test -n "$RANLIB"; then
++ case $host_os in
++ openbsd*)
++ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
++ ;;
++ *)
++ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
++ ;;
++ esac
++ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
++fi
++_LT_DECL([], [old_postinstall_cmds], [2])
++_LT_DECL([], [old_postuninstall_cmds], [2])
++_LT_TAGDECL([], [old_archive_cmds], [2],
++ [Commands used to build an old-style archive])
++])# _LT_CMD_OLD_ARCHIVE
++
++
++# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
++# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
++# ----------------------------------------------------------------
++# Check whether the given compiler option works
++AC_DEFUN([_LT_COMPILER_OPTION],
++[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++m4_require([_LT_DECL_SED])dnl
++AC_CACHE_CHECK([$1], [$2],
++ [$2=no
++ m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++ lt_compiler_flag="$3"
++ # Insert the option either (1) after the last *FLAGS variable, or
++ # (2) before a word containing "conftest.", or (3) at the end.
++ # Note that $ac_compile itself does not contain backslashes and begins
++ # with a dollar sign (not a hyphen), so the echo should work correctly.
++ # The option is referenced via a variable to avoid confusing sed.
++ lt_compile=`echo "$ac_compile" | $SED \
++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
++ -e 's:$: $lt_compiler_flag:'`
++ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
++ (eval "$lt_compile" 2>conftest.err)
++ ac_status=$?
++ cat conftest.err >&AS_MESSAGE_LOG_FD
++ echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
++ if (exit $ac_status) && test -s "$ac_outfile"; then
++ # The compiler can only warn and ignore the option if not recognized
++ # So say no if there are warnings other than the usual output.
++ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
++ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
++ $2=yes
++ fi
++ fi
++ $RM conftest*
++])
+
-+ if (exit_status >= 0)
-+ exit (exit_status);
-+}
++if test x"[$]$2" = xyes; then
++ m4_if([$5], , :, [$5])
++else
++ m4_if([$6], , :, [$6])
++fi
++])# _LT_COMPILER_OPTION
+
-+void
-+lt_fatal (const char *message, ...)
-+{
-+ va_list ap;
-+ va_start (ap, message);
-+ lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
-+ va_end (ap);
-+}
++# Old name:
++AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
+
-+void
-+lt_setenv (const char *name, const char *value)
-+{
-+ LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
-+ (name ? name : "<NULL>"),
-+ (value ? value : "<NULL>")));
-+ {
-+#ifdef HAVE_SETENV
-+ /* always make a copy, for consistency with !HAVE_SETENV */
-+ char *str = xstrdup (value);
-+ setenv (name, str, 1);
-+#else
-+ int len = strlen (name) + 1 + strlen (value) + 1;
-+ char *str = XMALLOC (char, len);
-+ sprintf (str, "%s=%s", name, value);
-+ if (putenv (str) != EXIT_SUCCESS)
-+ {
-+ XFREE (str);
-+ }
-+#endif
-+ }
-+}
+
-+char *
-+lt_extend_str (const char *orig_value, const char *add, int to_end)
-+{
-+ char *new_value;
-+ if (orig_value && *orig_value)
-+ {
-+ int orig_value_len = strlen (orig_value);
-+ int add_len = strlen (add);
-+ new_value = XMALLOC (char, add_len + orig_value_len + 1);
-+ if (to_end)
-+ {
-+ strcpy (new_value, orig_value);
-+ strcpy (new_value + orig_value_len, add);
-+ }
-+ else
-+ {
-+ strcpy (new_value, add);
-+ strcpy (new_value + add_len, orig_value);
-+ }
-+ }
-+ else
-+ {
-+ new_value = xstrdup (add);
-+ }
-+ return new_value;
-+}
++# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
++# [ACTION-SUCCESS], [ACTION-FAILURE])
++# ----------------------------------------------------
++# Check whether the given linker option works
++AC_DEFUN([_LT_LINKER_OPTION],
++[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++m4_require([_LT_DECL_SED])dnl
++AC_CACHE_CHECK([$1], [$2],
++ [$2=no
++ save_LDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS $3"
++ echo "$lt_simple_link_test_code" > conftest.$ac_ext
++ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
++ # The linker can only warn and ignore the option if not recognized
++ # So say no if there are warnings
++ if test -s conftest.err; then
++ # Append any errors to the config.log.
++ cat conftest.err 1>&AS_MESSAGE_LOG_FD
++ $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
++ if diff conftest.exp conftest.er2 >/dev/null; then
++ $2=yes
++ fi
++ else
++ $2=yes
++ fi
++ fi
++ $RM -r conftest*
++ LDFLAGS="$save_LDFLAGS"
++])
+
-+int
-+lt_split_name_value (const char *arg, char** name, char** value)
-+{
-+ const char *p;
-+ int len;
-+ if (!arg || !*arg)
-+ return 1;
++if test x"[$]$2" = xyes; then
++ m4_if([$4], , :, [$4])
++else
++ m4_if([$5], , :, [$5])
++fi
++])# _LT_LINKER_OPTION
+
-+ p = strchr (arg, (int)'=');
++# Old name:
++AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
+
-+ if (!p)
-+ return 1;
+
-+ *value = xstrdup (++p);
++# LT_CMD_MAX_LEN
++#---------------
++AC_DEFUN([LT_CMD_MAX_LEN],
++[AC_REQUIRE([AC_CANONICAL_HOST])dnl
++# find the maximum length of command line arguments
++AC_MSG_CHECKING([the maximum length of command line arguments])
++AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
++ i=0
++ teststring="ABCD"
+
-+ len = strlen (arg) - strlen (*value);
-+ *name = XMALLOC (char, len);
-+ strncpy (*name, arg, len-1);
-+ (*name)[len - 1] = '\0';
++ case $build_os in
++ msdosdjgpp*)
++ # On DJGPP, this test can blow up pretty badly due to problems in libc
++ # (any single argument exceeding 2000 bytes causes a buffer overrun
++ # during glob expansion). Even if it were fixed, the result of this
++ # check would be larger than it should be.
++ lt_cv_sys_max_cmd_len=12288; # 12K is about right
++ ;;
+
-+ return 0;
-+}
++ gnu*)
++ # Under GNU Hurd, this test is not required because there is
++ # no limit to the length of command line arguments.
++ # Libtool will interpret -1 as no limit whatsoever
++ lt_cv_sys_max_cmd_len=-1;
++ ;;
+
-+void
-+lt_opt_process_env_set (const char *arg)
-+{
-+ char *name = NULL;
-+ char *value = NULL;
++ cygwin* | mingw* | cegcc*)
++ # On Win9x/ME, this test blows up -- it succeeds, but takes
++ # about 5 minutes as the teststring grows exponentially.
++ # Worse, since 9x/ME are not pre-emptively multitasking,
++ # you end up with a "frozen" computer, even though with patience
++ # the test eventually succeeds (with a max line length of 256k).
++ # Instead, let's just punt: use the minimum linelength reported by
++ # all of the supported platforms: 8192 (on NT/2K/XP).
++ lt_cv_sys_max_cmd_len=8192;
++ ;;
+
-+ if (lt_split_name_value (arg, &name, &value) != 0)
-+ {
-+ XFREE (name);
-+ XFREE (value);
-+ lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
-+ }
++ amigaos*)
++ # On AmigaOS with pdksh, this test takes hours, literally.
++ # So we just punt and use a minimum line length of 8192.
++ lt_cv_sys_max_cmd_len=8192;
++ ;;
+
-+ lt_setenv (name, value);
-+ XFREE (name);
-+ XFREE (value);
-+}
++ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
++ # This has been around since 386BSD, at least. Likely further.
++ if test -x /sbin/sysctl; then
++ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
++ elif test -x /usr/sbin/sysctl; then
++ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
++ else
++ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
++ fi
++ # And add a safety zone
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
++ ;;
+
-+void
-+lt_opt_process_env_prepend (const char *arg)
-+{
-+ char *name = NULL;
-+ char *value = NULL;
-+ char *new_value = NULL;
++ interix*)
++ # We know the value 262144 and hardcode it with a safety zone (like BSD)
++ lt_cv_sys_max_cmd_len=196608
++ ;;
+
-+ if (lt_split_name_value (arg, &name, &value) != 0)
-+ {
-+ XFREE (name);
-+ XFREE (value);
-+ lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
-+ }
++ osf*)
++ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
++ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
++ # nice to cause kernel panics so lets avoid the loop below.
++ # First set a reasonable default.
++ lt_cv_sys_max_cmd_len=16384
++ #
++ if test -x /sbin/sysconfig; then
++ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
++ *1*) lt_cv_sys_max_cmd_len=-1 ;;
++ esac
++ fi
++ ;;
++ sco3.2v5*)
++ lt_cv_sys_max_cmd_len=102400
++ ;;
++ sysv5* | sco5v6* | sysv4.2uw2*)
++ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
++ if test -n "$kargmax"; then
++ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
++ else
++ lt_cv_sys_max_cmd_len=32768
++ fi
++ ;;
++ *)
++ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
++ if test -n "$lt_cv_sys_max_cmd_len"; then
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
++ else
++ # Make teststring a little bigger before we do anything with it.
++ # a 1K string should be a reasonable start.
++ for i in 1 2 3 4 5 6 7 8 ; do
++ teststring=$teststring$teststring
++ done
++ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
++ # If test is not a shell built-in, we'll probably end up computing a
++ # maximum length that is only half of the actual maximum length, but
++ # we can't tell.
++ while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
++ = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
++ test $i != 17 # 1/2 MB should be enough
++ do
++ i=`expr $i + 1`
++ teststring=$teststring$teststring
++ done
++ # Only check the string length outside the loop.
++ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
++ teststring=
++ # Add a significant safety factor because C++ compilers can tack on
++ # massive amounts of additional arguments before passing them to the
++ # linker. It appears as though 1/2 is a usable value.
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
++ fi
++ ;;
++ esac
++])
++if test -n $lt_cv_sys_max_cmd_len ; then
++ AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
++else
++ AC_MSG_RESULT(none)
++fi
++max_cmd_len=$lt_cv_sys_max_cmd_len
++_LT_DECL([], [max_cmd_len], [0],
++ [What is the maximum length of a command?])
++])# LT_CMD_MAX_LEN
++
++# Old name:
++AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
++
++
++# _LT_HEADER_DLFCN
++# ----------------
++m4_defun([_LT_HEADER_DLFCN],
++[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
++])# _LT_HEADER_DLFCN
++
++
++# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
++# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
++# ----------------------------------------------------------------
++m4_defun([_LT_TRY_DLOPEN_SELF],
++[m4_require([_LT_HEADER_DLFCN])dnl
++if test "$cross_compiling" = yes; then :
++ [$4]
++else
++ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
++ lt_status=$lt_dlunknown
++ cat > conftest.$ac_ext <<_LT_EOF
++[#line __oline__ "configure"
++#include "confdefs.h"
+
-+ new_value = lt_extend_str (getenv (name), value, 0);
-+ lt_setenv (name, new_value);
-+ XFREE (new_value);
-+ XFREE (name);
-+ XFREE (value);
-+}
++#if HAVE_DLFCN_H
++#include <dlfcn.h>
++#endif
+
-+void
-+lt_opt_process_env_append (const char *arg)
-+{
-+ char *name = NULL;
-+ char *value = NULL;
-+ char *new_value = NULL;
++#include <stdio.h>
+
-+ if (lt_split_name_value (arg, &name, &value) != 0)
-+ {
-+ XFREE (name);
-+ XFREE (value);
-+ lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
-+ }
++#ifdef RTLD_GLOBAL
++# define LT_DLGLOBAL RTLD_GLOBAL
++#else
++# ifdef DL_GLOBAL
++# define LT_DLGLOBAL DL_GLOBAL
++# else
++# define LT_DLGLOBAL 0
++# endif
++#endif
+
-+ new_value = lt_extend_str (getenv (name), value, 1);
-+ lt_setenv (name, new_value);
-+ XFREE (new_value);
-+ XFREE (name);
-+ XFREE (value);
-+}
++/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
++ find out it does not work in some platform. */
++#ifndef LT_DLLAZY_OR_NOW
++# ifdef RTLD_LAZY
++# define LT_DLLAZY_OR_NOW RTLD_LAZY
++# else
++# ifdef DL_LAZY
++# define LT_DLLAZY_OR_NOW DL_LAZY
++# else
++# ifdef RTLD_NOW
++# define LT_DLLAZY_OR_NOW RTLD_NOW
++# else
++# ifdef DL_NOW
++# define LT_DLLAZY_OR_NOW DL_NOW
++# else
++# define LT_DLLAZY_OR_NOW 0
++# endif
++# endif
++# endif
++# endif
++#endif
+
-+void
-+lt_update_exe_path (const char *name, const char *value)
++void fnord() { int i=42;}
++int main ()
+{
-+ LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
-+ (name ? name : "<NULL>"),
-+ (value ? value : "<NULL>")));
++ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
++ int status = $lt_dlunknown;
+
-+ if (name && *name && value && *value)
++ if (self)
+ {
-+ char *new_value = lt_extend_str (getenv (name), value, 0);
-+ /* some systems can't cope with a ':'-terminated path #' */
-+ int len = strlen (new_value);
-+ while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
-+ {
-+ new_value[len-1] = '\0';
-+ }
-+ lt_setenv (name, new_value);
-+ XFREE (new_value);
++ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
++ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
++ /* dlclose (self); */
+ }
-+}
-+
-+void
-+lt_update_lib_path (const char *name, const char *value)
-+{
-+ LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
-+ (name ? name : "<NULL>"),
-+ (value ? value : "<NULL>")));
++ else
++ puts (dlerror ());
+
-+ if (name && *name && value && *value)
-+ {
-+ char *new_value = lt_extend_str (getenv (name), value, 0);
-+ lt_setenv (name, new_value);
-+ XFREE (new_value);
-+ }
-+}
++ return status;
++}]
++_LT_EOF
++ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
++ (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
++ lt_status=$?
++ case x$lt_status in
++ x$lt_dlno_uscore) $1 ;;
++ x$lt_dlneed_uscore) $2 ;;
++ x$lt_dlunknown|x*) $3 ;;
++ esac
++ else :
++ # compilation failed
++ $3
++ fi
++fi
++rm -fr conftest*
++])# _LT_TRY_DLOPEN_SELF
+
+
-+EOF
-+}
-+# end: func_emit_cwrapperexe_src
++# LT_SYS_DLOPEN_SELF
++# ------------------
++AC_DEFUN([LT_SYS_DLOPEN_SELF],
++[m4_require([_LT_HEADER_DLFCN])dnl
++if test "x$enable_dlopen" != xyes; then
++ enable_dlopen=unknown
++ enable_dlopen_self=unknown
++ enable_dlopen_self_static=unknown
++else
++ lt_cv_dlopen=no
++ lt_cv_dlopen_libs=
+
-+# func_mode_link arg...
-+func_mode_link ()
-+{
-+ $opt_debug
-+ case $host in
-+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-+ # It is impossible to link a dll without this setting, and
-+ # we shouldn't force the makefile maintainer to figure out
-+ # which system we are compiling for in order to pass an extra
-+ # flag for every libtool invocation.
-+ # allow_undefined=no
++ case $host_os in
++ beos*)
++ lt_cv_dlopen="load_add_on"
++ lt_cv_dlopen_libs=
++ lt_cv_dlopen_self=yes
++ ;;
+
-+ # FIXME: Unfortunately, there are problems with the above when trying
-+ # to make a dll which has undefined symbols, in which case not
-+ # even a static library is built. For now, we need to specify
-+ # -no-undefined on the libtool link line when we can be certain
-+ # that all symbols are satisfied, otherwise we get a static library.
-+ allow_undefined=yes
-+ ;;
-+ *)
-+ allow_undefined=yes
-+ ;;
-+ esac
-+ libtool_args=$nonopt
-+ base_compile="$nonopt $@"
-+ compile_command=$nonopt
-+ finalize_command=$nonopt
++ mingw* | pw32* | cegcc*)
++ lt_cv_dlopen="LoadLibrary"
++ lt_cv_dlopen_libs=
++ ;;
+
-+ compile_rpath=
-+ finalize_rpath=
-+ compile_shlibpath=
-+ finalize_shlibpath=
-+ convenience=
-+ old_convenience=
-+ deplibs=
-+ old_deplibs=
-+ compiler_flags=
-+ linker_flags=
-+ dllsearchpath=
-+ lib_search_path=`pwd`
-+ inst_prefix_dir=
-+ new_inherited_linker_flags=
++ cygwin*)
++ lt_cv_dlopen="dlopen"
++ lt_cv_dlopen_libs=
++ ;;
+
-+ avoid_version=no
-+ dlfiles=
-+ dlprefiles=
-+ dlself=no
-+ export_dynamic=no
-+ export_symbols=
-+ export_symbols_regex=
-+ generated=
-+ libobjs=
-+ ltlibs=
-+ module=no
-+ no_install=no
-+ objs=
-+ non_pic_objects=
-+ precious_files_regex=
-+ prefer_static_libs=no
-+ preload=no
-+ prev=
-+ prevarg=
-+ release=
-+ rpath=
-+ xrpath=
-+ perm_rpath=
-+ temp_rpath=
-+ thread_safe=no
-+ vinfo=
-+ vinfo_number=no
-+ weak_libs=
-+ single_module="${wl}-single_module"
-+ func_infer_tag $base_compile
++ darwin*)
++ # if libdl is installed we need to link against it
++ AC_CHECK_LIB([dl], [dlopen],
++ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
++ lt_cv_dlopen="dyld"
++ lt_cv_dlopen_libs=
++ lt_cv_dlopen_self=yes
++ ])
++ ;;
+
-+ # We need to know -static, to get the right output filenames.
-+ for arg
-+ do
-+ case $arg in
-+ -shared)
-+ test "$build_libtool_libs" != yes && \
-+ func_fatal_configuration "can not build a shared library"
-+ build_old_libs=no
-+ break
-+ ;;
-+ -all-static | -static | -static-libtool-libs)
-+ case $arg in
-+ -all-static)
-+ if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
-+ func_warning "complete static linking is impossible in this configuration"
-+ fi
-+ if test -n "$link_static_flag"; then
-+ dlopen_self=$dlopen_self_static
-+ fi
-+ prefer_static_libs=yes
-+ ;;
-+ -static)
-+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
-+ dlopen_self=$dlopen_self_static
-+ fi
-+ prefer_static_libs=built
-+ ;;
-+ -static-libtool-libs)
-+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
-+ dlopen_self=$dlopen_self_static
-+ fi
-+ prefer_static_libs=yes
-+ ;;
-+ esac
-+ build_libtool_libs=no
-+ build_old_libs=yes
-+ break
-+ ;;
-+ esac
-+ done
++ *)
++ AC_CHECK_FUNC([shl_load],
++ [lt_cv_dlopen="shl_load"],
++ [AC_CHECK_LIB([dld], [shl_load],
++ [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
++ [AC_CHECK_FUNC([dlopen],
++ [lt_cv_dlopen="dlopen"],
++ [AC_CHECK_LIB([dl], [dlopen],
++ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
++ [AC_CHECK_LIB([svld], [dlopen],
++ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
++ [AC_CHECK_LIB([dld], [dld_link],
++ [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
++ ])
++ ])
++ ])
++ ])
++ ])
++ ;;
++ esac
+
-+ # See if our shared archives depend on static archives.
-+ test -n "$old_archive_from_new_cmds" && build_old_libs=yes
++ if test "x$lt_cv_dlopen" != xno; then
++ enable_dlopen=yes
++ else
++ enable_dlopen=no
++ fi
+
-+ # Go through the arguments, transforming them on the way.
-+ while test "$#" -gt 0; do
-+ arg="$1"
-+ shift
-+ func_quote_for_eval "$arg"
-+ qarg=$func_quote_for_eval_unquoted_result
-+ func_append libtool_args " $func_quote_for_eval_result"
++ case $lt_cv_dlopen in
++ dlopen)
++ save_CPPFLAGS="$CPPFLAGS"
++ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
-+ # If the previous option needs an argument, assign it.
-+ if test -n "$prev"; then
-+ case $prev in
-+ output)
-+ func_append compile_command " @OUTPUT@"
-+ func_append finalize_command " @OUTPUT@"
-+ ;;
-+ esac
++ save_LDFLAGS="$LDFLAGS"
++ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
-+ case $prev in
-+ dlfiles|dlprefiles)
-+ if test "$preload" = no; then
-+ # Add the symbol object into the linking commands.
-+ func_append compile_command " @SYMFILE@"
-+ func_append finalize_command " @SYMFILE@"
-+ preload=yes
-+ fi
-+ case $arg in
-+ *.la | *.lo) ;; # We handle these cases below.
-+ force)
-+ if test "$dlself" = no; then
-+ dlself=needless
-+ export_dynamic=yes
-+ fi
-+ prev=
-+ continue
-+ ;;
-+ self)
-+ if test "$prev" = dlprefiles; then
-+ dlself=yes
-+ elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
-+ dlself=yes
-+ else
-+ dlself=needless
-+ export_dynamic=yes
-+ fi
-+ prev=
-+ continue
-+ ;;
-+ *)
-+ if test "$prev" = dlfiles; then
-+ dlfiles="$dlfiles $arg"
-+ else
-+ dlprefiles="$dlprefiles $arg"
-+ fi
-+ prev=
-+ continue
-+ ;;
-+ esac
-+ ;;
-+ expsyms)
-+ export_symbols="$arg"
-+ test -f "$arg" \
-+ || func_fatal_error "symbol file \`$arg' does not exist"
-+ prev=
-+ continue
-+ ;;
-+ expsyms_regex)
-+ export_symbols_regex="$arg"
-+ prev=
-+ continue
-+ ;;
-+ framework)
-+ case $host in
-+ *-*-darwin*)
-+ case "$deplibs " in
-+ *" $qarg.ltframework "*) ;;
-+ *) deplibs="$deplibs $qarg.ltframework" # this is fixed later
-+ ;;
-+ esac
-+ ;;
-+ esac
-+ prev=
-+ continue
-+ ;;
-+ inst_prefix)
-+ inst_prefix_dir="$arg"
-+ prev=
-+ continue
-+ ;;
-+ objectlist)
-+ if test -f "$arg"; then
-+ save_arg=$arg
-+ moreargs=
-+ for fil in `cat "$save_arg"`
-+ do
-+# moreargs="$moreargs $fil"
-+ arg=$fil
-+ # A libtool-controlled object.
++ save_LIBS="$LIBS"
++ LIBS="$lt_cv_dlopen_libs $LIBS"
+
-+ # Check to see that this really is a libtool object.
-+ if func_lalib_unsafe_p "$arg"; then
-+ pic_object=
-+ non_pic_object=
++ AC_CACHE_CHECK([whether a program can dlopen itself],
++ lt_cv_dlopen_self, [dnl
++ _LT_TRY_DLOPEN_SELF(
++ lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
++ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
++ ])
+
-+ # Read the .lo file
-+ func_source "$arg"
++ if test "x$lt_cv_dlopen_self" = xyes; then
++ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
++ AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
++ lt_cv_dlopen_self_static, [dnl
++ _LT_TRY_DLOPEN_SELF(
++ lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
++ lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
++ ])
++ fi
+
-+ if test -z "$pic_object" ||
-+ test -z "$non_pic_object" ||
-+ test "$pic_object" = none &&
-+ test "$non_pic_object" = none; then
-+ func_fatal_error "cannot find name of object for \`$arg'"
-+ fi
++ CPPFLAGS="$save_CPPFLAGS"
++ LDFLAGS="$save_LDFLAGS"
++ LIBS="$save_LIBS"
++ ;;
++ esac
+
-+ # Extract subdirectory from the argument.
-+ func_dirname "$arg" "/" ""
-+ xdir="$func_dirname_result"
++ case $lt_cv_dlopen_self in
++ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
++ *) enable_dlopen_self=unknown ;;
++ esac
+
-+ if test "$pic_object" != none; then
-+ # Prepend the subdirectory the object is found in.
-+ pic_object="$xdir$pic_object"
++ case $lt_cv_dlopen_self_static in
++ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
++ *) enable_dlopen_self_static=unknown ;;
++ esac
++fi
++_LT_DECL([dlopen_support], [enable_dlopen], [0],
++ [Whether dlopen is supported])
++_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
++ [Whether dlopen of programs is supported])
++_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
++ [Whether dlopen of statically linked programs is supported])
++])# LT_SYS_DLOPEN_SELF
++
++# Old name:
++AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
++
++
++# _LT_COMPILER_C_O([TAGNAME])
++# ---------------------------
++# Check to see if options -c and -o are simultaneously supported by compiler.
++# This macro does not hard code the compiler like AC_PROG_CC_C_O.
++m4_defun([_LT_COMPILER_C_O],
++[m4_require([_LT_DECL_SED])dnl
++m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++m4_require([_LT_TAG_COMPILER])dnl
++AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
++ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
++ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
++ $RM -r conftest 2>/dev/null
++ mkdir conftest
++ cd conftest
++ mkdir out
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
-+ if test "$prev" = dlfiles; then
-+ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
-+ dlfiles="$dlfiles $pic_object"
-+ prev=
-+ continue
-+ else
-+ # If libtool objects are unsupported, then we need to preload.
-+ prev=dlprefiles
-+ fi
-+ fi
++ lt_compiler_flag="-o out/conftest2.$ac_objext"
++ # Insert the option either (1) after the last *FLAGS variable, or
++ # (2) before a word containing "conftest.", or (3) at the end.
++ # Note that $ac_compile itself does not contain backslashes and begins
++ # with a dollar sign (not a hyphen), so the echo should work correctly.
++ lt_compile=`echo "$ac_compile" | $SED \
++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
++ -e 's:$: $lt_compiler_flag:'`
++ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
++ (eval "$lt_compile" 2>out/conftest.err)
++ ac_status=$?
++ cat out/conftest.err >&AS_MESSAGE_LOG_FD
++ echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
++ if (exit $ac_status) && test -s out/conftest2.$ac_objext
++ then
++ # The compiler can only warn and ignore the option if not recognized
++ # So say no if there are warnings
++ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
++ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
++ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
++ _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
++ fi
++ fi
++ chmod u+w . 2>&AS_MESSAGE_LOG_FD
++ $RM conftest*
++ # SGI C++ compiler will create directory out/ii_files/ for
++ # template instantiation
++ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
++ $RM out/* && rmdir out
++ cd ..
++ $RM -r conftest
++ $RM conftest*
++])
++_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
++ [Does compiler simultaneously support -c and -o options?])
++])# _LT_COMPILER_C_O
+
-+ # CHECK ME: I think I busted this. -Ossama
-+ if test "$prev" = dlprefiles; then
-+ # Preload the old-style object.
-+ dlprefiles="$dlprefiles $pic_object"
-+ prev=
-+ fi
+
-+ # A PIC object.
-+ func_append libobjs " $pic_object"
-+ arg="$pic_object"
-+ fi
++# _LT_COMPILER_FILE_LOCKS([TAGNAME])
++# ----------------------------------
++# Check to see if we can do hard links to lock some files if needed
++m4_defun([_LT_COMPILER_FILE_LOCKS],
++[m4_require([_LT_ENABLE_LOCK])dnl
++m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++_LT_COMPILER_C_O([$1])
+
-+ # Non-PIC object.
-+ if test "$non_pic_object" != none; then
-+ # Prepend the subdirectory the object is found in.
-+ non_pic_object="$xdir$non_pic_object"
++hard_links="nottested"
++if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
++ # do not overwrite the value of need_locks provided by the user
++ AC_MSG_CHECKING([if we can lock with hard links])
++ hard_links=yes
++ $RM conftest*
++ ln conftest.a conftest.b 2>/dev/null && hard_links=no
++ touch conftest.a
++ ln conftest.a conftest.b 2>&5 || hard_links=no
++ ln conftest.a conftest.b 2>/dev/null && hard_links=no
++ AC_MSG_RESULT([$hard_links])
++ if test "$hard_links" = no; then
++ AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
++ need_locks=warn
++ fi
++else
++ need_locks=no
++fi
++_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
++])# _LT_COMPILER_FILE_LOCKS
+
-+ # A standard non-PIC object
-+ func_append non_pic_objects " $non_pic_object"
-+ if test -z "$pic_object" || test "$pic_object" = none ; then
-+ arg="$non_pic_object"
-+ fi
-+ else
-+ # If the PIC object exists, use it instead.
-+ # $xdir was prepended to $pic_object above.
-+ non_pic_object="$pic_object"
-+ func_append non_pic_objects " $non_pic_object"
-+ fi
-+ else
-+ # Only an error if not doing a dry-run.
-+ if $opt_dry_run; then
-+ # Extract subdirectory from the argument.
-+ func_dirname "$arg" "/" ""
-+ xdir="$func_dirname_result"
+
-+ func_lo2o "$arg"
-+ pic_object=$xdir$objdir/$func_lo2o_result
-+ non_pic_object=$xdir$func_lo2o_result
-+ func_append libobjs " $pic_object"
-+ func_append non_pic_objects " $non_pic_object"
-+ else
-+ func_fatal_error "\`$arg' is not a valid libtool object"
-+ fi
-+ fi
-+ done
-+ else
-+ func_fatal_error "link input file \`$arg' does not exist"
-+ fi
-+ arg=$save_arg
-+ prev=
-+ continue
-+ ;;
-+ precious_regex)
-+ precious_files_regex="$arg"
-+ prev=
-+ continue
-+ ;;
-+ release)
-+ release="-$arg"
-+ prev=
-+ continue
-+ ;;
-+ rpath | xrpath)
-+ # We need an absolute path.
-+ case $arg in
-+ [\\/]* | [A-Za-z]:[\\/]*) ;;
-+ *)
-+ func_fatal_error "only absolute run-paths are allowed"
-+ ;;
-+ esac
-+ if test "$prev" = rpath; then
-+ case "$rpath " in
-+ *" $arg "*) ;;
-+ *) rpath="$rpath $arg" ;;
-+ esac
-+ else
-+ case "$xrpath " in
-+ *" $arg "*) ;;
-+ *) xrpath="$xrpath $arg" ;;
-+ esac
-+ fi
-+ prev=
-+ continue
-+ ;;
-+ shrext)
-+ shrext_cmds="$arg"
-+ prev=
-+ continue
-+ ;;
-+ weak)
-+ weak_libs="$weak_libs $arg"
-+ prev=
-+ continue
-+ ;;
-+ xcclinker)
-+ linker_flags="$linker_flags $qarg"
-+ compiler_flags="$compiler_flags $qarg"
-+ prev=
-+ func_append compile_command " $qarg"
-+ func_append finalize_command " $qarg"
-+ continue
-+ ;;
-+ xcompiler)
-+ compiler_flags="$compiler_flags $qarg"
-+ prev=
-+ func_append compile_command " $qarg"
-+ func_append finalize_command " $qarg"
-+ continue
-+ ;;
-+ xlinker)
-+ linker_flags="$linker_flags $qarg"
-+ compiler_flags="$compiler_flags $wl$qarg"
-+ prev=
-+ func_append compile_command " $wl$qarg"
-+ func_append finalize_command " $wl$qarg"
-+ continue
-+ ;;
-+ *)
-+ eval "$prev=\"\$arg\""
-+ prev=
-+ continue
-+ ;;
-+ esac
-+ fi # test -n "$prev"
++# _LT_CHECK_OBJDIR
++# ----------------
++m4_defun([_LT_CHECK_OBJDIR],
++[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
++[rm -f .libs 2>/dev/null
++mkdir .libs 2>/dev/null
++if test -d .libs; then
++ lt_cv_objdir=.libs
++else
++ # MS-DOS does not allow filenames that begin with a dot.
++ lt_cv_objdir=_libs
++fi
++rmdir .libs 2>/dev/null])
++objdir=$lt_cv_objdir
++_LT_DECL([], [objdir], [0],
++ [The name of the directory that contains temporary libtool files])dnl
++m4_pattern_allow([LT_OBJDIR])dnl
++AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
++ [Define to the sub-directory in which libtool stores uninstalled libraries.])
++])# _LT_CHECK_OBJDIR
++
++
++# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
++# --------------------------------------
++# Check hardcoding attributes.
++m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
++[AC_MSG_CHECKING([how to hardcode library paths into programs])
++_LT_TAGVAR(hardcode_action, $1)=
++if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
++ test -n "$_LT_TAGVAR(runpath_var, $1)" ||
++ test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+
-+ prevarg="$arg"
++ # We can hardcode non-existent directories.
++ if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
++ # If the only mechanism to avoid hardcoding is shlibpath_var, we
++ # have to relink, otherwise we might link with an installed library
++ # when we should be linking with a yet-to-be-installed one
++ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
++ test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
++ # Linking always hardcodes the temporary library directory.
++ _LT_TAGVAR(hardcode_action, $1)=relink
++ else
++ # We can link without hardcoding, and we can hardcode nonexisting dirs.
++ _LT_TAGVAR(hardcode_action, $1)=immediate
++ fi
++else
++ # We cannot hardcode anything, or else we can only hardcode existing
++ # directories.
++ _LT_TAGVAR(hardcode_action, $1)=unsupported
++fi
++AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
+
-+ case $arg in
-+ -all-static)
-+ if test -n "$link_static_flag"; then
-+ # See comment for -static flag below, for more details.
-+ func_append compile_command " $link_static_flag"
-+ func_append finalize_command " $link_static_flag"
-+ fi
-+ continue
-+ ;;
++if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
++ test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
++ # Fast installation is not supported
++ enable_fast_install=no
++elif test "$shlibpath_overrides_runpath" = yes ||
++ test "$enable_shared" = no; then
++ # Fast installation is not necessary
++ enable_fast_install=needless
++fi
++_LT_TAGDECL([], [hardcode_action], [0],
++ [How to hardcode a shared library path into an executable])
++])# _LT_LINKER_HARDCODE_LIBPATH
+
-+ -allow-undefined)
-+ # FIXME: remove this flag sometime in the future.
-+ func_fatal_error "\`-allow-undefined' must not be used because it is the default"
-+ ;;
+
-+ -avoid-version)
-+ avoid_version=yes
-+ continue
-+ ;;
++# _LT_CMD_STRIPLIB
++# ----------------
++m4_defun([_LT_CMD_STRIPLIB],
++[m4_require([_LT_DECL_EGREP])
++striplib=
++old_striplib=
++AC_MSG_CHECKING([whether stripping libraries is possible])
++if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
++ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
++ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
++ AC_MSG_RESULT([yes])
++else
++# FIXME - insert some real tests, host_os isn't really good enough
++ case $host_os in
++ darwin*)
++ if test -n "$STRIP" ; then
++ striplib="$STRIP -x"
++ old_striplib="$STRIP -S"
++ AC_MSG_RESULT([yes])
++ else
++ AC_MSG_RESULT([no])
++ fi
++ ;;
++ *)
++ AC_MSG_RESULT([no])
++ ;;
++ esac
++fi
++_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
++_LT_DECL([], [striplib], [1])
++])# _LT_CMD_STRIPLIB
+
-+ -dlopen)
-+ prev=dlfiles
-+ continue
-+ ;;
+
-+ -dlpreopen)
-+ prev=dlprefiles
-+ continue
-+ ;;
++# _LT_SYS_DYNAMIC_LINKER([TAG])
++# -----------------------------
++# PORTME Fill in your ld.so characteristics
++m4_defun([_LT_SYS_DYNAMIC_LINKER],
++[AC_REQUIRE([AC_CANONICAL_HOST])dnl
++m4_require([_LT_DECL_EGREP])dnl
++m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++m4_require([_LT_DECL_OBJDUMP])dnl
++m4_require([_LT_DECL_SED])dnl
++AC_MSG_CHECKING([dynamic linker characteristics])
++m4_if([$1],
++ [], [
++if test "$GCC" = yes; then
++ case $host_os in
++ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
++ *) lt_awk_arg="/^libraries:/" ;;
++ esac
++ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
++ if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
++ # if the path contains ";" then we assume it to be the separator
++ # otherwise default to the standard path separator (i.e. ":") - it is
++ # assumed that no part of a normal pathname contains ";" but that should
++ # okay in the real world where ";" in dirpaths is itself problematic.
++ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
++ else
++ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ fi
++ # Ok, now we have the path, separated by spaces, we can step through it
++ # and add multilib dir if necessary.
++ lt_tmp_lt_search_path_spec=
++ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
++ for lt_sys_path in $lt_search_path_spec; do
++ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
++ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
++ else
++ test -d "$lt_sys_path" && \
++ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
++ fi
++ done
++ lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
++BEGIN {RS=" "; FS="/|\n";} {
++ lt_foo="";
++ lt_count=0;
++ for (lt_i = NF; lt_i > 0; lt_i--) {
++ if ($lt_i != "" && $lt_i != ".") {
++ if ($lt_i == "..") {
++ lt_count++;
++ } else {
++ if (lt_count == 0) {
++ lt_foo="/" $lt_i lt_foo;
++ } else {
++ lt_count--;
++ }
++ }
++ }
++ }
++ if (lt_foo != "") { lt_freq[[lt_foo]]++; }
++ if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
++}'`
++ sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
++else
++ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
++fi])
++library_names_spec=
++libname_spec='lib$name'
++soname_spec=
++shrext_cmds=".so"
++postinstall_cmds=
++postuninstall_cmds=
++finish_cmds=
++finish_eval=
++shlibpath_var=
++shlibpath_overrides_runpath=unknown
++version_type=none
++dynamic_linker="$host_os ld.so"
++sys_lib_dlsearch_path_spec="/lib /usr/lib"
++need_lib_prefix=unknown
++hardcode_into_libs=no
+
-+ -export-dynamic)
-+ export_dynamic=yes
-+ continue
-+ ;;
++# when you set need_version to no, make sure it does not cause -set_version
++# flags to be left without arguments
++need_version=unknown
+
-+ -export-symbols | -export-symbols-regex)
-+ if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
-+ func_fatal_error "more than one -exported-symbols argument is not allowed"
-+ fi
-+ if test "X$arg" = "X-export-symbols"; then
-+ prev=expsyms
-+ else
-+ prev=expsyms_regex
-+ fi
-+ continue
-+ ;;
++case $host_os in
++aix3*)
++ version_type=linux
++ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
++ shlibpath_var=LIBPATH
+
-+ -framework)
-+ prev=framework
-+ continue
-+ ;;
++ # AIX 3 has no versioning support, so we append a major version to the name.
++ soname_spec='${libname}${release}${shared_ext}$major'
++ ;;
++
++aix[[4-9]]*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ hardcode_into_libs=yes
++ if test "$host_cpu" = ia64; then
++ # AIX 5 supports IA64
++ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
++ shlibpath_var=LD_LIBRARY_PATH
++ else
++ # With GCC up to 2.95.x, collect2 would create an import file
++ # for dependence libraries. The import file would start with
++ # the line `#! .'. This would cause the generated library to
++ # depend on `.', always an invalid library. This was fixed in
++ # development snapshots of GCC prior to 3.0.
++ case $host_os in
++ aix4 | aix4.[[01]] | aix4.[[01]].*)
++ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
++ echo ' yes '
++ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
++ :
++ else
++ can_build_shared=no
++ fi
++ ;;
++ esac
++ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
++ # soname into executable. Probably we can add versioning support to
++ # collect2, so additional links can be useful in future.
++ if test "$aix_use_runtimelinking" = yes; then
++ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
++ # instead of lib<name>.a to let people know that these are not
++ # typical AIX shared libraries.
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ else
++ # We preserve .a as extension for shared libraries through AIX4.2
++ # and later when we are not doing run time linking.
++ library_names_spec='${libname}${release}.a $libname.a'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ fi
++ shlibpath_var=LIBPATH
++ fi
++ ;;
+
-+ -inst-prefix-dir)
-+ prev=inst_prefix
-+ continue
-+ ;;
++amigaos*)
++ case $host_cpu in
++ powerpc)
++ # Since July 2007 AmigaOS4 officially supports .so libraries.
++ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ ;;
++ m68k)
++ library_names_spec='$libname.ixlibrary $libname.a'
++ # Create ${libname}_ixlibrary.a entries in /sys/libs.
++ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
++ ;;
++ esac
++ ;;
+
-+ # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
-+ # so, if we see these flags be careful not to treat them like -L
-+ -L[A-Z][A-Z]*:*)
-+ case $with_gcc/$host in
-+ no/*-*-irix* | /*-*-irix*)
-+ func_append compile_command " $arg"
-+ func_append finalize_command " $arg"
-+ ;;
-+ esac
-+ continue
-+ ;;
++beos*)
++ library_names_spec='${libname}${shared_ext}'
++ dynamic_linker="$host_os ld.so"
++ shlibpath_var=LIBRARY_PATH
++ ;;
+
-+ -L*)
-+ func_stripname '-L' '' "$arg"
-+ dir=$func_stripname_result
-+ if test -z "$dir"; then
-+ if test "$#" -gt 0; then
-+ func_fatal_error "require no space between \`-L' and \`$1'"
-+ else
-+ func_fatal_error "need path for \`-L' option"
-+ fi
-+ fi
-+ # We need an absolute path.
-+ case $dir in
-+ [\\/]* | [A-Za-z]:[\\/]*) ;;
-+ *)
-+ absdir=`cd "$dir" && pwd`
-+ test -z "$absdir" && \
-+ func_fatal_error "cannot determine absolute directory name of \`$dir'"
-+ dir="$absdir"
-+ ;;
-+ esac
-+ case "$deplibs " in
-+ *" -L$dir "*) ;;
-+ *)
-+ deplibs="$deplibs -L$dir"
-+ lib_search_path="$lib_search_path $dir"
-+ ;;
-+ esac
-+ case $host in
-+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-+ testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
-+ case :$dllsearchpath: in
-+ *":$dir:"*) ;;
-+ ::) dllsearchpath=$dir;;
-+ *) dllsearchpath="$dllsearchpath:$dir";;
-+ esac
-+ case :$dllsearchpath: in
-+ *":$testbindir:"*) ;;
-+ ::) dllsearchpath=$testbindir;;
-+ *) dllsearchpath="$dllsearchpath:$testbindir";;
-+ esac
-+ ;;
-+ esac
-+ continue
-+ ;;
++bsdi[[45]]*)
++ version_type=linux
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
++ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
++ # the default ld.so.conf also contains /usr/contrib/lib and
++ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
++ # libtool to hard-code these into programs
++ ;;
+
-+ -l*)
-+ if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
-+ case $host in
-+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
-+ # These systems don't actually have a C or math library (as such)
-+ continue
-+ ;;
-+ *-*-os2*)
-+ # These systems don't actually have a C library (as such)
-+ test "X$arg" = "X-lc" && continue
-+ ;;
-+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-+ # Do not include libc due to us having libc/libc_r.
-+ test "X$arg" = "X-lc" && continue
-+ ;;
-+ *-*-rhapsody* | *-*-darwin1.[012])
-+ # Rhapsody C and math libraries are in the System framework
-+ deplibs="$deplibs System.ltframework"
-+ continue
-+ ;;
-+ *-*-sco3.2v5* | *-*-sco5v6*)
-+ # Causes problems with __ctype
-+ test "X$arg" = "X-lc" && continue
-+ ;;
-+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
-+ # Compiler inserts libc in the correct place for threads to work
-+ test "X$arg" = "X-lc" && continue
-+ ;;
-+ esac
-+ elif test "X$arg" = "X-lc_r"; then
-+ case $host in
-+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-+ # Do not include libc_r directly, use -pthread flag.
-+ continue
-+ ;;
-+ esac
-+ fi
-+ deplibs="$deplibs $arg"
-+ continue
-+ ;;
++cygwin* | mingw* | pw32* | cegcc*)
++ version_type=windows
++ shrext_cmds=".dll"
++ need_version=no
++ need_lib_prefix=no
+
-+ -module)
-+ module=yes
-+ continue
-+ ;;
++ case $GCC,$host_os in
++ yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
++ library_names_spec='$libname.dll.a'
++ # DLL is installed to $(libdir)/../bin by postinstall_cmds
++ postinstall_cmds='base_file=`basename \${file}`~
++ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
++ dldir=$destdir/`dirname \$dlpath`~
++ test -d \$dldir || mkdir -p \$dldir~
++ $install_prog $dir/$dlname \$dldir/$dlname~
++ chmod a+x \$dldir/$dlname~
++ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
++ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
++ fi'
++ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
++ dlpath=$dir/\$dldll~
++ $RM \$dlpath'
++ shlibpath_overrides_runpath=yes
+
-+ # Tru64 UNIX uses -model [arg] to determine the layout of C++
-+ # classes, name mangling, and exception handling.
-+ # Darwin uses the -arch flag to determine output architecture.
-+ -model|-arch|-isysroot)
-+ compiler_flags="$compiler_flags $arg"
-+ func_append compile_command " $arg"
-+ func_append finalize_command " $arg"
-+ prev=xcompiler
-+ continue
-+ ;;
++ case $host_os in
++ cygwin*)
++ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
++ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
++ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
++ ;;
++ mingw* | cegcc*)
++ # MinGW DLLs use traditional 'lib' prefix
++ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
++ sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
++ if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
++ # It is most probably a Windows format PATH printed by
++ # mingw gcc, but we are running on Cygwin. Gcc prints its search
++ # path with ; separators, and with drive letters. We can handle the
++ # drive letters (cygwin fileutils understands them), so leave them,
++ # especially as we might pass files found there to a mingw objdump,
++ # which wouldn't understand a cygwinified path. Ahh.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
++ else
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ fi
++ ;;
++ pw32*)
++ # pw32 DLLs use 'pw' prefix rather than 'lib'
++ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
++ ;;
++ esac
++ ;;
+
-+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
-+ compiler_flags="$compiler_flags $arg"
-+ func_append compile_command " $arg"
-+ func_append finalize_command " $arg"
-+ case "$new_inherited_linker_flags " in
-+ *" $arg "*) ;;
-+ * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
-+ esac
-+ continue
-+ ;;
++ *)
++ library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
++ ;;
++ esac
++ dynamic_linker='Win32 ld.exe'
++ # FIXME: first we should search . and the directory the executable is in
++ shlibpath_var=PATH
++ ;;
+
-+ -multi_module)
-+ single_module="${wl}-multi_module"
-+ continue
-+ ;;
++darwin* | rhapsody*)
++ dynamic_linker="$host_os dyld"
++ version_type=darwin
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
++ soname_spec='${libname}${release}${major}$shared_ext'
++ shlibpath_overrides_runpath=yes
++ shlibpath_var=DYLD_LIBRARY_PATH
++ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
++m4_if([$1], [],[
++ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
++ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
++ ;;
+
-+ -no-fast-install)
-+ fast_install=no
-+ continue
-+ ;;
++dgux*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ ;;
+
-+ -no-install)
-+ case $host in
-+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
-+ # The PATH hackery in wrapper scripts is required on Windows
-+ # and Darwin in order for the loader to find any dlls it needs.
-+ func_warning "\`-no-install' is ignored for $host"
-+ func_warning "assuming \`-no-fast-install' instead"
-+ fast_install=no
-+ ;;
-+ *) no_install=yes ;;
-+ esac
-+ continue
-+ ;;
++freebsd1*)
++ dynamic_linker=no
++ ;;
+
-+ -no-undefined)
-+ allow_undefined=no
-+ continue
-+ ;;
++freebsd* | dragonfly*)
++ # DragonFly does not have aout. When/if they implement a new
++ # versioning mechanism, adjust this.
++ if test -x /usr/bin/objformat; then
++ objformat=`/usr/bin/objformat`
++ else
++ case $host_os in
++ freebsd[[123]]*) objformat=aout ;;
++ *) objformat=elf ;;
++ esac
++ fi
++ version_type=freebsd-$objformat
++ case $version_type in
++ freebsd-elf*)
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
++ need_version=no
++ need_lib_prefix=no
++ ;;
++ freebsd-*)
++ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
++ need_version=yes
++ ;;
++ esac
++ shlibpath_var=LD_LIBRARY_PATH
++ case $host_os in
++ freebsd2*)
++ shlibpath_overrides_runpath=yes
++ ;;
++ freebsd3.[[01]]* | freebsdelf3.[[01]]*)
++ shlibpath_overrides_runpath=yes
++ hardcode_into_libs=yes
++ ;;
++ freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
++ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
++ shlibpath_overrides_runpath=no
++ hardcode_into_libs=yes
++ ;;
++ *) # from 4.6 on, and DragonFly
++ shlibpath_overrides_runpath=yes
++ hardcode_into_libs=yes
++ ;;
++ esac
++ ;;
+
-+ -objectlist)
-+ prev=objectlist
-+ continue
-+ ;;
++gnu*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ hardcode_into_libs=yes
++ ;;
+
-+ -o) prev=output ;;
++hpux9* | hpux10* | hpux11*)
++ # Give a soname corresponding to the major version so that dld.sl refuses to
++ # link against other versions.
++ version_type=sunos
++ need_lib_prefix=no
++ need_version=no
++ case $host_cpu in
++ ia64*)
++ shrext_cmds='.so'
++ hardcode_into_libs=yes
++ dynamic_linker="$host_os dld.so"
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ if test "X$HPUX_IA64_MODE" = X32; then
++ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
++ else
++ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
++ fi
++ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
++ ;;
++ hppa*64*)
++ shrext_cmds='.sl'
++ hardcode_into_libs=yes
++ dynamic_linker="$host_os dld.sl"
++ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
++ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
++ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
++ ;;
++ *)
++ shrext_cmds='.sl'
++ dynamic_linker="$host_os dld.sl"
++ shlibpath_var=SHLIB_PATH
++ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ ;;
++ esac
++ # HP-UX runs *really* slowly unless shared libraries are mode 555.
++ postinstall_cmds='chmod 555 $lib'
++ ;;
+
-+ -precious-files-regex)
-+ prev=precious_regex
-+ continue
-+ ;;
++interix[[3-9]]*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ hardcode_into_libs=yes
++ ;;
+
-+ -release)
-+ prev=release
-+ continue
-+ ;;
++irix5* | irix6* | nonstopux*)
++ case $host_os in
++ nonstopux*) version_type=nonstopux ;;
++ *)
++ if test "$lt_cv_prog_gnu_ld" = yes; then
++ version_type=linux
++ else
++ version_type=irix
++ fi ;;
++ esac
++ need_lib_prefix=no
++ need_version=no
++ soname_spec='${libname}${release}${shared_ext}$major'
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
++ case $host_os in
++ irix5* | nonstopux*)
++ libsuff= shlibsuff=
++ ;;
++ *)
++ case $LD in # libtool.m4 will add one of these switches to LD
++ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
++ libsuff= shlibsuff= libmagic=32-bit;;
++ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
++ libsuff=32 shlibsuff=N32 libmagic=N32;;
++ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
++ libsuff=64 shlibsuff=64 libmagic=64-bit;;
++ *) libsuff= shlibsuff= libmagic=never-match;;
++ esac
++ ;;
++ esac
++ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
++ shlibpath_overrides_runpath=no
++ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
++ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
++ hardcode_into_libs=yes
++ ;;
+
-+ -rpath)
-+ prev=rpath
-+ continue
-+ ;;
++# No shared lib support for Linux oldld, aout, or coff.
++linux*oldld* | linux*aout* | linux*coff*)
++ dynamic_linker=no
++ ;;
+
-+ -R)
-+ prev=xrpath
-+ continue
-+ ;;
++# This must be Linux ELF.
++linux* | k*bsd*-gnu)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ # Some binutils ld are patched to set DT_RUNPATH
++ save_LDFLAGS=$LDFLAGS
++ save_libdir=$libdir
++ eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
++ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
++ [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
++ [shlibpath_overrides_runpath=yes])])
++ LDFLAGS=$save_LDFLAGS
++ libdir=$save_libdir
+
-+ -R*)
-+ func_stripname '-R' '' "$arg"
-+ dir=$func_stripname_result
-+ # We need an absolute path.
-+ case $dir in
-+ [\\/]* | [A-Za-z]:[\\/]*) ;;
-+ *)
-+ func_fatal_error "only absolute run-paths are allowed"
-+ ;;
-+ esac
-+ case "$xrpath " in
-+ *" $dir "*) ;;
-+ *) xrpath="$xrpath $dir" ;;
-+ esac
-+ continue
-+ ;;
++ # This implies no fast_install, which is unacceptable.
++ # Some rework will be needed to allow for fast_install
++ # before this can be enabled.
++ hardcode_into_libs=yes
+
-+ -shared)
-+ # The effects of -shared are defined in a previous loop.
-+ continue
-+ ;;
++ # Append ld.so.conf contents to the search path
++ if test -f /etc/ld.so.conf; then
++ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
++ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
++ fi
+
-+ -shrext)
-+ prev=shrext
-+ continue
-+ ;;
++ # We used to test for /lib/ld.so.1 and disable shared libraries on
++ # powerpc, because MkLinux only supported shared libraries with the
++ # GNU dynamic linker. Since this was broken with cross compilers,
++ # most powerpc-linux boxes support dynamic linking these days and
++ # people can always --disable-shared, the test was removed, and we
++ # assume the GNU/Linux dynamic linker is in use.
++ dynamic_linker='GNU/Linux ld.so'
++ ;;
+
-+ -static | -static-libtool-libs)
-+ # The effects of -static are defined in a previous loop.
-+ # We used to do the same as -all-static on platforms that
-+ # didn't have a PIC flag, but the assumption that the effects
-+ # would be equivalent was wrong. It would break on at least
-+ # Digital Unix and AIX.
-+ continue
-+ ;;
++netbsdelf*-gnu)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ hardcode_into_libs=yes
++ dynamic_linker='NetBSD ld.elf_so'
++ ;;
+
-+ -thread-safe)
-+ thread_safe=yes
-+ continue
-+ ;;
++netbsd*)
++ version_type=sunos
++ need_lib_prefix=no
++ need_version=no
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
++ dynamic_linker='NetBSD (a.out) ld.so'
++ else
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ dynamic_linker='NetBSD ld.elf_so'
++ fi
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ hardcode_into_libs=yes
++ ;;
+
-+ -version-info)
-+ prev=vinfo
-+ continue
-+ ;;
++newsos6)
++ version_type=linux
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ ;;
+
-+ -version-number)
-+ prev=vinfo
-+ vinfo_number=yes
-+ continue
-+ ;;
++*nto* | *qnx*)
++ version_type=qnx
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ hardcode_into_libs=yes
++ dynamic_linker='ldqnx.so'
++ ;;
+
-+ -weak)
-+ prev=weak
-+ continue
++openbsd*)
++ version_type=sunos
++ sys_lib_dlsearch_path_spec="/usr/lib"
++ need_lib_prefix=no
++ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
++ case $host_os in
++ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
++ *) need_version=no ;;
++ esac
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++ case $host_os in
++ openbsd2.[[89]] | openbsd2.[[89]].*)
++ shlibpath_overrides_runpath=no
+ ;;
-+
-+ -Wc,*)
-+ func_stripname '-Wc,' '' "$arg"
-+ args=$func_stripname_result
-+ arg=
-+ save_ifs="$IFS"; IFS=','
-+ for flag in $args; do
-+ IFS="$save_ifs"
-+ func_quote_for_eval "$flag"
-+ arg="$arg $wl$func_quote_for_eval_result"
-+ compiler_flags="$compiler_flags $func_quote_for_eval_result"
-+ done
-+ IFS="$save_ifs"
-+ func_stripname ' ' '' "$arg"
-+ arg=$func_stripname_result
++ *)
++ shlibpath_overrides_runpath=yes
+ ;;
++ esac
++ else
++ shlibpath_overrides_runpath=yes
++ fi
++ ;;
+
-+ -Wl,*)
-+ func_stripname '-Wl,' '' "$arg"
-+ args=$func_stripname_result
-+ arg=
-+ save_ifs="$IFS"; IFS=','
-+ for flag in $args; do
-+ IFS="$save_ifs"
-+ func_quote_for_eval "$flag"
-+ arg="$arg $wl$func_quote_for_eval_result"
-+ compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
-+ linker_flags="$linker_flags $func_quote_for_eval_result"
-+ done
-+ IFS="$save_ifs"
-+ func_stripname ' ' '' "$arg"
-+ arg=$func_stripname_result
-+ ;;
++os2*)
++ libname_spec='$name'
++ shrext_cmds=".dll"
++ need_lib_prefix=no
++ library_names_spec='$libname${shared_ext} $libname.a'
++ dynamic_linker='OS/2 ld.exe'
++ shlibpath_var=LIBPATH
++ ;;
+
-+ -Xcompiler)
-+ prev=xcompiler
-+ continue
-+ ;;
++osf3* | osf4* | osf5*)
++ version_type=osf
++ need_lib_prefix=no
++ need_version=no
++ soname_spec='${libname}${release}${shared_ext}$major'
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ shlibpath_var=LD_LIBRARY_PATH
++ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
++ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
++ ;;
+
-+ -Xlinker)
-+ prev=xlinker
-+ continue
-+ ;;
++rdos*)
++ dynamic_linker=no
++ ;;
+
-+ -XCClinker)
-+ prev=xcclinker
-+ continue
-+ ;;
++solaris*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ hardcode_into_libs=yes
++ # ldd complains unless libraries are executable
++ postinstall_cmds='chmod +x $lib'
++ ;;
+
-+ # -msg_* for osf cc
-+ -msg_*)
-+ func_quote_for_eval "$arg"
-+ arg="$func_quote_for_eval_result"
-+ ;;
++sunos4*)
++ version_type=sunos
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
++ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ if test "$with_gnu_ld" = yes; then
++ need_lib_prefix=no
++ fi
++ need_version=yes
++ ;;
+
-+ # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
-+ # -r[0-9][0-9]* specifies the processor on the SGI compiler
-+ # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
-+ # +DA*, +DD* enable 64-bit mode on the HP compiler
-+ # -q* pass through compiler args for the IBM compiler
-+ # -m*, -t[45]*, -txscale* pass through architecture-specific
-+ # compiler args for GCC
-+ # -F/path gives path to uninstalled frameworks, gcc on darwin
-+ # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
-+ # @file GCC response files
-+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
-+ func_quote_for_eval "$arg"
-+ arg="$func_quote_for_eval_result"
-+ func_append compile_command " $arg"
-+ func_append finalize_command " $arg"
-+ compiler_flags="$compiler_flags $arg"
-+ continue
-+ ;;
++sysv4 | sysv4.3*)
++ version_type=linux
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ case $host_vendor in
++ sni)
++ shlibpath_overrides_runpath=no
++ need_lib_prefix=no
++ runpath_var=LD_RUN_PATH
++ ;;
++ siemens)
++ need_lib_prefix=no
++ ;;
++ motorola)
++ need_lib_prefix=no
++ need_version=no
++ shlibpath_overrides_runpath=no
++ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
++ ;;
++ esac
++ ;;
+
-+ # Some other compiler flag.
-+ -* | +*)
-+ func_quote_for_eval "$arg"
-+ arg="$func_quote_for_eval_result"
-+ ;;
++sysv4*MP*)
++ if test -d /usr/nec ;then
++ version_type=linux
++ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
++ soname_spec='$libname${shared_ext}.$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ fi
++ ;;
+
-+ *.$objext)
-+ # A standard object.
-+ objs="$objs $arg"
++sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
++ version_type=freebsd-elf
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ hardcode_into_libs=yes
++ if test "$with_gnu_ld" = yes; then
++ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
++ else
++ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
++ case $host_os in
++ sco3.2v5*)
++ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
++ esac
++ fi
++ sys_lib_dlsearch_path_spec='/usr/lib'
++ ;;
+
-+ *.lo)
-+ # A libtool-controlled object.
++tpf*)
++ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ hardcode_into_libs=yes
++ ;;
+
-+ # Check to see that this really is a libtool object.
-+ if func_lalib_unsafe_p "$arg"; then
-+ pic_object=
-+ non_pic_object=
++uts4*)
++ version_type=linux
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ ;;
+
-+ # Read the .lo file
-+ func_source "$arg"
++*)
++ dynamic_linker=no
++ ;;
++esac
++AC_MSG_RESULT([$dynamic_linker])
++test "$dynamic_linker" = no && can_build_shared=no
+
-+ if test -z "$pic_object" ||
-+ test -z "$non_pic_object" ||
-+ test "$pic_object" = none &&
-+ test "$non_pic_object" = none; then
-+ func_fatal_error "cannot find name of object for \`$arg'"
-+ fi
++variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
++if test "$GCC" = yes; then
++ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
++fi
+
-+ # Extract subdirectory from the argument.
-+ func_dirname "$arg" "/" ""
-+ xdir="$func_dirname_result"
++if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
++ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
++fi
++if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
++ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
++fi
+
-+ if test "$pic_object" != none; then
-+ # Prepend the subdirectory the object is found in.
-+ pic_object="$xdir$pic_object"
++_LT_DECL([], [variables_saved_for_relink], [1],
++ [Variables whose values should be saved in libtool wrapper scripts and
++ restored at link time])
++_LT_DECL([], [need_lib_prefix], [0],
++ [Do we need the "lib" prefix for modules?])
++_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
++_LT_DECL([], [version_type], [0], [Library versioning type])
++_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
++_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
++_LT_DECL([], [shlibpath_overrides_runpath], [0],
++ [Is shlibpath searched before the hard-coded library search path?])
++_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
++_LT_DECL([], [library_names_spec], [1],
++ [[List of archive names. First name is the real one, the rest are links.
++ The last name is the one that the linker finds with -lNAME]])
++_LT_DECL([], [soname_spec], [1],
++ [[The coded name of the library, if different from the real name]])
++_LT_DECL([], [postinstall_cmds], [2],
++ [Command to use after installation of a shared archive])
++_LT_DECL([], [postuninstall_cmds], [2],
++ [Command to use after uninstallation of a shared archive])
++_LT_DECL([], [finish_cmds], [2],
++ [Commands used to finish a libtool library installation in a directory])
++_LT_DECL([], [finish_eval], [1],
++ [[As "finish_cmds", except a single script fragment to be evaled but
++ not shown]])
++_LT_DECL([], [hardcode_into_libs], [0],
++ [Whether we should hardcode library paths into libraries])
++_LT_DECL([], [sys_lib_search_path_spec], [2],
++ [Compile-time system search path for libraries])
++_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
++ [Run-time system search path for libraries])
++])# _LT_SYS_DYNAMIC_LINKER
++
++
++# _LT_PATH_TOOL_PREFIX(TOOL)
++# --------------------------
++# find a file program which can recognize shared library
++AC_DEFUN([_LT_PATH_TOOL_PREFIX],
++[m4_require([_LT_DECL_EGREP])dnl
++AC_MSG_CHECKING([for $1])
++AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
++[case $MAGIC_CMD in
++[[\\/*] | ?:[\\/]*])
++ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
++ ;;
++*)
++ lt_save_MAGIC_CMD="$MAGIC_CMD"
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++dnl $ac_dummy forces splitting on constant user-supplied paths.
++dnl POSIX.2 word splitting is done only on the output of word expansions,
++dnl not every word. This closes a longstanding sh security hole.
++ ac_dummy="m4_if([$2], , $PATH, [$2])"
++ for ac_dir in $ac_dummy; do
++ IFS="$lt_save_ifs"
++ test -z "$ac_dir" && ac_dir=.
++ if test -f $ac_dir/$1; then
++ lt_cv_path_MAGIC_CMD="$ac_dir/$1"
++ if test -n "$file_magic_test_file"; then
++ case $deplibs_check_method in
++ "file_magic "*)
++ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
++ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
++ $EGREP "$file_magic_regex" > /dev/null; then
++ :
++ else
++ cat <<_LT_EOF 1>&2
+
-+ if test "$prev" = dlfiles; then
-+ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
-+ dlfiles="$dlfiles $pic_object"
-+ prev=
-+ continue
-+ else
-+ # If libtool objects are unsupported, then we need to preload.
-+ prev=dlprefiles
-+ fi
-+ fi
++*** Warning: the command libtool uses to detect shared libraries,
++*** $file_magic_cmd, produces output that libtool cannot recognize.
++*** The result is that libtool may fail to recognize shared libraries
++*** as such. This will affect the creation of libtool libraries that
++*** depend on shared libraries, but programs linked with such libtool
++*** libraries will work regardless of this problem. Nevertheless, you
++*** may want to report the problem to your system manager and/or to
++*** bug-libtool@gnu.org
+
-+ # CHECK ME: I think I busted this. -Ossama
-+ if test "$prev" = dlprefiles; then
-+ # Preload the old-style object.
-+ dlprefiles="$dlprefiles $pic_object"
-+ prev=
-+ fi
++_LT_EOF
++ fi ;;
++ esac
++ fi
++ break
++ fi
++ done
++ IFS="$lt_save_ifs"
++ MAGIC_CMD="$lt_save_MAGIC_CMD"
++ ;;
++esac])
++MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++if test -n "$MAGIC_CMD"; then
++ AC_MSG_RESULT($MAGIC_CMD)
++else
++ AC_MSG_RESULT(no)
++fi
++_LT_DECL([], [MAGIC_CMD], [0],
++ [Used to examine libraries when file_magic_cmd begins with "file"])dnl
++])# _LT_PATH_TOOL_PREFIX
+
-+ # A PIC object.
-+ func_append libobjs " $pic_object"
-+ arg="$pic_object"
-+ fi
++# Old name:
++AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
+
-+ # Non-PIC object.
-+ if test "$non_pic_object" != none; then
-+ # Prepend the subdirectory the object is found in.
-+ non_pic_object="$xdir$non_pic_object"
+
-+ # A standard non-PIC object
-+ func_append non_pic_objects " $non_pic_object"
-+ if test -z "$pic_object" || test "$pic_object" = none ; then
-+ arg="$non_pic_object"
-+ fi
-+ else
-+ # If the PIC object exists, use it instead.
-+ # $xdir was prepended to $pic_object above.
-+ non_pic_object="$pic_object"
-+ func_append non_pic_objects " $non_pic_object"
-+ fi
-+ else
-+ # Only an error if not doing a dry-run.
-+ if $opt_dry_run; then
-+ # Extract subdirectory from the argument.
-+ func_dirname "$arg" "/" ""
-+ xdir="$func_dirname_result"
++# _LT_PATH_MAGIC
++# --------------
++# find a file program which can recognize a shared library
++m4_defun([_LT_PATH_MAGIC],
++[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
++if test -z "$lt_cv_path_MAGIC_CMD"; then
++ if test -n "$ac_tool_prefix"; then
++ _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
++ else
++ MAGIC_CMD=:
++ fi
++fi
++])# _LT_PATH_MAGIC
+
-+ func_lo2o "$arg"
-+ pic_object=$xdir$objdir/$func_lo2o_result
-+ non_pic_object=$xdir$func_lo2o_result
-+ func_append libobjs " $pic_object"
-+ func_append non_pic_objects " $non_pic_object"
-+ else
-+ func_fatal_error "\`$arg' is not a valid libtool object"
-+ fi
-+ fi
-+ ;;
+
-+ *.$libext)
-+ # An archive.
-+ deplibs="$deplibs $arg"
-+ old_deplibs="$old_deplibs $arg"
-+ continue
-+ ;;
++# LT_PATH_LD
++# ----------
++# find the pathname to the GNU or non-GNU linker
++AC_DEFUN([LT_PATH_LD],
++[AC_REQUIRE([AC_PROG_CC])dnl
++AC_REQUIRE([AC_CANONICAL_HOST])dnl
++AC_REQUIRE([AC_CANONICAL_BUILD])dnl
++m4_require([_LT_DECL_SED])dnl
++m4_require([_LT_DECL_EGREP])dnl
+
-+ *.la)
-+ # A libtool-controlled library.
++AC_ARG_WITH([gnu-ld],
++ [AS_HELP_STRING([--with-gnu-ld],
++ [assume the C compiler uses GNU ld @<:@default=no@:>@])],
++ [test "$withval" = no || with_gnu_ld=yes],
++ [with_gnu_ld=no])dnl
+
-+ if test "$prev" = dlfiles; then
-+ # This library was specified with -dlopen.
-+ dlfiles="$dlfiles $arg"
-+ prev=
-+ elif test "$prev" = dlprefiles; then
-+ # The library was specified with -dlpreopen.
-+ dlprefiles="$dlprefiles $arg"
-+ prev=
-+ else
-+ deplibs="$deplibs $arg"
-+ fi
-+ continue
++ac_prog=ld
++if test "$GCC" = yes; then
++ # Check if gcc -print-prog-name=ld gives a path.
++ AC_MSG_CHECKING([for ld used by $CC])
++ case $host in
++ *-*-mingw*)
++ # gcc leaves a trailing carriage return which upsets mingw
++ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
++ *)
++ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
++ esac
++ case $ac_prog in
++ # Accept absolute paths.
++ [[\\/]]* | ?:[[\\/]]*)
++ re_direlt='/[[^/]][[^/]]*/\.\./'
++ # Canonicalize the pathname of ld
++ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
++ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
++ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
++ done
++ test -z "$LD" && LD="$ac_prog"
++ ;;
++ "")
++ # If it fails, then pretend we aren't using GCC.
++ ac_prog=ld
++ ;;
++ *)
++ # If it is relative, then search for the first ld in PATH.
++ with_gnu_ld=unknown
++ ;;
++ esac
++elif test "$with_gnu_ld" = yes; then
++ AC_MSG_CHECKING([for GNU ld])
++else
++ AC_MSG_CHECKING([for non-GNU ld])
++fi
++AC_CACHE_VAL(lt_cv_path_LD,
++[if test -z "$LD"; then
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ for ac_dir in $PATH; do
++ IFS="$lt_save_ifs"
++ test -z "$ac_dir" && ac_dir=.
++ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
++ lt_cv_path_LD="$ac_dir/$ac_prog"
++ # Check to see if the program is GNU ld. I'd rather use --version,
++ # but apparently some variants of GNU ld only accept -v.
++ # Break only if it was the GNU/non-GNU ld that we prefer.
++ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
++ *GNU* | *'with BFD'*)
++ test "$with_gnu_ld" != no && break
+ ;;
-+
-+ # Some other compiler argument.
+ *)
-+ # Unknown arguments in both finalize_command and compile_command need
-+ # to be aesthetically quoted because they are evaled later.
-+ func_quote_for_eval "$arg"
-+ arg="$func_quote_for_eval_result"
++ test "$with_gnu_ld" != yes && break
+ ;;
-+ esac # arg
-+
-+ # Now actually substitute the argument into the commands.
-+ if test -n "$arg"; then
-+ func_append compile_command " $arg"
-+ func_append finalize_command " $arg"
-+ fi
-+ done # argument parsing loop
-+
-+ test -n "$prev" && \
-+ func_fatal_help "the \`$prevarg' option requires an argument"
-+
-+ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
-+ eval arg=\"$export_dynamic_flag_spec\"
-+ func_append compile_command " $arg"
-+ func_append finalize_command " $arg"
-+ fi
-+
-+ oldlibs=
-+ # calculate the name of the file, without its directory
-+ func_basename "$output"
-+ outputname="$func_basename_result"
-+ libobjs_save="$libobjs"
-+
-+ if test -n "$shlibpath_var"; then
-+ # get the directories listed in $shlibpath_var
-+ eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
-+ else
-+ shlib_search_path=
++ esac
+ fi
-+ eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
-+ eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
-+
-+ func_dirname "$output" "/" ""
-+ output_objdir="$func_dirname_result$objdir"
-+ # Create the object directory.
-+ func_mkdir_p "$output_objdir"
-+
-+ # Determine the type of output
-+ case $output in
-+ "")
-+ func_fatal_help "you must specify an output file"
-+ ;;
-+ *.$libext) linkmode=oldlib ;;
-+ *.lo | *.$objext) linkmode=obj ;;
-+ *.la) linkmode=lib ;;
-+ *) linkmode=prog ;; # Anything else should be a program.
-+ esac
++ done
++ IFS="$lt_save_ifs"
++else
++ lt_cv_path_LD="$LD" # Let the user override the test with a path.
++fi])
++LD="$lt_cv_path_LD"
++if test -n "$LD"; then
++ AC_MSG_RESULT($LD)
++else
++ AC_MSG_RESULT(no)
++fi
++test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
++_LT_PATH_LD_GNU
++AC_SUBST([LD])
+
-+ specialdeplibs=
++_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
++])# LT_PATH_LD
+
-+ libs=
-+ # Find all interdependent deplibs by searching for libraries
-+ # that are linked more than once (e.g. -la -lb -la)
-+ for deplib in $deplibs; do
-+ if $opt_duplicate_deps ; then
-+ case "$libs " in
-+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-+ esac
-+ fi
-+ libs="$libs $deplib"
-+ done
++# Old names:
++AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
++AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AM_PROG_LD], [])
++dnl AC_DEFUN([AC_PROG_LD], [])
+
-+ if test "$linkmode" = lib; then
-+ libs="$predeps $libs $compiler_lib_search_path $postdeps"
+
-+ # Compute libraries that are listed more than once in $predeps
-+ # $postdeps and mark them as special (i.e., whose duplicates are
-+ # not to be eliminated).
-+ pre_post_deps=
-+ if $opt_duplicate_compiler_generated_deps; then
-+ for pre_post_dep in $predeps $postdeps; do
-+ case "$pre_post_deps " in
-+ *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
-+ esac
-+ pre_post_deps="$pre_post_deps $pre_post_dep"
-+ done
-+ fi
-+ pre_post_deps=
-+ fi
++# _LT_PATH_LD_GNU
++#- --------------
++m4_defun([_LT_PATH_LD_GNU],
++[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
++[# I'd rather use --version here, but apparently some GNU lds only accept -v.
++case `$LD -v 2>&1 </dev/null` in
++*GNU* | *'with BFD'*)
++ lt_cv_prog_gnu_ld=yes
++ ;;
++*)
++ lt_cv_prog_gnu_ld=no
++ ;;
++esac])
++with_gnu_ld=$lt_cv_prog_gnu_ld
++])# _LT_PATH_LD_GNU
+
-+ deplibs=
-+ newdependency_libs=
-+ newlib_search_path=
-+ need_relink=no # whether we're linking any uninstalled libtool libraries
-+ notinst_deplibs= # not-installed libtool libraries
-+ notinst_path= # paths that contain not-installed libtool libraries
+
-+ case $linkmode in
-+ lib)
-+ passes="conv dlpreopen link"
-+ for file in $dlfiles $dlprefiles; do
-+ case $file in
-+ *.la) ;;
-+ *)
-+ func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
-+ ;;
-+ esac
-+ done
-+ ;;
-+ prog)
-+ compile_deplibs=
-+ finalize_deplibs=
-+ alldeplibs=no
-+ newdlfiles=
-+ newdlprefiles=
-+ passes="conv scan dlopen dlpreopen link"
-+ ;;
-+ *) passes="conv"
-+ ;;
-+ esac
++# _LT_CMD_RELOAD
++# --------------
++# find reload flag for linker
++# -- PORTME Some linkers may need a different reload flag.
++m4_defun([_LT_CMD_RELOAD],
++[AC_CACHE_CHECK([for $LD option to reload object files],
++ lt_cv_ld_reload_flag,
++ [lt_cv_ld_reload_flag='-r'])
++reload_flag=$lt_cv_ld_reload_flag
++case $reload_flag in
++"" | " "*) ;;
++*) reload_flag=" $reload_flag" ;;
++esac
++reload_cmds='$LD$reload_flag -o $output$reload_objs'
++case $host_os in
++ darwin*)
++ if test "$GCC" = yes; then
++ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
++ else
++ reload_cmds='$LD$reload_flag -o $output$reload_objs'
++ fi
++ ;;
++esac
++_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
++_LT_DECL([], [reload_cmds], [2])dnl
++])# _LT_CMD_RELOAD
+
-+ for pass in $passes; do
-+ # The preopen pass in lib mode reverses $deplibs; put it back here
-+ # so that -L comes before libs that need it for instance...
-+ if test "$linkmode,$pass" = "lib,link"; then
-+ ## FIXME: Find the place where the list is rebuilt in the wrong
-+ ## order, and fix it there properly
-+ tmp_deplibs=
-+ for deplib in $deplibs; do
-+ tmp_deplibs="$deplib $tmp_deplibs"
-+ done
-+ deplibs="$tmp_deplibs"
-+ fi
+
-+ if test "$linkmode,$pass" = "lib,link" ||
-+ test "$linkmode,$pass" = "prog,scan"; then
-+ libs="$deplibs"
-+ deplibs=
-+ fi
-+ if test "$linkmode" = prog; then
-+ case $pass in
-+ dlopen) libs="$dlfiles" ;;
-+ dlpreopen) libs="$dlprefiles" ;;
-+ link)
-+ libs="$deplibs %DEPLIBS%"
-+ test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
-+ ;;
-+ esac
-+ fi
-+ if test "$linkmode,$pass" = "lib,dlpreopen"; then
-+ # Collect and forward deplibs of preopened libtool libs
-+ for lib in $dlprefiles; do
-+ # Ignore non-libtool-libs
-+ dependency_libs=
-+ case $lib in
-+ *.la) func_source "$lib" ;;
-+ esac
++# _LT_CHECK_MAGIC_METHOD
++# ----------------------
++# how to check for library dependencies
++# -- PORTME fill in with the dynamic library characteristics
++m4_defun([_LT_CHECK_MAGIC_METHOD],
++[m4_require([_LT_DECL_EGREP])
++m4_require([_LT_DECL_OBJDUMP])
++AC_CACHE_CHECK([how to recognize dependent libraries],
++lt_cv_deplibs_check_method,
++[lt_cv_file_magic_cmd='$MAGIC_CMD'
++lt_cv_file_magic_test_file=
++lt_cv_deplibs_check_method='unknown'
++# Need to set the preceding variable on all platforms that support
++# interlibrary dependencies.
++# 'none' -- dependencies not supported.
++# `unknown' -- same as none, but documents that we really don't know.
++# 'pass_all' -- all dependencies passed with no checks.
++# 'test_compile' -- check by making test program.
++# 'file_magic [[regex]]' -- check by looking for files in library path
++# which responds to the $file_magic_cmd with a given extended regex.
++# If you have `file' or equivalent on your system and you're not sure
++# whether `pass_all' will *always* work, you probably want this one.
+
-+ # Collect preopened libtool deplibs, except any this library
-+ # has declared as weak libs
-+ for deplib in $dependency_libs; do
-+ deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
-+ case " $weak_libs " in
-+ *" $deplib_base "*) ;;
-+ *) deplibs="$deplibs $deplib" ;;
-+ esac
-+ done
-+ done
-+ libs="$dlprefiles"
-+ fi
-+ if test "$pass" = dlopen; then
-+ # Collect dlpreopened libraries
-+ save_deplibs="$deplibs"
-+ deplibs=
-+ fi
++case $host_os in
++aix[[4-9]]*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
+
-+ for deplib in $libs; do
-+ lib=
-+ found=no
-+ case $deplib in
-+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
-+ if test "$linkmode,$pass" = "prog,link"; then
-+ compile_deplibs="$deplib $compile_deplibs"
-+ finalize_deplibs="$deplib $finalize_deplibs"
-+ else
-+ compiler_flags="$compiler_flags $deplib"
-+ if test "$linkmode" = lib ; then
-+ case "$new_inherited_linker_flags " in
-+ *" $deplib "*) ;;
-+ * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
-+ esac
-+ fi
-+ fi
-+ continue
-+ ;;
-+ -l*)
-+ if test "$linkmode" != lib && test "$linkmode" != prog; then
-+ func_warning "\`-l' is ignored for archives/objects"
-+ continue
-+ fi
-+ func_stripname '-l' '' "$deplib"
-+ name=$func_stripname_result
-+ if test "$linkmode" = lib; then
-+ searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
-+ else
-+ searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
-+ fi
-+ for searchdir in $searchdirs; do
-+ for search_ext in .la $std_shrext .so .a; do
-+ # Search the libtool library
-+ lib="$searchdir/lib${name}${search_ext}"
-+ if test -f "$lib"; then
-+ if test "$search_ext" = ".la"; then
-+ found=yes
-+ else
-+ found=no
-+ fi
-+ break 2
-+ fi
-+ done
-+ done
-+ if test "$found" != yes; then
-+ # deplib doesn't seem to be a libtool library
-+ if test "$linkmode,$pass" = "prog,link"; then
-+ compile_deplibs="$deplib $compile_deplibs"
-+ finalize_deplibs="$deplib $finalize_deplibs"
-+ else
-+ deplibs="$deplib $deplibs"
-+ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
-+ fi
-+ continue
-+ else # deplib is a libtool library
-+ # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
-+ # We need to do some special things here, and not later.
-+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-+ case " $predeps $postdeps " in
-+ *" $deplib "*)
-+ if func_lalib_p "$lib"; then
-+ library_names=
-+ old_library=
-+ func_source "$lib"
-+ for l in $old_library $library_names; do
-+ ll="$l"
-+ done
-+ if test "X$ll" = "X$old_library" ; then # only static version available
-+ found=no
-+ func_dirname "$lib" "" "."
-+ ladir="$func_dirname_result"
-+ lib=$ladir/$old_library
-+ if test "$linkmode,$pass" = "prog,link"; then
-+ compile_deplibs="$deplib $compile_deplibs"
-+ finalize_deplibs="$deplib $finalize_deplibs"
-+ else
-+ deplibs="$deplib $deplibs"
-+ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
-+ fi
-+ continue
-+ fi
-+ fi
-+ ;;
-+ *) ;;
-+ esac
-+ fi
-+ fi
-+ ;; # -l
-+ *.ltframework)
-+ if test "$linkmode,$pass" = "prog,link"; then
-+ compile_deplibs="$deplib $compile_deplibs"
-+ finalize_deplibs="$deplib $finalize_deplibs"
-+ else
-+ deplibs="$deplib $deplibs"
-+ if test "$linkmode" = lib ; then
-+ case "$new_inherited_linker_flags " in
-+ *" $deplib "*) ;;
-+ * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
-+ esac
-+ fi
-+ fi
-+ continue
-+ ;;
-+ -L*)
-+ case $linkmode in
-+ lib)
-+ deplibs="$deplib $deplibs"
-+ test "$pass" = conv && continue
-+ newdependency_libs="$deplib $newdependency_libs"
-+ func_stripname '-L' '' "$deplib"
-+ newlib_search_path="$newlib_search_path $func_stripname_result"
-+ ;;
-+ prog)
-+ if test "$pass" = conv; then
-+ deplibs="$deplib $deplibs"
-+ continue
-+ fi
-+ if test "$pass" = scan; then
-+ deplibs="$deplib $deplibs"
-+ else
-+ compile_deplibs="$deplib $compile_deplibs"
-+ finalize_deplibs="$deplib $finalize_deplibs"
-+ fi
-+ func_stripname '-L' '' "$deplib"
-+ newlib_search_path="$newlib_search_path $func_stripname_result"
-+ ;;
-+ *)
-+ func_warning "\`-L' is ignored for archives/objects"
-+ ;;
-+ esac # linkmode
-+ continue
-+ ;; # -L
-+ -R*)
-+ if test "$pass" = link; then
-+ func_stripname '-R' '' "$deplib"
-+ dir=$func_stripname_result
-+ # Make sure the xrpath contains only unique directories.
-+ case "$xrpath " in
-+ *" $dir "*) ;;
-+ *) xrpath="$xrpath $dir" ;;
-+ esac
-+ fi
-+ deplibs="$deplib $deplibs"
-+ continue
-+ ;;
-+ *.la) lib="$deplib" ;;
-+ *.$libext)
-+ if test "$pass" = conv; then
-+ deplibs="$deplib $deplibs"
-+ continue
-+ fi
-+ case $linkmode in
-+ lib)
-+ # Linking convenience modules into shared libraries is allowed,
-+ # but linking other static libraries is non-portable.
-+ case " $dlpreconveniencelibs " in
-+ *" $deplib "*) ;;
-+ *)
-+ valid_a_lib=no
-+ case $deplibs_check_method in
-+ match_pattern*)
-+ set dummy $deplibs_check_method; shift
-+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
-+ if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
-+ | $EGREP "$match_pattern_regex" > /dev/null; then
-+ valid_a_lib=yes
-+ fi
-+ ;;
-+ pass_all)
-+ valid_a_lib=yes
-+ ;;
-+ esac
-+ if test "$valid_a_lib" != yes; then
-+ $ECHO
-+ $ECHO "*** Warning: Trying to link with static lib archive $deplib."
-+ $ECHO "*** I have the capability to make that library automatically link in when"
-+ $ECHO "*** you link to this library. But I can only do this if you have a"
-+ $ECHO "*** shared version of the library, which you do not appear to have"
-+ $ECHO "*** because the file extensions .$libext of this argument makes me believe"
-+ $ECHO "*** that it is just a static archive that I should not use here."
-+ else
-+ $ECHO
-+ $ECHO "*** Warning: Linking the shared library $output against the"
-+ $ECHO "*** static library $deplib is not portable!"
-+ deplibs="$deplib $deplibs"
-+ fi
-+ ;;
-+ esac
-+ continue
-+ ;;
-+ prog)
-+ if test "$pass" != link; then
-+ deplibs="$deplib $deplibs"
-+ else
-+ compile_deplibs="$deplib $compile_deplibs"
-+ finalize_deplibs="$deplib $finalize_deplibs"
-+ fi
-+ continue
-+ ;;
-+ esac # linkmode
-+ ;; # *.$libext
-+ *.lo | *.$objext)
-+ if test "$pass" = conv; then
-+ deplibs="$deplib $deplibs"
-+ elif test "$linkmode" = prog; then
-+ if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
-+ # If there is no dlopen support or we're linking statically,
-+ # we need to preload.
-+ newdlprefiles="$newdlprefiles $deplib"
-+ compile_deplibs="$deplib $compile_deplibs"
-+ finalize_deplibs="$deplib $finalize_deplibs"
-+ else
-+ newdlfiles="$newdlfiles $deplib"
-+ fi
-+ fi
-+ continue
-+ ;;
-+ %DEPLIBS%)
-+ alldeplibs=yes
-+ continue
-+ ;;
-+ esac # case $deplib
++beos*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
+
-+ if test "$found" = yes || test -f "$lib"; then :
-+ else
-+ func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
-+ fi
++bsdi[[45]]*)
++ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
++ lt_cv_file_magic_cmd='/usr/bin/file -L'
++ lt_cv_file_magic_test_file=/shlib/libc.so
++ ;;
+
-+ # Check to see that this really is a libtool archive.
-+ func_lalib_unsafe_p "$lib" \
-+ || func_fatal_error "\`$lib' is not a valid libtool archive"
++cygwin*)
++ # func_win32_libid is a shell function defined in ltmain.sh
++ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
++ lt_cv_file_magic_cmd='func_win32_libid'
++ ;;
+
-+ func_dirname "$lib" "" "."
-+ ladir="$func_dirname_result"
++mingw* | pw32*)
++ # Base MSYS/MinGW do not provide the 'file' command needed by
++ # func_win32_libid shell function, so use a weaker test based on 'objdump',
++ # unless we find 'file', for example because we are cross-compiling.
++ if ( file / ) >/dev/null 2>&1; then
++ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
++ lt_cv_file_magic_cmd='func_win32_libid'
++ else
++ lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
++ lt_cv_file_magic_cmd='$OBJDUMP -f'
++ fi
++ ;;
+
-+ dlname=
-+ dlopen=
-+ dlpreopen=
-+ libdir=
-+ library_names=
-+ old_library=
-+ inherited_linker_flags=
-+ # If the library was installed with an old release of libtool,
-+ # it will not redefine variables installed, or shouldnotlink
-+ installed=yes
-+ shouldnotlink=no
-+ avoidtemprpath=
++cegcc)
++ # use the weaker test based on 'objdump'. See mingw*.
++ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
++ lt_cv_file_magic_cmd='$OBJDUMP -f'
++ ;;
+
++darwin* | rhapsody*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
+
-+ # Read the .la file
-+ func_source "$lib"
++freebsd* | dragonfly*)
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
++ case $host_cpu in
++ i*86 )
++ # Not sure whether the presence of OpenBSD here was a mistake.
++ # Let's accept both of them until this is cleared up.
++ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
++ lt_cv_file_magic_cmd=/usr/bin/file
++ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
++ ;;
++ esac
++ else
++ lt_cv_deplibs_check_method=pass_all
++ fi
++ ;;
+
-+ # Convert "-framework foo" to "foo.ltframework"
-+ if test -n "$inherited_linker_flags"; then
-+ tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
-+ for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
-+ case " $new_inherited_linker_flags " in
-+ *" $tmp_inherited_linker_flag "*) ;;
-+ *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
-+ esac
-+ done
-+ fi
-+ dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
-+ if test "$linkmode,$pass" = "lib,link" ||
-+ test "$linkmode,$pass" = "prog,scan" ||
-+ { test "$linkmode" != prog && test "$linkmode" != lib; }; then
-+ test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
-+ test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
-+ fi
++gnu*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
+
-+ if test "$pass" = conv; then
-+ # Only check for convenience libraries
-+ deplibs="$lib $deplibs"
-+ if test -z "$libdir"; then
-+ if test -z "$old_library"; then
-+ func_fatal_error "cannot find name of link library for \`$lib'"
-+ fi
-+ # It is a libtool convenience library, so add in its objects.
-+ convenience="$convenience $ladir/$objdir/$old_library"
-+ old_convenience="$old_convenience $ladir/$objdir/$old_library"
-+ tmp_libs=
-+ for deplib in $dependency_libs; do
-+ deplibs="$deplib $deplibs"
-+ if $opt_duplicate_deps ; then
-+ case "$tmp_libs " in
-+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-+ esac
-+ fi
-+ tmp_libs="$tmp_libs $deplib"
-+ done
-+ elif test "$linkmode" != prog && test "$linkmode" != lib; then
-+ func_fatal_error "\`$lib' is not a convenience library"
-+ fi
-+ continue
-+ fi # $pass = conv
++hpux10.20* | hpux11*)
++ lt_cv_file_magic_cmd=/usr/bin/file
++ case $host_cpu in
++ ia64*)
++ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
++ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
++ ;;
++ hppa*64*)
++ [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
++ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
++ ;;
++ *)
++ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
++ lt_cv_file_magic_test_file=/usr/lib/libc.sl
++ ;;
++ esac
++ ;;
++
++interix[[3-9]]*)
++ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
++ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
++ ;;
+
++irix5* | irix6* | nonstopux*)
++ case $LD in
++ *-32|*"-32 ") libmagic=32-bit;;
++ *-n32|*"-n32 ") libmagic=N32;;
++ *-64|*"-64 ") libmagic=64-bit;;
++ *) libmagic=never-match;;
++ esac
++ lt_cv_deplibs_check_method=pass_all
++ ;;
+
-+ # Get the name of the library we link against.
-+ linklib=
-+ for l in $old_library $library_names; do
-+ linklib="$l"
-+ done
-+ if test -z "$linklib"; then
-+ func_fatal_error "cannot find name of link library for \`$lib'"
-+ fi
++# This must be Linux ELF.
++linux* | k*bsd*-gnu)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
+
-+ # This library was specified with -dlopen.
-+ if test "$pass" = dlopen; then
-+ if test -z "$libdir"; then
-+ func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
-+ fi
-+ if test -z "$dlname" ||
-+ test "$dlopen_support" != yes ||
-+ test "$build_libtool_libs" = no; then
-+ # If there is no dlname, no dlopen support or we're linking
-+ # statically, we need to preload. We also need to preload any
-+ # dependent libraries so libltdl's deplib preloader doesn't
-+ # bomb out in the load deplibs phase.
-+ dlprefiles="$dlprefiles $lib $dependency_libs"
-+ else
-+ newdlfiles="$newdlfiles $lib"
-+ fi
-+ continue
-+ fi # $pass = dlopen
++netbsd* | netbsdelf*-gnu)
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
++ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
++ else
++ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
++ fi
++ ;;
+
-+ # We need an absolute path.
-+ case $ladir in
-+ [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
-+ *)
-+ abs_ladir=`cd "$ladir" && pwd`
-+ if test -z "$abs_ladir"; then
-+ func_warning "cannot determine absolute directory name of \`$ladir'"
-+ func_warning "passing it literally to the linker, although it might fail"
-+ abs_ladir="$ladir"
-+ fi
-+ ;;
-+ esac
-+ func_basename "$lib"
-+ laname="$func_basename_result"
++newos6*)
++ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
++ lt_cv_file_magic_cmd=/usr/bin/file
++ lt_cv_file_magic_test_file=/usr/lib/libnls.so
++ ;;
+
-+ # Find the relevant object directory and library name.
-+ if test "X$installed" = Xyes; then
-+ if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-+ func_warning "library \`$lib' was moved."
-+ dir="$ladir"
-+ absdir="$abs_ladir"
-+ libdir="$abs_ladir"
-+ else
-+ dir="$libdir"
-+ absdir="$libdir"
-+ fi
-+ test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
-+ else
-+ if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-+ dir="$ladir"
-+ absdir="$abs_ladir"
-+ # Remove this search path later
-+ notinst_path="$notinst_path $abs_ladir"
-+ else
-+ dir="$ladir/$objdir"
-+ absdir="$abs_ladir/$objdir"
-+ # Remove this search path later
-+ notinst_path="$notinst_path $abs_ladir"
-+ fi
-+ fi # $installed = yes
-+ func_stripname 'lib' '.la' "$laname"
-+ name=$func_stripname_result
++*nto* | *qnx*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
+
-+ # This library was specified with -dlpreopen.
-+ if test "$pass" = dlpreopen; then
-+ if test -z "$libdir" && test "$linkmode" = prog; then
-+ func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
-+ fi
-+ # Prefer using a static library (so that no silly _DYNAMIC symbols
-+ # are required to link).
-+ if test -n "$old_library"; then
-+ newdlprefiles="$newdlprefiles $dir/$old_library"
-+ # Keep a list of preopened convenience libraries to check
-+ # that they are being used correctly in the link pass.
-+ test -z "$libdir" && \
-+ dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
-+ # Otherwise, use the dlname, so that lt_dlopen finds it.
-+ elif test -n "$dlname"; then
-+ newdlprefiles="$newdlprefiles $dir/$dlname"
-+ else
-+ newdlprefiles="$newdlprefiles $dir/$linklib"
-+ fi
-+ fi # $pass = dlpreopen
++openbsd*)
++ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
++ else
++ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
++ fi
++ ;;
+
-+ if test -z "$libdir"; then
-+ # Link the convenience library
-+ if test "$linkmode" = lib; then
-+ deplibs="$dir/$old_library $deplibs"
-+ elif test "$linkmode,$pass" = "prog,link"; then
-+ compile_deplibs="$dir/$old_library $compile_deplibs"
-+ finalize_deplibs="$dir/$old_library $finalize_deplibs"
-+ else
-+ deplibs="$lib $deplibs" # used for prog,scan pass
-+ fi
-+ continue
-+ fi
++osf3* | osf4* | osf5*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
+
++rdos*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
+
-+ if test "$linkmode" = prog && test "$pass" != link; then
-+ newlib_search_path="$newlib_search_path $ladir"
-+ deplibs="$lib $deplibs"
++solaris*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
+
-+ linkalldeplibs=no
-+ if test "$link_all_deplibs" != no || test -z "$library_names" ||
-+ test "$build_libtool_libs" = no; then
-+ linkalldeplibs=yes
-+ fi
++sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
+
-+ tmp_libs=
-+ for deplib in $dependency_libs; do
-+ case $deplib in
-+ -L*) func_stripname '-L' '' "$deplib"
-+ newlib_search_path="$newlib_search_path $func_stripname_result"
-+ ;;
-+ esac
-+ # Need to link against all dependency_libs?
-+ if test "$linkalldeplibs" = yes; then
-+ deplibs="$deplib $deplibs"
-+ else
-+ # Need to hardcode shared library paths
-+ # or/and link against static libraries
-+ newdependency_libs="$deplib $newdependency_libs"
-+ fi
-+ if $opt_duplicate_deps ; then
-+ case "$tmp_libs " in
-+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-+ esac
-+ fi
-+ tmp_libs="$tmp_libs $deplib"
-+ done # for deplib
-+ continue
-+ fi # $linkmode = prog...
++sysv4 | sysv4.3*)
++ case $host_vendor in
++ motorola)
++ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
++ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
++ ;;
++ ncr)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++ sequent)
++ lt_cv_file_magic_cmd='/bin/file'
++ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
++ ;;
++ sni)
++ lt_cv_file_magic_cmd='/bin/file'
++ lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
++ lt_cv_file_magic_test_file=/lib/libc.so
++ ;;
++ siemens)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++ pc)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++ esac
++ ;;
+
-+ if test "$linkmode,$pass" = "prog,link"; then
-+ if test -n "$library_names" &&
-+ { { test "$prefer_static_libs" = no ||
-+ test "$prefer_static_libs,$installed" = "built,yes"; } ||
-+ test -z "$old_library"; }; then
-+ # We need to hardcode the library path
-+ if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
-+ # Make sure the rpath contains only unique directories.
-+ case "$temp_rpath:" in
-+ *"$absdir:"*) ;;
-+ *) temp_rpath="$temp_rpath$absdir:" ;;
-+ esac
-+ fi
++tpf*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++esac
++])
++file_magic_cmd=$lt_cv_file_magic_cmd
++deplibs_check_method=$lt_cv_deplibs_check_method
++test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
-+ # Hardcode the library path.
-+ # Skip directories that are in the system default run-time
-+ # search path.
-+ case " $sys_lib_dlsearch_path " in
-+ *" $absdir "*) ;;
-+ *)
-+ case "$compile_rpath " in
-+ *" $absdir "*) ;;
-+ *) compile_rpath="$compile_rpath $absdir"
-+ esac
-+ ;;
-+ esac
-+ case " $sys_lib_dlsearch_path " in
-+ *" $libdir "*) ;;
-+ *)
-+ case "$finalize_rpath " in
-+ *" $libdir "*) ;;
-+ *) finalize_rpath="$finalize_rpath $libdir"
-+ esac
-+ ;;
-+ esac
-+ fi # $linkmode,$pass = prog,link...
++_LT_DECL([], [deplibs_check_method], [1],
++ [Method to check whether dependent libraries are shared objects])
++_LT_DECL([], [file_magic_cmd], [1],
++ [Command to use when deplibs_check_method == "file_magic"])
++])# _LT_CHECK_MAGIC_METHOD
+
-+ if test "$alldeplibs" = yes &&
-+ { test "$deplibs_check_method" = pass_all ||
-+ { test "$build_libtool_libs" = yes &&
-+ test -n "$library_names"; }; }; then
-+ # We only need to search for static libraries
-+ continue
-+ fi
-+ fi
+
-+ link_static=no # Whether the deplib will be linked statically
-+ use_static_libs=$prefer_static_libs
-+ if test "$use_static_libs" = built && test "$installed" = yes; then
-+ use_static_libs=no
-+ fi
-+ if test -n "$library_names" &&
-+ { test "$use_static_libs" = no || test -z "$old_library"; }; then
-+ case $host in
-+ *cygwin* | *mingw* | *cegcc*)
-+ # No point in relinking DLLs because paths are not encoded
-+ notinst_deplibs="$notinst_deplibs $lib"
-+ need_relink=no
++# LT_PATH_NM
++# ----------
++# find the pathname to a BSD- or MS-compatible name lister
++AC_DEFUN([LT_PATH_NM],
++[AC_REQUIRE([AC_PROG_CC])dnl
++AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
++[if test -n "$NM"; then
++ # Let the user override the test.
++ lt_cv_path_NM="$NM"
++else
++ lt_nm_to_check="${ac_tool_prefix}nm"
++ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
++ lt_nm_to_check="$lt_nm_to_check nm"
++ fi
++ for lt_tmp_nm in $lt_nm_to_check; do
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
++ IFS="$lt_save_ifs"
++ test -z "$ac_dir" && ac_dir=.
++ tmp_nm="$ac_dir/$lt_tmp_nm"
++ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
++ # Check to see if the nm accepts a BSD-compat flag.
++ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
++ # nm: unknown option "B" ignored
++ # Tru64's nm complains that /dev/null is an invalid object file
++ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
++ */dev/null* | *'Invalid file or object type'*)
++ lt_cv_path_NM="$tmp_nm -B"
++ break
++ ;;
++ *)
++ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
++ */dev/null*)
++ lt_cv_path_NM="$tmp_nm -p"
++ break
+ ;;
+ *)
-+ if test "$installed" = no; then
-+ notinst_deplibs="$notinst_deplibs $lib"
-+ need_relink=yes
-+ fi
++ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
++ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
-+ # This is a shared library
++ ;;
++ esac
++ fi
++ done
++ IFS="$lt_save_ifs"
++ done
++ : ${lt_cv_path_NM=no}
++fi])
++if test "$lt_cv_path_NM" != "no"; then
++ NM="$lt_cv_path_NM"
++else
++ # Didn't find any BSD compatible name lister, look for dumpbin.
++ AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
++ AC_SUBST([DUMPBIN])
++ if test "$DUMPBIN" != ":"; then
++ NM="$DUMPBIN"
++ fi
++fi
++test -z "$NM" && NM=nm
++AC_SUBST([NM])
++_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
-+ # Warn about portability, can't link against -module's on some
-+ # systems (darwin). Don't bleat about dlopened modules though!
-+ dlopenmodule=""
-+ for dlpremoduletest in $dlprefiles; do
-+ if test "X$dlpremoduletest" = "X$lib"; then
-+ dlopenmodule="$dlpremoduletest"
-+ break
-+ fi
-+ done
-+ if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
-+ $ECHO
-+ if test "$linkmode" = prog; then
-+ $ECHO "*** Warning: Linking the executable $output against the loadable module"
-+ else
-+ $ECHO "*** Warning: Linking the shared library $output against the loadable module"
-+ fi
-+ $ECHO "*** $linklib is not portable!"
-+ fi
-+ if test "$linkmode" = lib &&
-+ test "$hardcode_into_libs" = yes; then
-+ # Hardcode the library path.
-+ # Skip directories that are in the system default run-time
-+ # search path.
-+ case " $sys_lib_dlsearch_path " in
-+ *" $absdir "*) ;;
-+ *)
-+ case "$compile_rpath " in
-+ *" $absdir "*) ;;
-+ *) compile_rpath="$compile_rpath $absdir"
-+ esac
-+ ;;
-+ esac
-+ case " $sys_lib_dlsearch_path " in
-+ *" $libdir "*) ;;
-+ *)
-+ case "$finalize_rpath " in
-+ *" $libdir "*) ;;
-+ *) finalize_rpath="$finalize_rpath $libdir"
-+ esac
-+ ;;
-+ esac
-+ fi
++AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
++ [lt_cv_nm_interface="BSD nm"
++ echo "int some_variable = 0;" > conftest.$ac_ext
++ (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
++ (eval "$ac_compile" 2>conftest.err)
++ cat conftest.err >&AS_MESSAGE_LOG_FD
++ (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
++ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
++ cat conftest.err >&AS_MESSAGE_LOG_FD
++ (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
++ cat conftest.out >&AS_MESSAGE_LOG_FD
++ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
++ lt_cv_nm_interface="MS dumpbin"
++ fi
++ rm -f conftest*])
++])# LT_PATH_NM
++
++# Old names:
++AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
++AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AM_PROG_NM], [])
++dnl AC_DEFUN([AC_PROG_NM], [])
++
++
++# LT_LIB_M
++# --------
++# check for math library
++AC_DEFUN([LT_LIB_M],
++[AC_REQUIRE([AC_CANONICAL_HOST])dnl
++LIBM=
++case $host in
++*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
++ # These system don't have libm, or don't need it
++ ;;
++*-ncr-sysv4.3*)
++ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
++ AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
++ ;;
++*)
++ AC_CHECK_LIB(m, cos, LIBM="-lm")
++ ;;
++esac
++AC_SUBST([LIBM])
++])# LT_LIB_M
+
-+ if test -n "$old_archive_from_expsyms_cmds"; then
-+ # figure out the soname
-+ set dummy $library_names
-+ shift
-+ realname="$1"
-+ shift
-+ libname=`eval "\\$ECHO \"$libname_spec\""`
-+ # use dlname if we got it. it's perfectly good, no?
-+ if test -n "$dlname"; then
-+ soname="$dlname"
-+ elif test -n "$soname_spec"; then
-+ # bleh windows
-+ case $host in
-+ *cygwin* | mingw* | *cegcc*)
-+ func_arith $current - $age
-+ major=$func_arith_result
-+ versuffix="-$major"
-+ ;;
-+ esac
-+ eval soname=\"$soname_spec\"
-+ else
-+ soname="$realname"
-+ fi
++# Old name:
++AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_CHECK_LIBM], [])
+
-+ # Make a new name for the extract_expsyms_cmds to use
-+ soroot="$soname"
-+ func_basename "$soroot"
-+ soname="$func_basename_result"
-+ func_stripname 'lib' '.dll' "$soname"
-+ newlib=libimp-$func_stripname_result.a
+
-+ # If the library has no export list, then create one now
-+ if test -f "$output_objdir/$soname-def"; then :
-+ else
-+ func_verbose "extracting exported symbol list from \`$soname'"
-+ func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
-+ fi
++# _LT_COMPILER_NO_RTTI([TAGNAME])
++# -------------------------------
++m4_defun([_LT_COMPILER_NO_RTTI],
++[m4_require([_LT_TAG_COMPILER])dnl
+
-+ # Create $newlib
-+ if test -f "$output_objdir/$newlib"; then :; else
-+ func_verbose "generating import library for \`$soname'"
-+ func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
-+ fi
-+ # make sure the library variables are pointing to the new library
-+ dir=$output_objdir
-+ linklib=$newlib
-+ fi # test -n "$old_archive_from_expsyms_cmds"
++_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
-+ if test "$linkmode" = prog || test "$mode" != relink; then
-+ add_shlibpath=
-+ add_dir=
-+ add=
-+ lib_linked=yes
-+ case $hardcode_action in
-+ immediate | unsupported)
-+ if test "$hardcode_direct" = no; then
-+ add="$dir/$linklib"
-+ case $host in
-+ *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
-+ *-*-sysv4*uw2*) add_dir="-L$dir" ;;
-+ *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
-+ *-*-unixware7*) add_dir="-L$dir" ;;
-+ *-*-darwin* )
-+ # if the lib is a (non-dlopened) module then we can not
-+ # link against it, someone is ignoring the earlier warnings
-+ if /usr/bin/file -L $add 2> /dev/null |
-+ $GREP ": [^:]* bundle" >/dev/null ; then
-+ if test "X$dlopenmodule" != "X$lib"; then
-+ $ECHO "*** Warning: lib $linklib is a module, not a shared library"
-+ if test -z "$old_library" ; then
-+ $ECHO
-+ $ECHO "*** And there doesn't seem to be a static archive available"
-+ $ECHO "*** The link will probably fail, sorry"
-+ else
-+ add="$dir/$old_library"
-+ fi
-+ elif test -n "$old_library"; then
-+ add="$dir/$old_library"
-+ fi
-+ fi
-+ esac
-+ elif test "$hardcode_minus_L" = no; then
-+ case $host in
-+ *-*-sunos*) add_shlibpath="$dir" ;;
-+ esac
-+ add_dir="-L$dir"
-+ add="-l$name"
-+ elif test "$hardcode_shlibpath_var" = no; then
-+ add_shlibpath="$dir"
-+ add="-l$name"
-+ else
-+ lib_linked=no
-+ fi
-+ ;;
-+ relink)
-+ if test "$hardcode_direct" = yes &&
-+ test "$hardcode_direct_absolute" = no; then
-+ add="$dir/$linklib"
-+ elif test "$hardcode_minus_L" = yes; then
-+ add_dir="-L$dir"
-+ # Try looking first in the location we're being installed to.
-+ if test -n "$inst_prefix_dir"; then
-+ case $libdir in
-+ [\\/]*)
-+ add_dir="$add_dir -L$inst_prefix_dir$libdir"
-+ ;;
-+ esac
-+ fi
-+ add="-l$name"
-+ elif test "$hardcode_shlibpath_var" = yes; then
-+ add_shlibpath="$dir"
-+ add="-l$name"
-+ else
-+ lib_linked=no
-+ fi
-+ ;;
-+ *) lib_linked=no ;;
-+ esac
++if test "$GCC" = yes; then
++ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
++
++ _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
++ lt_cv_prog_compiler_rtti_exceptions,
++ [-fno-rtti -fno-exceptions], [],
++ [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
++fi
++_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
++ [Compiler flag to turn off builtin functions])
++])# _LT_COMPILER_NO_RTTI
++
++
++# _LT_CMD_GLOBAL_SYMBOLS
++# ----------------------
++m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
++[AC_REQUIRE([AC_CANONICAL_HOST])dnl
++AC_REQUIRE([AC_PROG_CC])dnl
++AC_REQUIRE([LT_PATH_NM])dnl
++AC_REQUIRE([LT_PATH_LD])dnl
++m4_require([_LT_DECL_SED])dnl
++m4_require([_LT_DECL_EGREP])dnl
++m4_require([_LT_TAG_COMPILER])dnl
++
++# Check for command to grab the raw symbol name followed by C symbol from nm.
++AC_MSG_CHECKING([command to parse $NM output from $compiler object])
++AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
++[
++# These are sane defaults that work on at least a few old systems.
++# [They come from Ultrix. What could be older than Ultrix?!! ;)]
++
++# Character class describing NM global symbol codes.
++symcode='[[BCDEGRST]]'
++
++# Regexp to match symbols that can be accessed directly from C.
++sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
++
++# Define system-specific variables.
++case $host_os in
++aix*)
++ symcode='[[BCDT]]'
++ ;;
++cygwin* | mingw* | pw32* | cegcc*)
++ symcode='[[ABCDGISTW]]'
++ ;;
++hpux*)
++ if test "$host_cpu" = ia64; then
++ symcode='[[ABCDEGRST]]'
++ fi
++ ;;
++irix* | nonstopux*)
++ symcode='[[BCDEGRST]]'
++ ;;
++osf*)
++ symcode='[[BCDEGQRST]]'
++ ;;
++solaris*)
++ symcode='[[BDRT]]'
++ ;;
++sco3.2v5*)
++ symcode='[[DT]]'
++ ;;
++sysv4.2uw2*)
++ symcode='[[DT]]'
++ ;;
++sysv5* | sco5v6* | unixware* | OpenUNIX*)
++ symcode='[[ABDT]]'
++ ;;
++sysv4)
++ symcode='[[DFNSTU]]'
++ ;;
++esac
++
++# If we're using GNU nm, then use its standard symbol codes.
++case `$NM -V 2>&1` in
++*GNU* | *'with BFD'*)
++ symcode='[[ABCDGIRSTW]]' ;;
++esac
+
-+ if test "$lib_linked" != yes; then
-+ func_fatal_configuration "unsupported hardcode properties"
-+ fi
++# Transform an extracted symbol line into a proper C declaration.
++# Some systems (esp. on ia64) link data and code symbols differently,
++# so use this general approach.
++lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
-+ if test -n "$add_shlibpath"; then
-+ case :$compile_shlibpath: in
-+ *":$add_shlibpath:"*) ;;
-+ *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
-+ esac
-+ fi
-+ if test "$linkmode" = prog; then
-+ test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
-+ test -n "$add" && compile_deplibs="$add $compile_deplibs"
-+ else
-+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
-+ test -n "$add" && deplibs="$add $deplibs"
-+ if test "$hardcode_direct" != yes &&
-+ test "$hardcode_minus_L" != yes &&
-+ test "$hardcode_shlibpath_var" = yes; then
-+ case :$finalize_shlibpath: in
-+ *":$libdir:"*) ;;
-+ *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
-+ esac
-+ fi
-+ fi
-+ fi
++# Transform an extracted symbol line into symbol name and symbol address
++lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
-+ if test "$linkmode" = prog || test "$mode" = relink; then
-+ add_shlibpath=
-+ add_dir=
-+ add=
-+ # Finalize command for both is simple: just hardcode it.
-+ if test "$hardcode_direct" = yes &&
-+ test "$hardcode_direct_absolute" = no; then
-+ add="$libdir/$linklib"
-+ elif test "$hardcode_minus_L" = yes; then
-+ add_dir="-L$libdir"
-+ add="-l$name"
-+ elif test "$hardcode_shlibpath_var" = yes; then
-+ case :$finalize_shlibpath: in
-+ *":$libdir:"*) ;;
-+ *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
-+ esac
-+ add="-l$name"
-+ elif test "$hardcode_automatic" = yes; then
-+ if test -n "$inst_prefix_dir" &&
-+ test -f "$inst_prefix_dir$libdir/$linklib" ; then
-+ add="$inst_prefix_dir$libdir/$linklib"
-+ else
-+ add="$libdir/$linklib"
-+ fi
-+ else
-+ # We cannot seem to hardcode it, guess we'll fake it.
-+ add_dir="-L$libdir"
-+ # Try looking first in the location we're being installed to.
-+ if test -n "$inst_prefix_dir"; then
-+ case $libdir in
-+ [\\/]*)
-+ add_dir="$add_dir -L$inst_prefix_dir$libdir"
-+ ;;
-+ esac
-+ fi
-+ add="-l$name"
-+ fi
++# Handle CRLF in mingw tool chain
++opt_cr=
++case $build_os in
++mingw*)
++ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
++ ;;
++esac
+
-+ if test "$linkmode" = prog; then
-+ test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
-+ test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
-+ else
-+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
-+ test -n "$add" && deplibs="$add $deplibs"
-+ fi
-+ fi
-+ elif test "$linkmode" = prog; then
-+ # Here we assume that one of hardcode_direct or hardcode_minus_L
-+ # is not unsupported. This is valid on all known static and
-+ # shared platforms.
-+ if test "$hardcode_direct" != unsupported; then
-+ test -n "$old_library" && linklib="$old_library"
-+ compile_deplibs="$dir/$linklib $compile_deplibs"
-+ finalize_deplibs="$dir/$linklib $finalize_deplibs"
-+ else
-+ compile_deplibs="-l$name -L$dir $compile_deplibs"
-+ finalize_deplibs="-l$name -L$dir $finalize_deplibs"
-+ fi
-+ elif test "$build_libtool_libs" = yes; then
-+ # Not a shared library
-+ if test "$deplibs_check_method" != pass_all; then
-+ # We're trying link a shared library against a static one
-+ # but the system doesn't support it.
++# Try without a prefix underscore, then with it.
++for ac_symprfx in "" "_"; do
+
-+ # Just print a warning and add the library to dependency_libs so
-+ # that the program can be linked against the static library.
-+ $ECHO
-+ $ECHO "*** Warning: This system can not link to static lib archive $lib."
-+ $ECHO "*** I have the capability to make that library automatically link in when"
-+ $ECHO "*** you link to this library. But I can only do this if you have a"
-+ $ECHO "*** shared version of the library, which you do not appear to have."
-+ if test "$module" = yes; then
-+ $ECHO "*** But as you try to build a module library, libtool will still create "
-+ $ECHO "*** a static module, that should work as long as the dlopening application"
-+ $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
-+ if test -z "$global_symbol_pipe"; then
-+ $ECHO
-+ $ECHO "*** However, this would only work if libtool was able to extract symbol"
-+ $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
-+ $ECHO "*** not find such a program. So, this module is probably useless."
-+ $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
-+ fi
-+ if test "$build_old_libs" = no; then
-+ build_libtool_libs=module
-+ build_old_libs=yes
-+ else
-+ build_libtool_libs=no
-+ fi
-+ fi
-+ else
-+ deplibs="$dir/$old_library $deplibs"
-+ link_static=yes
-+ fi
-+ fi # link shared/static library?
++ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
++ symxfrm="\\1 $ac_symprfx\\2 \\2"
+
-+ if test "$linkmode" = lib; then
-+ if test -n "$dependency_libs" &&
-+ { test "$hardcode_into_libs" != yes ||
-+ test "$build_old_libs" = yes ||
-+ test "$link_static" = yes; }; then
-+ # Extract -R from dependency_libs
-+ temp_deplibs=
-+ for libdir in $dependency_libs; do
-+ case $libdir in
-+ -R*) func_stripname '-R' '' "$libdir"
-+ temp_xrpath=$func_stripname_result
-+ case " $xrpath " in
-+ *" $temp_xrpath "*) ;;
-+ *) xrpath="$xrpath $temp_xrpath";;
-+ esac;;
-+ *) temp_deplibs="$temp_deplibs $libdir";;
-+ esac
-+ done
-+ dependency_libs="$temp_deplibs"
-+ fi
++ # Write the raw and C identifiers.
++ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
++ # Fake it for dumpbin and say T for any non-static function
++ # and D for any global variable.
++ # Also find C++ and __fastcall symbols from MSVC++,
++ # which start with @ or ?.
++ lt_cv_sys_global_symbol_pipe="$AWK ['"\
++" {last_section=section; section=\$ 3};"\
++" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
++" \$ 0!~/External *\|/{next};"\
++" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
++" {if(hide[section]) next};"\
++" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
++" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
++" s[1]~/^[@?]/{print s[1], s[1]; next};"\
++" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
++" ' prfx=^$ac_symprfx]"
++ else
++ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
++ fi
+
-+ newlib_search_path="$newlib_search_path $absdir"
-+ # Link against this library
-+ test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
-+ # ... and its dependency_libs
-+ tmp_libs=
-+ for deplib in $dependency_libs; do
-+ newdependency_libs="$deplib $newdependency_libs"
-+ if $opt_duplicate_deps ; then
-+ case "$tmp_libs " in
-+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-+ esac
-+ fi
-+ tmp_libs="$tmp_libs $deplib"
-+ done
++ # Check to see that the pipe works correctly.
++ pipe_works=no
+
-+ if test "$link_all_deplibs" != no; then
-+ # Add the search paths of all dependency libraries
-+ for deplib in $dependency_libs; do
-+ path=
-+ case $deplib in
-+ -L*) path="$deplib" ;;
-+ *.la)
-+ func_dirname "$deplib" "" "."
-+ dir="$func_dirname_result"
-+ # We need an absolute path.
-+ case $dir in
-+ [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
-+ *)
-+ absdir=`cd "$dir" && pwd`
-+ if test -z "$absdir"; then
-+ func_warning "cannot determine absolute directory name of \`$dir'"
-+ absdir="$dir"
-+ fi
-+ ;;
-+ esac
-+ if $GREP "^installed=no" $deplib > /dev/null; then
-+ case $host in
-+ *-*-darwin*)
-+ depdepl=
-+ eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
-+ if test -n "$deplibrary_names" ; then
-+ for tmp in $deplibrary_names ; do
-+ depdepl=$tmp
-+ done
-+ if test -f "$absdir/$objdir/$depdepl" ; then
-+ depdepl="$absdir/$objdir/$depdepl"
-+ darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
-+ if test -z "$darwin_install_name"; then
-+ darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
-+ fi
-+ compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
-+ linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
-+ path=
-+ fi
-+ fi
-+ ;;
-+ *)
-+ path="-L$absdir/$objdir"
-+ ;;
-+ esac
-+ else
-+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-+ test -z "$libdir" && \
-+ func_fatal_error "\`$deplib' is not a valid libtool archive"
-+ test "$absdir" != "$libdir" && \
-+ func_warning "\`$deplib' seems to be moved"
++ rm -f conftest*
++ cat > conftest.$ac_ext <<_LT_EOF
++#ifdef __cplusplus
++extern "C" {
++#endif
++char nm_test_var;
++void nm_test_func(void);
++void nm_test_func(void){}
++#ifdef __cplusplus
++}
++#endif
++int main(){nm_test_var='a';nm_test_func();return(0);}
++_LT_EOF
+
-+ path="-L$absdir"
-+ fi
-+ ;;
-+ esac
-+ case " $deplibs " in
-+ *" $path "*) ;;
-+ *) deplibs="$path $deplibs" ;;
-+ esac
-+ done
-+ fi # link_all_deplibs != no
-+ fi # linkmode = lib
-+ done # for deplib in $libs
-+ if test "$pass" = link; then
-+ if test "$linkmode" = "prog"; then
-+ compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
-+ finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
++ if AC_TRY_EVAL(ac_compile); then
++ # Now try to grab the symbols.
++ nlist=conftest.nm
++ if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
++ # Try sorting and uniquifying the output.
++ if sort "$nlist" | uniq > "$nlist"T; then
++ mv -f "$nlist"T "$nlist"
++ else
++ rm -f "$nlist"T
++ fi
++
++ # Make sure that we snagged all the symbols we need.
++ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
++ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
++ cat <<_LT_EOF > conftest.$ac_ext
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++_LT_EOF
++ # Now generate the symbol file.
++ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
++
++ cat <<_LT_EOF >> conftest.$ac_ext
++
++/* The mapping between symbol names and symbols. */
++const struct {
++ const char *name;
++ void *address;
++}
++lt__PROGRAM__LTX_preloaded_symbols[[]] =
++{
++ { "@PROGRAM@", (void *) 0 },
++_LT_EOF
++ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
++ cat <<\_LT_EOF >> conftest.$ac_ext
++ {0, (void *) 0}
++};
++
++/* This works around a problem in FreeBSD linker */
++#ifdef FREEBSD_WORKAROUND
++static const void *lt_preloaded_setup() {
++ return lt__PROGRAM__LTX_preloaded_symbols;
++}
++#endif
++
++#ifdef __cplusplus
++}
++#endif
++_LT_EOF
++ # Now try linking the two files.
++ mv conftest.$ac_objext conftstm.$ac_objext
++ lt_save_LIBS="$LIBS"
++ lt_save_CFLAGS="$CFLAGS"
++ LIBS="conftstm.$ac_objext"
++ CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
++ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
++ pipe_works=yes
++ fi
++ LIBS="$lt_save_LIBS"
++ CFLAGS="$lt_save_CFLAGS"
+ else
-+ compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
++ echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
++ else
++ echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
-+ dependency_libs="$newdependency_libs"
-+ if test "$pass" = dlpreopen; then
-+ # Link the dlpreopened libraries before other libraries
-+ for deplib in $save_deplibs; do
-+ deplibs="$deplib $deplibs"
-+ done
++ else
++ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
++ fi
++ else
++ echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
++ cat conftest.$ac_ext >&5
++ fi
++ rm -rf conftest* conftst*
++
++ # Do not use the global_symbol_pipe unless it works.
++ if test "$pipe_works" = yes; then
++ break
++ else
++ lt_cv_sys_global_symbol_pipe=
++ fi
++done
++])
++if test -z "$lt_cv_sys_global_symbol_pipe"; then
++ lt_cv_sys_global_symbol_to_cdecl=
++fi
++if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
++ AC_MSG_RESULT(failed)
++else
++ AC_MSG_RESULT(ok)
++fi
++
++_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
++ [Take the output of nm and produce a listing of raw symbols and C names])
++_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
++ [Transform the output of nm in a proper C declaration])
++_LT_DECL([global_symbol_to_c_name_address],
++ [lt_cv_sys_global_symbol_to_c_name_address], [1],
++ [Transform the output of nm in a C name address pair])
++_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
++ [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
++ [Transform the output of nm in a C name address pair when lib prefix is needed])
++]) # _LT_CMD_GLOBAL_SYMBOLS
++
++
++# _LT_COMPILER_PIC([TAGNAME])
++# ---------------------------
++m4_defun([_LT_COMPILER_PIC],
++[m4_require([_LT_TAG_COMPILER])dnl
++_LT_TAGVAR(lt_prog_compiler_wl, $1)=
++_LT_TAGVAR(lt_prog_compiler_pic, $1)=
++_LT_TAGVAR(lt_prog_compiler_static, $1)=
++
++AC_MSG_CHECKING([for $compiler option to produce PIC])
++m4_if([$1], [CXX], [
++ # C++ specific cases for pic, static, wl, etc.
++ if test "$GXX" = yes; then
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
++
++ case $host_os in
++ aix*)
++ # All AIX code is PIC.
++ if test "$host_cpu" = ia64; then
++ # AIX 5 now supports IA64 processor
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
-+ if test "$pass" != dlopen; then
-+ if test "$pass" != conv; then
-+ # Make sure lib_search_path contains only unique directories.
-+ lib_search_path=
-+ for dir in $newlib_search_path; do
-+ case "$lib_search_path " in
-+ *" $dir "*) ;;
-+ *) lib_search_path="$lib_search_path $dir" ;;
-+ esac
-+ done
-+ newlib_search_path=
-+ fi
++ ;;
+
-+ if test "$linkmode,$pass" != "prog,link"; then
-+ vars="deplibs"
++ amigaos*)
++ case $host_cpu in
++ powerpc)
++ # see comment about AmigaOS4 .so support
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++ ;;
++ m68k)
++ # FIXME: we need at least 68020 code to build shared libraries, but
++ # adding the `-m68020' flag to GCC prevents building anything better,
++ # like `-m68040'.
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
++ ;;
++ esac
++ ;;
++
++ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
++ # PIC is the default for these OSes.
++ ;;
++ mingw* | cygwin* | os2* | pw32* | cegcc*)
++ # This hack is so that the source file can tell whether it is being
++ # built for inclusion in a dll (and should export symbols for example).
++ # Although the cygwin gcc ignores -fPIC, still need this for old-style
++ # (--disable-auto-import) libraries
++ m4_if([$1], [GCJ], [],
++ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
++ ;;
++ darwin* | rhapsody*)
++ # PIC is the default on this platform
++ # Common symbols not allowed in MH_DYLIB files
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
++ ;;
++ *djgpp*)
++ # DJGPP does not support shared libraries at all
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
++ ;;
++ interix[[3-9]]*)
++ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
++ # Instead, we relocate shared libraries at runtime.
++ ;;
++ sysv4*MP*)
++ if test -d /usr/nec; then
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
++ fi
++ ;;
++ hpux*)
++ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
++ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
++ # sets the default TLS model and affects inlining.
++ case $host_cpu in
++ hppa*64*)
++ ;;
++ *)
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++ ;;
++ esac
++ ;;
++ *qnx* | *nto*)
++ # QNX uses GNU C++, but need to define -shared option too, otherwise
++ # it will coredump.
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
++ ;;
++ *)
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++ ;;
++ esac
++ else
++ case $host_os in
++ aix[[4-9]]*)
++ # All AIX code is PIC.
++ if test "$host_cpu" = ia64; then
++ # AIX 5 now supports IA64 processor
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
-+ vars="compile_deplibs finalize_deplibs"
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
-+ for var in $vars dependency_libs; do
-+ # Add libraries to $var in reverse order
-+ eval tmp_libs=\"\$$var\"
-+ new_libs=
-+ for deplib in $tmp_libs; do
-+ # FIXME: Pedantically, this is the right thing to do, so
-+ # that some nasty dependency loop isn't accidentally
-+ # broken:
-+ #new_libs="$deplib $new_libs"
-+ # Pragmatically, this seems to cause very few problems in
-+ # practice:
-+ case $deplib in
-+ -L*) new_libs="$deplib $new_libs" ;;
-+ -R*) ;;
++ ;;
++ chorus*)
++ case $cc_basename in
++ cxch68*)
++ # Green Hills C++ Compiler
++ # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
++ ;;
++ esac
++ ;;
++ dgux*)
++ case $cc_basename in
++ ec++*)
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ ;;
++ ghcx*)
++ # Green Hills C++ Compiler
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
++ ;;
++ *)
++ ;;
++ esac
++ ;;
++ freebsd* | dragonfly*)
++ # FreeBSD uses GNU C++
++ ;;
++ hpux9* | hpux10* | hpux11*)
++ case $cc_basename in
++ CC*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
++ if test "$host_cpu" != ia64; then
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
++ fi
++ ;;
++ aCC*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
++ case $host_cpu in
++ hppa*64*|ia64*)
++ # +Z the default
++ ;;
+ *)
-+ # And here is the reason: when a library appears more
-+ # than once as an explicit dependence of a library, or
-+ # is implicitly linked in more than once by the
-+ # compiler, it is considered special, and multiple
-+ # occurrences thereof are not removed. Compare this
-+ # with having the same library being listed as a
-+ # dependency of multiple other libraries: in this case,
-+ # we know (pedantically, we assume) the library does not
-+ # need to be listed more than once, so we keep only the
-+ # last copy. This is not always right, but it is rare
-+ # enough that we require users that really mean to play
-+ # such unportable linking tricks to link the library
-+ # using -Wl,-lname, so that libtool does not consider it
-+ # for duplicate removal.
-+ case " $specialdeplibs " in
-+ *" $deplib "*) new_libs="$deplib $new_libs" ;;
-+ *)
-+ case " $new_libs " in
-+ *" $deplib "*) ;;
-+ *) new_libs="$deplib $new_libs" ;;
-+ esac
-+ ;;
-+ esac
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
-+ done
-+ tmp_libs=
-+ for deplib in $new_libs; do
-+ case $deplib in
-+ -L*)
-+ case " $tmp_libs " in
-+ *" $deplib "*) ;;
-+ *) tmp_libs="$tmp_libs $deplib" ;;
-+ esac
++ ;;
++ *)
++ ;;
++ esac
++ ;;
++ interix*)
++ # This is c89, which is MS Visual C++ (no shared libs)
++ # Anyone wants to do a port?
++ ;;
++ irix5* | irix6* | nonstopux*)
++ case $cc_basename in
++ CC*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
++ # CC pic flag -KPIC is the default.
++ ;;
++ *)
++ ;;
++ esac
++ ;;
++ linux* | k*bsd*-gnu)
++ case $cc_basename in
++ KCC*)
++ # KAI C++ Compiler
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++ ;;
++ ecpc* )
++ # old Intel C++ for x86_64 which still supported -KPIC.
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
++ ;;
++ icpc* )
++ # Intel C++, used to be incompatible with GCC.
++ # ICC 10 doesn't accept -KPIC any more.
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
++ ;;
++ pgCC* | pgcpp*)
++ # Portland Group C++ compiler
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ ;;
++ cxx*)
++ # Compaq C++
++ # Make sure the PIC flag is empty. It appears that all Alpha
++ # Linux and Compaq Tru64 Unix objects are PIC.
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
++ ;;
++ xlc* | xlC*)
++ # IBM XL 8.0 on PPC
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
++ ;;
++ *)
++ case `$CC -V 2>&1 | sed 5q` in
++ *Sun\ C*)
++ # Sun C++ 5.9
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
-+ *) tmp_libs="$tmp_libs $deplib" ;;
+ esac
-+ done
-+ eval $var=\"$tmp_libs\"
-+ done # for var
-+ fi
-+ # Last step: remove runtime libs from dependency_libs
-+ # (they stay in deplibs)
-+ tmp_libs=
-+ for i in $dependency_libs ; do
-+ case " $predeps $postdeps $compiler_lib_search_path " in
-+ *" $i "*)
-+ i=""
-+ ;;
++ ;;
+ esac
-+ if test -n "$i" ; then
-+ tmp_libs="$tmp_libs $i"
-+ fi
-+ done
-+ dependency_libs=$tmp_libs
-+ done # for pass
-+ if test "$linkmode" = prog; then
-+ dlfiles="$newdlfiles"
-+ fi
-+ if test "$linkmode" = prog || test "$linkmode" = lib; then
-+ dlprefiles="$newdlprefiles"
-+ fi
++ ;;
++ lynxos*)
++ ;;
++ m88k*)
++ ;;
++ mvs*)
++ case $cc_basename in
++ cxx*)
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
++ ;;
++ *)
++ ;;
++ esac
++ ;;
++ netbsd* | netbsdelf*-gnu)
++ ;;
++ *qnx* | *nto*)
++ # QNX uses GNU C++, but need to define -shared option too, otherwise
++ # it will coredump.
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
++ ;;
++ osf3* | osf4* | osf5*)
++ case $cc_basename in
++ KCC*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
++ ;;
++ RCC*)
++ # Rational C++ 2.4.1
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
++ ;;
++ cxx*)
++ # Digital/Compaq C++
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ # Make sure the PIC flag is empty. It appears that all Alpha
++ # Linux and Compaq Tru64 Unix objects are PIC.
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
++ ;;
++ *)
++ ;;
++ esac
++ ;;
++ psos*)
++ ;;
++ solaris*)
++ case $cc_basename in
++ CC*)
++ # Sun C++ 4.2, 5.x and Centerline C++
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
++ ;;
++ gcx*)
++ # Green Hills C++ Compiler
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
++ ;;
++ *)
++ ;;
++ esac
++ ;;
++ sunos4*)
++ case $cc_basename in
++ CC*)
++ # Sun C++ 4.x
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ ;;
++ lcc*)
++ # Lucid
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
++ ;;
++ *)
++ ;;
++ esac
++ ;;
++ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
++ case $cc_basename in
++ CC*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ ;;
++ esac
++ ;;
++ tandem*)
++ case $cc_basename in
++ NCC*)
++ # NonStop-UX NCC 3.20
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ ;;
++ *)
++ ;;
++ esac
++ ;;
++ vxworks*)
++ ;;
++ *)
++ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
++ ;;
++ esac
++ fi
++],
++[
++ if test "$GCC" = yes; then
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
-+ case $linkmode in
-+ oldlib)
-+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-+ func_warning "\`-dlopen' is ignored for archives"
++ case $host_os in
++ aix*)
++ # All AIX code is PIC.
++ if test "$host_cpu" = ia64; then
++ # AIX 5 now supports IA64 processor
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
++ ;;
+
-+ case " $deplibs" in
-+ *\ -l* | *\ -L*)
-+ func_warning "\`-l' and \`-L' are ignored for archives" ;;
++ amigaos*)
++ case $host_cpu in
++ powerpc)
++ # see comment about AmigaOS4 .so support
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++ ;;
++ m68k)
++ # FIXME: we need at least 68020 code to build shared libraries, but
++ # adding the `-m68020' flag to GCC prevents building anything better,
++ # like `-m68040'.
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
++ ;;
+ esac
++ ;;
+
-+ test -n "$rpath" && \
-+ func_warning "\`-rpath' is ignored for archives"
-+
-+ test -n "$xrpath" && \
-+ func_warning "\`-R' is ignored for archives"
-+
-+ test -n "$vinfo" && \
-+ func_warning "\`-version-info/-version-number' is ignored for archives"
-+
-+ test -n "$release" && \
-+ func_warning "\`-release' is ignored for archives"
++ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
++ # PIC is the default for these OSes.
++ ;;
+
-+ test -n "$export_symbols$export_symbols_regex" && \
-+ func_warning "\`-export-symbols' is ignored for archives"
++ mingw* | cygwin* | pw32* | os2* | cegcc*)
++ # This hack is so that the source file can tell whether it is being
++ # built for inclusion in a dll (and should export symbols for example).
++ # Although the cygwin gcc ignores -fPIC, still need this for old-style
++ # (--disable-auto-import) libraries
++ m4_if([$1], [GCJ], [],
++ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
++ ;;
+
-+ # Now set the variables for building old libraries.
-+ build_libtool_libs=no
-+ oldlibs="$output"
-+ objs="$objs$old_deplibs"
++ darwin* | rhapsody*)
++ # PIC is the default on this platform
++ # Common symbols not allowed in MH_DYLIB files
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+
-+ lib)
-+ # Make sure we only generate libraries of the form `libNAME.la'.
-+ case $outputname in
-+ lib*)
-+ func_stripname 'lib' '.la' "$outputname"
-+ name=$func_stripname_result
-+ eval shared_ext=\"$shrext_cmds\"
-+ eval libname=\"$libname_spec\"
++ hpux*)
++ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
++ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
++ # sets the default TLS model and affects inlining.
++ case $host_cpu in
++ hppa*64*)
++ # +Z the default
+ ;;
+ *)
-+ test "$module" = no && \
-+ func_fatal_help "libtool library \`$output' must begin with \`lib'"
-+
-+ if test "$need_lib_prefix" != no; then
-+ # Add the "lib" prefix for modules if required
-+ func_stripname '' '.la' "$outputname"
-+ name=$func_stripname_result
-+ eval shared_ext=\"$shrext_cmds\"
-+ eval libname=\"$libname_spec\"
-+ else
-+ func_stripname '' '.la' "$outputname"
-+ libname=$func_stripname_result
-+ fi
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
++ ;;
+
-+ if test -n "$objs"; then
-+ if test "$deplibs_check_method" != pass_all; then
-+ func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
-+ else
-+ $ECHO
-+ $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
-+ $ECHO "*** objects $objs is not portable!"
-+ libobjs="$libobjs $objs"
-+ fi
-+ fi
-+
-+ test "$dlself" != no && \
-+ func_warning "\`-dlopen self' is ignored for libtool libraries"
-+
-+ set dummy $rpath
-+ shift
-+ test "$#" -gt 1 && \
-+ func_warning "ignoring multiple \`-rpath's for a libtool library"
++ interix[[3-9]]*)
++ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
++ # Instead, we relocate shared libraries at runtime.
++ ;;
+
-+ install_libdir="$1"
++ msdosdjgpp*)
++ # Just because we use GCC doesn't mean we suddenly get shared libraries
++ # on systems that don't support them.
++ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
++ enable_shared=no
++ ;;
+
-+ oldlibs=
-+ if test -z "$rpath"; then
-+ if test "$build_libtool_libs" = yes; then
-+ # Building a libtool convenience library.
-+ # Some compilers have problems with a `.al' extension so
-+ # convenience libraries should have the same extension an
-+ # archive normally would.
-+ oldlibs="$output_objdir/$libname.$libext $oldlibs"
-+ build_libtool_libs=convenience
-+ build_old_libs=yes
-+ fi
++ *nto* | *qnx*)
++ # QNX uses GNU C++, but need to define -shared option too, otherwise
++ # it will coredump.
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
++ ;;
+
-+ test -n "$vinfo" && \
-+ func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
++ sysv4*MP*)
++ if test -d /usr/nec; then
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
++ fi
++ ;;
+
-+ test -n "$release" && \
-+ func_warning "\`-release' is ignored for convenience libraries"
++ *)
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++ ;;
++ esac
++ else
++ # PORTME Check for flag to pass linker flags through the system compiler.
++ case $host_os in
++ aix*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ if test "$host_cpu" = ia64; then
++ # AIX 5 now supports IA64 processor
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
++ fi
++ ;;
+
-+ # Parse the version information argument.
-+ save_ifs="$IFS"; IFS=':'
-+ set dummy $vinfo 0 0 0
-+ shift
-+ IFS="$save_ifs"
-+
-+ test -n "$7" && \
-+ func_fatal_help "too many parameters to \`-version-info'"
-+
-+ # convert absolute version numbers to libtool ages
-+ # this retains compatibility with .la files and attempts
-+ # to make the code below a bit more comprehensible
++ mingw* | cygwin* | pw32* | os2* | cegcc*)
++ # This hack is so that the source file can tell whether it is being
++ # built for inclusion in a dll (and should export symbols for example).
++ m4_if([$1], [GCJ], [],
++ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
++ ;;
+
-+ case $vinfo_number in
-+ yes)
-+ number_major="$1"
-+ number_minor="$2"
-+ number_revision="$3"
-+ #
-+ # There are really only two kinds -- those that
-+ # use the current revision as the major version
-+ # and those that subtract age and use age as
-+ # a minor version. But, then there is irix
-+ # which has an extra 1 added just for fun
-+ #
-+ case $version_type in
-+ darwin|linux|osf|windows|none)
-+ func_arith $number_major + $number_minor
-+ current=$func_arith_result
-+ age="$number_minor"
-+ revision="$number_revision"
-+ ;;
-+ freebsd-aout|freebsd-elf|sunos)
-+ current="$number_major"
-+ revision="$number_minor"
-+ age="0"
-+ ;;
-+ irix|nonstopux)
-+ func_arith $number_major + $number_minor
-+ current=$func_arith_result
-+ age="$number_minor"
-+ revision="$number_minor"
-+ lt_irix_increment=no
-+ ;;
-+ *)
-+ func_fatal_configuration "$modename: unknown library version type \`$version_type'"
-+ ;;
-+ esac
-+ ;;
-+ no)
-+ current="$1"
-+ revision="$2"
-+ age="$3"
-+ ;;
-+ esac
++ hpux9* | hpux10* | hpux11*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
++ # not for PA HP-UX.
++ case $host_cpu in
++ hppa*64*|ia64*)
++ # +Z the default
++ ;;
++ *)
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
++ ;;
++ esac
++ # Is there a better lt_prog_compiler_static that works with the bundled CC?
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
++ ;;
+
-+ # Check that each of the things are valid numbers.
-+ case $current in
-+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-+ *)
-+ func_error "CURRENT \`$current' must be a nonnegative integer"
-+ func_fatal_error "\`$vinfo' is not valid version information"
-+ ;;
-+ esac
++ irix5* | irix6* | nonstopux*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ # PIC (with -KPIC) is the default.
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
++ ;;
+
-+ case $revision in
-+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-+ *)
-+ func_error "REVISION \`$revision' must be a nonnegative integer"
-+ func_fatal_error "\`$vinfo' is not valid version information"
++ linux* | k*bsd*-gnu)
++ case $cc_basename in
++ # old Intel for x86_64 which still supported -KPIC.
++ ecc*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
++ ;;
++ # icc used to be incompatible with GCC.
++ # ICC 10 doesn't accept -KPIC any more.
++ icc* | ifort*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
++ ;;
++ # Lahey Fortran 8.1.
++ lf95*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
++ ;;
++ pgcc* | pgf77* | pgf90* | pgf95*)
++ # Portland Group compilers (*not* the Pentium gcc compiler,
++ # which looks to be a dead project)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ ;;
++ ccc*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ # All Alpha code is PIC.
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
++ ;;
++ xl*)
++ # IBM XL C 8.0/Fortran 10.1 on PPC
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
++ ;;
++ *)
++ case `$CC -V 2>&1 | sed 5q` in
++ *Sun\ C*)
++ # Sun C 5.9
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ ;;
-+ esac
-+
-+ case $age in
-+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-+ *)
-+ func_error "AGE \`$age' must be a nonnegative integer"
-+ func_fatal_error "\`$vinfo' is not valid version information"
++ *Sun\ F*)
++ # Sun Fortran 8.3 passes all unrecognized flags to the linker
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+ ;;
+ esac
++ ;;
++ esac
++ ;;
+
-+ if test "$age" -gt "$current"; then
-+ func_error "AGE \`$age' is greater than the current interface number \`$current'"
-+ func_fatal_error "\`$vinfo' is not valid version information"
-+ fi
-+
-+ # Calculate the version variables.
-+ major=
-+ versuffix=
-+ verstring=
-+ case $version_type in
-+ none) ;;
-+
-+ darwin)
-+ # Like Linux, but with the current version available in
-+ # verstring for coding it into the library header
-+ func_arith $current - $age
-+ major=.$func_arith_result
-+ versuffix="$major.$age.$revision"
-+ # Darwin ld doesn't like 0 for these options...
-+ func_arith $current + 1
-+ minor_current=$func_arith_result
-+ xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
-+ verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
-+ ;;
-+
-+ freebsd-aout)
-+ major=".$current"
-+ versuffix=".$current.$revision";
-+ ;;
++ newsos6)
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ ;;
+
-+ freebsd-elf)
-+ major=".$current"
-+ versuffix=".$current"
-+ ;;
++ *nto* | *qnx*)
++ # QNX uses GNU C++, but need to define -shared option too, otherwise
++ # it will coredump.
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
++ ;;
+
-+ irix | nonstopux)
-+ if test "X$lt_irix_increment" = "Xno"; then
-+ func_arith $current - $age
-+ else
-+ func_arith $current - $age + 1
-+ fi
-+ major=$func_arith_result
++ osf3* | osf4* | osf5*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ # All OSF/1 code is PIC.
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
++ ;;
+
-+ case $version_type in
-+ nonstopux) verstring_prefix=nonstopux ;;
-+ *) verstring_prefix=sgi ;;
-+ esac
-+ verstring="$verstring_prefix$major.$revision"
++ rdos*)
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
++ ;;
+
-+ # Add in all the interfaces that we are compatible with.
-+ loop=$revision
-+ while test "$loop" -ne 0; do
-+ func_arith $revision - $loop
-+ iface=$func_arith_result
-+ func_arith $loop - 1
-+ loop=$func_arith_result
-+ verstring="$verstring_prefix$major.$iface:$verstring"
-+ done
++ solaris*)
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ case $cc_basename in
++ f77* | f90* | f95*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
++ *)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
++ esac
++ ;;
+
-+ # Before this point, $major must not contain `.'.
-+ major=.$major
-+ versuffix="$major.$revision"
-+ ;;
++ sunos4*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ ;;
+
-+ linux)
-+ func_arith $current - $age
-+ major=.$func_arith_result
-+ versuffix="$major.$age.$revision"
-+ ;;
++ sysv4 | sysv4.2uw2* | sysv4.3*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ ;;
+
-+ osf)
-+ func_arith $current - $age
-+ major=.$func_arith_result
-+ versuffix=".$current.$age.$revision"
-+ verstring="$current.$age.$revision"
++ sysv4*MP*)
++ if test -d /usr/nec ;then
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ fi
++ ;;
+
-+ # Add in all the interfaces that we are compatible with.
-+ loop=$age
-+ while test "$loop" -ne 0; do
-+ func_arith $current - $loop
-+ iface=$func_arith_result
-+ func_arith $loop - 1
-+ loop=$func_arith_result
-+ verstring="$verstring:${iface}.0"
-+ done
++ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ ;;
+
-+ # Make executables depend on our current version.
-+ verstring="$verstring:${current}.0"
-+ ;;
++ unicos*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
++ ;;
+
-+ qnx)
-+ major=".$current"
-+ versuffix=".$current"
-+ ;;
++ uts4*)
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ ;;
+
-+ sunos)
-+ major=".$current"
-+ versuffix=".$current.$revision"
-+ ;;
++ *)
++ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
++ ;;
++ esac
++ fi
++])
++case $host_os in
++ # For platforms which do not support PIC, -DPIC is meaningless:
++ *djgpp*)
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
++ ;;
++ *)
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
++ ;;
++esac
++AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
++_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
++ [How to pass a linker flag through the compiler])
+
-+ windows)
-+ # Use '-' rather than '.', since we only want one
-+ # extension on DOS 8.3 filesystems.
-+ func_arith $current - $age
-+ major=$func_arith_result
-+ versuffix="-$major"
-+ ;;
++#
++# Check to make sure the PIC flag actually works.
++#
++if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
++ _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
++ [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
++ [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
++ [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
++ "" | " "*) ;;
++ *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
++ esac],
++ [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
++ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
++fi
++_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
++ [Additional compiler flags for building library objects])
+
-+ *)
-+ func_fatal_configuration "unknown library version type \`$version_type'"
-+ ;;
-+ esac
++#
++# Check to make sure the static flag actually works.
++#
++wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
++_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
++ _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
++ $lt_tmp_static_flag,
++ [],
++ [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
++_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
++ [Compiler flag to prevent dynamic linking])
++])# _LT_COMPILER_PIC
++
++
++# _LT_LINKER_SHLIBS([TAGNAME])
++# ----------------------------
++# See if the linker supports building shared libraries.
++m4_defun([_LT_LINKER_SHLIBS],
++[AC_REQUIRE([LT_PATH_LD])dnl
++AC_REQUIRE([LT_PATH_NM])dnl
++m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++m4_require([_LT_DECL_EGREP])dnl
++m4_require([_LT_DECL_SED])dnl
++m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
++m4_require([_LT_TAG_COMPILER])dnl
++AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
++m4_if([$1], [CXX], [
++ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
++ case $host_os in
++ aix[[4-9]]*)
++ # If we're using GNU nm, then we don't want the "-C" option.
++ # -C means demangle to AIX nm, but means don't demangle with GNU nm
++ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
++ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++ else
++ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++ fi
++ ;;
++ pw32*)
++ _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
++ ;;
++ cygwin* | mingw* | cegcc*)
++ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
++ ;;
++ linux* | k*bsd*-gnu)
++ _LT_TAGVAR(link_all_deplibs, $1)=no
++ ;;
++ *)
++ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
++ ;;
++ esac
++ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
++], [
++ runpath_var=
++ _LT_TAGVAR(allow_undefined_flag, $1)=
++ _LT_TAGVAR(always_export_symbols, $1)=no
++ _LT_TAGVAR(archive_cmds, $1)=
++ _LT_TAGVAR(archive_expsym_cmds, $1)=
++ _LT_TAGVAR(compiler_needs_object, $1)=no
++ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
++ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
++ _LT_TAGVAR(hardcode_automatic, $1)=no
++ _LT_TAGVAR(hardcode_direct, $1)=no
++ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
++ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=
++ _LT_TAGVAR(hardcode_minus_L, $1)=no
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
++ _LT_TAGVAR(inherit_rpath, $1)=no
++ _LT_TAGVAR(link_all_deplibs, $1)=unknown
++ _LT_TAGVAR(module_cmds, $1)=
++ _LT_TAGVAR(module_expsym_cmds, $1)=
++ _LT_TAGVAR(old_archive_from_new_cmds, $1)=
++ _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
++ _LT_TAGVAR(thread_safe_flag_spec, $1)=
++ _LT_TAGVAR(whole_archive_flag_spec, $1)=
++ # include_expsyms should be a list of space-separated symbols to be *always*
++ # included in the symbol list
++ _LT_TAGVAR(include_expsyms, $1)=
++ # exclude_expsyms can be an extended regexp of symbols to exclude
++ # it will be wrapped by ` (' and `)$', so one must not match beginning or
++ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
++ # as well as any symbol that contains `d'.
++ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
++ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
++ # platforms (ab)use it in PIC code, but their linkers get confused if
++ # the symbol is explicitly referenced. Since portable code cannot
++ # rely on this symbol name, it's probably fine to never include it in
++ # preloaded symbol tables.
++ # Exclude shared library initialization/finalization symbols.
++dnl Note also adjust exclude_expsyms for C++ above.
++ extract_expsyms_cmds=
+
-+ # Clear the version info if we defaulted, and they specified a release.
-+ if test -z "$vinfo" && test -n "$release"; then
-+ major=
-+ case $version_type in
-+ darwin)
-+ # we can't check for "0.0" in archive_cmds due to quoting
-+ # problems, so we reset it completely
-+ verstring=
-+ ;;
-+ *)
-+ verstring="0.0"
-+ ;;
-+ esac
-+ if test "$need_version" = no; then
-+ versuffix=
-+ else
-+ versuffix=".0.0"
-+ fi
-+ fi
++ case $host_os in
++ cygwin* | mingw* | pw32* | cegcc*)
++ # FIXME: the MSVC++ port hasn't been tested in a loooong time
++ # When not using gcc, we currently assume that we are using
++ # Microsoft Visual C++.
++ if test "$GCC" != yes; then
++ with_gnu_ld=no
++ fi
++ ;;
++ interix*)
++ # we just hope/assume this is gcc and not c89 (= MSVC++)
++ with_gnu_ld=yes
++ ;;
++ openbsd*)
++ with_gnu_ld=no
++ ;;
++ linux* | k*bsd*-gnu)
++ _LT_TAGVAR(link_all_deplibs, $1)=no
++ ;;
++ esac
+
-+ # Remove version info from name if versioning should be avoided
-+ if test "$avoid_version" = yes && test "$need_version" = no; then
-+ major=
-+ versuffix=
-+ verstring=""
-+ fi
++ _LT_TAGVAR(ld_shlibs, $1)=yes
++ if test "$with_gnu_ld" = yes; then
++ # If archive_cmds runs LD, not CC, wlarc should be empty
++ wlarc='${wl}'
+
-+ # Check to see if the archive will have undefined symbols.
-+ if test "$allow_undefined" = yes; then
-+ if test "$allow_undefined_flag" = unsupported; then
-+ func_warning "undefined symbols not allowed in $host shared libraries"
-+ build_libtool_libs=no
-+ build_old_libs=yes
-+ fi
-+ else
-+ # Don't allow undefined symbols.
-+ allow_undefined_flag="$no_undefined_flag"
-+ fi
++ # Set some defaults for GNU ld with shared library support. These
++ # are reset later if shared libraries are not supported. Putting them
++ # here allows them to be overridden if necessary.
++ runpath_var=LD_RUN_PATH
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
++ # ancient GNU ld didn't support --whole-archive et. al.
++ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
++ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
++ else
++ _LT_TAGVAR(whole_archive_flag_spec, $1)=
++ fi
++ supports_anon_versioning=no
++ case `$LD -v 2>&1` in
++ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
++ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
++ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
++ *\ 2.11.*) ;; # other 2.11 versions
++ *) supports_anon_versioning=yes ;;
++ esac
+
-+ fi
++ # See if GNU ld supports shared libraries.
++ case $host_os in
++ aix[[3-9]]*)
++ # On AIX/PPC, the GNU linker is very broken
++ if test "$host_cpu" != ia64; then
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ cat <<_LT_EOF 1>&2
+
-+ func_generate_dlsyms "$libname" "$libname" "yes"
-+ libobjs="$libobjs $symfileobj"
-+ test "X$libobjs" = "X " && libobjs=
++*** Warning: the GNU linker, at least up to release 2.9.1, is reported
++*** to be unable to reliably create shared libraries on AIX.
++*** Therefore, libtool is disabling shared libraries support. If you
++*** really care for shared libraries, you may want to modify your PATH
++*** so that a non-GNU linker is found, and then restart.
+
-+ if test "$mode" != relink; then
-+ # Remove our outputs, but don't remove object files since they
-+ # may have been created when compiling PIC objects.
-+ removelist=
-+ tempremovelist=`$ECHO "$output_objdir/*"`
-+ for p in $tempremovelist; do
-+ case $p in
-+ *.$objext | *.gcno)
-+ ;;
-+ $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
-+ if test "X$precious_files_regex" != "X"; then
-+ if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
-+ then
-+ continue
-+ fi
-+ fi
-+ removelist="$removelist $p"
-+ ;;
-+ *) ;;
-+ esac
-+ done
-+ test -n "$removelist" && \
-+ func_show_eval "${RM}r \$removelist"
++_LT_EOF
+ fi
++ ;;
+
-+ # Now set the variables for building old libraries.
-+ if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
-+ oldlibs="$oldlibs $output_objdir/$libname.$libext"
++ amigaos*)
++ case $host_cpu in
++ powerpc)
++ # see comment about AmigaOS4 .so support
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)=''
++ ;;
++ m68k)
++ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes
++ ;;
++ esac
++ ;;
+
-+ # Transform .lo files to .o files.
-+ oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
++ beos*)
++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
++ # support --undefined. This deserves some investigation. FIXME
++ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ else
++ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
++ ;;
+
-+ # Eliminate all temporary directories.
-+ #for path in $notinst_path; do
-+ # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
-+ # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
-+ # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
-+ #done
++ cygwin* | mingw* | pw32* | cegcc*)
++ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
++ # as there is no search path for DLLs.
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++ _LT_TAGVAR(always_export_symbols, $1)=no
++ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
++ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+
-+ if test -n "$xrpath"; then
-+ # If the user specified any rpath flags, then add them.
-+ temp_xrpath=
-+ for libdir in $xrpath; do
-+ temp_xrpath="$temp_xrpath -R$libdir"
-+ case "$finalize_rpath " in
-+ *" $libdir "*) ;;
-+ *) finalize_rpath="$finalize_rpath $libdir" ;;
-+ esac
-+ done
-+ if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
-+ dependency_libs="$temp_xrpath $dependency_libs"
-+ fi
++ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++ # If the export-symbols file already is a .def file (1st line
++ # is EXPORTS), use it as is; otherwise, prepend...
++ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ cp $export_symbols $output_objdir/$soname.def;
++ else
++ echo EXPORTS > $output_objdir/$soname.def;
++ cat $export_symbols >> $output_objdir/$soname.def;
++ fi~
++ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++ else
++ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
++ ;;
+
-+ # Make sure dlfiles contains only unique files that won't be dlpreopened
-+ old_dlfiles="$dlfiles"
-+ dlfiles=
-+ for lib in $old_dlfiles; do
-+ case " $dlprefiles $dlfiles " in
-+ *" $lib "*) ;;
-+ *) dlfiles="$dlfiles $lib" ;;
-+ esac
-+ done
++ interix[[3-9]]*)
++ _LT_TAGVAR(hardcode_direct, $1)=no
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
++ # Instead, shared libraries are loaded at an image base (0x10000000 by
++ # default) and relocated if they conflict, which is a slow very memory
++ # consuming and fragmenting process. To avoid this, we pick a random,
++ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
++ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
++ ;;
+
-+ # Make sure dlprefiles contains only unique files
-+ old_dlprefiles="$dlprefiles"
-+ dlprefiles=
-+ for lib in $old_dlprefiles; do
-+ case "$dlprefiles " in
-+ *" $lib "*) ;;
-+ *) dlprefiles="$dlprefiles $lib" ;;
++ gnu* | linux* | tpf* | k*bsd*-gnu)
++ tmp_diet=no
++ if test "$host_os" = linux-dietlibc; then
++ case $cc_basename in
++ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
-+ done
-+
-+ if test "$build_libtool_libs" = yes; then
-+ if test -n "$rpath"; then
-+ case $host in
-+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
-+ # these systems don't actually have a c library (as such)!
-+ ;;
-+ *-*-rhapsody* | *-*-darwin1.[012])
-+ # Rhapsody C library is in the System framework
-+ deplibs="$deplibs System.ltframework"
-+ ;;
-+ *-*-netbsd*)
-+ # Don't link with libc until the a.out ld.so is fixed.
-+ ;;
-+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-+ # Do not include libc due to us having libc/libc_r.
-+ ;;
-+ *-*-sco3.2v5* | *-*-sco5v6*)
-+ # Causes problems with __ctype
-+ ;;
-+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
-+ # Compiler inserts libc in the correct place for threads to work
-+ ;;
-+ *)
-+ # Add libc to deplibs on all other systems if necessary.
-+ if test "$build_libtool_need_lc" = "yes"; then
-+ deplibs="$deplibs -lc"
-+ fi
-+ ;;
-+ esac
-+ fi
-+
-+ # Transform deplibs into only deplibs that can be linked in shared.
-+ name_save=$name
-+ libname_save=$libname
-+ release_save=$release
-+ versuffix_save=$versuffix
-+ major_save=$major
-+ # I'm not sure if I'm treating the release correctly. I think
-+ # release should show up in the -l (ie -lgmp5) so we don't want to
-+ # add it in twice. Is that correct?
-+ release=""
-+ versuffix=""
-+ major=""
-+ newdeplibs=
-+ droppeddeps=no
-+ case $deplibs_check_method in
-+ pass_all)
-+ # Don't check for shared/static. Everything works.
-+ # This might be a little naive. We might want to check
-+ # whether the library exists or not. But this is on
-+ # osf3 & osf4 and I'm not really sure... Just
-+ # implementing what was already the behavior.
-+ newdeplibs=$deplibs
-+ ;;
-+ test_compile)
-+ # This code stresses the "libraries are programs" paradigm to its
-+ # limits. Maybe even breaks it. We compile a program, linking it
-+ # against the deplibs as a proxy for the library. Then we can check
-+ # whether they linked in statically or dynamically with ldd.
-+ $opt_dry_run || $RM conftest.c
-+ cat > conftest.c <<EOF
-+ int main() { return 0; }
-+EOF
-+ $opt_dry_run || $RM conftest
-+ if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
-+ ldd_output=`ldd conftest`
-+ for i in $deplibs; do
-+ case $i in
-+ -l*)
-+ func_stripname -l '' "$i"
-+ name=$func_stripname_result
-+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-+ case " $predeps $postdeps " in
-+ *" $i "*)
-+ newdeplibs="$newdeplibs $i"
-+ i=""
-+ ;;
-+ esac
-+ fi
-+ if test -n "$i" ; then
-+ libname=`eval "\\$ECHO \"$libname_spec\""`
-+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
-+ set dummy $deplib_matches; shift
-+ deplib_match=$1
-+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
-+ newdeplibs="$newdeplibs $i"
-+ else
-+ droppeddeps=yes
-+ $ECHO
-+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
-+ $ECHO "*** I have the capability to make that library automatically link in when"
-+ $ECHO "*** you link to this library. But I can only do this if you have a"
-+ $ECHO "*** shared version of the library, which I believe you do not have"
-+ $ECHO "*** because a test_compile did reveal that the linker did not use it for"
-+ $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
-+ fi
-+ fi
-+ ;;
-+ *)
-+ newdeplibs="$newdeplibs $i"
-+ ;;
-+ esac
-+ done
-+ else
-+ # Error occurred in the first compile. Let's try to salvage
-+ # the situation: Compile a separate program for each library.
-+ for i in $deplibs; do
-+ case $i in
-+ -l*)
-+ func_stripname -l '' "$i"
-+ name=$func_stripname_result
-+ $opt_dry_run || $RM conftest
-+ if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
-+ ldd_output=`ldd conftest`
-+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-+ case " $predeps $postdeps " in
-+ *" $i "*)
-+ newdeplibs="$newdeplibs $i"
-+ i=""
-+ ;;
-+ esac
-+ fi
-+ if test -n "$i" ; then
-+ libname=`eval "\\$ECHO \"$libname_spec\""`
-+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
-+ set dummy $deplib_matches; shift
-+ deplib_match=$1
-+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
-+ newdeplibs="$newdeplibs $i"
-+ else
-+ droppeddeps=yes
-+ $ECHO
-+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
-+ $ECHO "*** I have the capability to make that library automatically link in when"
-+ $ECHO "*** you link to this library. But I can only do this if you have a"
-+ $ECHO "*** shared version of the library, which you do not appear to have"
-+ $ECHO "*** because a test_compile did reveal that the linker did not use this one"
-+ $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
-+ fi
-+ fi
-+ else
-+ droppeddeps=yes
-+ $ECHO
-+ $ECHO "*** Warning! Library $i is needed by this library but I was not able to"
-+ $ECHO "*** make it link in! You will probably need to install it or some"
-+ $ECHO "*** library that it depends on before this library will be fully"
-+ $ECHO "*** functional. Installing it before continuing would be even better."
-+ fi
-+ ;;
-+ *)
-+ newdeplibs="$newdeplibs $i"
-+ ;;
-+ esac
-+ done
-+ fi
-+ ;;
-+ file_magic*)
-+ set dummy $deplibs_check_method; shift
-+ file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
-+ for a_deplib in $deplibs; do
-+ case $a_deplib in
-+ -l*)
-+ func_stripname -l '' "$a_deplib"
-+ name=$func_stripname_result
-+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-+ case " $predeps $postdeps " in
-+ *" $a_deplib "*)
-+ newdeplibs="$newdeplibs $a_deplib"
-+ a_deplib=""
-+ ;;
-+ esac
-+ fi
-+ if test -n "$a_deplib" ; then
-+ libname=`eval "\\$ECHO \"$libname_spec\""`
-+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-+ potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
-+ for potent_lib in $potential_libs; do
-+ # Follow soft links.
-+ if ls -lLd "$potent_lib" 2>/dev/null |
-+ $GREP " -> " >/dev/null; then
-+ continue
-+ fi
-+ # The statement above tries to avoid entering an
-+ # endless loop below, in case of cyclic links.
-+ # We might still enter an endless loop, since a link
-+ # loop can be closed while we follow links,
-+ # but so what?
-+ potlib="$potent_lib"
-+ while test -h "$potlib" 2>/dev/null; do
-+ potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
-+ case $potliblink in
-+ [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
-+ *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
-+ esac
-+ done
-+ if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
-+ $SED -e 10q |
-+ $EGREP "$file_magic_regex" > /dev/null; then
-+ newdeplibs="$newdeplibs $a_deplib"
-+ a_deplib=""
-+ break 2
-+ fi
-+ done
-+ done
-+ fi
-+ if test -n "$a_deplib" ; then
-+ droppeddeps=yes
-+ $ECHO
-+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
-+ $ECHO "*** I have the capability to make that library automatically link in when"
-+ $ECHO "*** you link to this library. But I can only do this if you have a"
-+ $ECHO "*** shared version of the library, which you do not appear to have"
-+ $ECHO "*** because I did check the linker path looking for a file starting"
-+ if test -z "$potlib" ; then
-+ $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
-+ else
-+ $ECHO "*** with $libname and none of the candidates passed a file format test"
-+ $ECHO "*** using a file magic. Last file checked: $potlib"
-+ fi
-+ fi
-+ ;;
-+ *)
-+ # Add a -L argument.
-+ newdeplibs="$newdeplibs $a_deplib"
-+ ;;
-+ esac
-+ done # Gone through all deplibs.
-+ ;;
-+ match_pattern*)
-+ set dummy $deplibs_check_method; shift
-+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
-+ for a_deplib in $deplibs; do
-+ case $a_deplib in
-+ -l*)
-+ func_stripname -l '' "$a_deplib"
-+ name=$func_stripname_result
-+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-+ case " $predeps $postdeps " in
-+ *" $a_deplib "*)
-+ newdeplibs="$newdeplibs $a_deplib"
-+ a_deplib=""
-+ ;;
-+ esac
-+ fi
-+ if test -n "$a_deplib" ; then
-+ libname=`eval "\\$ECHO \"$libname_spec\""`
-+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-+ potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
-+ for potent_lib in $potential_libs; do
-+ potlib="$potent_lib" # see symlink-check above in file_magic test
-+ if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
-+ $EGREP "$match_pattern_regex" > /dev/null; then
-+ newdeplibs="$newdeplibs $a_deplib"
-+ a_deplib=""
-+ break 2
-+ fi
-+ done
-+ done
-+ fi
-+ if test -n "$a_deplib" ; then
-+ droppeddeps=yes
-+ $ECHO
-+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
-+ $ECHO "*** I have the capability to make that library automatically link in when"
-+ $ECHO "*** you link to this library. But I can only do this if you have a"
-+ $ECHO "*** shared version of the library, which you do not appear to have"
-+ $ECHO "*** because I did check the linker path looking for a file starting"
-+ if test -z "$potlib" ; then
-+ $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
-+ else
-+ $ECHO "*** with $libname and none of the candidates passed a file format test"
-+ $ECHO "*** using a regex pattern. Last file checked: $potlib"
-+ fi
-+ fi
-+ ;;
-+ *)
-+ # Add a -L argument.
-+ newdeplibs="$newdeplibs $a_deplib"
-+ ;;
-+ esac
-+ done # Gone through all deplibs.
-+ ;;
-+ none | unknown | *)
-+ newdeplibs=""
-+ tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
-+ -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
-+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-+ for i in $predeps $postdeps ; do
-+ # can't use Xsed below, because $i might contain '/'
-+ tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
-+ done
-+ fi
-+ if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' |
-+ $GREP . >/dev/null; then
-+ $ECHO
-+ if test "X$deplibs_check_method" = "Xnone"; then
-+ $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
-+ else
-+ $ECHO "*** Warning: inter-library dependencies are not known to be supported."
-+ fi
-+ $ECHO "*** All declared inter-library dependencies are being dropped."
-+ droppeddeps=yes
-+ fi
++ fi
++ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
++ && test "$tmp_diet" = no
++ then
++ tmp_addflag=
++ tmp_sharedflag='-shared'
++ case $cc_basename,$host_cpu in
++ pgcc*) # Portland Group C compiler
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++ tmp_addflag=' $pic_flag'
+ ;;
++ pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++ tmp_addflag=' $pic_flag -Mnomain' ;;
++ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
++ tmp_addflag=' -i_dynamic' ;;
++ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
++ tmp_addflag=' -i_dynamic -nofor_main' ;;
++ ifc* | ifort*) # Intel Fortran compiler
++ tmp_addflag=' -nofor_main' ;;
++ lf95*) # Lahey Fortran 8.1
++ _LT_TAGVAR(whole_archive_flag_spec, $1)=
++ tmp_sharedflag='--shared' ;;
++ xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
++ tmp_sharedflag='-qmkshrobj'
++ tmp_addflag= ;;
+ esac
-+ versuffix=$versuffix_save
-+ major=$major_save
-+ release=$release_save
-+ libname=$libname_save
-+ name=$name_save
++ case `$CC -V 2>&1 | sed 5q` in
++ *Sun\ C*) # Sun C 5.9
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++ _LT_TAGVAR(compiler_needs_object, $1)=yes
++ tmp_sharedflag='-G' ;;
++ *Sun\ F*) # Sun Fortran 8.3
++ tmp_sharedflag='-G' ;;
++ esac
++ _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
-+ case $host in
-+ *-*-rhapsody* | *-*-darwin1.[012])
-+ # On Rhapsody replace the C library with the System framework
-+ newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
++ if test "x$supports_anon_versioning" = xyes; then
++ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
++ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
++ echo "local: *; };" >> $output_objdir/$libname.ver~
++ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
++ fi
++
++ case $cc_basename in
++ xlf*)
++ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
++ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
++ _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
++ if test "x$supports_anon_versioning" = xyes; then
++ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
++ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
++ echo "local: *; };" >> $output_objdir/$libname.ver~
++ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
++ fi
+ ;;
+ esac
++ else
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ fi
++ ;;
+
-+ if test "$droppeddeps" = yes; then
-+ if test "$module" = yes; then
-+ $ECHO
-+ $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
-+ $ECHO "*** dependencies of module $libname. Therefore, libtool will create"
-+ $ECHO "*** a static module, that should work as long as the dlopening"
-+ $ECHO "*** application is linked with the -dlopen flag."
-+ if test -z "$global_symbol_pipe"; then
-+ $ECHO
-+ $ECHO "*** However, this would only work if libtool was able to extract symbol"
-+ $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
-+ $ECHO "*** not find such a program. So, this module is probably useless."
-+ $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
-+ fi
-+ if test "$build_old_libs" = no; then
-+ oldlibs="$output_objdir/$libname.$libext"
-+ build_libtool_libs=module
-+ build_old_libs=yes
-+ else
-+ build_libtool_libs=no
-+ fi
-+ else
-+ $ECHO "*** The inter-library dependencies that have been dropped here will be"
-+ $ECHO "*** automatically added whenever a program is linked with this library"
-+ $ECHO "*** or is declared to -dlopen it."
++ netbsd* | netbsdelf*-gnu)
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
++ wlarc=
++ else
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ fi
++ ;;
+
-+ if test "$allow_undefined" = no; then
-+ $ECHO
-+ $ECHO "*** Since this library must not contain undefined symbols,"
-+ $ECHO "*** because either the platform does not support them or"
-+ $ECHO "*** it was explicitly requested with -no-undefined,"
-+ $ECHO "*** libtool will only create a static version of it."
-+ if test "$build_old_libs" = no; then
-+ oldlibs="$output_objdir/$libname.$libext"
-+ build_libtool_libs=module
-+ build_old_libs=yes
-+ else
-+ build_libtool_libs=no
-+ fi
-+ fi
-+ fi
-+ fi
-+ # Done checking deplibs!
-+ deplibs=$newdeplibs
++ solaris*)
++ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ cat <<_LT_EOF 1>&2
++
++*** Warning: The releases 2.8.* of the GNU linker cannot reliably
++*** create shared libraries on Solaris systems. Therefore, libtool
++*** is disabling shared libraries support. We urge you to upgrade GNU
++*** binutils to release 2.9.1 or newer. Another option is to modify
++*** your PATH or compiler configuration so that the native linker is
++*** used, and then restart.
++
++_LT_EOF
++ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ else
++ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
-+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
-+ case $host in
-+ *-*-darwin*)
-+ newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
-+ new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
-+ deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
-+ ;;
-+ esac
++ ;;
+
-+ # move library search paths that coincide with paths to not yet
-+ # installed libraries to the beginning of the library search list
-+ new_libs=
-+ for path in $notinst_path; do
-+ case " $new_libs " in
-+ *" -L$path/$objdir "*) ;;
++ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
++ case `$LD -v 2>&1` in
++ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ cat <<_LT_EOF 1>&2
++
++*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
++*** reliably create shared libraries on SCO systems. Therefore, libtool
++*** is disabling shared libraries support. We urge you to upgrade GNU
++*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
++*** your PATH or compiler configuration so that the native linker is
++*** used, and then restart.
++
++_LT_EOF
++ ;;
+ *)
-+ case " $deplibs " in
-+ *" -L$path/$objdir "*)
-+ new_libs="$new_libs -L$path/$objdir" ;;
-+ esac
-+ ;;
-+ esac
-+ done
-+ for deplib in $deplibs; do
-+ case $deplib in
-+ -L*)
-+ case " $new_libs " in
-+ *" $deplib "*) ;;
-+ *) new_libs="$new_libs $deplib" ;;
-+ esac
++ # For security reasons, it is highly recommended that you always
++ # use absolute paths for naming shared libraries, and exclude the
++ # DT_RUNPATH tag from executables and libraries. But doing so
++ # requires that you compile everything twice, which is a pain.
++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ else
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ fi
++ ;;
++ esac
++ ;;
++
++ sunos4*)
++ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
++ wlarc=
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ ;;
++
++ *)
++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ else
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ fi
++ ;;
++ esac
++
++ if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
++ runpath_var=
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
++ _LT_TAGVAR(whole_archive_flag_spec, $1)=
++ fi
++ else
++ # PORTME fill in a description of your system's linker (not GNU ld)
++ case $host_os in
++ aix3*)
++ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++ _LT_TAGVAR(always_export_symbols, $1)=yes
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
++ # Note: this linker hardcodes the directories in LIBPATH if there
++ # are no directories specified by -L.
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes
++ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
++ # Neither direct hardcoding nor static linking is supported with a
++ # broken collect2.
++ _LT_TAGVAR(hardcode_direct, $1)=unsupported
++ fi
++ ;;
++
++ aix[[4-9]]*)
++ if test "$host_cpu" = ia64; then
++ # On IA64, the linker does run time linking by default, so we don't
++ # have to do anything special.
++ aix_use_runtimelinking=no
++ exp_sym_flag='-Bexport'
++ no_entry_flag=""
++ else
++ # If we're using GNU nm, then we don't want the "-C" option.
++ # -C means demangle to AIX nm, but means don't demangle with GNU nm
++ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
++ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++ else
++ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++ fi
++ aix_use_runtimelinking=no
++
++ # Test if we are trying to use run time linking or normal
++ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
++ # need to do runtime linking.
++ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
++ for ld_flag in $LDFLAGS; do
++ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
++ aix_use_runtimelinking=yes
++ break
++ fi
++ done
+ ;;
-+ *) new_libs="$new_libs $deplib" ;;
+ esac
-+ done
-+ deplibs="$new_libs"
+
-+ # All the library-specific variables (install_libdir is set above).
-+ library_names=
-+ old_library=
-+ dlname=
++ exp_sym_flag='-bexport'
++ no_entry_flag='-bnoentry'
++ fi
+
-+ # Test again, we may have decided not to build it any more
-+ if test "$build_libtool_libs" = yes; then
-+ if test "$hardcode_into_libs" = yes; then
-+ # Hardcode the library paths
-+ hardcode_libdirs=
-+ dep_rpath=
-+ rpath="$finalize_rpath"
-+ test "$mode" != relink && rpath="$compile_rpath$rpath"
-+ for libdir in $rpath; do
-+ if test -n "$hardcode_libdir_flag_spec"; then
-+ if test -n "$hardcode_libdir_separator"; then
-+ if test -z "$hardcode_libdirs"; then
-+ hardcode_libdirs="$libdir"
-+ else
-+ # Just accumulate the unique libdirs.
-+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-+ ;;
-+ *)
-+ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-+ ;;
-+ esac
-+ fi
-+ else
-+ eval flag=\"$hardcode_libdir_flag_spec\"
-+ dep_rpath="$dep_rpath $flag"
-+ fi
-+ elif test -n "$runpath_var"; then
-+ case "$perm_rpath " in
-+ *" $libdir "*) ;;
-+ *) perm_rpath="$perm_rpath $libdir" ;;
-+ esac
-+ fi
-+ done
-+ # Substitute the hardcoded libdirs into the rpath.
-+ if test -n "$hardcode_libdir_separator" &&
-+ test -n "$hardcode_libdirs"; then
-+ libdir="$hardcode_libdirs"
-+ if test -n "$hardcode_libdir_flag_spec_ld"; then
-+ eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
-+ else
-+ eval dep_rpath=\"$hardcode_libdir_flag_spec\"
-+ fi
++ # When large executables or shared objects are built, AIX ld can
++ # have problems creating the table of contents. If linking a library
++ # or program results in "error TOC overflow" add -mminimal-toc to
++ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
++ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
++
++ _LT_TAGVAR(archive_cmds, $1)=''
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
++ _LT_TAGVAR(link_all_deplibs, $1)=yes
++ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
++
++ if test "$GCC" = yes; then
++ case $host_os in aix4.[[012]]|aix4.[[012]].*)
++ # We only want to do this on AIX 4.2 and lower, the check
++ # below for broken collect2 doesn't work under 4.3+
++ collect2name=`${CC} -print-prog-name=collect2`
++ if test -f "$collect2name" &&
++ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
++ then
++ # We have reworked collect2
++ :
++ else
++ # We have old collect2
++ _LT_TAGVAR(hardcode_direct, $1)=unsupported
++ # It fails to find uninstalled libraries when the uninstalled
++ # path is not listed in the libpath. Setting hardcode_minus_L
++ # to unsupported forces relinking
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
-+ if test -n "$runpath_var" && test -n "$perm_rpath"; then
-+ # We should set the runpath_var.
-+ rpath=
-+ for dir in $perm_rpath; do
-+ rpath="$rpath$dir:"
-+ done
-+ eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
++ ;;
++ esac
++ shared_flag='-shared'
++ if test "$aix_use_runtimelinking" = yes; then
++ shared_flag="$shared_flag "'${wl}-G'
++ fi
++ _LT_TAGVAR(link_all_deplibs, $1)=no
++ else
++ # not using gcc
++ if test "$host_cpu" = ia64; then
++ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
++ # chokes on -Wl,-G. The following line is correct:
++ shared_flag='-G'
++ else
++ if test "$aix_use_runtimelinking" = yes; then
++ shared_flag='${wl}-G'
++ else
++ shared_flag='${wl}-bM:SRE'
+ fi
-+ test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+ fi
++ fi
+
-+ shlibpath="$finalize_shlibpath"
-+ test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
-+ if test -n "$shlibpath"; then
-+ eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
++ # It seems that -bexpall does not export symbols beginning with
++ # underscore (_), so it is better to generate a list of symbols to export.
++ _LT_TAGVAR(always_export_symbols, $1)=yes
++ if test "$aix_use_runtimelinking" = yes; then
++ # Warning - without using the other runtime loading flags (-brtl),
++ # -berok will link without error, but may produce a broken library.
++ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
++ # Determine the default libpath from the value encoded in an
++ # empty executable.
++ _LT_SYS_MODULE_PATH_AIX
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
++ else
++ if test "$host_cpu" = ia64; then
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
++ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
++ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
++ else
++ # Determine the default libpath from the value encoded in an
++ # empty executable.
++ _LT_SYS_MODULE_PATH_AIX
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
++ # Warning - without using the other run time loading flags,
++ # -berok will link without error, but may produce a broken library.
++ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
++ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
++ # Exported symbols can be pulled into shared objects from archives
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
++ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
++ # This is similar to how AIX traditionally builds its shared libraries.
++ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
++ fi
++ ;;
+
-+ # Get the real and link names of the library.
-+ eval shared_ext=\"$shrext_cmds\"
-+ eval library_names=\"$library_names_spec\"
-+ set dummy $library_names
-+ shift
-+ realname="$1"
-+ shift
++ amigaos*)
++ case $host_cpu in
++ powerpc)
++ # see comment about AmigaOS4 .so support
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)=''
++ ;;
++ m68k)
++ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes
++ ;;
++ esac
++ ;;
+
-+ if test -n "$soname_spec"; then
-+ eval soname=\"$soname_spec\"
-+ else
-+ soname="$realname"
-+ fi
-+ if test -z "$dlname"; then
-+ dlname=$soname
-+ fi
++ bsdi[[45]]*)
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
++ ;;
+
-+ lib="$output_objdir/$realname"
-+ linknames=
-+ for link
-+ do
-+ linknames="$linknames $link"
-+ done
++ cygwin* | mingw* | pw32* | cegcc*)
++ # When not using gcc, we currently assume that we are using
++ # Microsoft Visual C++.
++ # hardcode_libdir_flag_spec is actually meaningless, as there is
++ # no search path for DLLs.
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
++ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
++ # The linker will automatically build a .lib file if we build a DLL.
++ _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
++ # FIXME: Should let the user specify the lib program.
++ _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
++ _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
++ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
++ ;;
+
-+ # Use standard objects if they are pic
-+ test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-+ test "X$libobjs" = "X " && libobjs=
++ darwin* | rhapsody*)
++ _LT_DARWIN_LINKER_FEATURES($1)
++ ;;
+
-+ delfiles=
-+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
-+ $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
-+ export_symbols="$output_objdir/$libname.uexp"
-+ delfiles="$delfiles $export_symbols"
-+ fi
++ dgux*)
++ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ ;;
+
-+ orig_export_symbols=
-+ case $host_os in
-+ cygwin* | mingw* | cegcc*)
-+ if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
-+ # exporting using user supplied symfile
-+ if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
-+ # and it's NOT already a .def file. Must figure out
-+ # which of the given symbols are data symbols and tag
-+ # them as such. So, trigger use of export_symbols_cmds.
-+ # export_symbols gets reassigned inside the "prepare
-+ # the list of exported symbols" if statement, so the
-+ # include_expsyms logic still works.
-+ orig_export_symbols="$export_symbols"
-+ export_symbols=
-+ always_export_symbols=yes
-+ fi
-+ fi
++ freebsd1*)
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++
++ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
++ # support. Future versions do this automatically, but an explicit c++rt0.o
++ # does not break anything, and helps significantly (at the cost of a little
++ # extra space).
++ freebsd2.2*)
++ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ ;;
++
++ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
++ freebsd2*)
++ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ ;;
++
++ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
++ freebsd* | dragonfly*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ ;;
++
++ hpux9*)
++ if test "$GCC" = yes; then
++ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ else
++ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ fi
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++
++ # hardcode_minus_L: Not really in the search PATH,
++ # but as the default location of the library.
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++ ;;
++
++ hpux10*)
++ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ else
++ _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
++ fi
++ if test "$with_gnu_ld" = no; then
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
++ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++ # hardcode_minus_L: Not really in the search PATH,
++ # but as the default location of the library.
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes
++ fi
++ ;;
++
++ hpux11*)
++ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
++ case $host_cpu in
++ hppa*64*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ ia64*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ *)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ esac
++ else
++ case $host_cpu in
++ hppa*64*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ ia64*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ *)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
++ fi
++ if test "$with_gnu_ld" = no; then
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
-+ # Prepare the list of exported symbols
-+ if test -z "$export_symbols"; then
-+ if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
-+ func_verbose "generating symbol list for \`$libname.la'"
-+ export_symbols="$output_objdir/$libname.exp"
-+ $opt_dry_run || $RM $export_symbols
-+ cmds=$export_symbols_cmds
-+ save_ifs="$IFS"; IFS='~'
-+ for cmd in $cmds; do
-+ IFS="$save_ifs"
-+ eval cmd=\"$cmd\"
-+ func_len " $cmd"
-+ len=$func_len_result
-+ if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-+ func_show_eval "$cmd" 'exit $?'
-+ skipped_export=false
-+ else
-+ # The command line is too long to execute in one step.
-+ func_verbose "using reloadable object file for export list..."
-+ skipped_export=:
-+ # Break out early, otherwise skipped_export may be
-+ # set to false by a later but shorter cmd.
-+ break
-+ fi
-+ done
-+ IFS="$save_ifs"
-+ if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
-+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
-+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
-+ fi
-+ fi
-+ fi
++ case $host_cpu in
++ hppa*64*|ia64*)
++ _LT_TAGVAR(hardcode_direct, $1)=no
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ ;;
++ *)
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++
++ # hardcode_minus_L: Not really in the search PATH,
++ # but as the default location of the library.
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes
++ ;;
++ esac
++ fi
++ ;;
++
++ irix5* | irix6* | nonstopux*)
++ if test "$GCC" = yes; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ # Try to use the -exported_symbol ld option, if it does not
++ # work, assume that -exports_file does not work either and
++ # implicitly export all symbols.
++ save_LDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
++ AC_LINK_IFELSE(int foo(void) {},
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
++ )
++ LDFLAGS="$save_LDFLAGS"
++ else
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
++ fi
++ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++ _LT_TAGVAR(inherit_rpath, $1)=yes
++ _LT_TAGVAR(link_all_deplibs, $1)=yes
++ ;;
+
-+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
-+ tmp_export_symbols="$export_symbols"
-+ test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
-+ $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
-+ fi
++ netbsd* | netbsdelf*-gnu)
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
++ else
++ _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
++ fi
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ ;;
+
-+ if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
-+ # The given exports_symbols file has to be filtered, so filter it.
-+ func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
-+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
-+ # 's' commands which not all seds can handle. GNU sed should be fine
-+ # though. Also, the filter scales superlinearly with the number of
-+ # global variables. join(1) would be nice here, but unfortunately
-+ # isn't a blessed tool.
-+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
-+ delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
-+ export_symbols=$output_objdir/$libname.def
-+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
-+ fi
++ newsos6)
++ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ ;;
+
-+ tmp_deplibs=
-+ for test_deplib in $deplibs; do
-+ case " $convenience " in
-+ *" $test_deplib "*) ;;
-+ *)
-+ tmp_deplibs="$tmp_deplibs $test_deplib"
-+ ;;
++ *nto* | *qnx*)
++ ;;
++
++ openbsd*)
++ if test -f /usr/libexec/ld.so; then
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
++ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++ else
++ case $host_os in
++ openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
++ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
++ ;;
++ *)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
++ ;;
+ esac
-+ done
-+ deplibs="$tmp_deplibs"
++ fi
++ else
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ fi
++ ;;
+
-+ if test -n "$convenience"; then
-+ if test -n "$whole_archive_flag_spec" &&
-+ test "$compiler_needs_object" = yes &&
-+ test -z "$libobjs"; then
-+ # extract the archives, so we have objects to list.
-+ # TODO: could optimize this to just extract one archive.
-+ whole_archive_flag_spec=
-+ fi
-+ if test -n "$whole_archive_flag_spec"; then
-+ save_libobjs=$libobjs
-+ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
-+ test "X$libobjs" = "X " && libobjs=
-+ else
-+ gentop="$output_objdir/${outputname}x"
-+ generated="$generated $gentop"
++ os2*)
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes
++ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
++ _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
++ ;;
+
-+ func_extract_archives $gentop $convenience
-+ libobjs="$libobjs $func_extract_archives_result"
-+ test "X$libobjs" = "X " && libobjs=
-+ fi
-+ fi
++ osf3*)
++ if test "$GCC" = yes; then
++ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ else
++ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++ fi
++ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++ ;;
+
-+ if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
-+ eval flag=\"$thread_safe_flag_spec\"
-+ linker_flags="$linker_flags $flag"
-+ fi
++ osf4* | osf5*) # as osf3* with the addition of -msym flag
++ if test "$GCC" = yes; then
++ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++ else
++ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
++ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
-+ # Make a backup of the uninstalled library when relinking
-+ if test "$mode" = relink; then
-+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
-+ fi
++ # Both c and cxx compiler support -rpath directly
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
++ fi
++ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++ ;;
+
-+ # Do each of the archive commands.
-+ if test "$module" = yes && test -n "$module_cmds" ; then
-+ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
-+ eval test_cmds=\"$module_expsym_cmds\"
-+ cmds=$module_expsym_cmds
-+ else
-+ eval test_cmds=\"$module_cmds\"
-+ cmds=$module_cmds
-+ fi
++ solaris*)
++ _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
++ if test "$GCC" = yes; then
++ wlarc='${wl}'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++ else
++ case `$CC -V 2>&1` in
++ *"Compilers 5.0"*)
++ wlarc=''
++ _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
++ ;;
++ *)
++ wlarc='${wl}'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++ ;;
++ esac
++ fi
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ case $host_os in
++ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
++ *)
++ # The compiler driver will combine and reorder linker options,
++ # but understands `-z linker_flag'. GCC discards it without `$wl',
++ # but is careful enough not to reorder.
++ # Supported since Solaris 2.6 (maybe 2.5.1?)
++ if test "$GCC" = yes; then
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
-+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
-+ eval test_cmds=\"$archive_expsym_cmds\"
-+ cmds=$archive_expsym_cmds
-+ else
-+ eval test_cmds=\"$archive_cmds\"
-+ cmds=$archive_cmds
-+ fi
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ fi
++ ;;
++ esac
++ _LT_TAGVAR(link_all_deplibs, $1)=yes
++ ;;
+
-+ if test "X$skipped_export" != "X:" &&
-+ func_len " $test_cmds" &&
-+ len=$func_len_result &&
-+ test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-+ :
-+ else
-+ # The command line is too long to link in one step, link piecewise
-+ # or, if using GNU ld and skipped_export is not :, use a linker
-+ # script.
++ sunos4*)
++ if test "x$host_vendor" = xsequent; then
++ # Use $CC to link under sequent, because it throws in some extra .o
++ # files that make .init and .fini sections work.
++ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
++ else
++ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
++ fi
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ ;;
+
-+ # Save the value of $output and $libobjs because we want to
-+ # use them later. If we have whole_archive_flag_spec, we
-+ # want to use save_libobjs as it was before
-+ # whole_archive_flag_spec was expanded, because we can't
-+ # assume the linker understands whole_archive_flag_spec.
-+ # This may have to be revisited, in case too many
-+ # convenience libraries get linked in and end up exceeding
-+ # the spec.
-+ if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
-+ save_libobjs=$libobjs
-+ fi
-+ save_output=$output
-+ output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
++ sysv4)
++ case $host_vendor in
++ sni)
++ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
++ ;;
++ siemens)
++ ## LD is ld it makes a PLAMLIB
++ ## CC just makes a GrossModule.
++ _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
++ _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
++ _LT_TAGVAR(hardcode_direct, $1)=no
++ ;;
++ motorola)
++ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
++ ;;
++ esac
++ runpath_var='LD_RUN_PATH'
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ ;;
+
-+ # Clear the reloadable object creation command queue and
-+ # initialize k to one.
-+ test_cmds=
-+ concat_cmds=
-+ objlist=
-+ last_robj=
-+ k=1
++ sysv4.3*)
++ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
++ ;;
+
-+ if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
-+ output=${output_objdir}/${output_la}.lnkscript
-+ func_verbose "creating GNU ld script: $output"
-+ $ECHO 'INPUT (' > $output
-+ for obj in $save_libobjs
-+ do
-+ $ECHO "$obj" >> $output
-+ done
-+ $ECHO ')' >> $output
-+ delfiles="$delfiles $output"
-+ elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
-+ output=${output_objdir}/${output_la}.lnk
-+ func_verbose "creating linker input file list: $output"
-+ : > $output
-+ set x $save_libobjs
-+ shift
-+ firstobj=
-+ if test "$compiler_needs_object" = yes; then
-+ firstobj="$1 "
-+ shift
-+ fi
-+ for obj
-+ do
-+ $ECHO "$obj" >> $output
-+ done
-+ delfiles="$delfiles $output"
-+ output=$firstobj\"$file_list_spec$output\"
-+ else
-+ if test -n "$save_libobjs"; then
-+ func_verbose "creating reloadable object files..."
-+ output=$output_objdir/$output_la-${k}.$objext
-+ eval test_cmds=\"$reload_cmds\"
-+ func_len " $test_cmds"
-+ len0=$func_len_result
-+ len=$len0
++ sysv4*MP*)
++ if test -d /usr/nec; then
++ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ runpath_var=LD_RUN_PATH
++ hardcode_runpath_var=yes
++ _LT_TAGVAR(ld_shlibs, $1)=yes
++ fi
++ ;;
+
-+ # Loop over the list of objects to be linked.
-+ for obj in $save_libobjs
-+ do
-+ func_len " $obj"
-+ func_arith $len + $func_len_result
-+ len=$func_arith_result
-+ if test "X$objlist" = X ||
-+ test "$len" -lt "$max_cmd_len"; then
-+ func_append objlist " $obj"
-+ else
-+ # The command $test_cmds is almost too long, add a
-+ # command to the queue.
-+ if test "$k" -eq 1 ; then
-+ # The first file doesn't have a previous command to add.
-+ eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
-+ else
-+ # All subsequent reloadable object files will link in
-+ # the last one created.
-+ eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
-+ fi
-+ last_robj=$output_objdir/$output_la-${k}.$objext
-+ func_arith $k + 1
-+ k=$func_arith_result
-+ output=$output_objdir/$output_la-${k}.$objext
-+ objlist=$obj
-+ func_len " $last_robj"
-+ func_arith $len0 + $func_len_result
-+ len=$func_arith_result
-+ fi
-+ done
-+ # Handle the remaining objects by creating one last
-+ # reloadable object file. All subsequent reloadable object
-+ # files will link in the last one created.
-+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-+ eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
-+ if test -n "$last_robj"; then
-+ eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
-+ fi
-+ delfiles="$delfiles $output"
++ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
++ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
++ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ runpath_var='LD_RUN_PATH'
+
-+ else
-+ output=
-+ fi
++ if test "$GCC" = yes; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ else
++ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ fi
++ ;;
+
-+ if ${skipped_export-false}; then
-+ func_verbose "generating symbol list for \`$libname.la'"
-+ export_symbols="$output_objdir/$libname.exp"
-+ $opt_dry_run || $RM $export_symbols
-+ libobjs=$output
-+ # Append the command to create the export file.
-+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-+ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
-+ if test -n "$last_robj"; then
-+ eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
-+ fi
-+ fi
++ sysv5* | sco3.2v5* | sco5v6*)
++ # Note: We can NOT use -z defs as we might desire, because we do not
++ # link with -lc, and that would cause any symbols used from libc to
++ # always be unresolved, which means just about no library would
++ # ever link correctly. If we're not using GNU ld we use -z text
++ # though, which does catch some bad symbols but isn't as heavy-handed
++ # as -z defs.
++ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
++ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
++ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
++ _LT_TAGVAR(link_all_deplibs, $1)=yes
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
++ runpath_var='LD_RUN_PATH'
+
-+ test -n "$save_libobjs" &&
-+ func_verbose "creating a temporary reloadable object file: $output"
++ if test "$GCC" = yes; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ else
++ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ fi
++ ;;
+
-+ # Loop through the commands generated above and execute them.
-+ save_ifs="$IFS"; IFS='~'
-+ for cmd in $concat_cmds; do
-+ IFS="$save_ifs"
-+ $opt_silent || {
-+ func_quote_for_expand "$cmd"
-+ eval "func_echo $func_quote_for_expand_result"
-+ }
-+ $opt_dry_run || eval "$cmd" || {
-+ lt_exit=$?
++ uts4*)
++ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ ;;
+
-+ # Restore the uninstalled library and exit
-+ if test "$mode" = relink; then
-+ ( cd "$output_objdir" && \
-+ $RM "${realname}T" && \
-+ $MV "${realname}U" "$realname" )
-+ fi
++ *)
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ esac
+
-+ exit $lt_exit
-+ }
-+ done
-+ IFS="$save_ifs"
++ if test x$host_vendor = xsni; then
++ case $host in
++ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
++ ;;
++ esac
++ fi
++ fi
++])
++AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
++test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
-+ if test -n "$export_symbols_regex" && ${skipped_export-false}; then
-+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
-+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
-+ fi
-+ fi
++_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
+
-+ if ${skipped_export-false}; then
-+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
-+ tmp_export_symbols="$export_symbols"
-+ test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
-+ $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
-+ fi
++_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
++_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
++_LT_DECL([], [extract_expsyms_cmds], [2],
++ [The commands to extract the exported symbol list from a shared archive])
+
-+ if test -n "$orig_export_symbols"; then
-+ # The given exports_symbols file has to be filtered, so filter it.
-+ func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
-+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
-+ # 's' commands which not all seds can handle. GNU sed should be fine
-+ # though. Also, the filter scales superlinearly with the number of
-+ # global variables. join(1) would be nice here, but unfortunately
-+ # isn't a blessed tool.
-+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
-+ delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
-+ export_symbols=$output_objdir/$libname.def
-+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
-+ fi
-+ fi
++#
++# Do we need to explicitly link libc?
++#
++case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
++x|xyes)
++ # Assume -lc should be added
++ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+
-+ libobjs=$output
-+ # Restore the value of output.
-+ output=$save_output
++ if test "$enable_shared" = yes && test "$GCC" = yes; then
++ case $_LT_TAGVAR(archive_cmds, $1) in
++ *'~'*)
++ # FIXME: we may have to deal with multi-command sequences.
++ ;;
++ '$CC '*)
++ # Test whether the compiler implicitly links with -lc since on some
++ # systems, -lgcc has to come before -lc. If gcc already passes -lc
++ # to ld, don't add -lc before -lgcc.
++ AC_MSG_CHECKING([whether -lc should be explicitly linked in])
++ $RM conftest*
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
-+ if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
-+ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
-+ test "X$libobjs" = "X " && libobjs=
-+ fi
-+ # Expand the library linking commands again to reset the
-+ # value of $libobjs for piecewise linking.
++ if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
++ soname=conftest
++ lib=conftest
++ libobjs=conftest.$ac_objext
++ deplibs=
++ wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
++ pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
++ compiler_flags=-v
++ linker_flags=-v
++ verstring=
++ output_objdir=.
++ libname=conftest
++ lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
++ _LT_TAGVAR(allow_undefined_flag, $1)=
++ if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
++ then
++ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
++ else
++ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
++ fi
++ _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
++ else
++ cat conftest.err 1>&5
++ fi
++ $RM conftest*
++ AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
++ ;;
++ esac
++ fi
++ ;;
++esac
+
-+ # Do each of the archive commands.
-+ if test "$module" = yes && test -n "$module_cmds" ; then
-+ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
-+ cmds=$module_expsym_cmds
-+ else
-+ cmds=$module_cmds
-+ fi
-+ else
-+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
-+ cmds=$archive_expsym_cmds
-+ else
-+ cmds=$archive_cmds
-+ fi
-+ fi
-+ fi
++_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
++ [Whether or not to add -lc for building shared libraries])
++_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
++ [enable_shared_with_static_runtimes], [0],
++ [Whether or not to disallow shared libs when runtime libs are static])
++_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
++ [Compiler flag to allow reflexive dlopens])
++_LT_TAGDECL([], [whole_archive_flag_spec], [1],
++ [Compiler flag to generate shared objects directly from archives])
++_LT_TAGDECL([], [compiler_needs_object], [1],
++ [Whether the compiler copes with passing no objects directly])
++_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
++ [Create an old-style archive from a shared archive])
++_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
++ [Create a temporary old-style archive to link instead of a shared archive])
++_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
++_LT_TAGDECL([], [archive_expsym_cmds], [2])
++_LT_TAGDECL([], [module_cmds], [2],
++ [Commands used to build a loadable module if different from building
++ a shared archive.])
++_LT_TAGDECL([], [module_expsym_cmds], [2])
++_LT_TAGDECL([], [with_gnu_ld], [1],
++ [Whether we are building with GNU ld or not])
++_LT_TAGDECL([], [allow_undefined_flag], [1],
++ [Flag that allows shared libraries with undefined symbols to be built])
++_LT_TAGDECL([], [no_undefined_flag], [1],
++ [Flag that enforces no undefined symbols])
++_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
++ [Flag to hardcode $libdir into a binary during linking.
++ This must work even if $libdir does not exist])
++_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
++ [[If ld is used when linking, flag to hardcode $libdir into a binary
++ during linking. This must work even if $libdir does not exist]])
++_LT_TAGDECL([], [hardcode_libdir_separator], [1],
++ [Whether we need a single "-rpath" flag with a separated argument])
++_LT_TAGDECL([], [hardcode_direct], [0],
++ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
++ DIR into the resulting binary])
++_LT_TAGDECL([], [hardcode_direct_absolute], [0],
++ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
++ DIR into the resulting binary and the resulting library dependency is
++ "absolute", i.e impossible to change by setting ${shlibpath_var} if the
++ library is relocated])
++_LT_TAGDECL([], [hardcode_minus_L], [0],
++ [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
++ into the resulting binary])
++_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
++ [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
++ into the resulting binary])
++_LT_TAGDECL([], [hardcode_automatic], [0],
++ [Set to "yes" if building a shared library automatically hardcodes DIR
++ into the library and all subsequent libraries and executables linked
++ against it])
++_LT_TAGDECL([], [inherit_rpath], [0],
++ [Set to yes if linker adds runtime paths of dependent libraries
++ to runtime path list])
++_LT_TAGDECL([], [link_all_deplibs], [0],
++ [Whether libtool must link a program against all its dependency libraries])
++_LT_TAGDECL([], [fix_srcfile_path], [1],
++ [Fix the shell variable $srcfile for the compiler])
++_LT_TAGDECL([], [always_export_symbols], [0],
++ [Set to "yes" if exported symbols are required])
++_LT_TAGDECL([], [export_symbols_cmds], [2],
++ [The commands to list exported symbols])
++_LT_TAGDECL([], [exclude_expsyms], [1],
++ [Symbols that should not be listed in the preloaded symbols])
++_LT_TAGDECL([], [include_expsyms], [1],
++ [Symbols that must always be exported])
++_LT_TAGDECL([], [prelink_cmds], [2],
++ [Commands necessary for linking programs (against libraries) with templates])
++_LT_TAGDECL([], [file_list_spec], [1],
++ [Specify filename containing input files])
++dnl FIXME: Not yet implemented
++dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
++dnl [Compiler flag to generate thread safe objects])
++])# _LT_LINKER_SHLIBS
++
++
++# _LT_LANG_C_CONFIG([TAG])
++# ------------------------
++# Ensure that the configuration variables for a C compiler are suitably
++# defined. These variables are subsequently used by _LT_CONFIG to write
++# the compiler configuration to `libtool'.
++m4_defun([_LT_LANG_C_CONFIG],
++[m4_require([_LT_DECL_EGREP])dnl
++lt_save_CC="$CC"
++AC_LANG_PUSH(C)
+
-+ if test -n "$delfiles"; then
-+ # Append the command to remove temporary files to $cmds.
-+ eval cmds=\"\$cmds~\$RM $delfiles\"
-+ fi
++# Source file extension for C test sources.
++ac_ext=c
+
-+ # Add any objects from preloaded convenience libraries
-+ if test -n "$dlprefiles"; then
-+ gentop="$output_objdir/${outputname}x"
-+ generated="$generated $gentop"
++# Object file extension for compiled C test sources.
++objext=o
++_LT_TAGVAR(objext, $1)=$objext
+
-+ func_extract_archives $gentop $dlprefiles
-+ libobjs="$libobjs $func_extract_archives_result"
-+ test "X$libobjs" = "X " && libobjs=
-+ fi
++# Code to be used in simple compile tests
++lt_simple_compile_test_code="int some_variable = 0;"
+
-+ save_ifs="$IFS"; IFS='~'
-+ for cmd in $cmds; do
-+ IFS="$save_ifs"
-+ eval cmd=\"$cmd\"
-+ $opt_silent || {
-+ func_quote_for_expand "$cmd"
-+ eval "func_echo $func_quote_for_expand_result"
-+ }
-+ $opt_dry_run || eval "$cmd" || {
-+ lt_exit=$?
++# Code to be used in simple link tests
++lt_simple_link_test_code='int main(){return(0);}'
+
-+ # Restore the uninstalled library and exit
-+ if test "$mode" = relink; then
-+ ( cd "$output_objdir" && \
-+ $RM "${realname}T" && \
-+ $MV "${realname}U" "$realname" )
-+ fi
++_LT_TAG_COMPILER
++# Save the default compiler, since it gets overwritten when the other
++# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
++compiler_DEFAULT=$CC
+
-+ exit $lt_exit
-+ }
-+ done
-+ IFS="$save_ifs"
++# save warnings/boilerplate of simple test code
++_LT_COMPILER_BOILERPLATE
++_LT_LINKER_BOILERPLATE
+
-+ # Restore the uninstalled library and exit
-+ if test "$mode" = relink; then
-+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
++## CAVEAT EMPTOR:
++## There is no encapsulation within the following macros, do not change
++## the running order or otherwise move them around unless you know exactly
++## what you are doing...
++if test -n "$compiler"; then
++ _LT_COMPILER_NO_RTTI($1)
++ _LT_COMPILER_PIC($1)
++ _LT_COMPILER_C_O($1)
++ _LT_COMPILER_FILE_LOCKS($1)
++ _LT_LINKER_SHLIBS($1)
++ _LT_SYS_DYNAMIC_LINKER($1)
++ _LT_LINKER_HARDCODE_LIBPATH($1)
++ LT_SYS_DLOPEN_SELF
++ _LT_CMD_STRIPLIB
+
-+ if test -n "$convenience"; then
-+ if test -z "$whole_archive_flag_spec"; then
-+ func_show_eval '${RM}r "$gentop"'
-+ fi
-+ fi
++ # Report which library types will actually be built
++ AC_MSG_CHECKING([if libtool supports shared libraries])
++ AC_MSG_RESULT([$can_build_shared])
+
-+ exit $EXIT_SUCCESS
-+ fi
++ AC_MSG_CHECKING([whether to build shared libraries])
++ test "$can_build_shared" = "no" && enable_shared=no
+
-+ # Create links to the real library.
-+ for linkname in $linknames; do
-+ if test "$realname" != "$linkname"; then
-+ func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
-+ fi
-+ done
++ # On AIX, shared libraries and static libraries use the same namespace, and
++ # are all built from PIC.
++ case $host_os in
++ aix3*)
++ test "$enable_shared" = yes && enable_static=no
++ if test -n "$RANLIB"; then
++ archive_cmds="$archive_cmds~\$RANLIB \$lib"
++ postinstall_cmds='$RANLIB $lib'
++ fi
++ ;;
++
++ aix[[4-9]]*)
++ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
++ test "$enable_shared" = yes && enable_static=no
++ fi
++ ;;
++ esac
++ AC_MSG_RESULT([$enable_shared])
++
++ AC_MSG_CHECKING([whether to build static libraries])
++ # Make sure either enable_shared or enable_static is yes.
++ test "$enable_shared" = yes || enable_static=yes
++ AC_MSG_RESULT([$enable_static])
++
++ _LT_CONFIG($1)
++fi
++AC_LANG_POP
++CC="$lt_save_CC"
++])# _LT_LANG_C_CONFIG
++
++
++# _LT_PROG_CXX
++# ------------
++# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
++# compiler, we have our own version here.
++m4_defun([_LT_PROG_CXX],
++[
++pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
++AC_PROG_CXX
++if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
++ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
++ (test "X$CXX" != "Xg++"))) ; then
++ AC_PROG_CXXCPP
++else
++ _lt_caught_CXX_error=yes
++fi
++popdef([AC_MSG_ERROR])
++])# _LT_PROG_CXX
+
-+ # If -module or -export-dynamic was specified, set the dlname.
-+ if test "$module" = yes || test "$export_dynamic" = yes; then
-+ # On all known operating systems, these are identical.
-+ dlname="$soname"
-+ fi
-+ fi
-+ ;;
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([_LT_PROG_CXX], [])
+
-+ obj)
-+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-+ func_warning "\`-dlopen' is ignored for objects"
-+ fi
+
-+ case " $deplibs" in
-+ *\ -l* | *\ -L*)
-+ func_warning "\`-l' and \`-L' are ignored for objects" ;;
-+ esac
++# _LT_LANG_CXX_CONFIG([TAG])
++# --------------------------
++# Ensure that the configuration variables for a C++ compiler are suitably
++# defined. These variables are subsequently used by _LT_CONFIG to write
++# the compiler configuration to `libtool'.
++m4_defun([_LT_LANG_CXX_CONFIG],
++[AC_REQUIRE([_LT_PROG_CXX])dnl
++m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++m4_require([_LT_DECL_EGREP])dnl
++
++AC_LANG_PUSH(C++)
++_LT_TAGVAR(archive_cmds_need_lc, $1)=no
++_LT_TAGVAR(allow_undefined_flag, $1)=
++_LT_TAGVAR(always_export_symbols, $1)=no
++_LT_TAGVAR(archive_expsym_cmds, $1)=
++_LT_TAGVAR(compiler_needs_object, $1)=no
++_LT_TAGVAR(export_dynamic_flag_spec, $1)=
++_LT_TAGVAR(hardcode_direct, $1)=no
++_LT_TAGVAR(hardcode_direct_absolute, $1)=no
++_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
++_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
++_LT_TAGVAR(hardcode_libdir_separator, $1)=
++_LT_TAGVAR(hardcode_minus_L, $1)=no
++_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
++_LT_TAGVAR(hardcode_automatic, $1)=no
++_LT_TAGVAR(inherit_rpath, $1)=no
++_LT_TAGVAR(module_cmds, $1)=
++_LT_TAGVAR(module_expsym_cmds, $1)=
++_LT_TAGVAR(link_all_deplibs, $1)=unknown
++_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
++_LT_TAGVAR(no_undefined_flag, $1)=
++_LT_TAGVAR(whole_archive_flag_spec, $1)=
++_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
++
++# Source file extension for C++ test sources.
++ac_ext=cpp
++
++# Object file extension for compiled C++ test sources.
++objext=o
++_LT_TAGVAR(objext, $1)=$objext
++
++# No sense in running all these tests if we already determined that
++# the CXX compiler isn't working. Some variables (like enable_shared)
++# are currently assumed to apply to all compilers on this platform,
++# and will be corrupted by setting them based on a non-working compiler.
++if test "$_lt_caught_CXX_error" != yes; then
++ # Code to be used in simple compile tests
++ lt_simple_compile_test_code="int some_variable = 0;"
++
++ # Code to be used in simple link tests
++ lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
++
++ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
++ _LT_TAG_COMPILER
++
++ # save warnings/boilerplate of simple test code
++ _LT_COMPILER_BOILERPLATE
++ _LT_LINKER_BOILERPLATE
++
++ # Allow CC to be a program name with arguments.
++ lt_save_CC=$CC
++ lt_save_LD=$LD
++ lt_save_GCC=$GCC
++ GCC=$GXX
++ lt_save_with_gnu_ld=$with_gnu_ld
++ lt_save_path_LD=$lt_cv_path_LD
++ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
++ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
++ else
++ $as_unset lt_cv_prog_gnu_ld
++ fi
++ if test -n "${lt_cv_path_LDCXX+set}"; then
++ lt_cv_path_LD=$lt_cv_path_LDCXX
++ else
++ $as_unset lt_cv_path_LD
++ fi
++ test -z "${LDCXX+set}" || LD=$LDCXX
++ CC=${CXX-"c++"}
++ compiler=$CC
++ _LT_TAGVAR(compiler, $1)=$CC
++ _LT_CC_BASENAME([$compiler])
++
++ if test -n "$compiler"; then
++ # We don't want -fno-exception when compiling C++ code, so set the
++ # no_builtin_flag separately
++ if test "$GXX" = yes; then
++ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
++ else
++ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
++ fi
+
-+ test -n "$rpath" && \
-+ func_warning "\`-rpath' is ignored for objects"
++ if test "$GXX" = yes; then
++ # Set up default GNU C++ configuration
+
-+ test -n "$xrpath" && \
-+ func_warning "\`-R' is ignored for objects"
++ LT_PATH_LD
+
-+ test -n "$vinfo" && \
-+ func_warning "\`-version-info' is ignored for objects"
++ # Check if GNU C++ uses GNU ld as the underlying linker, since the
++ # archiving commands below assume that GNU ld is being used.
++ if test "$with_gnu_ld" = yes; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
-+ test -n "$release" && \
-+ func_warning "\`-release' is ignored for objects"
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
-+ case $output in
-+ *.lo)
-+ test -n "$objs$old_deplibs" && \
-+ func_fatal_error "cannot build library object \`$output' from non-libtool objects"
++ # If archive_cmds runs LD, not CC, wlarc should be empty
++ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
++ # investigate it a little bit more. (MM)
++ wlarc='${wl}'
+
-+ libobj=$output
-+ func_lo2o "$libobj"
-+ obj=$func_lo2o_result
-+ ;;
-+ *)
-+ libobj=
-+ obj="$output"
-+ ;;
-+ esac
++ # ancient GNU ld didn't support --whole-archive et. al.
++ if eval "`$CC -print-prog-name=ld` --help 2>&1" |
++ $GREP 'no-whole-archive' > /dev/null; then
++ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
++ else
++ _LT_TAGVAR(whole_archive_flag_spec, $1)=
++ fi
++ else
++ with_gnu_ld=no
++ wlarc=
++
++ # A generic and very simple default shared library creation
++ # command for GNU C++ for the case where it uses the native
++ # linker, instead of GNU ld. If possible, this setting should
++ # overridden to take advantage of the native linker features on
++ # the platform it is being used on.
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
++ fi
+
-+ # Delete the old objects.
-+ $opt_dry_run || $RM $obj $libobj
++ # Commands to make compiler produce verbose output that lists
++ # what "hidden" libraries, object files and flags are used when
++ # linking a shared library.
++ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
-+ # Objects from convenience libraries. This assumes
-+ # single-version convenience libraries. Whenever we create
-+ # different ones for PIC/non-PIC, this we'll have to duplicate
-+ # the extraction.
-+ reload_conv_objs=
-+ gentop=
-+ # reload_cmds runs $LD directly, so let us get rid of
-+ # -Wl from whole_archive_flag_spec and hope we can get by with
-+ # turning comma into space..
-+ wl=
++ else
++ GXX=no
++ with_gnu_ld=no
++ wlarc=
++ fi
+
-+ if test -n "$convenience"; then
-+ if test -n "$whole_archive_flag_spec"; then
-+ eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
-+ reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
-+ else
-+ gentop="$output_objdir/${obj}x"
-+ generated="$generated $gentop"
++ # PORTME: fill in a description of your system's C++ link characteristics
++ AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
++ _LT_TAGVAR(ld_shlibs, $1)=yes
++ case $host_os in
++ aix3*)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ aix[[4-9]]*)
++ if test "$host_cpu" = ia64; then
++ # On IA64, the linker does run time linking by default, so we don't
++ # have to do anything special.
++ aix_use_runtimelinking=no
++ exp_sym_flag='-Bexport'
++ no_entry_flag=""
++ else
++ aix_use_runtimelinking=no
++
++ # Test if we are trying to use run time linking or normal
++ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
++ # need to do runtime linking.
++ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
++ for ld_flag in $LDFLAGS; do
++ case $ld_flag in
++ *-brtl*)
++ aix_use_runtimelinking=yes
++ break
++ ;;
++ esac
++ done
++ ;;
++ esac
+
-+ func_extract_archives $gentop $convenience
-+ reload_conv_objs="$reload_objs $func_extract_archives_result"
-+ fi
-+ fi
++ exp_sym_flag='-bexport'
++ no_entry_flag='-bnoentry'
++ fi
+
-+ # Create the old-style object.
-+ reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
++ # When large executables or shared objects are built, AIX ld can
++ # have problems creating the table of contents. If linking a library
++ # or program results in "error TOC overflow" add -mminimal-toc to
++ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
++ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
++
++ _LT_TAGVAR(archive_cmds, $1)=''
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
++ _LT_TAGVAR(link_all_deplibs, $1)=yes
++ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
++
++ if test "$GXX" = yes; then
++ case $host_os in aix4.[[012]]|aix4.[[012]].*)
++ # We only want to do this on AIX 4.2 and lower, the check
++ # below for broken collect2 doesn't work under 4.3+
++ collect2name=`${CC} -print-prog-name=collect2`
++ if test -f "$collect2name" &&
++ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
++ then
++ # We have reworked collect2
++ :
++ else
++ # We have old collect2
++ _LT_TAGVAR(hardcode_direct, $1)=unsupported
++ # It fails to find uninstalled libraries when the uninstalled
++ # path is not listed in the libpath. Setting hardcode_minus_L
++ # to unsupported forces relinking
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=
++ fi
++ esac
++ shared_flag='-shared'
++ if test "$aix_use_runtimelinking" = yes; then
++ shared_flag="$shared_flag "'${wl}-G'
++ fi
++ else
++ # not using gcc
++ if test "$host_cpu" = ia64; then
++ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
++ # chokes on -Wl,-G. The following line is correct:
++ shared_flag='-G'
++ else
++ if test "$aix_use_runtimelinking" = yes; then
++ shared_flag='${wl}-G'
++ else
++ shared_flag='${wl}-bM:SRE'
++ fi
++ fi
++ fi
+
-+ output="$obj"
-+ func_execute_cmds "$reload_cmds" 'exit $?'
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
++ # It seems that -bexpall does not export symbols beginning with
++ # underscore (_), so it is better to generate a list of symbols to
++ # export.
++ _LT_TAGVAR(always_export_symbols, $1)=yes
++ if test "$aix_use_runtimelinking" = yes; then
++ # Warning - without using the other runtime loading flags (-brtl),
++ # -berok will link without error, but may produce a broken library.
++ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
++ # Determine the default libpath from the value encoded in an empty
++ # executable.
++ _LT_SYS_MODULE_PATH_AIX
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
++
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
++ else
++ if test "$host_cpu" = ia64; then
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
++ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
++ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
++ else
++ # Determine the default libpath from the value encoded in an
++ # empty executable.
++ _LT_SYS_MODULE_PATH_AIX
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
++ # Warning - without using the other run time loading flags,
++ # -berok will link without error, but may produce a broken library.
++ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
++ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
++ # Exported symbols can be pulled into shared objects from archives
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
++ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
++ # This is similar to how AIX traditionally builds its shared
++ # libraries.
++ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
++ fi
++ fi
++ ;;
+
-+ # Exit if we aren't doing a library object file.
-+ if test -z "$libobj"; then
-+ if test -n "$gentop"; then
-+ func_show_eval '${RM}r "$gentop"'
++ beos*)
++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
++ # support --undefined. This deserves some investigation. FIXME
++ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ else
++ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
++ ;;
+
-+ exit $EXIT_SUCCESS
-+ fi
++ chorus*)
++ case $cc_basename in
++ *)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ esac
++ ;;
+
-+ if test "$build_libtool_libs" != yes; then
-+ if test -n "$gentop"; then
-+ func_show_eval '${RM}r "$gentop"'
-+ fi
++ cygwin* | mingw* | pw32* | cegcc*)
++ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
++ # as there is no search path for DLLs.
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++ _LT_TAGVAR(always_export_symbols, $1)=no
++ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
++
++ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++ # If the export-symbols file already is a .def file (1st line
++ # is EXPORTS), use it as is; otherwise, prepend...
++ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ cp $export_symbols $output_objdir/$soname.def;
++ else
++ echo EXPORTS > $output_objdir/$soname.def;
++ cat $export_symbols >> $output_objdir/$soname.def;
++ fi~
++ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++ else
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ fi
++ ;;
++ darwin* | rhapsody*)
++ _LT_DARWIN_LINKER_FEATURES($1)
++ ;;
+
-+ # Create an invalid libtool object if no PIC, so that we don't
-+ # accidentally link it into a program.
-+ # $show "echo timestamp > $libobj"
-+ # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
-+ exit $EXIT_SUCCESS
-+ fi
++ dgux*)
++ case $cc_basename in
++ ec++*)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ ghcx*)
++ # Green Hills C++ Compiler
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ *)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ esac
++ ;;
+
-+ if test -n "$pic_flag" || test "$pic_mode" != default; then
-+ # Only do commands if we really have different PIC objects.
-+ reload_objs="$libobjs $reload_conv_objs"
-+ output="$libobj"
-+ func_execute_cmds "$reload_cmds" 'exit $?'
-+ fi
++ freebsd[[12]]*)
++ # C++ shared libraries reported to be fairly broken before
++ # switch to ELF
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
+
-+ if test -n "$gentop"; then
-+ func_show_eval '${RM}r "$gentop"'
-+ fi
++ freebsd-elf*)
++ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
++ ;;
+
-+ exit $EXIT_SUCCESS
-+ ;;
++ freebsd* | dragonfly*)
++ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
++ # conventions
++ _LT_TAGVAR(ld_shlibs, $1)=yes
++ ;;
+
-+ prog)
-+ case $host in
-+ *cygwin*) func_stripname '' '.exe' "$output"
-+ output=$func_stripname_result.exe;;
-+ esac
-+ test -n "$vinfo" && \
-+ func_warning "\`-version-info' is ignored for programs"
++ gnu*)
++ ;;
+
-+ test -n "$release" && \
-+ func_warning "\`-release' is ignored for programs"
++ hpux9*)
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
++ # but as the default
++ # location of the library.
++
++ case $cc_basename in
++ CC*)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ aCC*)
++ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ # Commands to make compiler produce verbose output that lists
++ # what "hidden" libraries, object files and flags are used when
++ # linking a shared library.
++ #
++ # There doesn't appear to be a way to prevent this compiler from
++ # explicitly linking system object files so we need to strip them
++ # from the output so that they don't get included in the library
++ # dependencies.
++ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
++ ;;
++ *)
++ if test "$GXX" = yes; then
++ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ else
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ fi
++ ;;
++ esac
++ ;;
+
-+ test "$preload" = yes \
-+ && test "$dlopen_support" = unknown \
-+ && test "$dlopen_self" = unknown \
-+ && test "$dlopen_self_static" = unknown && \
-+ func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
++ hpux10*|hpux11*)
++ if test $with_gnu_ld = no; then
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++
++ case $host_cpu in
++ hppa*64*|ia64*)
++ ;;
++ *)
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++ ;;
++ esac
++ fi
++ case $host_cpu in
++ hppa*64*|ia64*)
++ _LT_TAGVAR(hardcode_direct, $1)=no
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ ;;
++ *)
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
++ # but as the default
++ # location of the library.
++ ;;
++ esac
+
-+ case $host in
-+ *-*-rhapsody* | *-*-darwin1.[012])
-+ # On Rhapsody replace the C library is the System framework
-+ compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
-+ finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
++ case $cc_basename in
++ CC*)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ aCC*)
++ case $host_cpu in
++ hppa*64*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++ ;;
++ ia64*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++ ;;
++ *)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++ ;;
++ esac
++ # Commands to make compiler produce verbose output that lists
++ # what "hidden" libraries, object files and flags are used when
++ # linking a shared library.
++ #
++ # There doesn't appear to be a way to prevent this compiler from
++ # explicitly linking system object files so we need to strip them
++ # from the output so that they don't get included in the library
++ # dependencies.
++ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
++ ;;
++ *)
++ if test "$GXX" = yes; then
++ if test $with_gnu_ld = no; then
++ case $host_cpu in
++ hppa*64*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++ ;;
++ ia64*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++ ;;
++ *)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++ ;;
++ esac
++ fi
++ else
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ fi
++ ;;
++ esac
++ ;;
++
++ interix[[3-9]]*)
++ _LT_TAGVAR(hardcode_direct, $1)=no
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
++ # Instead, shared libraries are loaded at an image base (0x10000000 by
++ # default) and relocated if they conflict, which is a slow very memory
++ # consuming and fragmenting process. To avoid this, we pick a random,
++ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
++ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
-+ esac
++ irix5* | irix6*)
++ case $cc_basename in
++ CC*)
++ # SGI C++
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++
++ # Archives containing C++ object files must be created using
++ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
++ # necessary to make sure instantiated templates are included
++ # in the archive.
++ _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
++ ;;
++ *)
++ if test "$GXX" = yes; then
++ if test "$with_gnu_ld" = no; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ else
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
++ fi
++ fi
++ _LT_TAGVAR(link_all_deplibs, $1)=yes
++ ;;
++ esac
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++ _LT_TAGVAR(inherit_rpath, $1)=yes
++ ;;
+
-+ case $host in
-+ *-*-darwin*)
-+ # Don't allow lazy linking, it breaks C++ global constructors
-+ # But is supposedly fixed on 10.4 or later (yay!).
-+ if test "$tagname" = CXX ; then
-+ case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
-+ 10.[0123])
-+ compile_command="$compile_command ${wl}-bind_at_load"
-+ finalize_command="$finalize_command ${wl}-bind_at_load"
++ linux* | k*bsd*-gnu)
++ case $cc_basename in
++ KCC*)
++ # Kuck and Associates, Inc. (KAI) C++ Compiler
++
++ # KCC will only create a shared library if the output file
++ # ends with ".so" (or ".sl" for HP-UX), so rename the library
++ # to its proper name (with version) after linking.
++ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
++ # Commands to make compiler produce verbose output that lists
++ # what "hidden" libraries, object files and flags are used when
++ # linking a shared library.
++ #
++ # There doesn't appear to be a way to prevent this compiler from
++ # explicitly linking system object files so we need to strip them
++ # from the output so that they don't get included in the library
++ # dependencies.
++ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
++
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
++
++ # Archives containing C++ object files must be created using
++ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
++ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
-+ esac
-+ fi
-+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
-+ compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
-+ finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
++ icpc* | ecpc* )
++ # Intel C++
++ with_gnu_ld=yes
++ # version 8.0 and above of icpc choke on multiply defined symbols
++ # if we add $predep_objects and $postdep_objects, however 7.1 and
++ # earlier do not add the objects themselves.
++ case `$CC -V 2>&1` in
++ *"Version 7."*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ ;;
++ *) # Version 8.0 or newer
++ tmp_idyn=
++ case $host_cpu in
++ ia64*) tmp_idyn=' -i_dynamic';;
++ esac
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ ;;
++ esac
++ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
++ ;;
++ pgCC* | pgcpp*)
++ # Portland Group C++ compiler
++ case `$CC -V` in
++ *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
++ _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
++ rm -rf $tpldir~
++ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
++ compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
++ _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
++ rm -rf $tpldir~
++ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
++ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
++ $RANLIB $oldlib'
++ _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
++ rm -rf $tpldir~
++ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
++ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
++ rm -rf $tpldir~
++ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
++ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
++ ;;
++ *) # Version 6 will use weak symbols
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
++ ;;
++ esac
++
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++ ;;
++ cxx*)
++ # Compaq C++
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
++
++ runpath_var=LD_RUN_PATH
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++
++ # Commands to make compiler produce verbose output that lists
++ # what "hidden" libraries, object files and flags are used when
++ # linking a shared library.
++ #
++ # There doesn't appear to be a way to prevent this compiler from
++ # explicitly linking system object files so we need to strip them
++ # from the output so that they don't get included in the library
++ # dependencies.
++ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
++ ;;
++ xl*)
++ # IBM XL 8.0 on PPC, with GNU ld
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ if test "x$supports_anon_versioning" = xyes; then
++ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
++ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
++ echo "local: *; };" >> $output_objdir/$libname.ver~
++ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
++ fi
++ ;;
++ *)
++ case `$CC -V 2>&1 | sed 5q` in
++ *Sun\ C*)
++ # Sun C++ 5.9
++ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++ _LT_TAGVAR(compiler_needs_object, $1)=yes
++
++ # Not sure whether something based on
++ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
++ # would be better.
++ output_verbose_link_cmd='echo'
++
++ # Archives containing C++ object files must be created using
++ # "CC -xar", where "CC" is the Sun C++ compiler. This is
++ # necessary to make sure instantiated templates are included
++ # in the archive.
++ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
++ ;;
++ esac
++ ;;
++ esac
+ ;;
-+ esac
+
++ lynxos*)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
+
-+ # move library search paths that coincide with paths to not yet
-+ # installed libraries to the beginning of the library search list
-+ new_libs=
-+ for path in $notinst_path; do
-+ case " $new_libs " in
-+ *" -L$path/$objdir "*) ;;
-+ *)
-+ case " $compile_deplibs " in
-+ *" -L$path/$objdir "*)
-+ new_libs="$new_libs -L$path/$objdir" ;;
-+ esac
-+ ;;
-+ esac
-+ done
-+ for deplib in $compile_deplibs; do
-+ case $deplib in
-+ -L*)
-+ case " $new_libs " in
-+ *" $deplib "*) ;;
-+ *) new_libs="$new_libs $deplib" ;;
-+ esac
-+ ;;
-+ *) new_libs="$new_libs $deplib" ;;
++ m88k*)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++
++ mvs*)
++ case $cc_basename in
++ cxx*)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ *)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
+ esac
-+ done
-+ compile_deplibs="$new_libs"
++ ;;
+
++ netbsd*)
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
++ wlarc=
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ fi
++ # Workaround some broken pre-1.5 toolchains
++ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
++ ;;
+
-+ compile_command="$compile_command $compile_deplibs"
-+ finalize_command="$finalize_command $finalize_deplibs"
++ *nto* | *qnx*)
++ _LT_TAGVAR(ld_shlibs, $1)=yes
++ ;;
+
-+ if test -n "$rpath$xrpath"; then
-+ # If the user specified any rpath flags, then add them.
-+ for libdir in $rpath $xrpath; do
-+ # This is the magic to use -rpath.
-+ case "$finalize_rpath " in
-+ *" $libdir "*) ;;
-+ *) finalize_rpath="$finalize_rpath $libdir" ;;
-+ esac
-+ done
-+ fi
++ openbsd2*)
++ # C++ shared libraries are fairly broken
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
+
-+ # Now hardcode the library paths
-+ rpath=
-+ hardcode_libdirs=
-+ for libdir in $compile_rpath $finalize_rpath; do
-+ if test -n "$hardcode_libdir_flag_spec"; then
-+ if test -n "$hardcode_libdir_separator"; then
-+ if test -z "$hardcode_libdirs"; then
-+ hardcode_libdirs="$libdir"
-+ else
-+ # Just accumulate the unique libdirs.
-+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-+ ;;
-+ *)
-+ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-+ ;;
-+ esac
-+ fi
-+ else
-+ eval flag=\"$hardcode_libdir_flag_spec\"
-+ rpath="$rpath $flag"
++ openbsd*)
++ if test -f /usr/libexec/ld.so; then
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
++ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
-+ elif test -n "$runpath_var"; then
-+ case "$perm_rpath " in
-+ *" $libdir "*) ;;
-+ *) perm_rpath="$perm_rpath $libdir" ;;
-+ esac
++ output_verbose_link_cmd=echo
++ else
++ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
-+ case $host in
-+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-+ testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
-+ case :$dllsearchpath: in
-+ *":$libdir:"*) ;;
-+ ::) dllsearchpath=$libdir;;
-+ *) dllsearchpath="$dllsearchpath:$libdir";;
-+ esac
-+ case :$dllsearchpath: in
-+ *":$testbindir:"*) ;;
-+ ::) dllsearchpath=$testbindir;;
-+ *) dllsearchpath="$dllsearchpath:$testbindir";;
-+ esac
-+ ;;
-+ esac
-+ done
-+ # Substitute the hardcoded libdirs into the rpath.
-+ if test -n "$hardcode_libdir_separator" &&
-+ test -n "$hardcode_libdirs"; then
-+ libdir="$hardcode_libdirs"
-+ eval rpath=\" $hardcode_libdir_flag_spec\"
-+ fi
-+ compile_rpath="$rpath"
++ ;;
+
-+ rpath=
-+ hardcode_libdirs=
-+ for libdir in $finalize_rpath; do
-+ if test -n "$hardcode_libdir_flag_spec"; then
-+ if test -n "$hardcode_libdir_separator"; then
-+ if test -z "$hardcode_libdirs"; then
-+ hardcode_libdirs="$libdir"
-+ else
-+ # Just accumulate the unique libdirs.
-+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
++ osf3* | osf4* | osf5*)
++ case $cc_basename in
++ KCC*)
++ # Kuck and Associates, Inc. (KAI) C++ Compiler
++
++ # KCC will only create a shared library if the output file
++ # ends with ".so" (or ".sl" for HP-UX), so rename the library
++ # to its proper name (with version) after linking.
++ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
++
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++
++ # Archives containing C++ object files must be created using
++ # the KAI C++ compiler.
++ case $host in
++ osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
++ *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
++ esac
++ ;;
++ RCC*)
++ # Rational C++ 2.4.1
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ cxx*)
++ case $host in
++ osf3*)
++ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ ;;
+ *)
-+ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
++ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
++ echo "-hidden">> $lib.exp~
++ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
++ $RM $lib.exp'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ ;;
-+ esac
-+ fi
-+ else
-+ eval flag=\"$hardcode_libdir_flag_spec\"
-+ rpath="$rpath $flag"
-+ fi
-+ elif test -n "$runpath_var"; then
-+ case "$finalize_perm_rpath " in
-+ *" $libdir "*) ;;
-+ *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
-+ esac
-+ fi
-+ done
-+ # Substitute the hardcoded libdirs into the rpath.
-+ if test -n "$hardcode_libdir_separator" &&
-+ test -n "$hardcode_libdirs"; then
-+ libdir="$hardcode_libdirs"
-+ eval rpath=\" $hardcode_libdir_flag_spec\"
-+ fi
-+ finalize_rpath="$rpath"
++ esac
+
-+ if test -n "$libobjs" && test "$build_old_libs" = yes; then
-+ # Transform all the library objects into standard objects.
-+ compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-+ finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-+ fi
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
-+ func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
++ # Commands to make compiler produce verbose output that lists
++ # what "hidden" libraries, object files and flags are used when
++ # linking a shared library.
++ #
++ # There doesn't appear to be a way to prevent this compiler from
++ # explicitly linking system object files so we need to strip them
++ # from the output so that they don't get included in the library
++ # dependencies.
++ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
++ ;;
++ *)
++ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
++ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
++ case $host in
++ osf3*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ ;;
++ *)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ ;;
++ esac
+
-+ # template prelinking step
-+ if test -n "$prelink_cmds"; then
-+ func_execute_cmds "$prelink_cmds" 'exit $?'
-+ fi
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
-+ wrappers_required=yes
-+ case $host in
-+ *cygwin* | *mingw* )
-+ if test "$build_libtool_libs" != yes; then
-+ wrappers_required=no
-+ fi
++ # Commands to make compiler produce verbose output that lists
++ # what "hidden" libraries, object files and flags are used when
++ # linking a shared library.
++ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
++
++ else
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ fi
++ ;;
++ esac
+ ;;
-+ *cegcc)
-+ # Disable wrappers for cegcc, we are cross compiling anyway.
-+ wrappers_required=no
++
++ psos*)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
-+ *)
-+ if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
-+ wrappers_required=no
-+ fi
++
++ sunos4*)
++ case $cc_basename in
++ CC*)
++ # Sun C++ 4.x
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ lcc*)
++ # Lucid
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ *)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ esac
+ ;;
-+ esac
-+ if test "$wrappers_required" = no; then
-+ # Replace the output file specification.
-+ compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
-+ link_command="$compile_command$compile_rpath"
+
-+ # We have no uninstalled library dependencies, so finalize right now.
-+ exit_status=0
-+ func_show_eval "$link_command" 'exit_status=$?'
++ solaris*)
++ case $cc_basename in
++ CC*)
++ # Sun C++ 4.2, 5.x and Centerline C++
++ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
++ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
++
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ case $host_os in
++ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
++ *)
++ # The compiler driver will combine and reorder linker options,
++ # but understands `-z linker_flag'.
++ # Supported since Solaris 2.6 (maybe 2.5.1?)
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
++ ;;
++ esac
++ _LT_TAGVAR(link_all_deplibs, $1)=yes
+
-+ # Delete the generated files.
-+ if test -f "$output_objdir/${outputname}S.${objext}"; then
-+ func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
-+ fi
++ output_verbose_link_cmd='echo'
+
-+ exit $exit_status
-+ fi
++ # Archives containing C++ object files must be created using
++ # "CC -xar", where "CC" is the Sun C++ compiler. This is
++ # necessary to make sure instantiated templates are included
++ # in the archive.
++ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
++ ;;
++ gcx*)
++ # Green Hills C++ Compiler
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
-+ if test -n "$compile_shlibpath$finalize_shlibpath"; then
-+ compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
-+ fi
-+ if test -n "$finalize_shlibpath"; then
-+ finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
-+ fi
++ # The C++ compiler must be used to create the archive.
++ _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
++ ;;
++ *)
++ # GNU C++ compiler with Solaris linker
++ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
++ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
++ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
++
++ # Commands to make compiler produce verbose output that lists
++ # what "hidden" libraries, object files and flags are used when
++ # linking a shared library.
++ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
++ else
++ # g++ 2.7 appears to require `-G' NOT `-shared' on this
++ # platform.
++ _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
++
++ # Commands to make compiler produce verbose output that lists
++ # what "hidden" libraries, object files and flags are used when
++ # linking a shared library.
++ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
++ fi
+
-+ compile_var=
-+ finalize_var=
-+ if test -n "$runpath_var"; then
-+ if test -n "$perm_rpath"; then
-+ # We should set the runpath_var.
-+ rpath=
-+ for dir in $perm_rpath; do
-+ rpath="$rpath$dir:"
-+ done
-+ compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
-+ fi
-+ if test -n "$finalize_perm_rpath"; then
-+ # We should set the runpath_var.
-+ rpath=
-+ for dir in $finalize_perm_rpath; do
-+ rpath="$rpath$dir:"
-+ done
-+ finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
-+ fi
-+ fi
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
++ case $host_os in
++ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
++ *)
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
++ ;;
++ esac
++ fi
++ ;;
++ esac
++ ;;
+
-+ if test "$no_install" = yes; then
-+ # We don't need to create a wrapper script.
-+ link_command="$compile_var$compile_command$compile_rpath"
-+ # Replace the output file specification.
-+ link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
-+ # Delete the old output file.
-+ $opt_dry_run || $RM $output
-+ # Link the executable and exit
-+ func_show_eval "$link_command" 'exit $?'
-+ exit $EXIT_SUCCESS
-+ fi
++ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
++ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
++ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ runpath_var='LD_RUN_PATH'
+
-+ if test "$hardcode_action" = relink; then
-+ # Fast installation is not supported
-+ link_command="$compile_var$compile_command$compile_rpath"
-+ relink_command="$finalize_var$finalize_command$finalize_rpath"
++ case $cc_basename in
++ CC*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ *)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ esac
++ ;;
++
++ sysv5* | sco3.2v5* | sco5v6*)
++ # Note: We can NOT use -z defs as we might desire, because we do not
++ # link with -lc, and that would cause any symbols used from libc to
++ # always be unresolved, which means just about no library would
++ # ever link correctly. If we're not using GNU ld we use -z text
++ # though, which does catch some bad symbols but isn't as heavy-handed
++ # as -z defs.
++ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
++ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
++ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
++ _LT_TAGVAR(link_all_deplibs, $1)=yes
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
++ runpath_var='LD_RUN_PATH'
++
++ case $cc_basename in
++ CC*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ *)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ esac
++ ;;
++
++ tandem*)
++ case $cc_basename in
++ NCC*)
++ # NonStop-UX NCC 3.20
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ *)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ esac
++ ;;
++
++ vxworks*)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
+
-+ func_warning "this platform does not like uninstalled shared libraries"
-+ func_warning "\`$output' will be relinked during installation"
-+ else
-+ if test "$fast_install" != no; then
-+ link_command="$finalize_var$compile_command$finalize_rpath"
-+ if test "$fast_install" = yes; then
-+ relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
-+ else
-+ # fast_install is set to needless
-+ relink_command=
-+ fi
-+ else
-+ link_command="$compile_var$compile_command$compile_rpath"
-+ relink_command="$finalize_var$finalize_command$finalize_rpath"
-+ fi
-+ fi
++ *)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ esac
+
-+ # Replace the output file specification.
-+ link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
++ AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
++ test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
++
++ _LT_TAGVAR(GCC, $1)="$GXX"
++ _LT_TAGVAR(LD, $1)="$LD"
++
++ ## CAVEAT EMPTOR:
++ ## There is no encapsulation within the following macros, do not change
++ ## the running order or otherwise move them around unless you know exactly
++ ## what you are doing...
++ _LT_SYS_HIDDEN_LIBDEPS($1)
++ _LT_COMPILER_PIC($1)
++ _LT_COMPILER_C_O($1)
++ _LT_COMPILER_FILE_LOCKS($1)
++ _LT_LINKER_SHLIBS($1)
++ _LT_SYS_DYNAMIC_LINKER($1)
++ _LT_LINKER_HARDCODE_LIBPATH($1)
++
++ _LT_CONFIG($1)
++ fi # test -n "$compiler"
++
++ CC=$lt_save_CC
++ LDCXX=$LD
++ LD=$lt_save_LD
++ GCC=$lt_save_GCC
++ with_gnu_ld=$lt_save_with_gnu_ld
++ lt_cv_path_LDCXX=$lt_cv_path_LD
++ lt_cv_path_LD=$lt_save_path_LD
++ lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
++ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
++fi # test "$_lt_caught_CXX_error" != yes
++
++AC_LANG_POP
++])# _LT_LANG_CXX_CONFIG
++
++
++# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
++# ---------------------------------
++# Figure out "hidden" library dependencies from verbose
++# compiler output when linking a shared library.
++# Parse the compiler output and extract the necessary
++# objects, libraries and library flags.
++m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
++[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++# Dependencies to place before and after the object being linked:
++_LT_TAGVAR(predep_objects, $1)=
++_LT_TAGVAR(postdep_objects, $1)=
++_LT_TAGVAR(predeps, $1)=
++_LT_TAGVAR(postdeps, $1)=
++_LT_TAGVAR(compiler_lib_search_path, $1)=
++
++dnl we can't use the lt_simple_compile_test_code here,
++dnl because it contains code intended for an executable,
++dnl not a library. It's possible we should let each
++dnl tag define a new lt_????_link_test_code variable,
++dnl but it's only used here...
++m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
++int a;
++void foo (void) { a = 0; }
++_LT_EOF
++], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
++class Foo
++{
++public:
++ Foo (void) { a = 0; }
++private:
++ int a;
++};
++_LT_EOF
++], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
++ subroutine foo
++ implicit none
++ integer*4 a
++ a=0
++ return
++ end
++_LT_EOF
++], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
++ subroutine foo
++ implicit none
++ integer a
++ a=0
++ return
++ end
++_LT_EOF
++], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
++public class foo {
++ private int a;
++ public void bar (void) {
++ a = 0;
++ }
++};
++_LT_EOF
++])
++dnl Parse the compiler output and extract the necessary
++dnl objects, libraries and library flags.
++if AC_TRY_EVAL(ac_compile); then
++ # Parse the compiler output and extract the necessary
++ # objects, libraries and library flags.
++
++ # Sentinel used to keep track of whether or not we are before
++ # the conftest object file.
++ pre_test_object_deps_done=no
++
++ for p in `eval "$output_verbose_link_cmd"`; do
++ case $p in
++
++ -L* | -R* | -l*)
++ # Some compilers place space between "-{L,R}" and the path.
++ # Remove the space.
++ if test $p = "-L" ||
++ test $p = "-R"; then
++ prev=$p
++ continue
++ else
++ prev=
++ fi
+
-+ # Delete the old output files.
-+ $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
++ if test "$pre_test_object_deps_done" = no; then
++ case $p in
++ -L* | -R*)
++ # Internal compiler library paths should come after those
++ # provided the user. The postdeps already come after the
++ # user supplied libs so there is no need to process them.
++ if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
++ _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
++ else
++ _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
++ fi
++ ;;
++ # The "-l" case would never come before the object being
++ # linked, so don't bother handling this case.
++ esac
++ else
++ if test -z "$_LT_TAGVAR(postdeps, $1)"; then
++ _LT_TAGVAR(postdeps, $1)="${prev}${p}"
++ else
++ _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
++ fi
++ fi
++ ;;
++
++ *.$objext)
++ # This assumes that the test object file only shows up
++ # once in the compiler output.
++ if test "$p" = "conftest.$objext"; then
++ pre_test_object_deps_done=yes
++ continue
++ fi
+
-+ func_show_eval "$link_command" 'exit $?'
++ if test "$pre_test_object_deps_done" = no; then
++ if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
++ _LT_TAGVAR(predep_objects, $1)="$p"
++ else
++ _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
++ fi
++ else
++ if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
++ _LT_TAGVAR(postdep_objects, $1)="$p"
++ else
++ _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
++ fi
++ fi
++ ;;
+
-+ # Now create the wrapper script.
-+ func_verbose "creating $output"
++ *) ;; # Ignore the rest.
+
-+ # Quote the relink command for shipping.
-+ if test -n "$relink_command"; then
-+ # Preserve any variables that may affect compiler behavior
-+ for var in $variables_saved_for_relink; do
-+ if eval test -z \"\${$var+set}\"; then
-+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
-+ elif eval var_value=\$$var; test -z "$var_value"; then
-+ relink_command="$var=; export $var; $relink_command"
-+ else
-+ func_quote_for_eval "$var_value"
-+ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
-+ fi
-+ done
-+ relink_command="(cd `pwd`; $relink_command)"
-+ relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
-+ fi
++ esac
++ done
+
-+ # Quote $ECHO for shipping.
-+ if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
-+ case $progpath in
-+ [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
-+ *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
-+ esac
-+ qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
-+ else
-+ qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
-+ fi
++ # Clean up.
++ rm -f a.out a.exe
++else
++ echo "libtool.m4: error: problem compiling $1 test program"
++fi
+
-+ # Only actually do things if not in dry run mode.
-+ $opt_dry_run || {
-+ # win32 will think the script is a binary if it has
-+ # a .exe suffix, so we strip it off here.
-+ case $output in
-+ *.exe) func_stripname '' '.exe' "$output"
-+ output=$func_stripname_result ;;
-+ esac
-+ # test for cygwin because mv fails w/o .exe extensions
-+ case $host in
-+ *cygwin*)
-+ exeext=.exe
-+ func_stripname '' '.exe' "$outputname"
-+ outputname=$func_stripname_result ;;
-+ *) exeext= ;;
-+ esac
-+ case $host in
-+ *cygwin* | *mingw* )
-+ func_dirname_and_basename "$output" "" "."
-+ output_name=$func_basename_result
-+ output_path=$func_dirname_result
-+ cwrappersource="$output_path/$objdir/lt-$output_name.c"
-+ cwrapper="$output_path/$output_name.exe"
-+ $RM $cwrappersource $cwrapper
-+ trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
++$RM -f confest.$objext
+
-+ func_emit_cwrapperexe_src > $cwrappersource
++# PORTME: override above test on systems where it is broken
++m4_if([$1], [CXX],
++[case $host_os in
++interix[[3-9]]*)
++ # Interix 3.5 installs completely hosed .la files for C++, so rather than
++ # hack all around it, let's just trust "g++" to DTRT.
++ _LT_TAGVAR(predep_objects,$1)=
++ _LT_TAGVAR(postdep_objects,$1)=
++ _LT_TAGVAR(postdeps,$1)=
++ ;;
+
-+ # The wrapper executable is built using the $host compiler,
-+ # because it contains $host paths and files. If cross-
-+ # compiling, it, like the target executable, must be
-+ # executed on the $host or under an emulation environment.
-+ $opt_dry_run || {
-+ $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
-+ $STRIP $cwrapper
-+ }
++linux*)
++ case `$CC -V 2>&1 | sed 5q` in
++ *Sun\ C*)
++ # Sun C++ 5.9
++
++ # The more standards-conforming stlport4 library is
++ # incompatible with the Cstd library. Avoid specifying
++ # it if it's in CXXFLAGS. Ignore libCrun as
++ # -library=stlport4 depends on it.
++ case " $CXX $CXXFLAGS " in
++ *" -library=stlport4 "*)
++ solaris_use_stlport4=yes
++ ;;
++ esac
+
-+ # Now, create the wrapper script for func_source use:
-+ func_ltwrapper_scriptname $cwrapper
-+ $RM $func_ltwrapper_scriptname_result
-+ trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
-+ $opt_dry_run || {
-+ # note: this script will not be executed, so do not chmod.
-+ if test "x$build" = "x$host" ; then
-+ $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
-+ else
-+ func_emit_wrapper no > $func_ltwrapper_scriptname_result
-+ fi
-+ }
-+ ;;
-+ * )
-+ $RM $output
-+ trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
++ if test "$solaris_use_stlport4" != yes; then
++ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
++ fi
++ ;;
++ esac
++ ;;
+
-+ func_emit_wrapper no > $output
-+ chmod +x $output
-+ ;;
-+ esac
-+ }
-+ exit $EXIT_SUCCESS
++solaris*)
++ case $cc_basename in
++ CC*)
++ # The more standards-conforming stlport4 library is
++ # incompatible with the Cstd library. Avoid specifying
++ # it if it's in CXXFLAGS. Ignore libCrun as
++ # -library=stlport4 depends on it.
++ case " $CXX $CXXFLAGS " in
++ *" -library=stlport4 "*)
++ solaris_use_stlport4=yes
+ ;;
+ esac
+
-+ # See if we need to build an old-fashioned archive.
-+ for oldlib in $oldlibs; do
++ # Adding this requires a known-good setup of shared libraries for
++ # Sun compiler versions before 5.6, else PIC objects from an old
++ # archive will be linked into the output, leading to subtle bugs.
++ if test "$solaris_use_stlport4" != yes; then
++ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
++ fi
++ ;;
++ esac
++ ;;
++esac
++])
+
-+ if test "$build_libtool_libs" = convenience; then
-+ oldobjs="$libobjs_save $symfileobj"
-+ addlibs="$convenience"
-+ build_libtool_libs=no
-+ else
-+ if test "$build_libtool_libs" = module; then
-+ oldobjs="$libobjs_save"
-+ build_libtool_libs=no
-+ else
-+ oldobjs="$old_deplibs $non_pic_objects"
-+ if test "$preload" = yes && test -f "$symfileobj"; then
-+ oldobjs="$oldobjs $symfileobj"
-+ fi
++case " $_LT_TAGVAR(postdeps, $1) " in
++*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
++esac
++ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
++if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
++ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
++fi
++_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
++ [The directories searched by this compiler when creating a shared library])
++_LT_TAGDECL([], [predep_objects], [1],
++ [Dependencies to place before and after the objects being linked to
++ create a shared library])
++_LT_TAGDECL([], [postdep_objects], [1])
++_LT_TAGDECL([], [predeps], [1])
++_LT_TAGDECL([], [postdeps], [1])
++_LT_TAGDECL([], [compiler_lib_search_path], [1],
++ [The library search path used internally by the compiler when linking
++ a shared library])
++])# _LT_SYS_HIDDEN_LIBDEPS
++
++
++# _LT_PROG_F77
++# ------------
++# Since AC_PROG_F77 is broken, in that it returns the empty string
++# if there is no fortran compiler, we have our own version here.
++m4_defun([_LT_PROG_F77],
++[
++pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
++AC_PROG_F77
++if test -z "$F77" || test "X$F77" = "Xno"; then
++ _lt_disable_F77=yes
++fi
++popdef([AC_MSG_ERROR])
++])# _LT_PROG_F77
++
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([_LT_PROG_F77], [])
++
++
++# _LT_LANG_F77_CONFIG([TAG])
++# --------------------------
++# Ensure that the configuration variables for a Fortran 77 compiler are
++# suitably defined. These variables are subsequently used by _LT_CONFIG
++# to write the compiler configuration to `libtool'.
++m4_defun([_LT_LANG_F77_CONFIG],
++[AC_REQUIRE([_LT_PROG_F77])dnl
++AC_LANG_PUSH(Fortran 77)
++
++_LT_TAGVAR(archive_cmds_need_lc, $1)=no
++_LT_TAGVAR(allow_undefined_flag, $1)=
++_LT_TAGVAR(always_export_symbols, $1)=no
++_LT_TAGVAR(archive_expsym_cmds, $1)=
++_LT_TAGVAR(export_dynamic_flag_spec, $1)=
++_LT_TAGVAR(hardcode_direct, $1)=no
++_LT_TAGVAR(hardcode_direct_absolute, $1)=no
++_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
++_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
++_LT_TAGVAR(hardcode_libdir_separator, $1)=
++_LT_TAGVAR(hardcode_minus_L, $1)=no
++_LT_TAGVAR(hardcode_automatic, $1)=no
++_LT_TAGVAR(inherit_rpath, $1)=no
++_LT_TAGVAR(module_cmds, $1)=
++_LT_TAGVAR(module_expsym_cmds, $1)=
++_LT_TAGVAR(link_all_deplibs, $1)=unknown
++_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
++_LT_TAGVAR(no_undefined_flag, $1)=
++_LT_TAGVAR(whole_archive_flag_spec, $1)=
++_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
++
++# Source file extension for f77 test sources.
++ac_ext=f
++
++# Object file extension for compiled f77 test sources.
++objext=o
++_LT_TAGVAR(objext, $1)=$objext
++
++# No sense in running all these tests if we already determined that
++# the F77 compiler isn't working. Some variables (like enable_shared)
++# are currently assumed to apply to all compilers on this platform,
++# and will be corrupted by setting them based on a non-working compiler.
++if test "$_lt_disable_F77" != yes; then
++ # Code to be used in simple compile tests
++ lt_simple_compile_test_code="\
++ subroutine t
++ return
++ end
++"
++
++ # Code to be used in simple link tests
++ lt_simple_link_test_code="\
++ program t
++ end
++"
++
++ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
++ _LT_TAG_COMPILER
++
++ # save warnings/boilerplate of simple test code
++ _LT_COMPILER_BOILERPLATE
++ _LT_LINKER_BOILERPLATE
++
++ # Allow CC to be a program name with arguments.
++ lt_save_CC="$CC"
++ lt_save_GCC=$GCC
++ CC=${F77-"f77"}
++ compiler=$CC
++ _LT_TAGVAR(compiler, $1)=$CC
++ _LT_CC_BASENAME([$compiler])
++ GCC=$G77
++ if test -n "$compiler"; then
++ AC_MSG_CHECKING([if libtool supports shared libraries])
++ AC_MSG_RESULT([$can_build_shared])
++
++ AC_MSG_CHECKING([whether to build shared libraries])
++ test "$can_build_shared" = "no" && enable_shared=no
++
++ # On AIX, shared libraries and static libraries use the same namespace, and
++ # are all built from PIC.
++ case $host_os in
++ aix3*)
++ test "$enable_shared" = yes && enable_static=no
++ if test -n "$RANLIB"; then
++ archive_cmds="$archive_cmds~\$RANLIB \$lib"
++ postinstall_cmds='$RANLIB $lib'
++ fi
++ ;;
++ aix[[4-9]]*)
++ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
++ test "$enable_shared" = yes && enable_static=no
+ fi
-+ addlibs="$old_convenience"
-+ fi
++ ;;
++ esac
++ AC_MSG_RESULT([$enable_shared])
++
++ AC_MSG_CHECKING([whether to build static libraries])
++ # Make sure either enable_shared or enable_static is yes.
++ test "$enable_shared" = yes || enable_static=yes
++ AC_MSG_RESULT([$enable_static])
++
++ _LT_TAGVAR(GCC, $1)="$G77"
++ _LT_TAGVAR(LD, $1)="$LD"
++
++ ## CAVEAT EMPTOR:
++ ## There is no encapsulation within the following macros, do not change
++ ## the running order or otherwise move them around unless you know exactly
++ ## what you are doing...
++ _LT_COMPILER_PIC($1)
++ _LT_COMPILER_C_O($1)
++ _LT_COMPILER_FILE_LOCKS($1)
++ _LT_LINKER_SHLIBS($1)
++ _LT_SYS_DYNAMIC_LINKER($1)
++ _LT_LINKER_HARDCODE_LIBPATH($1)
++
++ _LT_CONFIG($1)
++ fi # test -n "$compiler"
++
++ GCC=$lt_save_GCC
++ CC="$lt_save_CC"
++fi # test "$_lt_disable_F77" != yes
++
++AC_LANG_POP
++])# _LT_LANG_F77_CONFIG
++
++
++# _LT_PROG_FC
++# -----------
++# Since AC_PROG_FC is broken, in that it returns the empty string
++# if there is no fortran compiler, we have our own version here.
++m4_defun([_LT_PROG_FC],
++[
++pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
++AC_PROG_FC
++if test -z "$FC" || test "X$FC" = "Xno"; then
++ _lt_disable_FC=yes
++fi
++popdef([AC_MSG_ERROR])
++])# _LT_PROG_FC
++
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([_LT_PROG_FC], [])
++
++
++# _LT_LANG_FC_CONFIG([TAG])
++# -------------------------
++# Ensure that the configuration variables for a Fortran compiler are
++# suitably defined. These variables are subsequently used by _LT_CONFIG
++# to write the compiler configuration to `libtool'.
++m4_defun([_LT_LANG_FC_CONFIG],
++[AC_REQUIRE([_LT_PROG_FC])dnl
++AC_LANG_PUSH(Fortran)
++
++_LT_TAGVAR(archive_cmds_need_lc, $1)=no
++_LT_TAGVAR(allow_undefined_flag, $1)=
++_LT_TAGVAR(always_export_symbols, $1)=no
++_LT_TAGVAR(archive_expsym_cmds, $1)=
++_LT_TAGVAR(export_dynamic_flag_spec, $1)=
++_LT_TAGVAR(hardcode_direct, $1)=no
++_LT_TAGVAR(hardcode_direct_absolute, $1)=no
++_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
++_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
++_LT_TAGVAR(hardcode_libdir_separator, $1)=
++_LT_TAGVAR(hardcode_minus_L, $1)=no
++_LT_TAGVAR(hardcode_automatic, $1)=no
++_LT_TAGVAR(inherit_rpath, $1)=no
++_LT_TAGVAR(module_cmds, $1)=
++_LT_TAGVAR(module_expsym_cmds, $1)=
++_LT_TAGVAR(link_all_deplibs, $1)=unknown
++_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
++_LT_TAGVAR(no_undefined_flag, $1)=
++_LT_TAGVAR(whole_archive_flag_spec, $1)=
++_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
++
++# Source file extension for fc test sources.
++ac_ext=${ac_fc_srcext-f}
++
++# Object file extension for compiled fc test sources.
++objext=o
++_LT_TAGVAR(objext, $1)=$objext
++
++# No sense in running all these tests if we already determined that
++# the FC compiler isn't working. Some variables (like enable_shared)
++# are currently assumed to apply to all compilers on this platform,
++# and will be corrupted by setting them based on a non-working compiler.
++if test "$_lt_disable_FC" != yes; then
++ # Code to be used in simple compile tests
++ lt_simple_compile_test_code="\
++ subroutine t
++ return
++ end
++"
+
-+ if test -n "$addlibs"; then
-+ gentop="$output_objdir/${outputname}x"
-+ generated="$generated $gentop"
++ # Code to be used in simple link tests
++ lt_simple_link_test_code="\
++ program t
++ end
++"
+
-+ func_extract_archives $gentop $addlibs
-+ oldobjs="$oldobjs $func_extract_archives_result"
-+ fi
++ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
++ _LT_TAG_COMPILER
+
-+ # Do each command in the archive commands.
-+ if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
-+ cmds=$old_archive_from_new_cmds
-+ else
++ # save warnings/boilerplate of simple test code
++ _LT_COMPILER_BOILERPLATE
++ _LT_LINKER_BOILERPLATE
+
-+ # Add any objects from preloaded convenience libraries
-+ if test -n "$dlprefiles"; then
-+ gentop="$output_objdir/${outputname}x"
-+ generated="$generated $gentop"
++ # Allow CC to be a program name with arguments.
++ lt_save_CC="$CC"
++ lt_save_GCC=$GCC
++ CC=${FC-"f95"}
++ compiler=$CC
++ GCC=$ac_cv_fc_compiler_gnu
+
-+ func_extract_archives $gentop $dlprefiles
-+ oldobjs="$oldobjs $func_extract_archives_result"
-+ fi
++ _LT_TAGVAR(compiler, $1)=$CC
++ _LT_CC_BASENAME([$compiler])
+
-+ # POSIX demands no paths to be encoded in archives. We have
-+ # to avoid creating archives with duplicate basenames if we
-+ # might have to extract them afterwards, e.g., when creating a
-+ # static archive out of a convenience library, or when linking
-+ # the entirety of a libtool archive into another (currently
-+ # not supported by libtool).
-+ if (for obj in $oldobjs
-+ do
-+ func_basename "$obj"
-+ $ECHO "$func_basename_result"
-+ done | sort | sort -uc >/dev/null 2>&1); then
-+ :
-+ else
-+ $ECHO "copying selected object files to avoid basename conflicts..."
-+ gentop="$output_objdir/${outputname}x"
-+ generated="$generated $gentop"
-+ func_mkdir_p "$gentop"
-+ save_oldobjs=$oldobjs
-+ oldobjs=
-+ counter=1
-+ for obj in $save_oldobjs
-+ do
-+ func_basename "$obj"
-+ objbase="$func_basename_result"
-+ case " $oldobjs " in
-+ " ") oldobjs=$obj ;;
-+ *[\ /]"$objbase "*)
-+ while :; do
-+ # Make sure we don't pick an alternate name that also
-+ # overlaps.
-+ newobj=lt$counter-$objbase
-+ func_arith $counter + 1
-+ counter=$func_arith_result
-+ case " $oldobjs " in
-+ *[\ /]"$newobj "*) ;;
-+ *) if test ! -f "$gentop/$newobj"; then break; fi ;;
-+ esac
-+ done
-+ func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
-+ oldobjs="$oldobjs $gentop/$newobj"
-+ ;;
-+ *) oldobjs="$oldobjs $obj" ;;
-+ esac
-+ done
-+ fi
-+ eval cmds=\"$old_archive_cmds\"
++ if test -n "$compiler"; then
++ AC_MSG_CHECKING([if libtool supports shared libraries])
++ AC_MSG_RESULT([$can_build_shared])
+
-+ func_len " $cmds"
-+ len=$func_len_result
-+ if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-+ cmds=$old_archive_cmds
-+ else
-+ # the command line is too long to link in one step, link in parts
-+ func_verbose "using piecewise archive linking..."
-+ save_RANLIB=$RANLIB
-+ RANLIB=:
-+ objlist=
-+ concat_cmds=
-+ save_oldobjs=$oldobjs
-+ oldobjs=
-+ # Is there a better way of finding the last object in the list?
-+ for obj in $save_oldobjs
-+ do
-+ last_oldobj=$obj
-+ done
-+ eval test_cmds=\"$old_archive_cmds\"
-+ func_len " $test_cmds"
-+ len0=$func_len_result
-+ len=$len0
-+ for obj in $save_oldobjs
-+ do
-+ func_len " $obj"
-+ func_arith $len + $func_len_result
-+ len=$func_arith_result
-+ func_append objlist " $obj"
-+ if test "$len" -lt "$max_cmd_len"; then
-+ :
-+ else
-+ # the above command should be used before it gets too long
-+ oldobjs=$objlist
-+ if test "$obj" = "$last_oldobj" ; then
-+ RANLIB=$save_RANLIB
-+ fi
-+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-+ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
-+ objlist=
-+ len=$len0
-+ fi
-+ done
-+ RANLIB=$save_RANLIB
-+ oldobjs=$objlist
-+ if test "X$oldobjs" = "X" ; then
-+ eval cmds=\"\$concat_cmds\"
-+ else
-+ eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
-+ fi
++ AC_MSG_CHECKING([whether to build shared libraries])
++ test "$can_build_shared" = "no" && enable_shared=no
++
++ # On AIX, shared libraries and static libraries use the same namespace, and
++ # are all built from PIC.
++ case $host_os in
++ aix3*)
++ test "$enable_shared" = yes && enable_static=no
++ if test -n "$RANLIB"; then
++ archive_cmds="$archive_cmds~\$RANLIB \$lib"
++ postinstall_cmds='$RANLIB $lib'
++ fi
++ ;;
++ aix[[4-9]]*)
++ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
++ test "$enable_shared" = yes && enable_static=no
+ fi
-+ fi
-+ func_execute_cmds "$cmds" 'exit $?'
-+ done
++ ;;
++ esac
++ AC_MSG_RESULT([$enable_shared])
+
-+ test -n "$generated" && \
-+ func_show_eval "${RM}r$generated"
++ AC_MSG_CHECKING([whether to build static libraries])
++ # Make sure either enable_shared or enable_static is yes.
++ test "$enable_shared" = yes || enable_static=yes
++ AC_MSG_RESULT([$enable_static])
+
-+ # Now create the libtool archive.
-+ case $output in
-+ *.la)
-+ old_library=
-+ test "$build_old_libs" = yes && old_library="$libname.$libext"
-+ func_verbose "creating $output"
++ _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
++ _LT_TAGVAR(LD, $1)="$LD"
+
-+ # Preserve any variables that may affect compiler behavior
-+ for var in $variables_saved_for_relink; do
-+ if eval test -z \"\${$var+set}\"; then
-+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
-+ elif eval var_value=\$$var; test -z "$var_value"; then
-+ relink_command="$var=; export $var; $relink_command"
-+ else
-+ func_quote_for_eval "$var_value"
-+ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
-+ fi
-+ done
-+ # Quote the link command for shipping.
-+ relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
-+ relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
-+ if test "$hardcode_automatic" = yes ; then
-+ relink_command=
-+ fi
++ ## CAVEAT EMPTOR:
++ ## There is no encapsulation within the following macros, do not change
++ ## the running order or otherwise move them around unless you know exactly
++ ## what you are doing...
++ _LT_SYS_HIDDEN_LIBDEPS($1)
++ _LT_COMPILER_PIC($1)
++ _LT_COMPILER_C_O($1)
++ _LT_COMPILER_FILE_LOCKS($1)
++ _LT_LINKER_SHLIBS($1)
++ _LT_SYS_DYNAMIC_LINKER($1)
++ _LT_LINKER_HARDCODE_LIBPATH($1)
+
-+ # Only create the output if not a dry run.
-+ $opt_dry_run || {
-+ for installed in no yes; do
-+ if test "$installed" = yes; then
-+ if test -z "$install_libdir"; then
-+ break
-+ fi
-+ output="$output_objdir/$outputname"i
-+ # Replace all uninstalled libtool libraries with the installed ones
-+ newdependency_libs=
-+ for deplib in $dependency_libs; do
-+ case $deplib in
-+ *.la)
-+ func_basename "$deplib"
-+ name="$func_basename_result"
-+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-+ test -z "$libdir" && \
-+ func_fatal_error "\`$deplib' is not a valid libtool archive"
-+ newdependency_libs="$newdependency_libs $libdir/$name"
-+ ;;
-+ *) newdependency_libs="$newdependency_libs $deplib" ;;
-+ esac
-+ done
-+ dependency_libs="$newdependency_libs"
-+ newdlfiles=
++ _LT_CONFIG($1)
++ fi # test -n "$compiler"
+
-+ for lib in $dlfiles; do
-+ case $lib in
-+ *.la)
-+ func_basename "$lib"
-+ name="$func_basename_result"
-+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-+ test -z "$libdir" && \
-+ func_fatal_error "\`$lib' is not a valid libtool archive"
-+ newdlfiles="$newdlfiles $libdir/$name"
-+ ;;
-+ *) newdlfiles="$newdlfiles $lib" ;;
-+ esac
-+ done
-+ dlfiles="$newdlfiles"
-+ newdlprefiles=
-+ for lib in $dlprefiles; do
-+ case $lib in
-+ *.la)
-+ # Only pass preopened files to the pseudo-archive (for
-+ # eventual linking with the app. that links it) if we
-+ # didn't already link the preopened objects directly into
-+ # the library:
-+ func_basename "$lib"
-+ name="$func_basename_result"
-+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-+ test -z "$libdir" && \
-+ func_fatal_error "\`$lib' is not a valid libtool archive"
-+ newdlprefiles="$newdlprefiles $libdir/$name"
-+ ;;
-+ esac
-+ done
-+ dlprefiles="$newdlprefiles"
-+ else
-+ newdlfiles=
-+ for lib in $dlfiles; do
-+ case $lib in
-+ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
-+ *) abs=`pwd`"/$lib" ;;
-+ esac
-+ newdlfiles="$newdlfiles $abs"
-+ done
-+ dlfiles="$newdlfiles"
-+ newdlprefiles=
-+ for lib in $dlprefiles; do
-+ case $lib in
-+ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
-+ *) abs=`pwd`"/$lib" ;;
-+ esac
-+ newdlprefiles="$newdlprefiles $abs"
-+ done
-+ dlprefiles="$newdlprefiles"
-+ fi
-+ $RM $output
-+ # place dlname in correct position for cygwin
-+ tdlname=$dlname
-+ case $host,$output,$installed,$module,$dlname in
-+ *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
-+ esac
-+ $ECHO > $output "\
-+# $outputname - a libtool library file
-+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-+#
-+# Please DO NOT delete this file!
-+# It is necessary for linking the library.
++ GCC=$lt_save_GCC
++ CC="$lt_save_CC"
++fi # test "$_lt_disable_FC" != yes
+
-+# The name that we can dlopen(3).
-+dlname='$tdlname'
++AC_LANG_POP
++])# _LT_LANG_FC_CONFIG
+
-+# Names of this library.
-+library_names='$library_names'
+
-+# The name of the static archive.
-+old_library='$old_library'
++# _LT_LANG_GCJ_CONFIG([TAG])
++# --------------------------
++# Ensure that the configuration variables for the GNU Java Compiler compiler
++# are suitably defined. These variables are subsequently used by _LT_CONFIG
++# to write the compiler configuration to `libtool'.
++m4_defun([_LT_LANG_GCJ_CONFIG],
++[AC_REQUIRE([LT_PROG_GCJ])dnl
++AC_LANG_SAVE
+
-+# Linker flags that can not go in dependency_libs.
-+inherited_linker_flags='$new_inherited_linker_flags'
++# Source file extension for Java test sources.
++ac_ext=java
+
-+# Libraries that this one depends upon.
-+dependency_libs='$dependency_libs'
++# Object file extension for compiled Java test sources.
++objext=o
++_LT_TAGVAR(objext, $1)=$objext
+
-+# Names of additional weak libraries provided by this library
-+weak_library_names='$weak_libs'
++# Code to be used in simple compile tests
++lt_simple_compile_test_code="class foo {}"
+
-+# Version information for $libname.
-+current=$current
-+age=$age
-+revision=$revision
++# Code to be used in simple link tests
++lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+
-+# Is this an already installed library?
-+installed=$installed
++# ltmain only uses $CC for tagged configurations so make sure $CC is set.
++_LT_TAG_COMPILER
+
-+# Should we warn about portability when linking against -modules?
-+shouldnotlink=$module
++# save warnings/boilerplate of simple test code
++_LT_COMPILER_BOILERPLATE
++_LT_LINKER_BOILERPLATE
+
-+# Files to dlopen/dlpreopen
-+dlopen='$dlfiles'
-+dlpreopen='$dlprefiles'
++# Allow CC to be a program name with arguments.
++lt_save_CC="$CC"
++lt_save_GCC=$GCC
++GCC=yes
++CC=${GCJ-"gcj"}
++compiler=$CC
++_LT_TAGVAR(compiler, $1)=$CC
++_LT_TAGVAR(LD, $1)="$LD"
++_LT_CC_BASENAME([$compiler])
+
-+# Directory that this library needs to be installed in:
-+libdir='$install_libdir'"
-+ if test "$installed" = no && test "$need_relink" = yes; then
-+ $ECHO >> $output "\
-+relink_command=\"$relink_command\""
-+ fi
-+ done
-+ }
++# GCJ did not exist at the time GCC didn't implicitly link libc in.
++_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
-+ # Do a symbolic link so that the libtool archive can be found in
-+ # LD_LIBRARY_PATH before the program is installed.
-+ func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
-+ ;;
-+ esac
-+ exit $EXIT_SUCCESS
-+}
++_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+
-+{ test "$mode" = link || test "$mode" = relink; } &&
-+ func_mode_link ${1+"$@"}
++## CAVEAT EMPTOR:
++## There is no encapsulation within the following macros, do not change
++## the running order or otherwise move them around unless you know exactly
++## what you are doing...
++if test -n "$compiler"; then
++ _LT_COMPILER_NO_RTTI($1)
++ _LT_COMPILER_PIC($1)
++ _LT_COMPILER_C_O($1)
++ _LT_COMPILER_FILE_LOCKS($1)
++ _LT_LINKER_SHLIBS($1)
++ _LT_LINKER_HARDCODE_LIBPATH($1)
+
++ _LT_CONFIG($1)
++fi
+
-+# func_mode_uninstall arg...
-+func_mode_uninstall ()
-+{
-+ $opt_debug
-+ RM="$nonopt"
-+ files=
-+ rmforce=
-+ exit_status=0
++AC_LANG_RESTORE
+
-+ # This variable tells wrapper scripts just to set variables rather
-+ # than running their programs.
-+ libtool_install_magic="$magic"
++GCC=$lt_save_GCC
++CC="$lt_save_CC"
++])# _LT_LANG_GCJ_CONFIG
+
-+ for arg
-+ do
-+ case $arg in
-+ -f) RM="$RM $arg"; rmforce=yes ;;
-+ -*) RM="$RM $arg" ;;
-+ *) files="$files $arg" ;;
-+ esac
-+ done
+
-+ test -z "$RM" && \
-+ func_fatal_help "you must specify an RM program"
++# _LT_LANG_RC_CONFIG([TAG])
++# -------------------------
++# Ensure that the configuration variables for the Windows resource compiler
++# are suitably defined. These variables are subsequently used by _LT_CONFIG
++# to write the compiler configuration to `libtool'.
++m4_defun([_LT_LANG_RC_CONFIG],
++[AC_REQUIRE([LT_PROG_RC])dnl
++AC_LANG_SAVE
+
-+ rmdirs=
++# Source file extension for RC test sources.
++ac_ext=rc
+
-+ origobjdir="$objdir"
-+ for file in $files; do
-+ func_dirname "$file" "" "."
-+ dir="$func_dirname_result"
-+ if test "X$dir" = X.; then
-+ objdir="$origobjdir"
-+ else
-+ objdir="$dir/$origobjdir"
-+ fi
-+ func_basename "$file"
-+ name="$func_basename_result"
-+ test "$mode" = uninstall && objdir="$dir"
++# Object file extension for compiled RC test sources.
++objext=o
++_LT_TAGVAR(objext, $1)=$objext
++
++# Code to be used in simple compile tests
++lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
++
++# Code to be used in simple link tests
++lt_simple_link_test_code="$lt_simple_compile_test_code"
++
++# ltmain only uses $CC for tagged configurations so make sure $CC is set.
++_LT_TAG_COMPILER
++
++# save warnings/boilerplate of simple test code
++_LT_COMPILER_BOILERPLATE
++_LT_LINKER_BOILERPLATE
++
++# Allow CC to be a program name with arguments.
++lt_save_CC="$CC"
++lt_save_GCC=$GCC
++GCC=
++CC=${RC-"windres"}
++compiler=$CC
++_LT_TAGVAR(compiler, $1)=$CC
++_LT_CC_BASENAME([$compiler])
++_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
-+ # Remember objdir for removal later, being careful to avoid duplicates
-+ if test "$mode" = clean; then
-+ case " $rmdirs " in
-+ *" $objdir "*) ;;
-+ *) rmdirs="$rmdirs $objdir" ;;
-+ esac
-+ fi
++if test -n "$compiler"; then
++ :
++ _LT_CONFIG($1)
++fi
+
-+ # Don't error if the file doesn't exist and rm -f was used.
-+ if { test -L "$file"; } >/dev/null 2>&1 ||
-+ { test -h "$file"; } >/dev/null 2>&1 ||
-+ test -f "$file"; then
-+ :
-+ elif test -d "$file"; then
-+ exit_status=1
-+ continue
-+ elif test "$rmforce" = yes; then
-+ continue
-+ fi
++GCC=$lt_save_GCC
++AC_LANG_RESTORE
++CC="$lt_save_CC"
++])# _LT_LANG_RC_CONFIG
+
-+ rmfiles="$file"
+
-+ case $name in
-+ *.la)
-+ # Possibly a libtool archive, so verify it.
-+ if func_lalib_p "$file"; then
-+ func_source $dir/$name
++# LT_PROG_GCJ
++# -----------
++AC_DEFUN([LT_PROG_GCJ],
++[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
++ [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
++ [AC_CHECK_TOOL(GCJ, gcj,)
++ test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
++ AC_SUBST(GCJFLAGS)])])[]dnl
++])
+
-+ # Delete the libtool libraries and symlinks.
-+ for n in $library_names; do
-+ rmfiles="$rmfiles $objdir/$n"
-+ done
-+ test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
++# Old name:
++AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+
-+ case "$mode" in
-+ clean)
-+ case " $library_names " in
-+ # " " in the beginning catches empty $dlname
-+ *" $dlname "*) ;;
-+ *) rmfiles="$rmfiles $objdir/$dlname" ;;
-+ esac
-+ test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
-+ ;;
-+ uninstall)
-+ if test -n "$library_names"; then
-+ # Do each command in the postuninstall commands.
-+ func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
-+ fi
+
-+ if test -n "$old_library"; then
-+ # Do each command in the old_postuninstall commands.
-+ func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
-+ fi
-+ # FIXME: should reinstall the best remaining shared library.
-+ ;;
-+ esac
-+ fi
-+ ;;
++# LT_PROG_RC
++# ----------
++AC_DEFUN([LT_PROG_RC],
++[AC_CHECK_TOOL(RC, windres,)
++])
+
-+ *.lo)
-+ # Possibly a libtool object, so verify it.
-+ if func_lalib_p "$file"; then
++# Old name:
++AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([LT_AC_PROG_RC], [])
+
-+ # Read the .lo file
-+ func_source $dir/$name
+
-+ # Add PIC object to the list of files to remove.
-+ if test -n "$pic_object" &&
-+ test "$pic_object" != none; then
-+ rmfiles="$rmfiles $dir/$pic_object"
-+ fi
++# _LT_DECL_EGREP
++# --------------
++# If we don't have a new enough Autoconf to choose the best grep
++# available, choose the one first in the user's PATH.
++m4_defun([_LT_DECL_EGREP],
++[AC_REQUIRE([AC_PROG_EGREP])dnl
++AC_REQUIRE([AC_PROG_FGREP])dnl
++test -z "$GREP" && GREP=grep
++_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
++_LT_DECL([], [EGREP], [1], [An ERE matcher])
++_LT_DECL([], [FGREP], [1], [A literal string matcher])
++dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
++AC_SUBST([GREP])
++])
+
-+ # Add non-PIC object to the list of files to remove.
-+ if test -n "$non_pic_object" &&
-+ test "$non_pic_object" != none; then
-+ rmfiles="$rmfiles $dir/$non_pic_object"
-+ fi
-+ fi
-+ ;;
+
-+ *)
-+ if test "$mode" = clean ; then
-+ noexename=$name
-+ case $file in
-+ *.exe)
-+ func_stripname '' '.exe' "$file"
-+ file=$func_stripname_result
-+ func_stripname '' '.exe' "$name"
-+ noexename=$func_stripname_result
-+ # $file with .exe has already been added to rmfiles,
-+ # add $file without .exe
-+ rmfiles="$rmfiles $file"
-+ ;;
-+ esac
-+ # Do a test to see if this is a libtool program.
-+ if func_ltwrapper_p "$file"; then
-+ if func_ltwrapper_executable_p "$file"; then
-+ func_ltwrapper_scriptname "$file"
-+ relink_command=
-+ func_source $func_ltwrapper_scriptname_result
-+ rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
-+ else
-+ relink_command=
-+ func_source $dir/$noexename
-+ fi
++# _LT_DECL_OBJDUMP
++# --------------
++# If we don't have a new enough Autoconf to choose the best objdump
++# available, choose the one first in the user's PATH.
++m4_defun([_LT_DECL_OBJDUMP],
++[AC_CHECK_TOOL(OBJDUMP, objdump, false)
++test -z "$OBJDUMP" && OBJDUMP=objdump
++_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
++AC_SUBST([OBJDUMP])
++])
+
-+ # note $name still contains .exe if it was in $file originally
-+ # as does the version of $file that was added into $rmfiles
-+ rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
-+ if test "$fast_install" = yes && test -n "$relink_command"; then
-+ rmfiles="$rmfiles $objdir/lt-$name"
-+ fi
-+ if test "X$noexename" != "X$name" ; then
-+ rmfiles="$rmfiles $objdir/lt-${noexename}.c"
-+ fi
-+ fi
-+ fi
-+ ;;
-+ esac
-+ func_show_eval "$RM $rmfiles" 'exit_status=1'
-+ done
-+ objdir="$origobjdir"
+
-+ # Try to remove the ${objdir}s in the directories where we deleted files
-+ for dir in $rmdirs; do
-+ if test -d "$dir"; then
-+ func_show_eval "rmdir $dir >/dev/null 2>&1"
++# _LT_DECL_SED
++# ------------
++# Check for a fully-functional sed program, that truncates
++# as few characters as possible. Prefer GNU sed if found.
++m4_defun([_LT_DECL_SED],
++[AC_PROG_SED
++test -z "$SED" && SED=sed
++Xsed="$SED -e 1s/^X//"
++_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
++_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
++ [Sed that helps us avoid accidentally triggering echo(1) options like -n])
++])# _LT_DECL_SED
++
++m4_ifndef([AC_PROG_SED], [
++############################################################
++# NOTE: This macro has been submitted for inclusion into #
++# GNU Autoconf as AC_PROG_SED. When it is available in #
++# a released version of Autoconf we should remove this #
++# macro and use it instead. #
++############################################################
++
++m4_defun([AC_PROG_SED],
++[AC_MSG_CHECKING([for a sed that does not truncate output])
++AC_CACHE_VAL(lt_cv_path_SED,
++[# Loop through the user's path and test for sed and gsed.
++# Then use that list of sed's as ones to test for truncation.
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for lt_ac_prog in sed gsed; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
++ lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+ fi
+ done
++ done
++done
++IFS=$as_save_IFS
++lt_ac_max=0
++lt_ac_count=0
++# Add /usr/xpg4/bin/sed as it is typically found on Solaris
++# along with /bin/sed that truncates output.
++for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
++ test ! -f $lt_ac_sed && continue
++ cat /dev/null > conftest.in
++ lt_ac_count=0
++ echo $ECHO_N "0123456789$ECHO_C" >conftest.in
++ # Check for GNU sed and select it if it is found.
++ if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
++ lt_cv_path_SED=$lt_ac_sed
++ break
++ fi
++ while true; do
++ cat conftest.in conftest.in >conftest.tmp
++ mv conftest.tmp conftest.in
++ cp conftest.in conftest.nl
++ echo >>conftest.nl
++ $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
++ cmp -s conftest.out conftest.nl || break
++ # 10000 chars as input seems more than enough
++ test $lt_ac_count -gt 10 && break
++ lt_ac_count=`expr $lt_ac_count + 1`
++ if test $lt_ac_count -gt $lt_ac_max; then
++ lt_ac_max=$lt_ac_count
++ lt_cv_path_SED=$lt_ac_sed
++ fi
++ done
++done
++])
++SED=$lt_cv_path_SED
++AC_SUBST([SED])
++AC_MSG_RESULT([$SED])
++])#AC_PROG_SED
++])#m4_ifndef
+
-+ exit $exit_status
-+}
++# Old name:
++AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([LT_AC_PROG_SED], [])
+
-+{ test "$mode" = uninstall || test "$mode" = clean; } &&
-+ func_mode_uninstall ${1+"$@"}
+
-+test -z "$mode" && {
-+ help="$generic_help"
-+ func_fatal_help "you must specify a MODE"
-+}
++# _LT_CHECK_SHELL_FEATURES
++# ------------------------
++# Find out whether the shell is Bourne or XSI compatible,
++# or has some other useful features.
++m4_defun([_LT_CHECK_SHELL_FEATURES],
++[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
++# Try some XSI features
++xsi_shell=no
++( _lt_dummy="a/b/c"
++ test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
++ = c,a/b,, \
++ && eval 'test $(( 1 + 1 )) -eq 2 \
++ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
++ && xsi_shell=yes
++AC_MSG_RESULT([$xsi_shell])
++_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
+
-+test -z "$exec_cmd" && \
-+ func_fatal_help "invalid operation mode \`$mode'"
++AC_MSG_CHECKING([whether the shell understands "+="])
++lt_shell_append=no
++( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
++ >/dev/null 2>&1 \
++ && lt_shell_append=yes
++AC_MSG_RESULT([$lt_shell_append])
++_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
+
-+if test -n "$exec_cmd"; then
-+ eval exec "$exec_cmd"
-+ exit $EXIT_FAILURE
++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
++ lt_unset=unset
++else
++ lt_unset=false
+fi
++_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
+
-+exit $exit_status
++# test EBCDIC or ASCII
++case `echo X|tr X '\101'` in
++ A) # ASCII based system
++ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
++ lt_SP2NL='tr \040 \012'
++ lt_NL2SP='tr \015\012 \040\040'
++ ;;
++ *) # EBCDIC based system
++ lt_SP2NL='tr \100 \n'
++ lt_NL2SP='tr \r\n \100\100'
++ ;;
++esac
++_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
++_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
++])# _LT_CHECK_SHELL_FEATURES
+
+
-+# The TAGs below are defined such that we never get into a situation
-+# in which we disable both kinds of libraries. Given conflicting
-+# choices, we go for a static library, that is the most portable,
-+# since we can't tell whether shared libraries were disabled because
-+# the user asked for that or because the platform doesn't support
-+# them. This is particularly important on AIX, because we don't
-+# support having both static and shared libraries enabled at the same
-+# time on that platform, so we default to a shared-only configuration.
-+# If a disable-shared tag is given, we'll fallback to a static-only
-+# configuration. But we'll never go from static-only to shared-only.
++# _LT_PROG_XSI_SHELLFNS
++# ---------------------
++# Bourne and XSI compatible variants of some useful shell functions.
++m4_defun([_LT_PROG_XSI_SHELLFNS],
++[case $xsi_shell in
++ yes)
++ cat << \_LT_EOF >> "$cfgfile"
+
-+# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
-+build_libtool_libs=no
-+build_old_libs=yes
-+# ### END LIBTOOL TAG CONFIG: disable-shared
++# func_dirname file append nondir_replacement
++# Compute the dirname of FILE. If nonempty, add APPEND to the result,
++# otherwise set result to NONDIR_REPLACEMENT.
++func_dirname ()
++{
++ case ${1} in
++ */*) func_dirname_result="${1%/*}${2}" ;;
++ * ) func_dirname_result="${3}" ;;
++ esac
++}
+
-+# ### BEGIN LIBTOOL TAG CONFIG: disable-static
-+build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
-+# ### END LIBTOOL TAG CONFIG: disable-static
++# func_basename file
++func_basename ()
++{
++ func_basename_result="${1##*/}"
++}
+
-+# Local Variables:
-+# mode:shell-script
-+# sh-indentation:2
-+# End:
-+# vi:sw=2
++# func_dirname_and_basename file append nondir_replacement
++# perform func_basename and func_dirname in a single function
++# call:
++# dirname: Compute the dirname of FILE. If nonempty,
++# add APPEND to the result, otherwise set result
++# to NONDIR_REPLACEMENT.
++# value returned in "$func_dirname_result"
++# basename: Compute filename of FILE.
++# value retuned in "$func_basename_result"
++# Implementation must be kept synchronized with func_dirname
++# and func_basename. For efficiency, we do not delegate to
++# those functions but instead duplicate the functionality here.
++func_dirname_and_basename ()
++{
++ case ${1} in
++ */*) func_dirname_result="${1%/*}${2}" ;;
++ * ) func_dirname_result="${3}" ;;
++ esac
++ func_basename_result="${1##*/}"
++}
+
-diff --git a/m4/ac_doxygen.m4 b/m4/ac_doxygen.m4
-new file mode 100644
-index 0000000..9e539ba
---- /dev/null
-+++ b/m4/ac_doxygen.m4
-@@ -0,0 +1,324 @@
-+#
-+# Copyright 2007 Oren Ben-Kiki
-+#
-+# Licensed under the Apache License, Version 2.0 (the "License");
-+# you may not use this file except in compliance with the License.
-+# You may obtain a copy of the License at
-+#
-+# http://www.apache.org/licenses/LICENSE-2.0
-+#
-+# Unless required by applicable law or agreed to in writing,
-+# software distributed under the License is distributed on an "AS IS" BASIS,
-+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-+# implied. See the License for the specific language governing
-+# permissions and limitations under the License.
-+#
++# func_stripname prefix suffix name
++# strip PREFIX and SUFFIX off of NAME.
++# PREFIX and SUFFIX must not contain globbing or regex special
++# characters, hashes, percent signs, but SUFFIX may contain a leading
++# dot (in which case that matches only a dot).
++func_stripname ()
++{
++ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
++ # positional parameters, so assign one to ordinary parameter first.
++ func_stripname_result=${3}
++ func_stripname_result=${func_stripname_result#"${1}"}
++ func_stripname_result=${func_stripname_result%"${2}"}
++}
+
++# func_opt_split
++func_opt_split ()
++{
++ func_opt_split_opt=${1%%=*}
++ func_opt_split_arg=${1#*=}
++}
+
-+# Generate automatic documentation using Doxygen. Works in concert with the
-+# aminclude.m4 file and a compatible doxygen configuration file. Defines the
-+# following public macros:
-+#
-+# DX_???_FEATURE(ON|OFF) - control the default setting fo a Doxygen feature.
-+# Supported features are 'DOXYGEN' itself, 'DOT' for generating graphics,
-+# 'HTML' for plain HTML, 'CHM' for compressed HTML help (for MS users), 'CHI'
-+# for generating a seperate .chi file by the .chm file, and 'MAN', 'RTF',
-+# 'XML', 'PDF' and 'PS' for the appropriate output formats. The environment
-+# variable DOXYGEN_PAPER_SIZE may be specified to override the default 'a4wide'
-+# paper size.
-+#
-+# By default, HTML, PDF and PS documentation is generated as this seems to be
-+# the most popular and portable combination. MAN pages created by Doxygen are
-+# usually problematic, though by picking an appropriate subset and doing some
-+# massaging they might be better than nothing. CHM and RTF are specific for MS
-+# (note that you can't generate both HTML and CHM at the same time). The XML is
-+# rather useless unless you apply specialized post-processing to it.
-+#
-+# The macro mainly controls the default state of the feature. The use can
-+# override the default by specifying --enable or --disable. The macros ensure
-+# that contradictory flags are not given (e.g., --enable-doxygen-html and
-+# --enable-doxygen-chm, --enable-doxygen-anything with --disable-doxygen, etc.)
-+# Finally, each feature will be automatically disabled (with a warning) if the
-+# required programs are missing.
-+#
-+# Once all the feature defaults have been specified, call DX_INIT_DOXYGEN with
-+# the following parameters: a one-word name for the project for use as a
-+# filename base etc., an optional configuration file name (the default is
-+# 'Doxyfile', the same as Doxygen's default), and an optional output directory
-+# name (the default is 'doxygen-doc').
++# func_lo2o object
++func_lo2o ()
++{
++ case ${1} in
++ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
++ *) func_lo2o_result=${1} ;;
++ esac
++}
+
-+## ----------##
-+## Defaults. ##
-+## ----------##
++# func_xform libobj-or-source
++func_xform ()
++{
++ func_xform_result=${1%.*}.lo
++}
+
-+DX_ENV=""
-+AC_DEFUN([DX_FEATURE_doc], ON)
-+AC_DEFUN([DX_FEATURE_dot], ON)
-+AC_DEFUN([DX_FEATURE_man], OFF)
-+AC_DEFUN([DX_FEATURE_html], ON)
-+AC_DEFUN([DX_FEATURE_chm], OFF)
-+AC_DEFUN([DX_FEATURE_chi], OFF)
-+AC_DEFUN([DX_FEATURE_rtf], OFF)
-+AC_DEFUN([DX_FEATURE_xml], OFF)
-+AC_DEFUN([DX_FEATURE_pdf], ON)
-+AC_DEFUN([DX_FEATURE_ps], ON)
++# func_arith arithmetic-term...
++func_arith ()
++{
++ func_arith_result=$(( $[*] ))
++}
+
-+## --------------- ##
-+## Private macros. ##
-+## --------------- ##
++# func_len string
++# STRING may not start with a hyphen.
++func_len ()
++{
++ func_len_result=${#1}
++}
+
-+# DX_ENV_APPEND(VARIABLE, VALUE)
-+# ------------------------------
-+# Append VARIABLE="VALUE" to DX_ENV for invoking doxygen.
-+AC_DEFUN([DX_ENV_APPEND], [AC_SUBST([DX_ENV], ["$DX_ENV $1='$2'"])])
++_LT_EOF
++ ;;
++ *) # Bourne compatible functions.
++ cat << \_LT_EOF >> "$cfgfile"
+
-+# DX_DIRNAME_EXPR
-+# ---------------
-+# Expand into a shell expression prints the directory part of a path.
-+AC_DEFUN([DX_DIRNAME_EXPR],
-+ [[expr ".$1" : '\(\.\)[^/]*$' \| "x$1" : 'x\(.*\)/[^/]*$']])
++# func_dirname file append nondir_replacement
++# Compute the dirname of FILE. If nonempty, add APPEND to the result,
++# otherwise set result to NONDIR_REPLACEMENT.
++func_dirname ()
++{
++ # Extract subdirectory from the argument.
++ func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
++ if test "X$func_dirname_result" = "X${1}"; then
++ func_dirname_result="${3}"
++ else
++ func_dirname_result="$func_dirname_result${2}"
++ fi
++}
+
-+# DX_IF_FEATURE(FEATURE, IF-ON, IF-OFF)
-+# -------------------------------------
-+# Expands according to the M4 (static) status of the feature.
-+AC_DEFUN([DX_IF_FEATURE], [ifelse(DX_FEATURE_$1, ON, [$2], [$3])])
++# func_basename file
++func_basename ()
++{
++ func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
++}
+
-+# DX_REQUIRE_PROG(VARIABLE, PROGRAM)
-+# ----------------------------------
-+# Require the specified program to be found for the DX_CURRENT_FEATURE to work.
-+AC_DEFUN([DX_REQUIRE_PROG], [
-+AC_PATH_TOOL([$1], [$2])
-+if test "$DX_FLAG_$[DX_CURRENT_FEATURE$$1]" = 1; then
-+ AC_MSG_WARN([$2 not found - will not DX_CURRENT_DESCRIPTION])
-+ AC_SUBST([DX_FLAG_]DX_CURRENT_FEATURE, 0)
-+fi
-+])
++dnl func_dirname_and_basename
++dnl A portable version of this function is already defined in general.m4sh
++dnl so there is no need for it here.
+
-+# DX_TEST_FEATURE(FEATURE)
-+# ------------------------
-+# Expand to a shell expression testing whether the feature is active.
-+AC_DEFUN([DX_TEST_FEATURE], [test "$DX_FLAG_$1" = 1])
++# func_stripname prefix suffix name
++# strip PREFIX and SUFFIX off of NAME.
++# PREFIX and SUFFIX must not contain globbing or regex special
++# characters, hashes, percent signs, but SUFFIX may contain a leading
++# dot (in which case that matches only a dot).
++# func_strip_suffix prefix name
++func_stripname ()
++{
++ case ${2} in
++ .*) func_stripname_result=`$ECHO "X${3}" \
++ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
++ *) func_stripname_result=`$ECHO "X${3}" \
++ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
++ esac
++}
+
-+# DX_CHECK_DEPEND(REQUIRED_FEATURE, REQUIRED_STATE)
-+# -------------------------------------------------
-+# Verify that a required features has the right state before trying to turn on
-+# the DX_CURRENT_FEATURE.
-+AC_DEFUN([DX_CHECK_DEPEND], [
-+test "$DX_FLAG_$1" = "$2" \
-+|| AC_MSG_ERROR([doxygen-DX_CURRENT_FEATURE ifelse([$2], 1,
-+ requires, contradicts) doxygen-DX_CURRENT_FEATURE])
-+])
++# sed scripts:
++my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
++my_sed_long_arg='1s/^-[[^=]]*=//'
+
-+# DX_CLEAR_DEPEND(FEATURE, REQUIRED_FEATURE, REQUIRED_STATE)
-+# ----------------------------------------------------------
-+# Turn off the DX_CURRENT_FEATURE if the required feature is off.
-+AC_DEFUN([DX_CLEAR_DEPEND], [
-+test "$DX_FLAG_$1" = "$2" || AC_SUBST([DX_FLAG_]DX_CURRENT_FEATURE, 0)
-+])
++# func_opt_split
++func_opt_split ()
++{
++ func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
++ func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
++}
+
-+# DX_FEATURE_ARG(FEATURE, DESCRIPTION,
-+# CHECK_DEPEND, CLEAR_DEPEND,
-+# REQUIRE, DO-IF-ON, DO-IF-OFF)
-+# --------------------------------------------
-+# Parse the command-line option controlling a feature. CHECK_DEPEND is called
-+# if the user explicitly turns the feature on (and invokes DX_CHECK_DEPEND),
-+# otherwise CLEAR_DEPEND is called to turn off the default state if a required
-+# feature is disabled (using DX_CLEAR_DEPEND). REQUIRE performs additional
-+# requirement tests (DX_REQUIRE_PROG). Finally, an automake flag is set and
-+# DO-IF-ON or DO-IF-OFF are called according to the final state of the feature.
-+AC_DEFUN([DX_ARG_ABLE], [
-+ AC_DEFUN([DX_CURRENT_FEATURE], [$1])
-+ AC_DEFUN([DX_CURRENT_DESCRIPTION], [$2])
-+ AC_ARG_ENABLE(doxygen-$1,
-+ [AS_HELP_STRING(DX_IF_FEATURE([$1], [--disable-doxygen-$1],
-+ [--enable-doxygen-$1]),
-+ DX_IF_FEATURE([$1], [don't $2], [$2]))],
-+ [
-+case "$enableval" in
-+#(
-+y|Y|yes|Yes|YES)
-+ AC_SUBST([DX_FLAG_$1], 1)
-+ $3
-+;; #(
-+n|N|no|No|NO)
-+ AC_SUBST([DX_FLAG_$1], 0)
-+;; #(
-+*)
-+ AC_MSG_ERROR([invalid value '$enableval' given to doxygen-$1])
-+;;
++# func_lo2o object
++func_lo2o ()
++{
++ func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
++}
++
++# func_xform libobj-or-source
++func_xform ()
++{
++ func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
++}
++
++# func_arith arithmetic-term...
++func_arith ()
++{
++ func_arith_result=`expr "$[@]"`
++}
++
++# func_len string
++# STRING may not start with a hyphen.
++func_len ()
++{
++ func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
++}
++
++_LT_EOF
+esac
-+], [
-+AC_SUBST([DX_FLAG_$1], [DX_IF_FEATURE([$1], 1, 0)])
-+$4
++
++case $lt_shell_append in
++ yes)
++ cat << \_LT_EOF >> "$cfgfile"
++
++# func_append var value
++# Append VALUE to the end of shell variable VAR.
++func_append ()
++{
++ eval "$[1]+=\$[2]"
++}
++_LT_EOF
++ ;;
++ *)
++ cat << \_LT_EOF >> "$cfgfile"
++
++# func_append var value
++# Append VALUE to the end of shell variable VAR.
++func_append ()
++{
++ eval "$[1]=\$$[1]\$[2]"
++}
++
++_LT_EOF
++ ;;
++ esac
+])
-+if DX_TEST_FEATURE([$1]); then
-+ $5
-+ :
-+fi
-+if DX_TEST_FEATURE([$1]); then
-+ AM_CONDITIONAL(DX_COND_$1, :)
-+ $6
-+ :
-+else
-+ AM_CONDITIONAL(DX_COND_$1, false)
-+ $7
-+ :
-+fi
+Index: libdessert0.86-0.86.14/m4/ltoptions.m4
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/m4/ltoptions.m4 2009-12-09 16:38:27.261422553 +0100
+@@ -0,0 +1,368 @@
++# Helper functions for option handling. -*- Autoconf -*-
++#
++# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
++# Written by Gary V. Vaughan, 2004
++#
++# This file is free software; the Free Software Foundation gives
++# unlimited permission to copy and/or distribute it, with or without
++# modifications, as long as this notice is preserved.
++
++# serial 6 ltoptions.m4
++
++# This is to help aclocal find these macros, as it can't see m4_define.
++AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
++
++
++# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
++# ------------------------------------------
++m4_define([_LT_MANGLE_OPTION],
++[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
++
++
++# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
++# ---------------------------------------
++# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
++# matching handler defined, dispatch to it. Other OPTION-NAMEs are
++# saved as a flag.
++m4_define([_LT_SET_OPTION],
++[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
++m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
++ _LT_MANGLE_DEFUN([$1], [$2]),
++ [m4_warning([Unknown $1 option `$2'])])[]dnl
+])
+
-+## -------------- ##
-+## Public macros. ##
-+## -------------- ##
+
-+# DX_XXX_FEATURE(DEFAULT_STATE)
-+# -----------------------------
-+AC_DEFUN([DX_DOXYGEN_FEATURE], [AC_DEFUN([DX_FEATURE_doc], [$1])])
-+AC_DEFUN([DX_MAN_FEATURE], [AC_DEFUN([DX_FEATURE_man], [$1])])
-+AC_DEFUN([DX_HTML_FEATURE], [AC_DEFUN([DX_FEATURE_html], [$1])])
-+AC_DEFUN([DX_CHM_FEATURE], [AC_DEFUN([DX_FEATURE_chm], [$1])])
-+AC_DEFUN([DX_CHI_FEATURE], [AC_DEFUN([DX_FEATURE_chi], [$1])])
-+AC_DEFUN([DX_RTF_FEATURE], [AC_DEFUN([DX_FEATURE_rtf], [$1])])
-+AC_DEFUN([DX_XML_FEATURE], [AC_DEFUN([DX_FEATURE_xml], [$1])])
-+AC_DEFUN([DX_XML_FEATURE], [AC_DEFUN([DX_FEATURE_xml], [$1])])
-+AC_DEFUN([DX_PDF_FEATURE], [AC_DEFUN([DX_FEATURE_pdf], [$1])])
-+AC_DEFUN([DX_PS_FEATURE], [AC_DEFUN([DX_FEATURE_ps], [$1])])
++# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
++# ------------------------------------------------------------
++# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
++m4_define([_LT_IF_OPTION],
++[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
+
-+# DX_INIT_DOXYGEN(PROJECT, [CONFIG-FILE], [OUTPUT-DOC-DIR])
-+# ---------------------------------------------------------
-+# PROJECT also serves as the base name for the documentation files.
-+# The default CONFIG-FILE is "Doxyfile" and OUTPUT-DOC-DIR is "doxygen-doc".
-+AC_DEFUN([DX_INIT_DOXYGEN], [
+
-+# Files:
-+AC_SUBST([DX_PROJECT], [$1])
-+AC_SUBST([DX_CONFIG], [ifelse([$2], [], Doxyfile, [$2])])
-+AC_SUBST([DX_DOCDIR], [ifelse([$3], [], doxygen-doc, [$3])])
++# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
++# -------------------------------------------------------
++# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
++# are set.
++m4_define([_LT_UNLESS_OPTIONS],
++[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
++ [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
++ [m4_define([$0_found])])])[]dnl
++m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
++])[]dnl
++])
+
-+# Environment variables used inside doxygen.cfg:
-+DX_ENV_APPEND(SRCDIR, $srcdir)
-+DX_ENV_APPEND(PROJECT, $DX_PROJECT)
-+DX_ENV_APPEND(DOCDIR, $DX_DOCDIR)
-+DX_ENV_APPEND(VERSION, $PACKAGE_VERSION)
+
-+# Doxygen itself:
-+DX_ARG_ABLE(doc, [generate any doxygen documentation],
-+ [],
-+ [],
-+ [DX_REQUIRE_PROG([DX_DOXYGEN], doxygen)
-+ DX_REQUIRE_PROG([DX_PERL], perl)],
-+ [DX_ENV_APPEND(PERL_PATH, $DX_PERL)])
++# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
++# ----------------------------------------
++# OPTION-LIST is a space-separated list of Libtool options associated
++# with MACRO-NAME. If any OPTION has a matching handler declared with
++# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
++# the unknown option and exit.
++m4_defun([_LT_SET_OPTIONS],
++[# Set options
++m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
++ [_LT_SET_OPTION([$1], _LT_Option)])
++
++m4_if([$1],[LT_INIT],[
++ dnl
++ dnl Simply set some default values (i.e off) if boolean options were not
++ dnl specified:
++ _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
++ ])
++ _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
++ ])
++ dnl
++ dnl If no reference was made to various pairs of opposing options, then
++ dnl we run the default mode handler for the pair. For example, if neither
++ dnl `shared' nor `disable-shared' was passed, we enable building of shared
++ dnl archives by default:
++ _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
++ _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
++ _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
++ _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
++ [_LT_ENABLE_FAST_INSTALL])
++ ])
++])# _LT_SET_OPTIONS
+
-+# Dot for graphics:
-+DX_ARG_ABLE(dot, [generate graphics for doxygen documentation],
-+ [DX_CHECK_DEPEND(doc, 1)],
-+ [DX_CLEAR_DEPEND(doc, 1)],
-+ [DX_REQUIRE_PROG([DX_DOT], dot)],
-+ [DX_ENV_APPEND(HAVE_DOT, YES)
-+ DX_ENV_APPEND(DOT_PATH, [`DX_DIRNAME_EXPR($DX_DOT)`])],
-+ [DX_ENV_APPEND(HAVE_DOT, NO)])
+
-+# Man pages generation:
-+DX_ARG_ABLE(man, [generate doxygen manual pages],
-+ [DX_CHECK_DEPEND(doc, 1)],
-+ [DX_CLEAR_DEPEND(doc, 1)],
-+ [],
-+ [DX_ENV_APPEND(GENERATE_MAN, YES)],
-+ [DX_ENV_APPEND(GENERATE_MAN, NO)])
++## --------------------------------- ##
++## Macros to handle LT_INIT options. ##
++## --------------------------------- ##
+
-+# RTF file generation:
-+DX_ARG_ABLE(rtf, [generate doxygen RTF documentation],
-+ [DX_CHECK_DEPEND(doc, 1)],
-+ [DX_CLEAR_DEPEND(doc, 1)],
-+ [],
-+ [DX_ENV_APPEND(GENERATE_RTF, YES)],
-+ [DX_ENV_APPEND(GENERATE_RTF, NO)])
++# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
++# -----------------------------------------
++m4_define([_LT_MANGLE_DEFUN],
++[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
+
-+# XML file generation:
-+DX_ARG_ABLE(xml, [generate doxygen XML documentation],
-+ [DX_CHECK_DEPEND(doc, 1)],
-+ [DX_CLEAR_DEPEND(doc, 1)],
-+ [],
-+ [DX_ENV_APPEND(GENERATE_XML, YES)],
-+ [DX_ENV_APPEND(GENERATE_XML, NO)])
+
-+# (Compressed) HTML help generation:
-+DX_ARG_ABLE(chm, [generate doxygen compressed HTML help documentation],
-+ [DX_CHECK_DEPEND(doc, 1)],
-+ [DX_CLEAR_DEPEND(doc, 1)],
-+ [DX_REQUIRE_PROG([DX_HHC], hhc)],
-+ [DX_ENV_APPEND(HHC_PATH, $DX_HHC)
-+ DX_ENV_APPEND(GENERATE_HTML, YES)
-+ DX_ENV_APPEND(GENERATE_HTMLHELP, YES)],
-+ [DX_ENV_APPEND(GENERATE_HTMLHELP, NO)])
++# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
++# -----------------------------------------------
++m4_define([LT_OPTION_DEFINE],
++[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
++])# LT_OPTION_DEFINE
+
-+# Seperate CHI file generation.
-+DX_ARG_ABLE(chi, [generate doxygen seperate compressed HTML help index file],
-+ [DX_CHECK_DEPEND(chm, 1)],
-+ [DX_CLEAR_DEPEND(chm, 1)],
-+ [],
-+ [DX_ENV_APPEND(GENERATE_CHI, YES)],
-+ [DX_ENV_APPEND(GENERATE_CHI, NO)])
+
-+# Plain HTML pages generation:
-+DX_ARG_ABLE(html, [generate doxygen plain HTML documentation],
-+ [DX_CHECK_DEPEND(doc, 1) DX_CHECK_DEPEND(chm, 0)],
-+ [DX_CLEAR_DEPEND(doc, 1) DX_CLEAR_DEPEND(chm, 0)],
-+ [],
-+ [DX_ENV_APPEND(GENERATE_HTML, YES)],
-+ [DX_TEST_FEATURE(chm) || DX_ENV_APPEND(GENERATE_HTML, NO)])
++# dlopen
++# ------
++LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
++])
+
-+# PostScript file generation:
-+DX_ARG_ABLE(ps, [generate doxygen PostScript documentation],
-+ [DX_CHECK_DEPEND(doc, 1)],
-+ [DX_CLEAR_DEPEND(doc, 1)],
-+ [DX_REQUIRE_PROG([DX_LATEX], latex)
-+ DX_REQUIRE_PROG([DX_MAKEINDEX], makeindex)
-+ DX_REQUIRE_PROG([DX_DVIPS], dvips)
-+ DX_REQUIRE_PROG([DX_EGREP], egrep)])
++AU_DEFUN([AC_LIBTOOL_DLOPEN],
++[_LT_SET_OPTION([LT_INIT], [dlopen])
++AC_DIAGNOSE([obsolete],
++[$0: Remove this warning and the call to _LT_SET_OPTION when you
++put the `dlopen' option into LT_INIT's first parameter.])
++])
+
-+# PDF file generation:
-+DX_ARG_ABLE(pdf, [generate doxygen PDF documentation],
-+ [DX_CHECK_DEPEND(doc, 1)],
-+ [DX_CLEAR_DEPEND(doc, 1)],
-+ [DX_REQUIRE_PROG([DX_PDFLATEX], pdflatex)
-+ DX_REQUIRE_PROG([DX_MAKEINDEX], makeindex)
-+ DX_REQUIRE_PROG([DX_EGREP], egrep)])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
+
-+# LaTeX generation for PS and/or PDF:
-+if DX_TEST_FEATURE(ps) || DX_TEST_FEATURE(pdf); then
-+ AM_CONDITIONAL(DX_COND_latex, :)
-+ DX_ENV_APPEND(GENERATE_LATEX, YES)
-+else
-+ AM_CONDITIONAL(DX_COND_latex, false)
-+ DX_ENV_APPEND(GENERATE_LATEX, NO)
-+fi
+
-+# Paper size for PS and/or PDF:
-+AC_ARG_VAR(DOXYGEN_PAPER_SIZE,
-+ [a4wide (default), a4, letter, legal or executive])
-+case "$DOXYGEN_PAPER_SIZE" in
-+#(
-+"")
-+ AC_SUBST(DOXYGEN_PAPER_SIZE, "")
-+;; #(
-+a4wide|a4|letter|legal|executive)
-+ DX_ENV_APPEND(PAPER_SIZE, $DOXYGEN_PAPER_SIZE)
-+;; #(
-+*)
-+ AC_MSG_ERROR([unknown DOXYGEN_PAPER_SIZE='$DOXYGEN_PAPER_SIZE'])
-+;;
++# win32-dll
++# ---------
++# Declare package support for building win32 dll's.
++LT_OPTION_DEFINE([LT_INIT], [win32-dll],
++[enable_win32_dll=yes
++
++case $host in
++*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
++ AC_CHECK_TOOL(AS, as, false)
++ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
++ AC_CHECK_TOOL(OBJDUMP, objdump, false)
++ ;;
+esac
+
-+#For debugging:
-+#echo DX_FLAG_doc=$DX_FLAG_doc
-+#echo DX_FLAG_dot=$DX_FLAG_dot
-+#echo DX_FLAG_man=$DX_FLAG_man
-+#echo DX_FLAG_html=$DX_FLAG_html
-+#echo DX_FLAG_chm=$DX_FLAG_chm
-+#echo DX_FLAG_chi=$DX_FLAG_chi
-+#echo DX_FLAG_rtf=$DX_FLAG_rtf
-+#echo DX_FLAG_xml=$DX_FLAG_xml
-+#echo DX_FLAG_pdf=$DX_FLAG_pdf
-+#echo DX_FLAG_ps=$DX_FLAG_ps
-+#echo DX_ENV=$DX_ENV
++test -z "$AS" && AS=as
++_LT_DECL([], [AS], [0], [Assembler program])dnl
++
++test -z "$DLLTOOL" && DLLTOOL=dlltool
++_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
++
++test -z "$OBJDUMP" && OBJDUMP=objdump
++_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
++])# win32-dll
++
++AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
++[AC_REQUIRE([AC_CANONICAL_HOST])dnl
++_LT_SET_OPTION([LT_INIT], [win32-dll])
++AC_DIAGNOSE([obsolete],
++[$0: Remove this warning and the call to _LT_SET_OPTION when you
++put the `win32-dll' option into LT_INIT's first parameter.])
+])
-diff --git a/m4/ax_pthread.m4 b/m4/ax_pthread.m4
-new file mode 100644
-index 0000000..83d8d1b
---- /dev/null
-+++ b/m4/ax_pthread.m4
-@@ -0,0 +1,272 @@
-+# ===========================================================================
-+# http://www.nongnu.org/autoconf-archive/ax_pthread.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
-+#
-+# DESCRIPTION
-+#
-+# This macro figures out how to build C programs using POSIX threads. It
-+# sets the PTHREAD_LIBS output variable to the threads library and linker
-+# flags, and the PTHREAD_CFLAGS output variable to any special C compiler
-+# flags that are needed. (The user can also force certain compiler
-+# flags/libs to be tested by setting these environment variables.)
-+#
-+# Also sets PTHREAD_CC to any special C compiler that is needed for
-+# multi-threaded programs (defaults to the value of CC otherwise). (This
-+# is necessary on AIX to use the special cc_r compiler alias.)
-+#
-+# NOTE: You are assumed to not only compile your program with these flags,
-+# but also link it with them as well. e.g. you should link with
-+# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
-+#
-+# If you are only building threads programs, you may wish to use these
-+# variables in your default LIBS, CFLAGS, and CC:
-+#
-+# LIBS="$PTHREAD_LIBS $LIBS"
-+# CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-+# CC="$PTHREAD_CC"
-+#
-+# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant
-+# has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name
-+# (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
-+#
-+# ACTION-IF-FOUND is a list of shell commands to run if a threads library
-+# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it
-+# is not found. If ACTION-IF-FOUND is not specified, the default action
-+# will define HAVE_PTHREAD.
-+#
-+# Please let the authors know if this macro fails on any platform, or if
-+# you have any other suggestions or comments. This macro was based on work
-+# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help
-+# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by
-+# Alejandro Forero Cuervo to the autoconf macro repository. We are also
-+# grateful for the helpful feedback of numerous users.
-+#
-+# LICENSE
-+#
-+# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
-+#
-+# 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/>.
-+#
-+# As a special exception, the respective Autoconf Macro's copyright owner
-+# gives unlimited permission to copy, distribute and modify the configure
-+# scripts that are the output of Autoconf when processing the Macro. You
-+# need not follow the terms of the GNU General Public License when using
-+# or distributing such scripts, even though portions of the text of the
-+# Macro appear in them. The GNU General Public License (GPL) does govern
-+# all other use of the material that constitutes the Autoconf Macro.
-+#
-+# This special exception to the GPL applies to versions of the Autoconf
-+# Macro released by the Autoconf Archive. When you make and distribute a
-+# modified version of the Autoconf Macro, you may extend this special
-+# exception to the GPL to apply to your modified version as well.
+
-+AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
-+AC_DEFUN([AX_PTHREAD], [
-+AC_REQUIRE([AC_CANONICAL_HOST])
-+AC_LANG_SAVE
-+AC_LANG_C
-+ax_pthread_ok=no
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
++
++
++# _LT_ENABLE_SHARED([DEFAULT])
++# ----------------------------
++# implement the --enable-shared flag, and supports the `shared' and
++# `disable-shared' LT_INIT options.
++# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
++m4_define([_LT_ENABLE_SHARED],
++[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
++AC_ARG_ENABLE([shared],
++ [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
++ [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
++ [p=${PACKAGE-default}
++ case $enableval in
++ yes) enable_shared=yes ;;
++ no) enable_shared=no ;;
++ *)
++ enable_shared=no
++ # Look at the argument we got. We use all the common list separators.
++ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
++ for pkg in $enableval; do
++ IFS="$lt_save_ifs"
++ if test "X$pkg" = "X$p"; then
++ enable_shared=yes
++ fi
++ done
++ IFS="$lt_save_ifs"
++ ;;
++ esac],
++ [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
+
-+# We used to check for pthread.h first, but this fails if pthread.h
-+# requires special compiler flags (e.g. on True64 or Sequent).
-+# It gets checked for in the link test anyway.
++ _LT_DECL([build_libtool_libs], [enable_shared], [0],
++ [Whether or not to build shared libraries])
++])# _LT_ENABLE_SHARED
+
-+# First of all, check if the user has set any of the PTHREAD_LIBS,
-+# etcetera environment variables, and if threads linking works using
-+# them:
-+if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
-+ save_CFLAGS="$CFLAGS"
-+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-+ save_LIBS="$LIBS"
-+ LIBS="$PTHREAD_LIBS $LIBS"
-+ AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS])
-+ AC_TRY_LINK_FUNC(pthread_join, ax_pthread_ok=yes)
-+ AC_MSG_RESULT($ax_pthread_ok)
-+ if test x"$ax_pthread_ok" = xno; then
-+ PTHREAD_LIBS=""
-+ PTHREAD_CFLAGS=""
-+ fi
-+ LIBS="$save_LIBS"
-+ CFLAGS="$save_CFLAGS"
-+fi
++LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
++LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
+
-+# We must check for the threads library under a number of different
-+# names; the ordering is very important because some systems
-+# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
-+# libraries is broken (non-POSIX).
++# Old names:
++AC_DEFUN([AC_ENABLE_SHARED],
++[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
++])
+
-+# Create a list of thread flags to try. Items starting with a "-" are
-+# C compiler flags, and other items are library names, except for "none"
-+# which indicates that we try without any flags at all, and "pthread-config"
-+# which is a program returning the flags for the Pth emulation library.
++AC_DEFUN([AC_DISABLE_SHARED],
++[_LT_SET_OPTION([LT_INIT], [disable-shared])
++])
+
-+ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
++AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
++AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+
-+# The ordering *is* (sometimes) important. Some notes on the
-+# individual items follow:
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AM_ENABLE_SHARED], [])
++dnl AC_DEFUN([AM_DISABLE_SHARED], [])
+
-+# pthreads: AIX (must check this before -lpthread)
-+# none: in case threads are in libc; should be tried before -Kthread and
-+# other compiler flags to prevent continual compiler warnings
-+# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
-+# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
-+# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
-+# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
-+# -pthreads: Solaris/gcc
-+# -mthreads: Mingw32/gcc, Lynx/gcc
-+# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
-+# doesn't hurt to check since this sometimes defines pthreads too;
-+# also defines -D_REENTRANT)
-+# ... -mt is also the pthreads flag for HP/aCC
-+# pthread: Linux, etcetera
-+# --thread-safe: KAI C++
-+# pthread-config: use pthread-config program (for GNU Pth library)
+
-+case "${host_cpu}-${host_os}" in
-+ *solaris*)
+
-+ # On Solaris (at least, for some versions), libc contains stubbed
-+ # (non-functional) versions of the pthreads routines, so link-based
-+ # tests will erroneously succeed. (We need to link with -pthreads/-mt/
-+ # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather
-+ # a function called by this macro, so we could check for that, but
-+ # who knows whether they'll stub that too in a future libc.) So,
-+ # we'll just look for -pthreads and -lpthread first:
++# _LT_ENABLE_STATIC([DEFAULT])
++# ----------------------------
++# implement the --enable-static flag, and support the `static' and
++# `disable-static' LT_INIT options.
++# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
++m4_define([_LT_ENABLE_STATIC],
++[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
++AC_ARG_ENABLE([static],
++ [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
++ [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
++ [p=${PACKAGE-default}
++ case $enableval in
++ yes) enable_static=yes ;;
++ no) enable_static=no ;;
++ *)
++ enable_static=no
++ # Look at the argument we got. We use all the common list separators.
++ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
++ for pkg in $enableval; do
++ IFS="$lt_save_ifs"
++ if test "X$pkg" = "X$p"; then
++ enable_static=yes
++ fi
++ done
++ IFS="$lt_save_ifs"
++ ;;
++ esac],
++ [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
+
-+ ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags"
-+ ;;
-+esac
++ _LT_DECL([build_old_libs], [enable_static], [0],
++ [Whether or not to build static libraries])
++])# _LT_ENABLE_STATIC
+
-+if test x"$ax_pthread_ok" = xno; then
-+for flag in $ax_pthread_flags; do
++LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
++LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
+
-+ case $flag in
-+ none)
-+ AC_MSG_CHECKING([whether pthreads work without any flags])
-+ ;;
++# Old names:
++AC_DEFUN([AC_ENABLE_STATIC],
++[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
++])
+
-+ -*)
-+ AC_MSG_CHECKING([whether pthreads work with $flag])
-+ PTHREAD_CFLAGS="$flag"
-+ ;;
++AC_DEFUN([AC_DISABLE_STATIC],
++[_LT_SET_OPTION([LT_INIT], [disable-static])
++])
+
-+ pthread-config)
-+ AC_CHECK_PROG(ax_pthread_config, pthread-config, yes, no)
-+ if test x"$ax_pthread_config" = xno; then continue; fi
-+ PTHREAD_CFLAGS="`pthread-config --cflags`"
-+ PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
-+ ;;
++AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
++AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+
-+ *)
-+ AC_MSG_CHECKING([for the pthreads library -l$flag])
-+ PTHREAD_LIBS="-l$flag"
-+ ;;
-+ esac
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AM_ENABLE_STATIC], [])
++dnl AC_DEFUN([AM_DISABLE_STATIC], [])
+
-+ save_LIBS="$LIBS"
-+ save_CFLAGS="$CFLAGS"
-+ LIBS="$PTHREAD_LIBS $LIBS"
-+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+
-+ # Check for various functions. We must include pthread.h,
-+ # since some functions may be macros. (On the Sequent, we
-+ # need a special flag -Kthread to make this header compile.)
-+ # We check for pthread_join because it is in -lpthread on IRIX
-+ # while pthread_create is in libc. We check for pthread_attr_init
-+ # due to DEC craziness with -lpthreads. We check for
-+ # pthread_cleanup_push because it is one of the few pthread
-+ # functions on Solaris that doesn't have a non-functional libc stub.
-+ # We try pthread_create on general principles.
-+ AC_TRY_LINK([#include <pthread.h>],
-+ [pthread_t th; pthread_join(th, 0);
-+ pthread_attr_init(0); pthread_cleanup_push(0, 0);
-+ pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
-+ [ax_pthread_ok=yes])
+
-+ LIBS="$save_LIBS"
-+ CFLAGS="$save_CFLAGS"
++# _LT_ENABLE_FAST_INSTALL([DEFAULT])
++# ----------------------------------
++# implement the --enable-fast-install flag, and support the `fast-install'
++# and `disable-fast-install' LT_INIT options.
++# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
++m4_define([_LT_ENABLE_FAST_INSTALL],
++[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
++AC_ARG_ENABLE([fast-install],
++ [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
++ [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
++ [p=${PACKAGE-default}
++ case $enableval in
++ yes) enable_fast_install=yes ;;
++ no) enable_fast_install=no ;;
++ *)
++ enable_fast_install=no
++ # Look at the argument we got. We use all the common list separators.
++ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
++ for pkg in $enableval; do
++ IFS="$lt_save_ifs"
++ if test "X$pkg" = "X$p"; then
++ enable_fast_install=yes
++ fi
++ done
++ IFS="$lt_save_ifs"
++ ;;
++ esac],
++ [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
++
++_LT_DECL([fast_install], [enable_fast_install], [0],
++ [Whether or not to optimize for fast installation])dnl
++])# _LT_ENABLE_FAST_INSTALL
++
++LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
++LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
++
++# Old names:
++AU_DEFUN([AC_ENABLE_FAST_INSTALL],
++[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
++AC_DIAGNOSE([obsolete],
++[$0: Remove this warning and the call to _LT_SET_OPTION when you put
++the `fast-install' option into LT_INIT's first parameter.])
++])
+
-+ AC_MSG_RESULT($ax_pthread_ok)
-+ if test "x$ax_pthread_ok" = xyes; then
-+ break;
-+ fi
++AU_DEFUN([AC_DISABLE_FAST_INSTALL],
++[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
++AC_DIAGNOSE([obsolete],
++[$0: Remove this warning and the call to _LT_SET_OPTION when you put
++the `disable-fast-install' option into LT_INIT's first parameter.])
++])
+
-+ PTHREAD_LIBS=""
-+ PTHREAD_CFLAGS=""
-+done
-+fi
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
++dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
++
++
++# _LT_WITH_PIC([MODE])
++# --------------------
++# implement the --with-pic flag, and support the `pic-only' and `no-pic'
++# LT_INIT options.
++# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
++m4_define([_LT_WITH_PIC],
++[AC_ARG_WITH([pic],
++ [AS_HELP_STRING([--with-pic],
++ [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
++ [pic_mode="$withval"],
++ [pic_mode=default])
++
++test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
++
++_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
++])# _LT_WITH_PIC
++
++LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
++LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
++
++# Old name:
++AU_DEFUN([AC_LIBTOOL_PICMODE],
++[_LT_SET_OPTION([LT_INIT], [pic-only])
++AC_DIAGNOSE([obsolete],
++[$0: Remove this warning and the call to _LT_SET_OPTION when you
++put the `pic-only' option into LT_INIT's first parameter.])
++])
+
-+# Various other checks:
-+if test "x$ax_pthread_ok" = xyes; then
-+ save_LIBS="$LIBS"
-+ LIBS="$PTHREAD_LIBS $LIBS"
-+ save_CFLAGS="$CFLAGS"
-+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
+
-+ # Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
-+ AC_MSG_CHECKING([for joinable pthread attribute])
-+ attr_name=unknown
-+ for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
-+ AC_TRY_LINK([#include <pthread.h>], [int attr=$attr; return attr;],
-+ [attr_name=$attr; break])
-+ done
-+ AC_MSG_RESULT($attr_name)
-+ if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
-+ AC_DEFINE_UNQUOTED(PTHREAD_CREATE_JOINABLE, $attr_name,
-+ [Define to necessary symbol if this constant
-+ uses a non-standard name on your system.])
-+ fi
++## ----------------- ##
++## LTDL_INIT Options ##
++## ----------------- ##
+
-+ AC_MSG_CHECKING([if more special flags are required for pthreads])
-+ flag=no
-+ case "${host_cpu}-${host_os}" in
-+ *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";;
-+ *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";;
-+ esac
-+ AC_MSG_RESULT(${flag})
-+ if test "x$flag" != xno; then
-+ PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
-+ fi
++m4_define([_LTDL_MODE], [])
++LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
++ [m4_define([_LTDL_MODE], [nonrecursive])])
++LT_OPTION_DEFINE([LTDL_INIT], [recursive],
++ [m4_define([_LTDL_MODE], [recursive])])
++LT_OPTION_DEFINE([LTDL_INIT], [subproject],
++ [m4_define([_LTDL_MODE], [subproject])])
++
++m4_define([_LTDL_TYPE], [])
++LT_OPTION_DEFINE([LTDL_INIT], [installable],
++ [m4_define([_LTDL_TYPE], [installable])])
++LT_OPTION_DEFINE([LTDL_INIT], [convenience],
++ [m4_define([_LTDL_TYPE], [convenience])])
+Index: libdessert0.86-0.86.14/m4/ltsugar.m4
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/m4/ltsugar.m4 2009-12-09 16:38:27.261422553 +0100
+@@ -0,0 +1,123 @@
++# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
++#
++# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
++# Written by Gary V. Vaughan, 2004
++#
++# This file is free software; the Free Software Foundation gives
++# unlimited permission to copy and/or distribute it, with or without
++# modifications, as long as this notice is preserved.
+
-+ LIBS="$save_LIBS"
-+ CFLAGS="$save_CFLAGS"
++# serial 6 ltsugar.m4
+
-+ # More AIX lossage: must compile with xlc_r or cc_r
-+ if test x"$GCC" != xyes; then
-+ AC_CHECK_PROGS(PTHREAD_CC, xlc_r cc_r, ${CC})
-+ else
-+ PTHREAD_CC=$CC
-+ fi
-+else
-+ PTHREAD_CC="$CC"
-+fi
++# This is to help aclocal find these macros, as it can't see m4_define.
++AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+
-+AC_SUBST(PTHREAD_LIBS)
-+AC_SUBST(PTHREAD_CFLAGS)
-+AC_SUBST(PTHREAD_CC)
+
-+# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
-+if test x"$ax_pthread_ok" = xyes; then
-+ ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1])
-+ :
-+else
-+ ax_pthread_ok=no
-+ $2
-+fi
-+AC_LANG_RESTORE
-+])dnl AX_PTHREAD
-diff --git a/m4/net-snmp.m4 b/m4/net-snmp.m4
-new file mode 100644
-index 0000000..c62df76
---- /dev/null
-+++ b/m4/net-snmp.m4
++# lt_join(SEP, ARG1, [ARG2...])
++# -----------------------------
++# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
++# associated separator.
++# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
++# versions in m4sugar had bugs.
++m4_define([lt_join],
++[m4_if([$#], [1], [],
++ [$#], [2], [[$2]],
++ [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
++m4_define([_lt_join],
++[m4_if([$#$2], [2], [],
++ [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
++
++
++# lt_car(LIST)
++# lt_cdr(LIST)
++# ------------
++# Manipulate m4 lists.
++# These macros are necessary as long as will still need to support
++# Autoconf-2.59 which quotes differently.
++m4_define([lt_car], [[$1]])
++m4_define([lt_cdr],
++[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
++ [$#], 1, [],
++ [m4_dquote(m4_shift($@))])])
++m4_define([lt_unquote], $1)
++
++
++# lt_append(MACRO-NAME, STRING, [SEPARATOR])
++# ------------------------------------------
++# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
++# Note that neither SEPARATOR nor STRING are expanded; they are appended
++# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
++# No SEPARATOR is output if MACRO-NAME was previously undefined (different
++# than defined and empty).
++#
++# This macro is needed until we can rely on Autoconf 2.62, since earlier
++# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
++m4_define([lt_append],
++[m4_define([$1],
++ m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
++
++
++
++# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
++# ----------------------------------------------------------
++# Produce a SEP delimited list of all paired combinations of elements of
++# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
++# has the form PREFIXmINFIXSUFFIXn.
++# Needed until we can rely on m4_combine added in Autoconf 2.62.
++m4_define([lt_combine],
++[m4_if(m4_eval([$# > 3]), [1],
++ [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
++[[m4_foreach([_Lt_prefix], [$2],
++ [m4_foreach([_Lt_suffix],
++ ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
++ [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
++
++
++# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
++# -----------------------------------------------------------------------
++# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
++# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
++m4_define([lt_if_append_uniq],
++[m4_ifdef([$1],
++ [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
++ [lt_append([$1], [$2], [$3])$4],
++ [$5])],
++ [lt_append([$1], [$2], [$3])$4])])
++
++
++# lt_dict_add(DICT, KEY, VALUE)
++# -----------------------------
++m4_define([lt_dict_add],
++[m4_define([$1($2)], [$3])])
++
++
++# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
++# --------------------------------------------
++m4_define([lt_dict_add_subkey],
++[m4_define([$1($2:$3)], [$4])])
++
++
++# lt_dict_fetch(DICT, KEY, [SUBKEY])
++# ----------------------------------
++m4_define([lt_dict_fetch],
++[m4_ifval([$3],
++ m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
++ m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
++
++
++# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
++# -----------------------------------------------------------------
++m4_define([lt_if_dict_fetch],
++[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
++ [$5],
++ [$6])])
++
++
++# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
++# --------------------------------------------------------------
++m4_define([lt_dict_filter],
++[m4_if([$5], [], [],
++ [lt_join(m4_quote(m4_default([$4], [[, ]])),
++ lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
++ [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
++])
+Index: libdessert0.86-0.86.14/m4/ltversion.m4
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/m4/ltversion.m4 2009-12-09 16:38:27.261422553 +0100
+@@ -0,0 +1,23 @@
++# ltversion.m4 -- version numbers -*- Autoconf -*-
++#
++# Copyright (C) 2004 Free Software Foundation, Inc.
++# Written by Scott James Remnant, 2004
++#
++# This file is free software; the Free Software Foundation gives
++# unlimited permission to copy and/or distribute it, with or without
++# modifications, as long as this notice is preserved.
++
++# Generated from ltversion.in.
++
++# serial 3012 ltversion.m4
++# This file is part of GNU Libtool
++
++m4_define([LT_PACKAGE_VERSION], [2.2.6])
++m4_define([LT_PACKAGE_REVISION], [1.3012])
++
++AC_DEFUN([LTVERSION_VERSION],
++[macro_version='2.2.6'
++macro_revision='1.3012'
++_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
++_LT_DECL(, macro_revision, 0)
++])
+Index: libdessert0.86-0.86.14/m4/lt~obsolete.m4
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/m4/lt~obsolete.m4 2009-12-09 16:38:27.261422553 +0100
+@@ -0,0 +1,92 @@
++# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
++#
++# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
++# Written by Scott James Remnant, 2004.
++#
++# This file is free software; the Free Software Foundation gives
++# unlimited permission to copy and/or distribute it, with or without
++# modifications, as long as this notice is preserved.
++
++# serial 4 lt~obsolete.m4
++
++# These exist entirely to fool aclocal when bootstrapping libtool.
++#
++# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
++# which have later been changed to m4_define as they aren't part of the
++# exported API, or moved to Autoconf or Automake where they belong.
++#
++# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
++# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
++# using a macro with the same name in our local m4/libtool.m4 it'll
++# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
++# and doesn't know about Autoconf macros at all.)
++#
++# So we provide this file, which has a silly filename so it's always
++# included after everything else. This provides aclocal with the
++# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
++# because those macros already exist, or will be overwritten later.
++# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
++#
++# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
++# Yes, that means every name once taken will need to remain here until
++# we give up compatibility with versions before 1.7, at which point
++# we need to keep only those names which we still refer to.
++
++# This is to help aclocal find these macros, as it can't see m4_define.
++AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
++
++m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
++m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
++m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
++m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
++m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
++m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
++m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
++m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
++m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
++m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
++m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
++m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
++m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
++m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
++m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
++m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
++m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
++m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
++m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
++m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
++m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
++m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
++m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
++m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
++m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
++m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
++m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
++m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
++m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
++m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
++m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
++m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
++m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
++m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
++m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
++m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
++m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
++m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
++m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
++m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
++m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
++m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
++m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])])
++m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
++m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
++m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
++m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
++m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
++m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
++m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
++m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
++m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
++m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
++m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
++m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
+Index: libdessert0.86-0.86.14/m4/net-snmp.m4
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/m4/net-snmp.m4 2009-12-09 16:38:27.261422553 +0100
@@ -0,0 +1,10 @@
+AC_DEFUN([AC_CHECK_NET_SNMP],[
+AC_MSG_CHECKING([Searching for net-snmp lib])
-+AC_CHECK_PROG([SNMP_LIBS],[net-snmp-config],[`net-snmp-config --libs`],[none])
++AC_CHECK_PROG([SNMP_LIBS],[net-snmp-config],[`net-snmp-config --agent-libs`],[none])
+AC_CHECK_PROG([SNMP_CFLGAS],[net-snmp-config],[`net-snmp-config --cflags`],[none])
+if test x"${SNMP_LIBS}" = "xnone"; then
+AC_MSG_ERROR([net-snmp-config not found, please install the development package of net-snmp])
+AC_MSG_RESULT([found net-snmp-config])
+fi
+])
-diff --git a/m4/pcap.m4 b/m4/pcap.m4
-new file mode 100644
-index 0000000..69d88f3
---- /dev/null
-+++ b/m4/pcap.m4
+Index: libdessert0.86-0.86.14/m4/pcap.m4
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/m4/pcap.m4 2009-12-09 16:38:27.261422553 +0100
@@ -0,0 +1,10 @@
+AC_DEFUN([AC_CHECK_PCAP],[
+AC_MSG_CHECKING([Searching for pcap lib])
+AC_MSG_RESULT([found pcap])
+fi
+])
-diff --git a/missing b/missing
-new file mode 100755
-index 0000000..28055d2
---- /dev/null
-+++ b/missing
+Index: libdessert0.86-0.86.14/missing
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/missing 2009-12-09 16:38:27.264756682 +0100
@@ -0,0 +1,376 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
-diff --git a/snmp/dessertAppParamsTable.c b/snmp/dessertAppParamsTable.c
-deleted file mode 100644
-index 47ef1ec..0000000
---- a/snmp/dessertAppParamsTable.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertAppParamsTable.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertAppParamsTable.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,231 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-
-
-/** @{ */
-diff --git a/snmp/dessertAppParamsTable.h b/snmp/dessertAppParamsTable.h
-deleted file mode 100644
-index 5c972d1..0000000
---- a/snmp/dessertAppParamsTable.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertAppParamsTable.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertAppParamsTable.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,252 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-#endif
-#endif /* DESSERTAPPPARAMSTABLE_H */
-/** @} */
-diff --git a/snmp/dessertAppParamsTable_data_access.c b/snmp/dessertAppParamsTable_data_access.c
-deleted file mode 100644
-index f03fc77..0000000
---- a/snmp/dessertAppParamsTable_data_access.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertAppParamsTable_data_access.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertAppParamsTable_data_access.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,352 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-} /* dessertAppParamsTable_row_prep */
-
-/** @} */
-diff --git a/snmp/dessertAppParamsTable_data_access.h b/snmp/dessertAppParamsTable_data_access.h
-deleted file mode 100644
-index f4e2b29..0000000
---- a/snmp/dessertAppParamsTable_data_access.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertAppParamsTable_data_access.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertAppParamsTable_data_access.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,93 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-}
-#endif
-#endif /* DESSERTAPPPARAMSTABLE_DATA_ACCESS_H */
-diff --git a/snmp/dessertAppParamsTable_data_get.c b/snmp/dessertAppParamsTable_data_get.c
-deleted file mode 100644
-index f3b1327..0000000
---- a/snmp/dessertAppParamsTable_data_get.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertAppParamsTable_data_get.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertAppParamsTable_data_get.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,731 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-
-
-/** @} */
-diff --git a/snmp/dessertAppParamsTable_data_get.h b/snmp/dessertAppParamsTable_data_get.h
-deleted file mode 100644
-index 1e955ee..0000000
---- a/snmp/dessertAppParamsTable_data_get.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertAppParamsTable_data_get.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertAppParamsTable_data_get.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,136 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-#endif
-#endif /* DESSERTAPPPARAMSTABLE_DATA_GET_H */
-/** @} */
-diff --git a/snmp/dessertAppParamsTable_data_set.c b/snmp/dessertAppParamsTable_data_set.c
-deleted file mode 100644
-index bdb5e69..0000000
---- a/snmp/dessertAppParamsTable_data_set.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertAppParamsTable_data_set.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertAppParamsTable_data_set.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,1241 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-} /* appParamsOctetString_undo */
-
-/** @} */
-diff --git a/snmp/dessertAppParamsTable_data_set.h b/snmp/dessertAppParamsTable_data_set.h
-deleted file mode 100644
-index 588437a..0000000
---- a/snmp/dessertAppParamsTable_data_set.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertAppParamsTable_data_set.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertAppParamsTable_data_set.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,168 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-}
-#endif
-#endif /* DESSERTAPPPARAMSTABLE_DATA_SET_H */
-diff --git a/snmp/dessertAppParamsTable_enums.h b/snmp/dessertAppParamsTable_enums.h
-deleted file mode 100644
-index bd8d852..0000000
---- a/snmp/dessertAppParamsTable_enums.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertAppParamsTable_enums.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertAppParamsTable_enums.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,93 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-}
-#endif
-#endif /* DESSERTAPPPARAMSTABLE_ENUMS_H */
-diff --git a/snmp/dessertAppParamsTable_interface.c b/snmp/dessertAppParamsTable_interface.c
-deleted file mode 100644
-index 4fc55e5..0000000
---- a/snmp/dessertAppParamsTable_interface.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertAppParamsTable_interface.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertAppParamsTable_interface.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,1843 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-
- return rowreq_ctx;
-}
-diff --git a/snmp/dessertAppParamsTable_interface.h b/snmp/dessertAppParamsTable_interface.h
-deleted file mode 100644
-index 42db682..0000000
---- a/snmp/dessertAppParamsTable_interface.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertAppParamsTable_interface.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertAppParamsTable_interface.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,101 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-#endif
-#endif /* DESSERTAPPPARAMSTABLE_INTERFACE_H */
-/** @} */
-diff --git a/snmp/dessertAppParamsTable_oids.h b/snmp/dessertAppParamsTable_oids.h
-deleted file mode 100644
-index d36d8f8..0000000
---- a/snmp/dessertAppParamsTable_oids.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertAppParamsTable_oids.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertAppParamsTable_oids.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,56 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-}
-#endif
-#endif /* DESSERTAPPPARAMSTABLE_OIDS_H */
-diff --git a/snmp/dessertAppStatsTable.c b/snmp/dessertAppStatsTable.c
-deleted file mode 100644
-index 0a45018..0000000
---- a/snmp/dessertAppStatsTable.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertAppStatsTable.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertAppStatsTable.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,173 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-
-
-/** @{ */
-diff --git a/snmp/dessertAppStatsTable.h b/snmp/dessertAppStatsTable.h
-deleted file mode 100644
-index 1f8a4b3..0000000
---- a/snmp/dessertAppStatsTable.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertAppStatsTable.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertAppStatsTable.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,251 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-#endif
-#endif /* DESSERTAPPSTATSTABLE_H */
-/** @} */
-diff --git a/snmp/dessertAppStatsTable_data_access.c b/snmp/dessertAppStatsTable_data_access.c
-deleted file mode 100644
-index d98e509..0000000
---- a/snmp/dessertAppStatsTable_data_access.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertAppStatsTable_data_access.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertAppStatsTable_data_access.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,407 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-} /* dessertAppStatsTable_row_prep */
-
-/** @} */
-diff --git a/snmp/dessertAppStatsTable_data_access.h b/snmp/dessertAppStatsTable_data_access.h
-deleted file mode 100644
-index 16852fb..0000000
---- a/snmp/dessertAppStatsTable_data_access.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertAppStatsTable_data_access.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertAppStatsTable_data_access.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,93 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-}
-#endif
-#endif /* DESSERTAPPSTATSTABLE_DATA_ACCESS_H */
-diff --git a/snmp/dessertAppStatsTable_data_get.c b/snmp/dessertAppStatsTable_data_get.c
-deleted file mode 100644
-index 1185126..0000000
---- a/snmp/dessertAppStatsTable_data_get.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertAppStatsTable_data_get.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertAppStatsTable_data_get.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,1088 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-
-
-/** @} */
-diff --git a/snmp/dessertAppStatsTable_data_get.h b/snmp/dessertAppStatsTable_data_get.h
-deleted file mode 100644
-index b109d9c..0000000
---- a/snmp/dessertAppStatsTable_data_get.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertAppStatsTable_data_get.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertAppStatsTable_data_get.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,174 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-#endif
-#endif /* DESSERTAPPSTATSTABLE_DATA_GET_H */
-/** @} */
-diff --git a/snmp/dessertAppStatsTable_data_set.c b/snmp/dessertAppStatsTable_data_set.c
-deleted file mode 100644
-index 68ccfda..0000000
---- a/snmp/dessertAppStatsTable_data_set.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertAppStatsTable_data_set.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertAppStatsTable_data_set.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,28 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
- * @{
- */
-/** @} */
-diff --git a/snmp/dessertAppStatsTable_data_set.h b/snmp/dessertAppStatsTable_data_set.h
-deleted file mode 100644
-index 8e65c17..0000000
---- a/snmp/dessertAppStatsTable_data_set.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertAppStatsTable_data_set.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertAppStatsTable_data_set.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,28 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-}
-#endif
-#endif /* DESSERTAPPSTATSTABLE_DATA_SET_H */
-diff --git a/snmp/dessertAppStatsTable_enums.h b/snmp/dessertAppStatsTable_enums.h
-deleted file mode 100644
-index 320e5fc..0000000
---- a/snmp/dessertAppStatsTable_enums.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertAppStatsTable_enums.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertAppStatsTable_enums.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,118 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-}
-#endif
-#endif /* DESSERTAPPSTATSTABLE_ENUMS_H */
-diff --git a/snmp/dessertAppStatsTable_interface.c b/snmp/dessertAppStatsTable_interface.c
-deleted file mode 100644
-index b024106..0000000
---- a/snmp/dessertAppStatsTable_interface.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertAppStatsTable_interface.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertAppStatsTable_interface.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,1069 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-
- return rowreq_ctx;
-}
-diff --git a/snmp/dessertAppStatsTable_interface.h b/snmp/dessertAppStatsTable_interface.h
-deleted file mode 100644
-index 7fa936e..0000000
---- a/snmp/dessertAppStatsTable_interface.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertAppStatsTable_interface.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertAppStatsTable_interface.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,98 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-#endif
-#endif /* DESSERTAPPSTATSTABLE_INTERFACE_H */
-/** @} */
-diff --git a/snmp/dessertAppStatsTable_oids.h b/snmp/dessertAppStatsTable_oids.h
-deleted file mode 100644
-index 2eba41a..0000000
---- a/snmp/dessertAppStatsTable_oids.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertAppStatsTable_oids.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertAppStatsTable_oids.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,64 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-}
-#endif
-#endif /* DESSERTAPPSTATSTABLE_OIDS_H */
-diff --git a/snmp/dessertMeshifTable.c b/snmp/dessertMeshifTable.c
-deleted file mode 100644
-index 4c1c049..0000000
---- a/snmp/dessertMeshifTable.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertMeshifTable.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertMeshifTable.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,214 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-
-
-/** @{ */
-diff --git a/snmp/dessertMeshifTable.h b/snmp/dessertMeshifTable.h
-deleted file mode 100644
-index afa9b3a..0000000
---- a/snmp/dessertMeshifTable.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertMeshifTable.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertMeshifTable.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,222 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-#endif
-#endif /* DESSERTMESHIFTABLE_H */
-/** @} */
-diff --git a/snmp/dessertMeshifTable_data_access.c b/snmp/dessertMeshifTable_data_access.c
-deleted file mode 100644
-index 2fd8a64..0000000
---- a/snmp/dessertMeshifTable_data_access.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertMeshifTable_data_access.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertMeshifTable_data_access.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,377 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-} /* dessertMeshifTable_row_prep */
-
-/** @} */
-diff --git a/snmp/dessertMeshifTable_data_access.h b/snmp/dessertMeshifTable_data_access.h
-deleted file mode 100644
-index 32fc460..0000000
---- a/snmp/dessertMeshifTable_data_access.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertMeshifTable_data_access.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertMeshifTable_data_access.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,77 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-}
-#endif
-#endif /* DESSERTMESHIFTABLE_DATA_ACCESS_H */
-diff --git a/snmp/dessertMeshifTable_data_get.c b/snmp/dessertMeshifTable_data_get.c
-deleted file mode 100644
-index 6dd56c0..0000000
---- a/snmp/dessertMeshifTable_data_get.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertMeshifTable_data_get.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertMeshifTable_data_get.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,522 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-
-
-/** @} */
-diff --git a/snmp/dessertMeshifTable_data_get.h b/snmp/dessertMeshifTable_data_get.h
-deleted file mode 100644
-index 0a7657d..0000000
---- a/snmp/dessertMeshifTable_data_get.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertMeshifTable_data_get.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertMeshifTable_data_get.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,109 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-#endif
-#endif /* DESSERTMESHIFTABLE_DATA_GET_H */
-/** @} */
-diff --git a/snmp/dessertMeshifTable_data_set.c b/snmp/dessertMeshifTable_data_set.c
-deleted file mode 100644
-index 7cc7af1..0000000
---- a/snmp/dessertMeshifTable_data_set.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertMeshifTable_data_set.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertMeshifTable_data_set.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,28 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
- * @{
- */
-/** @} */
-diff --git a/snmp/dessertMeshifTable_data_set.h b/snmp/dessertMeshifTable_data_set.h
-deleted file mode 100644
-index 2a96aaf..0000000
---- a/snmp/dessertMeshifTable_data_set.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertMeshifTable_data_set.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertMeshifTable_data_set.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,28 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-}
-#endif
-#endif /* DESSERTMESHIFTABLE_DATA_SET_H */
-diff --git a/snmp/dessertMeshifTable_enums.h b/snmp/dessertMeshifTable_enums.h
-deleted file mode 100644
-index 4b9b078..0000000
---- a/snmp/dessertMeshifTable_enums.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertMeshifTable_enums.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertMeshifTable_enums.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,39 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-}
-#endif
-#endif /* DESSERTMESHIFTABLE_ENUMS_H */
-diff --git a/snmp/dessertMeshifTable_interface.c b/snmp/dessertMeshifTable_interface.c
-deleted file mode 100644
-index 976dcd6..0000000
---- a/snmp/dessertMeshifTable_interface.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertMeshifTable_interface.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertMeshifTable_interface.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,944 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-
- return rowreq_ctx;
-}
-diff --git a/snmp/dessertMeshifTable_interface.h b/snmp/dessertMeshifTable_interface.h
-deleted file mode 100644
-index 5bee20c..0000000
---- a/snmp/dessertMeshifTable_interface.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertMeshifTable_interface.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertMeshifTable_interface.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,98 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-#endif
-#endif /* DESSERTMESHIFTABLE_INTERFACE_H */
-/** @} */
-diff --git a/snmp/dessertMeshifTable_oids.h b/snmp/dessertMeshifTable_oids.h
-deleted file mode 100644
-index cbb5334..0000000
---- a/snmp/dessertMeshifTable_oids.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertMeshifTable_oids.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertMeshifTable_oids.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,43 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-}
-#endif
-#endif /* DESSERTMESHIFTABLE_OIDS_H */
-diff --git a/snmp/dessertObjects.c b/snmp/dessertObjects.c
-deleted file mode 100644
-index c00b267..0000000
---- a/snmp/dessertObjects.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertObjects.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertObjects.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,164 +0,0 @@
-/**
- * Note: this file originally auto-generated by mib2c using
-
- return SNMP_ERR_NOERROR;
-}
-diff --git a/snmp/dessertObjects.h b/snmp/dessertObjects.h
-deleted file mode 100644
-index 520601d..0000000
---- a/snmp/dessertObjects.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertObjects.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertObjects.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,17 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-Netsnmp_Node_Handler handle_protocollShortName;
-
-#endif /* DESSERTOBJECTS_H */
-diff --git a/snmp/dessertSysifTable.c b/snmp/dessertSysifTable.c
-deleted file mode 100644
-index 63cf3ee..0000000
---- a/snmp/dessertSysifTable.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertSysifTable.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertSysifTable.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,215 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-
-
-/** @{ */
-diff --git a/snmp/dessertSysifTable.h b/snmp/dessertSysifTable.h
-deleted file mode 100644
-index 30f4300..0000000
---- a/snmp/dessertSysifTable.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertSysifTable.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertSysifTable.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,230 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-#endif
-#endif /* DESSERTSYSIFTABLE_H */
-/** @} */
-diff --git a/snmp/dessertSysifTable_data_access.c b/snmp/dessertSysifTable_data_access.c
-deleted file mode 100644
-index 1a78894..0000000
---- a/snmp/dessertSysifTable_data_access.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertSysifTable_data_access.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertSysifTable_data_access.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,342 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-} /* dessertSysifTable_row_prep */
-
-/** @} */
-diff --git a/snmp/dessertSysifTable_data_access.h b/snmp/dessertSysifTable_data_access.h
-deleted file mode 100644
-index 2e37990..0000000
---- a/snmp/dessertSysifTable_data_access.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertSysifTable_data_access.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertSysifTable_data_access.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,90 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-}
-#endif
-#endif /* DESSERTSYSIFTABLE_DATA_ACCESS_H */
-diff --git a/snmp/dessertSysifTable_data_get.c b/snmp/dessertSysifTable_data_get.c
-deleted file mode 100644
-index a4afe75..0000000
---- a/snmp/dessertSysifTable_data_get.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertSysifTable_data_get.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertSysifTable_data_get.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,507 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-
-
-/** @} */
-diff --git a/snmp/dessertSysifTable_data_get.h b/snmp/dessertSysifTable_data_get.h
-deleted file mode 100644
-index 19e8426..0000000
---- a/snmp/dessertSysifTable_data_get.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertSysifTable_data_get.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertSysifTable_data_get.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,105 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-#endif
-#endif /* DESSERTSYSIFTABLE_DATA_GET_H */
-/** @} */
-diff --git a/snmp/dessertSysifTable_data_set.c b/snmp/dessertSysifTable_data_set.c
-deleted file mode 100644
-index 8f3c98e..0000000
---- a/snmp/dessertSysifTable_data_set.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertSysifTable_data_set.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertSysifTable_data_set.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,28 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
- * @{
- */
-/** @} */
-diff --git a/snmp/dessertSysifTable_data_set.h b/snmp/dessertSysifTable_data_set.h
-deleted file mode 100644
-index ab7d732..0000000
---- a/snmp/dessertSysifTable_data_set.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertSysifTable_data_set.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertSysifTable_data_set.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,28 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-}
-#endif
-#endif /* DESSERTSYSIFTABLE_DATA_SET_H */
-diff --git a/snmp/dessertSysifTable_enums.h b/snmp/dessertSysifTable_enums.h
-deleted file mode 100644
-index f18e25d..0000000
---- a/snmp/dessertSysifTable_enums.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertSysifTable_enums.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertSysifTable_enums.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,39 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-}
-#endif
-#endif /* DESSERTSYSIFTABLE_ENUMS_H */
-diff --git a/snmp/dessertSysifTable_interface.c b/snmp/dessertSysifTable_interface.c
-deleted file mode 100644
-index 0355204..0000000
---- a/snmp/dessertSysifTable_interface.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertSysifTable_interface.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertSysifTable_interface.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,936 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-
- return rowreq_ctx;
-}
-diff --git a/snmp/dessertSysifTable_interface.h b/snmp/dessertSysifTable_interface.h
-deleted file mode 100644
-index c47cbee..0000000
---- a/snmp/dessertSysifTable_interface.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertSysifTable_interface.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertSysifTable_interface.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,97 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-#endif
-#endif /* DESSERTSYSIFTABLE_INTERFACE_H */
-/** @} */
-diff --git a/snmp/dessertSysifTable_oids.h b/snmp/dessertSysifTable_oids.h
-deleted file mode 100644
-index e3a61c8..0000000
---- a/snmp/dessertSysifTable_oids.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertSysifTable_oids.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertSysifTable_oids.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,43 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
-}
-#endif
-#endif /* DESSERTSYSIFTABLE_OIDS_H */
-diff --git a/snmp/dessertSysifTable_subagent.c b/snmp/dessertSysifTable_subagent.c
-deleted file mode 100644
-index 4f3d47a..0000000
---- a/snmp/dessertSysifTable_subagent.c
-+++ /dev/null
+Index: libdessert0.86-0.86.14/snmp/dessertSysifTable_subagent.c
+===================================================================
+--- libdessert0.86-0.86.14.orig/snmp/dessertSysifTable_subagent.c 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,202 +0,0 @@
-/*
- * Note: this file originally auto-generated by mib2c using
- SOCK_CLEANUP;
- exit(0);
-}
-diff --git a/src/Makefile.am b/src/Makefile.am
-new file mode 100644
-index 0000000..53c4a59
---- /dev/null
-+++ b/src/Makefile.am
+Index: libdessert0.86-0.86.14/src/Makefile.am
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/Makefile.am 2009-12-09 16:38:27.281423443 +0100
@@ -0,0 +1,3 @@
+
+SUBDIRS = snmp libdessert
+
-diff --git a/src/Makefile.in b/src/Makefile.in
-new file mode 100644
-index 0000000..e7cabb6
---- /dev/null
-+++ b/src/Makefile.in
-@@ -0,0 +1,590 @@
+Index: libdessert0.86-0.86.14/src/Makefile.in
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/Makefile.in 2009-12-09 16:38:51.091836080 +0100
+@@ -0,0 +1,591 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
++CLI_LIBS = @CLI_LIBS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+# 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/src/libdessert/Makefile.am b/src/libdessert/Makefile.am
-new file mode 100644
-index 0000000..1071752
---- /dev/null
-+++ b/src/libdessert/Makefile.am
-@@ -0,0 +1,21 @@
+Index: libdessert0.86-0.86.14/src/libdessert/Makefile.am
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/libdessert/Makefile.am 2009-12-09 16:38:27.291429614 +0100
+@@ -0,0 +1,26 @@
+
+AM_CPPFLAGS = -I$(top_srcdir)/include \
+ -I../snmp \
+ @PCAP_CFLAGS@ \
-+ @SNMP_CFLAGS@
++ @SNMP_CFLAGS@ \
++ @PTHREAD_CFLAGS@
+
+lib_LTLIBRARIES = libdessert.la
+
+ dessert_sysiface.c \
+ dessert_internal.h
+
-+libdessert_la_LIBADD = ../snmp/libsnmp.la @SNMP_LIBS@
++libdessert_la_LIBADD = ../snmp/libdessertsnmp.la \
++ @SNMP_LIBS@ \
++ @PCAP_LIBS@ \
++ @CLI_LIBS@ \
++ @PTHREAD_LIBS@
+
+libdessert_la_LDFLAGS = -version-number @LIBDESSERT_LIBRARY_VERSION@
-diff --git a/src/libdessert/Makefile.in b/src/libdessert/Makefile.in
-new file mode 100644
-index 0000000..ac76164
---- /dev/null
-+++ b/src/libdessert/Makefile.in
-@@ -0,0 +1,579 @@
+Index: libdessert0.86-0.86.14/src/libdessert/Makefile.in
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/libdessert/Makefile.in 2009-12-09 16:38:51.145169485 +0100
+@@ -0,0 +1,586 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(libdir)"
+LTLIBRARIES = $(lib_LTLIBRARIES)
-+libdessert_la_DEPENDENCIES = ../snmp/libsnmp.la
++libdessert_la_DEPENDENCIES = ../snmp/libdessertsnmp.la
+am_libdessert_la_OBJECTS = dessert_agentx.lo dessert_core.lo \
+ dessert_meshiface.lo dessert_periodic.lo dessert_cli.lo \
+ dessert_log.lo dessert_msg.lo dessert_sysiface.lo
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
++CLI_LIBS = @CLI_LIBS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+AM_CPPFLAGS = -I$(top_srcdir)/include \
+ -I../snmp \
+ @PCAP_CFLAGS@ \
-+ @SNMP_CFLAGS@
++ @SNMP_CFLAGS@ \
++ @PTHREAD_CFLAGS@
+
+lib_LTLIBRARIES = libdessert.la
+libdessert_la_SOURCES = dessert_agentx.c \
+ dessert_sysiface.c \
+ dessert_internal.h
+
-+libdessert_la_LIBADD = ../snmp/libsnmp.la @SNMP_LIBS@
++libdessert_la_LIBADD = ../snmp/libdessertsnmp.la \
++ @SNMP_LIBS@ \
++ @PCAP_LIBS@ \
++ @CLI_LIBS@ \
++ @PTHREAD_LIBS@
++
+libdessert_la_LDFLAGS = -version-number @LIBDESSERT_LIBRARY_VERSION@
+all: all-am
+
+# 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/src/libdessert/dessert_agentx.c b/src/libdessert/dessert_agentx.c
-new file mode 100644
-index 0000000..0e74682
---- /dev/null
-+++ b/src/libdessert/dessert_agentx.c
+Index: libdessert0.86-0.86.14/src/libdessert/dessert_agentx.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/libdessert/dessert_agentx.c 2009-12-09 16:38:27.294762951 +0100
@@ -0,0 +1,563 @@
+/******************************************************************************
+ Copyright 2009, The DES-SERT Team, Freie Universitaet Berlin (FUB).
+
+ return (NULL);
+}
-diff --git a/src/libdessert/dessert_cli.c b/src/libdessert/dessert_cli.c
-new file mode 100644
-index 0000000..7b0d3c7
---- /dev/null
-+++ b/src/libdessert/dessert_cli.c
+Index: libdessert0.86-0.86.14/src/libdessert/dessert_cli.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/libdessert/dessert_cli.c 2009-12-09 16:38:27.294762951 +0100
@@ -0,0 +1,257 @@
+/******************************************************************************
+ Copyright 2009, The DES-SERT Team, Freie Universitaet Berlin (FUB).
+
+ return (NULL);
+}
-diff --git a/src/libdessert/dessert_core.c b/src/libdessert/dessert_core.c
-new file mode 100644
-index 0000000..7a1e16c
---- /dev/null
-+++ b/src/libdessert/dessert_core.c
+Index: libdessert0.86-0.86.14/src/libdessert/dessert_core.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/libdessert/dessert_core.c 2009-12-09 16:38:27.309345061 +0100
@@ -0,0 +1,241 @@
+/******************************************************************************
+ Copyright 2009, The DES-SERT Team, Freie Universitaet Berlin (FUB).
+
+ return DESSERT_OK;
+}
-diff --git a/src/libdessert/dessert_internal.h b/src/libdessert/dessert_internal.h
-new file mode 100644
-index 0000000..270b181
---- /dev/null
-+++ b/src/libdessert/dessert_internal.h
+Index: libdessert0.86-0.86.14/src/libdessert/dessert_internal.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/libdessert/dessert_internal.h 2009-12-09 16:38:27.309345061 +0100
@@ -0,0 +1,219 @@
+/******************************************************************************
+ Copyright 2009, The DES-SERT Team, Freie Universitaet Berlin (FUB).
+
+
+#endif /* DESSERT_INTERNAL_H */
-diff --git a/src/libdessert/dessert_log.c b/src/libdessert/dessert_log.c
-new file mode 100644
-index 0000000..01f2728
---- /dev/null
-+++ b/src/libdessert/dessert_log.c
+Index: libdessert0.86-0.86.14/src/libdessert/dessert_log.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/libdessert/dessert_log.c 2009-12-09 16:38:27.309345061 +0100
@@ -0,0 +1,417 @@
+/******************************************************************************
+ Copyright 2009, The DES-SERT Team, Freie Universitaet Berlin (FUB).
+
+ return CLI_OK;
+}
-diff --git a/src/libdessert/dessert_meshiface.c b/src/libdessert/dessert_meshiface.c
-new file mode 100644
-index 0000000..f134e98
---- /dev/null
-+++ b/src/libdessert/dessert_meshiface.c
+Index: libdessert0.86-0.86.14/src/libdessert/dessert_meshiface.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/libdessert/dessert_meshiface.c 2009-12-09 16:38:27.309345061 +0100
@@ -0,0 +1,1221 @@
+/******************************************************************************
+ Copyright 2009, The DES-SERT Team, Freie Universitaet Berlin (FUB).
+ k = k / j;
+ }
+}
-diff --git a/src/libdessert/dessert_msg.c b/src/libdessert/dessert_msg.c
-new file mode 100644
-index 0000000..af56177
---- /dev/null
-+++ b/src/libdessert/dessert_msg.c
+Index: libdessert0.86-0.86.14/src/libdessert/dessert_msg.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/libdessert/dessert_msg.c 2009-12-09 16:38:27.309345061 +0100
@@ -0,0 +1,876 @@
+/******************************************************************************
+ Copyright 2009, The DES-SERT Team, Freie Universitaet Berlin (FUB).
+ ******************************************************************************/
+
+/* nothing here - yet */
-diff --git a/src/libdessert/dessert_periodic.c b/src/libdessert/dessert_periodic.c
-new file mode 100644
-index 0000000..40bfa71
---- /dev/null
-+++ b/src/libdessert/dessert_periodic.c
+Index: libdessert0.86-0.86.14/src/libdessert/dessert_periodic.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/libdessert/dessert_periodic.c 2009-12-09 16:38:27.312672556 +0100
@@ -0,0 +1,326 @@
+/******************************************************************************
+ Copyright 2009, The DES-SERT Team, Freie Universitaet Berlin (FUB).
+
+ return (NULL);
+}
-diff --git a/src/libdessert/dessert_sysiface.c b/src/libdessert/dessert_sysiface.c
-new file mode 100644
-index 0000000..1055fee
---- /dev/null
-+++ b/src/libdessert/dessert_sysiface.c
+Index: libdessert0.86-0.86.14/src/libdessert/dessert_sysiface.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/libdessert/dessert_sysiface.c 2009-12-09 16:38:27.312672556 +0100
@@ -0,0 +1,487 @@
+/******************************************************************************
+ Copyright 2009, The DES-SERT Team, Freie Universitaet Berlin (FUB).
+
+ return (NULL);
+}
-diff --git a/src/snmp/Makefile.am b/src/snmp/Makefile.am
-new file mode 100644
-index 0000000..2380aa3
---- /dev/null
-+++ b/src/snmp/Makefile.am
+Index: libdessert0.86-0.86.14/src/snmp/Makefile.am
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/Makefile.am 2009-12-09 16:38:27.312672556 +0100
@@ -0,0 +1,60 @@
+
+AM_CPPFLAGS = -I$(top_srcdir)/include \
+ -I../libdessert \
+ @SNMP_CFLAGS@
+
-+noinst_LTLIBRARIES = libsnmp.la
-+
-+libsnmp_la_SOURCES = \
-+ dessertAppParamsTable.c \
-+ dessertAppParamsTable.h \
-+ dessertAppParamsTable_oids.h \
-+ dessertAppParamsTable_data_access.c \
-+ dessertAppParamsTable_data_access.h \
-+ dessertAppParamsTable_data_get.c \
-+ dessertAppParamsTable_data_get.h \
-+ dessertAppParamsTable_data_set.c \
-+ dessertAppParamsTable_data_set.h \
-+ dessertAppParamsTable_interface.c \
-+ dessertAppParamsTable_interface.h \
-+ dessertAppStatsTable.c \
-+ dessertAppStatsTable.h \
-+ dessertAppStatsTable_enums.h \
-+ dessertAppStatsTable_oids.h \
-+ dessertAppStatsTable_data_access.c \
-+ dessertAppStatsTable_data_access.h \
-+ dessertAppStatsTable_data_get.c \
-+ dessertAppStatsTable_data_get.h \
-+ dessertAppStatsTable_data_set.c \
-+ dessertAppStatsTable_data_set.h \
-+ dessertAppStatsTable_interface.c \
-+ dessertAppStatsTable_interface.h \
-+ dessertMeshifTable.c \
-+ dessertMeshifTable.h \
-+ dessertMeshifTable_enums.h \
-+ dessertMeshifTable_oids.h \
-+ dessertMeshifTable_data_access.c \
-+ dessertMeshifTable_data_access.h \
-+ dessertMeshifTable_data_get.c \
-+ dessertMeshifTable_data_get.h \
-+ dessertMeshifTable_data_set.c \
-+ dessertMeshifTable_data_set.h
-+ dessertMeshifTable_interface.c \
-+ dessertMeshifTable_interface.h \
-+ dessertObjects.c \
-+ dessertObjects.h \
-+ dessertSysifTable.c \
-+ dessertSysifTable.h \
-+ dessertSysifTable_enums.h \
-+ dessertSysifTable_oids.h \
-+ dessertSysifTable_interface.h \
-+ dessertSysifTable_data_access.c \
-+ dessertSysifTable_data_access.h \
-+ dessertSysifTable_data_get.c \
-+ dessertSysifTable_data_get.h \
-+ dessertSysifTable_data_set.c \
-+ dessertSysifTable_data_set.h \
-+ dessertSysifTable_interface.c \
-+ dessertSysifTable_subagent.c
-+
-+libsnmp_la_LIBADD = @SNMP_LIBS@
-diff --git a/src/snmp/Makefile.in b/src/snmp/Makefile.in
-new file mode 100644
-index 0000000..3cd6a37
---- /dev/null
-+++ b/src/snmp/Makefile.in
-@@ -0,0 +1,582 @@
++noinst_LTLIBRARIES = libdessertsnmp.la
++
++libdessertsnmp_la_SOURCES = \
++ dessertAppParamsTable.c \
++ dessertAppParamsTable.h \
++ dessertAppParamsTable_oids.h \
++ dessertAppParamsTable_data_access.c \
++ dessertAppParamsTable_data_access.h \
++ dessertAppParamsTable_data_get.c \
++ dessertAppParamsTable_data_get.h \
++ dessertAppParamsTable_data_set.c \
++ dessertAppParamsTable_data_set.h \
++ dessertAppParamsTable_interface.c \
++ dessertAppParamsTable_interface.h \
++ dessertAppStatsTable.c \
++ dessertAppStatsTable.h \
++ dessertAppStatsTable_enums.h \
++ dessertAppStatsTable_oids.h \
++ dessertAppStatsTable_data_access.c \
++ dessertAppStatsTable_data_access.h \
++ dessertAppStatsTable_data_get.c \
++ dessertAppStatsTable_data_get.h \
++ dessertAppStatsTable_data_set.c \
++ dessertAppStatsTable_data_set.h \
++ dessertAppStatsTable_interface.c \
++ dessertAppStatsTable_interface.h \
++ dessertMeshifTable.c \
++ dessertMeshifTable.h \
++ dessertMeshifTable_enums.h \
++ dessertMeshifTable_oids.h \
++ dessertMeshifTable_data_access.c \
++ dessertMeshifTable_data_access.h \
++ dessertMeshifTable_data_get.c \
++ dessertMeshifTable_data_get.h \
++ dessertMeshifTable_data_set.c \
++ dessertMeshifTable_data_set.h \
++ dessertMeshifTable_interface.c \
++ dessertMeshifTable_interface.h \
++ dessertObjects.c \
++ dessertObjects.h \
++ dessertSysifTable.c \
++ dessertSysifTable.h \
++ dessertSysifTable_enums.h \
++ dessertSysifTable_oids.h \
++ dessertSysifTable_interface.h \
++ dessertSysifTable_data_access.c \
++ dessertSysifTable_data_access.h \
++ dessertSysifTable_data_get.c \
++ dessertSysifTable_data_get.h \
++ dessertSysifTable_data_set.c \
++ dessertSysifTable_data_set.h \
++ dessertSysifTable_interface.c \
++ dessertSysifTable_subagent.c
++
++libdessertsnmp_la_LDFLAGS = -avoid-version
+Index: libdessert0.86-0.86.14/src/snmp/Makefile.in
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/Makefile.in 2009-12-09 16:38:51.198503063 +0100
+@@ -0,0 +1,598 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+LTLIBRARIES = $(noinst_LTLIBRARIES)
-+libsnmp_la_DEPENDENCIES =
-+am_libsnmp_la_OBJECTS = dessertAppParamsTable.lo \
++libdessertsnmp_la_LIBADD =
++am_libdessertsnmp_la_OBJECTS = dessertAppParamsTable.lo \
+ dessertAppParamsTable_data_access.lo \
+ dessertAppParamsTable_data_get.lo \
+ dessertAppParamsTable_data_set.lo \
+ dessertAppStatsTable_data_set.lo \
+ dessertAppStatsTable_interface.lo dessertMeshifTable.lo \
+ dessertMeshifTable_data_access.lo \
-+ dessertMeshifTable_data_get.lo dessertMeshifTable_data_set.lo
-+libsnmp_la_OBJECTS = $(am_libsnmp_la_OBJECTS)
++ dessertMeshifTable_data_get.lo dessertMeshifTable_data_set.lo \
++ dessertMeshifTable_interface.lo dessertObjects.lo \
++ dessertSysifTable.lo dessertSysifTable_data_access.lo \
++ dessertSysifTable_data_get.lo dessertSysifTable_data_set.lo \
++ dessertSysifTable_interface.lo dessertSysifTable_subagent.lo
++libdessertsnmp_la_OBJECTS = $(am_libdessertsnmp_la_OBJECTS)
++libdessertsnmp_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
++ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
++ $(libdessertsnmp_la_LDFLAGS) $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
-+SOURCES = $(libsnmp_la_SOURCES)
-+DIST_SOURCES = $(libsnmp_la_SOURCES)
++SOURCES = $(libdessertsnmp_la_SOURCES)
++DIST_SOURCES = $(libdessertsnmp_la_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
++CLI_LIBS = @CLI_LIBS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+ -I../libdessert \
+ @SNMP_CFLAGS@
+
-+noinst_LTLIBRARIES = libsnmp.la
-+libsnmp_la_SOURCES = \
-+ dessertAppParamsTable.c \
-+ dessertAppParamsTable.h \
-+ dessertAppParamsTable_oids.h \
-+ dessertAppParamsTable_data_access.c \
-+ dessertAppParamsTable_data_access.h \
-+ dessertAppParamsTable_data_get.c \
-+ dessertAppParamsTable_data_get.h \
-+ dessertAppParamsTable_data_set.c \
-+ dessertAppParamsTable_data_set.h \
-+ dessertAppParamsTable_interface.c \
-+ dessertAppParamsTable_interface.h \
-+ dessertAppStatsTable.c \
-+ dessertAppStatsTable.h \
-+ dessertAppStatsTable_enums.h \
-+ dessertAppStatsTable_oids.h \
-+ dessertAppStatsTable_data_access.c \
-+ dessertAppStatsTable_data_access.h \
-+ dessertAppStatsTable_data_get.c \
-+ dessertAppStatsTable_data_get.h \
-+ dessertAppStatsTable_data_set.c \
-+ dessertAppStatsTable_data_set.h \
-+ dessertAppStatsTable_interface.c \
-+ dessertAppStatsTable_interface.h \
-+ dessertMeshifTable.c \
-+ dessertMeshifTable.h \
-+ dessertMeshifTable_enums.h \
-+ dessertMeshifTable_oids.h \
-+ dessertMeshifTable_data_access.c \
-+ dessertMeshifTable_data_access.h \
-+ dessertMeshifTable_data_get.c \
-+ dessertMeshifTable_data_get.h \
-+ dessertMeshifTable_data_set.c \
-+ dessertMeshifTable_data_set.h
-+
-+libsnmp_la_LIBADD = @SNMP_LIBS@
++noinst_LTLIBRARIES = libdessertsnmp.la
++libdessertsnmp_la_SOURCES = \
++ dessertAppParamsTable.c \
++ dessertAppParamsTable.h \
++ dessertAppParamsTable_oids.h \
++ dessertAppParamsTable_data_access.c \
++ dessertAppParamsTable_data_access.h \
++ dessertAppParamsTable_data_get.c \
++ dessertAppParamsTable_data_get.h \
++ dessertAppParamsTable_data_set.c \
++ dessertAppParamsTable_data_set.h \
++ dessertAppParamsTable_interface.c \
++ dessertAppParamsTable_interface.h \
++ dessertAppStatsTable.c \
++ dessertAppStatsTable.h \
++ dessertAppStatsTable_enums.h \
++ dessertAppStatsTable_oids.h \
++ dessertAppStatsTable_data_access.c \
++ dessertAppStatsTable_data_access.h \
++ dessertAppStatsTable_data_get.c \
++ dessertAppStatsTable_data_get.h \
++ dessertAppStatsTable_data_set.c \
++ dessertAppStatsTable_data_set.h \
++ dessertAppStatsTable_interface.c \
++ dessertAppStatsTable_interface.h \
++ dessertMeshifTable.c \
++ dessertMeshifTable.h \
++ dessertMeshifTable_enums.h \
++ dessertMeshifTable_oids.h \
++ dessertMeshifTable_data_access.c \
++ dessertMeshifTable_data_access.h \
++ dessertMeshifTable_data_get.c \
++ dessertMeshifTable_data_get.h \
++ dessertMeshifTable_data_set.c \
++ dessertMeshifTable_data_set.h \
++ dessertMeshifTable_interface.c \
++ dessertMeshifTable_interface.h \
++ dessertObjects.c \
++ dessertObjects.h \
++ dessertSysifTable.c \
++ dessertSysifTable.h \
++ dessertSysifTable_enums.h \
++ dessertSysifTable_oids.h \
++ dessertSysifTable_interface.h \
++ dessertSysifTable_data_access.c \
++ dessertSysifTable_data_access.h \
++ dessertSysifTable_data_get.c \
++ dessertSysifTable_data_get.h \
++ dessertSysifTable_data_set.c \
++ dessertSysifTable_data_set.h \
++ dessertSysifTable_interface.c \
++ dessertSysifTable_subagent.c
++
++libdessertsnmp_la_LDFLAGS = -avoid-version
+all: all-am
+
+.SUFFIXES:
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
-+libsnmp.la: $(libsnmp_la_OBJECTS) $(libsnmp_la_DEPENDENCIES)
-+ $(LINK) $(libsnmp_la_OBJECTS) $(libsnmp_la_LIBADD) $(LIBS)
++libdessertsnmp.la: $(libdessertsnmp_la_OBJECTS) $(libdessertsnmp_la_DEPENDENCIES)
++ $(libdessertsnmp_la_LINK) $(libdessertsnmp_la_OBJECTS) $(libdessertsnmp_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dessertMeshifTable_data_access.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dessertMeshifTable_data_get.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dessertMeshifTable_data_set.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dessertMeshifTable_interface.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dessertObjects.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dessertSysifTable.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dessertSysifTable_data_access.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dessertSysifTable_data_get.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dessertSysifTable_data_set.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dessertSysifTable_interface.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dessertSysifTable_subagent.Plo@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
-+ dessertMeshifTable_interface.c \
-+ dessertMeshifTable_interface.h \
-+ dessertObjects.c \
-+ dessertObjects.h \
-+ dessertSysifTable.c \
-+ dessertSysifTable.h \
-+ dessertSysifTable_enums.h \
-+ dessertSysifTable_oids.h \
-+ dessertSysifTable_interface.h \
-+ dessertSysifTable_data_access.c \
-+ dessertSysifTable_data_access.h \
-+ dessertSysifTable_data_get.c \
-+ dessertSysifTable_data_get.h \
-+ dessertSysifTable_data_set.c \
-+ dessertSysifTable_data_set.h \
-+ dessertSysifTable_interface.c \
-+ dessertSysifTable_subagent.c
+
+# 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/src/snmp/dessertAppParamsTable.c b/src/snmp/dessertAppParamsTable.c
-new file mode 100644
-index 0000000..47ef1ec
---- /dev/null
-+++ b/src/snmp/dessertAppParamsTable.c
+Index: libdessert0.86-0.86.14/src/snmp/dessertAppParamsTable.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertAppParamsTable.c 2009-12-09 16:38:27.312672556 +0100
@@ -0,0 +1,231 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+
+
+/** @{ */
-diff --git a/src/snmp/dessertAppParamsTable.h b/src/snmp/dessertAppParamsTable.h
-new file mode 100644
-index 0000000..5c972d1
---- /dev/null
-+++ b/src/snmp/dessertAppParamsTable.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertAppParamsTable.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertAppParamsTable.h 2009-12-09 16:38:27.312672556 +0100
@@ -0,0 +1,252 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+#endif
+#endif /* DESSERTAPPPARAMSTABLE_H */
+/** @} */
-diff --git a/src/snmp/dessertAppParamsTable_data_access.c b/src/snmp/dessertAppParamsTable_data_access.c
-new file mode 100644
-index 0000000..85f234c
---- /dev/null
-+++ b/src/snmp/dessertAppParamsTable_data_access.c
+Index: libdessert0.86-0.86.14/src/snmp/dessertAppParamsTable_data_access.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertAppParamsTable_data_access.c 2009-12-09 16:38:27.312672556 +0100
@@ -0,0 +1,352 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+} /* dessertAppParamsTable_row_prep */
+
+/** @} */
-diff --git a/src/snmp/dessertAppParamsTable_data_access.h b/src/snmp/dessertAppParamsTable_data_access.h
-new file mode 100644
-index 0000000..2281bb1
---- /dev/null
-+++ b/src/snmp/dessertAppParamsTable_data_access.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertAppParamsTable_data_access.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertAppParamsTable_data_access.h 2009-12-09 16:38:27.312672556 +0100
@@ -0,0 +1,93 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+}
+#endif
+#endif /* DESSERTAPPPARAMSTABLE_DATA_ACCESS_H */
-diff --git a/src/snmp/dessertAppParamsTable_data_get.c b/src/snmp/dessertAppParamsTable_data_get.c
-new file mode 100644
-index 0000000..f3b1327
---- /dev/null
-+++ b/src/snmp/dessertAppParamsTable_data_get.c
+Index: libdessert0.86-0.86.14/src/snmp/dessertAppParamsTable_data_get.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertAppParamsTable_data_get.c 2009-12-09 16:38:27.316005903 +0100
@@ -0,0 +1,731 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+
+
+/** @} */
-diff --git a/src/snmp/dessertAppParamsTable_data_get.h b/src/snmp/dessertAppParamsTable_data_get.h
-new file mode 100644
-index 0000000..1e955ee
---- /dev/null
-+++ b/src/snmp/dessertAppParamsTable_data_get.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertAppParamsTable_data_get.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertAppParamsTable_data_get.h 2009-12-09 16:38:27.316005903 +0100
@@ -0,0 +1,136 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+#endif
+#endif /* DESSERTAPPPARAMSTABLE_DATA_GET_H */
+/** @} */
-diff --git a/src/snmp/dessertAppParamsTable_data_set.c b/src/snmp/dessertAppParamsTable_data_set.c
-new file mode 100644
-index 0000000..2e849f6
---- /dev/null
-+++ b/src/snmp/dessertAppParamsTable_data_set.c
+Index: libdessert0.86-0.86.14/src/snmp/dessertAppParamsTable_data_set.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertAppParamsTable_data_set.c 2009-12-09 16:38:27.316005903 +0100
@@ -0,0 +1,1241 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+} /* appParamsOctetString_undo */
+
+/** @} */
-diff --git a/src/snmp/dessertAppParamsTable_data_set.h b/src/snmp/dessertAppParamsTable_data_set.h
-new file mode 100644
-index 0000000..588437a
---- /dev/null
-+++ b/src/snmp/dessertAppParamsTable_data_set.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertAppParamsTable_data_set.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertAppParamsTable_data_set.h 2009-12-09 16:38:27.316005903 +0100
@@ -0,0 +1,168 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+}
+#endif
+#endif /* DESSERTAPPPARAMSTABLE_DATA_SET_H */
-diff --git a/src/snmp/dessertAppParamsTable_enums.h b/src/snmp/dessertAppParamsTable_enums.h
-new file mode 100644
-index 0000000..8465c05
---- /dev/null
-+++ b/src/snmp/dessertAppParamsTable_enums.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertAppParamsTable_enums.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertAppParamsTable_enums.h 2009-12-09 16:38:27.316005903 +0100
@@ -0,0 +1,93 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+}
+#endif
+#endif /* DESSERTAPPPARAMSTABLE_ENUMS_H */
-diff --git a/src/snmp/dessertAppParamsTable_interface.c b/src/snmp/dessertAppParamsTable_interface.c
-new file mode 100644
-index 0000000..4fc55e5
---- /dev/null
-+++ b/src/snmp/dessertAppParamsTable_interface.c
+Index: libdessert0.86-0.86.14/src/snmp/dessertAppParamsTable_interface.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertAppParamsTable_interface.c 2009-12-09 16:38:27.318667257 +0100
@@ -0,0 +1,1843 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+
+ return rowreq_ctx;
+}
-diff --git a/src/snmp/dessertAppParamsTable_interface.h b/src/snmp/dessertAppParamsTable_interface.h
-new file mode 100644
-index 0000000..42db682
---- /dev/null
-+++ b/src/snmp/dessertAppParamsTable_interface.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertAppParamsTable_interface.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertAppParamsTable_interface.h 2009-12-09 16:38:27.318667257 +0100
@@ -0,0 +1,101 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+#endif
+#endif /* DESSERTAPPPARAMSTABLE_INTERFACE_H */
+/** @} */
-diff --git a/src/snmp/dessertAppParamsTable_oids.h b/src/snmp/dessertAppParamsTable_oids.h
-new file mode 100644
-index 0000000..d36d8f8
---- /dev/null
-+++ b/src/snmp/dessertAppParamsTable_oids.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertAppParamsTable_oids.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertAppParamsTable_oids.h 2009-12-09 16:38:27.318667257 +0100
@@ -0,0 +1,56 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+}
+#endif
+#endif /* DESSERTAPPPARAMSTABLE_OIDS_H */
-diff --git a/src/snmp/dessertAppStatsTable.c b/src/snmp/dessertAppStatsTable.c
-new file mode 100644
-index 0000000..0a45018
---- /dev/null
-+++ b/src/snmp/dessertAppStatsTable.c
+Index: libdessert0.86-0.86.14/src/snmp/dessertAppStatsTable.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertAppStatsTable.c 2009-12-09 16:38:27.318667257 +0100
@@ -0,0 +1,173 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+
+
+/** @{ */
-diff --git a/src/snmp/dessertAppStatsTable.h b/src/snmp/dessertAppStatsTable.h
-new file mode 100644
-index 0000000..1f8a4b3
---- /dev/null
-+++ b/src/snmp/dessertAppStatsTable.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertAppStatsTable.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertAppStatsTable.h 2009-12-09 16:38:27.318667257 +0100
@@ -0,0 +1,251 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+#endif
+#endif /* DESSERTAPPSTATSTABLE_H */
+/** @} */
-diff --git a/src/snmp/dessertAppStatsTable_data_access.c b/src/snmp/dessertAppStatsTable_data_access.c
-new file mode 100644
-index 0000000..958f057
---- /dev/null
-+++ b/src/snmp/dessertAppStatsTable_data_access.c
+Index: libdessert0.86-0.86.14/src/snmp/dessertAppStatsTable_data_access.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertAppStatsTable_data_access.c 2009-12-09 16:38:27.318667257 +0100
@@ -0,0 +1,407 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+} /* dessertAppStatsTable_row_prep */
+
+/** @} */
-diff --git a/src/snmp/dessertAppStatsTable_data_access.h b/src/snmp/dessertAppStatsTable_data_access.h
-new file mode 100644
-index 0000000..10c407d
---- /dev/null
-+++ b/src/snmp/dessertAppStatsTable_data_access.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertAppStatsTable_data_access.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertAppStatsTable_data_access.h 2009-12-09 16:38:27.318667257 +0100
@@ -0,0 +1,93 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+}
+#endif
+#endif /* DESSERTAPPSTATSTABLE_DATA_ACCESS_H */
-diff --git a/src/snmp/dessertAppStatsTable_data_get.c b/src/snmp/dessertAppStatsTable_data_get.c
-new file mode 100644
-index 0000000..1185126
---- /dev/null
-+++ b/src/snmp/dessertAppStatsTable_data_get.c
+Index: libdessert0.86-0.86.14/src/snmp/dessertAppStatsTable_data_get.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertAppStatsTable_data_get.c 2009-12-09 16:38:27.322458741 +0100
@@ -0,0 +1,1088 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+
+
+/** @} */
-diff --git a/src/snmp/dessertAppStatsTable_data_get.h b/src/snmp/dessertAppStatsTable_data_get.h
-new file mode 100644
-index 0000000..b109d9c
---- /dev/null
-+++ b/src/snmp/dessertAppStatsTable_data_get.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertAppStatsTable_data_get.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertAppStatsTable_data_get.h 2009-12-09 16:38:27.322458741 +0100
@@ -0,0 +1,174 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+#endif
+#endif /* DESSERTAPPSTATSTABLE_DATA_GET_H */
+/** @} */
-diff --git a/src/snmp/dessertAppStatsTable_data_set.c b/src/snmp/dessertAppStatsTable_data_set.c
-new file mode 100644
-index 0000000..68ccfda
---- /dev/null
-+++ b/src/snmp/dessertAppStatsTable_data_set.c
+Index: libdessert0.86-0.86.14/src/snmp/dessertAppStatsTable_data_set.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertAppStatsTable_data_set.c 2009-12-09 16:38:27.322458741 +0100
@@ -0,0 +1,28 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * @{
+ */
+/** @} */
-diff --git a/src/snmp/dessertAppStatsTable_data_set.h b/src/snmp/dessertAppStatsTable_data_set.h
-new file mode 100644
-index 0000000..8e65c17
---- /dev/null
-+++ b/src/snmp/dessertAppStatsTable_data_set.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertAppStatsTable_data_set.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertAppStatsTable_data_set.h 2009-12-09 16:38:27.322458741 +0100
@@ -0,0 +1,28 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+}
+#endif
+#endif /* DESSERTAPPSTATSTABLE_DATA_SET_H */
-diff --git a/src/snmp/dessertAppStatsTable_enums.h b/src/snmp/dessertAppStatsTable_enums.h
-new file mode 100644
-index 0000000..beb5cc2
---- /dev/null
-+++ b/src/snmp/dessertAppStatsTable_enums.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertAppStatsTable_enums.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertAppStatsTable_enums.h 2009-12-09 16:38:27.322458741 +0100
@@ -0,0 +1,118 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+}
+#endif
+#endif /* DESSERTAPPSTATSTABLE_ENUMS_H */
-diff --git a/src/snmp/dessertAppStatsTable_interface.c b/src/snmp/dessertAppStatsTable_interface.c
-new file mode 100644
-index 0000000..b024106
---- /dev/null
-+++ b/src/snmp/dessertAppStatsTable_interface.c
+Index: libdessert0.86-0.86.14/src/snmp/dessertAppStatsTable_interface.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertAppStatsTable_interface.c 2009-12-09 16:38:27.322458741 +0100
@@ -0,0 +1,1069 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+
+ return rowreq_ctx;
+}
-diff --git a/src/snmp/dessertAppStatsTable_interface.h b/src/snmp/dessertAppStatsTable_interface.h
-new file mode 100644
-index 0000000..7fa936e
---- /dev/null
-+++ b/src/snmp/dessertAppStatsTable_interface.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertAppStatsTable_interface.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertAppStatsTable_interface.h 2009-12-09 16:38:27.322458741 +0100
@@ -0,0 +1,98 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+#endif
+#endif /* DESSERTAPPSTATSTABLE_INTERFACE_H */
+/** @} */
-diff --git a/src/snmp/dessertAppStatsTable_oids.h b/src/snmp/dessertAppStatsTable_oids.h
-new file mode 100644
-index 0000000..2eba41a
---- /dev/null
-+++ b/src/snmp/dessertAppStatsTable_oids.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertAppStatsTable_oids.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertAppStatsTable_oids.h 2009-12-09 16:38:27.322458741 +0100
@@ -0,0 +1,64 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+}
+#endif
+#endif /* DESSERTAPPSTATSTABLE_OIDS_H */
-diff --git a/src/snmp/dessertMeshifTable.c b/src/snmp/dessertMeshifTable.c
-new file mode 100644
-index 0000000..4c1c049
---- /dev/null
-+++ b/src/snmp/dessertMeshifTable.c
+Index: libdessert0.86-0.86.14/src/snmp/dessertMeshifTable.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertMeshifTable.c 2009-12-09 16:38:27.322458741 +0100
@@ -0,0 +1,214 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+
+
+/** @{ */
-diff --git a/src/snmp/dessertMeshifTable.h b/src/snmp/dessertMeshifTable.h
-new file mode 100644
-index 0000000..afa9b3a
---- /dev/null
-+++ b/src/snmp/dessertMeshifTable.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertMeshifTable.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertMeshifTable.h 2009-12-09 16:38:27.322458741 +0100
@@ -0,0 +1,222 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+#endif
+#endif /* DESSERTMESHIFTABLE_H */
+/** @} */
-diff --git a/src/snmp/dessertMeshifTable_data_access.c b/src/snmp/dessertMeshifTable_data_access.c
-new file mode 100644
-index 0000000..8cb7b5a
---- /dev/null
-+++ b/src/snmp/dessertMeshifTable_data_access.c
+Index: libdessert0.86-0.86.14/src/snmp/dessertMeshifTable_data_access.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertMeshifTable_data_access.c 2009-12-09 16:38:27.326005968 +0100
@@ -0,0 +1,371 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+} /* dessertMeshifTable_row_prep */
+
+/** @} */
-diff --git a/src/snmp/dessertMeshifTable_data_access.h b/src/snmp/dessertMeshifTable_data_access.h
-new file mode 100644
-index 0000000..f9ddd5c
---- /dev/null
-+++ b/src/snmp/dessertMeshifTable_data_access.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertMeshifTable_data_access.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertMeshifTable_data_access.h 2009-12-09 16:38:27.326005968 +0100
@@ -0,0 +1,77 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+}
+#endif
+#endif /* DESSERTMESHIFTABLE_DATA_ACCESS_H */
-diff --git a/src/snmp/dessertMeshifTable_data_get.c b/src/snmp/dessertMeshifTable_data_get.c
-new file mode 100644
-index 0000000..6dd56c0
---- /dev/null
-+++ b/src/snmp/dessertMeshifTable_data_get.c
+Index: libdessert0.86-0.86.14/src/snmp/dessertMeshifTable_data_get.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertMeshifTable_data_get.c 2009-12-09 16:38:27.326005968 +0100
@@ -0,0 +1,522 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+
+
+/** @} */
-diff --git a/src/snmp/dessertMeshifTable_data_get.h b/src/snmp/dessertMeshifTable_data_get.h
-new file mode 100644
-index 0000000..0a7657d
---- /dev/null
-+++ b/src/snmp/dessertMeshifTable_data_get.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertMeshifTable_data_get.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertMeshifTable_data_get.h 2009-12-09 16:38:27.326005968 +0100
@@ -0,0 +1,109 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+#endif
+#endif /* DESSERTMESHIFTABLE_DATA_GET_H */
+/** @} */
-diff --git a/src/snmp/dessertMeshifTable_data_set.c b/src/snmp/dessertMeshifTable_data_set.c
-new file mode 100644
-index 0000000..7cc7af1
---- /dev/null
-+++ b/src/snmp/dessertMeshifTable_data_set.c
+Index: libdessert0.86-0.86.14/src/snmp/dessertMeshifTable_data_set.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertMeshifTable_data_set.c 2009-12-09 16:38:27.326005968 +0100
@@ -0,0 +1,28 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * @{
+ */
+/** @} */
-diff --git a/src/snmp/dessertMeshifTable_data_set.h b/src/snmp/dessertMeshifTable_data_set.h
-new file mode 100644
-index 0000000..2a96aaf
---- /dev/null
-+++ b/src/snmp/dessertMeshifTable_data_set.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertMeshifTable_data_set.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertMeshifTable_data_set.h 2009-12-09 16:38:27.326005968 +0100
@@ -0,0 +1,28 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+}
+#endif
+#endif /* DESSERTMESHIFTABLE_DATA_SET_H */
-diff --git a/src/snmp/dessertMeshifTable_enums.h b/src/snmp/dessertMeshifTable_enums.h
-new file mode 100644
-index 0000000..4b9b078
---- /dev/null
-+++ b/src/snmp/dessertMeshifTable_enums.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertMeshifTable_enums.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertMeshifTable_enums.h 2009-12-09 16:38:27.326005968 +0100
@@ -0,0 +1,39 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+}
+#endif
+#endif /* DESSERTMESHIFTABLE_ENUMS_H */
-diff --git a/src/snmp/dessertMeshifTable_interface.c b/src/snmp/dessertMeshifTable_interface.c
-new file mode 100644
-index 0000000..976dcd6
---- /dev/null
-+++ b/src/snmp/dessertMeshifTable_interface.c
+Index: libdessert0.86-0.86.14/src/snmp/dessertMeshifTable_interface.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertMeshifTable_interface.c 2009-12-09 16:38:27.326005968 +0100
@@ -0,0 +1,944 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+
+ return rowreq_ctx;
+}
-diff --git a/src/snmp/dessertMeshifTable_interface.h b/src/snmp/dessertMeshifTable_interface.h
-new file mode 100644
-index 0000000..5bee20c
---- /dev/null
-+++ b/src/snmp/dessertMeshifTable_interface.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertMeshifTable_interface.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertMeshifTable_interface.h 2009-12-09 16:38:27.326005968 +0100
@@ -0,0 +1,98 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+#endif
+#endif /* DESSERTMESHIFTABLE_INTERFACE_H */
+/** @} */
-diff --git a/src/snmp/dessertMeshifTable_oids.h b/src/snmp/dessertMeshifTable_oids.h
-new file mode 100644
-index 0000000..cbb5334
---- /dev/null
-+++ b/src/snmp/dessertMeshifTable_oids.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertMeshifTable_oids.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertMeshifTable_oids.h 2009-12-09 16:38:27.326005968 +0100
@@ -0,0 +1,43 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+}
+#endif
+#endif /* DESSERTMESHIFTABLE_OIDS_H */
-diff --git a/src/snmp/dessertObjects.c b/src/snmp/dessertObjects.c
-new file mode 100644
-index 0000000..cecc53e
---- /dev/null
-+++ b/src/snmp/dessertObjects.c
+Index: libdessert0.86-0.86.14/src/snmp/dessertObjects.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertObjects.c 2009-12-09 16:38:27.326005968 +0100
@@ -0,0 +1,165 @@
+/**
+ * Note: this file originally auto-generated by mib2c using
+
+ return SNMP_ERR_NOERROR;
+}
-diff --git a/src/snmp/dessertObjects.h b/src/snmp/dessertObjects.h
-new file mode 100644
-index 0000000..520601d
---- /dev/null
-+++ b/src/snmp/dessertObjects.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertObjects.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertObjects.h 2009-12-09 16:38:27.326005968 +0100
@@ -0,0 +1,17 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+Netsnmp_Node_Handler handle_protocollShortName;
+
+#endif /* DESSERTOBJECTS_H */
-diff --git a/src/snmp/dessertSysifTable.c b/src/snmp/dessertSysifTable.c
-new file mode 100644
-index 0000000..63cf3ee
---- /dev/null
-+++ b/src/snmp/dessertSysifTable.c
+Index: libdessert0.86-0.86.14/src/snmp/dessertSysifTable.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertSysifTable.c 2009-12-09 16:38:27.329339146 +0100
@@ -0,0 +1,215 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+
+
+/** @{ */
-diff --git a/src/snmp/dessertSysifTable.h b/src/snmp/dessertSysifTable.h
-new file mode 100644
-index 0000000..30f4300
---- /dev/null
-+++ b/src/snmp/dessertSysifTable.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertSysifTable.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertSysifTable.h 2009-12-09 16:38:27.329339146 +0100
@@ -0,0 +1,230 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+#endif
+#endif /* DESSERTSYSIFTABLE_H */
+/** @} */
-diff --git a/src/snmp/dessertSysifTable_data_access.c b/src/snmp/dessertSysifTable_data_access.c
-new file mode 100644
-index 0000000..b409a89
---- /dev/null
-+++ b/src/snmp/dessertSysifTable_data_access.c
+Index: libdessert0.86-0.86.14/src/snmp/dessertSysifTable_data_access.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertSysifTable_data_access.c 2009-12-09 16:38:27.329339146 +0100
@@ -0,0 +1,336 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+} /* dessertSysifTable_row_prep */
+
+/** @} */
-diff --git a/src/snmp/dessertSysifTable_data_access.h b/src/snmp/dessertSysifTable_data_access.h
-new file mode 100644
-index 0000000..5c68bbd
---- /dev/null
-+++ b/src/snmp/dessertSysifTable_data_access.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertSysifTable_data_access.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertSysifTable_data_access.h 2009-12-09 16:38:27.329339146 +0100
@@ -0,0 +1,90 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+}
+#endif
+#endif /* DESSERTSYSIFTABLE_DATA_ACCESS_H */
-diff --git a/src/snmp/dessertSysifTable_data_get.c b/src/snmp/dessertSysifTable_data_get.c
-new file mode 100644
-index 0000000..a4afe75
---- /dev/null
-+++ b/src/snmp/dessertSysifTable_data_get.c
+Index: libdessert0.86-0.86.14/src/snmp/dessertSysifTable_data_get.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertSysifTable_data_get.c 2009-12-09 16:38:27.329339146 +0100
@@ -0,0 +1,507 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+
+
+/** @} */
-diff --git a/src/snmp/dessertSysifTable_data_get.h b/src/snmp/dessertSysifTable_data_get.h
-new file mode 100644
-index 0000000..19e8426
---- /dev/null
-+++ b/src/snmp/dessertSysifTable_data_get.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertSysifTable_data_get.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertSysifTable_data_get.h 2009-12-09 16:38:27.329339146 +0100
@@ -0,0 +1,105 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+#endif
+#endif /* DESSERTSYSIFTABLE_DATA_GET_H */
+/** @} */
-diff --git a/src/snmp/dessertSysifTable_data_set.c b/src/snmp/dessertSysifTable_data_set.c
-new file mode 100644
-index 0000000..8f3c98e
---- /dev/null
-+++ b/src/snmp/dessertSysifTable_data_set.c
+Index: libdessert0.86-0.86.14/src/snmp/dessertSysifTable_data_set.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertSysifTable_data_set.c 2009-12-09 16:38:27.329339146 +0100
@@ -0,0 +1,28 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * @{
+ */
+/** @} */
-diff --git a/src/snmp/dessertSysifTable_data_set.h b/src/snmp/dessertSysifTable_data_set.h
-new file mode 100644
-index 0000000..ab7d732
---- /dev/null
-+++ b/src/snmp/dessertSysifTable_data_set.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertSysifTable_data_set.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertSysifTable_data_set.h 2009-12-09 16:38:27.329339146 +0100
@@ -0,0 +1,28 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+}
+#endif
+#endif /* DESSERTSYSIFTABLE_DATA_SET_H */
-diff --git a/src/snmp/dessertSysifTable_enums.h b/src/snmp/dessertSysifTable_enums.h
-new file mode 100644
-index 0000000..f18e25d
---- /dev/null
-+++ b/src/snmp/dessertSysifTable_enums.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertSysifTable_enums.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertSysifTable_enums.h 2009-12-09 16:38:27.329339146 +0100
@@ -0,0 +1,39 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+}
+#endif
+#endif /* DESSERTSYSIFTABLE_ENUMS_H */
-diff --git a/src/snmp/dessertSysifTable_interface.c b/src/snmp/dessertSysifTable_interface.c
-new file mode 100644
-index 0000000..0355204
---- /dev/null
-+++ b/src/snmp/dessertSysifTable_interface.c
+Index: libdessert0.86-0.86.14/src/snmp/dessertSysifTable_interface.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertSysifTable_interface.c 2009-12-09 16:38:27.329339146 +0100
@@ -0,0 +1,936 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+
+ return rowreq_ctx;
+}
-diff --git a/src/snmp/dessertSysifTable_interface.h b/src/snmp/dessertSysifTable_interface.h
-new file mode 100644
-index 0000000..c47cbee
---- /dev/null
-+++ b/src/snmp/dessertSysifTable_interface.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertSysifTable_interface.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertSysifTable_interface.h 2009-12-09 16:38:27.329339146 +0100
@@ -0,0 +1,97 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+#endif
+#endif /* DESSERTSYSIFTABLE_INTERFACE_H */
+/** @} */
-diff --git a/src/snmp/dessertSysifTable_oids.h b/src/snmp/dessertSysifTable_oids.h
-new file mode 100644
-index 0000000..e3a61c8
---- /dev/null
-+++ b/src/snmp/dessertSysifTable_oids.h
+Index: libdessert0.86-0.86.14/src/snmp/dessertSysifTable_oids.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertSysifTable_oids.h 2009-12-09 16:38:27.332672538 +0100
@@ -0,0 +1,43 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+}
+#endif
+#endif /* DESSERTSYSIFTABLE_OIDS_H */
-diff --git a/src/snmp/dessertSysifTable_subagent.c b/src/snmp/dessertSysifTable_subagent.c
-new file mode 100644
-index 0000000..4f3d47a
---- /dev/null
-+++ b/src/snmp/dessertSysifTable_subagent.c
+Index: libdessert0.86-0.86.14/src/snmp/dessertSysifTable_subagent.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdessert0.86-0.86.14/src/snmp/dessertSysifTable_subagent.c 2009-12-09 16:38:27.332672538 +0100
@@ -0,0 +1,202 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ SOCK_CLEANUP;
+ exit(0);
+}
-diff --git a/utlist.h b/utlist.h
-deleted file mode 100644
-index 40ebbc6..0000000
---- a/utlist.h
-+++ /dev/null
+Index: libdessert0.86-0.86.14/utlist.h
+===================================================================
+--- libdessert0.86-0.86.14.orig/utlist.h 2009-11-26 18:56:56.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,349 +0,0 @@
-/*
-Copyright (c) 2007-2009, Troy D. Hanson
-
-#endif /* UTLIST_H */
-
---
-1.6.5.4
-