libdessert: update autotools.patch and bump PR
authorHenning Heinold <heinold@inf.fu-berlin.de>
Wed, 9 Dec 2009 17:18:43 +0000 (18:18 +0100)
committerHenning Heinold <heinold@inf.fu-berlin.de>
Wed, 9 Dec 2009 17:19:41 +0000 (18:19 +0100)
recipes/libdessert/files/0001-big-fat-autotools-patch.patch
recipes/libdessert/libdessert_0.86.14.bb

index 6a396bf..619cdbf 100644 (file)
@@ -1,4 +1,4 @@
-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
@@ -12,16 +12,16 @@ 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 -
@@ -35,7 +35,7 @@ Subject: [PATCH] *big fat autotools patch
  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 +
@@ -43,6 +43,11 @@ Subject: [PATCH] *big fat autotools patch
  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 +
@@ -98,9 +103,9 @@ Subject: [PATCH] *big fat autotools patch
  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 +
@@ -111,7 +116,7 @@ Subject: [PATCH] *big fat autotools patch
  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 +
@@ -164,7 +169,7 @@ Subject: [PATCH] *big fat autotools patch
  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
@@ -202,6 +207,11 @@ Subject: [PATCH] *big fat autotools patch
  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
@@ -324,11 +334,11 @@ Subject: [PATCH] *big fat autotools patch
  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>
      
@@ -337,11 +347,10 @@ index 6cf4381..1e3383e 100644
      
  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
@@ -1017,11 +1026,10 @@ index 0000000..94a9ed0
 +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. 
@@ -1031,11 +1039,11 @@ index 0000000..24a149f
 +      - 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.
  
@@ -1044,11 +1052,10 @@ index e92c000..5de05c9 100644
  
  # 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
 +*************************
@@ -1352,11 +1359,10 @@ index 0000000..2550dab
 +`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 
@@ -1628,15 +1634,16 @@ index f54e509..0000000
 -   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')
@@ -1789,32 +1796,6 @@ index 3416f34..0000000
 -      $(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.
@@ -1827,7 +1808,7 @@ index 0000000..7848551
 +# 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
@@ -1876,11 +1857,11 @@ index 0000000..7848551
 +#
 +# 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
@@ -1893,8 +1874,8 @@ index 0000000..7848551
 +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 \
@@ -1992,179 +1973,180 @@ index 0000000..7848551
 +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
@@ -2687,1162 +2669,2109 @@ index 0000000..7848551
 +      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
@@ -4581,14 +5510,16 @@ index 0000000..e3a2116
 +# 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
 +
@@ -4792,11 +5723,10 @@ index 0000000..e69afae
 +
 +/* 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.
@@ -6491,12 +7421,11 @@ index 0000000..eb0389a
 +# 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.
@@ -7296,6 +8225,7 @@ index 0000000..f4500bf
 +PTHREAD_LIBS
 +PTHREAD_CC
 +ax_pthread_config
++CLI_LIBS
 +PCAP_CFLAGS
 +PCAP_CFLGAS
 +PCAP_LIBS
@@ -11251,13 +12181,13 @@ index 0000000..f4500bf
 +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"
@@ -12452,7 +13382,7 @@ index 0000000..f4500bf
 +  ;;
 +*-*-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=$?
@@ -13982,11 +14912,11 @@ index 0000000..f4500bf
 +   -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.
@@ -14321,11 +15251,11 @@ index 0000000..f4500bf
 +   -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.
@@ -14426,11 +15356,11 @@ index 0000000..f4500bf
 +   -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
@@ -14481,11 +15411,11 @@ index 0000000..f4500bf
 +   -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
@@ -16864,7 +17794,7 @@ index 0000000..f4500bf
 +  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
@@ -16960,7 +17890,7 @@ index 0000000..f4500bf
 +  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
@@ -17209,7 +18139,7 @@ index 0000000..f4500bf
 +  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
@@ -17279,7 +18209,7 @@ index 0000000..f4500bf
 +
 +
 +
-+# 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; }
@@ -17409,7 +18339,7 @@ index 0000000..f4500bf
 +  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
@@ -17438,11 +18368,17 @@ index 0000000..f4500bf
 +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.
 +
 +
@@ -17513,7 +18449,7 @@ index 0000000..f4500bf
 +# 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:
@@ -17783,8 +18719,7 @@ index 0000000..f4500bf
 +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
@@ -22771,12 +23706,11 @@ index 0000000..f4500bf
 +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.
 +
@@ -22808,7 +23742,7 @@ index 0000000..0542606
 +AC_SUBST([SNMP_LIBS])
 +AC_SUBST([SNMP_CFLAGS])
 +
-+# Checks for pcap
++# Checks for pcap-config
 +AC_CHECK_PCAP
 +
 +AC_SUBST([PCAP_LIBS])
@@ -22818,14 +23752,18 @@ index 0000000..0542606
 +
 +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.
@@ -22870,11 +23808,10 @@ index 0000000..0542606
 +                ])
 +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
@@ -23506,11 +24443,10 @@ index 0000000..df8eea7
 +# 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
@@ -24846,11 +25782,10 @@ index 4e0dea4..0000000
 -
 -
 -#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).
@@ -25415,11 +26350,10 @@ index f68dbe4..0000000
 -
 -      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).
@@ -25676,11 +26610,10 @@ index b2369fb..0000000
 -
 -      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).
@@ -25923,11 +26856,10 @@ index 05ecaa8..0000000
 -
 -      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).
@@ -26148,11 +27080,10 @@ index 93dde60..0000000
 -
 -
 -#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).
@@ -26571,11 +27502,10 @@ index a354ed0..0000000
 -
 -      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).
@@ -27797,11 +28727,10 @@ index bebce54..0000000
 -        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).
@@ -28679,11 +29608,10 @@ index 75ed217..0000000
 - ******************************************************************************/
 -
 -/* 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).
@@ -29011,11 +29939,10 @@ index a704a89..0000000
 -
 -      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).
@@ -29504,11 +30431,10 @@ index 27c6f6c..0000000
 -
 -      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
@@ -29527,11970 +30453,19968 @@ index 0000000..ab87a45
 +# 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])
@@ -41498,11 +50422,10 @@ index 0000000..c62df76
 +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])
@@ -41514,11 +50437,10 @@ index 0000000..69d88f3
 +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.
@@ -41896,11 +50818,10 @@ index 0000000..28055d2
 +# 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
@@ -42133,11 +51054,10 @@ index 47ef1ec..0000000
 -
 -
 -/** @{ */
-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
@@ -42391,11 +51311,10 @@ index 5c972d1..0000000
 -#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
@@ -42749,11 +51668,10 @@ index f03fc77..0000000
 -}                               /* 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
@@ -42848,11 +51766,10 @@ index f4e2b29..0000000
 -}
 -#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
@@ -43585,11 +52502,10 @@ index f3b1327..0000000
 -
 -
 -/** @} */
-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
@@ -43727,11 +52643,10 @@ index 1e955ee..0000000
 -#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
@@ -44974,11 +53889,10 @@ index bdb5e69..0000000
 -}                               /* 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
@@ -45148,11 +54062,10 @@ index 588437a..0000000
 -}
 -#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
@@ -45247,11 +54160,10 @@ index bd8d852..0000000
 -}
 -#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
@@ -47096,11 +56008,10 @@ index 4fc55e5..0000000
 -
 -    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
@@ -47203,11 +56114,10 @@ index 42db682..0000000
 -#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
@@ -47265,11 +56175,10 @@ index d36d8f8..0000000
 -}
 -#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
@@ -47444,11 +56353,10 @@ index 0a45018..0000000
 -
 -
 -/** @{ */
-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
@@ -47701,11 +56609,10 @@ index 1f8a4b3..0000000
 -#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
@@ -48114,11 +57021,10 @@ index d98e509..0000000
 -}                               /* 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
@@ -48213,11 +57119,10 @@ index 16852fb..0000000
 -}
 -#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
@@ -49307,11 +58212,10 @@ index 1185126..0000000
 -
 -
 -/** @} */
-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
@@ -49487,11 +58391,10 @@ index b109d9c..0000000
 -#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
@@ -49521,11 +58424,10 @@ index 68ccfda..0000000
 - * @{
 - */
 -/** @} */
-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
@@ -49555,11 +58457,10 @@ index 8e65c17..0000000
 -}
 -#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
@@ -49679,11 +58580,10 @@ index 320e5fc..0000000
 -}
 -#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
@@ -50754,11 +59654,10 @@ index b024106..0000000
 -
 -    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
@@ -50858,11 +59757,10 @@ index 7fa936e..0000000
 -#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
@@ -50928,11 +59826,10 @@ index 2eba41a..0000000
 -}
 -#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
@@ -51148,11 +60045,10 @@ index 4c1c049..0000000
 -
 -
 -/** @{ */
-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
@@ -51376,11 +60272,10 @@ index afa9b3a..0000000
 -#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
@@ -51759,11 +60654,10 @@ index 2fd8a64..0000000
 -}                               /* 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
@@ -51842,11 +60736,10 @@ index 32fc460..0000000
 -}
 -#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
@@ -52370,11 +61263,10 @@ index 6dd56c0..0000000
 -
 -
 -/** @} */
-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
@@ -52485,11 +61377,10 @@ index 0a7657d..0000000
 -#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
@@ -52519,11 +61410,10 @@ index 7cc7af1..0000000
 - * @{
 - */
 -/** @} */
-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
@@ -52553,11 +61443,10 @@ index 2a96aaf..0000000
 -}
 -#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
@@ -52598,11 +61487,10 @@ index 4b9b078..0000000
 -}
 -#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
@@ -53548,11 +62436,10 @@ index 976dcd6..0000000
 -
 -    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
@@ -53652,11 +62539,10 @@ index 5bee20c..0000000
 -#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
@@ -53701,11 +62587,10 @@ index cbb5334..0000000
 -}
 -#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
@@ -53871,11 +62756,10 @@ index c00b267..0000000
 -
 -    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
@@ -53894,11 +62778,10 @@ index 520601d..0000000
 -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
@@ -54115,11 +62998,10 @@ index 63cf3ee..0000000
 -
 -
 -/** @{ */
-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
@@ -54351,11 +63233,10 @@ index 30f4300..0000000
 -#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
@@ -54699,11 +63580,10 @@ index 1a78894..0000000
 -}                               /* 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
@@ -54795,11 +63675,10 @@ index 2e37990..0000000
 -}
 -#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
@@ -55308,11 +64187,10 @@ index a4afe75..0000000
 -
 -
 -/** @} */
-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
@@ -55419,11 +64297,10 @@ index 19e8426..0000000
 -#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
@@ -55453,11 +64330,10 @@ index 8f3c98e..0000000
 - * @{
 - */
 -/** @} */
-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
@@ -55487,11 +64363,10 @@ index ab7d732..0000000
 -}
 -#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
@@ -55532,11 +64407,10 @@ index f18e25d..0000000
 -}
 -#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
@@ -56474,11 +65348,10 @@ index 0355204..0000000
 -
 -    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
@@ -56577,11 +65450,10 @@ index c47cbee..0000000
 -#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
@@ -56626,11 +65498,10 @@ index e3a61c8..0000000
 -}
 -#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
@@ -56834,21 +65705,19 @@ index 4f3d47a..0000000
 -    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@
 +
@@ -56952,6 +65821,7 @@ index 0000000..e7cabb6
 +CC = @CC@
 +CCDEPMODE = @CCDEPMODE@
 +CFLAGS = @CFLAGS@
++CLI_LIBS = @CLI_LIBS@
 +CPP = @CPP@
 +CPPFLAGS = @CPPFLAGS@
 +CYGPATH_W = @CYGPATH_W@
@@ -57439,17 +66309,17 @@ index 0000000..e7cabb6
 +# 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
 +
@@ -57463,15 +66333,18 @@ index 0000000..1071752
 +                        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@
 +
@@ -57546,7 +66419,7 @@ index 0000000..ac76164
 +  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
@@ -57582,6 +66455,7 @@ index 0000000..ac76164
 +CC = @CC@
 +CCDEPMODE = @CCDEPMODE@
 +CFLAGS = @CFLAGS@
++CLI_LIBS = @CLI_LIBS@
 +CPP = @CPP@
 +CPPFLAGS = @CPPFLAGS@
 +CYGPATH_W = @CYGPATH_W@
@@ -57721,7 +66595,8 @@ index 0000000..ac76164
 +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 \
@@ -57734,7 +66609,12 @@ index 0000000..ac76164
 +                        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
 +
@@ -58051,11 +66931,10 @@ index 0000000..ac76164
 +# 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).
@@ -58620,11 +67499,10 @@ index 0000000..0e74682
 +
 +      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).
@@ -58883,11 +67761,10 @@ index 0000000..7b0d3c7
 +
 +      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).
@@ -59130,11 +68007,10 @@ index 0000000..7a1e16c
 +
 +      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).
@@ -59355,11 +68231,10 @@ index 0000000..270b181
 +
 +
 +#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).
@@ -59778,11 +68653,10 @@ index 0000000..01f2728
 +
 +      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).
@@ -61005,11 +69879,10 @@ index 0000000..f134e98
 +        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).
@@ -61887,11 +70760,10 @@ index 0000000..af56177
 + ******************************************************************************/
 +
 +/* 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).
@@ -62219,11 +71091,10 @@ index 0000000..40bfa71
 +
 +      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).
@@ -62712,78 +71583,76 @@ index 0000000..1055fee
 +
 +      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@
 +
@@ -62836,8 +71705,8 @@ index 0000000..3cd6a37
 +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 \
@@ -62847,8 +71716,15 @@ index 0000000..3cd6a37
 +      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
@@ -62862,8 +71738,8 @@ index 0000000..3cd6a37
 +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)
@@ -62877,6 +71753,7 @@ index 0000000..3cd6a37
 +CC = @CC@
 +CCDEPMODE = @CCDEPMODE@
 +CFLAGS = @CFLAGS@
++CLI_LIBS = @CLI_LIBS@
 +CPP = @CPP@
 +CPPFLAGS = @CPPFLAGS@
 +CYGPATH_W = @CYGPATH_W@
@@ -63017,43 +71894,60 @@ index 0000000..3cd6a37
 +              -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:
@@ -63097,8 +71991,8 @@ index 0000000..3cd6a37
 +        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)
@@ -63120,6 +72014,14 @@ index 0000000..3cd6a37
 +@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 $@ $<
@@ -63345,32 +72247,14 @@ index 0000000..3cd6a37
 +      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
@@ -63603,11 +72487,10 @@ index 0000000..47ef1ec
 +
 +
 +/** @{ */
-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
@@ -63861,11 +72744,10 @@ index 0000000..5c972d1
 +#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
@@ -64219,11 +73101,10 @@ index 0000000..85f234c
 +}                               /* 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
@@ -64318,11 +73199,10 @@ index 0000000..2281bb1
 +}
 +#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
@@ -65055,11 +73935,10 @@ index 0000000..f3b1327
 +
 +
 +/** @} */
-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
@@ -65197,11 +74076,10 @@ index 0000000..1e955ee
 +#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
@@ -66444,11 +75322,10 @@ index 0000000..2e849f6
 +}                               /* 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
@@ -66618,11 +75495,10 @@ index 0000000..588437a
 +}
 +#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
@@ -66717,11 +75593,10 @@ index 0000000..8465c05
 +}
 +#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
@@ -68566,11 +77441,10 @@ index 0000000..4fc55e5
 +
 +    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
@@ -68673,11 +77547,10 @@ index 0000000..42db682
 +#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
@@ -68735,11 +77608,10 @@ index 0000000..d36d8f8
 +}
 +#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
@@ -68914,11 +77786,10 @@ index 0000000..0a45018
 +
 +
 +/** @{ */
-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
@@ -69171,11 +78042,10 @@ index 0000000..1f8a4b3
 +#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
@@ -69584,11 +78454,10 @@ index 0000000..958f057
 +}                               /* 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
@@ -69683,11 +78552,10 @@ index 0000000..10c407d
 +}
 +#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
@@ -70777,11 +79645,10 @@ index 0000000..1185126
 +
 +
 +/** @} */
-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
@@ -70957,11 +79824,10 @@ index 0000000..b109d9c
 +#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
@@ -70991,11 +79857,10 @@ index 0000000..68ccfda
 + * @{
 + */
 +/** @} */
-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
@@ -71025,11 +79890,10 @@ index 0000000..8e65c17
 +}
 +#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
@@ -71149,11 +80013,10 @@ index 0000000..beb5cc2
 +}
 +#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
@@ -72224,11 +81087,10 @@ index 0000000..b024106
 +
 +    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
@@ -72328,11 +81190,10 @@ index 0000000..7fa936e
 +#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
@@ -72398,11 +81259,10 @@ index 0000000..2eba41a
 +}
 +#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
@@ -72618,11 +81478,10 @@ index 0000000..4c1c049
 +
 +
 +/** @{ */
-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
@@ -72846,11 +81705,10 @@ index 0000000..afa9b3a
 +#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
@@ -73223,11 +82081,10 @@ index 0000000..8cb7b5a
 +}                               /* 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
@@ -73306,11 +82163,10 @@ index 0000000..f9ddd5c
 +}
 +#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
@@ -73834,11 +82690,10 @@ index 0000000..6dd56c0
 +
 +
 +/** @} */
-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
@@ -73949,11 +82804,10 @@ index 0000000..0a7657d
 +#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
@@ -73983,11 +82837,10 @@ index 0000000..7cc7af1
 + * @{
 + */
 +/** @} */
-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
@@ -74017,11 +82870,10 @@ index 0000000..2a96aaf
 +}
 +#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
@@ -74062,11 +82914,10 @@ index 0000000..4b9b078
 +}
 +#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
@@ -75012,11 +83863,10 @@ index 0000000..976dcd6
 +
 +    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
@@ -75116,11 +83966,10 @@ index 0000000..5bee20c
 +#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
@@ -75165,11 +84014,10 @@ index 0000000..cbb5334
 +}
 +#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
@@ -75336,11 +84184,10 @@ index 0000000..cecc53e
 +
 +    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
@@ -75359,11 +84206,10 @@ index 0000000..520601d
 +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
@@ -75580,11 +84426,10 @@ index 0000000..63cf3ee
 +
 +
 +/** @{ */
-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
@@ -75816,11 +84661,10 @@ index 0000000..30f4300
 +#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
@@ -76158,11 +85002,10 @@ index 0000000..b409a89
 +}                               /* 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
@@ -76254,11 +85097,10 @@ index 0000000..5c68bbd
 +}
 +#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
@@ -76767,11 +85609,10 @@ index 0000000..a4afe75
 +
 +
 +/** @} */
-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
@@ -76878,11 +85719,10 @@ index 0000000..19e8426
 +#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
@@ -76912,11 +85752,10 @@ index 0000000..8f3c98e
 + * @{
 + */
 +/** @} */
-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
@@ -76946,11 +85785,10 @@ index 0000000..ab7d732
 +}
 +#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
@@ -76991,11 +85829,10 @@ index 0000000..f18e25d
 +}
 +#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
@@ -77933,11 +86770,10 @@ index 0000000..0355204
 +
 +    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
@@ -78036,11 +86872,10 @@ index 0000000..c47cbee
 +#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
@@ -78085,11 +86920,10 @@ index 0000000..e3a61c8
 +}
 +#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
@@ -78293,11 +87127,10 @@ index 0000000..4f3d47a
 +    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
@@ -78648,6 +87481,3 @@ index 40ebbc6..0000000
 -
 -#endif /* UTLIST_H */
 -
--- 
-1.6.5.4
-
index dff7ad3..97dfe96 100644 (file)
@@ -2,7 +2,7 @@ DESCRIPTION = "DES-SERT (DES Simple and Extensible Routing-Framework for Testbed
 HOMEPAGE = "http://www.des-testbed.net/DES-SERT"
 SECTION = "devel"
 LICENSE = "GPL"
-PR = "r1"
+PR = "r2"
 
 DEPENDS = "net-snmp libpcap libcli"