--- couchdb-1.0.1.orig/debian/couchdb-bin.postrm
+++ couchdb-1.0.1/debian/couchdb-bin.postrm
@@ -0,0 +1,18 @@
+#!/bin/sh -e
+
+# Copyright 2009, Noah Slater
+
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice and this
+# notice are preserved.
+
+VERSION=%VERSION%
+
+case $1 in
+ purge)
+ if test -d "/etc/couchdb"; then
+ rmdir --ignore-fail-on-non-empty "/etc/couchdb" || true
+ fi
+esac
+
+#DEBHELPER#
--- couchdb-1.0.1.orig/debian/couchdb.install
+++ couchdb-1.0.1/debian/couchdb.install
@@ -0,0 +1,3 @@
+debian/tmp/etc/default
+debian/tmp/etc/init.d
+debian/tmp/etc/logrotate.d
--- couchdb-1.0.1.orig/debian/changelog
+++ couchdb-1.0.1/debian/changelog
@@ -0,0 +1,661 @@
+couchdb (1.0.1-0ubuntu18) precise; urgency=low
+
+ * Rebuild for libicu48.
+
+ -- Colin Watson Mon, 21 Nov 2011 16:06:03 +0000
+
+couchdb (1.0.1-0ubuntu17) oneiric; urgency=high
+
+ * Backport svn r1039345 from 1.0.3 (LP: #780972)
+
+ -- John S Gruber Fri, 02 Sep 2011 01:02:01 -0400
+
+couchdb (1.0.1-0ubuntu16) oneiric; urgency=low
+
+ * Update Spidermonkey 1.8.5 patchset to the more palatable ones I'm
+ forwarding upstream
+ - update debian/patches/moz0001-spidermonkey1.8.5.patch
+ - update debian/patches/moz0002-libmozjs.patch
+ - update debian/patches/moz0003-spidermonkey1.8.5_autotools.patch
+
+ -- Chris Coulson Tue, 14 Jun 2011 17:47:09 +0100
+
+couchdb (1.0.1-0ubuntu15) natty; urgency=low
+
+ * Rebuild against latest libmozjs, since we turned on --enable-threadsafe
+ * Also switch to using pkg-config rather than using the js-config script
+ shipped by libmozjs. The latter is totally broken since turning on
+ --enable-ctypes
+ - update debian/patches/moz0002-libmozjs.patch
+ - update debian/patches/moz0003-spidermonkey1.8.5_autotools.patch
+ - Fixes (LP: #758895)
+
+ -- Chris Coulson Fri, 15 Apr 2011 13:21:56 +0100
+
+couchdb (1.0.1-0ubuntu14) natty; urgency=low
+
+ * Build against a proper libmozjs \o/
+ - FFe LP: #740815
+ * Note, we rename a couple of existing patches so that they apply in the
+ right order and the names make sense
+ - rename mozjs2.0.patch => moz0001-spidermonkey1.8.5.patch
+ - rename mozjs2.0_autotools.patch =>
+ moz0003-spidermonkey1.8.5_autotools.patch
+ * Drop unneeded patch which added LD_LIBRARY_PATH kludge
+ - remove debian/patches/mozjs1.9_ldlibpath.patch
+ * Add support to build system for configuring mozjs with js-config
+ - add debian/patches/moz0002-libmozjs.patch
+ * Update build-depends/depends/build config (we no longer need the --with-js
+ build flags)
+ - update debian/rules
+ - update debian/control
+ * Refresh debian/patches/moz0003-spidermonkey1.8.5_autotools.patch
+
+ -- Chris Coulson Thu, 24 Mar 2011 01:02:03 +0000
+
+couchdb (1.0.1-0ubuntu13) natty; urgency=low
+
+ * Fix LP: #736847 - couchjs doesn't search in xulrunner release path
+ for libmozjs. I made it search in all paths for the 2.0 beta and
+ point releases, but missed this one. D'oh!
+ - update debian/mozjs1.9_ldlibpath.patch
+
+ -- Chris Coulson Fri, 18 Mar 2011 00:09:31 +0000
+
+couchdb (1.0.1-0ubuntu12) natty; urgency=low
+
+ * debian/patches/jquery15-fix.patch: Make Futon work with jQuery 1.5 via
+ git commit 064a1d9483cfa33bd0fcc97cb1d97e8e342fdeaf (LP: #716237)
+
+ -- Jason Gerard DeRose Fri, 04 Mar 2011 11:08:10 +0100
+
+couchdb (1.0.1-0ubuntu11) natty; urgency=low
+
+ * Fix LP: #725064 - Rebuild for libmozjs ABI breakage, again :(
+
+ -- Chris Coulson Mon, 28 Feb 2011 10:48:58 +0000
+
+couchdb (1.0.1-0ubuntu10) natty; urgency=low
+
+ * Rebuild due to ABI break in libmozjs
+ * Update to use a single compartment. This avoids some assertions that
+ were happening when running against debug builds of libmozjs
+ - update debian/mozjs2.0.patch
+
+ -- Chris Coulson Tue, 08 Feb 2011 12:18:20 +0000
+
+couchdb (1.0.1-0ubuntu9) natty; urgency=low
+
+ * Fix LP: #709324 - couchjs crashes with SIGSEGV in JS_EvaluateUCScript.
+ Guard calls in the sandbox context with the new
+ JS_{Enter/Leave}CrossCompartmentCall API
+ - update debian/patches/mozjs2.0.patch
+ - update debian/patches/mozjs2.0_autotools.patch
+
+ -- Chris Coulson Sat, 29 Jan 2011 02:52:44 +0000
+
+couchdb (1.0.1-0ubuntu8) natty; urgency=low
+
+ * Fix LP: #707774 - couchjs crashed with SIGSEGV in JS_NewGlobalObject(),
+ since compartments landed. Use JS_NewCompartmentAndGlobalObject instead
+ - update debian/patches/mozjs2.0.patch
+ - update debian/patches/mozjs2.0_autotools.patch
+
+ -- Chris Coulson Fri, 28 Jan 2011 12:03:46 +0000
+
+couchdb (1.0.1-0ubuntu7) natty; urgency=low
+
+ * Fix LP: #703353 - couchjs doesn't start because of ABI break in
+ Spidermonkey. Use the new API for getting a character array from a
+ JSString
+ - update debian/patches/mozjs2.0.patch
+ - update debian/patches/mozjs2.0_autotools.patch
+
+ -- Chris Coulson Wed, 19 Jan 2011 11:49:30 +0000
+
+couchdb (1.0.1-0ubuntu6) natty; urgency=low
+
+ * Fix LP: #682866 - CouchDatabase() call hangs because couchjs crashes,
+ due to semantic differences between fgets and js_fgets. Use a local
+ implementation of js_fgets when it's not available otherwise
+ - update debian/patches/mozjs2.0.patch
+ - update debian/patches/mozjs2.0_autotools.patch
+
+ -- Chris Coulson Mon, 06 Dec 2010 10:23:54 +0000
+
+couchdb (1.0.1-0ubuntu5) natty; urgency=low
+
+ * Native functions must always set rval when returning success in
+ the latest version of Spidermonkey, because of the JSFastNative =>
+ JSNative changes
+ - update debian/patches/mozjs2.0.patch
+ * Remove a lot of #ifdefs by turning on JSFastNative in pre 2.0 builds.
+ Also make the configure checks more fine-grained
+ - update debian/patches/mozjs2.0.patch
+
+ -- Chris Coulson Thu, 25 Nov 2010 12:33:55 +0000
+
+couchdb (1.0.1-0ubuntu4) natty; urgency=low
+
+ * Fix LP: #421422 - Update dependencies to not pull in the entire
+ Gecko runtime (+ GTK and X etc). Depend on only the package providing
+ Spidermonkey. Update launcher scripts to not use the xulrunner binary to
+ discover the Spidermonkey install location, as it's not available now. The
+ new method is actually faster, because it doesn't block on starting XPCOM
+ - update debian/rules
+ - update debian/control
+ - update debian/patches/mozjs1.9_ldlibpath.patch
+ * Update for Spidermonkey 2.0 API changes
+ - add debian/patches/mozjs2.0.patch
+ - add debian/patches/mozjs2.0_autotools.patch
+ * Handle beta versions of xulrunner when generating the binary depends
+ for couchdb-bin
+ - update debian/rules
+
+ -- Chris Coulson Thu, 25 Nov 2010 02:46:22 +0000
+
+couchdb (1.0.1-0ubuntu3) maverick; urgency=low
+
+ * Patchset from CouchIO to fix U1 replication over SSL (LP: #422178)
+ - couchio-fix-0001-replicator_redirect_atts.patch
+ - couchio-fix-0002-replicator_db_proxy_fix.patch
+ - couchio-fix-0003-changes_redirect_1.patch
+ - couchio-fix-0004-changes_redirect_2.patch
+ - couchio-fix-0005-changes_proxy.patch
+ - couchio-fix-0006-replicator_reader_errors.patch
+ - couchio-fix-0007-ibrowse_upgrade.patch
+ - couchio-fix-0008-replicator_doc_id_encoding.patch
+ - couchio-fix-0009-replicator_changes_error.patch
+ - couchio-fix-0010-replicator_changes_connection_close.patch
+ - couchio-fix-0011-ibrowse_chunked_encoding_streaming.patch
+ - couchio-fix-0012-replicator_ssl.patch [fixed up]
+
+ -- Samuele Pedroni Fri, 24 Sep 2010 14:53:26 -0400
+
+couchdb (1.0.1-0ubuntu2) maverick; urgency=low
+
+ * SECURITY UPDATE: Untrusted search path vulnerability
+ - debian/patches/mozjs_ldlibpath.patch: updated to make sure
+ $LD_LIBRARY_PATH exists before using it, so we don't end up searching
+ in the current working directory.
+ - CVE-2010-2953
+
+ -- Marc Deslauriers Wed, 22 Sep 2010 16:33:30 -0400
+
+couchdb (1.0.1-0ubuntu1) maverick; urgency=low
+
+ * Upstream microrelease to address data loss (LP: #615224)
+ - Fix data corruption bug COUCHDB-844. Please see
+ http://couchdb.apache.org/notice/1.0.1.html for details.
+ - Added support for replication via an HTTP/HTTP proxy.
+ - Fixed various replicator bugs for interop with older
+ CouchDB versions.
+ - Show fields saved along with _deleted=true.
+ Allows for auditing of deletes.
+ - Enable basic-auth popup when required to access the server,
+ to prevent people from getting locked out.
+ - User interface element for querying stale (cached) views.
+ * debian/patches/auth_patch.patch dropped, included upstream.
+ * debian/patches/remove_users.patch dropped, included upstream.
+
+ -- Elliot Murphy Mon, 16 Aug 2010 19:45:48 -0400
+
+couchdb (1.0.0-0ubuntu1) maverick; urgency=low
+
+ * New upstream release (LP: #609728)
+ * debian/patches/auth_cache.patch (already forwarded upstream)
+ - fix a loop in the auth cache that stopped people from logging into futon
+ * debian/patches/remove_users.patch (already forwarded upstream)
+ - fix failure to delete couch users
+ * source/format - mark package as 1.0 format
+ * debian/control - bump standards version
+ * debian/control - fix lintian error not-binnmuable-all-depends-any
+
+ -- Elliot Murphy Mon, 26 Jul 2010 10:24:11 -0400
+
+couchdb (0.11.0-1ubuntu1) maverick; urgency=low
+
+ * Merge from debian unstable. Remaining changes: (LP: #591444)
+ - debian/patches/fix-help2man.patch, debian/control: build with help2man
+ >= 1.37; add --no-discard-stderr
+ - debian/patches/init.patch: updated to account for upstream conflicting
+ changes
+ - debian/rules, debian/control: split couchdb and couchdb-bin
+ - debian/control: add missing erlang-{inets,crypto,xmerl}
+ (build-)dependencies
+ - debian/patches/mozjs_ldlibpath.patch, debian/control: change version
+ of xulrunner to xulrunner-1.9.2
+ - debian/control: transition from libmozjs-dev to xulrunner-dev in
+ ubuntu
+ - debian/rules, debian/control: grab the current xulrunner version with
+ "xulrunner --gre-version" to use as a dependency
+ - debian/postinst: renamed to couchdb-bin.postinst, change the default
+ permissions on /etc/couchdb to 0775 and files to 0664
+ - debian/couchdb-bin.postrm: don't try to delete couchdb system
+ user/group
+ * erlang-depends, pass explicit -pcouchdb-bin
+
+ -- Clint Byrum Tue, 08 Jun 2010 23:16:21 -0700
+
+couchdb (0.11.0-1) unstable; urgency=medium (security fixes)
+
+ * New upstream release, including security fix for CVE-2010-00009.
+ (closes: #576304, #577417)
+ * Removed debian/patches/icu-patch.patch, as it's no longer needed.
+
+ -- Sam Bisbee Fri, 16 Apr 2010 18:04:47 +0400
+
+couchdb (0.10.1-2) unstable; urgency=low
+
+ [ Elliot Murphy ]
+ * Updated debian/control, added Elliot to Uploaders
+ * Dropped $ENABLE_SERVER portion of debian/patches/init.patch
+
+ [ Sam Bisbee ]
+ * Updated debian/patches/init.patch, adding a grace period to the init
+ script's stop task to allow couchdb's child processes (ie., heart) a chance
+ to exit before deciding whether the task was successful or not. This adds a
+ dependency on procps (`ps` command).
+ * Removed debian/preinst, undoing killall preinst patch from 0.10.0-1 that is
+ no longer needed due to the grace period init patch in this release. This
+ also removes the dependency on psmisc. (closes: #562901)
+ * Updated debian/control, bumping Debian standards version to 3.8.4.
+ * Updated debian/control, adding mawk as a dependency. The majority of
+ systems will have it installed with the base system, but it's required and
+ not essential. (closes: #569965)
+
+ -- Sam Bisbee Tue, 09 Mar 2010 21:55:59 +0300
+
+couchdb (0.10.1-1) unstable; urgency=low
+
+ * New upstream release (closes: #550782).
+ * Cleaning up nmu related lintian warnings.
+
+ -- Sam Bisbee Wed, 23 Dec 2009 23:15:27 -0500
+
+couchdb (0.10.0-1ubuntu2) lucid; urgency=low
+
+ * debian/patches/fix-help2man.patch, debian/control: build with help2man 1.37;
+ add --no-discard-stderr for 1.37 help2man version (LP: #536740)
+ * debian/patches/mozjs_ldlibpath.patch, debian/control: change version of
+ xulrunner to xulrunner-1.9.2 (LP: #536737)
+
+ -- Micah Gersten Tue, 09 Mar 2010 12:27:55 -0600
+
+couchdb (0.10.0-1ubuntu1) lucid; urgency=low
+
+ * Merge from Debian testing, remaining changes:
+ - split package into couchdb and couchdb-bin binary packages, so that
+ the programs can be installed without starting the system service
+ - debian/control: add missing erlang-{inets,crypto,xmerl}
+ (build-)dependencies
+ - debian/control: transition from libmozjs-dev to xulrunner-dev in
+ ubuntu
+ - debian/rules, debian/control: grab the current xulrunner version with
+ "xulrunner --gre-version" to use as a dependency
+ - debian/patches/mozjs_ldlibpath.patch: explicitly set LD_LIBRARY_PATH to
+ pkglibdir of current installed xulrunner version on startup; this works
+ around the fact that couchdb relies on the not publicly exported
+ libmozjs
+ - debian/postinst: change the default permissions on /etc/couchdb to
+ 0775, and /etc/couchdb/default.ini and /etc/couchdb/local.ini to 0774
+ - debian/patches/http-redirect-query-string-fix.patch: fix replication
+ over OAuth, which was broken because of incorrect query-string handling
+ after HTTP redirection
+ - debian/couchdb-bin.postrm: don't try to delete couchdb system
+ user/group
+ - debian/rules, debian/couchdb.{postinst,postrm}: create
+ /var/{log,lib}/couchdb/${couchdbversion}, so couchdb will run.
+ * Dropped changes, superseded in Debian:
+ - debian/control: bump the Standards-Version to 3.8.2 (latest)
+ - debian/copyright: added src/etap/* to copyright file
+ * debian/rules: don't munge debian/couchdb-bin.postrm, it doesn't contain
+ the VERSION tag anymore
+ * Fix permissions on files in /etc/couchdb to be 0664, not 0774 - config
+ files should not be executable!
+ * Remove the debian/preinst, and drop the build-dependency on psmisc which
+ doesn't do the right thing /anyway/. A preinst invocation implies a
+ Pre-Depends, not a Build-Depends, and the heuristic being used here with
+ 'killall' is useless.
+ * Don't recursively chmod /var/lib/couchdb, only chmod the directories -
+ we don't want the files to wind up executable.
+ * debian/rules: fix dh_installinit invocation to only add scripts for the
+ couchdb package, not couchdb-bin.
+
+ -- Steve Langasek Tue, 29 Dec 2009 13:24:28 -0800
+
+couchdb (0.10.0-1) unstable; urgency=low
+
+ [ Elliot Murphy ]
+ * Updated debian/copyright, added src/etap*
+ * Updated debian/control, changed Maintainer to Erlang team address
+ * Updated debian/control, changed Vcs- links to new locations.
+
+ [ Sergei Golovan ]
+ * New upstream release (closes: #551212, #554080, #554593).
+ * Removed unnecessary build dependency on transitional erlang-nox package.
+ * Replaced subst variables in dependencies by ${erlang:Depends} which allows
+ to calculate dependencies automatically. This removes erlang-nox from
+ dependencies (closes: #532756).
+ * Bumped standards version to 3.8.3.
+ * It's normal if /etc/init.d script is left after package removal as a
+ config file (and the binary isn't available). Therefore made it return
+ success in case if /usr/bin/couchdb doesn't exist or isn't an executable.
+ * Change current directory to /var/run/couchdb in init script to prevent
+ error messages about access violation by code server if the current dir
+ isn't readable by the couchdb user.
+ * Put log files directly into /var/log/couchdb directory. There's no reason
+ to have different log subdirectories for different couchdb versions.
+
+ [ Noah Slater ]
+ * Updated debian/control, updated Build-Depends on debhelper to 7.2.11.
+
+ [ Sam Bisbee ]
+ * Updated debian/control, repointed Vcs links.
+ * Fix "replacing libreadline5-dev build dependency with libreadline-
+ dev" Updated debian/control, changed libreadline5-dev dependency to
+ libreadline-dev. (Closes: #553742)
+ * Updated debian/README.Debian, removed log directory partitioning info
+ per Sergei's related changes to put all logs in one directory.
+ * Updated debian/postrm, rmdir didn't like that its target directories
+ weren't non-empty (despite passed args), causing errors and failing to
+ remove directories. Also removed the version partitioning cases.
+ * Created debian/preinst, now we make sure that couchdb isn't running any
+ beam processes on upgrade. Upgrading from 0.9.0-2 was leaving old code in a
+ running beam process, so you were running 0.9.0 couchdb but had 0.10.0 code
+ installed until you killed the process. Adds a dependency on psmisc.
+
+ -- Sam Bisbee Sat, 21 Nov 2009 17:10:39 -0500
+
+couchdb (0.10.0-0ubuntu3) karmic; urgency=low
+
+ * Fix replication over OAuth, which was broken because of incorrect
+ query-string handling after HTTP redirection. (LP: #456234)
+ * create /var/log/couchdb/${couchdbversion} also, as couchdb does not
+ create it. (LP: #453049)
+
+ -- Chad Miller Tue, 20 Oct 2009 16:30:45 -0400
+
+couchdb (0.10.0-0ubuntu2) karmic; urgency=low
+
+ * create /var/log/couchdb so that couchdb installs/runs (LP: #453049)
+
+ -- Chad Miller Mon, 19 Oct 2009 09:37:43 -0400
+
+couchdb (0.10.0-0ubuntu1) karmic; urgency=low
+
+ * Final 0.10.0 upstream release. (LP: #450442)
+ - CouchDB 0.10.0 is now a beta version, not alpha.
+ - Fixes replication with 0.9 servers.
+ - Fix UUID's tests.
+ - Includes ETap into the test suite.
+ - Fix UUID's ETags.
+ - Fix cookie and oauth+replication.
+ - OAuth support for https URL scheme.
+ - Reject invalid UTF-8.
+ * debian/patches
+ - dropped oauth-replication-crash-fix-backport.patch
+ * debian/copyright
+ - added src/etap/* to copyright file.
+
+ -- Elliot Murphy Tue, 13 Oct 2009 16:50:35 -0400
+
+couchdb (0.10.0~svn818859-0ubuntu3) karmic; urgency=low
+
+ * Finish split of couchdb-bin and couchdb by renaming substvar file
+ for xulrunner dependency. (LP: #449653)
+
+ -- Chad Miller Mon, 12 Oct 2009 12:11:29 -0400
+
+couchdb (0.10.0~svn818859-0ubuntu2) karmic; urgency=low
+
+ * Backport future patches that fixes replication crash for authenticated
+ connections from other couchdb instances. (LP: #439499)
+ * Remove explicit version from debian/couchdb-bin/postinst .
+
+ -- Chad Miller Thu, 01 Oct 2009 09:56:37 -0400
+
+couchdb (0.10.0~svn818859-0ubuntu1) karmic; urgency=low
+
+ * Import code from pre-release branch. (LP: #427860, #408909)
+ + Build and System Integration:
+ * Changed `couchdb` script configuration options.
+ * Added default.d and local.d configuration directories to load
+ sequence.
+ + HTTP Interface:
+ * Added optional cookie-based authentication handler.
+ * Added optional two-legged OAuth authentication handler.
+ * Packaging of couchdb-bin must replace pre-split couchdb.
+ (LP: #432219)
+ * Move all of /etc and /var out of the couchdb-bin package, to the
+ couchdb package.
+ * /etc/couchdb must be in couchdb-bin, as config files are needed
+ by all servers.
+ + So the couchdb user must be managed by couchdb-bin.
+ + Split postinst/postrm files to manage different files.
+ + Set Replaces of couchdb-bin by couchdb so that config files
+ migrate.
+ * Update the version number in postrm. (!)
+ * Use the new "Breaks" field in control file to help split pkg.
+
+ [Ken VanDine]
+ * debian/couchdb.install:
+ - removed /var
+ * debian/rules:
+ - removed bootstrap
+ * debian/couchdb.postinst:
+ - Added the debhelper tag
+
+ -- Chad Miller Fri, 25 Sep 2009 19:18:26 -0400
+
+couchdb (0.10.0~svn813472-0ubuntu2) karmic; urgency=low
+
+ * Split couchdb into couchdb (to hold only the init) and couchdb-bin
+ (to hold everything else). (LP: #427036)
+
+ -- Chad Miller Wed, 16 Sep 2009 14:12:56 -0400
+
+couchdb (0.10.0~svn813472-0ubuntu1) karmic; urgency=low
+
+ * New snapshot of couchdb 0.10.x stable prerelease branch
+ - pass config reset option to recursed background startup (LP: #424330)
+ closes COUCHDB-498
+ - Fix for building on snow leopard COUCHDB-490
+ - Fix SSL replication (LP: #422178) COUCHDB-491
+ - Fix continuous-after-normal replication
+ - Use the same password hash calculation for user creation via ini
+ file and user db, closes COUCHDB-492
+ - Fix for WebKit XHR, closes COUCHDB-483
+ - Don't check for response code text, closes COUCHDB-482
+ - Remove a debugging leftover
+
+ -- Elliot Murphy Thu, 10 Sep 2009 11:35:54 -0400
+
+couchdb (0.10.0~svn809550-0ubuntu1) karmic; urgency=low
+
+ * New snapshot of couchdb 0.10.x stable prerelease branch (LP: #421971)
+ - fixes a process leak in local changes feed consumer
+ - disables internal gen_server timeouts
+ - minimize the number of full commits
+ - follow 302 redirects during replication
+ - more precise and accurate calculation of replication progress
+ - added crypto export notice to README
+ - Fix for problem where HEAD requests that would have a chunked responses
+ would send the chunked response anyway.
+ - send deleted docs to changes filters and protect against missing
+ filters.
+ - merge cascading auth patch by Jason Davies, closes COUCHDB-478
+ * Drop debian/patches/oauth_ini_users.patch as it has been merged upstream.
+ * debian/postrm
+ - don't try to delete couchdb system user/group (LP: #387945)
+
+ -- Elliot Murphy Mon, 31 Aug 2009 09:06:26 -0400
+
+couchdb (0.10.0~svn806985-0ubuntu2) karmic; urgency=low
+
+ * Pick up the xulrunner dep from xulrunner --gre-version instead of
+ hard-coding it in debian/control; this gets us onto xulrunner-1.9.1,
+ which we're already building against, instead of xulrunner-1.9.
+
+ -- Steve Langasek Fri, 28 Aug 2009 23:21:39 +0000
+
+couchdb (0.10.0~svn806985-0ubuntu1) karmic; urgency=low
+
+ * First snapshot of couchdb 0.10pre, from
+ http://build.couchdb.org/0.10.x-UNOFFICIAL (LP: #418288)
+ * debian/postinst
+ - Make /etc/couchdb/local.ini world readable (LP: #403575)
+
+ [Elliot Murphy]
+ * Added debian/patches/oauth_ini_users.patch from
+ http://issues.apache.org/jira/browse/COUCHDB-478
+
+ -- Ken VanDine Mon, 24 Aug 2009 15:44:14 -0400
+
+couchdb (0.9.0-2ubuntu5) karmic; urgency=low
+
+ * Fixes LP: #389089 - couchdb fails to start: looking for absent 'xulrunner'
+ - Use version-specific xulrunner binary in couchdb wrapper script.
+
+ -- Elliot Murphy Wed, 05 Aug 2009 11:27:30 +0100
+
+couchdb (0.9.0-2ubuntu4) karmic; urgency=low
+
+ * debian/postinst
+ - Change the default permissions on /etc/couchdb to 0775,
+ /etc/couchdb/default.ini to 0774 and /etc/couchdb/local.ini
+ to 0770 (LP: #403575)
+ * debian/control
+ - Bump the Standards-Version to 3.8.2 (latest)
+
+ -- Ken VanDine Thu, 23 Jul 2009 13:35:12 -0400
+
+couchdb (0.9.0-2ubuntu3) karmic; urgency=low
+
+ * Add missing erlang-{crypto,xmerl} dependencies, thanks James Henstridge!
+ (LP: #385104)
+
+ -- Martin Pitt Fri, 12 Jun 2009 18:06:25 +0200
+
+couchdb (0.9.0-2ubuntu2) karmic; urgency=low
+
+ * Change erlang-nox dependency to erlang-inets. (LP: #385104)
+
+ -- James Henstridge Tue, 02 Jun 2009 17:17:40 +0800
+
+couchdb (0.9.0-2ubuntu1) karmic; urgency=low
+
+ De-libmoz-dev'ification (LP: #352968)
+ * debian/control: transition from libmozjs-dev to xulrunner-dev in ubuntu
+ * debian/control: add xulrunner-1.9 as explicit dependency for couchdb package
+ * debian/patches/mozjs_ldlibpath.patch: explicitly set LD_LIBRARY_PATH to
+ pkglibdir of current installed xulrunner version on startup; this works around
+ the fact that couchdb relies on the not publicly exported libmozjs
+
+ -- Alexander Sack Wed, 10 Jun 2009 15:39:54 +0200
+
+couchdb (0.9.0-2) unstable; urgency=low
+
+ * Updated debian/dirs, removed /var/run/couchdb directory per policy.
+ * Updated debian/patches/pid.patch, create /var/run/couchdb dynamically.
+ * Updated debian/postrm, added VERSION variable.
+ * Updated debian/postrm, added missing removal of log directories.
+ * Updated debian/postrm, fixed missing function error.
+ * Updated debian/rules, added patch for debian/postrm to update VERSION.
+ * Updated debian/rules, fixed bug with configure patch.
+ * Updated debian/control, added build-dependency on erlang-dev >= 1:13.b
+ to make transition to Erlang R13B easier.
+
+ -- Noah Slater Mon, 11 May 2009 11:26:55 +0400
+
+couchdb (0.9.0-1) unstable; urgency=low
+
+ * New upstream release. Closes: #522051
+ * Added debian/patches/pid.patch, corrects daemon pidfile handling.
+ * Updated debian/control, added Build-Depends on libcurl4-openssl-dev.
+ * Updated debian/control, changed Homepage and Description.
+ * Updated debian/control, changed Standards-Version to 3.8.0.
+ * Updated debian/copyright, changed maintainer email address.
+ * Updated debian/postinst, changed owner of /etc/couchdb directory.
+ * Updated debian/postrm, changed so only empty data directories are removed.
+ * Updated debian/rules, improved uscan options for get-orig-source.
+
+ -- Noah Slater Tue, 14 Apr 2009 16:32:45 +0100
+
+couchdb (0.8.1-1) experimental; urgency=low
+
+ * New upstream release.
+ * Updated debian/control, added Depends on libjs-jquery.
+ * Updated debian/control, removed Depends on mime-support.
+ * Updated debian/rules, added standard uscan options for get-orig-source.
+ * Removed debian/patches/directory-version.patch, replaces manual sed invocation.
+
+ -- Noah Slater Mon, 18 Aug 2008 15:10:07 +0100
+
+couchdb (0.8.0-2) unstable; urgency=low
+
+ * Added debian/README.source, contains upstream source information.
+ * Updated debian/README.Debian, added note about python-couchdb.
+ * Updated debian/control, changed Standards-Version to 3.8.0.
+ * Updated debian/copyright, changed for latest proposed format.
+ * Updated debian/rules, changed binary-arch and binary-indep targets
+ to depend on the build target as a workaround for #486848.
+ * Updated debian/watch, updated version number.
+
+ -- Noah Slater Fri, 11 Jul 2008 11:29:17 +0100
+
+couchdb (0.8.0-1) unstable; urgency=low
+
+ * New upstream release.
+ * Added debian/watch, upstream information for uscan.
+ * Updated debian/copyright, changed to use Apache Licence from common-licenses.
+ * Updated debian/rules, changed get-orig-source to work with uscan.
+
+ -- Noah Slater Wed, 25 Jun 2008 20:19:40 +0100
+
+couchdb (0.7.3~svn650270-2) unstable; urgency=low
+
+ * Updated debian/rules, added release partitioning to data directories.
+ * Updated debian/postrm, changed so that log files are not removed.
+
+ -- Noah Slater Sat, 24 May 2008 16:30:21 +0100
+
+couchdb (0.7.3~svn650270-1) experimental; urgency=low
+
+ * New upstream snapshot, database format change, no boot file, no
+ SpiderMonkey and all tests pass. Closes: #465592, #465722, #466424
+ * Updated debian/control, removed Debian revision from erlang-dev Build-Depends.
+ * Updated debian/control, removed Depends on libicu-dev. Closes: #466076
+ * Updated debian/copyright, changed for latest proposed format.
+
+ -- Noah Slater Thu, 01 May 2008 12:07:31 +0100
+
+couchdb (0.7.3~svn684-1) unstable; urgency=low
+
+ * New upstream snapshot.
+ * Updated debian/control, changed Standards-Version to 3.7.3.
+
+ -- Noah Slater Wed, 06 Feb 2008 17:03:38 +0000
+
+couchdb (0.7.2-2) experimental; urgency=low
+
+ * Updated debian/control, added Build-Depends on libicu-dev as an
+ alternative to libicu36-dev which is removed from unstable.
+
+ -- Sergei Golovan Wed, 19 Dec 2007 17:54:47 +0300
+
+couchdb (0.7.2-1) experimental; urgency=low
+
+ * New upstream release.
+ * Updated debian/rules, changed to pass -fPIC to compiler. Closes: #451996
+ * Updated debian/rules, changed to force removal of unwanted files.
+ * Updated debian/rules, added a get-orig-source target.
+
+ -- Noah Slater Sat, 08 Dec 2007 01:21:01 +0300
+
+couchdb (0.7.0-1) experimental; urgency=low
+
+ * Initial release. Closes: #445880
+
+ -- Noah Slater Sat, 6 Oct 2007 19:44:36 +0100
+
--- couchdb-1.0.1.orig/debian/rules
+++ couchdb-1.0.1/debian/rules
@@ -0,0 +1,43 @@
+#!/usr/bin/make -f
+
+# Copyright 2009, Noah Slater
+
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice and this
+# notice are preserved.
+
+include /usr/share/cdbs/1/rules/buildcore.mk
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/autotools.mk
+include /usr/share/cdbs/1/rules/simple-patchsys.mk
+
+DEB_INSTALL_DOCS_ALL =
+DEB_DH_INSTALLINIT_ARGS = -Ncouchdb-bin --onlyscripts
+
+LIB = ${localstatedir}/lib/\$${package_identifier}
+
+# @@ workaround for #486848
+binary-arch binary-indep: build
+
+post-patches::
+ sed -i s,$(LIB)$$,$(LIB)/$(DEB_UPSTREAM_VERSION), configure
+ sed -i s,VERSION=%VERSION%$$,VERSION=$(DEB_UPSTREAM_VERSION), debian/couchdb.postrm debian/couchdb.postinst
+
+cleanbuilddir::
+ sed -i s,$(LIB)/$(DEB_UPSTREAM_VERSION)$$,$(LIB), configure
+ sed -i s,VERSION=$(DEB_UPSTREAM_VERSION)$$,VERSION=%VERSION%, debian/couchdb.postrm debian/couchdb.postinst
+
+common-binary-post-install-arch::
+ rm -r debian/tmp/var/run
+ rm -f debian/couchdb-bin/usr/lib/couchdb/erlang/lib/couch-*/priv/lib/couch_erl_driver.la
+ rm -f debian/couchdb-bin/usr/share/couchdb/www/script/jquery.js
+ dh_link /usr/share/javascript/jquery/jquery.js /usr/share/couchdb/www/script/jquery.js
+ cp debian/binary.lintian-overrides debian/couchdb-bin/usr/share/lintian/overrides/couchdb-bin
+
+common-binary-predeb-arch::
+ erlang-depends -pcouchdb-bin
+
+# @@ only works from source directory, see #494141
+.PHONY: get-orig-source
+get-orig-source:
+ uscan --force-download --rename --download-version=$(DEB_UPSTREAM_VERSION) --destdir .
--- couchdb-1.0.1.orig/debian/couchdb-bin.postinst
+++ couchdb-1.0.1/debian/couchdb-bin.postinst
@@ -0,0 +1,31 @@
+#!/bin/sh -e
+
+# Copyright 2009, Noah Slater
+
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice and this
+# notice are preserved.
+
+case $1 in
+ configure)
+ if ! getent passwd couchdb > /dev/null; then
+ adduser --system --quiet \
+ --home /var/lib/couchdb --no-create-home \
+ --shell /bin/bash --group --gecos "CouchDB Administrator" couchdb
+ fi
+ if test "`id -u couchdb`" -eq 0; then
+ echo "The couchdb administrative user must not be root." >&2
+ false
+ fi
+ if test "`id -g couchdb`" -eq 0; then
+ echo "The couchdb administrative group must not be root." >&2
+ false
+ fi
+ chown -R couchdb:couchdb /etc/couchdb
+ chmod 0775 /etc/couchdb
+ chmod 0664 /etc/couchdb/default.ini
+ chmod 0664 /etc/couchdb/local.ini
+ ;;
+esac
+
+#DEBHELPER#
--- couchdb-1.0.1.orig/debian/watch
+++ couchdb-1.0.1/debian/watch
@@ -0,0 +1,3 @@
+version=3
+
+http://www.apache.org/dist/couchdb/([\d\.]+)/apache-couchdb-([\d\.]+)\.tar\.gz
--- couchdb-1.0.1.orig/debian/couchdb-bin.dirs
+++ couchdb-1.0.1/debian/couchdb-bin.dirs
@@ -0,0 +1,3 @@
+etc/couchdb/default.d
+etc/couchdb/local.d
+usr/share/lintian/overrides
--- couchdb-1.0.1.orig/debian/README.source
+++ couchdb-1.0.1/debian/README.source
@@ -0,0 +1,20 @@
+Source README
+=============
+
+The upstream source can be downloaded with the following command:
+
+ ./debian/rules get-orig-source
+
+You will need the following packages installed:
+
+ devscripts
+
+You can patch the upstream source with the following command:
+
+ ./debian/rules patch
+
+You can add or edit patches using the following command:
+
+ cdbs-edit-patch
+
+ -- Noah Slater , Wed, 14 Jan 2009 16:46:53 +0000
--- couchdb-1.0.1.orig/debian/compat
+++ couchdb-1.0.1/debian/compat
@@ -0,0 +1 @@
+5
--- couchdb-1.0.1.orig/debian/README.Debian
+++ couchdb-1.0.1/debian/README.Debian
@@ -0,0 +1,26 @@
+Debian README
+=============
+
+Apache CouchDB is alpha software and still under heavy development. Please be
+aware that important areas such as the public API or internal database format
+may see backwards incompatible changes between versions.
+
+More detailed information can be found on the CouchDB wiki:
+
+ http://wiki.apache.org/couchdb/BreakingChanges
+
+Because the internal database format may change, rendering your database
+unusable with a new version of the package, the database directory is
+partitioned by the CouchDB release number of the database format in use.
+
+The partitioned database directories are named like this:
+
+ /var/lib/couchdb/VERSION
+
+Before you upgrade to a new version of this package with a changed database
+format you should export any data that you want keep from the old database and
+import the data into the new database after the upgrade.
+
+Migration tools are available in the `python-couchdb` package.
+
+ -- Sam Bisbee Wed, 11 Nov 2009 23:22:21 -0500
--- couchdb-1.0.1.orig/debian/binary.lintian-overrides
+++ couchdb-1.0.1/debian/binary.lintian-overrides
@@ -0,0 +1 @@
+couchdb-bin: virtual-package-depends-without-real-package-depends
--- couchdb-1.0.1.orig/debian/control
+++ couchdb-1.0.1/debian/control
@@ -0,0 +1,52 @@
+Source: couchdb
+Section: misc
+Priority: optional
+Maintainer: Ubuntu Developers
+XSBC-Original-Maintainer: Erlang Packaging Team
+Uploaders: Sergei Golovan , Sam Bisbee , Elliot Murphy
+Standards-Version: 3.9.1
+Build-Depends: cdbs (>= 0.4.42), debhelper (>= 7.2.11),
+ erlang-dev (>= 1:13.b.1-dfsg-3), help2man (>= 1.37), libcurl4-openssl-dev,
+ libicu-dev, libreadline-dev,
+ libmozjs185-dev, erlang-crypto, erlang-inets, erlang-xmerl
+Homepage: http://couchdb.apache.org/
+Vcs-Svn: svn+ssh://svn.debian.org/svn/pkg-erlang/couchdb
+Vcs-Browser: http://svn.debian.org/viewsvn/pkg-erlang/couchdb
+
+Package: couchdb-bin
+Depends: ${misc:Depends}, ${shlibs:Depends}, ${erlang-base:Depends},
+ ${erlang-crypto:Depends}, ${erlang-inets:Depends}, ${erlang-xmerl:Depends}, ${erlang-abi:Depends}, ${shlibs:Depends}, ${misc:Depends}, adduser, libjs-jquery, lsb-base, procps, mawk
+Suggests: couchdb
+Architecture: any
+Description: RESTful document oriented database, programs
+ Apache CouchDB is a distributed, fault-tolerant and schema-free
+ document-oriented database accessible via a RESTful HTTP/JSON API. Among other
+ features, it provides robust, incremental replication with bi-directional
+ conflict detection and resolution, and is queryable and indexable using a
+ table-oriented view engine with JavaScript acting as the default view
+ definition language.
+ .
+ This package contains the database program (so one can run personal servers),
+ but no system database or "init" startup files. To get those, you need the
+ "couchdb" package.
+ .
+ CouchDB is written in Erlang, but can be easily accessed from any environment
+ that provides means to make HTTP requests. There are a multitude of third-party
+ client libraries that make this even easier for a variety of programming
+ languages and environments.
+
+Package: couchdb
+Architecture: all
+Depends: couchdb-bin (>= ${binary:Version}), ${misc:Depends}
+Description: RESTful document oriented database, system DB
+ Apache CouchDB is a distributed, fault-tolerant and schema-free
+ document-oriented database accessible via a RESTful HTTP/JSON API. Among other
+ features, it provides robust, incremental replication with bi-directional
+ conflict detection and resolution, and is queryable and indexable using a
+ table-oriented view engine with JavaScript acting as the default view
+ definition language.
+ .
+ CouchDB is written in Erlang, but can be easily accessed from any environment
+ that provides means to make HTTP requests. There are a multitude of third-party
+ client libraries that make this even easier for a variety of programming
+ languages and environments.
--- couchdb-1.0.1.orig/debian/couchdb.postinst
+++ couchdb-1.0.1/debian/couchdb.postinst
@@ -0,0 +1,22 @@
+#!/bin/sh -e
+
+# Copyright 2009, Noah Slater
+
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice and this
+# notice are preserved.
+
+VERSION=%VERSION%
+
+case $1 in
+ configure)
+ mkdir -p /var/lib/couchdb/"${VERSION}"
+ mkdir -p /var/log/couchdb
+ chown -R couchdb:couchdb /var/lib/couchdb
+ chown -R couchdb:couchdb /var/log/couchdb
+ chmod 0770 /var/lib/couchdb /var/lib/couchdb/"${VERSION}"
+ chmod 0770 /var/log/couchdb
+ ;;
+esac
+
+#DEBHELPER#
--- couchdb-1.0.1.orig/debian/couchdb-bin.install
+++ couchdb-1.0.1/debian/couchdb-bin.install
@@ -0,0 +1,2 @@
+debian/tmp/etc/couchdb
+debian/tmp/usr
--- couchdb-1.0.1.orig/debian/copyright
+++ couchdb-1.0.1/debian/copyright
@@ -0,0 +1,67 @@
+Upstream-Name: CouchDB
+Upstream-Maintainer: Noah Slater
+Upstream-Source: http://couchdb.apache.org/downloads.html
+
+Files: *
+Copyright: Copyright 2009, The Apache Software Foundation
+License: Apache-2.0
+ On Debian systems the full text of the Apache License (Version 2) can be found
+ in the `/usr/share/common-licenses/Apache-2.0' file.
+
+Files: debian/*
+Copyright: Copyright 2009, Noah Slater
+License: GAP
+
+Files: m4/*
+Copyright: Copyright 2008, Akos Maroy
+License: GAP
+
+Files: share/www/script/jquery.js
+Copyright: Copyright 2007, John Resig
+License: MIT | GPL-2
+ On Debian systems the full text of the GNU General Public License (Version 2)
+ can be found in the `/usr/share/common-licenses/GPL-2' file.
+
+Files: share/www/script/json2.js
+License: PD
+ In the public domain.
+
+Files: src/mochiweb/*
+Copyright: Copyright 2007, Mochi Media Coporation
+License: MIT
+
+Files: src/ibrowse/*
+Copyright: Copyright 2008, Chandrashekhar Mullaparthi
+License: BSD
+ On Debian systems the full text of the BSD License can be found in the
+ `/usr/share/common-licenses/BSD' file.
+
+Files: src/etap/*
+Copyright: Copyright 2008-2009 Nick Gerakines
+License: MIT
+
+License: GAP
+ Copying and distribution of this package, with or without modification, are
+ permitted in any medium without royalty provided the copyright notice and this
+ notice are preserved.
+
+License: MIT
+ Copyright (c)
+ .
+ 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
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
--- couchdb-1.0.1.orig/debian/couchdb.postrm
+++ couchdb-1.0.1/debian/couchdb.postrm
@@ -0,0 +1,28 @@
+#!/bin/sh -e
+
+# Copyright 2009, Noah Slater
+
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice and this
+# notice are preserved.
+
+VERSION=%VERSION%
+
+case $1 in
+ purge)
+ if test -d "/var/lib/couchdb/$VERSION"; then
+ rmdir --ignore-fail-on-non-empty "/var/lib/couchdb/$VERSION" || true
+ fi
+ if test -d "/var/lib/couchdb"; then
+ rmdir --ignore-fail-on-non-empty "/var/lib/couchdb" || true
+ fi
+ if test -d "/var/log/couchdb"; then
+ rm -r -f "/var/log/couchdb"
+ fi
+ if test -d "/var/run/couchdb"; then
+ rmdir --ignore-fail-on-non-empty "/var/run/couchdb" || true
+ fi
+ ;;
+esac
+
+#DEBHELPER#
--- couchdb-1.0.1.orig/debian/source/format
+++ couchdb-1.0.1/debian/source/format
@@ -0,0 +1 @@
+1.0
--- couchdb-1.0.1.orig/debian/patches/couchio-fix-0009-replicator_changes_error.patch
+++ couchdb-1.0.1/debian/patches/couchio-fix-0009-replicator_changes_error.patch
@@ -0,0 +1,33 @@
+diff --git a/couchdb-1.0.1/src/couchdb/couch_rep_changes_feed.erl b/couchdb-1.0.1/src/couchdb/couch_rep_changes_feed.erl
+index 958ee82..a8c77b1 100644
+--- a/couchdb-1.0.1/src/couchdb/couch_rep_changes_feed.erl
++++ b/couchdb-1.0.1/src/couchdb/couch_rep_changes_feed.erl
+@@ -210,9 +210,16 @@ handle_info({'EXIT', From, Reason}, #state{changes_loop=From} = State) ->
+ handle_info({'EXIT', _From, normal}, State) ->
+ {noreply, State};
+
+-handle_info(Msg, State) ->
+- ?LOG_DEBUG("unexpected message at changes_feed ~p", [Msg]),
+- {noreply, State}.
++handle_info(Msg, #state{init_args = InitArgs} = State) ->
++ case Msg of
++ changes_timeout ->
++ [_, #http_db{url = Url} | _] = InitArgs,
++ ?LOG_ERROR("changes loop timeout, no data received from ~s",
++ [couch_util:url_strip_password(Url)]);
++ _ ->
++ ?LOG_ERROR("changes loop received unexpected message ~p", [Msg])
++ end,
++ {stop, Msg, State}.
+
+ terminate(_Reason, State) ->
+ #state{
+@@ -377,7 +384,7 @@ maybe_stream_next(#state{reqid=nil}) ->
+ ok;
+ maybe_stream_next(#state{complete=false, count=N} = S) when N < ?BUFFER_SIZE ->
+ timer:cancel(get(timeout)),
+- {ok, Timeout} = timer:exit_after(31000, changes_timeout),
++ {ok, Timeout} = timer:send_after(31000, changes_timeout),
+ put(timeout, Timeout),
+ ibrowse:stream_next(S#state.reqid);
+ maybe_stream_next(_) ->
--- couchdb-1.0.1.orig/debian/patches/jquery15-fix.patch
+++ couchdb-1.0.1/debian/patches/jquery15-fix.patch
@@ -0,0 +1,124 @@
+## Description: Make Futon work with jQuery 1.5
+## Origin/Author: https://github.com/apache/couchdb/commit/064a1d9483cfa33bd0fcc97cb1d97e8e342fdeaf
+## Bug: https://bugs.launchpad.net/couchdb/+bug/716237
+diff -Nur -x '*.orig' -x '*~' fix-716237//share/www/script/jquery.couch.js fix-716237.new//share/www/script/jquery.couch.js
+--- fix-716237//share/www/script/jquery.couch.js 2011-03-03 21:08:06.625297000 -0700
++++ fix-716237.new//share/www/script/jquery.couch.js 2011-03-03 21:13:47.548923366 -0700
+@@ -36,7 +36,7 @@
+ }
+ user_doc.type = "user";
+ if (!user_doc.roles) {
+- user_doc.roles = []
++ user_doc.roles = [];
+ }
+ return user_doc;
+ };
+@@ -88,7 +88,7 @@
+ $.ajax({
+ type: "GET", url: this.urlPrefix + "/_session",
+ complete: function(req) {
+- var resp = $.httpData(req, "json");
++ var resp = httpData(req, "json");
+ if (req.status == 200) {
+ if (options.success) options.success(resp);
+ } else if (options.error) {
+@@ -115,7 +115,7 @@
+ user_doc = prepareUserDoc(user_doc, password);
+ $.couch.userDb(function(db) {
+ db.saveDoc(user_doc, options);
+- })
++ });
+ },
+
+ login: function(options) {
+@@ -124,7 +124,7 @@
+ type: "POST", url: this.urlPrefix + "/_session", dataType: "json",
+ data: {name: options.name, password: options.password},
+ complete: function(req) {
+- var resp = $.httpData(req, "json");
++ var resp = httpData(req, "json");
+ if (req.status == 200) {
+ if (options.success) options.success(resp);
+ } else if (options.error) {
+@@ -141,7 +141,7 @@
+ type: "DELETE", url: this.urlPrefix + "/_session", dataType: "json",
+ username : "_", password : "_",
+ complete: function(req) {
+- var resp = $.httpData(req, "json");
++ var resp = httpData(req, "json");
+ if (req.status == 200) {
+ if (options.success) options.success(resp);
+ } else if (options.error) {
+@@ -167,7 +167,7 @@
+ doc._attachments["rev-"+doc._rev.split("-")[0]] = {
+ content_type :"application/json",
+ data : Base64.encode(rawDocs[doc._id].raw)
+- }
++ };
+ return true;
+ }
+ }
+@@ -385,7 +385,7 @@
+ dataType: "json", data: toJSON(doc),
+ beforeSend : beforeSend,
+ complete: function(req) {
+- var resp = $.httpData(req, "json");
++ var resp = httpData(req, "json");
+ if (req.status == 200 || req.status == 201 || req.status == 202) {
+ doc._id = resp.id;
+ doc._rev = resp.rev;
+@@ -450,7 +450,7 @@
+ copyDoc: function(docId, options, ajaxOptions) {
+ ajaxOptions = $.extend(ajaxOptions, {
+ complete: function(req) {
+- var resp = $.httpData(req, "json");
++ var resp = httpData(req, "json");
+ if (req.status == 201) {
+ if (options.success) options.success(resp);
+ } else if (options.error) {
+@@ -583,7 +583,7 @@
+ if (!uuidCache.length) {
+ ajax({url: this.urlPrefix + "/_uuids", data: {count: cacheNum}, async: false}, {
+ success: function(resp) {
+- uuidCache = resp.uuids
++ uuidCache = resp.uuids;
+ }
+ },
+ "Failed to retrieve UUID batch."
+@@ -593,6 +593,27 @@
+ }
+ });
+
++ var httpData = $.httpData || function( xhr, type, s ) { // lifted from jq1.4.4
++ var ct = xhr.getResponseHeader("content-type") || "",
++ xml = type === "xml" || !type && ct.indexOf("xml") >= 0,
++ data = xml ? xhr.responseXML : xhr.responseText;
++
++ if ( xml && data.documentElement.nodeName === "parsererror" ) {
++ $.error( "parsererror" );
++ }
++ if ( s && s.dataFilter ) {
++ data = s.dataFilter( data, type );
++ }
++ if ( typeof data === "string" ) {
++ if ( type === "json" || !type && ct.indexOf("json") >= 0 ) {
++ data = $.parseJSON( data );
++ } else if ( type === "script" || !type && ct.indexOf("javascript") >= 0 ) {
++ $.globalEval( data );
++ }
++ }
++ return data;
++ };
++
+ function ajax(obj, options, errorMessage, ajaxOptions) {
+ options = $.extend({successStatus: 200}, options);
+ ajaxOptions = $.extend({contentType: "application/json"}, ajaxOptions);
+@@ -608,7 +629,7 @@
+ },
+ complete: function(req) {
+ try {
+- var resp = $.httpData(req, "json");
++ var resp = httpData(req, "json");
+ } catch(e) {
+ if (options.error) {
+ options.error(req.status, req, e);
--- couchdb-1.0.1.orig/debian/patches/couchdb-svn1039345-backport.patch
+++ couchdb-1.0.1/debian/patches/couchdb-svn1039345-backport.patch
@@ -0,0 +1,125 @@
+=== modified file 'src/erlang-oauth/oauth.app.in'
+--- old/src/erlang-oauth/oauth.app.in 2010-07-26 10:24:11 +0000
++++ new/src/erlang-oauth/oauth.app.in 2011-09-13 17:32:12 +0000
+@@ -1,6 +1,6 @@
+ {application, oauth, [
+ {description, "Erlang OAuth implementation"},
+- {vsn, "dev"},
++ {vsn, "7d85d3ef"},
+ {modules, [
+ oauth,
+ oauth_hmac_sha1,
+
+=== modified file 'src/erlang-oauth/oauth_hmac_sha1.erl'
+--- old/src/erlang-oauth/oauth_hmac_sha1.erl 2010-07-26 10:24:11 +0000
++++ new/src/erlang-oauth/oauth_hmac_sha1.erl 2011-09-13 17:32:12 +0000
+@@ -8,4 +8,4 @@ signature(BaseString, CS, TS) ->
+ base64:encode_to_string(crypto:sha_mac(Key, BaseString)).
+
+ verify(Signature, BaseString, CS, TS) ->
+- couch_util:verify(signature(BaseString, CS, TS), Signature).
++ Signature =:= signature(BaseString, CS, TS).
+
+=== modified file 'src/erlang-oauth/oauth_http.erl'
+--- old/src/erlang-oauth/oauth_http.erl 2009-08-24 15:44:14 +0000
++++ new/src/erlang-oauth/oauth_http.erl 2011-09-13 17:32:12 +0000
+@@ -10,7 +10,7 @@ post(URL, Data) ->
+ request(post, {URL, [], "application/x-www-form-urlencoded", Data}).
+
+ request(Method, Request) ->
+- http:request(Method, Request, [{autoredirect, false}], []).
++ httpc:request(Method, Request, [{autoredirect, false}], []).
+
+ response_params(Response) ->
+ oauth_uri:params_from_string(response_body(Response)).
+
+=== modified file 'src/erlang-oauth/oauth_plaintext.erl'
+--- old/src/erlang-oauth/oauth_plaintext.erl 2010-07-26 10:24:11 +0000
++++ new/src/erlang-oauth/oauth_plaintext.erl 2011-09-13 17:32:12 +0000
+@@ -7,4 +7,4 @@ signature(CS, TS) ->
+ oauth_uri:calate("&", [CS, TS]).
+
+ verify(Signature, CS, TS) ->
+- couch_util:verify(signature(CS, TS), Signature).
++ Signature =:= signature(CS, TS).
+
+=== modified file 'src/erlang-oauth/oauth_uri.erl'
+--- old/src/erlang-oauth/oauth_uri.erl 2009-08-24 15:44:14 +0000
++++ new/src/erlang-oauth/oauth_uri.erl 2011-09-13 17:32:12 +0000
+@@ -6,14 +6,6 @@
+
+ -import(lists, [concat/1]).
+
+--define(is_uppercase_alpha(C), C >= $A, C =< $Z).
+--define(is_lowercase_alpha(C), C >= $a, C =< $z).
+--define(is_alpha(C), ?is_uppercase_alpha(C); ?is_lowercase_alpha(C)).
+--define(is_digit(C), C >= $0, C =< $9).
+--define(is_alphanumeric(C), ?is_alpha(C); ?is_digit(C)).
+--define(is_unreserved(C), ?is_alphanumeric(C); C =:= $-; C =:= $_; C =:= $.; C =:= $~).
+--define(is_hex(C), ?is_digit(C); C >= $A, C =< $F).
+-
+
+ normalize(URI) ->
+ case http_uri:parse(URI) of
+@@ -66,23 +58,41 @@ intersperse(_, [X]) -> [X];
+ intersperse(Sep, [X|Xs]) ->
+ [X, Sep|intersperse(Sep, Xs)].
+
+-decode(Chars) ->
+- decode(Chars, []).
++-define(is_alphanum(C), C >= $A, C =< $Z; C >= $a, C =< $z; C >= $0, C =< $9).
+
+-decode([], Decoded) ->
+- lists:reverse(Decoded);
+-decode([$%,A,B|Etc], Decoded) when ?is_hex(A), ?is_hex(B) ->
+- decode(Etc, [erlang:list_to_integer([A,B], 16)|Decoded]);
+-decode([C|Etc], Decoded) when ?is_unreserved(C) ->
+- decode(Etc, [C|Decoded]).
+-
+-encode(Chars) ->
+- encode(Chars, []).
+-
+-encode([], Encoded) ->
+- lists:flatten(lists:reverse(Encoded));
+-encode([C|Etc], Encoded) when ?is_unreserved(C) ->
+- encode(Etc, [C|Encoded]);
+-encode([C|Etc], Encoded) ->
+- Value = io_lib:format("%~2.1.0s", [erlang:integer_to_list(C, 16)]),
+- encode(Etc, [Value|Encoded]).
++encode(Term) when is_integer(Term) ->
++ integer_to_list(Term);
++encode(Term) when is_atom(Term) ->
++ encode(atom_to_list(Term));
++encode(Term) when is_list(Term) ->
++ encode(lists:reverse(Term, []), []).
++
++encode([X | T], Acc) when ?is_alphanum(X); X =:= $-; X =:= $_; X =:= $.; X =:= $~ ->
++ encode(T, [X | Acc]);
++encode([X | T], Acc) ->
++ NewAcc = [$%, dec2hex(X bsr 4), dec2hex(X band 16#0f) | Acc],
++ encode(T, NewAcc);
++encode([], Acc) ->
++ Acc.
++
++decode(Str) when is_list(Str) ->
++ decode(Str, []).
++
++decode([$%, A, B | T], Acc) ->
++ decode(T, [(hex2dec(A) bsl 4) + hex2dec(B) | Acc]);
++decode([X | T], Acc) ->
++ decode(T, [X | Acc]);
++decode([], Acc) ->
++ lists:reverse(Acc, []).
++
++-compile({inline, [{dec2hex, 1}, {hex2dec, 1}]}).
++
++dec2hex(N) when N >= 10 andalso N =< 15 ->
++ N + $A - 10;
++dec2hex(N) when N >= 0 andalso N =< 9 ->
++ N + $0.
++
++hex2dec(C) when C >= $A andalso C =< $F ->
++ C - $A + 10;
++hex2dec(C) when C >= $0 andalso C =< $9 ->
++ C - $0.
+
--- couchdb-1.0.1.orig/debian/patches/init.patch
+++ couchdb-1.0.1/debian/patches/init.patch
@@ -0,0 +1,129 @@
+Index: couchdb-0.11.0/etc/default/couchdb
+===================================================================
+--- couchdb-0.11.0.orig/etc/default/couchdb 2010-06-08 23:44:24.191349434 -0700
++++ couchdb-0.11.0/etc/default/couchdb 2010-06-08 23:45:37.321377097 -0700
+@@ -5,3 +5,7 @@
+ COUCHDB_STDERR_FILE=/dev/null
+ COUCHDB_RESPAWN_TIMEOUT=5
+ COUCHDB_OPTIONS=
++
++# Set this option to 0 if you don't want CouchDB server to start
++# during system boot.
++ENABLE_SERVER=1
+Index: couchdb-0.11.0/etc/init/couchdb.tpl.in
+===================================================================
+--- couchdb-0.11.0.orig/etc/init/couchdb.tpl.in 2010-06-08 23:43:24.631291022 -0700
++++ couchdb-0.11.0/etc/init/couchdb.tpl.in 2010-06-08 23:50:55.771324618 -0700
+@@ -33,8 +33,12 @@
+ RUN_DIR=%localstaterundir%
+ LSB_LIBRARY=/lib/lsb/init-functions
+
++# Grace time in seconds to give the beam process to stop when we're running the
++# stop target. Will end before grace time ends if the process ends sooner.
++STOP_GRACE_TIME=5
++
+ if test ! -x $COUCHDB; then
+- exit $SCRIPT_ERROR
++ exit $SCRIPT_OK
+ fi
+
+ if test -r $CONFIGURATION_FILE; then
+@@ -60,6 +64,15 @@
+ . $LSB_LIBRARY
+ fi
+
++if test "$ENABLE_SERVER" = "0"; then
++ case "$1" in
++ start|restart|force-reload)
++ echo "Database server $NAME is disabled in $CONFIGURATION_FILE."
++ exit $SCRIPT_OK
++ ;;
++ esac
++fi
++
+ start_couchdb () {
+ # Start Apache CouchDB as a background process.
+
+@@ -77,6 +90,7 @@
+ command="$command $COUCHDB_OPTIONS"
+ fi
+ mkdir -p "$RUN_DIR"
++ cd "$RUN_DIR"
+ if test -n "$COUCHDB_USER"; then
+ chown $COUCHDB_USER "$RUN_DIR"
+ if su $COUCHDB_USER -c "$command" > /dev/null; then
+@@ -96,23 +110,50 @@
+ stop_couchdb () {
+ # Stop the running Apache CouchDB process.
+
++ pidFile="$RUN_DIR/couchdb.pid"
++ if [ ! -r "$pidFile" ]
++ then
++ #exists, but can't read it
++ [ -f "$pidFile" ] && return $SCRIPT_ERROR
++
++ #doesn't exist, so assume couchdb is already stopped
++ return $SCRIPT_OK
++ fi
++
++ pid=`cat $pidFile`
++ #unset $pidFile
++ [ -z "$pid" ] && return $SCRIPT_OK
++
+ command="$COUCHDB -d"
+ if test -n "$COUCHDB_OPTIONS"; then
+ command="$command $COUCHDB_OPTIONS"
+ fi
++
++ # We need `heart`'s pid because its ppid is set to 1 when the beam proc
++ # ends, thereby hiding itself from our `ps` check bellow.
++ heart_pid=`ps -f --ppid $pid | grep "heart -pid $pid " | awk '{print $2}'`
++ [ -n "$heart_pid" ] && heart_pid=",$heart_pid" #for `ps` call formatting
++
+ if test -n "$COUCHDB_USER"; then
+- if su $COUCHDB_USER -c "$command" > /dev/null; then
+- return $SCRIPT_OK
+- else
++ if ! su $COUCHDB_USER -c "$command" > /dev/null; then
+ return $SCRIPT_ERROR
+ fi
+ else
+- if $command > /dev/null; then
+- return $SCRIPT_OK
+- else
++ if ! $command > /dev/null; then
+ return $SCRIPT_ERROR
+ fi
+ fi
++
++ i=0
++ while ps -p $pid$heart_pid --ppid $pid$heart_pid > /dev/null
++ do
++ [ $i -ge $STOP_GRACE_TIME ] && return $SCRIPT_ERROR
++
++ sleep 1
++ i=`expr $i + 1`
++ done
++
++ return $SCRIPT_OK
+ }
+
+ display_status () {
+@@ -141,7 +182,7 @@
+ log_end_msg $SCRIPT_ERROR
+ fi
+ ;;
+- restart)
++ restart|force-reload)
+ log_daemon_msg "Restarting $DESCRIPTION" $NAME
+ if stop_couchdb; then
+ if start_couchdb; then
+@@ -158,7 +199,7 @@
+ ;;
+ *)
+ cat << EOF >&2
+-Usage: $SCRIPT_NAME {start|stop|restart|status}
++Usage: $SCRIPT_NAME {start|stop|restart|force-reload|status}
+ EOF
+ exit $SCRIPT_ERROR
+ ;;
--- couchdb-1.0.1.orig/debian/patches/couchio-fix-0010-replicator_changes_connection_close.patch
+++ couchdb-1.0.1/debian/patches/couchio-fix-0010-replicator_changes_connection_close.patch
@@ -0,0 +1,74 @@
+diff --git a/couchdb-1.0.1/src/couchdb/couch_rep_changes_feed.erl b/couchdb-1.0.1/src/couchdb/couch_rep_changes_feed.erl
+index a8c77b1..3f6079e 100644
+--- a/couchdb-1.0.1/src/couchdb/couch_rep_changes_feed.erl
++++ b/couchdb-1.0.1/src/couchdb/couch_rep_changes_feed.erl
+@@ -43,7 +43,8 @@ next(Server) ->
+ gen_server:call(Server, next_changes, infinity).
+
+ stop(Server) ->
+- gen_server:call(Server, stop).
++ catch gen_server:call(Server, stop),
++ ok.
+
+ init([Parent, #http_db{}=Source, Since, PostProps]) ->
+ process_flag(trap_exit, true),
+@@ -95,7 +96,7 @@ init([Parent, #http_db{}=Source, Since, PostProps]) ->
+ ibrowse:stream_next(ReqId),
+ {ok, #state{conn=Pid, last_seq=Since, reqid=ReqId, init_args=Args}};
+ {ibrowse_async_headers, ReqId, Code, Hdrs} when Code=="301"; Code=="302" ->
+- catch ibrowse:stop_worker_process(Pid),
++ stop_link_worker(Pid),
+ Url2 = couch_rep_httpc:redirect_url(Hdrs, Req#http_db.url),
+ Req2 = couch_rep_httpc:redirected_request(Req, Url2),
+ Pid2 = couch_rep_httpc:spawn_link_worker_process(Req2),
+@@ -108,7 +109,7 @@ init([Parent, #http_db{}=Source, Since, PostProps]) ->
+ {stop, changes_timeout}
+ end;
+ {ibrowse_async_headers, ReqId, "404", _} ->
+- catch ibrowse:stop_worker_process(Pid),
++ stop_link_worker(Pid),
+ ?LOG_INFO("source doesn't have _changes, trying _all_docs_by_seq", []),
+ Self = self(),
+ BySeqPid = spawn_link(fun() -> by_seq_loop(Self, Source, Since) end),
+@@ -207,8 +208,9 @@ handle_info({'EXIT', From, Reason}, #state{changes_loop=From} = State) ->
+ ?LOG_ERROR("changes_loop died with reason ~p", [Reason]),
+ {stop, changes_loop_died, State};
+
+-handle_info({'EXIT', _From, normal}, State) ->
+- {noreply, State};
++handle_info({'EXIT', From, Reason}, State) ->
++ ?LOG_ERROR("changes loop, process ~p died with reason ~p", [From, Reason]),
++ {stop, {From, Reason}, State};
+
+ handle_info(Msg, #state{init_args = InitArgs} = State) ->
+ case Msg of
+@@ -227,8 +229,7 @@ terminate(_Reason, State) ->
+ conn = Conn
+ } = State,
+ if is_pid(ChangesPid) -> exit(ChangesPid, stop); true -> ok end,
+- if is_pid(Conn) -> catch ibrowse:stop_worker_process(Conn); true -> ok end,
+- ok.
++ stop_link_worker(Conn).
+
+ code_change(_OldVsn, State, _Extra) ->
+ {ok, State}.
+@@ -271,7 +272,7 @@ handle_headers(200, _, State) ->
+ {noreply, State};
+ handle_headers(Code, Hdrs, #state{init_args = InitArgs} = State)
+ when Code =:= 301 ; Code =:= 302 ->
+- catch ibrowse:stop_worker_process(State#state.conn),
++ stop_link_worker(State#state.conn),
+ [Parent, #http_db{url = Url1} = Source, Since, PostProps] = InitArgs,
+ Url = couch_rep_httpc:redirect_url(Hdrs, Url1),
+ Source2 = couch_rep_httpc:redirected_request(Source, Url),
+@@ -389,3 +390,10 @@ maybe_stream_next(#state{complete=false, count=N} = S) when N < ?BUFFER_SIZE ->
+ ibrowse:stream_next(S#state.reqid);
+ maybe_stream_next(_) ->
+ timer:cancel(get(timeout)).
++
++stop_link_worker(Conn) when is_pid(Conn) ->
++ unlink(Conn),
++ receive {'EXIT', Conn, _} -> ok after 0 -> ok end,
++ catch ibrowse:stop_worker_process(Conn);
++stop_link_worker(_) ->
++ ok.
--- couchdb-1.0.1.orig/debian/patches/moz0001-spidermonkey1.8.5.patch
+++ couchdb-1.0.1/debian/patches/moz0001-spidermonkey1.8.5.patch
@@ -0,0 +1,700 @@
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//configure.ac couchdb-1.0.1.new//configure.ac
+--- couchdb-1.0.1//configure.ac 2010-08-10 20:34:54.000000000 +0100
++++ couchdb-1.0.1.new//configure.ac 2011-06-14 18:31:19.263521875 +0100
+@@ -118,6 +118,25 @@
+
+ AC_SUBST(JS_LIB_BASE)
+
++AC_CHECK_LIB([$JS_LIB_BASE], [JS_FreezeObject],
++ AC_DEFINE([HAVE_JS_FREEZE_OBJECT], [1], [Define whether we have JS_FreezeObject]))
++
++AC_CHECK_LIB([$JS_LIB_BASE], [JS_NewGlobalObject],
++ AC_DEFINE([HAVE_JS_NEW_GLOBAL_OBJECT], [1], [Define whether we have JS_NewGlobalObject]))
++
++AC_CHECK_LIB([$JS_LIB_BASE], [JS_GetStringCharsAndLength],
++ AC_DEFINE([HAVE_JS_GET_STRING_CHARS_AND_LENGTH], [1], [Define whether we have JS_GetStringCharsAndLength]))
++
++AC_CHECK_LIB([$JS_LIB_BASE], [JS_NewCompartmentAndGlobalObject],
++ AC_DEFINE([HAVE_COMPARTMENTS], [1], [Define whether we have JS_NewCompartmentAndGlobalObject]))
++
++AC_CHECK_LIB([$JS_LIB_BASE], [JS_StrictPropertyStub],
++ AC_DEFINE([HAVE_JS_STRICT_PROPERTY_STUB], [1], [Define whether we have JS_StrictPropertyStub]))
++
++AC_CHECK_LIB([$JS_LIB_BASE], [JS_DestroyScript],,
++ AC_DEFINE([HAVE_SCRIPT_AS_OBJECT], [1], [Define whether scripts are JSObjects]))
++
++
+ if test x${IS_WINDOWS} = xTRUE; then
+ if test -f "$JS_LIB_DIR/$JS_LIB_BASE.dll"; then
+ # seamonkey 1.7- build layout on Windows
+@@ -186,6 +205,25 @@
+ )],
+ AC_DEFINE([USE_JS_SETOPCB], [], [Use new JS_SetOperationCallback])
+ )
++CFLAGS="$JS_FLAGS"
++AC_COMPILE_IFELSE(
++ [AC_LANG_PROGRAM(
++ [[#include ]],
++ [[static JSFunctionSpec fs;
++ fs.extra = 0;]]
++ )],
++ AC_DEFINE([JS_FS_HAS_EXTRA], [1], [JSFunctionSpec has an extra member])
++)
++CFLAGS="$CFLAGS -Werror"
++AC_COMPILE_IFELSE(
++ [AC_LANG_PROGRAM(
++ [[#include
++ static JSBool op(JSContext* cx, JSObject* obj, jsid id, jsval* vp) {}]],
++ [[static JSPropertySpec spec;
++ spec.getter = op;]]
++ )],
++ AC_DEFINE([JS_PROPERTY_OP_HAS_ID_AS_JSID], [1], [The type of "id" in the prototype for JSPropertyOp is a jsid])
++)
+ CFLAGS="$OLD_CFLAGS"
+ AC_LANG_POP(C)
+
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//src/couchdb/priv/couch_js/http.c couchdb-1.0.1.new//src/couchdb/priv/couch_js/http.c
+--- couchdb-1.0.1//src/couchdb/priv/couch_js/http.c 2010-06-15 17:27:22.000000000 +0100
++++ couchdb-1.0.1.new//src/couchdb/priv/couch_js/http.c 2011-06-14 18:30:26.642845297 +0100
+@@ -15,8 +15,10 @@
+ #include
+ #include
+ #include
++#include "config.h"
+
+ #include "utf8.h"
++#include "jscompat.h"
+
+ #ifdef XP_WIN
+ // Map some of the string function names to things which exist on Windows
+@@ -49,11 +51,12 @@
+ static JSString*
+ str_from_binary(JSContext* cx, char* data, size_t length);
+
+-static JSBool
+-constructor(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval)
++COUCHJS_CONSTRUCTOR_DECLARE(constructor)
+ {
++ COUCHJS_CONSTRUCTOR_INIT_VARS
+ HTTPData* http = NULL;
+- JSBool ret = JS_FALSE;
++
++ COUCHJS_CONSTRUCTOR_CONSTRUCT
+
+ http = (HTTPData*) malloc(sizeof(HTTPData));
+ if(!http)
+@@ -73,14 +76,12 @@
+ goto error;
+ }
+
+- ret = JS_TRUE;
+- goto success;
++ COUCHJS_CONSTRUCTOR_FINISH
++ return JS_TRUE;
+
+ error:
+ if(http) free(http);
+-
+-success:
+- return ret;
++ return JS_FALSE;
+ }
+
+ static void
+@@ -100,12 +101,14 @@
+ }
+
+ static JSBool
+-open(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval)
+-{
++open(JSContext* cx, uintN argc, jsval* vp)
++{
++ COUCHJS_NATIVE_INIT_VARS(argv, obj)
++ JSBool ret = JS_FALSE;
++
+ HTTPData* http = (HTTPData*) JS_GetPrivate(cx, obj);
+ char* method = NULL;
+ char* url = NULL;
+- JSBool ret = JS_FALSE;
+ int methid;
+
+ if(!http)
+@@ -174,6 +177,7 @@
+ // Disable Expect: 100-continue
+ http->req_headers = curl_slist_append(http->req_headers, "Expect:");
+
++ JS_SET_RVAL(cx, vp, JSVAL_VOID);
+ ret = JS_TRUE;
+
+ done:
+@@ -182,14 +186,16 @@
+ }
+
+ static JSBool
+-setheader(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval)
+-{
++setheader(JSContext* cx, uintN argc, jsval* vp)
++{
++ COUCHJS_NATIVE_INIT_VARS(argv, obj)
++ JSBool ret = JS_FALSE;
++
+ HTTPData* http = (HTTPData*) JS_GetPrivate(cx, obj);
+ char* keystr = NULL;
+ char* valstr = NULL;
+ char* hdrbuf = NULL;
+ size_t hdrlen = -1;
+- JSBool ret = JS_FALSE;
+
+ if(!http)
+ {
+@@ -234,6 +240,7 @@
+ snprintf(hdrbuf, hdrlen, "%s: %s", keystr, valstr);
+ http->req_headers = curl_slist_append(http->req_headers, hdrbuf);
+
++ JS_SET_RVAL(cx, vp, JSVAL_VOID);
+ ret = JS_TRUE;
+
+ done:
+@@ -245,12 +252,14 @@
+ }
+
+ static JSBool
+-sendreq(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval)
++sendreq(JSContext* cx, uintN argc, jsval* vp)
+ {
++ COUCHJS_NATIVE_INIT_VARS(argv, obj)
++ JSBool ret = JS_FALSE;
++
+ HTTPData* http = (HTTPData*) JS_GetPrivate(cx, obj);
+ char* body = NULL;
+ size_t bodylen = 0;
+- JSBool ret = JS_FALSE;
+
+ if(!http)
+ {
+@@ -270,13 +279,15 @@
+
+ ret = go(cx, obj, http, body, bodylen);
+
++ if (ret == JS_TRUE)
++ JS_SET_RVAL(cx, vp, JSVAL_VOID);
++
+ done:
+ if(body) free(body);
+ return ret;
+ }
+
+-static JSBool
+-status(JSContext* cx, JSObject* obj, jsval idval, jsval* vp)
++COUCHJS_GETTER_DECLARE(status)
+ {
+ HTTPData* http = (HTTPData*) JS_GetPrivate(cx, obj);
+
+@@ -285,7 +296,12 @@
+ JS_ReportError(cx, "Invalid CouchHTTP instance.");
+ return JS_FALSE;
+ }
+-
++#ifndef INT_FITS_IN_JSVAL
++ // jsval's are 64-bits wide in mozjs >= 2.0, so a jsint
++ // can use the full 32-bits now no bits are reserved for tagging
++ *vp = INT_TO_JSVAL(http->last_status);
++ return JS_TRUE;
++#else
+ if(INT_FITS_IN_JSVAL(http->last_status))
+ {
+ *vp = INT_TO_JSVAL(http->last_status);
+@@ -296,6 +312,7 @@
+ JS_ReportError(cx, "INTERNAL: Invalid last_status");
+ return JS_FALSE;
+ }
++#endif
+ }
+
+ JSClass CouchHTTPClass = {
+@@ -306,7 +323,7 @@
+ JS_PropertyStub,
+ JS_PropertyStub,
+ JS_PropertyStub,
+- JS_PropertyStub,
++ JS_SETPROPERTY_PROPERTY_STUB,
+ JS_EnumerateStub,
+ JS_ResolveStub,
+ JS_ConvertStub,
+@@ -320,10 +337,10 @@
+ };
+
+ JSFunctionSpec CouchHTTPFunctions[] = {
+- {"_open", open, 3, 0, 0},
+- {"_setRequestHeader", setheader, 2, 0, 0},
+- {"_send", sendreq, 1, 0, 0},
+- {0, 0, 0, 0, 0}
++ JS_FS("_open", COUCHJS_NATIVE_FUNC(open), 3, JSFUN_FAST_NATIVE),
++ JS_FS("_setRequestHeader", COUCHJS_NATIVE_FUNC(setheader), 2, JSFUN_FAST_NATIVE),
++ JS_FS("_send", COUCHJS_NATIVE_FUNC(sendreq), 1, JSFUN_FAST_NATIVE),
++ JS_FS_END
+ };
+
+ JSObject*
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//src/couchdb/priv/couch_js/jscompat.h couchdb-1.0.1.new//src/couchdb/priv/couch_js/jscompat.h
+--- couchdb-1.0.1//src/couchdb/priv/couch_js/jscompat.h 1970-01-01 01:00:00.000000000 +0100
++++ couchdb-1.0.1.new//src/couchdb/priv/couch_js/jscompat.h 2011-06-14 18:30:26.642845297 +0100
+@@ -0,0 +1,91 @@
++// 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.
++
++#ifndef COUCH_JS_JS_COMPAT_H
++#define COUCH_JS_JS_COMPAT_H
++
++#ifdef JS_FS_HAS_EXTRA
++# undef JS_FS
++# undef JS_FS_END
++# define JS_FS(name,call,nargs,flags) {name, call, nargs, flags, 0}
++# define JS_FS_END JS_FS(0, 0, 0, 0)
++#endif
++
++#ifdef JSFUN_CONSTRUCTOR
++# define JSFUN_FAST_NATIVE 0
++# define COUCHJS_CONSTRUCTOR_DECLARE(name) \
++ static JSBool \
++ name(JSContext* cx, uintN argc, jsval* vp)
++# define COUCHJS_CONSTRUCTOR_INIT_VARS \
++ JSObject *obj = NULL; \
++ jsval *argv = JS_ARGV(cx, vp);
++# define COUCHJS_CONSTRUCTOR_CONSTRUCT \
++ obj = JS_NewObjectForConstructor(cx, vp); \
++ if(!obj) { \
++ JS_ReportError(cx, "Failed to create 'this' object"); \
++ return JS_FALSE; \
++ }
++# define COUCHJS_CONSTRUCTOR_FINISH \
++ JS_SET_RVAL(cx, vp, OBJECT_TO_JSVAL(obj));
++# define COUCHJS_NATIVE_FUNC(func) func
++#else
++# define COUCHJS_CONSTRUCTOR_DECLARE(name) \
++ static JSBool \
++ name(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval)
++# define COUCHJS_CONSTRUCTOR_INIT_VARS
++# define COUCHJS_CONSTRUCTOR_CONSTRUCT
++# define COUCHJS_CONSTRUCTOR_FINISH
++# define COUCHJS_NATIVE_FUNC(func) (JSNative *) func
++#endif
++
++#ifdef HAVE_JS_STRICT_PROPERTY_STUB
++# define JS_SETPROPERTY_PROPERTY_STUB JS_StrictPropertyStub
++#else
++# define JS_SETPROPERTY_PROPERTY_STUB JS_PropertyStub
++#endif
++
++#ifdef HAVE_SCRIPT_AS_OBJECT
++# define COUCHJS_SCRIPT JSObject
++# define COUCHJS_DESTROY_SCRIPT(cx, script)
++#else
++# define COUCHJS_SCRIPT JSScript
++# define COUCHJS_DESTROY_SCRIPT(cx, script) \
++ JS_DestroyScript(cx, script)
++#endif
++
++#ifdef HAVE_JS_FREEZE_OBJECT
++# define COUCHJS_SEAL_OBJECT(res, cx, target, deep) \
++ res = deep ? JS_DeepFreezeObject(cx, target) : JS_FreezeObject(cx, target);
++#else
++# define COUCHJS_SEAL_OBJECT(res, cx, target, deep) \
++ res = JS_SealObject(cx, target, deep);
++#endif
++
++#define COUCHJS_NATIVE_INIT_VARS(argv, obj) \
++ jsval* argv = JS_ARGV(cx, vp); \
++ JSObject* obj = JS_THIS_OBJECT(cx, vp); \
++ if (!obj) { \
++ JS_ReportError(cx, "No 'this' object"); \
++ return JS_FALSE; \
++ }
++
++#ifdef JS_PROPERTY_OP_HAS_ID_AS_JSID
++# define COUCHJS_GETTER_DECLARE(name) \
++ static JSBool \
++ status(JSContext* cx, JSObject* obj, jsid id, jsval* vp)
++#else
++# define COUCHJS_GETTER_DECLARE(name) \
++ static JSBool \
++ status(JSContext* cx, JSObject* obj, jsval idval, jsval* vp)
++#endif
++
++#endif
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//src/couchdb/priv/couch_js/main.c couchdb-1.0.1.new//src/couchdb/priv/couch_js/main.c
+--- couchdb-1.0.1//src/couchdb/priv/couch_js/main.c 2009-11-27 22:43:59.000000000 +0000
++++ couchdb-1.0.1.new//src/couchdb/priv/couch_js/main.c 2011-06-14 18:30:26.642845297 +0100
+@@ -18,6 +18,7 @@
+
+ #include "utf8.h"
+ #include "http.h"
++#include "jscompat.h"
+
+ int gExitCode = 0;
+
+@@ -26,16 +27,30 @@
+ JS_SetContextThread(cx); \
+ JS_BeginRequest(cx);
+ #define FINISH_REQUEST(cx) \
+- JS_EndRequest(cx); \
+- JS_ClearContextThread(cx);
++ JS_EndRequest(cx);
+ #else
+ #define SETUP_REQUEST(cx)
+ #define FINISH_REQUEST(cx)
+ #endif
+
++static JSClass global_class = {
++ "GlobalClass",
++ JSCLASS_GLOBAL_FLAGS,
++ JS_PropertyStub,
++ JS_PropertyStub,
++ JS_PropertyStub,
++ JS_SETPROPERTY_PROPERTY_STUB,
++ JS_EnumerateStub,
++ JS_ResolveStub,
++ JS_ConvertStub,
++ JS_FinalizeStub,
++ JSCLASS_NO_OPTIONAL_MEMBERS
++};
++
+ static JSBool
+-evalcx(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
++evalcx(JSContext* cx, uintN argc, jsval* vp)
+ {
++ jsval* argv = JS_ARGV(cx, vp);
+ JSString *str;
+ JSObject *sandbox;
+ JSContext *subcx;
+@@ -43,6 +58,9 @@
+ size_t srclen;
+ JSBool ret = JS_FALSE;
+ jsval v;
++#ifdef HAVE_COMPARTMENTS
++ JSCrossCompartmentCall *call = NULL;
++#endif
+
+ sandbox = NULL;
+ if(!JS_ConvertArguments(cx, argc, argv, "S / o", &str, &sandbox))
+@@ -59,42 +77,68 @@
+
+ SETUP_REQUEST(subcx);
+
++#ifdef HAVE_JS_GET_STRING_CHARS_AND_LENGTH
++ src = JS_GetStringCharsAndLength(cx, str, &srclen);
++#else
+ src = JS_GetStringChars(str);
+ srclen = JS_GetStringLength(str);
++#endif
+
++#ifdef HAVE_COMPARTMENTS
++ /* Re-use the compartment associated with the main context,
++ * rather than creating a new compartment */
++ JSObject *global = JS_GetGlobalObject(cx);
++ if(!global)
++ {
++ goto done;
++ }
++ call = JS_EnterCrossCompartmentCall(subcx, global);
++#endif
+ if(!sandbox)
+ {
++#ifdef HAVE_JS_NEW_GLOBAL_OBJECT
++ sandbox = JS_NewGlobalObject(subcx, &global_class);
++#else
+ sandbox = JS_NewObject(subcx, NULL, NULL, NULL);
++#endif
+ if(!sandbox || !JS_InitStandardClasses(subcx, sandbox)) goto done;
+ }
+
+ if(srclen == 0)
+ {
+- *rval = OBJECT_TO_JSVAL(sandbox);
++ JS_SET_RVAL(cx, vp, OBJECT_TO_JSVAL(sandbox));
+ }
+ else
+ {
+- JS_EvaluateUCScript(subcx, sandbox, src, srclen, NULL, 0, rval);
++ JS_EvaluateUCScript(subcx, sandbox, src, srclen, NULL, 0, &JS_RVAL(cx, vp));
+ }
+-
++
+ ret = JS_TRUE;
+
+ done:
++#ifdef HAVE_COMPARTMENTS
++ if(call)
++ {
++ JS_LeaveCrossCompartmentCall(call);
++ }
++#endif
+ FINISH_REQUEST(subcx);
+ JS_DestroyContext(subcx);
+ return ret;
+ }
+
+ static JSBool
+-gc(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
++gc(JSContext* cx, uintN argc, jsval* vp)
+ {
+ JS_GC(cx);
++ JS_SET_RVAL(cx, vp, JSVAL_VOID);
+ return JS_TRUE;
+ }
+
+ static JSBool
+-print(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
++print(JSContext* cx, uintN argc, jsval* vp)
+ {
++ jsval* argv = JS_ARGV(cx, vp);
+ uintN i;
+ char *bytes;
+
+@@ -109,16 +153,46 @@
+
+ fputc('\n', stdout);
+ fflush(stdout);
++ JS_SET_RVAL(cx, vp, JSVAL_VOID);
+ return JS_TRUE;
+ }
+
+ static JSBool
+-quit(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
++quit(JSContext* cx, uintN argc, jsval* vp)
+ {
++ jsval* argv = JS_ARGV(cx, vp);
+ JS_ConvertArguments(cx, argc, argv, "/ i", &gExitCode);
+ return JS_FALSE;
+ }
+
++static int
++couchjs_fgets(char *buf, int size, FILE *file)
++{
++ int n, i, c;
++ JSBool crflag;
++
++ n = size - 1;
++ if (n < 0)
++ return -1;
++
++ crflag = JS_FALSE;
++ for (i = 0; i < n && (c = getc(file)) != EOF; i++) {
++ buf[i] = c;
++ if (c == '\n') { /* any \n ends a line */
++ i++; /* keep the \n; we know there is room for \0 */
++ break;
++ }
++ if (crflag) { /* \r not followed by \n ends line at the \r */
++ ungetc(c, file);
++ break; /* and overwrite c in buf with \0 */
++ }
++ crflag = (c == '\r');
++ }
++
++ buf[i] = '\0';
++ return i;
++}
++
+ static char*
+ readfp(JSContext* cx, FILE* fp, size_t* buflen)
+ {
+@@ -130,8 +204,7 @@
+
+ bytes = JS_malloc(cx, byteslen);
+ if(bytes == NULL) return NULL;
+-
+- while((readlen = js_fgets(bytes+used, byteslen-used, stdin)) > 0)
++ while((readlen = couchjs_fgets(bytes+used, byteslen-used, stdin)) > 0)
+ {
+ used += readlen;
+
+@@ -157,7 +230,7 @@
+ }
+
+ static JSBool
+-readline(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) {
++readline(JSContext* cx, uintN argc, jsval* vp) {
+ jschar *chars;
+ JSString *str;
+ char* bytes;
+@@ -173,7 +246,7 @@
+ /* Treat the empty string specially */
+ if(byteslen == 0)
+ {
+- *rval = JS_GetEmptyStringValue(cx);
++ JS_SET_RVAL(cx, vp, JS_GetEmptyStringValue(cx));
+ JS_free(cx, bytes);
+ return JS_TRUE;
+ }
+@@ -191,28 +264,35 @@
+ JS_free(cx, bytes);
+
+ if(!str) return JS_FALSE;
+-
+- *rval = STRING_TO_JSVAL(str);
++ JS_SET_RVAL(cx, vp, STRING_TO_JSVAL(str));
+
+ return JS_TRUE;
+ }
+
+ static JSBool
+-seal(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) {
++seal(JSContext* cx, uintN argc, jsval* vp) {
++ jsval* argv = JS_ARGV(cx, vp);
+ JSObject *target;
+ JSBool deep = JS_FALSE;
+
+ if (!JS_ConvertArguments(cx, argc, argv, "o/b", &target, &deep))
+ return JS_FALSE;
+- if (!target)
++ if (!target) {
++ JS_SET_RVAL(cx, vp, JSVAL_VOID);
+ return JS_TRUE;
+- return JS_SealObject(cx, target, deep);
++ }
++ JSBool res;
++ COUCHJS_SEAL_OBJECT(res, cx, target, deep)
++ if (res == JS_TRUE)
++ JS_SET_RVAL(cx, vp, JSVAL_VOID);
++
++ return res;
+ }
+
+ static void
+ execute_script(JSContext *cx, JSObject *obj, const char *filename) {
+ FILE *file;
+- JSScript *script;
++ COUCHJS_SCRIPT *script;
+ jsval result;
+
+ if(!filename || strcmp(filename, "-") == 0)
+@@ -234,7 +314,7 @@
+ if(script)
+ {
+ JS_ExecuteScript(cx, obj, script, &result);
+- JS_DestroyScript(cx, script);
++ COUCHJS_DESTROY_SCRIPT(cx, script);
+ }
+ }
+
+@@ -248,27 +328,13 @@
+ }
+
+ static JSFunctionSpec global_functions[] = {
+- {"evalcx", evalcx, 0, 0, 0},
+- {"gc", gc, 0, 0, 0},
+- {"print", print, 0, 0, 0},
+- {"quit", quit, 0, 0, 0},
+- {"readline", readline, 0, 0, 0},
+- {"seal", seal, 0, 0, 0},
+- {0, 0, 0, 0, 0}
+-};
+-
+-static JSClass global_class = {
+- "GlobalClass",
+- JSCLASS_GLOBAL_FLAGS,
+- JS_PropertyStub,
+- JS_PropertyStub,
+- JS_PropertyStub,
+- JS_PropertyStub,
+- JS_EnumerateStub,
+- JS_ResolveStub,
+- JS_ConvertStub,
+- JS_FinalizeStub,
+- JSCLASS_NO_OPTIONAL_MEMBERS
++ JS_FS("evalcx", COUCHJS_NATIVE_FUNC(evalcx), 0, JSFUN_FAST_NATIVE),
++ JS_FS("gc", COUCHJS_NATIVE_FUNC(gc), 0, JSFUN_FAST_NATIVE),
++ JS_FS("print", COUCHJS_NATIVE_FUNC(print), 0, JSFUN_FAST_NATIVE),
++ JS_FS("quit", COUCHJS_NATIVE_FUNC(quit), 0, JSFUN_FAST_NATIVE),
++ JS_FS("readline", COUCHJS_NATIVE_FUNC(readline), 0, JSFUN_FAST_NATIVE),
++ JS_FS("seal", COUCHJS_NATIVE_FUNC(seal), 0, JSFUN_FAST_NATIVE),
++ JS_FS_END
+ };
+
+ int
+@@ -290,9 +356,18 @@
+ JS_ToggleOptions(cx, JSOPTION_XML);
+
+ SETUP_REQUEST(cx);
+-
++#ifdef HAVE_COMPARTMENTS
++ global = JS_NewCompartmentAndGlobalObject(cx, &global_class, NULL);
++ if (!global) return 1;
++ JSCrossCompartmentCall *call = JS_EnterCrossCompartmentCall(cx, global);
++#elif HAVE_JS_NEW_GLOBAL_OBJECT
++ global = JS_NewGlobalObject(cx, &global_class);
++ if (!global) return 1;
++#else
+ global = JS_NewObject(cx, &global_class, NULL, NULL);
+ if (!global) return 1;
++ JS_SetGlobalObject(cx, global);
++#endif
+ if (!JS_InitStandardClasses(cx, global)) return 1;
+
+ for(sp = global_functions; sp->name != NULL; sp++)
+@@ -309,8 +384,6 @@
+ {
+ return 1;
+ }
+-
+- JS_SetGlobalObject(cx, global);
+
+ if(argc > 2)
+ {
+@@ -328,9 +401,13 @@
+ execute_script(cx, global, argv[1]);
+ }
+
+- FINISH_REQUEST(cx);
++#ifdef HAVE_COMPARTMENTS
++ JS_LeaveCrossCompartmentCall(call);
++#endif
+
++ FINISH_REQUEST(cx);
+ JS_DestroyContext(cx);
++
+ JS_DestroyRuntime(rt);
+ JS_ShutDown();
+
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//src/couchdb/priv/couch_js/utf8.c couchdb-1.0.1.new//src/couchdb/priv/couch_js/utf8.c
+--- couchdb-1.0.1//src/couchdb/priv/couch_js/utf8.c 2009-11-27 06:41:39.000000000 +0000
++++ couchdb-1.0.1.new//src/couchdb/priv/couch_js/utf8.c 2011-06-14 18:30:26.642845297 +0100
+@@ -12,6 +12,8 @@
+
+ #include
+
++#include "config.h"
++
+ static int
+ enc_char(uint8 *utf8Buffer, uint32 ucs4Char)
+ {
+@@ -129,8 +131,12 @@
+ str = JS_ValueToString(cx, arg);
+ if(!str) goto error;
+
++#ifdef HAVE_JS_GET_STRING_CHARS_AND_LENGTH
++ src = JS_GetStringCharsAndLength(cx, str, &srclen);
++#else
+ src = JS_GetStringChars(str);
+ srclen = JS_GetStringLength(str);
++#endif
+
+ if(!enc_charbuf(src, srclen, NULL, &byteslen)) goto error;
+
+@@ -283,4 +289,4 @@
+
+ success:
+ return str;
+-}
+\ No newline at end of file
++}
--- couchdb-1.0.1.orig/debian/patches/fix-help2man.patch
+++ couchdb-1.0.1/debian/patches/fix-help2man.patch
@@ -0,0 +1,13 @@
+# Version 1.37 of help2man requires --no-discard-stderr
+--- couchdb-0.10.0.orig/bin/Makefile.in
++++ couchdb-0.10.0/bin/Makefile.in
+@@ -211,7 +211,7 @@
+ CLEANFILES = $(bin_SCRIPTS) $(dist_man1_MANS) $(noinst_SCRIPTS)
+ couchdb_command_name = `echo couchdb | sed '$(transform)'`
+ couchjs_command_name = `echo couchjs | sed '$(transform)'`
+-HELP2MAN_OPTION = --no-info --help-option="-h" --version-option="-V"
++HELP2MAN_OPTION = --no-info --no-discard-stderr --help-option="-h" --version-option="-V"
+ all: all-am
+
+ .SUFFIXES:
+
--- couchdb-1.0.1.orig/debian/patches/couchio-fix-0011-ibrowse_chunked_encoding_streaming.patch
+++ couchdb-1.0.1/debian/patches/couchio-fix-0011-ibrowse_chunked_encoding_streaming.patch
@@ -0,0 +1,92 @@
+diff --git a/couchdb-1.0.1/src/ibrowse/ibrowse_http_client.erl b/couchdb-1.0.1/src/ibrowse/ibrowse_http_client.erl
+index 1633e5b..20e1d01 100644
+--- a/couchdb-1.0.1/src/ibrowse/ibrowse_http_client.erl
++++ b/couchdb-1.0.1/src/ibrowse/ibrowse_http_client.erl
+@@ -1066,7 +1066,12 @@ parse_11_response(DataRecvd,
+ recvd_chunk_size = 0,
+ chunk_size = ChunkSize});
+ {no, Data_1} ->
+- State#state{chunk_size_buffer = Data_1}
++ case get_more_chunked_data(1, <<>>, State) of
++ <<>> ->
++ State#state{chunk_size_buffer = Data_1};
++ Data_2 ->
++ parse_11_response(<>, State)
++ end
+ end;
+
+ %% This clause is to remove the CRLF between two chunks
+@@ -1120,21 +1125,21 @@ parse_11_response(DataRecvd,
+ do_trace("Recvd more data: size: ~p. NeedBytes: ~p~n", [DataLen, NeedBytes]),
+ case DataLen >= NeedBytes of
+ true ->
+- {RemChunk, RemData} = split_binary(DataRecvd, NeedBytes),
+- do_trace("Recvd another chunk...~n", []),
+- do_trace("RemData -> ~p~n", [RemData]),
+- case accumulate_response(RemChunk, State) of
+- {error, Reason} ->
+- do_trace("Error accumulating response --> ~p~n", [Reason]),
+- {error, Reason};
+- #state{} = State_1 ->
+- State_2 = State_1#state{chunk_size=tbd},
+- parse_11_response(RemData, State_2)
+- end;
++ process_chunk(NeedBytes, DataRecvd, State);
+ false ->
+- accumulate_response(DataRecvd,
+- State#state{rep_buf_size = RepBufSz + DataLen,
+- recvd_chunk_size = Recvd_csz + DataLen})
++ RestData = get_more_chunked_data(NeedBytes, <<>>, State),
++ DataRecvd2 = <>,
++ do_trace("Second recvd more data: size: ~p~n", [size(DataRecvd2)]),
++ case size(RestData) >= NeedBytes of
++ true ->
++ process_chunk(NeedBytes, DataRecvd2, State);
++ false ->
++ State2 = State#state{
++ rep_buf_size = RepBufSz + size(DataRecvd2),
++ recvd_chunk_size = Recvd_csz + size(DataRecvd2)
++ },
++ accumulate_response(DataRecvd2, State2)
++ end
+ end;
+
+ %% This clause to extract the body when Content-Length is specified
+@@ -1449,6 +1454,37 @@ parse_chunk_header(<>, Acc) ->
+ parse_chunk_header(<<>>, Acc) ->
+ hexlist_to_integer(lists:reverse(Acc)).
+
++process_chunk(NeedBytes, DataRecvd, State) ->
++ {RemChunk, RemData} = split_binary(DataRecvd, NeedBytes),
++ do_trace("Recvd another chunk...~n", []),
++ do_trace("RemData -> ~p~n", [RemData]),
++ case accumulate_response(RemChunk, State) of
++ {error, Reason} ->
++ do_trace("Error accumulating response --> ~p~n", [Reason]),
++ {error, Reason};
++ #state{} = State_1 ->
++ State_2 = State_1#state{chunk_size=tbd},
++ parse_11_response(RemData, State_2)
++ end.
++
++get_more_chunked_data(NeedBytes, Acc, _State) when size(Acc) >= NeedBytes ->
++ Acc;
++get_more_chunked_data(NeedBytes, Acc, #state{socket = Socket} = State) ->
++ do_setopts(Socket, [{active, once}], State),
++ Timeout = get_inac_timeout(State),
++ receive
++ {Type, Socket, Data} when Type =:= tcp ; Type =:= ssl ->
++ get_more_chunked_data(NeedBytes, <>, State);
++ {Type, Socket} = Msg
++ when Type =:= tcp_closed ; Type =:= tcp_error ;
++ Type =:= ssl_closed ; Type =:= ssl_error ->
++ self() ! Msg,
++ Acc
++ after Timeout ->
++ self() ! timeout,
++ Acc
++ end.
++
+ is_whitespace($\s) -> true;
+ is_whitespace($\r) -> true;
+ is_whitespace($\n) -> true;
--- couchdb-1.0.1.orig/debian/patches/couchio-fix-0001-replicator_redirect_atts.patch
+++ couchdb-1.0.1/debian/patches/couchio-fix-0001-replicator_redirect_atts.patch
@@ -0,0 +1,26 @@
+diff --git a/couchdb-1.0.1/src/couchdb/couch_rep_att.erl b/couchdb-1.0.1/src/couchdb/couch_rep_att.erl
+index 28b8945..3c09b90 100644
+--- a/couchdb-1.0.1/src/couchdb/couch_rep_att.erl
++++ b/couchdb-1.0.1/src/couchdb/couch_rep_att.erl
+@@ -106,7 +106,7 @@ validate_headers(_Req, 200, Headers) ->
+ MochiHeaders = mochiweb_headers:make(Headers),
+ {ok, mochiweb_headers:get_value("Content-Encoding", MochiHeaders)};
+ validate_headers(Req, Code, Headers) when Code > 299, Code < 400 ->
+- Url = mochiweb_headers:get_value("Location",mochiweb_headers:make(Headers)),
++ Url = couch_rep_httpc:redirect_url(Headers, Req#http_db.url),
+ NewReq = couch_rep_httpc:redirected_request(Req, Url),
+ {ibrowse_req_id, ReqId} = couch_rep_httpc:request(NewReq),
+ receive {ibrowse_async_headers, ReqId, NewCode, NewHeaders} ->
+diff --git a/couchdb-1.0.1/src/couchdb/couch_rep_httpc.erl b/couchdb-1.0.1/src/couchdb/couch_rep_httpc.erl
+index 768d88a..ff25e4d 100644
+--- a/couchdb-1.0.1/src/couchdb/couch_rep_httpc.erl
++++ b/couchdb-1.0.1/src/couchdb/couch_rep_httpc.erl
+@@ -15,7 +15,7 @@
+ -include("../ibrowse/ibrowse.hrl").
+
+ -export([db_exists/1, db_exists/2, full_url/1, request/1, redirected_request/2,
+- spawn_worker_process/1, spawn_link_worker_process/1]).
++ redirect_url/2, spawn_worker_process/1, spawn_link_worker_process/1]).
+
+ request(#http_db{} = Req) ->
+ do_request(Req).
--- couchdb-1.0.1.orig/debian/patches/moz0002-libmozjs.patch
+++ couchdb-1.0.1/debian/patches/moz0002-libmozjs.patch
@@ -0,0 +1,162 @@
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//configure.ac couchdb-1.0.1.new//configure.ac
+--- couchdb-1.0.1//configure.ac 2011-06-14 16:56:24.015348132 +0100
++++ couchdb-1.0.1.new//configure.ac 2011-06-14 17:00:42.798520190 +0100
+@@ -26,6 +26,8 @@
+ AC_ENABLE_SHARED
+ AC_DISABLE_STATIC
+
++PKG_PROG_PKG_CONFIG
++
+ AC_PROG_CC
+ AC_PROG_LIBTOOL
+ AC_PROG_LN_S
+@@ -56,28 +58,38 @@
+ ERLANG_FLAGS="$ERLANG_FLAGS -I/opt/local/lib/erlang/usr/include"
+ ])
+
+-AC_ARG_WITH([js-include], [AC_HELP_STRING([--with-js-include=PATH],
+- [set PATH to the SpiderMonkey include directory])], [
+- JS_INCLUDE="$withval"
+- JS_FLAGS="-I$JS_INCLUDE"
+-], [
+- JS_FLAGS="-I/usr/include"
+- JS_FLAGS="$JS_FLAGS -I/usr/include/js"
+- JS_FLAGS="$JS_FLAGS -I/usr/include/mozjs"
+- JS_FLAGS="$JS_FLAGS -I/usr/local/include"
+- JS_FLAGS="$JS_FLAGS -I/opt/local/include"
+- JS_FLAGS="$JS_FLAGS -I/usr/local/include/js"
+- JS_FLAGS="$JS_FLAGS -I/opt/local/include/js"
+-])
++PKG_CHECK_EXISTS([mozjs185], JS_LIB_BASE=mozjs185,)
++if test "x$JS_LIB_BASE" != "x" ; then
++ PKG_CHECK_MODULES(JS, $JS_LIB_BASE)
++ JS_LIB_DIR=`$PKG_CONFIG --variable=libdir $JS_LIB_BASE`
++ JS_LIB_FLAGS="-L$JS_LIB_DIR"
++fi
++
++if test "x$JS_LIB_BASE" == "x" ; then
++ AC_ARG_WITH([js-include], [AC_HELP_STRING([--with-js-include=PATH],
++ [set PATH to the SpiderMonkey include directory])], [
++ JS_INCLUDE="$withval"
++ JS_CFLAGS="-I$JS_INCLUDE"
++ ], [
++ JS_CFLAGS="-I/usr/include"
++ JS_CFLAGS="$JS_CFLAGS -I/usr/include/js"
++ JS_CFLAGS="$JS_CFLAGS -I/usr/include/mozjs"
++ JS_CFLAGS="$JS_CFLAGS -I/usr/local/include"
++ JS_CFLAGS="$JS_CFLAGS -I/opt/local/include"
++ JS_CFLAGS="$JS_CFLAGS -I/usr/local/include/js"
++ JS_CFLAGS="$JS_CFLAGS -I/opt/local/include/js"
++ ])
++
++ AC_ARG_WITH([js-lib], [AC_HELP_STRING([--with-js-lib=PATH],
++ [set PATH to the SpiderMonkey library directory])],
++ [
++ JS_LIB_DIR=$withval
++ JS_LIB_FLAGS="-L$withval"
++ ], [
++ JS_LIB_DIR=
++ ])
++fi
+
+-AC_ARG_WITH([js-lib], [AC_HELP_STRING([--with-js-lib=PATH],
+- [set PATH to the SpiderMonkey library directory])],
+- [
+- JS_LIB_DIR=$withval
+- JS_LIB_FLAGS="-L$withval"
+-], [
+- JS_LIB_DIR=
+-])
+ AC_SUBST(JS_LIB_DIR)
+
+ AC_ARG_VAR([ERLC_FLAGS], [general flags to prepend to ERLC_FLAGS])
+@@ -88,7 +100,7 @@
+
+ case "$(uname -s)" in
+ CYGWIN*)
+- FLAGS="$LIB_FLAGS $ERLANG_FLAGS $JS_FLAGS -DXP_WIN $FLAGS"
++ FLAGS="$LIB_FLAGS $ERLANG_FLAGS $JS_CFLAGS -DXP_WIN $FLAGS"
+ CPPFLAGS="$FLAGS $CPPFLAGS"
+ LDFLAGS="$FLAGS $LDFLAGS"
+ IS_WINDOWS="TRUE"
+@@ -99,7 +111,7 @@
+ ;;
+ *)
+ # XP_UNIX required for jsapi.h and has been tested to work on Linux and Darwin.
+- FLAGS="$LIB_FLAGS $ERLANG_FLAGS $JS_FLAGS -DXP_UNIX $FLAGS"
++ FLAGS="$LIB_FLAGS $ERLANG_FLAGS $JS_CFLAGS -DXP_UNIX $FLAGS"
+ CPPFLAGS="$FLAGS $CPPFLAGS"
+ # manually linking libm is requred for FreeBSD 7.0
+ LDFLAGS="$FLAGS -lm $LDFLAGS"
+@@ -108,13 +120,18 @@
+
+ AM_CONDITIONAL([WINDOWS], [test x$IS_WINDOWS = xTRUE])
+
+-AC_CHECK_LIB([mozjs], [JS_NewContext], [JS_LIB_BASE=mozjs], [
+- AC_CHECK_LIB([js], [JS_NewContext], [JS_LIB_BASE=js], [
+- AC_CHECK_LIB([js3250], [JS_NewContext], [JS_LIB_BASE=js3250], [
+- AC_CHECK_LIB([js32], [JS_NewContext], [JS_LIB_BASE=js32], [
+- AC_MSG_ERROR([Could not find the js library.
++if test "x$JS_LIB_BASE" == "x" ; then
++ AC_CHECK_LIB([mozjs], [JS_NewContext], [JS_LIB_BASE=mozjs], [
++ AC_CHECK_LIB([js], [JS_NewContext], [JS_LIB_BASE=js], [
++ AC_CHECK_LIB([js3250], [JS_NewContext], [JS_LIB_BASE=js3250], [
++ AC_CHECK_LIB([js32], [JS_NewContext], [JS_LIB_BASE=js32], [
++ AC_MSG_ERROR([Could not find the js library.
+
+-Is the Mozilla SpiderMonkey library installed?])])])])])
++ Is the Mozilla SpiderMonkey library installed?])])])])])
++
++ JS_LIBS=-l$JS_LIB_BASE
++ AC_SUBST(JS_LIBS)
++fi
+
+ AC_SUBST(JS_LIB_BASE)
+
+@@ -136,7 +153,6 @@
+ AC_CHECK_LIB([$JS_LIB_BASE], [JS_DestroyScript],,
+ AC_DEFINE([HAVE_SCRIPT_AS_OBJECT], [1], [Define whether scripts are JSObjects]))
+
+-
+ if test x${IS_WINDOWS} = xTRUE; then
+ if test -f "$JS_LIB_DIR/$JS_LIB_BASE.dll"; then
+ # seamonkey 1.7- build layout on Windows
+@@ -180,8 +196,6 @@
+ fi
+ fi
+
+-JSLIB=-l$JS_LIB_BASE
+-
+ AC_CHECK_HEADER([jsapi.h], [], [
+ AC_CHECK_HEADER([js/jsapi.h],
+ [
+@@ -193,8 +207,6 @@
+ Are the Mozilla SpiderMonkey headers installed?])
+ ])])
+
+-AC_SUBST(JSLIB)
+-
+ AC_LANG_PUSH(C)
+ OLD_CFLAGS="$CFLAGS"
+ CFLAGS="-Werror-implicit-function-declaration"
+@@ -205,7 +217,7 @@
+ )],
+ AC_DEFINE([USE_JS_SETOPCB], [], [Use new JS_SetOperationCallback])
+ )
+-CFLAGS="$JS_FLAGS"
++CFLAGS="$JS_CFLAGS"
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include ]],
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//src/couchdb/priv/Makefile.am couchdb-1.0.1.new//src/couchdb/priv/Makefile.am
+--- couchdb-1.0.1//src/couchdb/priv/Makefile.am 2010-06-15 17:27:22.000000000 +0100
++++ couchdb-1.0.1.new//src/couchdb/priv/Makefile.am 2011-06-14 16:56:24.935359379 +0100
+@@ -48,7 +48,7 @@
+ couchjs_SOURCES = $(COUCHJS_SRCS)
+ couchjs_LDFLAGS = $(CURL_LDFLAGS)
+ couchjs_CFLAGS = -D_BSD_SOURCE $(CURL_CFLAGS)
+-couchjs_LDADD = $(CURL_LDFLAGS) @JSLIB@
++couchjs_LDADD = $(CURL_LDFLAGS) @JS_LIBS@
+
+ couchpriv_DATA = stat_descriptions.cfg
+ couchpriv_PROGRAMS = couchspawnkillable
--- couchdb-1.0.1.orig/debian/patches/couchio-fix-0002-replicator_db_proxy_fix.patch
+++ couchdb-1.0.1/debian/patches/couchio-fix-0002-replicator_db_proxy_fix.patch
@@ -0,0 +1,25 @@
+diff --git a/couchdb-1.0.1/src/couchdb/couch_rep_httpc.erl b/couchdb-1.0.1/src/couchdb/couch_rep_httpc.erl
+index 1336575..2371228 100644
+--- a/couchdb-1.0.1/src/couchdb/couch_rep_httpc.erl
++++ b/couchdb-1.0.1/src/couchdb/couch_rep_httpc.erl
+@@ -73,6 +73,7 @@ db_exists(Req, CanonicalUrl, CreateDB) ->
+ #http_db{
+ auth = Auth,
+ headers = Headers0,
++ options = Options,
+ url = Url
+ } = Req,
+ HeadersFun = fun(Method) ->
+@@ -85,10 +86,10 @@ db_exists(Req, CanonicalUrl, CreateDB) ->
+ end,
+ case CreateDB of
+ true ->
+- catch ibrowse:send_req(Url, HeadersFun(put), put);
++ catch ibrowse:send_req(Url, HeadersFun(put), put, [], Options);
+ _Else -> ok
+ end,
+- case catch ibrowse:send_req(Url, HeadersFun(head), head) of
++ case catch ibrowse:send_req(Url, HeadersFun(head), head, [], Options) of
+ {ok, "200", _, _} ->
+ Req#http_db{url = CanonicalUrl};
+ {ok, "301", RespHeaders, _} ->
--- couchdb-1.0.1.orig/debian/patches/couchio-fix-0004-changes_redirect_2.patch
+++ couchdb-1.0.1/debian/patches/couchio-fix-0004-changes_redirect_2.patch
@@ -0,0 +1,17 @@
+diff --git a/couchdb-1.0.1/src/couchdb/couch_rep_changes_feed.erl b/couchdb-1.0.1/src/couchdb/couch_rep_changes_feed.erl
+index 65a67ba..2d55778 100644
+--- a/couchdb-1.0.1/src/couchdb/couch_rep_changes_feed.erl
++++ b/couchdb-1.0.1/src/couchdb/couch_rep_changes_feed.erl
+@@ -258,9 +258,10 @@ handle_next_changes(_From, State) ->
+ handle_headers(200, _, State) ->
+ maybe_stream_next(State),
+ {noreply, State};
+-handle_headers(301, Hdrs, State) ->
++handle_headers(301, Hdrs, #state{init_args = InitArgs} = State) ->
+ catch ibrowse:stop_worker_process(State#state.conn),
+- Url = mochiweb_headers:get_value("Location", mochiweb_headers:make(Hdrs)),
++ [_, #http_db{url = Url1} | _] = InitArgs,
++ Url = couch_rep_httpc:redirect_url(Hdrs, Url1),
+ %% TODO use couch_httpc:request instead of start_http_request
+ {Pid, ReqId} = start_http_request(Url),
+ {noreply, State#state{conn=Pid, reqid=ReqId}};
--- couchdb-1.0.1.orig/debian/patches/couchio-fix-0005-changes_proxy.patch
+++ couchdb-1.0.1/debian/patches/couchio-fix-0005-changes_proxy.patch
@@ -0,0 +1,77 @@
+diff --git a/couchdb-1.0.1/src/couchdb/couch_rep_changes_feed.erl b/couchdb-1.0.1/src/couchdb/couch_rep_changes_feed.erl
+index 2d55778..958ee82 100644
+--- a/couchdb-1.0.1/src/couchdb/couch_rep_changes_feed.erl
++++ b/couchdb-1.0.1/src/couchdb/couch_rep_changes_feed.erl
+@@ -45,7 +45,7 @@ next(Server) ->
+ stop(Server) ->
+ gen_server:call(Server, stop).
+
+-init([_Parent, #http_db{}=Source, Since, PostProps] = Args) ->
++init([Parent, #http_db{}=Source, Since, PostProps]) ->
+ process_flag(trap_exit, true),
+ Feed = case couch_util:get_value(<<"continuous">>, PostProps, false) of
+ false ->
+@@ -88,6 +88,7 @@ init([_Parent, #http_db{}=Source, Since, PostProps] = Args) ->
+ headers = Source#http_db.headers -- [{"Accept-Encoding", "gzip"}]
+ },
+ {ibrowse_req_id, ReqId} = couch_rep_httpc:request(Req),
++ Args = [Parent, Req, Since, PostProps],
+
+ receive
+ {ibrowse_async_headers, ReqId, "200", _} ->
+@@ -96,10 +97,13 @@ init([_Parent, #http_db{}=Source, Since, PostProps] = Args) ->
+ {ibrowse_async_headers, ReqId, Code, Hdrs} when Code=="301"; Code=="302" ->
+ catch ibrowse:stop_worker_process(Pid),
+ Url2 = couch_rep_httpc:redirect_url(Hdrs, Req#http_db.url),
+- %% TODO use couch_httpc:request instead of start_http_request
+- {Pid2, ReqId2} = start_http_request(Url2),
++ Req2 = couch_rep_httpc:redirected_request(Req, Url2),
++ Pid2 = couch_rep_httpc:spawn_link_worker_process(Req2),
++ Req3 = Req2#http_db{conn = Pid2},
++ {ibrowse_req_id, ReqId2} = couch_rep_httpc:request(Req3),
++ Args2 = [Parent, Req3, Since, PostProps],
+ receive {ibrowse_async_headers, ReqId2, "200", _} ->
+- {ok, #state{conn=Pid2, last_seq=Since, reqid=ReqId2, init_args=Args}}
++ {ok, #state{conn=Pid2, last_seq=Since, reqid=ReqId2, init_args=Args2}}
+ after 30000 ->
+ {stop, changes_timeout}
+ end;
+@@ -258,13 +262,17 @@ handle_next_changes(_From, State) ->
+ handle_headers(200, _, State) ->
+ maybe_stream_next(State),
+ {noreply, State};
+-handle_headers(301, Hdrs, #state{init_args = InitArgs} = State) ->
++handle_headers(Code, Hdrs, #state{init_args = InitArgs} = State)
++ when Code =:= 301 ; Code =:= 302 ->
+ catch ibrowse:stop_worker_process(State#state.conn),
+- [_, #http_db{url = Url1} | _] = InitArgs,
++ [Parent, #http_db{url = Url1} = Source, Since, PostProps] = InitArgs,
+ Url = couch_rep_httpc:redirect_url(Hdrs, Url1),
+- %% TODO use couch_httpc:request instead of start_http_request
+- {Pid, ReqId} = start_http_request(Url),
+- {noreply, State#state{conn=Pid, reqid=ReqId}};
++ Source2 = couch_rep_httpc:redirected_request(Source, Url),
++ Pid2 = couch_rep_httpc:spawn_link_worker_process(Source2),
++ Source3 = Source2#http_db{conn = Pid2},
++ {ibrowse_req_id, ReqId} = couch_rep_httpc:request(Source3),
++ InitArgs2 = [Parent, Source3, Since, PostProps],
++ {noreply, State#state{conn=Pid2, reqid=ReqId, init_args=InitArgs2}};
+ handle_headers(Code, Hdrs, State) ->
+ ?LOG_ERROR("replicator changes feed failed with code ~s and Headers ~n~p",
+ [Code,Hdrs]),
+@@ -374,15 +382,3 @@ maybe_stream_next(#state{complete=false, count=N} = S) when N < ?BUFFER_SIZE ->
+ ibrowse:stream_next(S#state.reqid);
+ maybe_stream_next(_) ->
+ timer:cancel(get(timeout)).
+-
+-start_http_request(RawUrl) ->
+- Url = ibrowse_lib:parse_url(RawUrl),
+- {ok, Pid} = ibrowse:spawn_link_worker_process(Url#url.host, Url#url.port),
+- Opts = [
+- {stream_to, {self(), once}},
+- {inactivity_timeout, 31000},
+- {response_format, binary}
+- ],
+- {ibrowse_req_id, Id} =
+- ibrowse:send_req_direct(Pid, RawUrl, [], get, [], Opts, infinity),
+- {Pid, Id}.
--- couchdb-1.0.1.orig/debian/patches/moz0003-spidermonkey1.8.5_autotools.patch
+++ couchdb-1.0.1/debian/patches/moz0003-spidermonkey1.8.5_autotools.patch
@@ -0,0 +1,19383 @@
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//aclocal.m4 couchdb-1.0.1.new//aclocal.m4
+--- couchdb-1.0.1//aclocal.m4 2010-08-11 19:18:50.000000000 +0100
++++ couchdb-1.0.1.new//aclocal.m4 2011-06-14 18:31:40.993801296 +0100
+@@ -1,4 +1,4 @@
+-# generated automatically by aclocal 1.11 -*- Autoconf -*-
++# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+
+ # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+ # 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+@@ -13,12 +13,172 @@
+
+ m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.64],,
+-[m4_warning([this file was generated for autoconf 2.64.
++m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
++[m4_warning([this file was generated for autoconf 2.68.
+ You have another version of autoconf. It may work, but is not guaranteed to.
+ If you have problems, you may need to regenerate the build system entirely.
+ To do so, use the procedure documented by the package, typically `autoreconf'.])])
+
++# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
++# serial 1 (pkg-config-0.24)
++#
++# Copyright © 2004 Scott James Remnant .
++#
++# 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 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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.
++
++# PKG_PROG_PKG_CONFIG([MIN-VERSION])
++# ----------------------------------
++AC_DEFUN([PKG_PROG_PKG_CONFIG],
++[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
++m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
++m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
++AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
++AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
++AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
++
++if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
++ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
++fi
++if test -n "$PKG_CONFIG"; then
++ _pkg_min_version=m4_default([$1], [0.9.0])
++ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
++ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
++ AC_MSG_RESULT([yes])
++ else
++ AC_MSG_RESULT([no])
++ PKG_CONFIG=""
++ fi
++fi[]dnl
++])# PKG_PROG_PKG_CONFIG
++
++# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
++#
++# Check to see whether a particular set of modules exists. Similar
++# to PKG_CHECK_MODULES(), but does not set variables or print errors.
++#
++# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
++# only at the first occurence in configure.ac, so if the first place
++# it's called might be skipped (such as if it is within an "if", you
++# have to call PKG_CHECK_EXISTS manually
++# --------------------------------------------------------------
++AC_DEFUN([PKG_CHECK_EXISTS],
++[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
++if test -n "$PKG_CONFIG" && \
++ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
++ m4_default([$2], [:])
++m4_ifvaln([$3], [else
++ $3])dnl
++fi])
++
++# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
++# ---------------------------------------------
++m4_define([_PKG_CONFIG],
++[if test -n "$$1"; then
++ pkg_cv_[]$1="$$1"
++ elif test -n "$PKG_CONFIG"; then
++ PKG_CHECK_EXISTS([$3],
++ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
++ test "x$?" != "x0" && pkg_failed=yes ],
++ [pkg_failed=yes])
++ else
++ pkg_failed=untried
++fi[]dnl
++])# _PKG_CONFIG
++
++# _PKG_SHORT_ERRORS_SUPPORTED
++# -----------------------------
++AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
++[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
++if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
++ _pkg_short_errors_supported=yes
++else
++ _pkg_short_errors_supported=no
++fi[]dnl
++])# _PKG_SHORT_ERRORS_SUPPORTED
++
++
++# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
++# [ACTION-IF-NOT-FOUND])
++#
++#
++# Note that if there is a possibility the first call to
++# PKG_CHECK_MODULES might not happen, you should be sure to include an
++# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
++#
++#
++# --------------------------------------------------------------
++AC_DEFUN([PKG_CHECK_MODULES],
++[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
++AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
++AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
++
++pkg_failed=no
++AC_MSG_CHECKING([for $1])
++
++_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
++_PKG_CONFIG([$1][_LIBS], [libs], [$2])
++
++m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
++and $1[]_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.])
++
++if test $pkg_failed = yes; then
++ AC_MSG_RESULT([no])
++ _PKG_SHORT_ERRORS_SUPPORTED
++ if test $_pkg_short_errors_supported = yes; then
++ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
++ else
++ $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
++ fi
++ # Put the nasty error message in config.log where it belongs
++ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
++
++ m4_default([$4], [AC_MSG_ERROR(
++[Package requirements ($2) were not met:
++
++$$1_PKG_ERRORS
++
++Consider adjusting the PKG_CONFIG_PATH environment variable if you
++installed software in a non-standard prefix.
++
++_PKG_TEXT])[]dnl
++ ])
++elif test $pkg_failed = untried; then
++ AC_MSG_RESULT([no])
++ m4_default([$4], [AC_MSG_FAILURE(
++[The pkg-config script could not be found or is too old. Make sure it
++is in your PATH or set the PKG_CONFIG environment variable to the full
++path to pkg-config.
++
++_PKG_TEXT
++
++To get pkg-config, see .])[]dnl
++ ])
++else
++ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
++ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
++ AC_MSG_RESULT([yes])
++ $3
++fi[]dnl
++])# PKG_CHECK_MODULES
++
+ # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+@@ -34,7 +194,7 @@
+ [am__api_version='1.11'
+ dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+ dnl require some minimum version. Point them to the right macro.
+-m4_if([$1], [1.11], [],
++m4_if([$1], [1.11.1], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+ ])
+
+@@ -50,7 +210,7 @@
+ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+ # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+ AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+-[AM_AUTOMAKE_VERSION([1.11])dnl
++[AM_AUTOMAKE_VERSION([1.11.1])dnl
+ m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//bin/Makefile.in couchdb-1.0.1.new//bin/Makefile.in
+--- couchdb-1.0.1//bin/Makefile.in 2011-06-14 18:31:32.563692902 +0100
++++ couchdb-1.0.1.new//bin/Makefile.in 2011-06-14 18:31:46.723874971 +0100
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -98,6 +98,7 @@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -125,7 +126,8 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-JSLIB = @JSLIB@
++JS_CFLAGS = @JS_CFLAGS@
++JS_LIBS = @JS_LIBS@
+ JS_LIB_BASE = @JS_LIB_BASE@
+ JS_LIB_BINARY = @JS_LIB_BINARY@
+ JS_LIB_DIR = @JS_LIB_DIR@
+@@ -138,6 +140,7 @@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -153,6 +156,9 @@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
++PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -163,6 +169,7 @@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -207,7 +214,6 @@
+ localstatelibdir = @localstatelibdir@
+ localstatelogdir = @localstatelogdir@
+ localstaterundir = @localstaterundir@
+-lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ msvc_redist_dir = @msvc_redist_dir@
+@@ -244,7 +250,7 @@
+ CLEANFILES = $(bin_SCRIPTS) $(dist_man1_MANS) $(noinst_SCRIPTS)
+ couchdb_command_name = `echo couchdb | sed '$(transform)'`
+ couchjs_command_name = `echo couchjs | sed '$(transform)'`
+-HELP2MAN_OPTION = --no-info --no-discard-stderr --help-option="-h" --version-option="-V"
++HELP2MAN_OPTION = --no-info --help-option="-h" --version-option="-V"
+ all: all-am
+
+ .SUFFIXES:
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//build-aux/ltmain.sh couchdb-1.0.1.new//build-aux/ltmain.sh
+--- couchdb-1.0.1//build-aux/ltmain.sh 2010-08-11 19:18:48.000000000 +0100
++++ couchdb-1.0.1.new//build-aux/ltmain.sh 2011-06-14 18:31:33.613706395 +0100
+@@ -1,9 +1,9 @@
+-# Generated from ltmain.m4sh.
+
+-# ltmain.sh (GNU libtool) 2.2.6
++# libtool (GNU libtool) 2.4
+ # Written by Gordon Matzigkeit , 1996
+
+-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
++# 2007, 2008, 2009, 2010 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.
+
+@@ -32,50 +32,56 @@
+ #
+ # 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
++# --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
++# --no-quiet, --no-silent
++# print informational messages (default)
++# --tag=TAG use configuration variables from tag TAG
++# -v, --verbose print more informational messages than default
++# --no-verbose don't print the extra informational messages
++# --version print version information
++# -h, --help, --help-all print short, long, or detailed 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
++# 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.
++# MODE-ARGS vary depending on the MODE. When passed as first option,
++# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
+ # 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
+-# automake: $automake_version
+-# autoconf: $autoconf_version
++# host-triplet: $host
++# shell: $SHELL
++# compiler: $LTCC
++# compiler flags: $LTCFLAGS
++# linker: $LD (gnu? $with_gnu_ld)
++# $progname: (GNU libtool) 2.4 Debian-2.4-2ubuntu1
++# automake: $automake_version
++# autoconf: $autoconf_version
+ #
+ # Report bugs to .
++# GNU libtool home page: .
++# General help using GNU software: .
+
+-PROGRAM=ltmain.sh
++PROGRAM=libtool
+ PACKAGE=libtool
+-VERSION=2.2.6
++VERSION="2.4 Debian-2.4-2ubuntu1"
+ TIMESTAMP=""
+-package_revision=1.3012
++package_revision=1.3293
+
+ # Be Bourne compatible
+ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+@@ -91,10 +97,15 @@
+ BIN_SH=xpg4; export BIN_SH # for Tru64
+ DUALCASE=1; export DUALCASE # for MKS sh
+
++# A function that is used when there is no print builtin or printf.
++func_fallback_echo ()
++{
++ eval 'cat <<_LTECHO_EOF
++$1
++_LTECHO_EOF'
++}
++
+ # 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
+@@ -107,24 +118,33 @@
+ lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
+ fi"
+ done
++LC_ALL=C
++LANGUAGE=C
++export LANGUAGE LC_ALL
+
+ $lt_unset CDPATH
+
+
++# 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"
+
+
+
+ : ${CP="cp -f"}
+-: ${ECHO="echo"}
+-: ${EGREP="/usr/bin/grep -E"}
+-: ${FGREP="/usr/bin/grep -F"}
+-: ${GREP="/usr/bin/grep"}
++test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
++: ${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="/opt/local/bin/gsed"}
++: ${SED="/bin/sed"}
+ : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
+ : ${Xsed="$SED -e 1s/^X//"}
+
+@@ -144,6 +164,27 @@
+ dirname="s,/[^/]*$,,"
+ basename="s,^.*/,,"
+
++# 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 ()
++{
++ func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
++ if test "X$func_dirname_result" = "X${1}"; then
++ func_dirname_result="${3}"
++ else
++ func_dirname_result="$func_dirname_result${2}"
++ fi
++} # func_dirname may be replaced by extended shell implementation
++
++
++# func_basename file
++func_basename ()
++{
++ func_basename_result=`$ECHO "${1}" | $SED "$basename"`
++} # func_basename may be replaced by extended shell implementation
++
++
+ # func_dirname_and_basename file append nondir_replacement
+ # perform func_basename and func_dirname in a single function
+ # call:
+@@ -158,33 +199,183 @@
+ # 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"`
++ # Extract subdirectory from the argument.
++ func_dirname_result=`$ECHO "${1}" | $SED -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 "${1}" | $SED -e "$basename"`
++} # func_dirname_and_basename may be replaced by extended shell implementation
++
++
++# 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 "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
++ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
++ esac
++} # func_stripname may be replaced by extended shell implementation
++
++
++# These SED scripts presuppose an absolute path with a trailing slash.
++pathcar='s,^/\([^/]*\).*$,\1,'
++pathcdr='s,^/[^/]*,,'
++removedotparts=':dotsl
++ s@/\./@/@g
++ t dotsl
++ s,/\.$,/,'
++collapseslashes='s@/\{1,\}@/@g'
++finalslash='s,/*$,/,'
++
++# func_normal_abspath PATH
++# Remove doubled-up and trailing slashes, "." path components,
++# and cancel out any ".." path components in PATH after making
++# it an absolute path.
++# value returned in "$func_normal_abspath_result"
++func_normal_abspath ()
++{
++ # Start from root dir and reassemble the path.
++ func_normal_abspath_result=
++ func_normal_abspath_tpath=$1
++ func_normal_abspath_altnamespace=
++ case $func_normal_abspath_tpath in
++ "")
++ # Empty path, that just means $cwd.
++ func_stripname '' '/' "`pwd`"
++ func_normal_abspath_result=$func_stripname_result
++ return
++ ;;
++ # The next three entries are used to spot a run of precisely
++ # two leading slashes without using negated character classes;
++ # we take advantage of case's first-match behaviour.
++ ///*)
++ # Unusual form of absolute path, do nothing.
++ ;;
++ //*)
++ # Not necessarily an ordinary path; POSIX reserves leading '//'
++ # and for example Cygwin uses it to access remote file shares
++ # over CIFS/SMB, so we conserve a leading double slash if found.
++ func_normal_abspath_altnamespace=/
++ ;;
++ /*)
++ # Absolute path, do nothing.
++ ;;
++ *)
++ # Relative path, prepend $cwd.
++ func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
++ ;;
++ esac
++ # Cancel out all the simple stuff to save iterations. We also want
++ # the path to end with a slash for ease of parsing, so make sure
++ # there is one (and only one) here.
++ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
++ -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
++ while :; do
++ # Processed it all yet?
++ if test "$func_normal_abspath_tpath" = / ; then
++ # If we ascended to the root using ".." the result may be empty now.
++ if test -z "$func_normal_abspath_result" ; then
++ func_normal_abspath_result=/
++ fi
++ break
++ fi
++ func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
++ -e "$pathcar"`
++ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
++ -e "$pathcdr"`
++ # Figure out what to do with it
++ case $func_normal_abspath_tcomponent in
++ "")
++ # Trailing empty path component, ignore it.
++ ;;
++ ..)
++ # Parent dir; strip last assembled component from result.
++ func_dirname "$func_normal_abspath_result"
++ func_normal_abspath_result=$func_dirname_result
++ ;;
++ *)
++ # Actual path component, append it.
++ func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
++ ;;
++ esac
++ done
++ # Restore leading double-slash if one was found on entry.
++ func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
+ }
+
+-# Generated shell functions inserted here.
++# func_relative_path SRCDIR DSTDIR
++# generates a relative path from SRCDIR to DSTDIR, with a trailing
++# slash if non-empty, suitable for immediately appending a filename
++# without needing to append a separator.
++# value returned in "$func_relative_path_result"
++func_relative_path ()
++{
++ func_relative_path_result=
++ func_normal_abspath "$1"
++ func_relative_path_tlibdir=$func_normal_abspath_result
++ func_normal_abspath "$2"
++ func_relative_path_tbindir=$func_normal_abspath_result
++
++ # Ascend the tree starting from libdir
++ while :; do
++ # check if we have found a prefix of bindir
++ case $func_relative_path_tbindir in
++ $func_relative_path_tlibdir)
++ # found an exact match
++ func_relative_path_tcancelled=
++ break
++ ;;
++ $func_relative_path_tlibdir*)
++ # found a matching prefix
++ func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
++ func_relative_path_tcancelled=$func_stripname_result
++ if test -z "$func_relative_path_result"; then
++ func_relative_path_result=.
++ fi
++ break
++ ;;
++ *)
++ func_dirname $func_relative_path_tlibdir
++ func_relative_path_tlibdir=${func_dirname_result}
++ if test "x$func_relative_path_tlibdir" = x ; then
++ # Have to descend all the way to the root!
++ func_relative_path_result=../$func_relative_path_result
++ func_relative_path_tcancelled=$func_relative_path_tbindir
++ break
++ fi
++ func_relative_path_result=../$func_relative_path_result
++ ;;
++ esac
++ done
+
+-# 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"
++ # Now calculate path; take care to avoid doubling-up slashes.
++ func_stripname '' '/' "$func_relative_path_result"
++ func_relative_path_result=$func_stripname_result
++ func_stripname '/' '/' "$func_relative_path_tcancelled"
++ if test "x$func_stripname_result" != x ; then
++ func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
++ fi
++
++ # Normalisation. If bindir is libdir, return empty string,
++ # else relative path ending with a slash; either way, target
++ # file name can be directly appended.
++ if test ! -z "$func_relative_path_result"; then
++ func_stripname './' '' "$func_relative_path_result/"
++ func_relative_path_result=$func_stripname_result
++ fi
++}
+
+ # 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
+@@ -215,6 +406,15 @@
+ # Same as above, but do not quote variable references.
+ double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
++# Sed substitution that turns a string into a regex matching for the
++# string literally.
++sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
++
++# Sed substitution that converts a w32 file name or path
++# which contains forward slashes, into one that contains
++# (escaped) backslashes. A very naive implementation.
++lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|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.
+@@ -243,7 +443,7 @@
+ # name if it has been set yet.
+ func_echo ()
+ {
+- $ECHO "$progname${mode+: }$mode: $*"
++ $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
+ }
+
+ # func_verbose arg...
+@@ -258,18 +458,25 @@
+ :
+ }
+
++# func_echo_all arg...
++# Invoke $ECHO with all args, space-separated.
++func_echo_all ()
++{
++ $ECHO "$*"
++}
++
+ # func_error arg...
+ # Echo program name prefixed message to standard error.
+ func_error ()
+ {
+- $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
++ $ECHO "$progname: ${opt_mode+$opt_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
++ $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
+
+ # bash bug again:
+ :
+@@ -326,9 +533,9 @@
+ 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"`
++ my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
+ done
+- my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
++ my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
+
+ save_mkdir_p_IFS="$IFS"; IFS=':'
+ for my_dir in $my_dir_list; do
+@@ -378,7 +585,7 @@
+ func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
+ fi
+
+- $ECHO "X$my_tmpdir" | $Xsed
++ $ECHO "$my_tmpdir"
+ }
+
+
+@@ -392,7 +599,7 @@
+ {
+ case $1 in
+ *[\\\`\"\$]*)
+- func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
++ func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
+ *)
+ func_quote_for_eval_unquoted_result="$1" ;;
+ esac
+@@ -419,7 +626,7 @@
+ {
+ case $1 in
+ *[\\\`\"]*)
+- my_arg=`$ECHO "X$1" | $Xsed \
++ my_arg=`$ECHO "$1" | $SED \
+ -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
+ *)
+ my_arg="$1" ;;
+@@ -488,15 +695,39 @@
+ fi
+ }
+
+-
+-
++# func_tr_sh
++# Turn $1 into a string suitable for a shell variable name.
++# Result is stored in $func_tr_sh_result. All characters
++# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
++# if $1 begins with a digit, a '_' is prepended as well.
++func_tr_sh ()
++{
++ case $1 in
++ [0-9]* | *[!a-zA-Z0-9_]*)
++ func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
++ ;;
++ * )
++ func_tr_sh_result=$1
++ ;;
++ esac
++}
+
+
+ # func_version
+ # Echo version message to standard output and exit.
+ func_version ()
+ {
+- $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
++ $opt_debug
++
++ $SED -n '/(C)/!b go
++ :more
++ /\./!{
++ N
++ s/\n# / /
++ b more
++ }
++ :go
++ /^# '$PROGRAM' (GNU /,/# warranty; / {
+ s/^# //
+ s/^# *$//
+ s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
+@@ -509,22 +740,28 @@
+ # Echo short help message to standard output and exit.
+ func_usage ()
+ {
+- $SED -n '/^# Usage:/,/# -h/ {
++ $opt_debug
++
++ $SED -n '/^# Usage:/,/^# *.*--help/ {
+ s/^# //
+ s/^# *$//
+ s/\$progname/'$progname'/
+ p
+ }' < "$progpath"
+- $ECHO
++ echo
+ $ECHO "run \`$progname --help | more' for full usage"
+ exit $?
+ }
+
+-# func_help
+-# Echo long help message to standard output and exit.
++# func_help [NOEXIT]
++# Echo long help message to standard output and exit,
++# unless 'noexit' is passed as argument.
+ func_help ()
+ {
++ $opt_debug
++
+ $SED -n '/^# Usage:/,/# Report bugs to/ {
++ :print
+ s/^# //
+ s/^# *$//
+ s*\$progname*'$progname'*
+@@ -537,8 +774,15 @@
+ s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
+ s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
+ p
+- }' < "$progpath"
+- exit $?
++ d
++ }
++ /^# .* home page:/b print
++ /^# General help using/b print
++ ' < "$progpath"
++ ret=$?
++ if test -z "$1"; then
++ exit $ret
++ fi
+ }
+
+ # func_missing_arg argname
+@@ -546,63 +790,106 @@
+ # exit_cmd.
+ func_missing_arg ()
+ {
+- func_error "missing argument for $1"
++ $opt_debug
++
++ func_error "missing argument for $1."
+ exit_cmd=exit
+ }
+
+-exit_cmd=:
+
++# func_split_short_opt shortopt
++# Set func_split_short_opt_name and func_split_short_opt_arg shell
++# variables after splitting SHORTOPT after the 2nd character.
++func_split_short_opt ()
++{
++ my_sed_short_opt='1s/^\(..\).*$/\1/;q'
++ my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
++
++ func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
++ func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
++} # func_split_short_opt may be replaced by extended shell implementation
++
++
++# func_split_long_opt longopt
++# Set func_split_long_opt_name and func_split_long_opt_arg shell
++# variables after splitting LONGOPT at the `=' sign.
++func_split_long_opt ()
++{
++ my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
++ my_sed_long_arg='1s/^--[^=]*=//'
++
++ func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
++ func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
++} # func_split_long_opt may be replaced by extended shell implementation
+
++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 </dev/null || echo $max_cmd_len`
++} # func_len may be replaced by extended shell implementation
++
++
++# func_lo2o object
++func_lo2o ()
++{
++ func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
++} # func_lo2o may be replaced by extended shell implementation
++
++
++# func_xform libobj-or-source
++func_xform ()
++{
++ func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
++} # func_xform may be replaced by extended shell implementation
++
++
+ # func_fatal_configuration arg...
+ # Echo program name prefixed message to standard error, followed by
+ # a configuration failure hint, and exit.
+@@ -636,16 +923,16 @@
+ # Display the features supported by this script.
+ func_features ()
+ {
+- $ECHO "host: $host"
++ echo "host: $host"
+ if test "$build_libtool_libs" = yes; then
+- $ECHO "enable shared libraries"
++ echo "enable shared libraries"
+ else
+- $ECHO "disable shared libraries"
++ echo "disable shared libraries"
+ fi
+ if test "$build_old_libs" = yes; then
+- $ECHO "enable static libraries"
++ echo "enable static libraries"
+ else
+- $ECHO "disable static libraries"
++ echo "disable static libraries"
+ fi
+
+ exit $?
+@@ -692,117 +979,204 @@
+ esac
+ }
+
+-# Parse options once, thoroughly. This comes as soon as possible in
+-# the script to make things like `libtool --version' happen quickly.
++# 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
+
+- # 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
++ exit $EXIT_MISMATCH
++ fi
++}
+
+- # Parse non-mode specific arguments:
+- while test "$#" -gt 0; do
++
++# 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
++
++
++
++# Option defaults:
++opt_debug=:
++opt_dry_run=false
++opt_config=false
++opt_preserve_dup_deps=false
++opt_features=false
++opt_finish=false
++opt_help=false
++opt_help_all=false
++opt_silent=:
++opt_verbose=:
++opt_silent=false
++opt_verbose=false
++
++
++# Parse options once, thoroughly. This comes as soon as possible in the
++# script to make things like `--version' happen as quickly as we can.
++{
++ # this just eases exit handling
++ while test $# -gt 0; do
+ opt="$1"
+ shift
+-
+ case $opt in
+- --config) func_config ;;
+-
+- --debug) preserve_args="$preserve_args $opt"
++ --debug|-x) opt_debug='set -x'
+ 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|--dryrun|-n)
++ opt_dry_run=:
+ ;;
+-
+- --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"
++ --config)
++ opt_config=:
++func_config
++ ;;
++ --dlopen|-dlopen)
++ optarg="$1"
++ opt_dlopen="${opt_dlopen+$opt_dlopen
++}$optarg"
+ shift
+ ;;
+-
+ --preserve-dup-deps)
+- opt_duplicate_deps=: ;;
+-
+- --quiet|--silent) preserve_args="$preserve_args $opt"
+- opt_silent=:
++ opt_preserve_dup_deps=:
+ ;;
+-
+- --verbose| -v) preserve_args="$preserve_args $opt"
++ --features)
++ opt_features=:
++func_features
++ ;;
++ --finish)
++ opt_finish=:
++set dummy --mode finish ${1+"$@"}; shift
++ ;;
++ --help)
++ opt_help=:
++ ;;
++ --help-all)
++ opt_help_all=:
++opt_help=': help-all'
++ ;;
++ --mode)
++ test $# = 0 && func_missing_arg $opt && break
++ optarg="$1"
++ opt_mode="$optarg"
++case $optarg 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
++ shift
++ ;;
++ --no-silent|--no-quiet)
+ opt_silent=false
++func_append preserve_args " $opt"
+ ;;
+-
+- --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break
+- preserve_args="$preserve_args $opt $1"
+- func_enable_tag "$1" # tagname is set here
++ --no-verbose)
++ opt_verbose=false
++func_append preserve_args " $opt"
++ ;;
++ --silent|--quiet)
++ opt_silent=:
++func_append preserve_args " $opt"
++ opt_verbose=false
++ ;;
++ --verbose|-v)
++ opt_verbose=:
++func_append preserve_args " $opt"
++opt_silent=false
++ ;;
++ --tag)
++ test $# = 0 && func_missing_arg $opt && break
++ optarg="$1"
++ opt_tag="$optarg"
++func_append preserve_args " $opt $optarg"
++func_enable_tag "$optarg"
+ shift
+ ;;
+
++ -\?|-h) func_usage ;;
++ --help) func_help ;;
++ --version) func_version ;;
++
+ # Separate optargs to long options:
+- -dlopen=*|--mode=*|--tag=*)
+- func_opt_split "$opt"
+- set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
++ --*=*)
++ func_split_long_opt "$opt"
++ set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
+ shift
+ ;;
+
+- -\?|-h) func_usage ;;
+- --help) opt_help=: ;;
+- --version) func_version ;;
+-
+- -*) func_fatal_help "unrecognized option \`$opt'" ;;
+-
+- *) nonopt="$opt"
+- break
++ # Separate non-argument short options:
++ -\?*|-h*|-n*|-v*)
++ func_split_short_opt "$opt"
++ set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
++ shift
+ ;;
++
++ --) break ;;
++ -*) func_fatal_help "unrecognized option \`$opt'" ;;
++ *) set dummy "$opt" ${1+"$@"}; shift; break ;;
+ esac
+ done
+
++ # Validate options:
++
++ # save first non-option argument
++ if test "$#" -gt 0; then
++ nonopt="$opt"
++ shift
++ fi
++
++ # preserve --debug
++ test "$opt_debug" = : || func_append preserve_args " --debug"
+
+ case $host in
+ *cygwin* | *mingw* | *pw32* | *cegcc*)
+@@ -810,82 +1184,44 @@
+ opt_duplicate_compiler_generated_deps=:
+ ;;
+ *)
+- opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
++ opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
+ ;;
+ esac
+
+- # Having warned about all mis-specified options, bail out if
+- # anything was wrong.
+- $exit_cmd $EXIT_FAILURE
+-}
++ $opt_help || {
++ # Sanity checks first:
++ func_check_version_match
+
+-# 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
++ if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
++ func_fatal_configuration "not configured to build any kind of library"
+ fi
+
+- exit $EXIT_MISMATCH
+- fi
+-}
+-
+-
+-## ----------- ##
+-## Main. ##
+-## ----------- ##
++ # Darwin sucks
++ eval std_shrext=\"$shrext_cmds\"
+
+-$opt_help || {
+- # Sanity checks first:
+- func_check_version_match
++ # Only execute mode is allowed to have -dlopen flags.
++ if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
++ func_error "unrecognized option \`-dlopen'"
++ $ECHO "$help" 1>&2
++ exit $EXIT_FAILURE
++ fi
+
+- if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+- func_fatal_configuration "not configured to build any kind of library"
+- fi
++ # Change the help message to a mode-specific one.
++ generic_help="$help"
++ help="Try \`$progname --help --mode=$opt_mode' for more information."
++ }
+
+- test -z "$mode" && func_fatal_error "error: you must specify a MODE."
+
++ # Bail if the options were screwed
++ $exit_cmd $EXIT_FAILURE
++}
+
+- # 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."
+-}
+
++## ----------- ##
++## Main. ##
++## ----------- ##
+
+ # func_lalib_p file
+ # True iff FILE is a libtool `.la' library or `.lo' object file.
+@@ -950,12 +1286,9 @@
+ # 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_dirname_and_basename "$1" "" "."
++ func_stripname '' '.exe' "$func_basename_result"
++ func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
+ }
+
+ # func_ltwrapper_p file
+@@ -1001,6 +1334,37 @@
+ }
+
+
++# func_resolve_sysroot PATH
++# Replace a leading = in PATH with a sysroot. Store the result into
++# func_resolve_sysroot_result
++func_resolve_sysroot ()
++{
++ func_resolve_sysroot_result=$1
++ case $func_resolve_sysroot_result in
++ =*)
++ func_stripname '=' '' "$func_resolve_sysroot_result"
++ func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
++ ;;
++ esac
++}
++
++# func_replace_sysroot PATH
++# If PATH begins with the sysroot, replace it with = and
++# store the result into func_replace_sysroot_result.
++func_replace_sysroot ()
++{
++ case "$lt_sysroot:$1" in
++ ?*:"$lt_sysroot"*)
++ func_stripname "$lt_sysroot" '' "$1"
++ func_replace_sysroot_result="=$func_stripname_result"
++ ;;
++ *)
++ # Including no sysroot.
++ func_replace_sysroot_result=$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.
+@@ -1013,13 +1377,15 @@
+ 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"
++ func_append_quoted CC_quoted "$arg"
+ done
++ CC_expanded=`func_echo_all $CC`
++ CC_quoted_expanded=`func_echo_all $CC_quoted`
+ 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` "*) ;;
++ " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
++ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
+ # Blanks at the start of $base_compile will cause this to fail
+ # if we don't check for them as well.
+ *)
+@@ -1030,11 +1396,13 @@
+ 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"
++ func_append_quoted CC_quoted "$arg"
+ done
++ CC_expanded=`func_echo_all $CC`
++ CC_quoted_expanded=`func_echo_all $CC_quoted`
+ case "$@ " in
+- " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
++ " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
++ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
+ # The compiler in the base compile command matches
+ # the one in the tagged configuration.
+ # Assume this is the tagged configuration we want.
+@@ -1097,6 +1465,486 @@
+ }
+ }
+
++
++##################################################
++# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
++##################################################
++
++# func_convert_core_file_wine_to_w32 ARG
++# Helper function used by file name conversion functions when $build is *nix,
++# and $host is mingw, cygwin, or some other w32 environment. Relies on a
++# correctly configured wine environment available, with the winepath program
++# in $build's $PATH.
++#
++# ARG is the $build file name to be converted to w32 format.
++# Result is available in $func_convert_core_file_wine_to_w32_result, and will
++# be empty on error (or when ARG is empty)
++func_convert_core_file_wine_to_w32 ()
++{
++ $opt_debug
++ func_convert_core_file_wine_to_w32_result="$1"
++ if test -n "$1"; then
++ # 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_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
++ if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
++ func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
++ $SED -e "$lt_sed_naive_backslashify"`
++ else
++ func_convert_core_file_wine_to_w32_result=
++ fi
++ fi
++}
++# end: func_convert_core_file_wine_to_w32
++
++
++# func_convert_core_path_wine_to_w32 ARG
++# Helper function used by path conversion functions when $build is *nix, and
++# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
++# configured wine environment available, with the winepath program in $build's
++# $PATH. Assumes ARG has no leading or trailing path separator characters.
++#
++# ARG is path to be converted from $build format to win32.
++# Result is available in $func_convert_core_path_wine_to_w32_result.
++# Unconvertible file (directory) names in ARG are skipped; if no directory names
++# are convertible, then the result may be empty.
++func_convert_core_path_wine_to_w32 ()
++{
++ $opt_debug
++ # unfortunately, winepath doesn't convert paths, only file names
++ func_convert_core_path_wine_to_w32_result=""
++ if test -n "$1"; then
++ oldIFS=$IFS
++ IFS=:
++ for func_convert_core_path_wine_to_w32_f in $1; do
++ IFS=$oldIFS
++ func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
++ if test -n "$func_convert_core_file_wine_to_w32_result" ; then
++ if test -z "$func_convert_core_path_wine_to_w32_result"; then
++ func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
++ else
++ func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
++ fi
++ fi
++ done
++ IFS=$oldIFS
++ fi
++}
++# end: func_convert_core_path_wine_to_w32
++
++
++# func_cygpath ARGS...
++# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
++# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
++# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
++# (2), returns the Cygwin file name or path in func_cygpath_result (input
++# file name or path is assumed to be in w32 format, as previously converted
++# from $build's *nix or MSYS format). In case (3), returns the w32 file name
++# or path in func_cygpath_result (input file name or path is assumed to be in
++# Cygwin format). Returns an empty string on error.
++#
++# ARGS are passed to cygpath, with the last one being the file name or path to
++# be converted.
++#
++# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
++# environment variable; do not put it in $PATH.
++func_cygpath ()
++{
++ $opt_debug
++ if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
++ func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
++ if test "$?" -ne 0; then
++ # on failure, ensure result is empty
++ func_cygpath_result=
++ fi
++ else
++ func_cygpath_result=
++ func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
++ fi
++}
++#end: func_cygpath
++
++
++# func_convert_core_msys_to_w32 ARG
++# Convert file name or path ARG from MSYS format to w32 format. Return
++# result in func_convert_core_msys_to_w32_result.
++func_convert_core_msys_to_w32 ()
++{
++ $opt_debug
++ # awkward: cmd appends spaces to result
++ func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
++ $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
++}
++#end: func_convert_core_msys_to_w32
++
++
++# func_convert_file_check ARG1 ARG2
++# Verify that ARG1 (a file name in $build format) was converted to $host
++# format in ARG2. Otherwise, emit an error message, but continue (resetting
++# func_to_host_file_result to ARG1).
++func_convert_file_check ()
++{
++ $opt_debug
++ if test -z "$2" && test -n "$1" ; then
++ func_error "Could not determine host file name corresponding to"
++ func_error " \`$1'"
++ func_error "Continuing, but uninstalled executables may not work."
++ # Fallback:
++ func_to_host_file_result="$1"
++ fi
++}
++# end func_convert_file_check
++
++
++# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
++# Verify that FROM_PATH (a path in $build format) was converted to $host
++# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
++# func_to_host_file_result to a simplistic fallback value (see below).
++func_convert_path_check ()
++{
++ $opt_debug
++ if test -z "$4" && test -n "$3"; then
++ func_error "Could not determine the host path corresponding to"
++ func_error " \`$3'"
++ func_error "Continuing, but uninstalled executables may not work."
++ # Fallback. This is a deliberately simplistic "conversion" and
++ # should not be "improved". See libtool.info.
++ if test "x$1" != "x$2"; then
++ lt_replace_pathsep_chars="s|$1|$2|g"
++ func_to_host_path_result=`echo "$3" |
++ $SED -e "$lt_replace_pathsep_chars"`
++ else
++ func_to_host_path_result="$3"
++ fi
++ fi
++}
++# end func_convert_path_check
++
++
++# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
++# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
++# and appending REPL if ORIG matches BACKPAT.
++func_convert_path_front_back_pathsep ()
++{
++ $opt_debug
++ case $4 in
++ $1 ) func_to_host_path_result="$3$func_to_host_path_result"
++ ;;
++ esac
++ case $4 in
++ $2 ) func_append func_to_host_path_result "$3"
++ ;;
++ esac
++}
++# end func_convert_path_front_back_pathsep
++
++
++##################################################
++# $build to $host FILE NAME CONVERSION FUNCTIONS #
++##################################################
++# invoked via `$to_host_file_cmd ARG'
++#
++# In each case, ARG is the path to be converted from $build to $host format.
++# Result will be available in $func_to_host_file_result.
++
++
++# func_to_host_file ARG
++# Converts the file name ARG from $build format to $host format. Return result
++# in func_to_host_file_result.
++func_to_host_file ()
++{
++ $opt_debug
++ $to_host_file_cmd "$1"
++}
++# end func_to_host_file
++
++
++# func_to_tool_file ARG LAZY
++# converts the file name ARG from $build format to toolchain format. Return
++# result in func_to_tool_file_result. If the conversion in use is listed
++# in (the comma separated) LAZY, no conversion takes place.
++func_to_tool_file ()
++{
++ $opt_debug
++ case ,$2, in
++ *,"$to_tool_file_cmd",*)
++ func_to_tool_file_result=$1
++ ;;
++ *)
++ $to_tool_file_cmd "$1"
++ func_to_tool_file_result=$func_to_host_file_result
++ ;;
++ esac
++}
++# end func_to_tool_file
++
++
++# func_convert_file_noop ARG
++# Copy ARG to func_to_host_file_result.
++func_convert_file_noop ()
++{
++ func_to_host_file_result="$1"
++}
++# end func_convert_file_noop
++
++
++# func_convert_file_msys_to_w32 ARG
++# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
++# conversion to w32 is not available inside the cwrapper. Returns result in
++# func_to_host_file_result.
++func_convert_file_msys_to_w32 ()
++{
++ $opt_debug
++ func_to_host_file_result="$1"
++ if test -n "$1"; then
++ func_convert_core_msys_to_w32 "$1"
++ func_to_host_file_result="$func_convert_core_msys_to_w32_result"
++ fi
++ func_convert_file_check "$1" "$func_to_host_file_result"
++}
++# end func_convert_file_msys_to_w32
++
++
++# func_convert_file_cygwin_to_w32 ARG
++# Convert file name ARG from Cygwin to w32 format. Returns result in
++# func_to_host_file_result.
++func_convert_file_cygwin_to_w32 ()
++{
++ $opt_debug
++ func_to_host_file_result="$1"
++ if test -n "$1"; then
++ # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
++ # LT_CYGPATH in this case.
++ func_to_host_file_result=`cygpath -m "$1"`
++ fi
++ func_convert_file_check "$1" "$func_to_host_file_result"
++}
++# end func_convert_file_cygwin_to_w32
++
++
++# func_convert_file_nix_to_w32 ARG
++# Convert file name ARG from *nix to w32 format. Requires a wine environment
++# and a working winepath. Returns result in func_to_host_file_result.
++func_convert_file_nix_to_w32 ()
++{
++ $opt_debug
++ func_to_host_file_result="$1"
++ if test -n "$1"; then
++ func_convert_core_file_wine_to_w32 "$1"
++ func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
++ fi
++ func_convert_file_check "$1" "$func_to_host_file_result"
++}
++# end func_convert_file_nix_to_w32
++
++
++# func_convert_file_msys_to_cygwin ARG
++# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
++# Returns result in func_to_host_file_result.
++func_convert_file_msys_to_cygwin ()
++{
++ $opt_debug
++ func_to_host_file_result="$1"
++ if test -n "$1"; then
++ func_convert_core_msys_to_w32 "$1"
++ func_cygpath -u "$func_convert_core_msys_to_w32_result"
++ func_to_host_file_result="$func_cygpath_result"
++ fi
++ func_convert_file_check "$1" "$func_to_host_file_result"
++}
++# end func_convert_file_msys_to_cygwin
++
++
++# func_convert_file_nix_to_cygwin ARG
++# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed
++# in a wine environment, working winepath, and LT_CYGPATH set. Returns result
++# in func_to_host_file_result.
++func_convert_file_nix_to_cygwin ()
++{
++ $opt_debug
++ func_to_host_file_result="$1"
++ if test -n "$1"; then
++ # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
++ func_convert_core_file_wine_to_w32 "$1"
++ func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
++ func_to_host_file_result="$func_cygpath_result"
++ fi
++ func_convert_file_check "$1" "$func_to_host_file_result"
++}
++# end func_convert_file_nix_to_cygwin
++
++
++#############################################
++# $build to $host PATH CONVERSION FUNCTIONS #
++#############################################
++# invoked via `$to_host_path_cmd ARG'
++#
++# In each case, ARG is the path to be converted from $build to $host format.
++# The result will be available in $func_to_host_path_result.
++#
++# 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.
++#
++# All path conversion functions are named using the following convention:
++# file name conversion function : func_convert_file_X_to_Y ()
++# path conversion function : func_convert_path_X_to_Y ()
++# where, for any given $build/$host combination the 'X_to_Y' value is the
++# same. If conversion functions are added for new $build/$host combinations,
++# the two new functions must follow this pattern, or func_init_to_host_path_cmd
++# will break.
++
++
++# func_init_to_host_path_cmd
++# Ensures that function "pointer" variable $to_host_path_cmd is set to the
++# appropriate value, based on the value of $to_host_file_cmd.
++to_host_path_cmd=
++func_init_to_host_path_cmd ()
++{
++ $opt_debug
++ if test -z "$to_host_path_cmd"; then
++ func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
++ to_host_path_cmd="func_convert_path_${func_stripname_result}"
++ fi
++}
++
++
++# func_to_host_path ARG
++# Converts the path ARG from $build format to $host format. Return result
++# in func_to_host_path_result.
++func_to_host_path ()
++{
++ $opt_debug
++ func_init_to_host_path_cmd
++ $to_host_path_cmd "$1"
++}
++# end func_to_host_path
++
++
++# func_convert_path_noop ARG
++# Copy ARG to func_to_host_path_result.
++func_convert_path_noop ()
++{
++ func_to_host_path_result="$1"
++}
++# end func_convert_path_noop
++
++
++# func_convert_path_msys_to_w32 ARG
++# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
++# conversion to w32 is not available inside the cwrapper. Returns result in
++# func_to_host_path_result.
++func_convert_path_msys_to_w32 ()
++{
++ $opt_debug
++ func_to_host_path_result="$1"
++ if test -n "$1"; then
++ # 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_stripname : : "$1"
++ func_to_host_path_tmp1=$func_stripname_result
++ func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
++ func_to_host_path_result="$func_convert_core_msys_to_w32_result"
++ func_convert_path_check : ";" \
++ "$func_to_host_path_tmp1" "$func_to_host_path_result"
++ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
++ fi
++}
++# end func_convert_path_msys_to_w32
++
++
++# func_convert_path_cygwin_to_w32 ARG
++# Convert path ARG from Cygwin to w32 format. Returns result in
++# func_to_host_file_result.
++func_convert_path_cygwin_to_w32 ()
++{
++ $opt_debug
++ func_to_host_path_result="$1"
++ if test -n "$1"; then
++ # See func_convert_path_msys_to_w32:
++ func_stripname : : "$1"
++ func_to_host_path_tmp1=$func_stripname_result
++ func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
++ func_convert_path_check : ";" \
++ "$func_to_host_path_tmp1" "$func_to_host_path_result"
++ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
++ fi
++}
++# end func_convert_path_cygwin_to_w32
++
++
++# func_convert_path_nix_to_w32 ARG
++# Convert path ARG from *nix to w32 format. Requires a wine environment and
++# a working winepath. Returns result in func_to_host_file_result.
++func_convert_path_nix_to_w32 ()
++{
++ $opt_debug
++ func_to_host_path_result="$1"
++ if test -n "$1"; then
++ # See func_convert_path_msys_to_w32:
++ func_stripname : : "$1"
++ func_to_host_path_tmp1=$func_stripname_result
++ func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
++ func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
++ func_convert_path_check : ";" \
++ "$func_to_host_path_tmp1" "$func_to_host_path_result"
++ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
++ fi
++}
++# end func_convert_path_nix_to_w32
++
++
++# func_convert_path_msys_to_cygwin ARG
++# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
++# Returns result in func_to_host_file_result.
++func_convert_path_msys_to_cygwin ()
++{
++ $opt_debug
++ func_to_host_path_result="$1"
++ if test -n "$1"; then
++ # See func_convert_path_msys_to_w32:
++ func_stripname : : "$1"
++ func_to_host_path_tmp1=$func_stripname_result
++ func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
++ func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
++ func_to_host_path_result="$func_cygpath_result"
++ func_convert_path_check : : \
++ "$func_to_host_path_tmp1" "$func_to_host_path_result"
++ func_convert_path_front_back_pathsep ":*" "*:" : "$1"
++ fi
++}
++# end func_convert_path_msys_to_cygwin
++
++
++# func_convert_path_nix_to_cygwin ARG
++# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a
++# a wine environment, working winepath, and LT_CYGPATH set. Returns result in
++# func_to_host_file_result.
++func_convert_path_nix_to_cygwin ()
++{
++ $opt_debug
++ func_to_host_path_result="$1"
++ if test -n "$1"; then
++ # 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_stripname : : "$1"
++ func_to_host_path_tmp1=$func_stripname_result
++ func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
++ func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
++ func_to_host_path_result="$func_cygpath_result"
++ func_convert_path_check : : \
++ "$func_to_host_path_tmp1" "$func_to_host_path_result"
++ func_convert_path_front_back_pathsep ":*" "*:" : "$1"
++ fi
++}
++# end func_convert_path_nix_to_cygwin
++
++
+ # func_mode_compile arg...
+ func_mode_compile ()
+ {
+@@ -1137,12 +1985,12 @@
+ ;;
+
+ -pie | -fpie | -fPIE)
+- pie_flag="$pie_flag $arg"
++ func_append pie_flag " $arg"
+ continue
+ ;;
+
+ -shared | -static | -prefer-pic | -prefer-non-pic)
+- later="$later $arg"
++ func_append later " $arg"
+ continue
+ ;;
+
+@@ -1163,15 +2011,14 @@
+ save_ifs="$IFS"; IFS=','
+ for arg in $args; do
+ IFS="$save_ifs"
+- func_quote_for_eval "$arg"
+- lastarg="$lastarg $func_quote_for_eval_result"
++ func_append_quoted lastarg "$arg"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$lastarg"
+ lastarg=$func_stripname_result
+
+ # Add the arguments to base_compile.
+- base_compile="$base_compile $lastarg"
++ func_append base_compile " $lastarg"
+ continue
+ ;;
+
+@@ -1187,8 +2034,7 @@
+ esac # case $arg_mode
+
+ # Aesthetically quote the previous argument.
+- func_quote_for_eval "$lastarg"
+- base_compile="$base_compile $func_quote_for_eval_result"
++ func_append_quoted base_compile "$lastarg"
+ done # for arg
+
+ case $arg_mode in
+@@ -1213,7 +2059,7 @@
+ *.[cCFSifmso] | \
+ *.ada | *.adb | *.ads | *.asm | \
+ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
+- *.[fF][09]? | *.for | *.java | *.obj | *.sx)
++ *.[fF][09]? | *.for | *.java | *.obj | *.sx | *.cu | *.cup)
+ func_xform "$libobj"
+ libobj=$func_xform_result
+ ;;
+@@ -1288,7 +2134,7 @@
+ # 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}
++ output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
+ lockfile="$output_obj.lock"
+ else
+ output_obj=
+@@ -1319,17 +2165,16 @@
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+- removelist="$removelist $output_obj"
++ func_append removelist " $output_obj"
+ $ECHO "$srcfile" > "$lockfile"
+ fi
+
+ $opt_dry_run || $RM $removelist
+- removelist="$removelist $lockfile"
++ func_append removelist " $lockfile"
+ trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
+
+- if test -n "$fix_srcfile_path"; then
+- eval srcfile=\"$fix_srcfile_path\"
+- fi
++ func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
++ srcfile=$func_to_tool_file_result
+ func_quote_for_eval "$srcfile"
+ qsrcfile=$func_quote_for_eval_result
+
+@@ -1349,7 +2194,7 @@
+
+ if test -z "$output_obj"; then
+ # Place PIC objects in $objdir
+- command="$command -o $lobj"
++ func_append command " -o $lobj"
+ fi
+
+ func_show_eval_locale "$command" \
+@@ -1396,11 +2241,11 @@
+ command="$base_compile $qsrcfile $pic_flag"
+ fi
+ if test "$compiler_c_o" = yes; then
+- command="$command -o $obj"
++ func_append command " -o $obj"
+ fi
+
+ # Suppress compiler output if we already did a PIC compilation.
+- command="$command$suppress_output"
++ func_append command "$suppress_output"
+ func_show_eval_locale "$command" \
+ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
+
+@@ -1445,13 +2290,13 @@
+ }
+
+ $opt_help || {
+-test "$mode" = compile && func_mode_compile ${1+"$@"}
++ test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
+ }
+
+ func_mode_help ()
+ {
+ # We need to display help for each of the modes.
+- case $mode in
++ case $opt_mode in
+ "")
+ # Generic help is extracted from the usage comments
+ # at the start of this file.
+@@ -1482,10 +2327,11 @@
+
+ -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
++ -prefer-pic try to build PIC objects only
++ -prefer-non-pic try to build 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
++ -Wc,FLAG pass FLAG directly to the compiler
+
+ COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+ from the given SOURCEFILE.
+@@ -1538,7 +2384,7 @@
+
+ The following components of INSTALL-COMMAND are treated specially:
+
+- -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation
++ -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation
+
+ The rest of the components are interpreted as arguments to that command (only
+ BSD-compatible install options are recognized)."
+@@ -1558,6 +2404,8 @@
+
+ -all-static do not do any dynamic linking at all
+ -avoid-version do not add a version suffix if possible
++ -bindir BINDIR specify path to binaries directory (for systems where
++ libraries must be found in the PATH setting at runtime)
+ -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)
+@@ -1586,6 +2434,11 @@
+ -version-info CURRENT[:REVISION[:AGE]]
+ specify library version info [each variable defaults to 0]
+ -weak LIBNAME declare that the target provides the LIBNAME interface
++ -Wc,FLAG
++ -Xcompiler FLAG pass linker-specific FLAG directly to the compiler
++ -Wl,FLAG
++ -Xlinker FLAG pass linker-specific FLAG directly to the linker
++ -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC)
+
+ All other options (arguments beginning with \`-') are ignored.
+
+@@ -1619,18 +2472,44 @@
+ ;;
+
+ *)
+- func_fatal_help "invalid operation mode \`$mode'"
++ func_fatal_help "invalid operation mode \`$opt_mode'"
+ ;;
+ esac
+
+- $ECHO
++ echo
+ $ECHO "Try \`$progname --help' for more information about other modes."
+-
+- exit $?
+ }
+
+- # Now that we've collected a possible --mode arg, show help if necessary
+- $opt_help && func_mode_help
++# Now that we've collected a possible --mode arg, show help if necessary
++if $opt_help; then
++ if test "$opt_help" = :; then
++ func_mode_help
++ else
++ {
++ func_help noexit
++ for opt_mode in compile link execute install finish uninstall clean; do
++ func_mode_help
++ done
++ } | sed -n '1p; 2,$s/^Usage:/ or: /p'
++ {
++ func_help noexit
++ for opt_mode in compile link execute install finish uninstall clean; do
++ echo
++ func_mode_help
++ done
++ } |
++ sed '1d
++ /^When reporting/,/^Report/{
++ H
++ d
++ }
++ $x
++ /information about other modes/d
++ /more detailed .*MODE/d
++ s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
++ fi
++ exit $?
++fi
+
+
+ # func_mode_execute arg...
+@@ -1643,13 +2522,16 @@
+ func_fatal_help "you must specify a COMMAND"
+
+ # Handle -dlopen flags immediately.
+- for file in $execute_dlfiles; do
++ for file in $opt_dlopen; do
+ test -f "$file" \
+ || func_fatal_help "\`$file' is not a file"
+
+ dir=
+ case $file in
+ *.la)
++ func_resolve_sysroot "$file"
++ file=$func_resolve_sysroot_result
++
+ # 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"
+@@ -1671,7 +2553,7 @@
+ dir="$func_dirname_result"
+
+ if test -f "$dir/$objdir/$dlname"; then
+- dir="$dir/$objdir"
++ func_append dir "/$objdir"
+ else
+ if test ! -f "$dir/$dlname"; then
+ func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
+@@ -1712,7 +2594,7 @@
+ for file
+ do
+ case $file in
+- -*) ;;
++ -* | *.la | *.lo ) ;;
+ *)
+ # Do a test to see if this is really a libtool program.
+ if func_ltwrapper_script_p "$file"; then
+@@ -1728,8 +2610,7 @@
+ ;;
+ esac
+ # Quote arguments (to preserve shell metacharacters).
+- func_quote_for_eval "$file"
+- args="$args $func_quote_for_eval_result"
++ func_append_quoted args "$file"
+ done
+
+ if test "X$opt_dry_run" = Xfalse; then
+@@ -1754,29 +2635,66 @@
+ # Display what would be done.
+ if test -n "$shlibpath_var"; then
+ eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+- $ECHO "export $shlibpath_var"
++ echo "export $shlibpath_var"
+ fi
+ $ECHO "$cmd$args"
+ exit $EXIT_SUCCESS
+ fi
+ }
+
+-test "$mode" = execute && func_mode_execute ${1+"$@"}
++test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
+
+
+ # func_mode_finish arg...
+ func_mode_finish ()
+ {
+ $opt_debug
+- libdirs="$nonopt"
++ libs=
++ libdirs=
+ admincmds=
+
+- if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+- for dir
+- do
+- libdirs="$libdirs $dir"
+- done
++ for opt in "$nonopt" ${1+"$@"}
++ do
++ if test -d "$opt"; then
++ func_append libdirs " $opt"
++
++ elif test -f "$opt"; then
++ if func_lalib_unsafe_p "$opt"; then
++ func_append libs " $opt"
++ else
++ func_warning "\`$opt' is not a valid libtool archive"
++ fi
+
++ else
++ func_fatal_error "invalid argument \`$opt'"
++ fi
++ done
++
++ if test -n "$libs"; then
++ if test -n "$lt_sysroot"; then
++ sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
++ sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
++ else
++ sysroot_cmd=
++ fi
++
++ # Remove sysroot references
++ if $opt_dry_run; then
++ for lib in $libs; do
++ echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
++ done
++ else
++ tmpdir=`func_mktempdir`
++ for lib in $libs; do
++ sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
++ > $tmpdir/tmp-la
++ mv -f $tmpdir/tmp-la $lib
++ done
++ ${RM}r "$tmpdir"
++ fi
++ fi
++
++ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ for libdir in $libdirs; do
+ if test -n "$finish_cmds"; then
+ # Do each command in the finish commands.
+@@ -1786,7 +2704,7 @@
+ if test -n "$finish_eval"; then
+ # Do the single finish_eval.
+ eval cmds=\"$finish_eval\"
+- $opt_dry_run || eval "$cmds" || admincmds="$admincmds
++ $opt_dry_run || eval "$cmds" || func_append admincmds "
+ $cmds"
+ fi
+ done
+@@ -1795,53 +2713,55 @@
+ # Exit here if they wanted silent mode.
+ $opt_silent && exit $EXIT_SUCCESS
+
+- $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\"
++ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
++ echo "----------------------------------------------------------------------"
++ 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\"
++
++ $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
+
+- $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'"
++ 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 "----------------------------------------------------------------------"
+ fi
+- $ECHO
+-
+- $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
+ }
+
+-test "$mode" = finish && func_mode_finish ${1+"$@"}
++test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
+
+
+ # func_mode_install arg...
+@@ -1852,7 +2772,7 @@
+ # 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
++ case $nonopt in *shtool*) :;; *) false;; esac; then
+ # Aesthetically quote it.
+ func_quote_for_eval "$nonopt"
+ install_prog="$func_quote_for_eval_result "
+@@ -1866,7 +2786,12 @@
+ # 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"
++ func_append install_prog "$func_quote_for_eval_result"
++ install_shared_prog=$install_prog
++ case " $install_prog " in
++ *[\\\ /]cp\ *) install_cp=: ;;
++ *) install_cp=false ;;
++ esac
+
+ # We need to accept at least all the BSD install flags.
+ dest=
+@@ -1876,10 +2801,12 @@
+ install_type=
+ isdir=no
+ stripme=
++ no_mode=:
+ for arg
+ do
++ arg2=
+ if test -n "$dest"; then
+- files="$files $dest"
++ func_append files " $dest"
+ dest=$arg
+ continue
+ fi
+@@ -1887,10 +2814,9 @@
+ case $arg in
+ -d) isdir=yes ;;
+ -f)
+- case " $install_prog " in
+- *[\\\ /]cp\ *) ;;
+- *) prev=$arg ;;
+- esac
++ if $install_cp; then :; else
++ prev=$arg
++ fi
+ ;;
+ -g | -m | -o)
+ prev=$arg
+@@ -1904,6 +2830,10 @@
+ *)
+ # If the previous option needed an argument, then skip it.
+ if test -n "$prev"; then
++ if test "x$prev" = x-m && test -n "$install_override_mode"; then
++ arg2=$install_override_mode
++ no_mode=false
++ fi
+ prev=
+ else
+ dest=$arg
+@@ -1914,7 +2844,11 @@
+
+ # Aesthetically quote the argument.
+ func_quote_for_eval "$arg"
+- install_prog="$install_prog $func_quote_for_eval_result"
++ func_append install_prog " $func_quote_for_eval_result"
++ if test -n "$arg2"; then
++ func_quote_for_eval "$arg2"
++ fi
++ func_append install_shared_prog " $func_quote_for_eval_result"
+ done
+
+ test -z "$install_prog" && \
+@@ -1923,6 +2857,13 @@
+ test -n "$prev" && \
+ func_fatal_help "the \`$prev' option requires an argument"
+
++ if test -n "$install_override_mode" && $no_mode; then
++ if $install_cp; then :; else
++ func_quote_for_eval "$install_override_mode"
++ func_append install_shared_prog " -m $func_quote_for_eval_result"
++ fi
++ fi
++
+ if test -z "$files"; then
+ if test -z "$dest"; then
+ func_fatal_help "no file or destination specified"
+@@ -1977,10 +2918,13 @@
+ case $file in
+ *.$libext)
+ # Do the static libraries later.
+- staticlibs="$staticlibs $file"
++ func_append staticlibs " $file"
+ ;;
+
+ *.la)
++ func_resolve_sysroot "$file"
++ file=$func_resolve_sysroot_result
++
+ # 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"
+@@ -1994,23 +2938,23 @@
+ if test "X$destdir" = "X$libdir"; then
+ case "$current_libdirs " in
+ *" $libdir "*) ;;
+- *) current_libdirs="$current_libdirs $libdir" ;;
++ *) func_append current_libdirs " $libdir" ;;
+ esac
+ else
+ # Note the libdir as a future libdir.
+ case "$future_libdirs " in
+ *" $libdir "*) ;;
+- *) future_libdirs="$future_libdirs $libdir" ;;
++ *) func_append future_libdirs " $libdir" ;;
+ esac
+ fi
+
+ func_dirname "$file" "/" ""
+ dir="$func_dirname_result"
+- dir="$dir$objdir"
++ func_append 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\$%%"`
++ inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
+
+ # Don't allow the user to place us outside of our expected
+ # location b/c this prevents finding dependent libraries that
+@@ -2023,9 +2967,9 @@
+
+ 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%"`
++ relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+ else
+- relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
++ relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
+ fi
+
+ func_warning "relinking \`$file'"
+@@ -2043,7 +2987,7 @@
+ test -n "$relink_command" && srcname="$realname"T
+
+ # Install the shared library and build the symlinks.
+- func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
++ func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
+ 'exit $?'
+ tstripme="$stripme"
+ case $host_os in
+@@ -2083,7 +3027,7 @@
+ func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
+
+ # Maybe install the static library, too.
+- test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
++ test -n "$old_library" && func_append staticlibs " $dir/$old_library"
+ ;;
+
+ *.lo)
+@@ -2183,7 +3127,7 @@
+ if test -f "$lib"; then
+ func_source "$lib"
+ fi
+- libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
++ libfile="$libdir/"`$ECHO "$lib" | $SED '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
+@@ -2202,7 +3146,7 @@
+ file="$func_basename_result"
+ outputname="$tmpdir/$file"
+ # Replace the output file specification.
+- relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
++ relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
+
+ $opt_silent || {
+ func_quote_for_expand "$relink_command"
+@@ -2221,7 +3165,7 @@
+ }
+ else
+ # Install the binary that we compiled earlier.
+- file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
++ file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
+ fi
+ fi
+
+@@ -2280,7 +3224,7 @@
+ fi
+ }
+
+-test "$mode" = install && func_mode_install ${1+"$@"}
++test "$opt_mode" = install && func_mode_install ${1+"$@"}
+
+
+ # func_generate_dlsyms outputname originator pic_p
+@@ -2323,6 +3267,22 @@
+ extern \"C\" {
+ #endif
+
++#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
++#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
++#endif
++
++/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
++#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
++/* DATA imports from DLLs on WIN32 con't be const, because runtime
++ relocations are performed -- see ld's documentation on pseudo-relocs. */
++# define LT_DLSYM_CONST
++#elif defined(__osf__)
++/* This system does not cope well with relocations in const data. */
++# define LT_DLSYM_CONST
++#else
++# define LT_DLSYM_CONST const
++#endif
++
+ /* External symbol declarations for the compiler. */\
+ "
+
+@@ -2332,10 +3292,11 @@
+ $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
+
+ # Add our own program objects to the symbol list.
+- progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
++ progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$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'"
++ func_to_tool_file "$progfile" func_convert_file_msys_to_w32
++ func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
++ $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
+ done
+
+ if test -n "$exclude_expsyms"; then
+@@ -2371,7 +3332,7 @@
+ eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ case $host in
+- *cygwin | *mingw* | *cegcc* )
++ *cygwin* | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+ ;;
+@@ -2384,10 +3345,52 @@
+ 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'"
+- }
++ case $host in
++ *cygwin* | *mingw* | *cegcc* )
++ # if an import library, we need to obtain dlname
++ if func_win32_import_lib_p "$dlprefile"; then
++ func_tr_sh "$dlprefile"
++ eval "curr_lafile=\$libfile_$func_tr_sh_result"
++ dlprefile_dlbasename=""
++ if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
++ # Use subshell, to avoid clobbering current variable values
++ dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
++ if test -n "$dlprefile_dlname" ; then
++ func_basename "$dlprefile_dlname"
++ dlprefile_dlbasename="$func_basename_result"
++ else
++ # no lafile. user explicitly requested -dlpreopen .
++ $sharedlib_from_linklib_cmd "$dlprefile"
++ dlprefile_dlbasename=$sharedlib_from_linklib_result
++ fi
++ fi
++ $opt_dry_run || {
++ if test -n "$dlprefile_dlbasename" ; then
++ eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
++ else
++ func_warning "Could not compute DLL name from $name"
++ eval '$ECHO ": $name " >> "$nlist"'
++ fi
++ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
++ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
++ $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
++ }
++ else # not an import lib
++ $opt_dry_run || {
++ eval '$ECHO ": $name " >> "$nlist"'
++ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
++ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
++ }
++ fi
++ ;;
++ *)
++ $opt_dry_run || {
++ eval '$ECHO ": $name " >> "$nlist"'
++ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
++ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
++ }
++ ;;
++ esac
+ done
+
+ $opt_dry_run || {
+@@ -2415,36 +3418,19 @@
+ if test -f "$nlist"S; then
+ eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
+ else
+- $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
++ echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
+ fi
+
+- $ECHO >> "$output_objdir/$my_dlsyms" "\
++ echo >> "$output_objdir/$my_dlsyms" "\
+
+ /* 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
+-
+- $ECHO >> "$output_objdir/$my_dlsyms" "\
+-extern $lt_dlsym_const lt_dlsymlist
++extern LT_DLSYM_CONST lt_dlsymlist
+ lt_${my_prefix}_LTX_preloaded_symbols[];
+-$lt_dlsym_const lt_dlsymlist
++LT_DLSYM_CONST lt_dlsymlist
+ lt_${my_prefix}_LTX_preloaded_symbols[] =
+ {\
+ { \"$my_originator\", (void *) 0 },"
+@@ -2457,7 +3443,7 @@
+ eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ esac
+- $ECHO >> "$output_objdir/$my_dlsyms" "\
++ echo >> "$output_objdir/$my_dlsyms" "\
+ {0, (void *) 0}
+ };
+
+@@ -2500,7 +3486,7 @@
+ for arg in $LTCFLAGS; do
+ case $arg in
+ -pie | -fpie | -fPIE) ;;
+- *) symtab_cflags="$symtab_cflags $arg" ;;
++ *) func_append symtab_cflags " $arg" ;;
+ esac
+ done
+
+@@ -2515,16 +3501,16 @@
+ 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%"`
++ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
++ finalize_command=`$ECHO "$finalize_command" | $SED "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%"`
++ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
++ finalize_command=`$ECHO "$finalize_command" | $SED "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%"`
++ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
++ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ ;;
+ esac
+ ;;
+@@ -2538,8 +3524,8 @@
+ # really was required.
+
+ # Nullify the symbol file.
+- compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+- finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
++ compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
++ finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
+ fi
+ }
+
+@@ -2549,6 +3535,7 @@
+ # 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.
++# Despite the name, also deal with 64 bit binaries.
+ func_win32_libid ()
+ {
+ $opt_debug
+@@ -2559,9 +3546,11 @@
+ win32_libid_type="x86 archive import"
+ ;;
+ *ar\ archive*) # could be an import, or static
++ # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
+ 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 |
++ $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
++ func_to_tool_file "$1" func_convert_file_msys_to_w32
++ win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
+ $SED -n -e '
+ 1,100{
+ / I /{
+@@ -2590,6 +3579,131 @@
+ $ECHO "$win32_libid_type"
+ }
+
++# func_cygming_dll_for_implib ARG
++#
++# Platform-specific function to extract the
++# name of the DLL associated with the specified
++# import library ARG.
++# Invoked by eval'ing the libtool variable
++# $sharedlib_from_linklib_cmd
++# Result is available in the variable
++# $sharedlib_from_linklib_result
++func_cygming_dll_for_implib ()
++{
++ $opt_debug
++ sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
++}
++
++# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
++#
++# The is the core of a fallback implementation of a
++# platform-specific function to extract the name of the
++# DLL associated with the specified import library LIBNAME.
++#
++# SECTION_NAME is either .idata$6 or .idata$7, depending
++# on the platform and compiler that created the implib.
++#
++# Echos the name of the DLL associated with the
++# specified import library.
++func_cygming_dll_for_implib_fallback_core ()
++{
++ $opt_debug
++ match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
++ $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
++ $SED '/^Contents of section '"$match_literal"':/{
++ # Place marker at beginning of archive member dllname section
++ s/.*/====MARK====/
++ p
++ d
++ }
++ # These lines can sometimes be longer than 43 characters, but
++ # are always uninteresting
++ /:[ ]*file format pe[i]\{,1\}-/d
++ /^In archive [^:]*:/d
++ # Ensure marker is printed
++ /^====MARK====/p
++ # Remove all lines with less than 43 characters
++ /^.\{43\}/!d
++ # From remaining lines, remove first 43 characters
++ s/^.\{43\}//' |
++ $SED -n '
++ # Join marker and all lines until next marker into a single line
++ /^====MARK====/ b para
++ H
++ $ b para
++ b
++ :para
++ x
++ s/\n//g
++ # Remove the marker
++ s/^====MARK====//
++ # Remove trailing dots and whitespace
++ s/[\. \t]*$//
++ # Print
++ /./p' |
++ # we now have a list, one entry per line, of the stringified
++ # contents of the appropriate section of all members of the
++ # archive which possess that section. Heuristic: eliminate
++ # all those which have a first or second character that is
++ # a '.' (that is, objdump's representation of an unprintable
++ # character.) This should work for all archives with less than
++ # 0x302f exports -- but will fail for DLLs whose name actually
++ # begins with a literal '.' or a single character followed by
++ # a '.'.
++ #
++ # Of those that remain, print the first one.
++ $SED -e '/^\./d;/^.\./d;q'
++}
++
++# func_cygming_gnu_implib_p ARG
++# This predicate returns with zero status (TRUE) if
++# ARG is a GNU/binutils-style import library. Returns
++# with nonzero status (FALSE) otherwise.
++func_cygming_gnu_implib_p ()
++{
++ $opt_debug
++ func_to_tool_file "$1" func_convert_file_msys_to_w32
++ func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
++ test -n "$func_cygming_gnu_implib_tmp"
++}
++
++# func_cygming_ms_implib_p ARG
++# This predicate returns with zero status (TRUE) if
++# ARG is an MS-style import library. Returns
++# with nonzero status (FALSE) otherwise.
++func_cygming_ms_implib_p ()
++{
++ $opt_debug
++ func_to_tool_file "$1" func_convert_file_msys_to_w32
++ func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
++ test -n "$func_cygming_ms_implib_tmp"
++}
++
++# func_cygming_dll_for_implib_fallback ARG
++# Platform-specific function to extract the
++# name of the DLL associated with the specified
++# import library ARG.
++#
++# This fallback implementation is for use when $DLLTOOL
++# does not support the --identify-strict option.
++# Invoked by eval'ing the libtool variable
++# $sharedlib_from_linklib_cmd
++# Result is available in the variable
++# $sharedlib_from_linklib_result
++func_cygming_dll_for_implib_fallback ()
++{
++ $opt_debug
++ if func_cygming_gnu_implib_p "$1" ; then
++ # binutils import library
++ sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
++ elif func_cygming_ms_implib_p "$1" ; then
++ # ms-generated import library
++ sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
++ else
++ # unknown
++ sharedlib_from_linklib_result=""
++ fi
++}
+
+
+ # func_extract_an_archive dir oldlib
+@@ -2598,7 +3712,18 @@
+ $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 test "$lock_old_archive_extraction" = yes; then
++ lockfile=$f_ex_an_ar_oldlib.lock
++ until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
++ func_echo "Waiting for $lockfile to be removed"
++ sleep 2
++ done
++ fi
++ func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
++ 'stat=$?; rm -f "$lockfile"; exit $stat'
++ if test "$lock_old_archive_extraction" = yes; then
++ $opt_dry_run || rm -f "$lockfile"
++ fi
+ if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+ :
+ else
+@@ -2669,7 +3794,7 @@
+ darwin_file=
+ darwin_files=
+ for darwin_file in $darwin_filelist; do
+- darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
++ darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
+ $LIPO -create -output "$darwin_file" $darwin_files
+ done # $darwin_filelist
+ $RM -rf unfat-$$
+@@ -2684,25 +3809,30 @@
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ ;;
+ esac
+- my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
++ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
+ done
+
+ func_extract_archives_result="$my_oldobjs"
+ }
+
+
+-
+-# func_emit_wrapper_part1 [arg=no]
++# func_emit_wrapper [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
++# 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=${1-no}
+
+ $ECHO "\
+ #! $SHELL
+@@ -2718,7 +3848,6 @@
+
+ # 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
+@@ -2749,31 +3878,132 @@
+ 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\
++ file=\"\$0\""
++
++ qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
++ $ECHO "\
++
++# A function that is used when there is no print builtin or printf.
++func_fallback_echo ()
++{
++ eval 'cat <<_LTECHO_EOF
++\$1
++_LTECHO_EOF'
++}
++ ECHO=\"$qECHO\"
++ fi
++
++# Very basic option parsing. These options are (a) specific to
++# the libtool wrapper, (b) are identical between the wrapper
++# /script/ and the wrapper /executable/ which is used only on
++# windows platforms, and (c) all begin with the string "--lt-"
++# (application programs are unlikely to have options which match
++# this pattern).
++#
++# There are only two supported options: --lt-debug and
++# --lt-dump-script. There is, deliberately, no --lt-help.
++#
++# The first argument to this parsing function should be the
++# script's $0 value, followed by "$@".
++lt_option_debug=
++func_parse_lt_options ()
++{
++ lt_script_arg0=\$0
++ shift
++ for lt_opt
++ do
++ case \"\$lt_opt\" in
++ --lt-debug) lt_option_debug=1 ;;
++ --lt-dump-script)
++ lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
++ test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
++ lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
++ cat \"\$lt_dump_D/\$lt_dump_F\"
++ exit 0
++ ;;
++ --lt-*)
++ \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
++ exit 1
++ ;;
++ esac
++ done
++
++ # Print the debug banner immediately:
++ if test -n \"\$lt_option_debug\"; then
++ echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
++ fi
++}
++
++# Used when --lt-debug. Prints its arguments to stdout
++# (redirection is the responsibility of the caller)
++func_lt_dump_args ()
++{
++ lt_dump_args_N=1;
++ for lt_arg
++ do
++ \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
++ lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
++ done
++}
++
++# Core function for launching the target application
++func_exec_program_core ()
++{
+ "
+- $ECHO "\
++ case $host in
++ # Backslashes separate directories on plain windows
++ *-*-mingw | *-*-os2* | *-cegcc*)
++ $ECHO "\
++ if test -n \"\$lt_option_debug\"; then
++ \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
++ func_lt_dump_args \${1+\"\$@\"} 1>&2
++ fi
++ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
++"
++ ;;
++
++ *)
++ $ECHO "\
++ if test -n \"\$lt_option_debug\"; then
++ \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
++ func_lt_dump_args \${1+\"\$@\"} 1>&2
++ fi
++ exec \"\$progdir/\$program\" \${1+\"\$@\"}
++"
++ ;;
++ esac
++ $ECHO "\
++ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
++ exit 1
++}
++
++# A function to encapsulate launching the target application
++# Strips options in the --lt-* namespace from \$@ and
++# launches target application with the remaining arguments.
++func_exec_program ()
++{
++ for lt_wr_arg
++ do
++ case \$lt_wr_arg in
++ --lt-*) ;;
++ *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
++ esac
++ shift
++ done
++ func_exec_program_core \${1+\"\$@\"}
++}
++
++ # Parse options
++ func_parse_lt_options \"\$0\" \${1+\"\$@\"}
+
+ # Find the directory that this script lives in.
+- thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
++ thisdir=\`\$ECHO \"\$file\" | $SED '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'\`
++ file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
+ while test -n \"\$file\"; do
+- destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
++ destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
+
+ # If there was a directory component, then change thisdir.
+ if test \"x\$destdir\" != \"x\$file\"; then
+@@ -2783,30 +4013,13 @@
+ esac
+ fi
+
+- file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+- file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
++ file=\`\$ECHO \"\$file\" | $SED '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
+-
+- $ECHO "\
+
+ # Usually 'no', except on cygwin/mingw when embedded into
+ # the cwrapper.
+- WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1
++ WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
+ if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
+ # special case for '.'
+ if test \"\$thisdir\" = \".\"; then
+@@ -2814,7 +4027,7 @@
+ fi
+ # remove .libs from thisdir
+ case \"\$thisdir\" in
+- *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
++ *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
+ $objdir ) thisdir=. ;;
+ esac
+ fi
+@@ -2869,6 +4082,18 @@
+
+ if test -f \"\$progdir/\$program\"; then"
+
++ # fixup the dll searchpath if we need to.
++ #
++ # Fix the DLL searchpath if we need to. Do this before prepending
++ # to shlibpath, because on Windows, both are PATH and uninstalled
++ # libraries must come first.
++ if test -n "$dllsearchpath"; then
++ $ECHO "\
++ # Add the dll search path components to the executable PATH
++ PATH=$dllsearchpath:\$PATH
++"
++ fi
++
+ # Export our shlibpath_var if we have one.
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ $ECHO "\
+@@ -2877,253 +4102,28 @@
+
+ # 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/::*\$//'\`
++ $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
+
+ 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
+-
+ $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
++ func_exec_program \${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
++ \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+ exit 1
+ fi
+ fi\
+ "
+ }
+-# end: func_emit_wrapper_part2
+-
+-
+-# 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}"
+-}
+-
+-
+-# 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
+-#
+-# 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
+@@ -3141,41 +4141,71 @@
+
+ This wrapper executable should never be moved out of the build directory.
+ If it is, it will not operate correctly.
+-
+- 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"
++#ifdef _MSC_VER
++# define _CRT_SECURE_NO_DEPRECATE 1
++#endif
+ #include
+ #include
+ #ifdef _MSC_VER
+ # include
+ # include
+ # include
+-# define setmode _setmode
+ #else
+ # include
+ # include
+ # ifdef __CYGWIN__
+ # include
+-# define HAVE_SETENV
+-# ifdef __STRICT_ANSI__
++# endif
++#endif
++#include
++#include
++#include
++#include
++#include
++#include
++#include
++#include
++
++/* declarations of non-ANSI functions */
++#if defined(__MINGW32__)
++# ifdef __STRICT_ANSI__
++int _putenv (const char *);
++# endif
++#elif defined(__CYGWIN__)
++# ifdef __STRICT_ANSI__
+ char *realpath (const char *, char *);
+ int putenv (char *);
+ int setenv (const char *, const char *, int);
+-# endif
+ # endif
++/* #elif defined (other platforms) ... */
++#endif
++
++/* portability defines, excluding path handling macros */
++#if defined(_MSC_VER)
++# define setmode _setmode
++# define stat _stat
++# define chmod _chmod
++# define getcwd _getcwd
++# define putenv _putenv
++# define S_IXUSR _S_IEXEC
++# ifndef _INTPTR_T_DEFINED
++# define _INTPTR_T_DEFINED
++# define intptr_t int
++# endif
++#elif defined(__MINGW32__)
++# define setmode _setmode
++# define stat _stat
++# define chmod _chmod
++# define getcwd _getcwd
++# define putenv _putenv
++#elif defined(__CYGWIN__)
++# define HAVE_SETENV
++# define FOPEN_WB "wb"
++/* #elif defined (other platforms) ... */
+ #endif
+-#include
+-#include
+-#include
+-#include
+-#include
+-#include
+-#include
+-#include
+
+ #if defined(PATH_MAX)
+ # define LT_PATHMAX PATH_MAX
+@@ -3192,14 +4222,7 @@
+ # define S_IXGRP 0
+ #endif
+
+-#ifdef _MSC_VER
+-# define S_IXUSR _S_IEXEC
+-# define stat _stat
+-# ifndef _INTPTR_T_DEFINED
+-# define intptr_t int
+-# endif
+-#endif
+-
++/* path handling portability macros */
+ #ifndef DIR_SEPARATOR
+ # define DIR_SEPARATOR '/'
+ # define PATH_SEPARATOR ':'
+@@ -3230,10 +4253,6 @@
+ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+ #endif /* PATH_SEPARATOR_2 */
+
+-#ifdef __CYGWIN__
+-# define FOPEN_WB "wb"
+-#endif
+-
+ #ifndef FOPEN_WB
+ # define FOPEN_WB "w"
+ #endif
+@@ -3246,22 +4265,13 @@
+ if (stale) { free ((void *) stale); stale = 0; } \
+ } while (0)
+
+-#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);
+-}
++#if defined(LT_DEBUGWRAPPER)
++static int lt_debug = 1;
+ #else
+-# define LTWRAPPER_DEBUGPRINTF(args)
++static int lt_debug = 0;
+ #endif
+
+-const char *program_name = NULL;
++const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
+
+ void *xmalloc (size_t num);
+ char *xstrdup (const char *string);
+@@ -3271,41 +4281,27 @@
+ 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_debugprintf (const char *file, int line, const char *fmt, ...);
++void lt_fatal (const char *file, int line, const char *message, ...);
++static const char *nonnull (const char *s);
++static const char *nonempty (const char *s);
+ 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);
+-
+-static const char *script_text_part1 =
+-EOF
+-
+- func_emit_wrapper_part1 yes |
+- $SED -e 's/\([\\"]\)/\\\1/g' \
+- -e 's/^/ "/' -e 's/$/\\n"/'
+- echo ";"
+- cat <")));
++ lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
++ nonnull (lt_argv_zero));
+ for (i = 0; i < newargc; i++)
+ {
+- LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : "")));
++ lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
++ i, nonnull (newargz[i]));
+ }
+
+ EOF
+@@ -3560,11 +4517,14 @@
+ mingw*)
+ cat <<"EOF"
+ /* execv doesn't actually work on mingw as expected on unix */
++ newargz = prepare_spawn (newargz);
+ 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));
++ lt_debugprintf (__FILE__, __LINE__,
++ "(main) failed to launch target \"%s\": %s\n",
++ lt_argv_zero, nonnull (strerror (errno)));
+ return 127;
+ }
+ return rval;
+@@ -3586,7 +4546,7 @@
+ {
+ void *p = (void *) malloc (num);
+ if (!p)
+- lt_fatal ("Memory exhausted");
++ lt_fatal (__FILE__, __LINE__, "memory exhausted");
+
+ return p;
+ }
+@@ -3620,8 +4580,8 @@
+ {
+ struct stat st;
+
+- LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n",
+- path ? (*path ? path : "EMPTY!") : "NULL!"));
++ lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
++ nonempty (path));
+ if ((!path) || (!*path))
+ return 0;
+
+@@ -3638,8 +4598,8 @@
+ int rval = 0;
+ struct stat st;
+
+- LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n",
+- path ? (*path ? path : "EMPTY!") : "NULL!"));
++ lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
++ nonempty (path));
+ if ((!path) || (!*path))
+ return 0;
+
+@@ -3665,8 +4625,8 @@
+ int tmp_len;
+ char *concat_name;
+
+- LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n",
+- wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
++ lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
++ nonempty (wrapper));
+
+ if ((wrapper == NULL) || (*wrapper == '\0'))
+ return NULL;
+@@ -3719,7 +4679,8 @@
+ {
+ /* empty path: current directory */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+- lt_fatal ("getcwd failed");
++ lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
++ nonnull (strerror (errno)));
+ tmp_len = strlen (tmp);
+ concat_name =
+ XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+@@ -3744,7 +4705,8 @@
+ }
+ /* Relative path | not found in path: prepend cwd */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+- lt_fatal ("getcwd failed");
++ lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
++ nonnull (strerror (errno)));
+ tmp_len = strlen (tmp);
+ concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+@@ -3770,8 +4732,9 @@
+ int has_symlinks = 0;
+ while (strlen (tmp_pathspec) && !has_symlinks)
+ {
+- LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
+- tmp_pathspec));
++ lt_debugprintf (__FILE__, __LINE__,
++ "checking path component for symlinks: %s\n",
++ tmp_pathspec);
+ if (lstat (tmp_pathspec, &s) == 0)
+ {
+ if (S_ISLNK (s.st_mode) != 0)
+@@ -3793,8 +4756,9 @@
+ }
+ else
+ {
+- char *errstr = strerror (errno);
+- lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
++ lt_fatal (__FILE__, __LINE__,
++ "error accessing file \"%s\": %s",
++ tmp_pathspec, nonnull (strerror (errno)));
+ }
+ }
+ XFREE (tmp_pathspec);
+@@ -3807,7 +4771,8 @@
+ tmp_pathspec = realpath (pathspec, buf);
+ if (tmp_pathspec == 0)
+ {
+- lt_fatal ("Could not follow symlinks for %s", pathspec);
++ lt_fatal (__FILE__, __LINE__,
++ "could not follow symlinks for %s", pathspec);
+ }
+ return xstrdup (tmp_pathspec);
+ #endif
+@@ -3833,11 +4798,25 @@
+ return str;
+ }
+
++void
++lt_debugprintf (const char *file, int line, const char *fmt, ...)
++{
++ va_list args;
++ if (lt_debug)
++ {
++ (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
++ va_start (args, fmt);
++ (void) vfprintf (stderr, fmt, args);
++ va_end (args);
++ }
++}
++
+ static void
+-lt_error_core (int exit_status, const char *mode,
++lt_error_core (int exit_status, const char *file,
++ int line, const char *mode,
+ const char *message, va_list ap)
+ {
+- fprintf (stderr, "%s: %s: ", program_name, mode);
++ fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
+ vfprintf (stderr, message, ap);
+ fprintf (stderr, ".\n");
+
+@@ -3846,20 +4825,32 @@
+ }
+
+ void
+-lt_fatal (const char *message, ...)
++lt_fatal (const char *file, int line, const char *message, ...)
+ {
+ va_list ap;
+ va_start (ap, message);
+- lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
++ lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
+ va_end (ap);
+ }
+
++static const char *
++nonnull (const char *s)
++{
++ return s ? s : "(null)";
++}
++
++static const char *
++nonempty (const char *s)
++{
++ return (s && !*s) ? "(empty)" : nonnull (s);
++}
++
+ void
+ lt_setenv (const char *name, const char *value)
+ {
+- LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
+- (name ? name : ""),
+- (value ? value : "")));
++ lt_debugprintf (__FILE__, __LINE__,
++ "(lt_setenv) setting '%s' to '%s'\n",
++ nonnull (name), nonnull (value));
+ {
+ #ifdef HAVE_SETENV
+ /* always make a copy, for consistency with !HAVE_SETENV */
+@@ -3904,95 +4895,12 @@
+ return new_value;
+ }
+
+-int
+-lt_split_name_value (const char *arg, char** name, char** value)
+-{
+- const char *p;
+- int len;
+- if (!arg || !*arg)
+- return 1;
+-
+- p = strchr (arg, (int)'=');
+-
+- if (!p)
+- return 1;
+-
+- *value = xstrdup (++p);
+-
+- len = strlen (arg) - strlen (*value);
+- *name = XMALLOC (char, len);
+- strncpy (*name, arg, len-1);
+- (*name)[len - 1] = '\0';
+-
+- return 0;
+-}
+-
+-void
+-lt_opt_process_env_set (const char *arg)
+-{
+- char *name = NULL;
+- char *value = NULL;
+-
+- if (lt_split_name_value (arg, &name, &value) != 0)
+- {
+- XFREE (name);
+- XFREE (value);
+- lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
+- }
+-
+- lt_setenv (name, value);
+- XFREE (name);
+- XFREE (value);
+-}
+-
+-void
+-lt_opt_process_env_prepend (const char *arg)
+-{
+- char *name = NULL;
+- char *value = NULL;
+- char *new_value = NULL;
+-
+- if (lt_split_name_value (arg, &name, &value) != 0)
+- {
+- XFREE (name);
+- XFREE (value);
+- lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
+- }
+-
+- new_value = lt_extend_str (getenv (name), value, 0);
+- lt_setenv (name, new_value);
+- XFREE (new_value);
+- XFREE (name);
+- XFREE (value);
+-}
+-
+-void
+-lt_opt_process_env_append (const char *arg)
+-{
+- char *name = NULL;
+- char *value = NULL;
+- char *new_value = NULL;
+-
+- if (lt_split_name_value (arg, &name, &value) != 0)
+- {
+- XFREE (name);
+- XFREE (value);
+- lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
+- }
+-
+- new_value = lt_extend_str (getenv (name), value, 1);
+- lt_setenv (name, new_value);
+- XFREE (new_value);
+- XFREE (name);
+- XFREE (value);
+-}
+-
+ 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 : ""),
+- (value ? value : "")));
++ lt_debugprintf (__FILE__, __LINE__,
++ "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
++ nonnull (name), nonnull (value));
+
+ if (name && *name && value && *value)
+ {
+@@ -4011,9 +4919,9 @@
+ 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 : ""),
+- (value ? value : "")));
++ lt_debugprintf (__FILE__, __LINE__,
++ "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
++ nonnull (name), nonnull (value));
+
+ if (name && *name && value && *value)
+ {
+@@ -4023,11 +4931,152 @@
+ }
+ }
+
++EOF
++ case $host_os in
++ mingw*)
++ cat <<"EOF"
++
++/* Prepares an argument vector before calling spawn().
++ Note that spawn() does not by itself call the command interpreter
++ (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
++ ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
++ GetVersionEx(&v);
++ v.dwPlatformId == VER_PLATFORM_WIN32_NT;
++ }) ? "cmd.exe" : "command.com").
++ Instead it simply concatenates the arguments, separated by ' ', and calls
++ CreateProcess(). We must quote the arguments since Win32 CreateProcess()
++ interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
++ special way:
++ - Space and tab are interpreted as delimiters. They are not treated as
++ delimiters if they are surrounded by double quotes: "...".
++ - Unescaped double quotes are removed from the input. Their only effect is
++ that within double quotes, space and tab are treated like normal
++ characters.
++ - Backslashes not followed by double quotes are not special.
++ - But 2*n+1 backslashes followed by a double quote become
++ n backslashes followed by a double quote (n >= 0):
++ \" -> "
++ \\\" -> \"
++ \\\\\" -> \\"
++ */
++#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
++#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
++char **
++prepare_spawn (char **argv)
++{
++ size_t argc;
++ char **new_argv;
++ size_t i;
++
++ /* Count number of arguments. */
++ for (argc = 0; argv[argc] != NULL; argc++)
++ ;
++
++ /* Allocate new argument vector. */
++ new_argv = XMALLOC (char *, argc + 1);
++
++ /* Put quoted arguments into the new argument vector. */
++ for (i = 0; i < argc; i++)
++ {
++ const char *string = argv[i];
++
++ if (string[0] == '\0')
++ new_argv[i] = xstrdup ("\"\"");
++ else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
++ {
++ int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
++ size_t length;
++ unsigned int backslashes;
++ const char *s;
++ char *quoted_string;
++ char *p;
++
++ length = 0;
++ backslashes = 0;
++ if (quote_around)
++ length++;
++ for (s = string; *s != '\0'; s++)
++ {
++ char c = *s;
++ if (c == '"')
++ length += backslashes + 1;
++ length++;
++ if (c == '\\')
++ backslashes++;
++ else
++ backslashes = 0;
++ }
++ if (quote_around)
++ length += backslashes + 1;
++
++ quoted_string = XMALLOC (char, length + 1);
++
++ p = quoted_string;
++ backslashes = 0;
++ if (quote_around)
++ *p++ = '"';
++ for (s = string; *s != '\0'; s++)
++ {
++ char c = *s;
++ if (c == '"')
++ {
++ unsigned int j;
++ for (j = backslashes + 1; j > 0; j--)
++ *p++ = '\\';
++ }
++ *p++ = c;
++ if (c == '\\')
++ backslashes++;
++ else
++ backslashes = 0;
++ }
++ if (quote_around)
++ {
++ unsigned int j;
++ for (j = backslashes; j > 0; j--)
++ *p++ = '\\';
++ *p++ = '"';
++ }
++ *p = '\0';
++
++ new_argv[i] = quoted_string;
++ }
++ else
++ new_argv[i] = (char *) string;
++ }
++ new_argv[argc] = NULL;
++
++ return new_argv;
++}
++EOF
++ ;;
++ esac
++
++ cat <<"EOF"
++void lt_dump_script (FILE* f)
++{
++EOF
++ func_emit_wrapper yes |
++ $SED -e 's/\([\\"]\)/\\\1/g' \
++ -e 's/^/ fputs ("/' -e 's/$/\\n", f);/'
+
++ cat <<"EOF"
++}
+ EOF
+ }
+ # end: func_emit_cwrapperexe_src
+
++# func_win32_import_lib_p ARG
++# True if ARG is an import lib, as indicated by $file_magic_cmd
++func_win32_import_lib_p ()
++{
++ $opt_debug
++ case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
++ *import*) : ;;
++ *) false ;;
++ esac
++}
++
+ # func_mode_link arg...
+ func_mode_link ()
+ {
+@@ -4072,6 +5121,7 @@
+ new_inherited_linker_flags=
+
+ avoid_version=no
++ bindir=
+ dlfiles=
+ dlprefiles=
+ dlself=no
+@@ -4164,6 +5214,11 @@
+ esac
+
+ case $prev in
++ bindir)
++ bindir="$arg"
++ prev=
++ continue
++ ;;
+ dlfiles|dlprefiles)
+ if test "$preload" = no; then
+ # Add the symbol object into the linking commands.
+@@ -4195,9 +5250,9 @@
+ ;;
+ *)
+ if test "$prev" = dlfiles; then
+- dlfiles="$dlfiles $arg"
++ func_append dlfiles " $arg"
+ else
+- dlprefiles="$dlprefiles $arg"
++ func_append dlprefiles " $arg"
+ fi
+ prev=
+ continue
+@@ -4221,7 +5276,7 @@
+ *-*-darwin*)
+ case "$deplibs " in
+ *" $qarg.ltframework "*) ;;
+- *) deplibs="$deplibs $qarg.ltframework" # this is fixed later
++ *) func_append deplibs " $qarg.ltframework" # this is fixed later
+ ;;
+ esac
+ ;;
+@@ -4240,7 +5295,7 @@
+ moreargs=
+ for fil in `cat "$save_arg"`
+ do
+-# moreargs="$moreargs $fil"
++# func_append moreargs " $fil"
+ arg=$fil
+ # A libtool-controlled object.
+
+@@ -4269,7 +5324,7 @@
+
+ if test "$prev" = dlfiles; then
+ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+- dlfiles="$dlfiles $pic_object"
++ func_append dlfiles " $pic_object"
+ prev=
+ continue
+ else
+@@ -4281,7 +5336,7 @@
+ # CHECK ME: I think I busted this. -Ossama
+ if test "$prev" = dlprefiles; then
+ # Preload the old-style object.
+- dlprefiles="$dlprefiles $pic_object"
++ func_append dlprefiles " $pic_object"
+ prev=
+ fi
+
+@@ -4351,12 +5406,12 @@
+ if test "$prev" = rpath; then
+ case "$rpath " in
+ *" $arg "*) ;;
+- *) rpath="$rpath $arg" ;;
++ *) func_append rpath " $arg" ;;
+ esac
+ else
+ case "$xrpath " in
+ *" $arg "*) ;;
+- *) xrpath="$xrpath $arg" ;;
++ *) func_append xrpath " $arg" ;;
+ esac
+ fi
+ prev=
+@@ -4368,28 +5423,28 @@
+ continue
+ ;;
+ weak)
+- weak_libs="$weak_libs $arg"
++ func_append weak_libs " $arg"
+ prev=
+ continue
+ ;;
+ xcclinker)
+- linker_flags="$linker_flags $qarg"
+- compiler_flags="$compiler_flags $qarg"
++ func_append linker_flags " $qarg"
++ func_append compiler_flags " $qarg"
+ prev=
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
+ continue
+ ;;
+ xcompiler)
+- compiler_flags="$compiler_flags $qarg"
++ func_append 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"
++ func_append linker_flags " $qarg"
++ func_append compiler_flags " $wl$qarg"
+ prev=
+ func_append compile_command " $wl$qarg"
+ func_append finalize_command " $wl$qarg"
+@@ -4425,6 +5480,11 @@
+ continue
+ ;;
+
++ -bindir)
++ prev=bindir
++ continue
++ ;;
++
+ -dlopen)
+ prev=dlfiles
+ continue
+@@ -4475,15 +5535,16 @@
+ ;;
+
+ -L*)
+- func_stripname '-L' '' "$arg"
+- dir=$func_stripname_result
+- if test -z "$dir"; then
++ func_stripname "-L" '' "$arg"
++ if test -z "$func_stripname_result"; 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
++ func_resolve_sysroot "$func_stripname_result"
++ dir=$func_resolve_sysroot_result
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+@@ -4495,24 +5556,30 @@
+ ;;
+ esac
+ case "$deplibs " in
+- *" -L$dir "*) ;;
++ *" -L$dir "* | *" $arg "*)
++ # Will only happen for absolute or sysroot arguments
++ ;;
+ *)
+- deplibs="$deplibs -L$dir"
+- lib_search_path="$lib_search_path $dir"
++ # Preserve sysroot, but never include relative directories
++ case $dir in
++ [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
++ *) func_append deplibs " -L$dir" ;;
++ esac
++ func_append lib_search_path " $dir"
+ ;;
+ esac
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+- testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
++ testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
+ case :$dllsearchpath: in
+ *":$dir:"*) ;;
+ ::) dllsearchpath=$dir;;
+- *) dllsearchpath="$dllsearchpath:$dir";;
++ *) func_append dllsearchpath ":$dir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
+- *) dllsearchpath="$dllsearchpath:$testbindir";;
++ *) func_append dllsearchpath ":$testbindir";;
+ esac
+ ;;
+ esac
+@@ -4522,7 +5589,7 @@
+ -l*)
+ if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+ case $host in
+- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
++ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
+ # These systems don't actually have a C or math library (as such)
+ continue
+ ;;
+@@ -4536,7 +5603,7 @@
+ ;;
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # Rhapsody C and math libraries are in the System framework
+- deplibs="$deplibs System.ltframework"
++ func_append deplibs " System.ltframework"
+ continue
+ ;;
+ *-*-sco3.2v5* | *-*-sco5v6*)
+@@ -4556,7 +5623,7 @@
+ ;;
+ esac
+ fi
+- deplibs="$deplibs $arg"
++ func_append deplibs " $arg"
+ continue
+ ;;
+
+@@ -4568,8 +5635,8 @@
+ # 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"
++ -model|-arch|-isysroot|--sysroot)
++ func_append compiler_flags " $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ prev=xcompiler
+@@ -4577,12 +5644,12 @@
+ ;;
+
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+- compiler_flags="$compiler_flags $arg"
++ func_append 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" ;;
++ * ) func_append new_inherited_linker_flags " $arg" ;;
+ esac
+ continue
+ ;;
+@@ -4649,13 +5716,17 @@
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
++ =*)
++ func_stripname '=' '' "$dir"
++ dir=$lt_sysroot$func_stripname_result
++ ;;
+ *)
+ func_fatal_error "only absolute run-paths are allowed"
+ ;;
+ esac
+ case "$xrpath " in
+ *" $dir "*) ;;
+- *) xrpath="$xrpath $dir" ;;
++ *) func_append xrpath " $dir" ;;
+ esac
+ continue
+ ;;
+@@ -4708,8 +5779,8 @@
+ 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"
++ func_append arg " $func_quote_for_eval_result"
++ func_append compiler_flags " $func_quote_for_eval_result"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$arg"
+@@ -4724,9 +5795,9 @@
+ 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"
++ func_append arg " $wl$func_quote_for_eval_result"
++ func_append compiler_flags " $wl$func_quote_for_eval_result"
++ func_append linker_flags " $func_quote_for_eval_result"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$arg"
+@@ -4754,23 +5825,27 @@
+ arg="$func_quote_for_eval_result"
+ ;;
+
+- # -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
++ # Flags to be passed through unchanged, with rationale:
++ # -64, -mips[0-9] enable 64-bit mode for the SGI compiler
++ # -r[0-9][0-9]* specify processor for the SGI compiler
++ # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
++ # +DA*, +DD* enable 64-bit mode for the HP compiler
++ # -q* compiler args for the IBM compiler
++ # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
++ # -F/path path to uninstalled frameworks, gcc on darwin
++ # -p, -pg, --coverage, -fprofile-* profiling flags for GCC
++ # @file GCC response files
++ # -tp=* Portland pgcc target processor selection
++ # --sysroot=* for sysroot support
++ # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
++ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
++ -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
+ 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"
++ func_append compiler_flags " $arg"
+ continue
+ ;;
+
+@@ -4782,7 +5857,7 @@
+
+ *.$objext)
+ # A standard object.
+- objs="$objs $arg"
++ func_append objs " $arg"
+ ;;
+
+ *.lo)
+@@ -4813,7 +5888,7 @@
+
+ if test "$prev" = dlfiles; then
+ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+- dlfiles="$dlfiles $pic_object"
++ func_append dlfiles " $pic_object"
+ prev=
+ continue
+ else
+@@ -4825,7 +5900,7 @@
+ # CHECK ME: I think I busted this. -Ossama
+ if test "$prev" = dlprefiles; then
+ # Preload the old-style object.
+- dlprefiles="$dlprefiles $pic_object"
++ func_append dlprefiles " $pic_object"
+ prev=
+ fi
+
+@@ -4870,24 +5945,25 @@
+
+ *.$libext)
+ # An archive.
+- deplibs="$deplibs $arg"
+- old_deplibs="$old_deplibs $arg"
++ func_append deplibs " $arg"
++ func_append old_deplibs " $arg"
+ continue
+ ;;
+
+ *.la)
+ # A libtool-controlled library.
+
++ func_resolve_sysroot "$arg"
+ if test "$prev" = dlfiles; then
+ # This library was specified with -dlopen.
+- dlfiles="$dlfiles $arg"
++ func_append dlfiles " $func_resolve_sysroot_result"
+ prev=
+ elif test "$prev" = dlprefiles; then
+ # The library was specified with -dlpreopen.
+- dlprefiles="$dlprefiles $arg"
++ func_append dlprefiles " $func_resolve_sysroot_result"
+ prev=
+ else
+- deplibs="$deplibs $arg"
++ func_append deplibs " $func_resolve_sysroot_result"
+ fi
+ continue
+ ;;
+@@ -4925,7 +6001,7 @@
+
+ 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\'\`
++ eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
+ else
+ shlib_search_path=
+ fi
+@@ -4934,6 +6010,8 @@
+
+ func_dirname "$output" "/" ""
+ output_objdir="$func_dirname_result$objdir"
++ func_to_tool_file "$output_objdir/"
++ tool_output_objdir=$func_to_tool_file_result
+ # Create the object directory.
+ func_mkdir_p "$output_objdir"
+
+@@ -4954,12 +6032,12 @@
+ # 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
++ if $opt_preserve_dup_deps ; then
+ case "$libs " in
+- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
++ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+- libs="$libs $deplib"
++ func_append libs " $deplib"
+ done
+
+ if test "$linkmode" = lib; then
+@@ -4972,9 +6050,9 @@
+ 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" ;;
++ *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
+ esac
+- pre_post_deps="$pre_post_deps $pre_post_dep"
++ func_append pre_post_deps " $pre_post_dep"
+ done
+ fi
+ pre_post_deps=
+@@ -5033,7 +6111,10 @@
+ case $pass in
+ dlopen) libs="$dlfiles" ;;
+ dlpreopen) libs="$dlprefiles" ;;
+- link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
++ link)
++ libs="$deplibs %DEPLIBS%"
++ test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
++ ;;
+ esac
+ fi
+ if test "$linkmode,$pass" = "lib,dlpreopen"; then
+@@ -5041,17 +6122,19 @@
+ for lib in $dlprefiles; do
+ # Ignore non-libtool-libs
+ dependency_libs=
++ func_resolve_sysroot "$lib"
+ case $lib in
+- *.la) func_source "$lib" ;;
++ *.la) func_source "$func_resolve_sysroot_result" ;;
+ esac
+
+ # 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"`
++ func_basename "$deplib"
++ deplib_base=$func_basename_result
+ case " $weak_libs " in
+ *" $deplib_base "*) ;;
+- *) deplibs="$deplibs $deplib" ;;
++ *) func_append deplibs " $deplib" ;;
+ esac
+ done
+ done
+@@ -5072,11 +6155,11 @@
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+- compiler_flags="$compiler_flags $deplib"
++ func_append compiler_flags " $deplib"
+ if test "$linkmode" = lib ; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+- * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
++ * ) func_append new_inherited_linker_flags " $deplib" ;;
+ esac
+ fi
+ fi
+@@ -5161,7 +6244,7 @@
+ if test "$linkmode" = lib ; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+- * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
++ * ) func_append new_inherited_linker_flags " $deplib" ;;
+ esac
+ fi
+ fi
+@@ -5174,7 +6257,8 @@
+ test "$pass" = conv && continue
+ newdependency_libs="$deplib $newdependency_libs"
+ func_stripname '-L' '' "$deplib"
+- newlib_search_path="$newlib_search_path $func_stripname_result"
++ func_resolve_sysroot "$func_stripname_result"
++ func_append newlib_search_path " $func_resolve_sysroot_result"
+ ;;
+ prog)
+ if test "$pass" = conv; then
+@@ -5188,7 +6272,8 @@
+ finalize_deplibs="$deplib $finalize_deplibs"
+ fi
+ func_stripname '-L' '' "$deplib"
+- newlib_search_path="$newlib_search_path $func_stripname_result"
++ func_resolve_sysroot "$func_stripname_result"
++ func_append newlib_search_path " $func_resolve_sysroot_result"
+ ;;
+ *)
+ func_warning "\`-L' is ignored for archives/objects"
+@@ -5199,17 +6284,21 @@
+ -R*)
+ if test "$pass" = link; then
+ func_stripname '-R' '' "$deplib"
+- dir=$func_stripname_result
++ func_resolve_sysroot "$func_stripname_result"
++ dir=$func_resolve_sysroot_result
+ # Make sure the xrpath contains only unique directories.
+ case "$xrpath " in
+ *" $dir "*) ;;
+- *) xrpath="$xrpath $dir" ;;
++ *) func_append xrpath " $dir" ;;
+ esac
+ fi
+ deplibs="$deplib $deplibs"
+ continue
+ ;;
+- *.la) lib="$deplib" ;;
++ *.la)
++ func_resolve_sysroot "$deplib"
++ lib=$func_resolve_sysroot_result
++ ;;
+ *.$libext)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+@@ -5227,7 +6316,7 @@
+ 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 \
++ if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
+ | $EGREP "$match_pattern_regex" > /dev/null; then
+ valid_a_lib=yes
+ fi
+@@ -5237,15 +6326,15 @@
+ ;;
+ esac
+ if test "$valid_a_lib" != yes; then
+- $ECHO
++ 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."
++ 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
+ $ECHO "*** Warning: Linking the shared library $output against the"
+ $ECHO "*** static library $deplib is not portable!"
+ deplibs="$deplib $deplibs"
+@@ -5272,11 +6361,11 @@
+ 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"
++ func_append newdlprefiles " $deplib"
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+- newdlfiles="$newdlfiles $deplib"
++ func_append newdlfiles " $deplib"
+ fi
+ fi
+ continue
+@@ -5318,20 +6407,20 @@
+
+ # 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'`
++ tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED '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";;
++ *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
+ esac
+ done
+ fi
+- dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
++ dependency_libs=`$ECHO " $dependency_libs" | $SED '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"
++ test -n "$dlopen" && func_append dlfiles " $dlopen"
++ test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
+ fi
+
+ if test "$pass" = conv; then
+@@ -5342,30 +6431,36 @@
+ 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"
++ func_append convenience " $ladir/$objdir/$old_library"
++ func_append old_convenience " $ladir/$objdir/$old_library"
++ tmp_libs=
++ for deplib in $dependency_libs; do
++ deplibs="$deplib $deplibs"
++ if $opt_preserve_dup_deps ; then
++ case "$tmp_libs " in
++ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
++ esac
++ fi
++ func_append tmp_libs " $deplib"
++ done
+ elif test "$linkmode" != prog && test "$linkmode" != lib; then
+ func_fatal_error "\`$lib' is not a convenience library"
+ fi
+- 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
+ continue
+ fi # $pass = conv
+
+
+ # Get the name of the library we link against.
+ linklib=
+- for l in $old_library $library_names; do
+- linklib="$l"
+- done
++ if test -n "$old_library" &&
++ { test "$prefer_static_libs" = yes ||
++ test "$prefer_static_libs,$installed" = "built,no"; }; then
++ linklib=$old_library
++ else
++ for l in $old_library $library_names; do
++ linklib="$l"
++ done
++ fi
+ if test -z "$linklib"; then
+ func_fatal_error "cannot find name of link library for \`$lib'"
+ fi
+@@ -5382,9 +6477,9 @@
+ # 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"
++ func_append dlprefiles " $lib $dependency_libs"
+ else
+- newdlfiles="$newdlfiles $lib"
++ func_append newdlfiles " $lib"
+ fi
+ continue
+ fi # $pass = dlopen
+@@ -5406,14 +6501,14 @@
+
+ # 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
++ if test ! -f "$lt_sysroot$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"
++ dir="$lt_sysroot$libdir"
++ absdir="$lt_sysroot$libdir"
+ fi
+ test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+ else
+@@ -5421,12 +6516,12 @@
+ dir="$ladir"
+ absdir="$abs_ladir"
+ # Remove this search path later
+- notinst_path="$notinst_path $abs_ladir"
++ func_append notinst_path " $abs_ladir"
+ else
+ dir="$ladir/$objdir"
+ absdir="$abs_ladir/$objdir"
+ # Remove this search path later
+- notinst_path="$notinst_path $abs_ladir"
++ func_append notinst_path " $abs_ladir"
+ fi
+ fi # $installed = yes
+ func_stripname 'lib' '.la' "$laname"
+@@ -5437,20 +6532,46 @@
+ 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
++ case "$host" in
++ # special handling for platforms with PE-DLLs.
++ *cygwin* | *mingw* | *cegcc* )
++ # Linker will automatically link against shared library if both
++ # static and shared are present. Therefore, ensure we extract
++ # symbols from the import library if a shared library is present
++ # (otherwise, the dlopen module name will be incorrect). We do
++ # this by putting the import library name into $newdlprefiles.
++ # We recover the dlopen module name by 'saving' the la file
++ # name in a special purpose variable, and (later) extracting the
++ # dlname from the la file.
++ if test -n "$dlname"; then
++ func_tr_sh "$dir/$linklib"
++ eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
++ func_append newdlprefiles " $dir/$linklib"
++ else
++ func_append 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" && \
++ func_append dlpreconveniencelibs " $dir/$old_library"
++ fi
++ ;;
++ * )
++ # Prefer using a static library (so that no silly _DYNAMIC symbols
++ # are required to link).
++ if test -n "$old_library"; then
++ func_append 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" && \
++ func_append dlpreconveniencelibs " $dir/$old_library"
++ # Otherwise, use the dlname, so that lt_dlopen finds it.
++ elif test -n "$dlname"; then
++ func_append newdlprefiles " $dir/$dlname"
++ else
++ func_append newdlprefiles " $dir/$linklib"
++ fi
++ ;;
++ esac
+ fi # $pass = dlpreopen
+
+ if test -z "$libdir"; then
+@@ -5468,7 +6589,7 @@
+
+
+ if test "$linkmode" = prog && test "$pass" != link; then
+- newlib_search_path="$newlib_search_path $ladir"
++ func_append newlib_search_path " $ladir"
+ deplibs="$lib $deplibs"
+
+ linkalldeplibs=no
+@@ -5481,7 +6602,8 @@
+ for deplib in $dependency_libs; do
+ case $deplib in
+ -L*) func_stripname '-L' '' "$deplib"
+- newlib_search_path="$newlib_search_path $func_stripname_result"
++ func_resolve_sysroot "$func_stripname_result"
++ func_append newlib_search_path " $func_resolve_sysroot_result"
+ ;;
+ esac
+ # Need to link against all dependency_libs?
+@@ -5492,12 +6614,12 @@
+ # or/and link against static libraries
+ newdependency_libs="$deplib $newdependency_libs"
+ fi
+- if $opt_duplicate_deps ; then
++ if $opt_preserve_dup_deps ; then
+ case "$tmp_libs " in
+- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
++ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+- tmp_libs="$tmp_libs $deplib"
++ func_append tmp_libs " $deplib"
+ done # for deplib
+ continue
+ fi # $linkmode = prog...
+@@ -5512,7 +6634,7 @@
+ # Make sure the rpath contains only unique directories.
+ case "$temp_rpath:" in
+ *"$absdir:"*) ;;
+- *) temp_rpath="$temp_rpath$absdir:" ;;
++ *) func_append temp_rpath "$absdir:" ;;
+ esac
+ fi
+
+@@ -5524,7 +6646,7 @@
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+- *) compile_rpath="$compile_rpath $absdir"
++ *) func_append compile_rpath " $absdir" ;;
+ esac
+ ;;
+ esac
+@@ -5533,7 +6655,7 @@
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+- *) finalize_rpath="$finalize_rpath $libdir"
++ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ ;;
+ esac
+@@ -5558,12 +6680,12 @@
+ case $host in
+ *cygwin* | *mingw* | *cegcc*)
+ # No point in relinking DLLs because paths are not encoded
+- notinst_deplibs="$notinst_deplibs $lib"
++ func_append notinst_deplibs " $lib"
+ need_relink=no
+ ;;
+ *)
+ if test "$installed" = no; then
+- notinst_deplibs="$notinst_deplibs $lib"
++ func_append notinst_deplibs " $lib"
+ need_relink=yes
+ fi
+ ;;
+@@ -5580,7 +6702,7 @@
+ fi
+ done
+ if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
+- $ECHO
++ echo
+ if test "$linkmode" = prog; then
+ $ECHO "*** Warning: Linking the executable $output against the loadable module"
+ else
+@@ -5598,7 +6720,7 @@
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+- *) compile_rpath="$compile_rpath $absdir"
++ *) func_append compile_rpath " $absdir" ;;
+ esac
+ ;;
+ esac
+@@ -5607,7 +6729,7 @@
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+- *) finalize_rpath="$finalize_rpath $libdir"
++ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ ;;
+ esac
+@@ -5661,7 +6783,7 @@
+ linklib=$newlib
+ fi # test -n "$old_archive_from_expsyms_cmds"
+
+- if test "$linkmode" = prog || test "$mode" != relink; then
++ if test "$linkmode" = prog || test "$opt_mode" != relink; then
+ add_shlibpath=
+ add_dir=
+ add=
+@@ -5683,9 +6805,9 @@
+ 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"
++ 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
+@@ -5717,7 +6839,7 @@
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+- add_dir="$add_dir -L$inst_prefix_dir$libdir"
++ func_append add_dir " -L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+@@ -5739,7 +6861,7 @@
+ if test -n "$add_shlibpath"; then
+ case :$compile_shlibpath: in
+ *":$add_shlibpath:"*) ;;
+- *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
++ *) func_append compile_shlibpath "$add_shlibpath:" ;;
+ esac
+ fi
+ if test "$linkmode" = prog; then
+@@ -5753,13 +6875,13 @@
+ test "$hardcode_shlibpath_var" = yes; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+- *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
++ *) func_append finalize_shlibpath "$libdir:" ;;
+ esac
+ fi
+ fi
+ fi
+
+- if test "$linkmode" = prog || test "$mode" = relink; then
++ if test "$linkmode" = prog || test "$opt_mode" = relink; then
+ add_shlibpath=
+ add_dir=
+ add=
+@@ -5773,7 +6895,7 @@
+ elif test "$hardcode_shlibpath_var" = yes; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+- *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
++ *) func_append finalize_shlibpath "$libdir:" ;;
+ esac
+ add="-l$name"
+ elif test "$hardcode_automatic" = yes; then
+@@ -5790,7 +6912,7 @@
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+- add_dir="$add_dir -L$inst_prefix_dir$libdir"
++ func_append add_dir " -L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+@@ -5825,21 +6947,21 @@
+
+ # Just print a warning and add the library to dependency_libs so
+ # that the program can be linked against the static library.
+- $ECHO
++ 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."
++ 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."
++ 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."
++ 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
+@@ -5867,37 +6989,46 @@
+ temp_xrpath=$func_stripname_result
+ case " $xrpath " in
+ *" $temp_xrpath "*) ;;
+- *) xrpath="$xrpath $temp_xrpath";;
++ *) func_append xrpath " $temp_xrpath";;
+ esac;;
+- *) temp_deplibs="$temp_deplibs $libdir";;
++ *) func_append temp_deplibs " $libdir";;
+ esac
+ done
+ dependency_libs="$temp_deplibs"
+ fi
+
+- newlib_search_path="$newlib_search_path $absdir"
++ func_append 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 $deplib in
++ -L*) func_stripname '-L' '' "$deplib"
++ func_resolve_sysroot "$func_stripname_result";;
++ *) func_resolve_sysroot "$deplib" ;;
++ esac
++ if $opt_preserve_dup_deps ; then
+ case "$tmp_libs " in
+- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
++ *" $func_resolve_sysroot_result "*)
++ func_append specialdeplibs " $func_resolve_sysroot_result" ;;
+ esac
+ fi
+- tmp_libs="$tmp_libs $deplib"
++ func_append tmp_libs " $func_resolve_sysroot_result"
+ done
+
+ 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_resolve_sysroot "$deplib"
++ deplib=$func_resolve_sysroot_result
+ func_dirname "$deplib" "" "."
+- dir="$func_dirname_result"
++ dir=$func_dirname_result
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+@@ -5924,8 +7055,8 @@
+ 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}"
++ func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
++ func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}"
+ path=
+ fi
+ fi
+@@ -5958,7 +7089,7 @@
+ 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'`
++ compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ fi
+ fi
+ dependency_libs="$newdependency_libs"
+@@ -5975,7 +7106,7 @@
+ for dir in $newlib_search_path; do
+ case "$lib_search_path " in
+ *" $dir "*) ;;
+- *) lib_search_path="$lib_search_path $dir" ;;
++ *) func_append lib_search_path " $dir" ;;
+ esac
+ done
+ newlib_search_path=
+@@ -6033,10 +7164,10 @@
+ -L*)
+ case " $tmp_libs " in
+ *" $deplib "*) ;;
+- *) tmp_libs="$tmp_libs $deplib" ;;
++ *) func_append tmp_libs " $deplib" ;;
+ esac
+ ;;
+- *) tmp_libs="$tmp_libs $deplib" ;;
++ *) func_append tmp_libs " $deplib" ;;
+ esac
+ done
+ eval $var=\"$tmp_libs\"
+@@ -6052,7 +7183,7 @@
+ ;;
+ esac
+ if test -n "$i" ; then
+- tmp_libs="$tmp_libs $i"
++ func_append tmp_libs " $i"
+ fi
+ done
+ dependency_libs=$tmp_libs
+@@ -6093,7 +7224,7 @@
+ # Now set the variables for building old libraries.
+ build_libtool_libs=no
+ oldlibs="$output"
+- objs="$objs$old_deplibs"
++ func_append objs "$old_deplibs"
+ ;;
+
+ lib)
+@@ -6126,10 +7257,10 @@
+ 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
+ $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
+ $ECHO "*** objects $objs is not portable!"
+- libobjs="$libobjs $objs"
++ func_append libobjs " $objs"
+ fi
+ fi
+
+@@ -6194,7 +7325,7 @@
+ age="$number_minor"
+ revision="$number_revision"
+ ;;
+- freebsd-aout|freebsd-elf|sunos)
++ freebsd-aout|freebsd-elf|qnx|sunos)
+ current="$number_major"
+ revision="$number_minor"
+ age="0"
+@@ -6206,6 +7337,9 @@
+ revision="$number_minor"
+ lt_irix_increment=no
+ ;;
++ *)
++ func_fatal_configuration "$modename: unknown library version type \`$version_type'"
++ ;;
+ esac
+ ;;
+ no)
+@@ -6327,7 +7461,7 @@
+ done
+
+ # Make executables depend on our current version.
+- verstring="$verstring:${current}.0"
++ func_append verstring ":${current}.0"
+ ;;
+
+ qnx)
+@@ -6395,10 +7529,10 @@
+ fi
+
+ func_generate_dlsyms "$libname" "$libname" "yes"
+- libobjs="$libobjs $symfileobj"
++ func_append libobjs " $symfileobj"
+ test "X$libobjs" = "X " && libobjs=
+
+- if test "$mode" != relink; then
++ if test "$opt_mode" != relink; then
+ # Remove our outputs, but don't remove object files since they
+ # may have been created when compiling PIC objects.
+ removelist=
+@@ -6414,7 +7548,7 @@
+ continue
+ fi
+ fi
+- removelist="$removelist $p"
++ func_append removelist " $p"
+ ;;
+ *) ;;
+ esac
+@@ -6425,27 +7559,28 @@
+
+ # 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_append oldlibs " $output_objdir/$libname.$libext"
+
+ # Transform .lo files to .o files.
+- oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
++ oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
+ 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"`
++ # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
++ # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
++ # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
+ #done
+
+ 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"
++ func_replace_sysroot "$libdir"
++ func_append temp_xrpath " -R$func_replace_sysroot_result"
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+- *) finalize_rpath="$finalize_rpath $libdir" ;;
++ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ done
+ if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+@@ -6459,7 +7594,7 @@
+ for lib in $old_dlfiles; do
+ case " $dlprefiles $dlfiles " in
+ *" $lib "*) ;;
+- *) dlfiles="$dlfiles $lib" ;;
++ *) func_append dlfiles " $lib" ;;
+ esac
+ done
+
+@@ -6469,19 +7604,19 @@
+ for lib in $old_dlprefiles; do
+ case "$dlprefiles " in
+ *" $lib "*) ;;
+- *) dlprefiles="$dlprefiles $lib" ;;
++ *) func_append 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*)
++ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
+ # 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"
++ func_append deplibs " System.ltframework"
+ ;;
+ *-*-netbsd*)
+ # Don't link with libc until the a.out ld.so is fixed.
+@@ -6498,7 +7633,7 @@
+ *)
+ # Add libc to deplibs on all other systems if necessary.
+ if test "$build_libtool_need_lc" = "yes"; then
+- deplibs="$deplibs -lc"
++ func_append deplibs " -lc"
+ fi
+ ;;
+ esac
+@@ -6547,7 +7682,7 @@
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $i "*)
+- newdeplibs="$newdeplibs $i"
++ func_append newdeplibs " $i"
+ i=""
+ ;;
+ esac
+@@ -6558,21 +7693,21 @@
+ set dummy $deplib_matches; shift
+ deplib_match=$1
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+- newdeplibs="$newdeplibs $i"
++ func_append newdeplibs " $i"
+ else
+ droppeddeps=yes
+- $ECHO
++ 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."
++ 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"
++ func_append newdeplibs " $i"
+ ;;
+ esac
+ done
+@@ -6590,7 +7725,7 @@
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $i "*)
+- newdeplibs="$newdeplibs $i"
++ func_append newdeplibs " $i"
+ i=""
+ ;;
+ esac
+@@ -6601,29 +7736,29 @@
+ set dummy $deplib_matches; shift
+ deplib_match=$1
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+- newdeplibs="$newdeplibs $i"
++ func_append newdeplibs " $i"
+ else
+ droppeddeps=yes
+- $ECHO
++ 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."
++ 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
+ $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."
++ 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"
++ func_append newdeplibs " $i"
+ ;;
+ esac
+ done
+@@ -6640,15 +7775,27 @@
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $a_deplib "*)
+- newdeplibs="$newdeplibs $a_deplib"
++ func_append newdeplibs " $a_deplib"
+ a_deplib=""
+ ;;
+ esac
+ fi
+ if test -n "$a_deplib" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
++ if test -n "$file_magic_glob"; then
++ libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
++ else
++ libnameglob=$libname
++ fi
++ test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob`
+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+- potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
++ if test "$want_nocaseglob" = yes; then
++ shopt -s nocaseglob
++ potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
++ $nocaseglob
++ else
++ potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
++ fi
+ for potent_lib in $potential_libs; do
+ # Follow soft links.
+ if ls -lLd "$potent_lib" 2>/dev/null |
+@@ -6665,13 +7812,13 @@
+ potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+ case $potliblink in
+ [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
+- *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
++ *) potlib=`$ECHO "$potlib" | $SED '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"
++ func_append newdeplibs " $a_deplib"
+ a_deplib=""
+ break 2
+ fi
+@@ -6680,12 +7827,12 @@
+ fi
+ if test -n "$a_deplib" ; then
+ droppeddeps=yes
+- $ECHO
++ 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"
++ 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
+@@ -6696,7 +7843,7 @@
+ ;;
+ *)
+ # Add a -L argument.
+- newdeplibs="$newdeplibs $a_deplib"
++ func_append newdeplibs " $a_deplib"
+ ;;
+ esac
+ done # Gone through all deplibs.
+@@ -6712,7 +7859,7 @@
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $a_deplib "*)
+- newdeplibs="$newdeplibs $a_deplib"
++ func_append newdeplibs " $a_deplib"
+ a_deplib=""
+ ;;
+ esac
+@@ -6723,9 +7870,9 @@
+ 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 | \
++ if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
+ $EGREP "$match_pattern_regex" > /dev/null; then
+- newdeplibs="$newdeplibs $a_deplib"
++ func_append newdeplibs " $a_deplib"
+ a_deplib=""
+ break 2
+ fi
+@@ -6734,12 +7881,12 @@
+ fi
+ if test -n "$a_deplib" ; then
+ droppeddeps=yes
+- $ECHO
++ 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"
++ 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
+@@ -6750,32 +7897,32 @@
+ ;;
+ *)
+ # Add a -L argument.
+- newdeplibs="$newdeplibs $a_deplib"
++ func_append 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'`
++ tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; 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,,"`
++ tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
+ done
+ fi
+- if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' |
+- $GREP . >/dev/null; then
+- $ECHO
++ case $tmp_deplibs in
++ *[!\ \ ]*)
++ echo
+ if test "X$deplibs_check_method" = "Xnone"; then
+- $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
++ echo "*** Warning: inter-library dependencies are not supported in this platform."
+ else
+- $ECHO "*** Warning: inter-library dependencies are not known to be supported."
++ echo "*** Warning: inter-library dependencies are not known to be supported."
+ fi
+- $ECHO "*** All declared inter-library dependencies are being dropped."
++ echo "*** All declared inter-library dependencies are being dropped."
+ droppeddeps=yes
+- fi
++ ;;
++ esac
+ ;;
+ esac
+ versuffix=$versuffix_save
+@@ -6787,23 +7934,23 @@
+ 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 /'`
++ newdeplibs=`$ECHO " $newdeplibs" | $SED '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
++ 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."
++ 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."
++ 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"
+@@ -6813,16 +7960,16 @@
+ 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."
++ 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."
+
+ 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."
++ 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
+@@ -6839,9 +7986,9 @@
+ # 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'`
++ newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
++ new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
++ deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
+ esac
+
+@@ -6854,7 +8001,7 @@
+ *)
+ case " $deplibs " in
+ *" -L$path/$objdir "*)
+- new_libs="$new_libs -L$path/$objdir" ;;
++ func_append new_libs " -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+@@ -6864,10 +8011,10 @@
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+- *) new_libs="$new_libs $deplib" ;;
++ *) func_append new_libs " $deplib" ;;
+ esac
+ ;;
+- *) new_libs="$new_libs $deplib" ;;
++ *) func_append new_libs " $deplib" ;;
+ esac
+ done
+ deplibs="$new_libs"
+@@ -6884,10 +8031,12 @@
+ hardcode_libdirs=
+ dep_rpath=
+ rpath="$finalize_rpath"
+- test "$mode" != relink && rpath="$compile_rpath$rpath"
++ test "$opt_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
++ func_replace_sysroot "$libdir"
++ libdir=$func_replace_sysroot_result
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+@@ -6896,18 +8045,18 @@
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
++ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+- dep_rpath="$dep_rpath $flag"
++ func_append dep_rpath " $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+- *) perm_rpath="$perm_rpath $libdir" ;;
++ *) func_apped perm_rpath " $libdir" ;;
+ esac
+ fi
+ done
+@@ -6925,7 +8074,7 @@
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+- rpath="$rpath$dir:"
++ func_append rpath "$dir:"
+ done
+ eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+ fi
+@@ -6933,7 +8082,7 @@
+ fi
+
+ shlibpath="$finalize_shlibpath"
+- test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
++ test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+ if test -n "$shlibpath"; then
+ eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+ fi
+@@ -6959,18 +8108,18 @@
+ linknames=
+ for link
+ do
+- linknames="$linknames $link"
++ func_append linknames " $link"
+ done
+
+ # Use standard objects if they are pic
+- test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
++ test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ test "X$libobjs" = "X " && libobjs=
+
+ 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"
++ func_append delfiles " $export_symbols"
+ fi
+
+ orig_export_symbols=
+@@ -7001,13 +8150,45 @@
+ $opt_dry_run || $RM $export_symbols
+ cmds=$export_symbols_cmds
+ save_ifs="$IFS"; IFS='~'
+- for cmd in $cmds; do
++ for cmd1 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
++ # Take the normal branch if the nm_file_list_spec branch
++ # doesn't work or if tool conversion is not needed.
++ case $nm_file_list_spec~$to_tool_file_cmd in
++ *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
++ try_normal_branch=yes
++ eval cmd=\"$cmd1\"
++ func_len " $cmd"
++ len=$func_len_result
++ ;;
++ *)
++ try_normal_branch=no
++ ;;
++ esac
++ if test "$try_normal_branch" = yes \
++ && { test "$len" -lt "$max_cmd_len" \
++ || test "$max_cmd_len" -le -1; }
++ then
++ func_show_eval "$cmd" 'exit $?'
++ skipped_export=false
++ elif test -n "$nm_file_list_spec"; then
++ func_basename "$output"
++ output_la=$func_basename_result
++ save_libobjs=$libobjs
++ save_output=$output
++ output=${output_objdir}/${output_la}.nm
++ func_to_tool_file "$output"
++ libobjs=$nm_file_list_spec$func_to_tool_file_result
++ func_append delfiles " $output"
++ func_verbose "creating $NM input file list: $output"
++ for obj in $save_libobjs; do
++ func_to_tool_file "$obj"
++ $ECHO "$func_to_tool_file_result"
++ done > "$output"
++ eval cmd=\"$cmd1\"
+ func_show_eval "$cmd" 'exit $?'
++ output=$save_output
++ libobjs=$save_libobjs
+ skipped_export=false
+ else
+ # The command line is too long to execute in one step.
+@@ -7029,7 +8210,7 @@
+ 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"'
++ $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
+@@ -7041,7 +8222,7 @@
+ # 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"
++ func_append 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
+@@ -7051,7 +8232,7 @@
+ case " $convenience " in
+ *" $test_deplib "*) ;;
+ *)
+- tmp_deplibs="$tmp_deplibs $test_deplib"
++ func_append tmp_deplibs " $test_deplib"
+ ;;
+ esac
+ done
+@@ -7071,21 +8252,21 @@
+ test "X$libobjs" = "X " && libobjs=
+ else
+ gentop="$output_objdir/${outputname}x"
+- generated="$generated $gentop"
++ func_append generated " $gentop"
+
+ func_extract_archives $gentop $convenience
+- libobjs="$libobjs $func_extract_archives_result"
++ func_append libobjs " $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+ fi
+
+ if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+ eval flag=\"$thread_safe_flag_spec\"
+- linker_flags="$linker_flags $flag"
++ func_append linker_flags " $flag"
+ fi
+
+ # Make a backup of the uninstalled library when relinking
+- if test "$mode" = relink; then
++ if test "$opt_mode" = relink; then
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
+ fi
+
+@@ -7130,7 +8311,8 @@
+ save_libobjs=$libobjs
+ fi
+ save_output=$output
+- output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
++ func_basename "$output"
++ output_la=$func_basename_result
+
+ # Clear the reloadable object creation command queue and
+ # initialize k to one.
+@@ -7143,13 +8325,16 @@
+ 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
++ echo 'INPUT (' > $output
+ for obj in $save_libobjs
+ do
+- $ECHO "$obj" >> $output
++ func_to_tool_file "$obj"
++ $ECHO "$func_to_tool_file_result" >> $output
+ done
+- $ECHO ')' >> $output
+- delfiles="$delfiles $output"
++ echo ')' >> $output
++ func_append delfiles " $output"
++ func_to_tool_file "$output"
++ output=$func_to_tool_file_result
+ 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"
+@@ -7163,10 +8348,12 @@
+ fi
+ for obj
+ do
+- $ECHO "$obj" >> $output
++ func_to_tool_file "$obj"
++ $ECHO "$func_to_tool_file_result" >> $output
+ done
+- delfiles="$delfiles $output"
+- output=$firstobj\"$file_list_spec$output\"
++ func_append delfiles " $output"
++ func_to_tool_file "$output"
++ output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
+ else
+ if test -n "$save_libobjs"; then
+ func_verbose "creating reloadable object files..."
+@@ -7190,17 +8377,19 @@
+ # 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\"
++ reload_objs=$objlist
++ eval concat_cmds=\"$reload_cmds\"
+ 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\"
++ reload_objs="$objlist $last_robj"
++ eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$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
++ objlist=" $obj"
+ func_len " $last_robj"
+ func_arith $len0 + $func_len_result
+ len=$func_arith_result
+@@ -7210,11 +8399,12 @@
+ # 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\"
++ reload_objs="$objlist $last_robj"
++ eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
+ if test -n "$last_robj"; then
+ eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
+ fi
+- delfiles="$delfiles $output"
++ func_append delfiles " $output"
+
+ else
+ output=
+@@ -7248,7 +8438,7 @@
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+- if test "$mode" = relink; then
++ if test "$opt_mode" = relink; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+@@ -7269,7 +8459,7 @@
+ 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"'
++ $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test -n "$orig_export_symbols"; then
+@@ -7281,7 +8471,7 @@
+ # 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"
++ func_append 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
+@@ -7322,10 +8512,10 @@
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop="$output_objdir/${outputname}x"
+- generated="$generated $gentop"
++ func_append generated " $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+- libobjs="$libobjs $func_extract_archives_result"
++ func_append libobjs " $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+
+@@ -7341,7 +8531,7 @@
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+- if test "$mode" = relink; then
++ if test "$opt_mode" = relink; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+@@ -7353,7 +8543,7 @@
+ IFS="$save_ifs"
+
+ # Restore the uninstalled library and exit
+- if test "$mode" = relink; then
++ if test "$opt_mode" = relink; then
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
+
+ if test -n "$convenience"; then
+@@ -7434,18 +8624,21 @@
+ 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'`
++ reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
+ else
+ gentop="$output_objdir/${obj}x"
+- generated="$generated $gentop"
++ func_append generated " $gentop"
+
+ func_extract_archives $gentop $convenience
+ reload_conv_objs="$reload_objs $func_extract_archives_result"
+ fi
+ fi
+
++ # If we're not building shared, we need to use non_pic_objs
++ test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"
++
+ # 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
++ reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+
+ output="$obj"
+ func_execute_cmds "$reload_cmds" 'exit $?'
+@@ -7505,8 +8698,8 @@
+ 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 /'`
++ compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
++ finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
+ ;;
+ esac
+
+@@ -7517,14 +8710,14 @@
+ 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"
++ func_append compile_command " ${wl}-bind_at_load"
++ func_append 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'`
++ compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
++ finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
+ esac
+
+@@ -7538,7 +8731,7 @@
+ *)
+ case " $compile_deplibs " in
+ *" -L$path/$objdir "*)
+- new_libs="$new_libs -L$path/$objdir" ;;
++ func_append new_libs " -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+@@ -7548,17 +8741,17 @@
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+- *) new_libs="$new_libs $deplib" ;;
++ *) func_append new_libs " $deplib" ;;
+ esac
+ ;;
+- *) new_libs="$new_libs $deplib" ;;
++ *) func_append new_libs " $deplib" ;;
+ esac
+ done
+ compile_deplibs="$new_libs"
+
+
+- compile_command="$compile_command $compile_deplibs"
+- finalize_command="$finalize_command $finalize_deplibs"
++ func_append compile_command " $compile_deplibs"
++ func_append finalize_command " $finalize_deplibs"
+
+ if test -n "$rpath$xrpath"; then
+ # If the user specified any rpath flags, then add them.
+@@ -7566,7 +8759,7 @@
+ # This is the magic to use -rpath.
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+- *) finalize_rpath="$finalize_rpath $libdir" ;;
++ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ done
+ fi
+@@ -7585,18 +8778,18 @@
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
++ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+- rpath="$rpath $flag"
++ func_append rpath " $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+- *) perm_rpath="$perm_rpath $libdir" ;;
++ *) func_append perm_rpath " $libdir" ;;
+ esac
+ fi
+ case $host in
+@@ -7605,12 +8798,12 @@
+ case :$dllsearchpath: in
+ *":$libdir:"*) ;;
+ ::) dllsearchpath=$libdir;;
+- *) dllsearchpath="$dllsearchpath:$libdir";;
++ *) func_append dllsearchpath ":$libdir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
+- *) dllsearchpath="$dllsearchpath:$testbindir";;
++ *) func_append dllsearchpath ":$testbindir";;
+ esac
+ ;;
+ esac
+@@ -7636,18 +8829,18 @@
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
++ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+- rpath="$rpath $flag"
++ func_append rpath " $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$finalize_perm_rpath " in
+ *" $libdir "*) ;;
+- *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
++ *) func_append finalize_perm_rpath " $libdir" ;;
+ esac
+ fi
+ done
+@@ -7661,8 +8854,8 @@
+
+ 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`
++ compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
++ finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ fi
+
+ func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
+@@ -7674,15 +8867,15 @@
+
+ wrappers_required=yes
+ case $host in
++ *cegcc* | *mingw32ce*)
++ # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
++ wrappers_required=no
++ ;;
+ *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
+@@ -7691,13 +8884,19 @@
+ esac
+ if test "$wrappers_required" = no; then
+ # Replace the output file specification.
+- compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
++ compile_command=`$ECHO "$compile_command" | $SED '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=$?'
+
++ if test -n "$postlink_cmds"; then
++ func_to_tool_file "$output"
++ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
++ func_execute_cmds "$postlink_cmds" 'exit $?'
++ fi
++
+ # Delete the generated files.
+ if test -f "$output_objdir/${outputname}S.${objext}"; then
+ func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
+@@ -7720,7 +8919,7 @@
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+- rpath="$rpath$dir:"
++ func_append rpath "$dir:"
+ done
+ compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
+@@ -7728,7 +8927,7 @@
+ # We should set the runpath_var.
+ rpath=
+ for dir in $finalize_perm_rpath; do
+- rpath="$rpath$dir:"
++ func_append rpath "$dir:"
+ done
+ finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
+@@ -7738,11 +8937,18 @@
+ # 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'`
++ link_command=`$ECHO "$link_command" | $SED '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 $?'
++
++ if test -n "$postlink_cmds"; then
++ func_to_tool_file "$output"
++ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
++ func_execute_cmds "$postlink_cmds" 'exit $?'
++ fi
++
+ exit $EXIT_SUCCESS
+ fi
+
+@@ -7757,7 +8963,7 @@
+ 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'`
++ relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
+ else
+ # fast_install is set to needless
+ relink_command=
+@@ -7769,13 +8975,19 @@
+ fi
+
+ # Replace the output file specification.
+- link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
++ link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+ # Delete the old output files.
+ $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+ func_show_eval "$link_command" 'exit $?'
+
++ if test -n "$postlink_cmds"; then
++ func_to_tool_file "$output_objdir/$outputname"
++ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
++ func_execute_cmds "$postlink_cmds" 'exit $?'
++ fi
++
+ # Now create the wrapper script.
+ func_verbose "creating $output"
+
+@@ -7793,18 +9005,7 @@
+ fi
+ done
+ relink_command="(cd `pwd`; $relink_command)"
+- relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+- fi
+-
+- # 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"`
++ relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+ fi
+
+ # Only actually do things if not in dry run mode.
+@@ -7884,7 +9085,7 @@
+ else
+ oldobjs="$old_deplibs $non_pic_objects"
+ if test "$preload" = yes && test -f "$symfileobj"; then
+- oldobjs="$oldobjs $symfileobj"
++ func_append oldobjs " $symfileobj"
+ fi
+ fi
+ addlibs="$old_convenience"
+@@ -7892,10 +9093,10 @@
+
+ if test -n "$addlibs"; then
+ gentop="$output_objdir/${outputname}x"
+- generated="$generated $gentop"
++ func_append generated " $gentop"
+
+ func_extract_archives $gentop $addlibs
+- oldobjs="$oldobjs $func_extract_archives_result"
++ func_append oldobjs " $func_extract_archives_result"
+ fi
+
+ # Do each command in the archive commands.
+@@ -7906,10 +9107,10 @@
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop="$output_objdir/${outputname}x"
+- generated="$generated $gentop"
++ func_append generated " $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+- oldobjs="$oldobjs $func_extract_archives_result"
++ func_append oldobjs " $func_extract_archives_result"
+ fi
+
+ # POSIX demands no paths to be encoded in archives. We have
+@@ -7925,9 +9126,9 @@
+ done | sort | sort -uc >/dev/null 2>&1); then
+ :
+ else
+- $ECHO "copying selected object files to avoid basename conflicts..."
++ echo "copying selected object files to avoid basename conflicts..."
+ gentop="$output_objdir/${outputname}x"
+- generated="$generated $gentop"
++ func_append generated " $gentop"
+ func_mkdir_p "$gentop"
+ save_oldobjs=$oldobjs
+ oldobjs=
+@@ -7951,9 +9152,9 @@
+ esac
+ done
+ func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+- oldobjs="$oldobjs $gentop/$newobj"
++ func_append oldobjs " $gentop/$newobj"
+ ;;
+- *) oldobjs="$oldobjs $obj" ;;
++ *) func_append oldobjs " $obj" ;;
+ esac
+ done
+ fi
+@@ -7963,6 +9164,16 @@
+ len=$func_len_result
+ if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ cmds=$old_archive_cmds
++ elif test -n "$archiver_list_spec"; then
++ func_verbose "using command file archive linking..."
++ for obj in $oldobjs
++ do
++ func_to_tool_file "$obj"
++ $ECHO "$func_to_tool_file_result"
++ done > $output_objdir/$libname.libcmd
++ func_to_tool_file "$output_objdir/$libname.libcmd"
++ oldobjs=" $archiver_list_spec$func_to_tool_file_result"
++ 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..."
+@@ -8036,7 +9247,7 @@
+ 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"`
++ relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+ if test "$hardcode_automatic" = yes ; then
+ relink_command=
+ fi
+@@ -8059,9 +9270,19 @@
+ 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"
++ func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
++ ;;
++ -L*)
++ func_stripname -L '' "$deplib"
++ func_replace_sysroot "$func_stripname_result"
++ func_append newdependency_libs " -L$func_replace_sysroot_result"
+ ;;
+- *) newdependency_libs="$newdependency_libs $deplib" ;;
++ -R*)
++ func_stripname -R '' "$deplib"
++ func_replace_sysroot "$func_stripname_result"
++ func_append newdependency_libs " -R$func_replace_sysroot_result"
++ ;;
++ *) func_append newdependency_libs " $deplib" ;;
+ esac
+ done
+ dependency_libs="$newdependency_libs"
+@@ -8075,9 +9296,9 @@
+ 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"
++ func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
+ ;;
+- *) newdlfiles="$newdlfiles $lib" ;;
++ *) func_append newdlfiles " $lib" ;;
+ esac
+ done
+ dlfiles="$newdlfiles"
+@@ -8094,7 +9315,7 @@
+ 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"
++ func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
+ ;;
+ esac
+ done
+@@ -8106,7 +9327,7 @@
+ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ *) abs=`pwd`"/$lib" ;;
+ esac
+- newdlfiles="$newdlfiles $abs"
++ func_append newdlfiles " $abs"
+ done
+ dlfiles="$newdlfiles"
+ newdlprefiles=
+@@ -8115,15 +9336,33 @@
+ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ *) abs=`pwd`"/$lib" ;;
+ esac
+- newdlprefiles="$newdlprefiles $abs"
++ func_append newdlprefiles " $abs"
+ done
+ dlprefiles="$newdlprefiles"
+ fi
+ $RM $output
+ # place dlname in correct position for cygwin
++ # In fact, it would be nice if we could use this code for all target
++ # systems that can't hard-code library paths into their executables
++ # and that have no shared library path variable independent of PATH,
++ # but it turns out we can't easily determine that from inspecting
++ # libtool variables, so we have to hard-code the OSs to which it
++ # applies here; at the moment, that means platforms that use the PE
++ # object format with DLL files. See the long comment at the top of
++ # tests/bindir.at for full details.
+ 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 ;;
++ *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
++ # If a -bindir argument was supplied, place the dll there.
++ if test "x$bindir" != x ;
++ then
++ func_relative_path "$install_libdir" "$bindir"
++ tdlname=$func_relative_path_result$dlname
++ else
++ # Otherwise fall back on heuristic.
++ tdlname=../bin/$dlname
++ fi
++ ;;
+ esac
+ $ECHO > $output "\
+ # $outputname - a libtool library file
+@@ -8182,7 +9421,7 @@
+ exit $EXIT_SUCCESS
+ }
+
+-{ test "$mode" = link || test "$mode" = relink; } &&
++{ test "$opt_mode" = link || test "$opt_mode" = relink; } &&
+ func_mode_link ${1+"$@"}
+
+
+@@ -8202,9 +9441,9 @@
+ for arg
+ do
+ case $arg in
+- -f) RM="$RM $arg"; rmforce=yes ;;
+- -*) RM="$RM $arg" ;;
+- *) files="$files $arg" ;;
++ -f) func_append RM " $arg"; rmforce=yes ;;
++ -*) func_append RM " $arg" ;;
++ *) func_append files " $arg" ;;
+ esac
+ done
+
+@@ -8213,24 +9452,23 @@
+
+ rmdirs=
+
+- origobjdir="$objdir"
+ for file in $files; do
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+ if test "X$dir" = X.; then
+- objdir="$origobjdir"
++ odir="$objdir"
+ else
+- objdir="$dir/$origobjdir"
++ odir="$dir/$objdir"
+ fi
+ func_basename "$file"
+ name="$func_basename_result"
+- test "$mode" = uninstall && objdir="$dir"
++ test "$opt_mode" = uninstall && odir="$dir"
+
+- # Remember objdir for removal later, being careful to avoid duplicates
+- if test "$mode" = clean; then
++ # Remember odir for removal later, being careful to avoid duplicates
++ if test "$opt_mode" = clean; then
+ case " $rmdirs " in
+- *" $objdir "*) ;;
+- *) rmdirs="$rmdirs $objdir" ;;
++ *" $odir "*) ;;
++ *) func_append rmdirs " $odir" ;;
+ esac
+ fi
+
+@@ -8256,18 +9494,17 @@
+
+ # Delete the libtool libraries and symlinks.
+ for n in $library_names; do
+- rmfiles="$rmfiles $objdir/$n"
++ func_append rmfiles " $odir/$n"
+ done
+- test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
++ test -n "$old_library" && func_append rmfiles " $odir/$old_library"
+
+- case "$mode" in
++ case "$opt_mode" in
+ clean)
+- case " $library_names " in
+- # " " in the beginning catches empty $dlname
++ case " $library_names " in
+ *" $dlname "*) ;;
+- *) rmfiles="$rmfiles $objdir/$dlname" ;;
++ *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
+ esac
+- test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
++ test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
+ ;;
+ uninstall)
+ if test -n "$library_names"; then
+@@ -8295,19 +9532,19 @@
+ # 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"
++ func_append 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"
++ func_append rmfiles " $dir/$non_pic_object"
+ fi
+ fi
+ ;;
+
+ *)
+- if test "$mode" = clean ; then
++ if test "$opt_mode" = clean ; then
+ noexename=$name
+ case $file in
+ *.exe)
+@@ -8317,7 +9554,7 @@
+ noexename=$func_stripname_result
+ # $file with .exe has already been added to rmfiles,
+ # add $file without .exe
+- rmfiles="$rmfiles $file"
++ func_append rmfiles " $file"
+ ;;
+ esac
+ # Do a test to see if this is a libtool program.
+@@ -8326,7 +9563,7 @@
+ func_ltwrapper_scriptname "$file"
+ relink_command=
+ func_source $func_ltwrapper_scriptname_result
+- rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
++ func_append rmfiles " $func_ltwrapper_scriptname_result"
+ else
+ relink_command=
+ func_source $dir/$noexename
+@@ -8334,12 +9571,12 @@
+
+ # 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}"
++ func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
+ if test "$fast_install" = yes && test -n "$relink_command"; then
+- rmfiles="$rmfiles $objdir/lt-$name"
++ func_append rmfiles " $odir/lt-$name"
+ fi
+ if test "X$noexename" != "X$name" ; then
+- rmfiles="$rmfiles $objdir/lt-${noexename}.c"
++ func_append rmfiles " $odir/lt-${noexename}.c"
+ fi
+ fi
+ fi
+@@ -8347,7 +9584,6 @@
+ 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
+@@ -8359,16 +9595,16 @@
+ exit $exit_status
+ }
+
+-{ test "$mode" = uninstall || test "$mode" = clean; } &&
++{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
+ func_mode_uninstall ${1+"$@"}
+
+-test -z "$mode" && {
++test -z "$opt_mode" && {
+ help="$generic_help"
+ func_fatal_help "you must specify a MODE"
+ }
+
+ test -z "$exec_cmd" && \
+- func_fatal_help "invalid operation mode \`$mode'"
++ func_fatal_help "invalid operation mode \`$opt_mode'"
+
+ if test -n "$exec_cmd"; then
+ eval exec "$exec_cmd"
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//config.h.in couchdb-1.0.1.new//config.h.in
+--- couchdb-1.0.1//config.h.in 2010-08-11 19:18:51.000000000 +0100
++++ couchdb-1.0.1.new//config.h.in 2011-06-14 18:31:33.623706531 +0100
+@@ -1,14 +1,32 @@
+ /* config.h.in. Generated from configure.ac by autoheader. */
+
++/* Define whether we have JS_NewCompartmentAndGlobalObject */
++#undef HAVE_COMPARTMENTS
++
+ /* Define to 1 if you have the header file. */
+ #undef HAVE_DLFCN_H
+
+ /* Define to 1 if you have the header file. */
+ #undef HAVE_INTTYPES_H
+
++/* Define whether we have JS_FreezeObject */
++#undef HAVE_JS_FREEZE_OBJECT
++
++/* Define whether we have JS_GetStringCharsAndLength */
++#undef HAVE_JS_GET_STRING_CHARS_AND_LENGTH
++
++/* Define whether we have JS_NewGlobalObject */
++#undef HAVE_JS_NEW_GLOBAL_OBJECT
++
++/* Define whether we have JS_StrictPropertyStub */
++#undef HAVE_JS_STRICT_PROPERTY_STUB
++
+ /* Define to 1 if you have the header file. */
+ #undef HAVE_MEMORY_H
+
++/* Define whether scripts are JSObjects */
++#undef HAVE_SCRIPT_AS_OBJECT
++
+ /* Define to 1 if you have the header file. */
+ #undef HAVE_STDINT_H
+
+@@ -30,6 +48,12 @@
+ /* Define to 1 if you have the header file. */
+ #undef HAVE_UNISTD_H
+
++/* JSFunctionSpec has an extra member */
++#undef JS_FS_HAS_EXTRA
++
++/* The type of "id" in the prototype for JSPropertyOp is a jsid */
++#undef JS_PROPERTY_OP_HAS_ID_AS_JSID
++
+ /* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+ #undef LT_OBJDIR
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//configure couchdb-1.0.1.new//configure
+--- couchdb-1.0.1//configure 2011-06-14 18:31:30.523666671 +0100
++++ couchdb-1.0.1.new//configure 2011-06-14 18:31:45.533859670 +0100
+@@ -1,12 +1,14 @@
+ #! /bin/sh
+ # From configure.ac 1.0.1.
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated by GNU Autoconf 2.64 for Apache CouchDB 1.0.1.
++# Generated by GNU Autoconf 2.68 for Apache CouchDB 1.0.1.
++#
+ #
+ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
++# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
+ # Foundation, Inc.
+ #
++#
+ # This configure script is free software; the Free Software Foundation
+ # gives unlimited permission to copy, distribute and modify it.
+ ## -------------------- ##
+@@ -88,6 +90,7 @@
+ IFS=" "" $as_nl"
+
+ # Find who we are. Look in the path if we contain no directory separator.
++as_myself=
+ case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+@@ -170,7 +173,15 @@
+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+-test \$(( 1 + 1 )) = 2 || exit 1"
++test \$(( 1 + 1 )) = 2 || exit 1
++
++ test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
++ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
++ ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
++ ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
++ PATH=/empty FPATH=/empty; export PATH FPATH
++ test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
++ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
+ if (eval "$as_required") 2>/dev/null; then :
+ as_have_required=yes
+ else
+@@ -213,11 +224,18 @@
+ # We cannot yet assume a decent shell, so we have to provide a
+ # neutralization value for shells without unset; and this also
+ # works around shells that cannot unset nonexistent variables.
++ # Preserve -v and -x to the replacement shell.
+ BASH_ENV=/dev/null
+ ENV=/dev/null
+ (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+ export CONFIG_SHELL
+- exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
++ case $- in # ((((
++ *v*x* | *x*v* ) as_opts=-vx ;;
++ *v* ) as_opts=-v ;;
++ *x* ) as_opts=-x ;;
++ * ) as_opts= ;;
++ esac
++ exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
+ fi
+
+ if test x$as_have_required = xno; then :
+@@ -315,7 +333,7 @@
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+- } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
++ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+ } # as_fn_mkdir_p
+@@ -355,19 +373,19 @@
+ fi # as_fn_arith
+
+
+-# as_fn_error ERROR [LINENO LOG_FD]
+-# ---------------------------------
++# as_fn_error STATUS ERROR [LINENO LOG_FD]
++# ----------------------------------------
+ # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+ # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+-# script with status $?, using 1 if that was 0.
++# script with STATUS, using 1 if that was 0.
+ as_fn_error ()
+ {
+- as_status=$?; test $as_status -eq 0 && as_status=1
+- if test "$3"; then
+- as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+- $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
++ as_status=$1; test $as_status -eq 0 && as_status=1
++ if test "$4"; then
++ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+- $as_echo "$as_me: error: $1" >&2
++ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+ } # as_fn_error
+
+@@ -524,160 +542,14 @@
+ # Sed expression to map a string onto a valid variable name.
+ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+-
+-
+-# Check that we are running under the correct shell.
+ SHELL=${CONFIG_SHELL-/bin/sh}
+
+-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
+-
+-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
+-
+-if test "X$1" = X--fallback-echo; then
+- # used as fallback echo
+- shift
+- cat <<_LT_EOF
+-$*
+-_LT_EOF
+- exit 0
+-fi
+-
+-# 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 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
+- # 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.
+-
+- 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"
+-
+- 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=:
+-
+- 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
+-
+- 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
+-
+-# 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
+-
+-
+-
+
+-exec 7<&0 &1
++test -n "$DJDIR" || exec 7<&0 &1
+
+ # Name of the host.
+-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
++# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+ # so uname gets run too.
+ ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+@@ -787,7 +659,6 @@
+ ICU_CXXFLAGS
+ ICU_CFLAGS
+ ICU_CONFIG
+-JSLIB
+ msvc_redist_name
+ msvc_redist_dir
+ INNO_COMPILER_EXECUTABLE
+@@ -799,14 +670,18 @@
+ FLAGS
+ ERLC_FLAGS
+ JS_LIB_DIR
++JS_LIBS
++JS_CFLAGS
+ OTOOL64
+ OTOOL
+ LIPO
+ NMEDIT
+ DSYMUTIL
+-lt_ECHO
++MANIFEST_TOOL
+ RANLIB
++ac_ct_AR
+ AR
++DLLTOOL
+ OBJDUMP
+ LN_S
+ NM
+@@ -824,6 +699,9 @@
+ build_cpu
+ build
+ LIBTOOL
++PKG_CONFIG_LIBDIR
++PKG_CONFIG_PATH
++PKG_CONFIG
+ EGREP
+ GREP
+ CPP
+@@ -913,6 +791,7 @@
+ with_pic
+ enable_fast_install
+ with_gnu_ld
++with_sysroot
+ enable_libtool_lock
+ with_erlang
+ with_js_include
+@@ -933,6 +812,11 @@
+ LIBS
+ CPPFLAGS
+ CPP
++PKG_CONFIG
++PKG_CONFIG_PATH
++PKG_CONFIG_LIBDIR
++JS_CFLAGS
++JS_LIBS
+ ERLC_FLAGS
+ FLAGS
+ ERL
+@@ -1000,8 +884,9 @@
+ fi
+
+ case $ac_option in
+- *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+- *) ac_optarg=yes ;;
++ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
++ *=) ac_optarg= ;;
++ *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+@@ -1046,7 +931,7 @@
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+- as_fn_error "invalid feature name: $ac_useropt"
++ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+@@ -1072,7 +957,7 @@
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+- as_fn_error "invalid feature name: $ac_useropt"
++ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+@@ -1276,7 +1161,7 @@
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+- as_fn_error "invalid package name: $ac_useropt"
++ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+@@ -1292,7 +1177,7 @@
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+- as_fn_error "invalid package name: $ac_useropt"
++ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+@@ -1322,8 +1207,8 @@
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+- -*) as_fn_error "unrecognized option: \`$ac_option'
+-Try \`$0 --help' for more information."
++ -*) as_fn_error $? "unrecognized option: \`$ac_option'
++Try \`$0 --help' for more information"
+ ;;
+
+ *=*)
+@@ -1331,7 +1216,7 @@
+ # Reject names that are not valid shell variable names.
+ case $ac_envvar in #(
+ '' | [0-9]* | *[!_$as_cr_alnum]* )
+- as_fn_error "invalid variable name: \`$ac_envvar'" ;;
++ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+ esac
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+@@ -1341,7 +1226,7 @@
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
++ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
+ ;;
+
+ esac
+@@ -1349,13 +1234,13 @@
+
+ if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+- as_fn_error "missing argument to $ac_option"
++ as_fn_error $? "missing argument to $ac_option"
+ fi
+
+ if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+- fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
++ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+ fi
+@@ -1378,7 +1263,7 @@
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+- as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
++ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+ done
+
+ # There might be people who depend on the old broken behavior: `$host'
+@@ -1392,8 +1277,8 @@
+ if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+- $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+- If a cross compiler is detected then cross compile mode will be used." >&2
++ $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
++ If a cross compiler is detected then cross compile mode will be used" >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+@@ -1408,9 +1293,9 @@
+ ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ ac_ls_di=`ls -di .` &&
+ ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+- as_fn_error "working directory cannot be determined"
++ as_fn_error $? "working directory cannot be determined"
+ test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+- as_fn_error "pwd does not report name of working directory"
++ as_fn_error $? "pwd does not report name of working directory"
+
+
+ # Find the source files, if location was not specified.
+@@ -1449,11 +1334,11 @@
+ fi
+ if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+- as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
++ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+ fi
+ ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ ac_abs_confdir=`(
+- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
++ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+ pwd)`
+ # When building in place, set srcdir=.
+ if test "$ac_abs_confdir" = "$ac_pwd"; then
+@@ -1493,7 +1378,7 @@
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+- -q, --quiet, --silent do not print \`checking...' messages
++ -q, --quiet, --silent do not print \`checking ...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+@@ -1573,6 +1458,8 @@
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
++ --with-sysroot=DIR Search for dependent libraries within DIR
++ (or the compiler's sysroot if not specified).
+ --with-erlang=PATH set PATH to the Erlang include directory
+ --with-js-include=PATH set PATH to the SpiderMonkey include directory
+ --with-js-lib=PATH set PATH to the SpiderMonkey library directory
+@@ -1592,9 +1479,16 @@
+ LDFLAGS linker flags, e.g. -L if you have libraries in a
+ nonstandard directory
+ LIBS libraries to pass to the linker, e.g. -l
+- CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if
++ CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if
+ you have headers in a nonstandard directory
+ CPP C preprocessor
++ PKG_CONFIG path to pkg-config utility
++ PKG_CONFIG_PATH
++ directories to add to pkg-config's search path
++ PKG_CONFIG_LIBDIR
++ path overriding pkg-config's built-in search path
++ JS_CFLAGS C compiler flags for JS, overriding pkg-config
++ JS_LIBS linker flags for JS, overriding pkg-config
+ ERLC_FLAGS general flags to prepend to ERLC_FLAGS
+ FLAGS general flags to prepend to LDFLAGS and CPPFLAGS
+ ERL path to the `erl' executable
+@@ -1669,9 +1563,9 @@
+ if $ac_init_version; then
+ cat <<\_ACEOF
+ Apache CouchDB configure 1.0.1
+-generated by GNU Autoconf 2.64
++generated by GNU Autoconf 2.68
+
+-Copyright (C) 2009 Free Software Foundation, Inc.
++Copyright (C) 2010 Free Software Foundation, Inc.
+ This configure script is free software; the Free Software Foundation
+ gives unlimited permission to copy, distribute and modify it.
+ _ACEOF
+@@ -1715,8 +1609,8 @@
+
+ ac_retval=1
+ fi
+- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+- return $ac_retval
++ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
++ as_fn_set_status $ac_retval
+
+ } # ac_fn_c_try_compile
+
+@@ -1741,7 +1635,7 @@
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+- test $ac_status = 0; } >/dev/null && {
++ test $ac_status = 0; } > conftest.i && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then :
+@@ -1752,8 +1646,8 @@
+
+ ac_retval=1
+ fi
+- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+- return $ac_retval
++ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
++ as_fn_set_status $ac_retval
+
+ } # ac_fn_c_try_cpp
+
+@@ -1765,10 +1659,10 @@
+ ac_fn_c_check_header_mongrel ()
+ {
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+- if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
++ if eval \${$3+:} false; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+ $as_echo_n "checking for $2... " >&6; }
+-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
++if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+ fi
+ eval ac_res=\$$3
+@@ -1804,7 +1698,7 @@
+ else
+ ac_header_preproc=no
+ fi
+-rm -f conftest.err conftest.$ac_ext
++rm -f conftest.err conftest.i conftest.$ac_ext
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+ $as_echo "$ac_header_preproc" >&6; }
+
+@@ -1831,7 +1725,7 @@
+ esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+ $as_echo_n "checking for $2... " >&6; }
+-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
++if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ eval "$3=\$ac_header_compiler"
+@@ -1840,7 +1734,7 @@
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+ $as_echo "$ac_res" >&6; }
+ fi
+- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
++ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+ } # ac_fn_c_check_header_mongrel
+
+@@ -1881,8 +1775,8 @@
+ ac_retval=$ac_status
+ fi
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+- return $ac_retval
++ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
++ as_fn_set_status $ac_retval
+
+ } # ac_fn_c_try_run
+
+@@ -1895,7 +1789,7 @@
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+ $as_echo_n "checking for $2... " >&6; }
+-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
++if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -1913,7 +1807,7 @@
+ eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+ $as_echo "$ac_res" >&6; }
+- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
++ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+ } # ac_fn_c_check_header_compile
+
+@@ -1958,8 +1852,8 @@
+ # interfere with the next link command; also delete a directory that is
+ # left behind by Apple's compiler. We do this before executing the actions.
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+- return $ac_retval
++ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
++ as_fn_set_status $ac_retval
+
+ } # ac_fn_c_try_link
+
+@@ -1971,7 +1865,7 @@
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+ $as_echo_n "checking for $2... " >&6; }
+-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
++if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -2026,7 +1920,7 @@
+ eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+ $as_echo "$ac_res" >&6; }
+- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
++ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+ } # ac_fn_c_check_func
+ cat >config.log <<_ACEOF
+@@ -2034,7 +1928,7 @@
+ running configure, to aid debugging if configure makes a mistake.
+
+ It was created by Apache CouchDB $as_me 1.0.1, which was
+-generated by GNU Autoconf 2.64. Invocation command line was
++generated by GNU Autoconf 2.68. Invocation command line was
+
+ $ $0 $@
+
+@@ -2144,11 +2038,9 @@
+ {
+ echo
+
+- cat <<\_ASBOX
+-## ---------------- ##
++ $as_echo "## ---------------- ##
+ ## Cache variables. ##
+-## ---------------- ##
+-_ASBOX
++## ---------------- ##"
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+ (
+@@ -2182,11 +2074,9 @@
+ )
+ echo
+
+- cat <<\_ASBOX
+-## ----------------- ##
++ $as_echo "## ----------------- ##
+ ## Output variables. ##
+-## ----------------- ##
+-_ASBOX
++## ----------------- ##"
+ echo
+ for ac_var in $ac_subst_vars
+ do
+@@ -2199,11 +2089,9 @@
+ echo
+
+ if test -n "$ac_subst_files"; then
+- cat <<\_ASBOX
+-## ------------------- ##
++ $as_echo "## ------------------- ##
+ ## File substitutions. ##
+-## ------------------- ##
+-_ASBOX
++## ------------------- ##"
+ echo
+ for ac_var in $ac_subst_files
+ do
+@@ -2217,11 +2105,9 @@
+ fi
+
+ if test -s confdefs.h; then
+- cat <<\_ASBOX
+-## ----------- ##
++ $as_echo "## ----------- ##
+ ## confdefs.h. ##
+-## ----------- ##
+-_ASBOX
++## ----------- ##"
+ echo
+ cat confdefs.h
+ echo
+@@ -2276,7 +2162,12 @@
+ ac_site_file1=NONE
+ ac_site_file2=NONE
+ if test -n "$CONFIG_SITE"; then
+- ac_site_file1=$CONFIG_SITE
++ # We do not want a PATH search for config.site.
++ case $CONFIG_SITE in #((
++ -*) ac_site_file1=./$CONFIG_SITE;;
++ */*) ac_site_file1=$CONFIG_SITE;;
++ *) ac_site_file1=./$CONFIG_SITE;;
++ esac
+ elif test "x$prefix" != xNONE; then
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
+@@ -2287,18 +2178,22 @@
+ for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+ do
+ test "x$ac_site_file" = xNONE && continue
+- if test -r "$ac_site_file"; then
++ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+ $as_echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+- . "$ac_site_file"
++ . "$ac_site_file" \
++ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++as_fn_error $? "failed to load site script $ac_site_file
++See \`config.log' for more details" "$LINENO" 5; }
+ fi
+ done
+
+ if test -r "$cache_file"; then
+- # Some versions of bash will fail to source /dev/null (special
+- # files actually), so we avoid doing that.
+- if test -f "$cache_file"; then
++ # Some versions of bash will fail to source /dev/null (special files
++ # actually), so we avoid doing that. DJGPP emulates it as a regular file.
++ if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+ $as_echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+@@ -2367,7 +2262,7 @@
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+ $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+- as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
++ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+ fi
+ ## -------------------- ##
+ ## Main body of script. ##
+@@ -2386,16 +2281,22 @@
+
+ ac_aux_dir=
+ for ac_dir in build-aux "$srcdir"/build-aux; do
+- for ac_t in install-sh install.sh shtool; do
+- if test -f "$ac_dir/$ac_t"; then
+- ac_aux_dir=$ac_dir
+- ac_install_sh="$ac_aux_dir/$ac_t -c"
+- break 2
+- fi
+- done
++ if test -f "$ac_dir/install-sh"; then
++ ac_aux_dir=$ac_dir
++ ac_install_sh="$ac_aux_dir/install-sh -c"
++ break
++ elif test -f "$ac_dir/install.sh"; then
++ ac_aux_dir=$ac_dir
++ ac_install_sh="$ac_aux_dir/install.sh -c"
++ break
++ elif test -f "$ac_dir/shtool"; then
++ ac_aux_dir=$ac_dir
++ ac_install_sh="$ac_aux_dir/shtool install -c"
++ break
++ fi
+ done
+ if test -z "$ac_aux_dir"; then
+- as_fn_error "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5
++ as_fn_error $? "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5
+ fi
+
+ # These three variables are undocumented and unsupported,
+@@ -2431,7 +2332,7 @@
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+ $as_echo_n "checking for a BSD-compatible install... " >&6; }
+ if test -z "$INSTALL"; then
+-if test "${ac_cv_path_install+set}" = set; then :
++if ${ac_cv_path_install+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+@@ -2518,11 +2419,11 @@
+ '
+ case `pwd` in
+ *[\\\"\#\$\&\'\`$am_lf]*)
+- as_fn_error "unsafe absolute working directory name" "$LINENO" 5;;
++ as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
+ esac
+ case $srcdir in
+ *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
+- as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
++ as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+ esac
+
+ # Do `set' in a subshell so we don't clobber the current shell's
+@@ -2544,7 +2445,7 @@
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+- as_fn_error "ls -t appears to fail. Make sure there is not a broken
++ as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
+ alias in your environment" "$LINENO" 5
+ fi
+
+@@ -2554,7 +2455,7 @@
+ # Ok.
+ :
+ else
+- as_fn_error "newly created file is older than distributed files!
++ as_fn_error $? "newly created file is older than distributed files!
+ Check your system clock" "$LINENO" 5
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+@@ -2608,7 +2509,7 @@
+ set dummy ${ac_tool_prefix}strip; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_STRIP+set}" = set; then :
++if ${ac_cv_prog_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$STRIP"; then
+@@ -2648,7 +2549,7 @@
+ set dummy strip; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
++if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$ac_ct_STRIP"; then
+@@ -2701,7 +2602,7 @@
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+ $as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+ if test -z "$MKDIR_P"; then
+- if test "${ac_cv_path_mkdir+set}" = set; then :
++ if ${ac_cv_path_mkdir+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+@@ -2726,6 +2627,7 @@
+
+ fi
+
++ test -d ./--version && rmdir ./--version
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ MKDIR_P="$ac_cv_path_mkdir -p"
+ else
+@@ -2733,7 +2635,6 @@
+ # value for MKDIR_P within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+- test -d ./--version && rmdir ./--version
+ MKDIR_P="$ac_install_sh -d"
+ fi
+ fi
+@@ -2752,7 +2653,7 @@
+ set dummy $ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_AWK+set}" = set; then :
++if ${ac_cv_prog_AWK+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$AWK"; then
+@@ -2792,7 +2693,7 @@
+ $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+ set x ${MAKE-make}
+ ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
++if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat >conftest.make <<\_ACEOF
+@@ -2800,7 +2701,7 @@
+ all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+ _ACEOF
+-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
++# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+ case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+@@ -2834,7 +2735,7 @@
+ am__isrc=' -I$(srcdir)'
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+- as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
++ as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+ fi
+ fi
+
+@@ -2963,7 +2864,7 @@
+ set dummy ${ac_tool_prefix}gcc; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_CC+set}" = set; then :
++if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$CC"; then
+@@ -3003,7 +2904,7 @@
+ set dummy gcc; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
++if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$ac_ct_CC"; then
+@@ -3056,7 +2957,7 @@
+ set dummy ${ac_tool_prefix}cc; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_CC+set}" = set; then :
++if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$CC"; then
+@@ -3096,7 +2997,7 @@
+ set dummy cc; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_CC+set}" = set; then :
++if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$CC"; then
+@@ -3155,7 +3056,7 @@
+ set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_CC+set}" = set; then :
++if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$CC"; then
+@@ -3199,7 +3100,7 @@
+ set dummy $ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
++if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$ac_ct_CC"; then
+@@ -3253,8 +3154,8 @@
+
+ test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error "no acceptable C compiler found in \$PATH
+-See \`config.log' for more details." "$LINENO" 5; }
++as_fn_error $? "no acceptable C compiler found in \$PATH
++See \`config.log' for more details" "$LINENO" 5; }
+
+ # Provide some information about the compiler.
+ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+@@ -3275,32 +3176,30 @@
+ ... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+- rm -f conftest.er1 conftest.err
+ fi
++ rm -f conftest.er1 conftest.err
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ done
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+-#include
++
+ int
+ main ()
+ {
+-FILE *f = fopen ("conftest.out", "w");
+- return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+ }
+ _ACEOF
+ ac_clean_files_save=$ac_clean_files
+-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
++ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+ # Try to create an executable without -o first, disregard a.out.
+ # It will help us diagnose broken compilers, and finding out an intuition
+ # of exeext.
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+-$as_echo_n "checking for C compiler default output file name... " >&6; }
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
++$as_echo_n "checking whether the C compiler works... " >&6; }
+ ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+ # The possible output files:
+@@ -3362,62 +3261,28 @@
+ else
+ ac_file=''
+ fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+-$as_echo "$ac_file" >&6; }
+ if test -z "$ac_file"; then :
+- $as_echo "$as_me: failed program was:" >&5
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++$as_echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-{ as_fn_set_status 77
+-as_fn_error "C compiler cannot create executables
+-See \`config.log' for more details." "$LINENO" 5; }; }
++as_fn_error 77 "C compiler cannot create executables
++See \`config.log' for more details" "$LINENO" 5; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
++$as_echo "yes" >&6; }
+ fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
++$as_echo_n "checking for C compiler default output file name... " >&6; }
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
++$as_echo "$ac_file" >&6; }
+ ac_exeext=$ac_cv_exeext
+
+-# Check that the compiler produces executables we can run. If not, either
+-# the compiler is broken, or we cross compile.
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+-$as_echo_n "checking whether the C compiler works... " >&6; }
+-# If not cross compiling, check that we can run a simple program.
+-if test "$cross_compiling" != yes; then
+- if { ac_try='./$ac_file'
+- { { case "(($ac_try" in
+- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+- *) ac_try_echo=$ac_try;;
+-esac
+-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+-$as_echo "$ac_try_echo"; } >&5
+- (eval "$ac_try") 2>&5
+- ac_status=$?
+- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+- test $ac_status = 0; }; }; then
+- cross_compiling=no
+- else
+- if test "$cross_compiling" = maybe; then
+- cross_compiling=yes
+- else
+- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error "cannot run C compiled programs.
+-If you meant to cross compile, use \`--host'.
+-See \`config.log' for more details." "$LINENO" 5; }
+- fi
+- fi
+-fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+-$as_echo "yes" >&6; }
+-
+-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
++rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ ac_clean_files=$ac_clean_files_save
+-# Check that the compiler produces executables we can run. If not, either
+-# the compiler is broken, or we cross compile.
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+-$as_echo_n "checking whether we are cross compiling... " >&6; }
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+-$as_echo "$cross_compiling" >&6; }
+-
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+ $as_echo_n "checking for suffix of executables... " >&6; }
+ if { { ac_try="$ac_link"
+@@ -3447,19 +3312,78 @@
+ else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error "cannot compute suffix of executables: cannot compile and link
+-See \`config.log' for more details." "$LINENO" 5; }
++as_fn_error $? "cannot compute suffix of executables: cannot compile and link
++See \`config.log' for more details" "$LINENO" 5; }
+ fi
+-rm -f conftest$ac_cv_exeext
++rm -f conftest conftest$ac_cv_exeext
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+ $as_echo "$ac_cv_exeext" >&6; }
+
+ rm -f conftest.$ac_ext
+ EXEEXT=$ac_cv_exeext
+ ac_exeext=$EXEEXT
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++#include
++int
++main ()
++{
++FILE *f = fopen ("conftest.out", "w");
++ return ferror (f) || fclose (f) != 0;
++
++ ;
++ return 0;
++}
++_ACEOF
++ac_clean_files="$ac_clean_files conftest.out"
++# Check that the compiler produces executables we can run. If not, either
++# the compiler is broken, or we cross compile.
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
++$as_echo_n "checking whether we are cross compiling... " >&6; }
++if test "$cross_compiling" != yes; then
++ { { ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
++$as_echo "$ac_try_echo"; } >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }
++ if { ac_try='./conftest$ac_cv_exeext'
++ { { case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
++$as_echo "$ac_try_echo"; } >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }; }; then
++ cross_compiling=no
++ else
++ if test "$cross_compiling" = maybe; then
++ cross_compiling=yes
++ else
++ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++as_fn_error $? "cannot run C compiled programs.
++If you meant to cross compile, use \`--host'.
++See \`config.log' for more details" "$LINENO" 5; }
++ fi
++ fi
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
++$as_echo "$cross_compiling" >&6; }
++
++rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
++ac_clean_files=$ac_clean_files_save
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+ $as_echo_n "checking for suffix of object files... " >&6; }
+-if test "${ac_cv_objext+set}" = set; then :
++if ${ac_cv_objext+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -3499,8 +3423,8 @@
+
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error "cannot compute suffix of object files: cannot compile
+-See \`config.log' for more details." "$LINENO" 5; }
++as_fn_error $? "cannot compute suffix of object files: cannot compile
++See \`config.log' for more details" "$LINENO" 5; }
+ fi
+ rm -f conftest.$ac_cv_objext conftest.$ac_ext
+ fi
+@@ -3510,7 +3434,7 @@
+ ac_objext=$OBJEXT
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+ $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
++if ${ac_cv_c_compiler_gnu+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -3547,7 +3471,7 @@
+ ac_save_CFLAGS=$CFLAGS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+ $as_echo_n "checking whether $CC accepts -g... " >&6; }
+-if test "${ac_cv_prog_cc_g+set}" = set; then :
++if ${ac_cv_prog_cc_g+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+@@ -3625,7 +3549,7 @@
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+ $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+-if test "${ac_cv_prog_cc_c89+set}" = set; then :
++if ${ac_cv_prog_cc_c89+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_cv_prog_cc_c89=no
+@@ -3724,7 +3648,7 @@
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+ $as_echo_n "checking dependency style of $depcc... " >&6; }
+-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
++if ${am_cv_CC_dependencies_compiler_type+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+@@ -3860,7 +3784,7 @@
+ CPP=
+ fi
+ if test -z "$CPP"; then
+- if test "${ac_cv_prog_CPP+set}" = set; then :
++ if ${ac_cv_prog_CPP+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ # Double quotes because CPP needs to be expanded
+@@ -3890,7 +3814,7 @@
+ # Broken: fails on valid input.
+ continue
+ fi
+-rm -f conftest.err conftest.$ac_ext
++rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+@@ -3906,11 +3830,11 @@
+ ac_preproc_ok=:
+ break
+ fi
+-rm -f conftest.err conftest.$ac_ext
++rm -f conftest.err conftest.i conftest.$ac_ext
+
+ done
+ # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+-rm -f conftest.err conftest.$ac_ext
++rm -f conftest.i conftest.err conftest.$ac_ext
+ if $ac_preproc_ok; then :
+ break
+ fi
+@@ -3949,7 +3873,7 @@
+ # Broken: fails on valid input.
+ continue
+ fi
+-rm -f conftest.err conftest.$ac_ext
++rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+@@ -3965,18 +3889,18 @@
+ ac_preproc_ok=:
+ break
+ fi
+-rm -f conftest.err conftest.$ac_ext
++rm -f conftest.err conftest.i conftest.$ac_ext
+
+ done
+ # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+-rm -f conftest.err conftest.$ac_ext
++rm -f conftest.i conftest.err conftest.$ac_ext
+ if $ac_preproc_ok; then :
+
+ else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error "C preprocessor \"$CPP\" fails sanity check
+-See \`config.log' for more details." "$LINENO" 5; }
++as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
++See \`config.log' for more details" "$LINENO" 5; }
+ fi
+
+ ac_ext=c
+@@ -3988,7 +3912,7 @@
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+ $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+-if test "${ac_cv_path_GREP+set}" = set; then :
++if ${ac_cv_path_GREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -z "$GREP"; then
+@@ -4037,7 +3961,7 @@
+ done
+ IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+- as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
++ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+ else
+ ac_cv_path_GREP=$GREP
+@@ -4051,7 +3975,7 @@
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+ $as_echo_n "checking for egrep... " >&6; }
+-if test "${ac_cv_path_EGREP+set}" = set; then :
++if ${ac_cv_path_EGREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+@@ -4103,7 +4027,7 @@
+ done
+ IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+- as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
++ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+ else
+ ac_cv_path_EGREP=$EGREP
+@@ -4118,7 +4042,7 @@
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+ $as_echo_n "checking for ANSI C header files... " >&6; }
+-if test "${ac_cv_header_stdc+set}" = set; then :
++if ${ac_cv_header_stdc+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -4235,8 +4159,7 @@
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+ "
+-eval as_val=\$$as_ac_Header
+- if test "x$as_val" = x""yes; then :
++if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+ _ACEOF
+@@ -4248,7 +4171,7 @@
+
+
+ ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
+-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
++if test "x$ac_cv_header_minix_config_h" = xyes; then :
+ MINIX=yes
+ else
+ MINIX=
+@@ -4270,7 +4193,7 @@
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
+ $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
+-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
++if ${ac_cv_safe_to_define___extensions__+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -4371,30 +4294,35 @@
+
+
+
+-ac_ext=c
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+-if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}gcc; ac_word=$2
++
++
++
++
++
++
++
++if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
++set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_CC+set}" = set; then :
++if ${ac_cv_path_PKG_CONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+- if test -n "$CC"; then
+- ac_cv_prog_CC="$CC" # Let the user override the test.
+-else
+-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++ case $PKG_CONFIG in
++ [\\/]* | ?:[\\/]*)
++ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
++ ;;
++ *)
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+ IFS=$as_save_IFS
+ 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_CC="${ac_tool_prefix}gcc"
++ ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -4402,12 +4330,13 @@
+ done
+ IFS=$as_save_IFS
+
++ ;;
++esac
+ fi
+-fi
+-CC=$ac_cv_prog_CC
+-if test -n "$CC"; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+-$as_echo "$CC" >&6; }
++PKG_CONFIG=$ac_cv_path_PKG_CONFIG
++if test -n "$PKG_CONFIG"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
++$as_echo "$PKG_CONFIG" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+@@ -4415,26 +4344,28 @@
+
+
+ fi
+-if test -z "$ac_cv_prog_CC"; then
+- ac_ct_CC=$CC
+- # Extract the first word of "gcc", so it can be a program name with args.
+-set dummy gcc; ac_word=$2
++if test -z "$ac_cv_path_PKG_CONFIG"; then
++ ac_pt_PKG_CONFIG=$PKG_CONFIG
++ # Extract the first word of "pkg-config", so it can be a program name with args.
++set dummy pkg-config; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
++if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+- if test -n "$ac_ct_CC"; then
+- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+-else
+-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++ case $ac_pt_PKG_CONFIG in
++ [\\/]* | ?:[\\/]*)
++ ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
++ ;;
++ *)
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+ IFS=$as_save_IFS
+ 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_ac_ct_CC="gcc"
++ ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -4442,19 +4373,20 @@
+ done
+ IFS=$as_save_IFS
+
++ ;;
++esac
+ fi
+-fi
+-ac_ct_CC=$ac_cv_prog_ac_ct_CC
+-if test -n "$ac_ct_CC"; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+-$as_echo "$ac_ct_CC" >&6; }
++ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
++if test -n "$ac_pt_PKG_CONFIG"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
++$as_echo "$ac_pt_PKG_CONFIG" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+ fi
+
+- if test "x$ac_ct_CC" = x; then
+- CC=""
++ if test "x$ac_pt_PKG_CONFIG" = x; then
++ PKG_CONFIG=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+ yes:)
+@@ -4462,30 +4394,142 @@
+ $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ ac_tool_warned=yes ;;
+ esac
+- CC=$ac_ct_CC
++ PKG_CONFIG=$ac_pt_PKG_CONFIG
+ fi
+ else
+- CC="$ac_cv_prog_CC"
++ PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+ fi
+
+-if test -z "$CC"; then
+- if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}cc; ac_word=$2
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+-$as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_CC+set}" = set; then :
+- $as_echo_n "(cached) " >&6
+-else
+- if test -n "$CC"; then
+- ac_cv_prog_CC="$CC" # Let the user override the test.
+-else
+-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- for ac_exec_ext in '' $ac_executable_extensions; do
++fi
++if test -n "$PKG_CONFIG"; then
++ _pkg_min_version=0.9.0
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
++$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
++ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
++$as_echo "yes" >&6; }
++ else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++ PKG_CONFIG=""
++ fi
++fi
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
++set dummy ${ac_tool_prefix}gcc; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_CC+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$CC"; then
++ ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ 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_CC="${ac_tool_prefix}gcc"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
++$as_echo "$CC" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_CC"; then
++ ac_ct_CC=$CC
++ # Extract the first word of "gcc", so it can be a program name with args.
++set dummy gcc; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_ac_ct_CC+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$ac_ct_CC"; then
++ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ 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_ac_ct_CC="gcc"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_CC=$ac_cv_prog_ac_ct_CC
++if test -n "$ac_ct_CC"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
++$as_echo "$ac_ct_CC" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_CC" = x; then
++ CC=""
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ CC=$ac_ct_CC
++ fi
++else
++ CC="$ac_cv_prog_CC"
++fi
++
++if test -z "$CC"; then
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
++set dummy ${ac_tool_prefix}cc; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_CC+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$CC"; then
++ ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ 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_CC="${ac_tool_prefix}cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+@@ -4514,7 +4558,7 @@
+ set dummy cc; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_CC+set}" = set; then :
++if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$CC"; then
+@@ -4573,7 +4617,7 @@
+ set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_CC+set}" = set; then :
++if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$CC"; then
+@@ -4617,7 +4661,7 @@
+ set dummy $ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
++if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$ac_ct_CC"; then
+@@ -4671,8 +4715,8 @@
+
+ test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error "no acceptable C compiler found in \$PATH
+-See \`config.log' for more details." "$LINENO" 5; }
++as_fn_error $? "no acceptable C compiler found in \$PATH
++See \`config.log' for more details" "$LINENO" 5; }
+
+ # Provide some information about the compiler.
+ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+@@ -4693,15 +4737,15 @@
+ ... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+- rm -f conftest.er1 conftest.err
+ fi
++ rm -f conftest.er1 conftest.err
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ done
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+ $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
++if ${ac_cv_c_compiler_gnu+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -4738,7 +4782,7 @@
+ ac_save_CFLAGS=$CFLAGS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+ $as_echo_n "checking whether $CC accepts -g... " >&6; }
+-if test "${ac_cv_prog_cc_g+set}" = set; then :
++if ${ac_cv_prog_cc_g+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+@@ -4816,7 +4860,7 @@
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+ $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+-if test "${ac_cv_prog_cc_c89+set}" = set; then :
++if ${ac_cv_prog_cc_c89+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_cv_prog_cc_c89=no
+@@ -4915,7 +4959,7 @@
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+ $as_echo_n "checking dependency style of $depcc... " >&6; }
+-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
++if ${am_cv_CC_dependencies_compiler_type+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+@@ -5046,8 +5090,8 @@
+
+
+
+-macro_version='2.2.6'
+-macro_revision='1.3012'
++macro_version='2.4'
++macro_revision='1.3293'
+
+
+
+@@ -5065,27 +5109,27 @@
+
+ # Make sure we can run config.sub.
+ $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+- as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
++ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+ $as_echo_n "checking build system type... " >&6; }
+-if test "${ac_cv_build+set}" = set; then :
++if ${ac_cv_build+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_build_alias=$build_alias
+ test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+ test "x$ac_build_alias" = x &&
+- as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
++ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+- as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
++ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+ $as_echo "$ac_cv_build" >&6; }
+ case $ac_cv_build in
+ *-*-*) ;;
+-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
++*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+ esac
+ build=$ac_cv_build
+ ac_save_IFS=$IFS; IFS='-'
+@@ -5103,14 +5147,14 @@
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+ $as_echo_n "checking host system type... " >&6; }
+-if test "${ac_cv_host+set}" = set; then :
++if ${ac_cv_host+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+ else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+- as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
++ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+ fi
+
+ fi
+@@ -5118,7 +5162,7 @@
+ $as_echo "$ac_cv_host" >&6; }
+ case $ac_cv_host in
+ *-*-*) ;;
+-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
++*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+ esac
+ host=$ac_cv_host
+ ac_save_IFS=$IFS; IFS='-'
+@@ -5134,9 +5178,78 @@
+ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
++# Backslashify metacharacters that are still active within
++# double-quoted strings.
++sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
++
++# Same as above, but do not quote variable references.
++double_quote_subst='s/\(["`\\]\)/\\\1/g'
++
++# 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'
++
++# Sed substitution to avoid accidental globbing in evaled expressions
++no_glob_subst='s/\*/\\\*/g'
++
++ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
++ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
++ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
++$as_echo_n "checking how to print strings... " >&6; }
++# Test print first, because it will be a builtin if present.
++if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
++ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
++ ECHO='print -r --'
++elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
++ ECHO='printf %s\n'
++else
++ # Use this function as a fallback that always works.
++ func_fallback_echo ()
++ {
++ eval 'cat <<_LTECHO_EOF
++$1
++_LTECHO_EOF'
++ }
++ ECHO='func_fallback_echo'
++fi
++
++# func_echo_all arg...
++# Invoke $ECHO with all args, space-separated.
++func_echo_all ()
++{
++ $ECHO ""
++}
++
++case "$ECHO" in
++ printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
++$as_echo "printf" >&6; } ;;
++ print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
++$as_echo "print -r" >&6; } ;;
++ *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
++$as_echo "cat" >&6; } ;;
++esac
++
++
++
++
++
++
++
++
++
++
++
++
++
++
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+ $as_echo_n "checking for a sed that does not truncate output... " >&6; }
+-if test "${ac_cv_path_SED+set}" = set; then :
++if ${ac_cv_path_SED+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+@@ -5191,7 +5304,7 @@
+ done
+ IFS=$as_save_IFS
+ if test -z "$ac_cv_path_SED"; then
+- as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
++ as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
+ fi
+ else
+ ac_cv_path_SED=$SED
+@@ -5218,7 +5331,7 @@
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
+ $as_echo_n "checking for fgrep... " >&6; }
+-if test "${ac_cv_path_FGREP+set}" = set; then :
++if ${ac_cv_path_FGREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+@@ -5270,7 +5383,7 @@
+ done
+ IFS=$as_save_IFS
+ if test -z "$ac_cv_path_FGREP"; then
+- as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
++ as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+ else
+ ac_cv_path_FGREP=$FGREP
+@@ -5349,7 +5462,7 @@
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+ $as_echo_n "checking for non-GNU ld... " >&6; }
+ fi
+-if test "${lt_cv_path_LD+set}" = set; then :
++if ${lt_cv_path_LD+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -z "$LD"; then
+@@ -5386,10 +5499,10 @@
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+ fi
+-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
++test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+ $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
++if ${lt_cv_prog_gnu_ld+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ # I'd rather use --version here, but apparently some GNU lds only accept -v.
+@@ -5416,7 +5529,7 @@
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
+ $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
+-if test "${lt_cv_path_NM+set}" = set; then :
++if ${lt_cv_path_NM+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$NM"; then
+@@ -5469,14 +5582,17 @@
+ NM="$lt_cv_path_NM"
+ else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+- if test -n "$ac_tool_prefix"; then
+- for ac_prog in "dumpbin -symbols" "link -dump -symbols"
++ if test -n "$DUMPBIN"; then :
++ # Let the user override the test.
++ else
++ if test -n "$ac_tool_prefix"; then
++ for ac_prog in dumpbin "link -dump"
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+ set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
++if ${ac_cv_prog_DUMPBIN+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$DUMPBIN"; then
+@@ -5514,13 +5630,13 @@
+ fi
+ if test -z "$DUMPBIN"; then
+ ac_ct_DUMPBIN=$DUMPBIN
+- for ac_prog in "dumpbin -symbols" "link -dump -symbols"
++ for ac_prog in dumpbin "link -dump"
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
++if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$ac_ct_DUMPBIN"; then
+@@ -5569,6 +5685,15 @@
+ fi
+ fi
+
++ case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
++ *COFF*)
++ DUMPBIN="$DUMPBIN -symbols"
++ ;;
++ *)
++ DUMPBIN=:
++ ;;
++ esac
++ fi
+
+ if test "$DUMPBIN" != ":"; then
+ NM="$DUMPBIN"
+@@ -5583,18 +5708,18 @@
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
+ $as_echo_n "checking the name lister ($NM) interface... " >&6; }
+-if test "${lt_cv_nm_interface+set}" = set; then :
++if ${lt_cv_nm_interface+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+- (eval echo "\"\$as_me:5591: $ac_compile\"" >&5)
++ (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&5
+- (eval echo "\"\$as_me:5594: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
++ (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&5
+- (eval echo "\"\$as_me:5597: output\"" >&5)
++ (eval echo "\"\$as_me:$LINENO: output\"" >&5)
+ cat conftest.out >&5
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+@@ -5618,7 +5743,7 @@
+ # find the maximum length of command line arguments
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
+ $as_echo_n "checking the maximum length of command line arguments... " >&6; }
+-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
++if ${lt_cv_sys_max_cmd_len+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ i=0
+@@ -5651,6 +5776,11 @@
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
++ mint*)
++ # On MiNT this can take a long time and run out of memory.
++ lt_cv_sys_max_cmd_len=8192;
++ ;;
++
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+@@ -5715,8 +5845,8 @@
+ # 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 &&
++ while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
++ = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+@@ -5758,8 +5888,8 @@
+ # Try some XSI features
+ xsi_shell=no
+ ( _lt_dummy="a/b/c"
+- test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+- = c,a/b,, \
++ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
++ = c,a/b,b/c, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+@@ -5808,9 +5938,83 @@
+
+
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
++$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
++if ${lt_cv_to_host_file_cmd+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ case $host in
++ *-*-mingw* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
++ ;;
++ *-*-cygwin* )
++ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
++ ;;
++ * ) # otherwise, assume *nix
++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
++ ;;
++ esac
++ ;;
++ *-*-cygwin* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
++ ;;
++ *-*-cygwin* )
++ lt_cv_to_host_file_cmd=func_convert_file_noop
++ ;;
++ * ) # otherwise, assume *nix
++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
++ ;;
++ esac
++ ;;
++ * ) # unhandled hosts (and "normal" native builds)
++ lt_cv_to_host_file_cmd=func_convert_file_noop
++ ;;
++esac
++
++fi
++
++to_host_file_cmd=$lt_cv_to_host_file_cmd
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
++$as_echo "$lt_cv_to_host_file_cmd" >&6; }
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
++$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
++if ${lt_cv_to_tool_file_cmd+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ #assume ordinary cross tools, or native build.
++lt_cv_to_tool_file_cmd=func_convert_file_noop
++case $host in
++ *-*-mingw* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
++ ;;
++ esac
++ ;;
++esac
++
++fi
++
++to_tool_file_cmd=$lt_cv_to_tool_file_cmd
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
++$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
++
++
++
++
++
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+ $as_echo_n "checking for $LD option to reload object files... " >&6; }
+-if test "${lt_cv_ld_reload_flag+set}" = set; then :
++if ${lt_cv_ld_reload_flag+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ lt_cv_ld_reload_flag='-r'
+@@ -5824,6 +6028,11 @@
+ esac
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ case $host_os in
++ cygwin* | mingw* | pw32* | cegcc*)
++ if test "$GCC" != yes; then
++ reload_cmds=false
++ fi
++ ;;
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+@@ -5846,7 +6055,7 @@
+ set dummy ${ac_tool_prefix}objdump; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
++if ${ac_cv_prog_OBJDUMP+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$OBJDUMP"; then
+@@ -5886,7 +6095,7 @@
+ set dummy objdump; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
++if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$ac_ct_OBJDUMP"; then
+@@ -5945,7 +6154,7 @@
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
+ $as_echo_n "checking how to recognize dependent libraries... " >&6; }
+-if test "${lt_cv_deplibs_check_method+set}" = set; then :
++if ${lt_cv_deplibs_check_method+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ lt_cv_file_magic_cmd='$MAGIC_CMD'
+@@ -5987,16 +6196,18 @@
+ # 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
++ # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
++ if ( test "$lt_cv_nm_interface" = "BSD nm" && 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)?'
++ # Keep this pattern in sync with the one in func_win32_libid.
++ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+
+-cegcc)
++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'
+@@ -6026,6 +6237,10 @@
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
++haiku*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
+ hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case $host_cpu in
+@@ -6034,11 +6249,11 @@
+ 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_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? 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_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
+@@ -6060,11 +6275,11 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux* | k*bsd*-gnu)
++linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+-netbsd*)
++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
+@@ -6141,6 +6356,21 @@
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+ $as_echo "$lt_cv_deplibs_check_method" >&6; }
++
++file_magic_glob=
++want_nocaseglob=no
++if test "$build" = "$host"; then
++ case $host_os in
++ mingw* | pw32*)
++ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
++ want_nocaseglob=yes
++ else
++ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
++ fi
++ ;;
++ esac
++fi
++
+ 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
+@@ -6156,16 +6386,26 @@
+
+
+
++
++
++
++
++
++
++
++
++
++
+ if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}ar; ac_word=$2
++ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
++set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_AR+set}" = set; then :
++if ${ac_cv_prog_DLLTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+- if test -n "$AR"; then
+- ac_cv_prog_AR="$AR" # Let the user override the test.
++ if test -n "$DLLTOOL"; then
++ ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+@@ -6174,7 +6414,7 @@
+ 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_AR="${ac_tool_prefix}ar"
++ ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -6184,10 +6424,10 @@
+
+ fi
+ fi
+-AR=$ac_cv_prog_AR
+-if test -n "$AR"; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+-$as_echo "$AR" >&6; }
++DLLTOOL=$ac_cv_prog_DLLTOOL
++if test -n "$DLLTOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
++$as_echo "$DLLTOOL" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+@@ -6195,17 +6435,17 @@
+
+
+ fi
+-if test -z "$ac_cv_prog_AR"; then
+- ac_ct_AR=$AR
+- # Extract the first word of "ar", so it can be a program name with args.
+-set dummy ar; ac_word=$2
++if test -z "$ac_cv_prog_DLLTOOL"; then
++ ac_ct_DLLTOOL=$DLLTOOL
++ # Extract the first word of "dlltool", so it can be a program name with args.
++set dummy dlltool; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
++if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+- if test -n "$ac_ct_AR"; then
+- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
++ if test -n "$ac_ct_DLLTOOL"; then
++ ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+@@ -6214,7 +6454,7 @@
+ 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_ac_ct_AR="ar"
++ ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -6224,17 +6464,17 @@
+
+ fi
+ fi
+-ac_ct_AR=$ac_cv_prog_ac_ct_AR
+-if test -n "$ac_ct_AR"; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+-$as_echo "$ac_ct_AR" >&6; }
++ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
++if test -n "$ac_ct_DLLTOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
++$as_echo "$ac_ct_DLLTOOL" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+ fi
+
+- if test "x$ac_ct_AR" = x; then
+- AR="false"
++ if test "x$ac_ct_DLLTOOL" = x; then
++ DLLTOOL="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+ yes:)
+@@ -6242,14 +6482,13 @@
+ $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ ac_tool_warned=yes ;;
+ esac
+- AR=$ac_ct_AR
++ DLLTOOL=$ac_ct_DLLTOOL
+ fi
+ else
+- AR="$ac_cv_prog_AR"
++ DLLTOOL="$ac_cv_prog_DLLTOOL"
+ fi
+
+-test -z "$AR" && AR=ar
+-test -z "$AR_FLAGS" && AR_FLAGS=cru
++test -z "$DLLTOOL" && DLLTOOL=dlltool
+
+
+
+@@ -6260,17 +6499,225 @@
+
+
+
+-
+-if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}strip; ac_word=$2
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+-$as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_STRIP+set}" = set; then :
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
++$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
++if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+- if test -n "$STRIP"; then
+- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
++ lt_cv_sharedlib_from_linklib_cmd='unknown'
++
++case $host_os in
++cygwin* | mingw* | pw32* | cegcc*)
++ # two different shell functions defined in ltmain.sh
++ # decide which to use based on capabilities of $DLLTOOL
++ case `$DLLTOOL --help 2>&1` in
++ *--identify-strict*)
++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
++ ;;
++ *)
++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
++ ;;
++ esac
++ ;;
++*)
++ # fallback: assume linklib IS sharedlib
++ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
++ ;;
++esac
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
++$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
++sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
++test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
++
++
++
++
++
++
++
++if test -n "$ac_tool_prefix"; then
++ for ac_prog in ar
++ do
++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_AR+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$AR"; then
++ ac_cv_prog_AR="$AR" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ 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_AR="$ac_tool_prefix$ac_prog"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++AR=$ac_cv_prog_AR
++if test -n "$AR"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
++$as_echo "$AR" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++ test -n "$AR" && break
++ done
++fi
++if test -z "$AR"; then
++ ac_ct_AR=$AR
++ for ac_prog in ar
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_ac_ct_AR+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$ac_ct_AR"; then
++ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ 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_ac_ct_AR="$ac_prog"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_AR=$ac_cv_prog_ac_ct_AR
++if test -n "$ac_ct_AR"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
++$as_echo "$ac_ct_AR" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++ test -n "$ac_ct_AR" && break
++done
++
++ if test "x$ac_ct_AR" = x; then
++ AR="false"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ AR=$ac_ct_AR
++ fi
++fi
++
++: ${AR=ar}
++: ${AR_FLAGS=cru}
++
++
++
++
++
++
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
++$as_echo_n "checking for archiver @FILE support... " >&6; }
++if ${lt_cv_ar_at_file+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_ar_at_file=no
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ echo conftest.$ac_objext > conftest.lst
++ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
++ (eval $lt_ar_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }
++ if test "$ac_status" -eq 0; then
++ # Ensure the archiver fails upon bogus file names.
++ rm -f conftest.$ac_objext libconftest.a
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
++ (eval $lt_ar_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }
++ if test "$ac_status" -ne 0; then
++ lt_cv_ar_at_file=@
++ fi
++ fi
++ rm -f conftest.* libconftest.a
++
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
++$as_echo "$lt_cv_ar_at_file" >&6; }
++
++if test "x$lt_cv_ar_at_file" = xno; then
++ archiver_list_spec=
++else
++ archiver_list_spec=$lt_cv_ar_at_file
++fi
++
++
++
++
++
++
++
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
++set dummy ${ac_tool_prefix}strip; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_STRIP+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$STRIP"; then
++ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+@@ -6306,7 +6753,7 @@
+ set dummy strip; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
++if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$ac_ct_STRIP"; then
+@@ -6365,7 +6812,7 @@
+ set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_RANLIB+set}" = set; then :
++if ${ac_cv_prog_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$RANLIB"; then
+@@ -6405,7 +6852,7 @@
+ set dummy ranlib; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
++if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$ac_ct_RANLIB"; then
+@@ -6476,6 +6923,18 @@
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+ fi
+
++case $host_os in
++ darwin*)
++ lock_old_archive_extraction=yes ;;
++ *)
++ lock_old_archive_extraction=no ;;
++esac
++
++
++
++
++
++
+
+
+
+@@ -6522,7 +6981,7 @@
+ # Check for command to grab the raw symbol name followed by C symbol from nm.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
+ $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
+-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
++if ${lt_cv_sys_global_symbol_pipe+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+@@ -6583,8 +7042,8 @@
+ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+ # 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'"
++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'"
+
+ # Handle CRLF in mingw tool chain
+ opt_cr=
+@@ -6620,6 +7079,7 @@
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
++ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+@@ -6645,8 +7105,8 @@
+ test $ac_status = 0; }; then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\""; } >&5
+- (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
++ (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s "$nlist"; then
+@@ -6661,6 +7121,18 @@
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
++/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
++#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
++/* DATA imports from DLLs on WIN32 con't be const, because runtime
++ relocations are performed -- see ld's documentation on pseudo-relocs. */
++# define LT_DLSYM_CONST
++#elif defined(__osf__)
++/* This system does not cope well with relocations in const data. */
++# define LT_DLSYM_CONST
++#else
++# define LT_DLSYM_CONST const
++#endif
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -6672,7 +7144,7 @@
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+ /* The mapping between symbol names and symbols. */
+-const struct {
++LT_DLSYM_CONST struct {
+ const char *name;
+ void *address;
+ }
+@@ -6698,8 +7170,8 @@
+ _LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+- lt_save_LIBS="$LIBS"
+- lt_save_CFLAGS="$CFLAGS"
++ lt_globsym_save_LIBS=$LIBS
++ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+@@ -6709,8 +7181,8 @@
+ test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+- LIBS="$lt_save_LIBS"
+- CFLAGS="$lt_save_CFLAGS"
++ LIBS=$lt_globsym_save_LIBS
++ CFLAGS=$lt_globsym_save_CFLAGS
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
+ fi
+@@ -6747,6 +7219,22 @@
+ $as_echo "ok" >&6; }
+ fi
+
++# Response file support.
++if test "$lt_cv_nm_interface" = "MS dumpbin"; then
++ nm_file_list_spec='@'
++elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
++ nm_file_list_spec='@'
++fi
++
++
++
++
++
++
++
++
++
++
+
+
+
+@@ -6764,6 +7252,39 @@
+
+
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
++$as_echo_n "checking for sysroot... " >&6; }
++
++# Check whether --with-sysroot was given.
++if test "${with_sysroot+set}" = set; then :
++ withval=$with_sysroot;
++else
++ with_sysroot=no
++fi
++
++
++lt_sysroot=
++case ${with_sysroot} in #(
++ yes)
++ if test "$GCC" = yes; then
++ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
++ fi
++ ;; #(
++ /*)
++ lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
++ ;; #(
++ no|'')
++ ;; #(
++ *)
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
++$as_echo "${with_sysroot}" >&6; }
++ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
++ ;;
++esac
++
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
++$as_echo "${lt_sysroot:-no}" >&6; }
++
+
+
+
+@@ -6799,7 +7320,7 @@
+ ;;
+ *-*-irix6*)
+ # Find out which ABI we are using.
+- echo '#line 6802 "configure"' > conftest.$ac_ext
++ echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+@@ -6893,7 +7414,7 @@
+ CFLAGS="$CFLAGS -belf"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
+ $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
+-if test "${lt_cv_cc_needs_belf+set}" = set; then :
++if ${lt_cv_cc_needs_belf+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_ext=c
+@@ -6961,19 +7482,16 @@
+
+ need_locks="$enable_libtool_lock"
+
+-
+- case $host_os in
+- rhapsody* | darwin*)
+- if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
++set dummy ${ac_tool_prefix}mt; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
++if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+- if test -n "$DSYMUTIL"; then
+- ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
++ if test -n "$MANIFEST_TOOL"; then
++ ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+@@ -6982,7 +7500,7 @@
+ 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_DSYMUTIL="${ac_tool_prefix}dsymutil"
++ ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -6992,10 +7510,10 @@
+
+ fi
+ fi
+-DSYMUTIL=$ac_cv_prog_DSYMUTIL
+-if test -n "$DSYMUTIL"; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
+-$as_echo "$DSYMUTIL" >&6; }
++MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
++if test -n "$MANIFEST_TOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
++$as_echo "$MANIFEST_TOOL" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+@@ -7003,17 +7521,17 @@
+
+
+ fi
+-if test -z "$ac_cv_prog_DSYMUTIL"; then
+- ac_ct_DSYMUTIL=$DSYMUTIL
+- # Extract the first word of "dsymutil", so it can be a program name with args.
+-set dummy dsymutil; ac_word=$2
++if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
++ ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
++ # Extract the first word of "mt", so it can be a program name with args.
++set dummy mt; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
++if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+- if test -n "$ac_ct_DSYMUTIL"; then
+- ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
++ if test -n "$ac_ct_MANIFEST_TOOL"; then
++ ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+@@ -7022,7 +7540,7 @@
+ 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_ac_ct_DSYMUTIL="dsymutil"
++ ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -7032,17 +7550,17 @@
+
+ fi
+ fi
+-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+-if test -n "$ac_ct_DSYMUTIL"; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
+-$as_echo "$ac_ct_DSYMUTIL" >&6; }
++ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
++if test -n "$ac_ct_MANIFEST_TOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
++$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+ fi
+
+- if test "x$ac_ct_DSYMUTIL" = x; then
+- DSYMUTIL=":"
++ if test "x$ac_ct_MANIFEST_TOOL" = x; then
++ MANIFEST_TOOL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+ yes:)
+@@ -7050,22 +7568,50 @@
+ $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ ac_tool_warned=yes ;;
+ esac
+- DSYMUTIL=$ac_ct_DSYMUTIL
++ MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
+ fi
+ else
+- DSYMUTIL="$ac_cv_prog_DSYMUTIL"
++ MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
++fi
++
++test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
++$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
++if ${lt_cv_path_mainfest_tool+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_path_mainfest_tool=no
++ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
++ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
++ cat conftest.err >&5
++ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
++ lt_cv_path_mainfest_tool=yes
++ fi
++ rm -f conftest*
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
++$as_echo "$lt_cv_path_mainfest_tool" >&6; }
++if test "x$lt_cv_path_mainfest_tool" != xyes; then
++ MANIFEST_TOOL=:
+ fi
+
++
++
++
++
++
++ case $host_os in
++ rhapsody* | darwin*)
+ if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
++ # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
++set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
++if ${ac_cv_prog_DSYMUTIL+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+- if test -n "$NMEDIT"; then
+- ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
++ if test -n "$DSYMUTIL"; then
++ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+@@ -7074,7 +7620,7 @@
+ 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_NMEDIT="${ac_tool_prefix}nmedit"
++ ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -7084,7 +7630,99 @@
+
+ fi
+ fi
+-NMEDIT=$ac_cv_prog_NMEDIT
++DSYMUTIL=$ac_cv_prog_DSYMUTIL
++if test -n "$DSYMUTIL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
++$as_echo "$DSYMUTIL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_DSYMUTIL"; then
++ ac_ct_DSYMUTIL=$DSYMUTIL
++ # Extract the first word of "dsymutil", so it can be a program name with args.
++set dummy dsymutil; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$ac_ct_DSYMUTIL"; then
++ ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ 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_ac_ct_DSYMUTIL="dsymutil"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
++if test -n "$ac_ct_DSYMUTIL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
++$as_echo "$ac_ct_DSYMUTIL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_DSYMUTIL" = x; then
++ DSYMUTIL=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ DSYMUTIL=$ac_ct_DSYMUTIL
++ fi
++else
++ DSYMUTIL="$ac_cv_prog_DSYMUTIL"
++fi
++
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
++set dummy ${ac_tool_prefix}nmedit; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_NMEDIT+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$NMEDIT"; then
++ ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ 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_NMEDIT="${ac_tool_prefix}nmedit"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++NMEDIT=$ac_cv_prog_NMEDIT
+ if test -n "$NMEDIT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
+ $as_echo "$NMEDIT" >&6; }
+@@ -7101,7 +7739,7 @@
+ set dummy nmedit; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
++if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$ac_ct_NMEDIT"; then
+@@ -7153,7 +7791,7 @@
+ set dummy ${ac_tool_prefix}lipo; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_LIPO+set}" = set; then :
++if ${ac_cv_prog_LIPO+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$LIPO"; then
+@@ -7193,7 +7831,7 @@
+ set dummy lipo; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
++if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$ac_ct_LIPO"; then
+@@ -7245,7 +7883,7 @@
+ set dummy ${ac_tool_prefix}otool; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_OTOOL+set}" = set; then :
++if ${ac_cv_prog_OTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$OTOOL"; then
+@@ -7285,7 +7923,7 @@
+ set dummy otool; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
++if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$ac_ct_OTOOL"; then
+@@ -7337,7 +7975,7 @@
+ set dummy ${ac_tool_prefix}otool64; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
++if ${ac_cv_prog_OTOOL64+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$OTOOL64"; then
+@@ -7377,7 +8015,7 @@
+ set dummy otool64; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
++if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test -n "$ac_ct_OTOOL64"; then
+@@ -7452,7 +8090,7 @@
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
+ $as_echo_n "checking for -single_module linker flag... " >&6; }
+-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
++if ${lt_cv_apple_cc_single_mod+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ lt_cv_apple_cc_single_mod=no
+@@ -7481,7 +8119,7 @@
+ $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
+ $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
+-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
++if ${lt_cv_ld_exported_symbols_list+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ lt_cv_ld_exported_symbols_list=no
+@@ -7511,6 +8149,38 @@
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
+ $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
++$as_echo_n "checking for -force_load linker flag... " >&6; }
++if ${lt_cv_ld_force_load+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_ld_force_load=no
++ cat > conftest.c << _LT_EOF
++int forced_loaded() { return 2;}
++_LT_EOF
++ echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
++ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
++ echo "$AR cru libconftest.a conftest.o" >&5
++ $AR cru libconftest.a conftest.o 2>&5
++ echo "$RANLIB libconftest.a" >&5
++ $RANLIB libconftest.a 2>&5
++ cat > conftest.c << _LT_EOF
++int main() { return 0;}
++_LT_EOF
++ echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
++ $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
++ _lt_result=$?
++ if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
++ lt_cv_ld_force_load=yes
++ else
++ cat conftest.err >&5
++ fi
++ rm -f conftest.err libconftest.a conftest conftest.c
++ rm -rf conftest.dSYM
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
++$as_echo "$lt_cv_ld_force_load" >&6; }
+ case $host_os in
+ rhapsody* | darwin1.[012])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+@@ -7538,7 +8208,7 @@
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+- if test "$DSYMUTIL" != ":"; then
++ if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+@@ -7550,7 +8220,7 @@
+ do :
+ ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+ "
+-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
++if test "x$ac_cv_header_dlfcn_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define HAVE_DLFCN_H 1
+ _ACEOF
+@@ -7561,6 +8231,8 @@
+
+
+
++
++
+ # Set options
+
+
+@@ -7653,6 +8325,7 @@
+
+
+
++
+ test -z "$LN_S" && LN_S="ln -s"
+
+
+@@ -7674,7 +8347,7 @@
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
+ $as_echo_n "checking for objdir... " >&6; }
+-if test "${lt_cv_objdir+set}" = set; then :
++if ${lt_cv_objdir+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ rm -f .libs 2>/dev/null
+@@ -7702,19 +8375,6 @@
+
+
+
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+ case $host_os in
+ aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+@@ -7727,23 +8387,6 @@
+ ;;
+ esac
+
+-# 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'
+-
+-# Same as above, but do not quote variable references.
+-double_quote_subst='s/\(["`\\]\)/\\\1/g'
+-
+-# 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'
+-
+-# Sed substitution to avoid accidental globbing in evaled expressions
+-no_glob_subst='s/\*/\\\*/g'
+-
+ # Global variables:
+ ofile=libtool
+ can_build_shared=yes
+@@ -7772,7 +8415,7 @@
+ *) break;;
+ esac
+ done
+-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
++cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+
+
+ # Only perform the check for file, if the check method requires it
+@@ -7782,7 +8425,7 @@
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
+ $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
+-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
++if ${lt_cv_path_MAGIC_CMD+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $MAGIC_CMD in
+@@ -7848,7 +8491,7 @@
+ if test -n "$ac_tool_prefix"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
+ $as_echo_n "checking for file... " >&6; }
+-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
++if ${lt_cv_path_MAGIC_CMD+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $MAGIC_CMD in
+@@ -7981,11 +8624,16 @@
+ lt_prog_compiler_no_builtin_flag=
+
+ if test "$GCC" = yes; then
+- lt_prog_compiler_no_builtin_flag=' -fno-builtin'
++ case $cc_basename in
++ nvcc*)
++ lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
++ *)
++ lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
++ esac
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+ $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
+-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
++if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ lt_cv_prog_compiler_rtti_exceptions=no
+@@ -8001,15 +8649,15 @@
+ -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:8004: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:8008: \$? = $ac_status" >&5
++ echo "$as_me:$LINENO: \$? = $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.
+- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
++ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_rtti_exceptions=yes
+@@ -8038,8 +8686,6 @@
+ lt_prog_compiler_pic=
+ lt_prog_compiler_static=
+
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+ if test "$GCC" = yes; then
+ lt_prog_compiler_wl='-Wl,'
+@@ -8087,6 +8733,12 @@
+ lt_prog_compiler_pic='-fno-common'
+ ;;
+
++ haiku*)
++ # PIC is the default for Haiku.
++ # The "-static" flag exists, but is broken.
++ lt_prog_compiler_static=
++ ;;
++
+ 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
+@@ -8129,6 +8781,13 @@
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
++
++ case $cc_basename in
++ nvcc*) # Cuda Compiler Driver 2.2
++ lt_prog_compiler_wl='-Xlinker '
++ lt_prog_compiler_pic='-Xcompiler -fPIC'
++ ;;
++ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+@@ -8170,7 +8829,7 @@
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+- linux* | k*bsd*-gnu)
++ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
+@@ -8191,7 +8850,13 @@
+ lt_prog_compiler_pic='--shared'
+ lt_prog_compiler_static='--static'
+ ;;
+- pgcc* | pgf77* | pgf90* | pgf95*)
++ nagfor*)
++ # NAG Fortran compiler
++ lt_prog_compiler_wl='-Wl,-Wl,,'
++ lt_prog_compiler_pic='-PIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
++ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ lt_prog_compiler_wl='-Wl,'
+@@ -8203,25 +8868,25 @@
+ # All Alpha code is PIC.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+- xl*)
+- # IBM XL C 8.0/Fortran 10.1 on PPC
++ xl* | bgxl* | bgf* | mpixl*)
++ # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-qpic'
+ lt_prog_compiler_static='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+- *Sun\ C*)
+- # Sun C 5.9
++ *Sun\ F* | *Sun*Fortran*)
++ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+- lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_wl=''
+ ;;
+- *Sun\ F*)
+- # Sun Fortran 8.3 passes all unrecognized flags to the linker
++ *Sun\ C*)
++ # Sun C 5.9
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+- lt_prog_compiler_wl=''
++ lt_prog_compiler_wl='-Wl,'
+ ;;
+ esac
+ ;;
+@@ -8253,7 +8918,7 @@
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ case $cc_basename in
+- f77* | f90* | f95*)
++ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ lt_prog_compiler_wl='-Qoption ld ';;
+ *)
+ lt_prog_compiler_wl='-Wl,';;
+@@ -8310,13 +8975,17 @@
+ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+ ;;
+ esac
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
+-$as_echo "$lt_prog_compiler_pic" >&6; }
+-
+-
+-
+-
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
++$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
++if ${lt_cv_prog_compiler_pic+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
++$as_echo "$lt_cv_prog_compiler_pic" >&6; }
++lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
+
+ #
+ # Check to make sure the PIC flag actually works.
+@@ -8324,7 +8993,7 @@
+ if test -n "$lt_prog_compiler_pic"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+ $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
++if ${lt_cv_prog_compiler_pic_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ lt_cv_prog_compiler_pic_works=no
+@@ -8340,15 +9009,15 @@
+ -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:8343: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:8347: \$? = $ac_status" >&5
++ echo "$as_me:$LINENO: \$? = $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.
+- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
++ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_pic_works=yes
+@@ -8377,13 +9046,18 @@
+
+
+
++
++
++
++
++
+ #
+ # Check to make sure the static flag actually works.
+ #
+ wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+ $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
++if ${lt_cv_prog_compiler_static_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ lt_cv_prog_compiler_static_works=no
+@@ -8396,7 +9070,7 @@
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+- $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
++ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_static_works=yes
+@@ -8426,7 +9100,7 @@
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+ $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
++if ${lt_cv_prog_compiler_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ lt_cv_prog_compiler_c_o=no
+@@ -8445,16 +9119,16 @@
+ -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:8448: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+- echo "$as_me:8452: \$? = $ac_status" >&5
++ echo "$as_me:$LINENO: \$? = $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
+ # So say no if there are warnings
+- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
++ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/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_cv_prog_compiler_c_o=yes
+@@ -8481,7 +9155,7 @@
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+ $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
++if ${lt_cv_prog_compiler_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ lt_cv_prog_compiler_c_o=no
+@@ -8500,16 +9174,16 @@
+ -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:8503: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+- echo "$as_me:8507: \$? = $ac_status" >&5
++ echo "$as_me:$LINENO: \$? = $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
+ # So say no if there are warnings
+- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
++ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/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_cv_prog_compiler_c_o=yes
+@@ -8619,10 +9293,39 @@
+ openbsd*)
+ with_gnu_ld=no
+ ;;
++ linux* | k*bsd*-gnu | gnu*)
++ link_all_deplibs=no
++ ;;
+ esac
+
+ ld_shlibs=yes
++
++ # On some targets, GNU ld is compatible enough with the native linker
++ # that we're better off using the native interface for both.
++ lt_use_gnu_ld_interface=no
+ if test "$with_gnu_ld" = yes; then
++ case $host_os in
++ aix*)
++ # The AIX port of GNU ld has always aspired to compatibility
++ # with the native linker. However, as the warning in the GNU ld
++ # block says, versions before 2.19.5* couldn't really create working
++ # shared libraries, regardless of the interface used.
++ case `$LD -v 2>&1` in
++ *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
++ *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
++ *\ \(GNU\ Binutils\)\ [3-9]*) ;;
++ *)
++ lt_use_gnu_ld_interface=yes
++ ;;
++ esac
++ ;;
++ *)
++ lt_use_gnu_ld_interface=yes
++ ;;
++ esac
++ fi
++
++ if test "$lt_use_gnu_ld_interface" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+@@ -8640,6 +9343,7 @@
+ fi
+ supports_anon_versioning=no
+ case `$LD -v 2>&1` in
++ *GNU\ gold*) supports_anon_versioning=yes ;;
+ *\ [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 ...
+@@ -8655,11 +9359,12 @@
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+
+-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
++*** Warning: the GNU linker, at least up to release 2.19, 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.
++*** really care for shared libraries, you may want to install binutils
++*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
++*** You will then need to restart the configuration process.
+
+ _LT_EOF
+ fi
+@@ -8695,10 +9400,12 @@
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec='-L$libdir'
++ export_dynamic_flag_spec='${wl}--export-all-symbols'
+ allow_undefined_flag=unsupported
+ always_export_symbols=no
+ enable_shared_with_static_runtimes=yes
+- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
++ exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+@@ -8716,6 +9423,11 @@
+ fi
+ ;;
+
++ haiku*)
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ link_all_deplibs=yes
++ ;;
++
+ interix[3-9]*)
+ hardcode_direct=no
+ hardcode_shlibpath_var=no
+@@ -8731,7 +9443,7 @@
+ archive_expsym_cmds='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'
+ ;;
+
+- gnu* | linux* | tpf* | k*bsd*-gnu)
++ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+ tmp_diet=no
+ if test "$host_os" = linux-dietlibc; then
+ case $cc_basename in
+@@ -8741,15 +9453,16 @@
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+- tmp_addflag=
++ tmp_addflag=' $pic_flag'
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
+- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++ pgf77* | pgf90* | pgf95* | pgfortran*)
++ # Portland Group f77 and f90 compilers
++ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+@@ -8760,13 +9473,17 @@
+ lf95*) # Lahey Fortran 8.1
+ whole_archive_flag_spec=
+ tmp_sharedflag='--shared' ;;
+- xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
++ xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
++ nvcc*) # Cuda Compiler Driver 2.2
++ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
++ compiler_needs_object=yes
++ ;;
+ esac
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+- whole_archive_flag_spec='${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'
++ whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ compiler_needs_object=yes
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+@@ -8782,17 +9499,17 @@
+ fi
+
+ case $cc_basename in
+- xlf*)
++ xlf* | bgf* | bgxlf* | mpixlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_flag_spec_ld='-rpath $libdir'
+- archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
++ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='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'
++ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+@@ -8801,13 +9518,13 @@
+ fi
+ ;;
+
+- netbsd*)
++ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+@@ -8825,8 +9542,8 @@
+
+ _LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+@@ -8872,8 +9589,8 @@
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+@@ -8913,8 +9630,10 @@
+ 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
++ # Also, AIX nm treats weak defined symbols like other global
++ # defined symbols, whereas GNU nm marks them as "W".
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+@@ -8976,6 +9695,7 @@
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
++ link_all_deplibs=no
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+@@ -9001,7 +9721,13 @@
+ allow_undefined_flag='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ if ${lt_cv_aix_libpath_+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ int
+@@ -9014,25 +9740,32 @@
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+
+-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
++ lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }'
++ lt_cv_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 "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_="/usr/lib:/lib"
++ fi
++
++fi
++
++ aix_libpath=$lt_cv_aix_libpath_
++fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+- archive_expsym_cmds='$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"
++ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+@@ -9041,7 +9774,13 @@
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ if ${lt_cv_aix_libpath_+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ int
+@@ -9054,30 +9793,42 @@
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+
+-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
++ lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }'
++ lt_cv_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 "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_="/usr/lib:/lib"
++ fi
++
++fi
++
++ aix_libpath=$lt_cv_aix_libpath_
++fi
+
+ hardcode_libdir_flag_spec='${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.
+ no_undefined_flag=' ${wl}-bernotok'
+ allow_undefined_flag=' ${wl}-berok'
+- # Exported symbols can be pulled into shared objects from archives
+- whole_archive_flag_spec='$convenience'
++ if test "$with_gnu_ld" = yes; then
++ # We only use this code for GNU lds that support --whole-archive.
++ whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
++ else
++ # Exported symbols can be pulled into shared objects from archives
++ whole_archive_flag_spec='$convenience'
++ fi
+ archive_cmds_need_lc=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ archive_expsym_cmds="\$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'
+@@ -9109,20 +9860,63 @@
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+- hardcode_libdir_flag_spec=' '
+- allow_undefined_flag=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.
+- archive_cmds='$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.
+- old_archive_from_new_cmds='true'
+- # FIXME: Should let the user specify the lib program.
+- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+- fix_srcfile_path='`cygpath -w "$srcfile"`'
+- enable_shared_with_static_runtimes=yes
++ case $cc_basename in
++ cl*)
++ # Native MSVC
++ hardcode_libdir_flag_spec=' '
++ allow_undefined_flag=unsupported
++ always_export_symbols=yes
++ file_list_spec='@'
++ # 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.
++ archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
++ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
++ else
++ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
++ fi~
++ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
++ linknames='
++ # The linker will not automatically build a static lib if we build a DLL.
++ # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
++ enable_shared_with_static_runtimes=yes
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
++ # Don't use ranlib
++ old_postinstall_cmds='chmod 644 $oldlib'
++ postlink_cmds='lt_outputfile="@OUTPUT@"~
++ lt_tool_outputfile="@TOOL_OUTPUT@"~
++ case $lt_outputfile in
++ *.exe|*.EXE) ;;
++ *)
++ lt_outputfile="$lt_outputfile.exe"
++ lt_tool_outputfile="$lt_tool_outputfile.exe"
++ ;;
++ esac~
++ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
++ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
++ $RM "$lt_outputfile.manifest";
++ fi'
++ ;;
++ *)
++ # Assume MSVC wrapper
++ hardcode_libdir_flag_spec=' '
++ allow_undefined_flag=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.
++ archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
++ # The linker will automatically build a .lib file if we build a DLL.
++ old_archive_from_new_cmds='true'
++ # FIXME: Should let the user specify the lib program.
++ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
++ enable_shared_with_static_runtimes=yes
++ ;;
++ esac
+ ;;
+
+ darwin* | rhapsody*)
+@@ -9132,7 +9926,11 @@
+ hardcode_direct=no
+ hardcode_automatic=yes
+ hardcode_shlibpath_var=unsupported
+- whole_archive_flag_spec=''
++ if test "$lt_cv_ld_force_load" = "yes"; then
++ whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
++ else
++ whole_archive_flag_spec=''
++ fi
+ link_all_deplibs=yes
+ allow_undefined_flag="$_lt_dar_allow_undefined"
+ case $cc_basename in
+@@ -9140,7 +9938,7 @@
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+- output_verbose_link_cmd=echo
++ output_verbose_link_cmd=func_echo_all
+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds="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}"
+@@ -9183,7 +9981,7 @@
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+- archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+@@ -9191,7 +9989,7 @@
+
+ hpux9*)
+ if test "$GCC" = yes; then
+- archive_cmds='$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'
++ archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ archive_cmds='$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
+@@ -9206,8 +10004,8 @@
+ ;;
+
+ hpux10*)
+- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+@@ -9225,16 +10023,16 @@
+ ;;
+
+ hpux11*)
+- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
++ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+@@ -9246,7 +10044,46 @@
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++
++ # Older versions of the 11.00 compiler do not understand -b yet
++ # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
++$as_echo_n "checking if $CC understands -b... " >&6; }
++if ${lt_cv_prog_compiler__b+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_prog_compiler__b=no
++ save_LDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS -b"
++ 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>&5
++ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
++ if diff conftest.exp conftest.er2 >/dev/null; then
++ lt_cv_prog_compiler__b=yes
++ fi
++ else
++ lt_cv_prog_compiler__b=yes
++ fi
++ fi
++ $RM -r conftest*
++ LDFLAGS="$save_LDFLAGS"
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
++$as_echo "$lt_cv_prog_compiler__b" >&6; }
++
++if test x"$lt_cv_prog_compiler__b" = xyes; then
++ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++else
++ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
++fi
++
+ ;;
+ esac
+ fi
+@@ -9274,26 +10111,39 @@
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+- archive_cmds='$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'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${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"
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ # This should be the same for all languages, so no per-tag cache variable.
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
++$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
++if ${lt_cv_irix_exported_symbol+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ save_LDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+-int foo(void) {}
++int foo (void) { return 0; }
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+- archive_expsym_cmds='$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'
+-
++ lt_cv_irix_exported_symbol=yes
++else
++ lt_cv_irix_exported_symbol=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+- LDFLAGS="$save_LDFLAGS"
+- else
+- archive_cmds='$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'
+- archive_expsym_cmds='$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'
++ LDFLAGS="$save_LDFLAGS"
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
++$as_echo "$lt_cv_irix_exported_symbol" >&6; }
++ if test "$lt_cv_irix_exported_symbol" = yes; then
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
++ fi
++ else
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+@@ -9302,7 +10152,7 @@
+ link_all_deplibs=yes
+ ;;
+
+- netbsd*)
++ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+@@ -9355,17 +10205,17 @@
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ allow_undefined_flag=unsupported
+- archive_cmds='$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'
++ archive_cmds='$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'
+ old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+- archive_cmds='$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'
++ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+- archive_cmds='$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'
++ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+@@ -9375,13 +10225,13 @@
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+- archive_cmds='$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'
++ archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+- archive_cmds='$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'
++ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='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'
++ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec='-rpath $libdir'
+@@ -9394,9 +10244,9 @@
+ no_undefined_flag=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+- archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='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'
++ $CC -shared $pic_flag ${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"*)
+@@ -9584,44 +10434,50 @@
+ # to ld, don't add -lc before -lgcc.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+ $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+- $RM conftest*
+- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++if ${lt_cv_archive_cmds_need_lc+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ $RM conftest*
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } 2>conftest.err; then
+- soname=conftest
+- lib=conftest
+- libobjs=conftest.$ac_objext
+- deplibs=
+- wl=$lt_prog_compiler_wl
+- pic_flag=$lt_prog_compiler_pic
+- compiler_flags=-v
+- linker_flags=-v
+- verstring=
+- output_objdir=.
+- libname=conftest
+- lt_save_allow_undefined_flag=$allow_undefined_flag
+- allow_undefined_flag=
+- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
++ soname=conftest
++ lib=conftest
++ libobjs=conftest.$ac_objext
++ deplibs=
++ wl=$lt_prog_compiler_wl
++ pic_flag=$lt_prog_compiler_pic
++ compiler_flags=-v
++ linker_flags=-v
++ verstring=
++ output_objdir=.
++ libname=conftest
++ lt_save_allow_undefined_flag=$allow_undefined_flag
++ allow_undefined_flag=
++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
+ (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+- then
+- archive_cmds_need_lc=no
+- else
+- archive_cmds_need_lc=yes
+- fi
+- allow_undefined_flag=$lt_save_allow_undefined_flag
+- else
+- cat conftest.err 1>&5
+- fi
+- $RM conftest*
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc" >&5
+-$as_echo "$archive_cmds_need_lc" >&6; }
++ then
++ lt_cv_archive_cmds_need_lc=no
++ else
++ lt_cv_archive_cmds_need_lc=yes
++ fi
++ allow_undefined_flag=$lt_save_allow_undefined_flag
++ else
++ cat conftest.err 1>&5
++ fi
++ $RM conftest*
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
++$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
++ archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
+ ;;
+ esac
+ fi
+@@ -9792,16 +10648,23 @@
+ 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
++ case $host_os in
++ mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
++ *) lt_sed_strip_eq="s,=/,/,g" ;;
++ esac
++ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
++ case $lt_search_path_spec in
++ *\;*)
+ # 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
++ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
++ ;;
++ *)
++ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
++ ;;
++ esac
+ # 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=
+@@ -9814,7 +10677,7 @@
+ 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 '
++ lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+ BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+@@ -9834,7 +10697,13 @@
+ 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`
++ # AWK program above erroneously prepends '/' to C:/dos/paths
++ # for these hosts.
++ case $host_os in
++ mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
++ $SED 's,/\([A-Za-z]:\),\1,g'` ;;
++ esac
++ sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+ else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+ fi
+@@ -9922,7 +10791,7 @@
+ 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'
++ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''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
+ ;;
+@@ -9953,8 +10822,9 @@
+ need_version=no
+ need_lib_prefix=no
+
+- case $GCC,$host_os in
+- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
++ case $GCC,$cc_basename in
++ yes,*)
++ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+@@ -9975,36 +10845,83 @@
+ 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"
++
++ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
+ ;;
+ 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
++ dynamic_linker='Win32 ld.exe'
++ ;;
++
++ *,cl*)
++ # Native MSVC
++ libname_spec='$name'
++ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
++ library_names_spec='${libname}.dll.lib'
++
++ case $build_os in
++ mingw*)
++ sys_lib_search_path_spec=
++ lt_save_ifs=$IFS
++ IFS=';'
++ for lt_path in $LIB
++ do
++ IFS=$lt_save_ifs
++ # Let DOS variable expansion print the short 8.3 style file name.
++ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
++ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
++ done
++ IFS=$lt_save_ifs
++ # Convert to MSYS style.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
++ ;;
++ cygwin*)
++ # Convert to unix form, then to dos form, then back to unix form
++ # but this time dos style (no spaces!) so that the unix form looks
++ # like /cygdrive/c/PROGRA~1:/cygdr...
++ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
++ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
++ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ ;;
++ *)
++ sys_lib_search_path_spec="$LIB"
++ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
++ # It is most probably a Windows format PATH.
++ 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
++ # FIXME: find the short name or the path components, as spaces are
++ # common. (e.g. "Program Files" -> "PROGRA~1")
++ ;;
++ esac
++
++ # 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'
++ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
++ dlpath=$dir/\$dldll~
++ $RM \$dlpath'
++ shlibpath_overrides_runpath=yes
++ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
++ # Assume MSVC wrapper
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
++ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+- dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+@@ -10088,6 +11005,20 @@
+ 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
++ ;;
++
++haiku*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ dynamic_linker="$host_os runtime_loader"
++ 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=LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
+ ;;
+
+@@ -10133,8 +11064,10 @@
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+- # HP-UX runs *really* slowly unless shared libraries are mode 555.
++ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+ postinstall_cmds='chmod 555 $lib'
++ # or fails outright, so override atomically:
++ install_override_mode=555
+ ;;
+
+ interix[3-9]*)
+@@ -10192,7 +11125,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux* | k*bsd*-gnu)
++linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+@@ -10201,12 +11134,17 @@
+ 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_prog_compiler_wl\"; \
+- LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_shlibpath_overrides_runpath=no
++ save_LDFLAGS=$LDFLAGS
++ save_libdir=$libdir
++ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
++ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ int
+@@ -10219,13 +11157,17 @@
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+- shlibpath_overrides_runpath=yes
++ lt_cv_shlibpath_overrides_runpath=yes
+ fi
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+- LDFLAGS=$save_LDFLAGS
+- libdir=$save_libdir
++ LDFLAGS=$save_LDFLAGS
++ libdir=$save_libdir
++
++fi
++
++ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+@@ -10234,7 +11176,7 @@
+
+ # 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' ' '`
++ 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;s/"//g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ fi
+
+@@ -10247,6 +11189,18 @@
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
++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'
++ ;;
++
+ netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+@@ -10537,6 +11491,11 @@
+
+
+
++
++
++
++
++
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+ $as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+ hardcode_action=
+@@ -10609,7 +11568,7 @@
+ # if libdl is installed we need to link against it
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+ $as_echo_n "checking for dlopen in -ldl... " >&6; }
+-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
++if ${ac_cv_lib_dl_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+@@ -10643,7 +11602,7 @@
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+ $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
++if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+ else
+
+@@ -10657,12 +11616,12 @@
+
+ *)
+ ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
+-if test "x$ac_cv_func_shl_load" = x""yes; then :
++if test "x$ac_cv_func_shl_load" = xyes; then :
+ lt_cv_dlopen="shl_load"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
+ $as_echo_n "checking for shl_load in -ldld... " >&6; }
+-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
++if ${ac_cv_lib_dld_shl_load+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+@@ -10696,16 +11655,16 @@
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
+ $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
++if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
+ lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
+ else
+ ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
+-if test "x$ac_cv_func_dlopen" = x""yes; then :
++if test "x$ac_cv_func_dlopen" = xyes; then :
+ lt_cv_dlopen="dlopen"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+ $as_echo_n "checking for dlopen in -ldl... " >&6; }
+-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
++if ${ac_cv_lib_dl_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+@@ -10739,12 +11698,12 @@
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+ $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
++if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
+ $as_echo_n "checking for dlopen in -lsvld... " >&6; }
+-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
++if ${ac_cv_lib_svld_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+@@ -10778,12 +11737,12 @@
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
+ $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
++if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
+ $as_echo_n "checking for dld_link in -ldld... " >&6; }
+-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
++if ${ac_cv_lib_dld_dld_link+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+@@ -10817,7 +11776,7 @@
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
+ $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
++if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
+ lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
+ fi
+
+@@ -10858,7 +11817,7 @@
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
+ $as_echo_n "checking whether a program can dlopen itself... " >&6; }
+-if test "${lt_cv_dlopen_self+set}" = set; then :
++if ${lt_cv_dlopen_self+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test "$cross_compiling" = yes; then :
+@@ -10867,7 +11826,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 10870 "configure"
++#line $LINENO "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -10908,7 +11867,13 @@
+ # endif
+ #endif
+
+-void fnord() { int i=42;}
++/* When -fvisbility=hidden is used, assume the code has been annotated
++ correspondingly for the symbols needed. */
++#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
++int fnord () __attribute__((visibility("default")));
++#endif
++
++int fnord () { return 42; }
+ int main ()
+ {
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+@@ -10917,7 +11882,11 @@
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
++ else
++ {
++ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
++ else puts (dlerror ());
++ }
+ /* dlclose (self); */
+ }
+ else
+@@ -10954,7 +11923,7 @@
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
+ $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
+-if test "${lt_cv_dlopen_self_static+set}" = set; then :
++if ${lt_cv_dlopen_self_static+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ if test "$cross_compiling" = yes; then :
+@@ -10963,7 +11932,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 10966 "configure"
++#line $LINENO "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -11004,7 +11973,13 @@
+ # endif
+ #endif
+
+-void fnord() { int i=42;}
++/* When -fvisbility=hidden is used, assume the code has been annotated
++ correspondingly for the symbols needed. */
++#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
++int fnord () __attribute__((visibility("default")));
++#endif
++
++int fnord () { return 42; }
+ int main ()
+ {
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+@@ -11013,7 +11988,11 @@
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
++ else
++ {
++ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
++ else puts (dlerror ());
++ }
+ /* dlclose (self); */
+ }
+ else
+@@ -11252,22 +12231,127 @@
+ fi
+
+
++if test -n "$PKG_CONFIG" && \
++ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mozjs185\""; } >&5
++ ($PKG_CONFIG --exists --print-errors "mozjs185") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }; then
++ JS_LIB_BASE=mozjs185
++fi
++if test "x$JS_LIB_BASE" != "x" ; then
++
++pkg_failed=no
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for JS" >&5
++$as_echo_n "checking for JS... " >&6; }
++
++if test -n "$JS_CFLAGS"; then
++ pkg_cv_JS_CFLAGS="$JS_CFLAGS"
++ elif test -n "$PKG_CONFIG"; then
++ if test -n "$PKG_CONFIG" && \
++ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$JS_LIB_BASE\""; } >&5
++ ($PKG_CONFIG --exists --print-errors "$JS_LIB_BASE") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }; then
++ pkg_cv_JS_CFLAGS=`$PKG_CONFIG --cflags "$JS_LIB_BASE" 2>/dev/null`
++ test "x$?" != "x0" && pkg_failed=yes
++else
++ pkg_failed=yes
++fi
++ else
++ pkg_failed=untried
++fi
++if test -n "$JS_LIBS"; then
++ pkg_cv_JS_LIBS="$JS_LIBS"
++ elif test -n "$PKG_CONFIG"; then
++ if test -n "$PKG_CONFIG" && \
++ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$JS_LIB_BASE\""; } >&5
++ ($PKG_CONFIG --exists --print-errors "$JS_LIB_BASE") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }; then
++ pkg_cv_JS_LIBS=`$PKG_CONFIG --libs "$JS_LIB_BASE" 2>/dev/null`
++ test "x$?" != "x0" && pkg_failed=yes
++else
++ pkg_failed=yes
++fi
++ else
++ pkg_failed=untried
++fi
++
++
++
++if test $pkg_failed = yes; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++
++if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
++ _pkg_short_errors_supported=yes
++else
++ _pkg_short_errors_supported=no
++fi
++ if test $_pkg_short_errors_supported = yes; then
++ JS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$JS_LIB_BASE" 2>&1`
++ else
++ JS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$JS_LIB_BASE" 2>&1`
++ fi
++ # Put the nasty error message in config.log where it belongs
++ echo "$JS_PKG_ERRORS" >&5
++
++ as_fn_error $? "Package requirements ($JS_LIB_BASE) were not met:
++
++$JS_PKG_ERRORS
++
++Consider adjusting the PKG_CONFIG_PATH environment variable if you
++installed software in a non-standard prefix.
++
++Alternatively, you may set the environment variables JS_CFLAGS
++and JS_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details." "$LINENO" 5
++elif test $pkg_failed = untried; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
++is in your PATH or set the PKG_CONFIG environment variable to the full
++path to pkg-config.
++
++Alternatively, you may set the environment variables JS_CFLAGS
++and JS_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
++
++To get pkg-config, see .
++See \`config.log' for more details" "$LINENO" 5; }
++else
++ JS_CFLAGS=$pkg_cv_JS_CFLAGS
++ JS_LIBS=$pkg_cv_JS_LIBS
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
++$as_echo "yes" >&6; }
++
++fi
++ JS_LIB_DIR=`$PKG_CONFIG --variable=libdir $JS_LIB_BASE`
++ JS_LIB_FLAGS="-L$JS_LIB_DIR"
++fi
++
++if test "x$JS_LIB_BASE" == "x" ; then
+
+ # Check whether --with-js-include was given.
+ if test "${with_js_include+set}" = set; then :
+ withval=$with_js_include;
+- JS_INCLUDE="$withval"
+- JS_FLAGS="-I$JS_INCLUDE"
++ JS_INCLUDE="$withval"
++ JS_CFLAGS="-I$JS_INCLUDE"
+
+ else
+
+- JS_FLAGS="-I/usr/include"
+- JS_FLAGS="$JS_FLAGS -I/usr/include/js"
+- JS_FLAGS="$JS_FLAGS -I/usr/include/mozjs"
+- JS_FLAGS="$JS_FLAGS -I/usr/local/include"
+- JS_FLAGS="$JS_FLAGS -I/opt/local/include"
+- JS_FLAGS="$JS_FLAGS -I/usr/local/include/js"
+- JS_FLAGS="$JS_FLAGS -I/opt/local/include/js"
++ JS_CFLAGS="-I/usr/include"
++ JS_CFLAGS="$JS_CFLAGS -I/usr/include/js"
++ JS_CFLAGS="$JS_CFLAGS -I/usr/include/mozjs"
++ JS_CFLAGS="$JS_CFLAGS -I/usr/local/include"
++ JS_CFLAGS="$JS_CFLAGS -I/opt/local/include"
++ JS_CFLAGS="$JS_CFLAGS -I/usr/local/include/js"
++ JS_CFLAGS="$JS_CFLAGS -I/opt/local/include/js"
+
+ fi
+
+@@ -11276,12 +12360,14 @@
+ # Check whether --with-js-lib was given.
+ if test "${with_js_lib+set}" = set; then :
+ withval=$with_js_lib;
+- JS_LIB_DIR=$withval
+- JS_LIB_FLAGS="-L$withval"
++ JS_LIB_DIR=$withval
++ JS_LIB_FLAGS="-L$withval"
+
+ else
+
+- JS_LIB_DIR=
++ JS_LIB_DIR=
++
++fi
+
+ fi
+
+@@ -11295,7 +12381,7 @@
+
+ case "$(uname -s)" in
+ CYGWIN*)
+- FLAGS="$LIB_FLAGS $ERLANG_FLAGS $JS_FLAGS -DXP_WIN $FLAGS"
++ FLAGS="$LIB_FLAGS $ERLANG_FLAGS $JS_CFLAGS -DXP_WIN $FLAGS"
+ CPPFLAGS="$FLAGS $CPPFLAGS"
+ LDFLAGS="$FLAGS $LDFLAGS"
+ IS_WINDOWS="TRUE"
+@@ -11306,7 +12392,7 @@
+ ;;
+ *)
+ # XP_UNIX required for jsapi.h and has been tested to work on Linux and Darwin.
+- FLAGS="$LIB_FLAGS $ERLANG_FLAGS $JS_FLAGS -DXP_UNIX $FLAGS"
++ FLAGS="$LIB_FLAGS $ERLANG_FLAGS $JS_CFLAGS -DXP_UNIX $FLAGS"
+ CPPFLAGS="$FLAGS $CPPFLAGS"
+ # manually linking libm is requred for FreeBSD 7.0
+ LDFLAGS="$FLAGS -lm $LDFLAGS"
+@@ -11317,18 +12403,288 @@
+ WINDOWS_TRUE=
+ WINDOWS_FALSE='#'
+ else
+- WINDOWS_TRUE='#'
+- WINDOWS_FALSE=
++ WINDOWS_TRUE='#'
++ WINDOWS_FALSE=
++fi
++
++
++if test "x$JS_LIB_BASE" == "x" ; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JS_NewContext in -lmozjs" >&5
++$as_echo_n "checking for JS_NewContext in -lmozjs... " >&6; }
++if ${ac_cv_lib_mozjs_JS_NewContext+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lmozjs $LIBS"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char JS_NewContext ();
++int
++main ()
++{
++return JS_NewContext ();
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"; then :
++ ac_cv_lib_mozjs_JS_NewContext=yes
++else
++ ac_cv_lib_mozjs_JS_NewContext=no
++fi
++rm -f core conftest.err conftest.$ac_objext \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mozjs_JS_NewContext" >&5
++$as_echo "$ac_cv_lib_mozjs_JS_NewContext" >&6; }
++if test "x$ac_cv_lib_mozjs_JS_NewContext" = xyes; then :
++ JS_LIB_BASE=mozjs
++else
++
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JS_NewContext in -ljs" >&5
++$as_echo_n "checking for JS_NewContext in -ljs... " >&6; }
++if ${ac_cv_lib_js_JS_NewContext+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ljs $LIBS"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char JS_NewContext ();
++int
++main ()
++{
++return JS_NewContext ();
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"; then :
++ ac_cv_lib_js_JS_NewContext=yes
++else
++ ac_cv_lib_js_JS_NewContext=no
++fi
++rm -f core conftest.err conftest.$ac_objext \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_js_JS_NewContext" >&5
++$as_echo "$ac_cv_lib_js_JS_NewContext" >&6; }
++if test "x$ac_cv_lib_js_JS_NewContext" = xyes; then :
++ JS_LIB_BASE=js
++else
++
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JS_NewContext in -ljs3250" >&5
++$as_echo_n "checking for JS_NewContext in -ljs3250... " >&6; }
++if ${ac_cv_lib_js3250_JS_NewContext+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ljs3250 $LIBS"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char JS_NewContext ();
++int
++main ()
++{
++return JS_NewContext ();
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"; then :
++ ac_cv_lib_js3250_JS_NewContext=yes
++else
++ ac_cv_lib_js3250_JS_NewContext=no
++fi
++rm -f core conftest.err conftest.$ac_objext \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_js3250_JS_NewContext" >&5
++$as_echo "$ac_cv_lib_js3250_JS_NewContext" >&6; }
++if test "x$ac_cv_lib_js3250_JS_NewContext" = xyes; then :
++ JS_LIB_BASE=js3250
++else
++
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JS_NewContext in -ljs32" >&5
++$as_echo_n "checking for JS_NewContext in -ljs32... " >&6; }
++if ${ac_cv_lib_js32_JS_NewContext+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ljs32 $LIBS"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char JS_NewContext ();
++int
++main ()
++{
++return JS_NewContext ();
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"; then :
++ ac_cv_lib_js32_JS_NewContext=yes
++else
++ ac_cv_lib_js32_JS_NewContext=no
++fi
++rm -f core conftest.err conftest.$ac_objext \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_js32_JS_NewContext" >&5
++$as_echo "$ac_cv_lib_js32_JS_NewContext" >&6; }
++if test "x$ac_cv_lib_js32_JS_NewContext" = xyes; then :
++ JS_LIB_BASE=js32
++else
++
++ as_fn_error $? "Could not find the js library.
++
++ Is the Mozilla SpiderMonkey library installed?" "$LINENO" 5
++fi
++
++fi
++
++fi
++
++fi
++
++
++ JS_LIBS=-l$JS_LIB_BASE
++
++fi
++
++
++
++as_ac_Lib=`$as_echo "ac_cv_lib_$JS_LIB_BASE''_JS_FreezeObject" | $as_tr_sh`
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for JS_FreezeObject in -l$JS_LIB_BASE" >&5
++$as_echo_n "checking for JS_FreezeObject in -l$JS_LIB_BASE... " >&6; }
++if eval \${$as_ac_Lib+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-l$JS_LIB_BASE $LIBS"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char JS_FreezeObject ();
++int
++main ()
++{
++return JS_FreezeObject ();
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"; then :
++ eval "$as_ac_Lib=yes"
++else
++ eval "$as_ac_Lib=no"
++fi
++rm -f core conftest.err conftest.$ac_objext \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++eval ac_res=\$$as_ac_Lib
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
++
++$as_echo "#define HAVE_JS_FREEZE_OBJECT 1" >>confdefs.h
++
++fi
++
++
++as_ac_Lib=`$as_echo "ac_cv_lib_$JS_LIB_BASE''_JS_NewGlobalObject" | $as_tr_sh`
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for JS_NewGlobalObject in -l$JS_LIB_BASE" >&5
++$as_echo_n "checking for JS_NewGlobalObject in -l$JS_LIB_BASE... " >&6; }
++if eval \${$as_ac_Lib+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-l$JS_LIB_BASE $LIBS"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char JS_NewGlobalObject ();
++int
++main ()
++{
++return JS_NewGlobalObject ();
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"; then :
++ eval "$as_ac_Lib=yes"
++else
++ eval "$as_ac_Lib=no"
++fi
++rm -f core conftest.err conftest.$ac_objext \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++eval ac_res=\$$as_ac_Lib
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
++
++$as_echo "#define HAVE_JS_NEW_GLOBAL_OBJECT 1" >>confdefs.h
++
+ fi
+
+
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for JS_NewContext in -lmozjs" >&5
+-$as_echo_n "checking for JS_NewContext in -lmozjs... " >&6; }
+-if test "${ac_cv_lib_mozjs_JS_NewContext+set}" = set; then :
++as_ac_Lib=`$as_echo "ac_cv_lib_$JS_LIB_BASE''_JS_GetStringCharsAndLength" | $as_tr_sh`
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for JS_GetStringCharsAndLength in -l$JS_LIB_BASE" >&5
++$as_echo_n "checking for JS_GetStringCharsAndLength in -l$JS_LIB_BASE... " >&6; }
++if eval \${$as_ac_Lib+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lmozjs $LIBS"
++LIBS="-l$JS_LIB_BASE $LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+@@ -11338,37 +12694,42 @@
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-char JS_NewContext ();
++char JS_GetStringCharsAndLength ();
+ int
+ main ()
+ {
+-return JS_NewContext ();
++return JS_GetStringCharsAndLength ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+- ac_cv_lib_mozjs_JS_NewContext=yes
++ eval "$as_ac_Lib=yes"
+ else
+- ac_cv_lib_mozjs_JS_NewContext=no
++ eval "$as_ac_Lib=no"
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mozjs_JS_NewContext" >&5
+-$as_echo "$ac_cv_lib_mozjs_JS_NewContext" >&6; }
+-if test "x$ac_cv_lib_mozjs_JS_NewContext" = x""yes; then :
+- JS_LIB_BASE=mozjs
+-else
++eval ac_res=\$$as_ac_Lib
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
+
+- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JS_NewContext in -ljs" >&5
+-$as_echo_n "checking for JS_NewContext in -ljs... " >&6; }
+-if test "${ac_cv_lib_js_JS_NewContext+set}" = set; then :
++$as_echo "#define HAVE_JS_GET_STRING_CHARS_AND_LENGTH 1" >>confdefs.h
++
++fi
++
++
++as_ac_Lib=`$as_echo "ac_cv_lib_$JS_LIB_BASE''_JS_NewCompartmentAndGlobalObject" | $as_tr_sh`
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for JS_NewCompartmentAndGlobalObject in -l$JS_LIB_BASE" >&5
++$as_echo_n "checking for JS_NewCompartmentAndGlobalObject in -l$JS_LIB_BASE... " >&6; }
++if eval \${$as_ac_Lib+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-ljs $LIBS"
++LIBS="-l$JS_LIB_BASE $LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+@@ -11378,37 +12739,42 @@
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-char JS_NewContext ();
++char JS_NewCompartmentAndGlobalObject ();
+ int
+ main ()
+ {
+-return JS_NewContext ();
++return JS_NewCompartmentAndGlobalObject ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+- ac_cv_lib_js_JS_NewContext=yes
++ eval "$as_ac_Lib=yes"
+ else
+- ac_cv_lib_js_JS_NewContext=no
++ eval "$as_ac_Lib=no"
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_js_JS_NewContext" >&5
+-$as_echo "$ac_cv_lib_js_JS_NewContext" >&6; }
+-if test "x$ac_cv_lib_js_JS_NewContext" = x""yes; then :
+- JS_LIB_BASE=js
+-else
++eval ac_res=\$$as_ac_Lib
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
+
+- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JS_NewContext in -ljs3250" >&5
+-$as_echo_n "checking for JS_NewContext in -ljs3250... " >&6; }
+-if test "${ac_cv_lib_js3250_JS_NewContext+set}" = set; then :
++$as_echo "#define HAVE_COMPARTMENTS 1" >>confdefs.h
++
++fi
++
++
++as_ac_Lib=`$as_echo "ac_cv_lib_$JS_LIB_BASE''_JS_StrictPropertyStub" | $as_tr_sh`
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for JS_StrictPropertyStub in -l$JS_LIB_BASE" >&5
++$as_echo_n "checking for JS_StrictPropertyStub in -l$JS_LIB_BASE... " >&6; }
++if eval \${$as_ac_Lib+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-ljs3250 $LIBS"
++LIBS="-l$JS_LIB_BASE $LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+@@ -11418,37 +12784,42 @@
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-char JS_NewContext ();
++char JS_StrictPropertyStub ();
+ int
+ main ()
+ {
+-return JS_NewContext ();
++return JS_StrictPropertyStub ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+- ac_cv_lib_js3250_JS_NewContext=yes
++ eval "$as_ac_Lib=yes"
+ else
+- ac_cv_lib_js3250_JS_NewContext=no
++ eval "$as_ac_Lib=no"
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_js3250_JS_NewContext" >&5
+-$as_echo "$ac_cv_lib_js3250_JS_NewContext" >&6; }
+-if test "x$ac_cv_lib_js3250_JS_NewContext" = x""yes; then :
+- JS_LIB_BASE=js3250
+-else
++eval ac_res=\$$as_ac_Lib
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
+
+- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JS_NewContext in -ljs32" >&5
+-$as_echo_n "checking for JS_NewContext in -ljs32... " >&6; }
+-if test "${ac_cv_lib_js32_JS_NewContext+set}" = set; then :
++$as_echo "#define HAVE_JS_STRICT_PROPERTY_STUB 1" >>confdefs.h
++
++fi
++
++
++as_ac_Lib=`$as_echo "ac_cv_lib_$JS_LIB_BASE''_JS_DestroyScript" | $as_tr_sh`
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for JS_DestroyScript in -l$JS_LIB_BASE" >&5
++$as_echo_n "checking for JS_DestroyScript in -l$JS_LIB_BASE... " >&6; }
++if eval \${$as_ac_Lib+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-ljs32 $LIBS"
++LIBS="-l$JS_LIB_BASE $LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+@@ -11458,44 +12829,41 @@
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-char JS_NewContext ();
++char JS_DestroyScript ();
+ int
+ main ()
+ {
+-return JS_NewContext ();
++return JS_DestroyScript ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+- ac_cv_lib_js32_JS_NewContext=yes
++ eval "$as_ac_Lib=yes"
+ else
+- ac_cv_lib_js32_JS_NewContext=no
++ eval "$as_ac_Lib=no"
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_js32_JS_NewContext" >&5
+-$as_echo "$ac_cv_lib_js32_JS_NewContext" >&6; }
+-if test "x$ac_cv_lib_js32_JS_NewContext" = x""yes; then :
+- JS_LIB_BASE=js32
+-else
+-
+- as_fn_error "Could not find the js library.
++eval ac_res=\$$as_ac_Lib
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
++ cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_LIB$JS_LIB_BASE" | $as_tr_cpp` 1
++_ACEOF
+
+-Is the Mozilla SpiderMonkey library installed?" "$LINENO" 5
+-fi
++ LIBS="-l$JS_LIB_BASE $LIBS"
+
+-fi
++else
+
+-fi
++$as_echo "#define HAVE_SCRIPT_AS_OBJECT 1" >>confdefs.h
+
+ fi
+
+
+-
+-
+ if test x${IS_WINDOWS} = xTRUE; then
+ if test -f "$JS_LIB_DIR/$JS_LIB_BASE.dll"; then
+ # seamonkey 1.7- build layout on Windows
+@@ -11505,7 +12873,7 @@
+ if test -f "$JS_LIB_DIR/../bin/$JS_LIB_BASE.dll"; then
+ JS_LIB_BINARY="$JS_LIB_DIR/../bin/$JS_LIB_BASE.dll"
+ else
+- as_fn_error "Could not find $JS_LIB_BASE.dll." "$LINENO" 5
++ as_fn_error $? "Could not find $JS_LIB_BASE.dll." "$LINENO" 5
+ fi
+ fi
+
+@@ -11526,7 +12894,7 @@
+ set dummy iscc; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_path_INNO_COMPILER_EXECUTABLE+set}" = set; then :
++if ${ac_cv_path_INNO_COMPILER_EXECUTABLE+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $INNO_COMPILER_EXECUTABLE in
+@@ -11588,21 +12956,19 @@
+ fi
+ fi
+
+-JSLIB=-l$JS_LIB_BASE
+-
+ ac_fn_c_check_header_mongrel "$LINENO" "jsapi.h" "ac_cv_header_jsapi_h" "$ac_includes_default"
+-if test "x$ac_cv_header_jsapi_h" = x""yes; then :
++if test "x$ac_cv_header_jsapi_h" = xyes; then :
+
+ else
+
+ ac_fn_c_check_header_mongrel "$LINENO" "js/jsapi.h" "ac_cv_header_js_jsapi_h" "$ac_includes_default"
+-if test "x$ac_cv_header_js_jsapi_h" = x""yes; then :
++if test "x$ac_cv_header_js_jsapi_h" = xyes; then :
+
+ CPPFLAGS="$CPPFLAGS -I$JS_INCLUDE/js"
+
+ else
+
+- as_fn_error "Could not find the jsapi header.
++ as_fn_error $? "Could not find the jsapi header.
+
+ Are the Mozilla SpiderMonkey headers installed?" "$LINENO" 5
+
+@@ -11613,8 +12979,6 @@
+
+
+
+-
+-
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
+ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+@@ -11642,6 +13006,49 @@
+
+ fi
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++CFLAGS="$JS_CFLAGS"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++#include
++int
++main ()
++{
++static JSFunctionSpec fs;
++ fs.extra = 0;
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++
++$as_echo "#define JS_FS_HAS_EXTRA 1" >>confdefs.h
++
++
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++CFLAGS="$CFLAGS -Werror"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++#include
++ static JSBool op(JSContext* cx, JSObject* obj, jsid id, jsval* vp) {}
++int
++main ()
++{
++static JSPropertySpec spec;
++ spec.getter = op;
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++
++$as_echo "#define JS_PROPERTY_OP_HAS_ID_AS_JSID 1" >>confdefs.h
++
++
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CFLAGS="$OLD_CFLAGS"
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
+@@ -11669,7 +13076,7 @@
+ set dummy icu-config; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_path_ICU_CONFIG+set}" = set; then :
++if ${ac_cv_path_ICU_CONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $ICU_CONFIG in
+@@ -11756,7 +13163,7 @@
+ if test $succeeded = yes; then
+ :
+ else
+- as_fn_error "Library requirements (ICU) not met." "$LINENO" 5
++ as_fn_error $? "Library requirements (ICU) not met." "$LINENO" 5
+ fi
+
+ ICU_LOCAL_CFLAGS=`$ICU_CONFIG --cppflags-searchpath`
+@@ -11790,7 +13197,7 @@
+ set dummy curl-config; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_path_CURL_CONFIG+set}" = set; then :
++if ${ac_cv_path_CURL_CONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $CURL_CONFIG in
+@@ -11869,7 +13276,7 @@
+ if test $succeeded = yes; then
+ :
+ else
+- as_fn_error "Library requirements (curl) not met." "$LINENO" 5
++ as_fn_error $? "Library requirements (curl) not met." "$LINENO" 5
+ fi
+
+ CURL_LDFLAGS=-lcurl
+@@ -11898,7 +13305,7 @@
+ set dummy erl; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_path_ERL+set}" = set; then :
++if ${ac_cv_path_ERL+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $ERL in
+@@ -11936,7 +13343,7 @@
+
+
+ if test x${ERL} = x; then
+- as_fn_error "Could not find the \`erl' executable. Is Erlang installed?" "$LINENO" 5
++ as_fn_error $? "Could not find the \`erl' executable. Is Erlang installed?" "$LINENO" 5
+ fi
+
+ erlang_version_error="The installed Erlang version is less than 5.6.5 (R12B05)."
+@@ -11944,16 +13351,16 @@
+ version="`${ERL} -version 2>&1 | ${SED} "s/[^0-9]/ /g"`"
+
+ if test `echo $version | ${AWK} "{print \\$1}"` -lt 5; then
+- as_fn_error "$erlang_version_error" "$LINENO" 5
++ as_fn_error $? "$erlang_version_error" "$LINENO" 5
+ fi
+
+ if test `echo $version | ${AWK} "{print \\$2}"` -lt 6; then
+- as_fn_error "$erlang_version_error" "$LINENO" 5
++ as_fn_error $? "$erlang_version_error" "$LINENO" 5
+ fi
+
+ if test `echo $version | ${AWK} "{print \\$2}"` -eq 6; then
+ if test `echo $version | ${AWK} "{print \\$3}"` -lt 5; then
+- as_fn_error "$erlang_version_error" "$LINENO" 5
++ as_fn_error $? "$erlang_version_error" "$LINENO" 5
+ fi
+ fi
+
+@@ -11961,7 +13368,7 @@
+ set dummy erlc; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_path_ERLC+set}" = set; then :
++if ${ac_cv_path_ERLC+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $ERLC in
+@@ -11999,15 +13406,15 @@
+
+
+ if test x${ERLC} = x; then
+- as_fn_error "Could not find the \`erlc' executable. Is Erlang installed?" "$LINENO" 5
++ as_fn_error $? "Could not find the \`erlc' executable. Is Erlang installed?" "$LINENO" 5
+ fi
+
+ ac_fn_c_check_header_mongrel "$LINENO" "erl_driver.h" "ac_cv_header_erl_driver_h" "$ac_includes_default"
+-if test "x$ac_cv_header_erl_driver_h" = x""yes; then :
++if test "x$ac_cv_header_erl_driver_h" = xyes; then :
+
+ else
+
+- as_fn_error "Could not find the \`erl_driver.h' header.
++ as_fn_error $? "Could not find the \`erl_driver.h' header.
+
+ Are the Erlang headers installed? Use the \`--with-erlang' option to specify the
+ path to the Erlang include directory." "$LINENO" 5
+@@ -12019,7 +13426,7 @@
+ set dummy help2man; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_path_HELP2MAN_EXECUTABLE+set}" = set; then :
++if ${ac_cv_path_HELP2MAN_EXECUTABLE+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ case $HELP2MAN_EXECUTABLE in
+@@ -12352,10 +13759,21 @@
+ :end' >>confcache
+ if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+- test "x$cache_file" != "x/dev/null" &&
++ if test "x$cache_file" != "x/dev/null"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+ $as_echo "$as_me: updating cache $cache_file" >&6;}
+- cat confcache >$cache_file
++ if test ! -f "$cache_file" || test -h "$cache_file"; then
++ cat confcache >"$cache_file"
++ else
++ case $cache_file in #(
++ */* | ?:*)
++ mv -f confcache "$cache_file"$$ &&
++ mv -f "$cache_file"$$ "$cache_file" ;; #(
++ *)
++ mv -f confcache "$cache_file" ;;
++ esac
++ fi
++ fi
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+ $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+@@ -12371,6 +13789,7 @@
+
+ ac_libobjs=
+ ac_ltlibobjs=
++U=
+ for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+@@ -12394,35 +13813,35 @@
+ fi
+
+ if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+- as_fn_error "conditional \"AMDEP\" was never defined.
++ as_fn_error $? "conditional \"AMDEP\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+- as_fn_error "conditional \"am__fastdepCC\" was never defined.
++ as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+- as_fn_error "conditional \"am__fastdepCC\" was never defined.
++ as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${WINDOWS_TRUE}" && test -z "${WINDOWS_FALSE}"; then
+- as_fn_error "conditional \"WINDOWS\" was never defined.
++ as_fn_error $? "conditional \"WINDOWS\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${INIT_TRUE}" && test -z "${INIT_FALSE}"; then
+- as_fn_error "conditional \"INIT\" was never defined.
++ as_fn_error $? "conditional \"INIT\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${LAUNCHD_TRUE}" && test -z "${LAUNCHD_FALSE}"; then
+- as_fn_error "conditional \"LAUNCHD\" was never defined.
++ as_fn_error $? "conditional \"LAUNCHD\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${HELP2MAN_TRUE}" && test -z "${HELP2MAN_FALSE}"; then
+- as_fn_error "conditional \"HELP2MAN\" was never defined.
++ as_fn_error $? "conditional \"HELP2MAN\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+
+-: ${CONFIG_STATUS=./config.status}
++: "${CONFIG_STATUS=./config.status}"
+ ac_write_fail=0
+ ac_clean_files_save=$ac_clean_files
+ ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+@@ -12523,6 +13942,7 @@
+ IFS=" "" $as_nl"
+
+ # Find who we are. Look in the path if we contain no directory separator.
++as_myself=
+ case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+@@ -12568,19 +13988,19 @@
+ (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+-# as_fn_error ERROR [LINENO LOG_FD]
+-# ---------------------------------
++# as_fn_error STATUS ERROR [LINENO LOG_FD]
++# ----------------------------------------
+ # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+ # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+-# script with status $?, using 1 if that was 0.
++# script with STATUS, using 1 if that was 0.
+ as_fn_error ()
+ {
+- as_status=$?; test $as_status -eq 0 && as_status=1
+- if test "$3"; then
+- as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+- $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
++ as_status=$1; test $as_status -eq 0 && as_status=1
++ if test "$4"; then
++ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+- $as_echo "$as_me: error: $1" >&2
++ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+ } # as_fn_error
+
+@@ -12776,7 +14196,7 @@
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+- } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
++ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+ } # as_fn_mkdir_p
+@@ -12830,7 +14250,7 @@
+ # values after options handling.
+ ac_log="
+ This file was extended by Apache CouchDB $as_me 1.0.1, which was
+-generated by GNU Autoconf 2.64. Invocation command line was
++generated by GNU Autoconf 2.68. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+@@ -12870,6 +14290,7 @@
+
+ -h, --help print this help, then exit
+ -V, --version print version number and configuration settings, then exit
++ --config print configuration, then exit
+ -q, --quiet, --silent
+ do not print progress messages
+ -d, --debug don't remove temporary files
+@@ -12892,12 +14313,13 @@
+
+ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ ac_cs_version="\\
+ Apache CouchDB config.status 1.0.1
+-configured by $0, generated by GNU Autoconf 2.64,
+- with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
++configured by $0, generated by GNU Autoconf 2.68,
++ with options \\"\$ac_cs_config\\"
+
+-Copyright (C) 2009 Free Software Foundation, Inc.
++Copyright (C) 2010 Free Software Foundation, Inc.
+ This config.status script is free software; the Free Software Foundation
+ gives unlimited permission to copy, distribute and modify it."
+
+@@ -12915,11 +14337,16 @@
+ while test $# != 0
+ do
+ case $1 in
+- --*=*)
++ --*=?*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
++ --*=)
++ ac_option=`expr "X$1" : 'X\([^=]*\)='`
++ ac_optarg=
++ ac_shift=:
++ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+@@ -12933,12 +14360,15 @@
+ ac_cs_recheck=: ;;
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ $as_echo "$ac_cs_version"; exit ;;
++ --config | --confi | --conf | --con | --co | --c )
++ $as_echo "$ac_cs_config"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
++ '') as_fn_error $? "missing file argument" ;;
+ esac
+ as_fn_append CONFIG_FILES " '$ac_optarg'"
+ ac_need_defaults=false;;
+@@ -12951,7 +14381,7 @@
+ ac_need_defaults=false;;
+ --he | --h)
+ # Conflict between --help and --header
+- as_fn_error "ambiguous option: \`$1'
++ as_fn_error $? "ambiguous option: \`$1'
+ Try \`$0 --help' for more information.";;
+ --help | --hel | -h )
+ $as_echo "$ac_cs_usage"; exit ;;
+@@ -12960,7 +14390,7 @@
+ ac_cs_silent=: ;;
+
+ # This is an error.
+- -*) as_fn_error "unrecognized option: \`$1'
++ -*) as_fn_error $? "unrecognized option: \`$1'
+ Try \`$0 --help' for more information." ;;
+
+ *) as_fn_append ac_config_targets " $1"
+@@ -13014,131 +14444,153 @@
+ sed_quote_subst='$sed_quote_subst'
+ double_quote_subst='$double_quote_subst'
+ delay_variable_subst='$delay_variable_subst'
+-enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
+-enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
+-macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
+-macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
+-pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
+-enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
+-host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
+-host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
+-host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
+-build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
+-build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
+-build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
+-SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
+-Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`'
+-GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`'
+-EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`'
+-FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`'
+-LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`'
+-NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`'
+-LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`'
+-max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`'
+-ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`'
+-exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`'
+-lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`'
+-lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`'
+-lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`'
+-reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`'
+-reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+-OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`'
+-deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`'
+-file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`'
+-AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`'
+-AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`'
+-STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`'
+-RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`'
+-old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+-old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+-old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+-CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`'
+-CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`'
+-compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`'
+-GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`'
+-lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`'
+-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`'
+-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`'
+-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
+-objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`'
+-SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`'
+-ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`'
+-MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`'
+-lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`'
+-lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`'
+-lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`'
+-lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`'
+-lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`'
+-need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`'
+-DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`'
+-NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`'
+-LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`'
+-OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`'
+-OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`'
+-libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`'
+-shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+-extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+-archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`'
+-enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`'
+-export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+-whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+-compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`'
+-old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+-old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+-archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+-archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+-module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+-module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+-with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`'
+-allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
+-no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
+-hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+-hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`'
+-hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`'
+-hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`'
+-hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`'
+-hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`'
+-hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+-hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`'
+-inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`'
+-link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`'
+-fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`'
+-always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`'
+-export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+-exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
+-include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
+-prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+-file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`'
+-variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`'
+-need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
+-need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`'
+-version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`'
+-runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+-shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+-shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`'
+-libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`'
+-library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`'
+-soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`'
+-postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+-postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+-finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+-finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`'
+-hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`'
+-sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
+-sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
+-hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`'
+-enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`'
+-enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`'
+-enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`'
+-old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`'
+-striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`'
++enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
++enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
++macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
++macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
++pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
++enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
++SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
++ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
++host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
++host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
++host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
++build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
++build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
++build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
++SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
++Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
++GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
++EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
++FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
++LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
++NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
++LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
++max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
++ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
++exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
++lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
++lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
++lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
++lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
++lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
++reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
++reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
++OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
++deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
++file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
++file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
++want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
++DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
++sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
++AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
++AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
++archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
++STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
++RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
++old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
++old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
++old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
++lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
++CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
++CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
++compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
++GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
++lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
++lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
++lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
++nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
++lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
++objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
++MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
++lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
++lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
++lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
++lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
++lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
++need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
++MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
++DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
++NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
++LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
++OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
++OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
++libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
++shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
++extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
++archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
++enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
++export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
++whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
++compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
++old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
++old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
++archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
++archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
++module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
++module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
++with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
++allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
++no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
++hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
++hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
++hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
++hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
++hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
++hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
++hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
++hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
++inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
++link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
++always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
++export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
++exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
++include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
++prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
++postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
++file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
++variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
++need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
++need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
++version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
++runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
++shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
++shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
++libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
++library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
++soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
++install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
++postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
++postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
++finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
++finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
++hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
++sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
++sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
++hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
++enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
++enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
++enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
++old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
++striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
+
+ LTCC='$LTCC'
+ LTCFLAGS='$LTCFLAGS'
+ compiler='$compiler_DEFAULT'
+
++# A function that is used when there is no print builtin or printf.
++func_fallback_echo ()
++{
++ eval 'cat <<_LTECHO_EOF
++\$1
++_LTECHO_EOF'
++}
++
+ # Quote evaled strings.
+-for var in SED \
++for var in SHELL \
++ECHO \
++SED \
+ GREP \
+ EGREP \
+ FGREP \
+@@ -13151,8 +14603,13 @@
+ OBJDUMP \
+ deplibs_check_method \
+ file_magic_cmd \
++file_magic_glob \
++want_nocaseglob \
++DLLTOOL \
++sharedlib_from_linklib_cmd \
+ AR \
+ AR_FLAGS \
++archiver_list_spec \
+ STRIP \
+ RANLIB \
+ CC \
+@@ -13162,14 +14619,14 @@
+ lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+-SHELL \
+-ECHO \
++nm_file_list_spec \
+ lt_prog_compiler_no_builtin_flag \
+-lt_prog_compiler_wl \
+ lt_prog_compiler_pic \
++lt_prog_compiler_wl \
+ lt_prog_compiler_static \
+ lt_cv_prog_compiler_c_o \
+ need_locks \
++MANIFEST_TOOL \
+ DSYMUTIL \
+ NMEDIT \
+ LIPO \
+@@ -13185,7 +14642,6 @@
+ hardcode_libdir_flag_spec \
+ hardcode_libdir_flag_spec_ld \
+ hardcode_libdir_separator \
+-fix_srcfile_path \
+ exclude_expsyms \
+ include_expsyms \
+ file_list_spec \
+@@ -13193,12 +14649,13 @@
+ libname_spec \
+ library_names_spec \
+ soname_spec \
++install_override_mode \
+ finish_eval \
+ old_striplib \
+ striplib; do
+- case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
++ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[\\\\\\\`\\"\\\$]*)
+- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
++ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+@@ -13220,14 +14677,15 @@
+ module_expsym_cmds \
+ export_symbols_cmds \
+ prelink_cmds \
++postlink_cmds \
+ postinstall_cmds \
+ postuninstall_cmds \
+ finish_cmds \
+ sys_lib_search_path_spec \
+ sys_lib_dlsearch_path_spec; do
+- case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
++ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[\\\\\\\`\\"\\\$]*)
+- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
++ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+@@ -13235,12 +14693,6 @@
+ esac
+ done
+
+-# Fix-up fallback echo if it was mangled by the above quoting rules.
+-case \$lt_ECHO in
+-*'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\`
+- ;;
+-esac
+-
+ ac_aux_dir='$ac_aux_dir'
+ xsi_shell='$xsi_shell'
+ lt_shell_append='$lt_shell_append'
+@@ -13306,7 +14758,7 @@
+ "utils/Makefile") CONFIG_FILES="$CONFIG_FILES utils/Makefile" ;;
+ "var/Makefile") CONFIG_FILES="$CONFIG_FILES var/Makefile" ;;
+
+- *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
++ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+ esac
+ done
+
+@@ -13329,9 +14781,10 @@
+ # after its creation but before its name has been assigned to `$tmp'.
+ $debug ||
+ {
+- tmp=
++ tmp= ac_tmp=
+ trap 'exit_status=$?
+- { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
++ : "${ac_tmp:=$tmp}"
++ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
+ ' 0
+ trap 'as_fn_exit 1' 1 2 13 15
+ }
+@@ -13339,12 +14792,13 @@
+
+ {
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+- test -n "$tmp" && test -d "$tmp"
++ test -d "$tmp"
+ } ||
+ {
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
++} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
++ac_tmp=$tmp
+
+ # Set up the scripts for CONFIG_FILES section.
+ # No need to generate them if there are no CONFIG_FILES.
+@@ -13361,12 +14815,12 @@
+ fi
+ ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null`
+ if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+- ac_cs_awk_cr='\r'
++ ac_cs_awk_cr='\\r'
+ else
+ ac_cs_awk_cr=$ac_cr
+ fi
+
+-echo 'BEGIN {' >"$tmp/subs1.awk" &&
++echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
+ _ACEOF
+
+
+@@ -13375,18 +14829,18 @@
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+ } >conf$$subs.sh ||
+- as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
++ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
+ ac_delim='%!_!# '
+ for ac_last_try in false false false false false :; do
+ . ./conf$$subs.sh ||
+- as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
+ break
+ elif $ac_last_try; then
+- as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+@@ -13394,7 +14848,7 @@
+ rm -f conf$$subs.sh
+
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
++cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
+ _ACEOF
+ sed -n '
+ h
+@@ -13408,7 +14862,7 @@
+ t delim
+ :nl
+ h
+-s/\(.\{148\}\).*/\1/
++s/\(.\{148\}\)..*/\1/
+ t more1
+ s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+ p
+@@ -13422,7 +14876,7 @@
+ t nl
+ :delim
+ h
+-s/\(.\{148\}\).*/\1/
++s/\(.\{148\}\)..*/\1/
+ t more2
+ s/["\\]/\\&/g; s/^/"/; s/$/"/
+ p
+@@ -13442,7 +14896,7 @@
+ rm -f conf$$subs.awk
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ _ACAWK
+-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
++cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
+
+@@ -13474,21 +14928,29 @@
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+ else
+ cat
+-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+- || as_fn_error "could not setup config files machinery" "$LINENO" 5
++fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
++ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+ _ACEOF
+
+-# VPATH may cause trouble with some makes, so we remove $(srcdir),
+-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
++# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
++# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
+ # trailing colons and then remove the whole line if VPATH becomes empty
+ # (actually we leave an empty line to preserve line numbers).
+ if test "x$srcdir" = x.; then
+- ac_vpsub='/^[ ]*VPATH[ ]*=/{
+-s/:*\$(srcdir):*/:/
+-s/:*\${srcdir}:*/:/
+-s/:*@srcdir@:*/:/
+-s/^\([^=]*=[ ]*\):*/\1/
++ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
++h
++s///
++s/^/:/
++s/[ ]*$/:/
++s/:\$(srcdir):/:/g
++s/:\${srcdir}:/:/g
++s/:@srcdir@:/:/g
++s/^:*//
+ s/:*$//
++x
++s/\(=[ ]*\).*/\1/
++G
++s/\n//
+ s/^[^=]*=[ ]*$//
+ }'
+ fi
+@@ -13500,7 +14962,7 @@
+ # No need to generate them if there are no CONFIG_HEADERS.
+ # This happens for instance with `./config.status Makefile'.
+ if test -n "$CONFIG_HEADERS"; then
+-cat >"$tmp/defines.awk" <<\_ACAWK ||
++cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
+ BEGIN {
+ _ACEOF
+
+@@ -13512,11 +14974,11 @@
+ # handling of long lines.
+ ac_delim='%!_!# '
+ for ac_last_try in false false :; do
+- ac_t=`sed -n "/$ac_delim/p" confdefs.h`
+- if test -z "$ac_t"; then
++ ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
++ if test -z "$ac_tt"; then
+ break
+ elif $ac_last_try; then
+- as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
++ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+@@ -13601,7 +15063,7 @@
+ _ACAWK
+ _ACEOF
+ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+- as_fn_error "could not setup config headers machinery" "$LINENO" 5
++ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
+ fi # test -n "$CONFIG_HEADERS"
+
+
+@@ -13614,7 +15076,7 @@
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+- :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
++ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+@@ -13633,7 +15095,7 @@
+ for ac_f
+ do
+ case $ac_f in
+- -) ac_f="$tmp/stdin";;
++ -) ac_f="$ac_tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+@@ -13642,7 +15104,7 @@
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+- as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
++ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+ esac
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ as_fn_append ac_file_inputs " '$ac_f'"
+@@ -13668,8 +15130,8 @@
+ esac
+
+ case $ac_tag in
+- *:-:* | *:-) cat >"$tmp/stdin" \
+- || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
++ *:-:* | *:-) cat >"$ac_tmp/stdin" \
++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+ esac
+ ;;
+ esac
+@@ -13805,23 +15267,24 @@
+ s&@MKDIR_P@&$ac_MKDIR_P&;t t
+ $ac_datarootdir_hack
+ "
+-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+- || as_fn_error "could not create $ac_file" "$LINENO" 5
++eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
++ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+
+ test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+- { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
++ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
++ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
++ "$ac_tmp/out"`; test -z "$ac_out"; } &&
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+-which seems to be undefined. Please make sure it is defined." >&5
++which seems to be undefined. Please make sure it is defined" >&5
+ $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+-which seems to be undefined. Please make sure it is defined." >&2;}
++which seems to be undefined. Please make sure it is defined" >&2;}
+
+- rm -f "$tmp/stdin"
++ rm -f "$ac_tmp/stdin"
+ case $ac_file in
+- -) cat "$tmp/out" && rm -f "$tmp/out";;
+- *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
++ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
++ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
+ esac \
+- || as_fn_error "could not create $ac_file" "$LINENO" 5
++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ ;;
+ :H)
+ #
+@@ -13830,21 +15293,21 @@
+ if test x"$ac_file" != x-; then
+ {
+ $as_echo "/* $configure_input */" \
+- && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
+- } >"$tmp/config.h" \
+- || as_fn_error "could not create $ac_file" "$LINENO" 5
+- if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
++ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
++ } >"$ac_tmp/config.h" \
++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
++ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+ $as_echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ rm -f "$ac_file"
+- mv "$tmp/config.h" "$ac_file" \
+- || as_fn_error "could not create $ac_file" "$LINENO" 5
++ mv "$ac_tmp/config.h" "$ac_file" \
++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ fi
+ else
+ $as_echo "/* $configure_input */" \
+- && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
+- || as_fn_error "could not create -" "$LINENO" 5
++ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
++ || as_fn_error $? "could not create -" "$LINENO" 5
+ fi
+ # Compute "$ac_file"'s index in $config_headers.
+ _am_arg="$ac_file"
+@@ -14005,7 +15468,8 @@
+ # NOTE: Changes made to this file will be lost: look at ltmain.sh.
+ #
+ # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+-# 2006, 2007, 2008 Free Software Foundation, Inc.
++# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
++# Inc.
+ # Written by Gordon Matzigkeit, 1996
+ #
+ # This file is part of GNU Libtool.
+@@ -14053,6 +15517,12 @@
+ # Whether or not to optimize for fast installation.
+ fast_install=$enable_fast_install
+
++# Shell to use when invoking shell scripts.
++SHELL=$lt_SHELL
++
++# An echo program that protects backslashes.
++ECHO=$lt_ECHO
++
+ # The host system.
+ host_alias=$host_alias
+ host=$host
+@@ -14102,9 +15572,11 @@
+ # turn newlines into spaces.
+ NL2SP=$lt_lt_NL2SP
+
+-# How to create reloadable object files.
+-reload_flag=$lt_reload_flag
+-reload_cmds=$lt_reload_cmds
++# convert \$build file names to \$host format.
++to_host_file_cmd=$lt_cv_to_host_file_cmd
++
++# convert \$build files to toolchain format.
++to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+
+ # An object symbol dumper.
+ OBJDUMP=$lt_OBJDUMP
+@@ -14112,13 +15584,30 @@
+ # Method to check whether dependent libraries are shared objects.
+ deplibs_check_method=$lt_deplibs_check_method
+
+-# Command to use when deplibs_check_method == "file_magic".
++# Command to use when deplibs_check_method = "file_magic".
+ file_magic_cmd=$lt_file_magic_cmd
+
++# How to find potential files when deplibs_check_method = "file_magic".
++file_magic_glob=$lt_file_magic_glob
++
++# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
++want_nocaseglob=$lt_want_nocaseglob
++
++# DLL creation program.
++DLLTOOL=$lt_DLLTOOL
++
++# Command to associate shared and link libraries.
++sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
++
+ # The archiver.
+ AR=$lt_AR
++
++# Flags to create an archive.
+ AR_FLAGS=$lt_AR_FLAGS
+
++# How to feed a file listing to the archiver.
++archiver_list_spec=$lt_archiver_list_spec
++
+ # A symbol stripping program.
+ STRIP=$lt_STRIP
+
+@@ -14127,6 +15616,9 @@
+ old_postinstall_cmds=$lt_old_postinstall_cmds
+ old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
++# Whether to use a lock for old archive extraction.
++lock_old_archive_extraction=$lock_old_archive_extraction
++
+ # A C compiler.
+ LTCC=$lt_CC
+
+@@ -14145,14 +15637,14 @@
+ # Transform the output of nm in a C name address pair when lib prefix is needed.
+ global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
+-# The name of the directory that contains temporary libtool files.
+-objdir=$objdir
++# Specify filename containing input files for \$NM.
++nm_file_list_spec=$lt_nm_file_list_spec
+
+-# Shell to use when invoking shell scripts.
+-SHELL=$lt_SHELL
++# The root where to search for dependent libraries,and in which our libraries should be installed.
++lt_sysroot=$lt_sysroot
+
+-# An echo program that does not interpret backslashes.
+-ECHO=$lt_ECHO
++# The name of the directory that contains temporary libtool files.
++objdir=$objdir
+
+ # Used to examine libraries when file_magic_cmd begins with "file".
+ MAGIC_CMD=$MAGIC_CMD
+@@ -14160,6 +15652,9 @@
+ # Must we lock files when doing compilation?
+ need_locks=$lt_need_locks
+
++# Manifest tool.
++MANIFEST_TOOL=$lt_MANIFEST_TOOL
++
+ # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+ DSYMUTIL=$lt_DSYMUTIL
+
+@@ -14216,6 +15711,9 @@
+ # The coded name of the library, if different from the real name.
+ soname_spec=$lt_soname_spec
+
++# Permission mode override for installation of shared libraries.
++install_override_mode=$lt_install_override_mode
++
+ # Command to use after installation of a shared archive.
+ postinstall_cmds=$lt_postinstall_cmds
+
+@@ -14255,6 +15753,10 @@
+ # The linker used to build libraries.
+ LD=$lt_LD
+
++# How to create reloadable object files.
++reload_flag=$lt_reload_flag
++reload_cmds=$lt_reload_cmds
++
+ # Commands used to build an old-style archive.
+ old_archive_cmds=$lt_old_archive_cmds
+
+@@ -14267,12 +15769,12 @@
+ # Compiler flag to turn off builtin functions.
+ no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+-# How to pass a linker flag through the compiler.
+-wl=$lt_lt_prog_compiler_wl
+-
+ # Additional compiler flags for building library objects.
+ pic_flag=$lt_lt_prog_compiler_pic
+
++# How to pass a linker flag through the compiler.
++wl=$lt_lt_prog_compiler_wl
++
+ # Compiler flag to prevent dynamic linking.
+ link_static_flag=$lt_lt_prog_compiler_static
+
+@@ -14359,9 +15861,6 @@
+ # Whether libtool must link a program against all its dependency libraries.
+ link_all_deplibs=$link_all_deplibs
+
+-# Fix the shell variable \$srcfile for the compiler.
+-fix_srcfile_path=$lt_fix_srcfile_path
+-
+ # Set to "yes" if exported symbols are required.
+ always_export_symbols=$always_export_symbols
+
+@@ -14377,6 +15876,9 @@
+ # Commands necessary for linking programs (against libraries) with templates.
+ prelink_cmds=$lt_prelink_cmds
+
++# Commands necessary for finishing linking programs.
++postlink_cmds=$lt_postlink_cmds
++
+ # Specify filename containing input files.
+ file_list_spec=$lt_file_list_spec
+
+@@ -14409,212 +15911,169 @@
+ # 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)
+-
+- case $xsi_shell in
+- yes)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# 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
+-}
+-
+-# func_basename file
+-func_basename ()
+-{
+- func_basename_result="${1##*/}"
+-}
+-
+-# 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##*/}"
+-}
+-
+-# 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#*=}
+-}
+-
+-# func_lo2o object
+-func_lo2o ()
+-{
+- case ${1} in
+- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+- *) func_lo2o_result=${1} ;;
+- esac
+-}
+-
+-# func_xform libobj-or-source
+-func_xform ()
+-{
+- func_xform_result=${1%.*}.lo
+-}
+-
+-# func_arith arithmetic-term...
+-func_arith ()
+-{
+- func_arith_result=$(( $* ))
+-}
+-
+-# func_len string
+-# STRING may not start with a hyphen.
+-func_len ()
+-{
+- func_len_result=${#1}
+-}
+-
+-_LT_EOF
+- ;;
+- *) # Bourne compatible functions.
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# 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
+-}
+-
+-# func_basename file
+-func_basename ()
+-{
+- func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+-}
+-
+-
+-# 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
+-}
+-
+-# sed scripts:
+-my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
+-my_sed_long_arg='1s/^-[^=]*=//'
+-
+-# 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"`
+-}
+-
+-# 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
+-
+-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
++ sed '$q' "$ltmain" >> "$cfgfile" \
++ || (rm -f "$cfgfile"; exit 1)
+
++ if test x"$xsi_shell" = xyes; then
++ sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
++func_dirname ()\
++{\
++\ case ${1} in\
++\ */*) func_dirname_result="${1%/*}${2}" ;;\
++\ * ) func_dirname_result="${3}" ;;\
++\ esac\
++} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_basename ()$/,/^} # func_basename /c\
++func_basename ()\
++{\
++\ func_basename_result="${1##*/}"\
++} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
++func_dirname_and_basename ()\
++{\
++\ case ${1} in\
++\ */*) func_dirname_result="${1%/*}${2}" ;;\
++\ * ) func_dirname_result="${3}" ;;\
++\ esac\
++\ func_basename_result="${1##*/}"\
++} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
++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}"}\
++} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
++func_split_long_opt ()\
++{\
++\ func_split_long_opt_name=${1%%=*}\
++\ func_split_long_opt_arg=${1#*=}\
++} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
++func_split_short_opt ()\
++{\
++\ func_split_short_opt_arg=${1#??}\
++\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
++} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
++func_lo2o ()\
++{\
++\ case ${1} in\
++\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
++\ *) func_lo2o_result=${1} ;;\
++\ esac\
++} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_xform ()$/,/^} # func_xform /c\
++func_xform ()\
++{\
++ func_xform_result=${1%.*}.lo\
++} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_arith ()$/,/^} # func_arith /c\
++func_arith ()\
++{\
++ func_arith_result=$(( $* ))\
++} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_len ()$/,/^} # func_len /c\
++func_len ()\
++{\
++ func_len_result=${#1}\
++} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++fi
++
++if test x"$lt_shell_append" = xyes; then
++ sed -e '/^func_append ()$/,/^} # func_append /c\
++func_append ()\
++{\
++ eval "${1}+=\\${2}"\
++} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
++func_append_quoted ()\
++{\
++\ func_quote_for_eval "${2}"\
++\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
++} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ # Save a `func_append' function call where possible by direct use of '+='
++ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++ test 0 -eq $? || _lt_function_replace_fail=:
++else
++ # Save a `func_append' function call even when '+=' is not available
++ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++ test 0 -eq $? || _lt_function_replace_fail=:
++fi
++
++if test x"$_lt_function_replace_fail" = x":"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
++$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
++fi
+
+- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+
+- mv -f "$cfgfile" "$ofile" ||
++ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+
+@@ -14629,7 +16088,7 @@
+ ac_clean_files=$ac_clean_files_save
+
+ test $ac_write_fail = 0 ||
+- as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
++ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+ # configure is writing to config.log, and then calls config.status.
+@@ -14650,7 +16109,7 @@
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+- $ac_cs_success || as_fn_exit $?
++ $ac_cs_success || as_fn_exit 1
+ fi
+ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//etc/couchdb/Makefile.in couchdb-1.0.1.new//etc/couchdb/Makefile.in
+--- couchdb-1.0.1//etc/couchdb/Makefile.in 2010-08-11 19:18:52.000000000 +0100
++++ couchdb-1.0.1.new//etc/couchdb/Makefile.in 2011-06-14 18:31:46.873876897 +0100
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -94,6 +94,7 @@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -121,7 +122,8 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-JSLIB = @JSLIB@
++JS_CFLAGS = @JS_CFLAGS@
++JS_LIBS = @JS_LIBS@
+ JS_LIB_BASE = @JS_LIB_BASE@
+ JS_LIB_BINARY = @JS_LIB_BINARY@
+ JS_LIB_DIR = @JS_LIB_DIR@
+@@ -134,6 +136,7 @@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -149,6 +152,9 @@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
++PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -159,6 +165,7 @@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -203,7 +210,6 @@
+ localstatelibdir = @localstatelibdir@
+ localstatelogdir = @localstatelogdir@
+ localstaterundir = @localstaterundir@
+-lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ msvc_redist_dir = @msvc_redist_dir@
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//etc/default/Makefile.in couchdb-1.0.1.new//etc/default/Makefile.in
+--- couchdb-1.0.1//etc/default/Makefile.in 2010-08-11 19:18:52.000000000 +0100
++++ couchdb-1.0.1.new//etc/default/Makefile.in 2011-06-14 18:31:46.933877673 +0100
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -69,6 +69,7 @@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -96,7 +97,8 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-JSLIB = @JSLIB@
++JS_CFLAGS = @JS_CFLAGS@
++JS_LIBS = @JS_LIBS@
+ JS_LIB_BASE = @JS_LIB_BASE@
+ JS_LIB_BINARY = @JS_LIB_BINARY@
+ JS_LIB_DIR = @JS_LIB_DIR@
+@@ -109,6 +111,7 @@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -124,6 +127,9 @@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
++PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -134,6 +140,7 @@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -178,7 +185,6 @@
+ localstatelibdir = @localstatelibdir@
+ localstatelogdir = @localstatelogdir@
+ localstaterundir = @localstaterundir@
+-lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ msvc_redist_dir = @msvc_redist_dir@
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//etc/init/Makefile.in couchdb-1.0.1.new//etc/init/Makefile.in
+--- couchdb-1.0.1//etc/init/Makefile.in 2010-08-11 19:18:52.000000000 +0100
++++ couchdb-1.0.1.new//etc/init/Makefile.in 2011-06-14 18:31:46.993878444 +0100
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -70,6 +70,7 @@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -97,7 +98,8 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-JSLIB = @JSLIB@
++JS_CFLAGS = @JS_CFLAGS@
++JS_LIBS = @JS_LIBS@
+ JS_LIB_BASE = @JS_LIB_BASE@
+ JS_LIB_BINARY = @JS_LIB_BINARY@
+ JS_LIB_DIR = @JS_LIB_DIR@
+@@ -110,6 +112,7 @@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -125,6 +128,9 @@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
++PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -135,6 +141,7 @@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -179,7 +186,6 @@
+ localstatelibdir = @localstatelibdir@
+ localstatelogdir = @localstatelogdir@
+ localstaterundir = @localstaterundir@
+-lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ msvc_redist_dir = @msvc_redist_dir@
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//etc/launchd/Makefile.in couchdb-1.0.1.new//etc/launchd/Makefile.in
+--- couchdb-1.0.1//etc/launchd/Makefile.in 2010-08-11 19:18:52.000000000 +0100
++++ couchdb-1.0.1.new//etc/launchd/Makefile.in 2011-06-14 18:31:47.053879213 +0100
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -70,6 +70,7 @@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -97,7 +98,8 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-JSLIB = @JSLIB@
++JS_CFLAGS = @JS_CFLAGS@
++JS_LIBS = @JS_LIBS@
+ JS_LIB_BASE = @JS_LIB_BASE@
+ JS_LIB_BINARY = @JS_LIB_BINARY@
+ JS_LIB_DIR = @JS_LIB_DIR@
+@@ -110,6 +112,7 @@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -125,6 +128,9 @@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
++PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -135,6 +141,7 @@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -179,7 +186,6 @@
+ localstatelibdir = @localstatelibdir@
+ localstatelogdir = @localstatelogdir@
+ localstaterundir = @localstaterundir@
+-lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ msvc_redist_dir = @msvc_redist_dir@
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//etc/logrotate.d/Makefile.in couchdb-1.0.1.new//etc/logrotate.d/Makefile.in
+--- couchdb-1.0.1//etc/logrotate.d/Makefile.in 2010-08-11 19:18:52.000000000 +0100
++++ couchdb-1.0.1.new//etc/logrotate.d/Makefile.in 2011-06-14 18:31:47.103879863 +0100
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -70,6 +70,7 @@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -97,7 +98,8 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-JSLIB = @JSLIB@
++JS_CFLAGS = @JS_CFLAGS@
++JS_LIBS = @JS_LIBS@
+ JS_LIB_BASE = @JS_LIB_BASE@
+ JS_LIB_BINARY = @JS_LIB_BINARY@
+ JS_LIB_DIR = @JS_LIB_DIR@
+@@ -110,6 +112,7 @@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -125,6 +128,9 @@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
++PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -135,6 +141,7 @@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -179,7 +186,6 @@
+ localstatelibdir = @localstatelibdir@
+ localstatelogdir = @localstatelogdir@
+ localstaterundir = @localstaterundir@
+-lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ msvc_redist_dir = @msvc_redist_dir@
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//etc/Makefile.in couchdb-1.0.1.new//etc/Makefile.in
+--- couchdb-1.0.1//etc/Makefile.in 2010-08-11 19:18:52.000000000 +0100
++++ couchdb-1.0.1.new//etc/Makefile.in 2011-06-14 18:31:46.803876005 +0100
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -138,6 +138,7 @@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -165,7 +166,8 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-JSLIB = @JSLIB@
++JS_CFLAGS = @JS_CFLAGS@
++JS_LIBS = @JS_LIBS@
+ JS_LIB_BASE = @JS_LIB_BASE@
+ JS_LIB_BINARY = @JS_LIB_BINARY@
+ JS_LIB_DIR = @JS_LIB_DIR@
+@@ -178,6 +180,7 @@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -193,6 +196,9 @@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
++PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -203,6 +209,7 @@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -247,7 +254,6 @@
+ localstatelibdir = @localstatelibdir@
+ localstatelogdir = @localstatelogdir@
+ localstaterundir = @localstaterundir@
+-lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ msvc_redist_dir = @msvc_redist_dir@
+@@ -397,7 +403,7 @@
+ # (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'; \
++ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+@@ -422,7 +428,7 @@
+ fi; test -z "$$fail"
+
+ $(RECURSIVE_CLEAN_TARGETS):
+- @failcom='exit 1'; \
++ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//etc/windows/Makefile.in couchdb-1.0.1.new//etc/windows/Makefile.in
+--- couchdb-1.0.1//etc/windows/Makefile.in 2010-08-11 19:18:53.000000000 +0100
++++ couchdb-1.0.1.new//etc/windows/Makefile.in 2011-06-14 18:31:47.163880636 +0100
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -69,6 +69,7 @@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -96,7 +97,8 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-JSLIB = @JSLIB@
++JS_CFLAGS = @JS_CFLAGS@
++JS_LIBS = @JS_LIBS@
+ JS_LIB_BASE = @JS_LIB_BASE@
+ JS_LIB_BINARY = @JS_LIB_BINARY@
+ JS_LIB_DIR = @JS_LIB_DIR@
+@@ -109,6 +111,7 @@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -124,6 +127,9 @@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
++PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -134,6 +140,7 @@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -178,7 +185,6 @@
+ localstatelibdir = @localstatelibdir@
+ localstatelogdir = @localstatelogdir@
+ localstaterundir = @localstaterundir@
+-lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ msvc_redist_dir = @msvc_redist_dir@
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//m4/libtool.m4 couchdb-1.0.1.new//m4/libtool.m4
+--- couchdb-1.0.1//m4/libtool.m4 2010-08-11 19:18:48.000000000 +0100
++++ couchdb-1.0.1.new//m4/libtool.m4 2011-06-14 18:31:33.643706782 +0100
+@@ -1,7 +1,8 @@
+ # 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.
++# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
++# Inc.
+ # Written by Gordon Matzigkeit, 1996
+ #
+ # This file is free software; the Free Software Foundation gives
+@@ -10,7 +11,8 @@
+
+ m4_define([_LT_COPYING], [dnl
+ # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+-# 2006, 2007, 2008 Free Software Foundation, Inc.
++# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
++# Inc.
+ # Written by Gordon Matzigkeit, 1996
+ #
+ # This file is part of GNU Libtool.
+@@ -37,7 +39,7 @@
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ ])
+
+-# serial 56 LT_INIT
++# serial 57 LT_INIT
+
+
+ # LT_PREREQ(VERSION)
+@@ -66,6 +68,7 @@
+ # ------------------
+ AC_DEFUN([LT_INIT],
+ [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
++AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+ AC_BEFORE([$0], [LT_LANG])dnl
+ AC_BEFORE([$0], [LT_OUTPUT])dnl
+ AC_BEFORE([$0], [LTDL_INIT])dnl
+@@ -82,6 +85,8 @@
+ AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+ m4_require([_LT_PROG_LTMAIN])dnl
+
++_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
++
+ dnl Parse OPTIONS
+ _LT_SET_OPTIONS([$0], [$1])
+
+@@ -118,7 +123,7 @@
+ *) break;;
+ esac
+ done
+-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
++cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+ ])
+
+
+@@ -138,6 +143,9 @@
+ m4_defun([_LT_SETUP],
+ [AC_REQUIRE([AC_CANONICAL_HOST])dnl
+ AC_REQUIRE([AC_CANONICAL_BUILD])dnl
++AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
++AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
++
+ _LT_DECL([], [host_alias], [0], [The host system])dnl
+ _LT_DECL([], [host], [0])dnl
+ _LT_DECL([], [host_os], [0])dnl
+@@ -160,10 +168,13 @@
+ dnl
+ m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+ m4_require([_LT_CHECK_SHELL_FEATURES])dnl
++m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
+ m4_require([_LT_CMD_RELOAD])dnl
+ m4_require([_LT_CHECK_MAGIC_METHOD])dnl
++m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
+ m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+ m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
++m4_require([_LT_WITH_SYSROOT])dnl
+
+ _LT_CONFIG_LIBTOOL_INIT([
+ # See if we are running on zsh, and set the options which allow our
+@@ -179,7 +190,6 @@
+ _LT_CHECK_OBJDIR
+
+ m4_require([_LT_TAG_COMPILER])dnl
+-_LT_PROG_ECHO_BACKSLASH
+
+ case $host_os in
+ aix3*)
+@@ -193,23 +203,6 @@
+ ;;
+ esac
+
+-# 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'
+-
+-# Same as above, but do not quote variable references.
+-double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+-
+-# 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'
+-
+-# Sed substitution to avoid accidental globbing in evaled expressions
+-no_glob_subst='s/\*/\\\*/g'
+-
+ # Global variables:
+ ofile=libtool
+ can_build_shared=yes
+@@ -250,6 +243,28 @@
+ ])# _LT_SETUP
+
+
++# _LT_PREPARE_SED_QUOTE_VARS
++# --------------------------
++# Define a few sed substitution that help us do robust quoting.
++m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
++[# Backslashify metacharacters that are still active within
++# double-quoted strings.
++sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
++
++# Same as above, but do not quote variable references.
++double_quote_subst='s/\([["`\\]]\)/\\\1/g'
++
++# 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'
++
++# Sed substitution to avoid accidental globbing in evaled expressions
++no_glob_subst='s/\*/\\\*/g'
++])
++
+ # _LT_PROG_LTMAIN
+ # ---------------
+ # Note that this code is called both from `configure', and `config.status'
+@@ -408,7 +423,7 @@
+ # 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"`'])
++[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
+
+
+ # _LT_CONFIG_STATUS_DECLARATIONS
+@@ -418,7 +433,7 @@
+ # embedded single quotes properly. In configure, this macro expands
+ # each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+ #
+-# ='`$ECHO "X$" | $Xsed -e "$delay_single_quote_subst"`'
++# ='`$ECHO "$" | $SED "$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)])])])
+@@ -517,12 +532,20 @@
+ LTCFLAGS='$LTCFLAGS'
+ compiler='$compiler_DEFAULT'
+
++# A function that is used when there is no print builtin or printf.
++func_fallback_echo ()
++{
++ eval 'cat <<_LTECHO_EOF
++\$[]1
++_LTECHO_EOF'
++}
++
+ # Quote evaled strings.
+ for var in lt_decl_all_varnames([[ \
+ ]], lt_decl_quote_varnames); do
+- case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
++ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
++ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+@@ -533,9 +556,9 @@
+ # Double-quote double-evaled strings.
+ for var in lt_decl_all_varnames([[ \
+ ]], lt_decl_dquote_varnames); do
+- case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
++ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
++ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+@@ -543,16 +566,38 @@
+ esac
+ done
+
+-# 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
+-
+ _LT_OUTPUT_LIBTOOL_INIT
+ ])
+
++# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
++# ------------------------------------
++# Generate a child script FILE with all initialization necessary to
++# reuse the environment learned by the parent script, and make the
++# file executable. If COMMENT is supplied, it is inserted after the
++# `#!' sequence but before initialization text begins. After this
++# macro, additional text can be appended to FILE to form the body of
++# the child script. The macro ends with non-zero status if the
++# file could not be fully written (such as if the disk is full).
++m4_ifdef([AS_INIT_GENERATED],
++[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
++[m4_defun([_LT_GENERATED_FILE_INIT],
++[m4_require([AS_PREPARE])]dnl
++[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
++[lt_write_fail=0
++cat >$1 <<_ASEOF || lt_write_fail=1
++#! $SHELL
++# Generated by $as_me.
++$2
++SHELL=\${CONFIG_SHELL-$SHELL}
++export SHELL
++_ASEOF
++cat >>$1 <<\_ASEOF || lt_write_fail=1
++AS_SHELL_SANITIZE
++_AS_PREPARE
++exec AS_MESSAGE_FD>&1
++_ASEOF
++test $lt_write_fail = 0 && chmod +x $1[]dnl
++m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
+
+ # LT_OUTPUT
+ # ---------
+@@ -562,20 +607,11 @@
+ 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.
+-
+-lt_cl_silent=false
+-SHELL=\${CONFIG_SHELL-$SHELL}
+-_LTEOF
++_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
++[# Run this file to recreate a libtool stub with the current configuration.])
+
+ cat >>"$CONFIG_LT" <<\_LTEOF
+-AS_SHELL_SANITIZE
+-_AS_PREPARE
+-
+-exec AS_MESSAGE_FD>&1
++lt_cl_silent=false
+ exec AS_MESSAGE_LOG_FD>>config.log
+ {
+ echo
+@@ -601,7 +637,7 @@
+ m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+ configured by $[0], generated by m4_PACKAGE_STRING.
+
+-Copyright (C) 2008 Free Software Foundation, Inc.
++Copyright (C) 2010 Free Software Foundation, Inc.
+ This config.lt script is free software; the Free Software Foundation
+ gives unlimited permision to copy, distribute and modify it."
+
+@@ -646,15 +682,13 @@
+ # 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_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)
+ ])# LT_OUTPUT
+
+
+@@ -717,15 +751,12 @@
+ # 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)
++ sed '$q' "$ltmain" >> "$cfgfile" \
++ || (rm -f "$cfgfile"; exit 1)
+
+- _LT_PROG_XSI_SHELLFNS
++ _LT_PROG_REPLACE_SHELLFNS
+
+- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+-
+- mv -f "$cfgfile" "$ofile" ||
++ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+ ],
+@@ -831,11 +862,13 @@
+ 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)])
++AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
+ 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], [])
++dnl AC_DEFUN([AC_LIBTOOL_RC], [])
+
+
+ # _LT_TAG_COMPILER
+@@ -940,6 +973,31 @@
+ [lt_cv_ld_exported_symbols_list=no])
+ LDFLAGS="$save_LDFLAGS"
+ ])
++ AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
++ [lt_cv_ld_force_load=no
++ cat > conftest.c << _LT_EOF
++int forced_loaded() { return 2;}
++_LT_EOF
++ echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
++ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
++ echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
++ $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
++ echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
++ $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
++ cat > conftest.c << _LT_EOF
++int main() { return 0;}
++_LT_EOF
++ echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
++ $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
++ _lt_result=$?
++ if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
++ lt_cv_ld_force_load=yes
++ else
++ cat conftest.err >&AS_MESSAGE_LOG_FD
++ fi
++ rm -f conftest.err libconftest.a conftest conftest.c
++ rm -rf conftest.dSYM
++ ])
+ case $host_os in
+ rhapsody* | darwin1.[[012]])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+@@ -967,7 +1025,7 @@
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+- if test "$DSYMUTIL" != ":"; then
++ if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+@@ -987,7 +1045,11 @@
+ _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)=''
++ if test "$lt_cv_ld_force_load" = "yes"; then
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
++ else
++ _LT_TAGVAR(whole_archive_flag_spec, $1)=''
++ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+ case $cc_basename in
+@@ -995,7 +1057,7 @@
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+- output_verbose_link_cmd=echo
++ output_verbose_link_cmd=func_echo_all
+ _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}"
+@@ -1011,203 +1073,142 @@
+ fi
+ ])
+
+-# _LT_SYS_MODULE_PATH_AIX
+-# -----------------------
++# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
++# ----------------------------------
+ # 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.
++# Store the results from the different compilers for each TAGNAME.
++# Allow to override them for all tags through lt_cv_aix_libpath.
+ 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
++if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
++ [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
++ lt_aix_libpath_sed='[
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }]'
++ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`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 "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
++ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi],[])
++ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
++ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
++ fi
++ ])
++ aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
++fi
+ ])# _LT_SYS_MODULE_PATH_AIX
+
+
+ # _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
++[m4_divert_text([M4SH-INIT], [$1
++])])# _LT_SHELL_INIT
++
+
+
+ # _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.
++# Find how we can fake an echo command that does not interpret backslash.
++# In particular, with Autoconf 2.60 or later we add some code to the start
++# of the generated configure script which will find a shell with a builtin
++# printf (which we can use as an echo command).
+ m4_defun([_LT_PROG_ECHO_BACKSLASH],
+-[_LT_SHELL_INIT([
+-# Check that we are running under the correct shell.
+-SHELL=${CONFIG_SHELL-/bin/sh}
+-
+-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
+-
+-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!
+- :
++[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
++ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
++ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
++
++AC_MSG_CHECKING([how to print strings])
++# Test print first, because it will be a builtin if present.
++if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
++ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
++ ECHO='print -r --'
++elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
++ ECHO='printf %s\n'
+ else
+- # Restart under the correct shell.
+- exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
+-fi
+-
+-if test "X[$]1" = X--fallback-echo; then
+- # used as fallback echo
+- shift
+- cat <<_LT_EOF
+-[$]*
+-_LT_EOF
+- exit 0
++ # Use this function as a fallback that always works.
++ func_fallback_echo ()
++ {
++ eval 'cat <<_LTECHO_EOF
++$[]1
++_LTECHO_EOF'
++ }
++ ECHO='func_fallback_echo'
+ fi
+
+-# 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 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
+- # 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.
+-
+- 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"
+-
+- 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=:
+-
+- 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
++# func_echo_all arg...
++# Invoke $ECHO with all args, space-separated.
++func_echo_all ()
++{
++ $ECHO "$*"
++}
+
+- 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
++case "$ECHO" in
++ printf*) AC_MSG_RESULT([printf]) ;;
++ print*) AC_MSG_RESULT([print -r]) ;;
++ *) AC_MSG_RESULT([cat]) ;;
++esac
+
+-# 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
++m4_ifdef([_AS_DETECT_SUGGESTED],
++[_AS_DETECT_SUGGESTED([
++ test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
++ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
++ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
++ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
++ PATH=/empty FPATH=/empty; export PATH FPATH
++ test "X`printf %s $ECHO`" = "X$ECHO" \
++ || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
+
+-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_DECL([], [ECHO], [1], [An echo program that protects backslashes])
+ ])# _LT_PROG_ECHO_BACKSLASH
+
+
++# _LT_WITH_SYSROOT
++# ----------------
++AC_DEFUN([_LT_WITH_SYSROOT],
++[AC_MSG_CHECKING([for sysroot])
++AC_ARG_WITH([sysroot],
++[ --with-sysroot[=DIR] Search for dependent libraries within DIR
++ (or the compiler's sysroot if not specified).],
++[], [with_sysroot=no])
++
++dnl lt_sysroot will always be passed unquoted. We quote it here
++dnl in case the user passed a directory name.
++lt_sysroot=
++case ${with_sysroot} in #(
++ yes)
++ if test "$GCC" = yes; then
++ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
++ fi
++ ;; #(
++ /*)
++ lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
++ ;; #(
++ no|'')
++ ;; #(
++ *)
++ AC_MSG_RESULT([${with_sysroot}])
++ AC_MSG_ERROR([The sysroot must be an absolute path.])
++ ;;
++esac
++
++ AC_MSG_RESULT([${lt_sysroot:-no}])
++_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
++[dependent libraries, and in which our libraries should be installed.])])
++
+ # _LT_ENABLE_LOCK
+ # ---------------
+ m4_defun([_LT_ENABLE_LOCK],
+@@ -1236,7 +1237,7 @@
+ ;;
+ *-*-irix6*)
+ # Find out which ABI we are using.
+- echo '[#]line __oline__ "configure"' > conftest.$ac_ext
++ echo '[#]line '$LINENO' "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
+@@ -1354,14 +1355,47 @@
+ ])# _LT_ENABLE_LOCK
+
+
++# _LT_PROG_AR
++# -----------
++m4_defun([_LT_PROG_AR],
++[AC_CHECK_TOOLS(AR, [ar], false)
++: ${AR=ar}
++: ${AR_FLAGS=cru}
++_LT_DECL([], [AR], [1], [The archiver])
++_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
++
++AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
++ [lt_cv_ar_at_file=no
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
++ [echo conftest.$ac_objext > conftest.lst
++ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
++ AC_TRY_EVAL([lt_ar_try])
++ if test "$ac_status" -eq 0; then
++ # Ensure the archiver fails upon bogus file names.
++ rm -f conftest.$ac_objext libconftest.a
++ AC_TRY_EVAL([lt_ar_try])
++ if test "$ac_status" -ne 0; then
++ lt_cv_ar_at_file=@
++ fi
++ fi
++ rm -f conftest.* libconftest.a
++ ])
++ ])
++
++if test "x$lt_cv_ar_at_file" = xno; then
++ archiver_list_spec=
++else
++ archiver_list_spec=$lt_cv_ar_at_file
++fi
++_LT_DECL([], [archiver_list_spec], [1],
++ [How to feed a file listing to the archiver])
++])# _LT_PROG_AR
++
++
+ # _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])
++[_LT_PROG_AR
+
+ AC_CHECK_TOOL(STRIP, strip, :)
+ test -z "$STRIP" && STRIP=:
+@@ -1388,10 +1422,19 @@
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+ fi
++
++case $host_os in
++ darwin*)
++ lock_old_archive_extraction=yes ;;
++ *)
++ lock_old_archive_extraction=no ;;
++esac
+ _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_DECL([], [lock_old_archive_extraction], [0],
++ [Whether to use a lock for old archive extraction])
+ ])# _LT_CMD_OLD_ARCHIVE
+
+
+@@ -1416,15 +1459,15 @@
+ -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 echo "\"\$as_me:$LINENO: $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
++ echo "$as_me:$LINENO: \$? = $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
++ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/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
+@@ -1464,7 +1507,7 @@
+ 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
++ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+@@ -1527,6 +1570,11 @@
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
++ mint*)
++ # On MiNT this can take a long time and run out of memory.
++ lt_cv_sys_max_cmd_len=8192;
++ ;;
++
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+@@ -1591,8 +1639,8 @@
+ # 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 &&
++ while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
++ = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+@@ -1643,7 +1691,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-[#line __oline__ "configure"
++[#line $LINENO "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -1684,7 +1732,13 @@
+ # endif
+ #endif
+
+-void fnord() { int i=42;}
++/* When -fvisbility=hidden is used, assume the code has been annotated
++ correspondingly for the symbols needed. */
++#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
++int fnord () __attribute__((visibility("default")));
++#endif
++
++int fnord () { return 42; }
+ int main ()
+ {
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+@@ -1693,7 +1747,11 @@
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
++ else
++ {
++ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
++ else puts (dlerror ());
++ }
+ /* dlclose (self); */
+ }
+ else
+@@ -1869,16 +1927,16 @@
+ -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 echo "\"\$as_me:$LINENO: $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
++ echo "$as_me:$LINENO: \$? = $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
++ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/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
+@@ -2037,6 +2095,7 @@
+ m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+ m4_require([_LT_DECL_OBJDUMP])dnl
+ m4_require([_LT_DECL_SED])dnl
++m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+ AC_MSG_CHECKING([dynamic linker characteristics])
+ m4_if([$1],
+ [], [
+@@ -2045,16 +2104,23 @@
+ 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
++ case $host_os in
++ mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
++ *) lt_sed_strip_eq="s,=/,/,g" ;;
++ esac
++ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
++ case $lt_search_path_spec in
++ *\;*)
+ # 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
++ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
++ ;;
++ *)
++ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
++ ;;
++ esac
+ # 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=
+@@ -2067,7 +2133,7 @@
+ 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 '
++ lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+ BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+@@ -2087,7 +2153,13 @@
+ 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`
++ # AWK program above erroneously prepends '/' to C:/dos/paths
++ # for these hosts.
++ case $host_os in
++ mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
++ $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
++ esac
++ sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+ else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+ fi])
+@@ -2175,7 +2247,7 @@
+ 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'
++ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''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
+ ;;
+@@ -2206,8 +2278,9 @@
+ need_version=no
+ need_lib_prefix=no
+
+- case $GCC,$host_os in
+- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
++ case $GCC,$cc_basename in
++ yes,*)
++ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+@@ -2228,36 +2301,83 @@
+ 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"
++m4_if([$1], [],[
++ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
+ ;;
+ 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
++ dynamic_linker='Win32 ld.exe'
++ ;;
++
++ *,cl*)
++ # Native MSVC
++ libname_spec='$name'
++ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
++ library_names_spec='${libname}.dll.lib'
++
++ case $build_os in
++ mingw*)
++ sys_lib_search_path_spec=
++ lt_save_ifs=$IFS
++ IFS=';'
++ for lt_path in $LIB
++ do
++ IFS=$lt_save_ifs
++ # Let DOS variable expansion print the short 8.3 style file name.
++ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
++ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
++ done
++ IFS=$lt_save_ifs
++ # Convert to MSYS style.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
++ ;;
++ cygwin*)
++ # Convert to unix form, then to dos form, then back to unix form
++ # but this time dos style (no spaces!) so that the unix form looks
++ # like /cygdrive/c/PROGRA~1:/cygdr...
++ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
++ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
++ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ ;;
++ *)
++ sys_lib_search_path_spec="$LIB"
++ if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
++ # It is most probably a Windows format PATH.
++ 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
++ # FIXME: find the short name or the path components, as spaces are
++ # common. (e.g. "Program Files" -> "PROGRA~1")
++ ;;
++ esac
++
++ # 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'
++ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
++ dlpath=$dir/\$dldll~
++ $RM \$dlpath'
++ shlibpath_overrides_runpath=yes
++ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
++ # Assume MSVC wrapper
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
++ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+- dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+@@ -2341,6 +2461,20 @@
+ 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
++ ;;
++
++haiku*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ dynamic_linker="$host_os runtime_loader"
++ 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=LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
+ ;;
+
+@@ -2386,8 +2520,10 @@
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+- # HP-UX runs *really* slowly unless shared libraries are mode 555.
++ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+ postinstall_cmds='chmod 555 $lib'
++ # or fails outright, so override atomically:
++ install_override_mode=555
+ ;;
+
+ interix[[3-9]]*)
+@@ -2445,7 +2581,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux* | k*bsd*-gnu)
++linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+@@ -2454,16 +2590,21 @@
+ 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
++ AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
++ [lt_cv_shlibpath_overrides_runpath=no
++ 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],
++ [lt_cv_shlibpath_overrides_runpath=yes])])
++ LDFLAGS=$save_LDFLAGS
++ libdir=$save_libdir
++ ])
++ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+@@ -2472,7 +2613,7 @@
+
+ # 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' ' '`
++ 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;s/"//g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ fi
+
+@@ -2485,6 +2626,18 @@
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
++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'
++ ;;
++
+ netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+@@ -2705,6 +2858,8 @@
+ 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([], [install_override_mode], [1],
++ [Permission mode override for installation of shared libraries])
+ _LT_DECL([], [postinstall_cmds], [2],
+ [Command to use after installation of a shared archive])
+ _LT_DECL([], [postuninstall_cmds], [2],
+@@ -2817,6 +2972,7 @@
+ AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+ m4_require([_LT_DECL_SED])dnl
+ m4_require([_LT_DECL_EGREP])dnl
++m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
+
+ AC_ARG_WITH([gnu-ld],
+ [AS_HELP_STRING([--with-gnu-ld],
+@@ -2938,6 +3094,11 @@
+ esac
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ case $host_os in
++ cygwin* | mingw* | pw32* | cegcc*)
++ if test "$GCC" != yes; then
++ reload_cmds=false
++ fi
++ ;;
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+@@ -2946,8 +3107,8 @@
+ fi
+ ;;
+ esac
+-_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+-_LT_DECL([], [reload_cmds], [2])dnl
++_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
++_LT_TAGDECL([], [reload_cmds], [2])dnl
+ ])# _LT_CMD_RELOAD
+
+
+@@ -2999,16 +3160,18 @@
+ # 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
++ # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
++ if ( test "$lt_cv_nm_interface" = "BSD nm" && 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)?'
++ # Keep this pattern in sync with the one in func_win32_libid.
++ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+
+-cegcc)
++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'
+@@ -3038,6 +3201,10 @@
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
++haiku*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
+ hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case $host_cpu in
+@@ -3046,11 +3213,11 @@
+ 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_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? 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_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
+@@ -3072,11 +3239,11 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux* | k*bsd*-gnu)
++linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+-netbsd*)
++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
+@@ -3150,6 +3317,21 @@
+ ;;
+ esac
+ ])
++
++file_magic_glob=
++want_nocaseglob=no
++if test "$build" = "$host"; then
++ case $host_os in
++ mingw* | pw32*)
++ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
++ want_nocaseglob=yes
++ else
++ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
++ fi
++ ;;
++ esac
++fi
++
+ 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
+@@ -3157,7 +3339,11 @@
+ _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"])
++ [Command to use when deplibs_check_method = "file_magic"])
++_LT_DECL([], [file_magic_glob], [1],
++ [How to find potential files when deplibs_check_method = "file_magic"])
++_LT_DECL([], [want_nocaseglob], [1],
++ [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
+ ])# _LT_CHECK_MAGIC_METHOD
+
+
+@@ -3214,7 +3400,19 @@
+ 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"], :)
++ if test -n "$DUMPBIN"; then :
++ # Let the user override the test.
++ else
++ AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
++ case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
++ *COFF*)
++ DUMPBIN="$DUMPBIN -symbols"
++ ;;
++ *)
++ DUMPBIN=:
++ ;;
++ esac
++ fi
+ AC_SUBST([DUMPBIN])
+ if test "$DUMPBIN" != ":"; then
+ NM="$DUMPBIN"
+@@ -3227,13 +3425,13 @@
+ 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 echo "\"\$as_me:$LINENO: $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 echo "\"\$as_me:$LINENO: $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)
++ (eval echo "\"\$as_me:$LINENO: 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"
+@@ -3248,20 +3446,81 @@
+ dnl AC_DEFUN([AM_PROG_NM], [])
+ dnl AC_DEFUN([AC_PROG_NM], [])
+
++# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
++# --------------------------------
++# how to determine the name of the shared library
++# associated with a specific link library.
++# -- PORTME fill in with the dynamic library characteristics
++m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
++[m4_require([_LT_DECL_EGREP])
++m4_require([_LT_DECL_OBJDUMP])
++m4_require([_LT_DECL_DLLTOOL])
++AC_CACHE_CHECK([how to associate runtime and link libraries],
++lt_cv_sharedlib_from_linklib_cmd,
++[lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+-# 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")
++case $host_os in
++cygwin* | mingw* | pw32* | cegcc*)
++ # two different shell functions defined in ltmain.sh
++ # decide which to use based on capabilities of $DLLTOOL
++ case `$DLLTOOL --help 2>&1` in
++ *--identify-strict*)
++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
++ ;;
++ *)
++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
++ ;;
++ esac
++ ;;
++*)
++ # fallback: assume linklib IS sharedlib
++ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
++ ;;
++esac
++])
++sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
++test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
++
++_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
++ [Command to associate shared and link libraries])
++])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
++
++
++# _LT_PATH_MANIFEST_TOOL
++# ----------------------
++# locate the manifest tool
++m4_defun([_LT_PATH_MANIFEST_TOOL],
++[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
++test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
++AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
++ [lt_cv_path_mainfest_tool=no
++ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
++ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
++ cat conftest.err >&AS_MESSAGE_LOG_FD
++ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
++ lt_cv_path_mainfest_tool=yes
++ fi
++ rm -f conftest*])
++if test "x$lt_cv_path_mainfest_tool" != xyes; then
++ MANIFEST_TOOL=:
++fi
++_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
++])# _LT_PATH_MANIFEST_TOOL
++
++
++# LT_LIB_M
++# --------
++# check for math library
++AC_DEFUN([LT_LIB_M],
++[AC_REQUIRE([AC_CANONICAL_HOST])dnl
++LIBM=
++case $host in
++*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-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")
+@@ -3284,7 +3543,12 @@
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+ if test "$GCC" = yes; then
+- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
++ case $cc_basename in
++ nvcc*)
++ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
++ *)
++ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
++ esac
+
+ _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+ lt_cv_prog_compiler_rtti_exceptions,
+@@ -3301,6 +3565,7 @@
+ m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
+ [AC_REQUIRE([AC_CANONICAL_HOST])dnl
+ AC_REQUIRE([AC_PROG_CC])dnl
++AC_REQUIRE([AC_PROG_AWK])dnl
+ AC_REQUIRE([LT_PATH_NM])dnl
+ AC_REQUIRE([LT_PATH_LD])dnl
+ m4_require([_LT_DECL_SED])dnl
+@@ -3368,8 +3633,8 @@
+ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+ # 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'"
++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'"
+
+ # Handle CRLF in mingw tool chain
+ opt_cr=
+@@ -3405,6 +3670,7 @@
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
++ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+@@ -3426,7 +3692,7 @@
+ 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
++ 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"
+@@ -3438,6 +3704,18 @@
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
++/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
++#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
++/* DATA imports from DLLs on WIN32 con't be const, because runtime
++ relocations are performed -- see ld's documentation on pseudo-relocs. */
++# define LT@&t@_DLSYM_CONST
++#elif defined(__osf__)
++/* This system does not cope well with relocations in const data. */
++# define LT@&t@_DLSYM_CONST
++#else
++# define LT@&t@_DLSYM_CONST const
++#endif
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -3449,7 +3727,7 @@
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+ /* The mapping between symbol names and symbols. */
+-const struct {
++LT@&t@_DLSYM_CONST struct {
+ const char *name;
+ void *address;
+ }
+@@ -3475,15 +3753,15 @@
+ _LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+- lt_save_LIBS="$LIBS"
+- lt_save_CFLAGS="$CFLAGS"
++ lt_globsym_save_LIBS=$LIBS
++ lt_globsym_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"
++ LIBS=$lt_globsym_save_LIBS
++ CFLAGS=$lt_globsym_save_CFLAGS
+ else
+ echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+@@ -3516,6 +3794,13 @@
+ AC_MSG_RESULT(ok)
+ fi
+
++# Response file support.
++if test "$lt_cv_nm_interface" = "MS dumpbin"; then
++ nm_file_list_spec='@'
++elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
++ nm_file_list_spec='@'
++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],
+@@ -3526,6 +3811,8 @@
+ _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_DECL([], [nm_file_list_spec], [1],
++ [Specify filename containing input files for $NM])
+ ]) # _LT_CMD_GLOBAL_SYMBOLS
+
+
+@@ -3537,7 +3824,6 @@
+ _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
+@@ -3588,6 +3874,11 @@
+ # DJGPP does not support shared libraries at all
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
++ haiku*)
++ # PIC is the default for Haiku.
++ # The "-static" flag exists, but is broken.
++ _LT_TAGVAR(lt_prog_compiler_static, $1)=
++ ;;
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+@@ -3637,6 +3928,12 @@
+ ;;
+ esac
+ ;;
++ 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).
++ m4_if([$1], [GCJ], [],
++ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
++ ;;
+ dgux*)
+ case $cc_basename in
+ ec++*)
+@@ -3693,7 +3990,7 @@
+ ;;
+ esac
+ ;;
+- linux* | k*bsd*-gnu)
++ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ KCC*)
+ # KAI C++ Compiler
+@@ -3726,8 +4023,8 @@
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+- xlc* | xlC*)
+- # IBM XL 8.0 on PPC
++ xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
++ # IBM XL 8.0, 9.0 on PPC and BlueGene
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+@@ -3757,7 +4054,7 @@
+ ;;
+ esac
+ ;;
+- netbsd*)
++ netbsd* | netbsdelf*-gnu)
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+@@ -3789,7 +4086,7 @@
+ ;;
+ solaris*)
+ case $cc_basename in
+- CC*)
++ CC* | sunCC*)
+ # 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'
+@@ -3893,6 +4190,12 @@
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+
++ haiku*)
++ # PIC is the default for Haiku.
++ # The "-static" flag exists, but is broken.
++ _LT_TAGVAR(lt_prog_compiler_static, $1)=
++ ;;
++
+ 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
+@@ -3935,6 +4238,13 @@
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
++
++ case $cc_basename in
++ nvcc*) # Cuda Compiler Driver 2.2
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC'
++ ;;
++ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+@@ -3977,7 +4287,7 @@
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+- linux* | k*bsd*-gnu)
++ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
+@@ -3998,7 +4308,13 @@
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+ ;;
+- pgcc* | pgf77* | pgf90* | pgf95*)
++ nagfor*)
++ # NAG Fortran compiler
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ ;;
++ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+@@ -4010,25 +4326,25 @@
+ # 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
++ xl* | bgxl* | bgf* | mpixl*)
++ # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+ _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
++ *Sun\ F* | *Sun*Fortran*)
++ # 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)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+ ;;
+- *Sun\ F*)
+- # Sun Fortran 8.3 passes all unrecognized flags to the linker
++ *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)=''
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ ;;
+ esac
+ ;;
+@@ -4060,7 +4376,7 @@
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ case $cc_basename in
+- f77* | f90* | f95*)
++ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+@@ -4117,9 +4433,11 @@
+ _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])
++
++AC_CACHE_CHECK([for $compiler option to produce PIC],
++ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
++ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
++_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
+
+ #
+ # Check to make sure the PIC flag actually works.
+@@ -4138,6 +4456,8 @@
+ _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
+ [Additional compiler flags for building library objects])
+
++_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
++ [How to pass a linker flag through the compiler])
+ #
+ # Check to make sure the static flag actually works.
+ #
+@@ -4158,6 +4478,7 @@
+ m4_defun([_LT_LINKER_SHLIBS],
+ [AC_REQUIRE([LT_PATH_LD])dnl
+ AC_REQUIRE([LT_PATH_NM])dnl
++m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+ m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+ m4_require([_LT_DECL_EGREP])dnl
+ m4_require([_LT_DECL_SED])dnl
+@@ -4166,27 +4487,38 @@
+ 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'
++ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+ 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
++ # Also, AIX nm treats weak defined symbols like other global defined
++ # symbols, whereas GNU nm marks them as "W".
+ 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'
++ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([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'
+- ;;
++ case $cc_basename in
++ cl*) ;;
++ *)
++ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
++ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
++ ;;
++ esac
++ ;;
++ linux* | k*bsd*-gnu | 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)=
+@@ -4246,10 +4578,39 @@
+ openbsd*)
+ with_gnu_ld=no
+ ;;
++ linux* | k*bsd*-gnu | gnu*)
++ _LT_TAGVAR(link_all_deplibs, $1)=no
++ ;;
+ esac
+
+ _LT_TAGVAR(ld_shlibs, $1)=yes
++
++ # On some targets, GNU ld is compatible enough with the native linker
++ # that we're better off using the native interface for both.
++ lt_use_gnu_ld_interface=no
+ if test "$with_gnu_ld" = yes; then
++ case $host_os in
++ aix*)
++ # The AIX port of GNU ld has always aspired to compatibility
++ # with the native linker. However, as the warning in the GNU ld
++ # block says, versions before 2.19.5* couldn't really create working
++ # shared libraries, regardless of the interface used.
++ case `$LD -v 2>&1` in
++ *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
++ *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
++ *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
++ *)
++ lt_use_gnu_ld_interface=yes
++ ;;
++ esac
++ ;;
++ *)
++ lt_use_gnu_ld_interface=yes
++ ;;
++ esac
++ fi
++
++ if test "$lt_use_gnu_ld_interface" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+@@ -4267,6 +4628,7 @@
+ fi
+ supports_anon_versioning=no
+ case `$LD -v 2>&1` in
++ *GNU\ gold*) supports_anon_versioning=yes ;;
+ *\ [[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 ...
+@@ -4282,11 +4644,12 @@
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
++*** Warning: the GNU linker, at least up to release 2.19, 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.
++*** really care for shared libraries, you may want to install binutils
++*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
++*** You will then need to restart the configuration process.
+
+ _LT_EOF
+ fi
+@@ -4322,10 +4685,12 @@
+ # _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(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+ _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'
++ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
++ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+
+ 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'
+@@ -4343,6 +4708,11 @@
+ fi
+ ;;
+
++ haiku*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(link_all_deplibs, $1)=yes
++ ;;
++
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+@@ -4358,7 +4728,7 @@
+ _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'
+ ;;
+
+- gnu* | linux* | tpf* | k*bsd*-gnu)
++ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+ tmp_diet=no
+ if test "$host_os" = linux-dietlibc; then
+ case $cc_basename in
+@@ -4368,15 +4738,16 @@
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+- tmp_addflag=
++ tmp_addflag=' $pic_flag'
+ 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'
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$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'
++ pgf77* | pgf90* | pgf95* | pgfortran*)
++ # 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; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+@@ -4387,13 +4758,17 @@
+ 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)
++ xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
++ nvcc*) # Cuda Compiler Driver 2.2
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
++ _LT_TAGVAR(compiler_needs_object, $1)=yes
++ ;;
+ esac
+ 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(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+@@ -4409,17 +4784,17 @@
+ fi
+
+ case $cc_basename in
+- xlf*)
++ xlf* | bgf* | bgxlf* | mpixlf*)
+ # 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'
++ _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_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'
++ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+@@ -4428,13 +4803,13 @@
+ fi
+ ;;
+
+- netbsd*)
++ 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'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+@@ -4452,8 +4827,8 @@
+
+ _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'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $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
+@@ -4499,8 +4874,8 @@
+
+ *)
+ 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'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $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
+@@ -4540,8 +4915,10 @@
+ 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
++ # Also, AIX nm treats weak defined symbols like other global
++ # defined symbols, whereas GNU nm marks them as "W".
+ 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'
++ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([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
+@@ -4603,6 +4980,7 @@
+ 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
+@@ -4628,9 +5006,9 @@
+ _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_SYS_MODULE_PATH_AIX([$1])
+ _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"
++ _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 func_echo_all "${wl}${allow_undefined_flag}"; 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'
+@@ -4639,14 +5017,19 @@
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- _LT_SYS_MODULE_PATH_AIX
++ _LT_SYS_MODULE_PATH_AIX([$1])
+ _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'
++ if test "$with_gnu_ld" = yes; then
++ # We only use this code for GNU lds that support --whole-archive.
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
++ else
++ # Exported symbols can be pulled into shared objects from archives
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
++ fi
+ _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'
+@@ -4678,20 +5061,63 @@
+ # 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
++ case $cc_basename in
++ cl*)
++ # Native MSVC
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
++ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++ _LT_TAGVAR(always_export_symbols, $1)=yes
++ _LT_TAGVAR(file_list_spec, $1)='@'
++ # 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 $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
++ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
++ else
++ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
++ fi~
++ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
++ linknames='
++ # The linker will not automatically build a static lib if we build a DLL.
++ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
++ _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'
++ # Don't use ranlib
++ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
++ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
++ lt_tool_outputfile="@TOOL_OUTPUT@"~
++ case $lt_outputfile in
++ *.exe|*.EXE) ;;
++ *)
++ lt_outputfile="$lt_outputfile.exe"
++ lt_tool_outputfile="$lt_tool_outputfile.exe"
++ ;;
++ esac~
++ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
++ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
++ $RM "$lt_outputfile.manifest";
++ fi'
++ ;;
++ *)
++ # Assume MSVC wrapper
++ _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 `func_echo_all "$deplibs" | $SED '\''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(enable_shared_with_static_runtimes, $1)=yes
++ ;;
++ esac
+ ;;
+
+ darwin* | rhapsody*)
+@@ -4729,7 +5155,7 @@
+
+ # 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(archive_cmds, $1)='$CC -shared $pic_flag -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
+@@ -4737,7 +5163,7 @@
+
+ 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'
++ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${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
+@@ -4752,8 +5178,8 @@
+ ;;
+
+ 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'
++ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${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
+@@ -4771,16 +5197,16 @@
+ ;;
+
+ hpux11*)
+- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
++ if test "$GCC" = yes && test "$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 $pic_flag ${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'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+@@ -4792,7 +5218,14 @@
+ _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'
++ m4_if($1, [], [
++ # Older versions of the 11.00 compiler do not understand -b yet
++ # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
++ _LT_LINKER_OPTION([if $CC understands -b],
++ _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
++ [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
++ [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_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
+@@ -4820,19 +5253,34 @@
+
+ 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'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${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"
++ # This should be the same for all languages, so no per-tag cache variable.
++ AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
++ [lt_cv_irix_exported_symbol],
++ [save_LDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
++ AC_LINK_IFELSE(
++ [AC_LANG_SOURCE(
++ [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
++ [C++], [[int foo (void) { return 0; }]],
++ [Fortran 77], [[
++ subroutine foo
++ end]],
++ [Fortran], [[
++ subroutine foo
++ end]])])],
++ [lt_cv_irix_exported_symbol=yes],
++ [lt_cv_irix_exported_symbol=no])
++ LDFLAGS="$save_LDFLAGS"])
++ if test "$lt_cv_irix_exported_symbol" = yes; then
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
++ fi
+ 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'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -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" && func_echo_all "-set_version $verstring"` -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'
+@@ -4841,7 +5289,7 @@
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+- netbsd*)
++ 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
+@@ -4894,17 +5342,17 @@
+ _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(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'
+ ;;
+
+ 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'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${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'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -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'
+@@ -4914,13 +5362,13 @@
+ 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(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${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_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -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'
++ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+@@ -4933,9 +5381,9 @@
+ _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_cmds, $1)='$CC -shared $pic_flag ${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'
++ $CC -shared $pic_flag ${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"*)
+@@ -5111,36 +5559,38 @@
+ # 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 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)])
++ AC_CACHE_CHECK([whether -lc should be explicitly linked in],
++ [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
++ [$RM conftest*
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++
++ 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_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
++ else
++ lt_cv_[]_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*
++ ])
++ _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
+ ;;
+ esac
+ fi
+@@ -5205,8 +5655,6 @@
+ 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],
+@@ -5217,6 +5665,8 @@
+ [Symbols that must always be exported])
+ _LT_TAGDECL([], [prelink_cmds], [2],
+ [Commands necessary for linking programs (against libraries) with templates])
++_LT_TAGDECL([], [postlink_cmds], [2],
++ [Commands necessary for finishing linking programs])
+ _LT_TAGDECL([], [file_list_spec], [1],
+ [Specify filename containing input files])
+ dnl FIXME: Not yet implemented
+@@ -5310,37 +5760,22 @@
+ ])# _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
+-
+-dnl aclocal-1.4 backwards compatibility:
+-dnl AC_DEFUN([_LT_PROG_CXX], [])
+-
+-
+ # _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_FILEUTILS_DEFAULTS])dnl
+ m4_require([_LT_DECL_EGREP])dnl
++m4_require([_LT_PATH_MANIFEST_TOOL])dnl
++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
+
+ AC_LANG_PUSH(C++)
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+@@ -5362,6 +5797,8 @@
+ _LT_TAGVAR(module_expsym_cmds, $1)=
+ _LT_TAGVAR(link_all_deplibs, $1)=unknown
+ _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
++_LT_TAGVAR(reload_flag, $1)=$reload_flag
++_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+ _LT_TAGVAR(no_undefined_flag, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+@@ -5393,6 +5830,7 @@
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
++ lt_save_CFLAGS=$CFLAGS
+ lt_save_LD=$LD
+ lt_save_GCC=$GCC
+ GCC=$GXX
+@@ -5410,6 +5848,7 @@
+ fi
+ test -z "${LDCXX+set}" || LD=$LDCXX
+ CC=${CXX-"c++"}
++ CFLAGS=$CXXFLAGS
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+@@ -5431,8 +5870,8 @@
+ # 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'
++ _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+@@ -5464,7 +5903,7 @@
+ # 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"'
++ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+ else
+ GXX=no
+@@ -5573,10 +6012,10 @@
+ _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_SYS_MODULE_PATH_AIX([$1])
+ _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"
++ _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 func_echo_all "${wl}${allow_undefined_flag}"; 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'
+@@ -5585,14 +6024,19 @@
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- _LT_SYS_MODULE_PATH_AIX
++ _LT_SYS_MODULE_PATH_AIX([$1])
+ _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'
++ if test "$with_gnu_ld" = yes; then
++ # We only use this code for GNU lds that support --whole-archive.
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
++ else
++ # Exported symbols can be pulled into shared objects from archives
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
++ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds its shared
+ # libraries.
+@@ -5622,28 +6066,75 @@
+ ;;
+
+ 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
+- ;;
++ case $GXX,$cc_basename in
++ ,cl* | no,cl*)
++ # Native MSVC
++ # 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
++ _LT_TAGVAR(always_export_symbols, $1)=yes
++ _LT_TAGVAR(file_list_spec, $1)='@'
++ # 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 $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
++ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
++ else
++ $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
++ fi~
++ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
++ linknames='
++ # The linker will not automatically build a static lib if we build a DLL.
++ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
++ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
++ # Don't use ranlib
++ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
++ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
++ lt_tool_outputfile="@TOOL_OUTPUT@"~
++ case $lt_outputfile in
++ *.exe|*.EXE) ;;
++ *)
++ lt_outputfile="$lt_outputfile.exe"
++ lt_tool_outputfile="$lt_tool_outputfile.exe"
++ ;;
++ esac~
++ func_to_tool_file "$lt_outputfile"~
++ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
++ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
++ $RM "$lt_outputfile.manifest";
++ fi'
++ ;;
++ *)
++ # g++
++ # _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(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
++ _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
++ ;;
++ esac
++ ;;
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+@@ -5685,6 +6176,11 @@
+ gnu*)
+ ;;
+
++ haiku*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(link_all_deplibs, $1)=yes
++ ;;
++
+ hpux9*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+@@ -5709,11 +6205,11 @@
+ # 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'
++ 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; func_echo_all "$list"'
+ ;;
+ *)
+ 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'
++ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${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
+@@ -5774,7 +6270,7 @@
+ # 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'
++ 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; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+@@ -5784,10 +6280,10 @@
+ _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 $pic_flag ${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'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+@@ -5817,7 +6313,7 @@
+ 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'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -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
+@@ -5828,9 +6324,9 @@
+ *)
+ 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'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${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'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
+ fi
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+@@ -5841,7 +6337,7 @@
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ ;;
+
+- linux* | k*bsd*-gnu)
++ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+@@ -5859,7 +6355,7 @@
+ # 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'
++ 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; func_echo_all "$list"'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+@@ -5896,26 +6392,26 @@
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ case `$CC -V` in
+- *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
++ *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`"'
++ compile_command="$compile_command `find $tpldir -name \*.o | sort | $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`~
++ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $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'
++ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $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'
++ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+- *) # Version 6 will use weak symbols
++ *) # Version 6 and above 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'
+ ;;
+@@ -5923,7 +6419,7 @@
+
+ _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'
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ ;;
+ cxx*)
+ # Compaq C++
+@@ -5942,9 +6438,9 @@
+ # 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'
++ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
+ ;;
+- xl*)
++ xl* | mpixl* | bgxl*)
+ # 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'
+@@ -5964,13 +6460,13 @@
+ _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(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$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'
++ output_verbose_link_cmd='func_echo_all'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+@@ -6039,7 +6535,7 @@
+ _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
+- output_verbose_link_cmd=echo
++ output_verbose_link_cmd=func_echo_all
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+@@ -6074,15 +6570,15 @@
+ 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(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$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_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -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~
++ $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 "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
+ $RM $lib.exp'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ ;;
+@@ -6098,17 +6594,17 @@
+ # 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'
++ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ 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}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${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'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ esac
+
+@@ -6118,7 +6614,7 @@
+ # 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"'
++ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+@@ -6154,7 +6650,7 @@
+
+ solaris*)
+ case $cc_basename in
+- CC*)
++ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+@@ -6175,7 +6671,7 @@
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+
+- output_verbose_link_cmd='echo'
++ output_verbose_link_cmd='func_echo_all'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+@@ -6195,14 +6691,14 @@
+ 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_cmds, $1)='$CC -shared $pic_flag -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'
++ $CC -shared $pic_flag -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"'
++ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ else
+ # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # platform.
+@@ -6213,7 +6709,7 @@
+ # 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"'
++ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ fi
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+@@ -6267,6 +6763,10 @@
+ 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(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
++ '"$_LT_TAGVAR(old_archive_cmds, $1)"
++ _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
++ '"$_LT_TAGVAR(reload_cmds, $1)"
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+@@ -6322,6 +6822,7 @@
+ fi # test -n "$compiler"
+
+ CC=$lt_save_CC
++ CFLAGS=$lt_save_CFLAGS
+ LDCXX=$LD
+ LD=$lt_save_LD
+ GCC=$lt_save_GCC
+@@ -6336,6 +6837,29 @@
+ ])# _LT_LANG_CXX_CONFIG
+
+
++# _LT_FUNC_STRIPNAME_CNF
++# ----------------------
++# func_stripname_cnf 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).
++#
++# This function is identical to the (non-XSI) version of func_stripname,
++# except this one can be used by m4 code that may be executed by configure,
++# rather than the libtool script.
++m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
++AC_REQUIRE([_LT_DECL_SED])
++AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
++func_stripname_cnf ()
++{
++ case ${2} in
++ .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
++ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
++ esac
++} # func_stripname_cnf
++])# _LT_FUNC_STRIPNAME_CNF
++
+ # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
+ # ---------------------------------
+ # Figure out "hidden" library dependencies from verbose
+@@ -6344,6 +6868,7 @@
+ # objects, libraries and library flags.
+ m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
+ [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
+ # Dependencies to place before and after the object being linked:
+ _LT_TAGVAR(predep_objects, $1)=
+ _LT_TAGVAR(postdep_objects, $1)=
+@@ -6394,6 +6919,13 @@
+ };
+ _LT_EOF
+ ])
++
++_lt_libdeps_save_CFLAGS=$CFLAGS
++case "$CC $CFLAGS " in #(
++*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
++*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
++esac
++
+ dnl Parse the compiler output and extract the necessary
+ dnl objects, libraries and library flags.
+ if AC_TRY_EVAL(ac_compile); then
+@@ -6405,7 +6937,7 @@
+ pre_test_object_deps_done=no
+
+ for p in `eval "$output_verbose_link_cmd"`; do
+- case $p in
++ case ${prev}${p} in
+
+ -L* | -R* | -l*)
+ # Some compilers place space between "-{L,R}" and the path.
+@@ -6414,13 +6946,22 @@
+ test $p = "-R"; then
+ prev=$p
+ continue
+- else
+- prev=
+ fi
+
++ # Expand the sysroot to ease extracting the directories later.
++ if test -z "$prev"; then
++ case $p in
++ -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
++ -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
++ -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
++ esac
++ fi
++ case $p in
++ =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
++ esac
+ if test "$pre_test_object_deps_done" = no; then
+- case $p in
+- -L* | -R*)
++ case ${prev} 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.
+@@ -6440,8 +6981,10 @@
+ _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
+ fi
+ fi
++ prev=
+ ;;
+
++ *.lto.$objext) ;; # Ignore GCC LTO objects
+ *.$objext)
+ # This assumes that the test object file only shows up
+ # once in the compiler output.
+@@ -6477,6 +7020,7 @@
+ fi
+
+ $RM -f confest.$objext
++CFLAGS=$_lt_libdeps_save_CFLAGS
+
+ # PORTME: override above test on systems where it is broken
+ m4_if([$1], [CXX],
+@@ -6513,7 +7057,7 @@
+
+ solaris*)
+ case $cc_basename in
+- CC*)
++ CC* | sunCC*)
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+@@ -6557,32 +7101,16 @@
+ ])# _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)
++[AC_LANG_PUSH(Fortran 77)
++if test -z "$F77" || test "X$F77" = "Xno"; then
++ _lt_disable_F77=yes
++fi
+
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+@@ -6601,6 +7129,8 @@
+ _LT_TAGVAR(module_expsym_cmds, $1)=
+ _LT_TAGVAR(link_all_deplibs, $1)=unknown
+ _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
++_LT_TAGVAR(reload_flag, $1)=$reload_flag
++_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+ _LT_TAGVAR(no_undefined_flag, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+@@ -6640,7 +7170,9 @@
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
+ lt_save_GCC=$GCC
++ lt_save_CFLAGS=$CFLAGS
+ CC=${F77-"f77"}
++ CFLAGS=$FFLAGS
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+@@ -6694,38 +7226,24 @@
+
+ GCC=$lt_save_GCC
+ CC="$lt_save_CC"
++ CFLAGS="$lt_save_CFLAGS"
+ 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)
++[AC_LANG_PUSH(Fortran)
++
++if test -z "$FC" || test "X$FC" = "Xno"; then
++ _lt_disable_FC=yes
++fi
+
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+@@ -6744,6 +7262,8 @@
+ _LT_TAGVAR(module_expsym_cmds, $1)=
+ _LT_TAGVAR(link_all_deplibs, $1)=unknown
+ _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
++_LT_TAGVAR(reload_flag, $1)=$reload_flag
++_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+ _LT_TAGVAR(no_undefined_flag, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+@@ -6783,7 +7303,9 @@
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
+ lt_save_GCC=$GCC
++ lt_save_CFLAGS=$CFLAGS
+ CC=${FC-"f95"}
++ CFLAGS=$FCFLAGS
+ compiler=$CC
+ GCC=$ac_cv_fc_compiler_gnu
+
+@@ -6839,7 +7361,8 @@
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+- CC="$lt_save_CC"
++ CC=$lt_save_CC
++ CFLAGS=$lt_save_CFLAGS
+ fi # test "$_lt_disable_FC" != yes
+
+ AC_LANG_POP
+@@ -6876,10 +7399,12 @@
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+-lt_save_CC="$CC"
++lt_save_CC=$CC
++lt_save_CFLAGS=$CFLAGS
+ lt_save_GCC=$GCC
+ GCC=yes
+ CC=${GCJ-"gcj"}
++CFLAGS=$GCJFLAGS
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_TAGVAR(LD, $1)="$LD"
+@@ -6889,6 +7414,8 @@
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+ _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
++_LT_TAGVAR(reload_flag, $1)=$reload_flag
++_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+@@ -6908,7 +7435,8 @@
+ AC_LANG_RESTORE
+
+ GCC=$lt_save_GCC
+-CC="$lt_save_CC"
++CC=$lt_save_CC
++CFLAGS=$lt_save_CFLAGS
+ ])# _LT_LANG_GCJ_CONFIG
+
+
+@@ -6943,9 +7471,11 @@
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
++lt_save_CFLAGS=$CFLAGS
+ lt_save_GCC=$GCC
+ GCC=
+ CC=${RC-"windres"}
++CFLAGS=
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+@@ -6958,7 +7488,8 @@
+
+ GCC=$lt_save_GCC
+ AC_LANG_RESTORE
+-CC="$lt_save_CC"
++CC=$lt_save_CC
++CFLAGS=$lt_save_CFLAGS
+ ])# _LT_LANG_RC_CONFIG
+
+
+@@ -7017,6 +7548,15 @@
+ AC_SUBST([OBJDUMP])
+ ])
+
++# _LT_DECL_DLLTOOL
++# ----------------
++# Ensure DLLTOOL variable is set.
++m4_defun([_LT_DECL_DLLTOOL],
++[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
++test -z "$DLLTOOL" && DLLTOOL=dlltool
++_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
++AC_SUBST([DLLTOOL])
++])
+
+ # _LT_DECL_SED
+ # ------------
+@@ -7110,8 +7650,8 @@
+ # Try some XSI features
+ xsi_shell=no
+ ( _lt_dummy="a/b/c"
+- test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+- = c,a/b,, \
++ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
++ = c,a/b,b/c, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+@@ -7150,208 +7690,162 @@
+ ])# _LT_CHECK_SHELL_FEATURES
+
+
+-# _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"
+-
+-# 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
+-}
+-
+-# func_basename file
+-func_basename ()
+-{
+- func_basename_result="${1##*/}"
+-}
+-
+-# 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##*/}"
+-}
+-
+-# 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#*=}
+-}
+-
+-# func_lo2o object
+-func_lo2o ()
+-{
+- case ${1} in
+- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+- *) func_lo2o_result=${1} ;;
+- esac
+-}
+-
+-# func_xform libobj-or-source
+-func_xform ()
+-{
+- func_xform_result=${1%.*}.lo
+-}
++# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
++# ------------------------------------------------------
++# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
++# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
++m4_defun([_LT_PROG_FUNCTION_REPLACE],
++[dnl {
++sed -e '/^$1 ()$/,/^} # $1 /c\
++$1 ()\
++{\
++m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1])
++} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++])
+
+-# func_arith arithmetic-term...
+-func_arith ()
+-{
+- func_arith_result=$(( $[*] ))
+-}
+
+-# func_len string
+-# STRING may not start with a hyphen.
+-func_len ()
+-{
+- func_len_result=${#1}
+-}
++# _LT_PROG_REPLACE_SHELLFNS
++# -------------------------
++# Replace existing portable implementations of several shell functions with
++# equivalent extended shell implementations where those features are available..
++m4_defun([_LT_PROG_REPLACE_SHELLFNS],
++[if test x"$xsi_shell" = xyes; then
++ _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
++ case ${1} in
++ */*) func_dirname_result="${1%/*}${2}" ;;
++ * ) func_dirname_result="${3}" ;;
++ esac])
++
++ _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
++ func_basename_result="${1##*/}"])
++
++ _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
++ case ${1} in
++ */*) func_dirname_result="${1%/*}${2}" ;;
++ * ) func_dirname_result="${3}" ;;
++ esac
++ func_basename_result="${1##*/}"])
+
+-_LT_EOF
+- ;;
+- *) # Bourne compatible functions.
+- cat << \_LT_EOF >> "$cfgfile"
++ _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
++ # 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_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
+-}
++ _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
++ func_split_long_opt_name=${1%%=*}
++ func_split_long_opt_arg=${1#*=}])
+
+-# func_basename file
+-func_basename ()
+-{
+- func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+-}
++ _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
++ func_split_short_opt_arg=${1#??}
++ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
+
+-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.
++ _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
++ case ${1} in
++ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
++ *) func_lo2o_result=${1} ;;
++ esac])
+
+-# 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
+-}
++ _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo])
+
+-# sed scripts:
+-my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
+-my_sed_long_arg='1s/^-[[^=]]*=//'
++ _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))])
+
+-# 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"`
+-}
++ _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}])
++fi
+
+-# func_lo2o object
+-func_lo2o ()
+-{
+- func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+-}
++if test x"$lt_shell_append" = xyes; then
++ _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"])
+
+-# func_xform libobj-or-source
+-func_xform ()
+-{
+- func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
+-}
++ _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
++ func_quote_for_eval "${2}"
++dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
++ eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
+
+-# 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`
+-}
++ # Save a `func_append' function call where possible by direct use of '+='
++ sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++ test 0 -eq $? || _lt_function_replace_fail=:
++else
++ # Save a `func_append' function call even when '+=' is not available
++ sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++ test 0 -eq $? || _lt_function_replace_fail=:
++fi
+
+-_LT_EOF
+-esac
++if test x"$_lt_function_replace_fail" = x":"; then
++ AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
++fi
++])
+
+-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
++# _LT_PATH_CONVERSION_FUNCTIONS
++# -----------------------------
++# Determine which file name conversion functions should be used by
++# func_to_host_file (and, implicitly, by func_to_host_path). These are needed
++# for certain cross-compile configurations and native mingw.
++m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
++[AC_REQUIRE([AC_CANONICAL_HOST])dnl
++AC_REQUIRE([AC_CANONICAL_BUILD])dnl
++AC_MSG_CHECKING([how to convert $build file names to $host format])
++AC_CACHE_VAL(lt_cv_to_host_file_cmd,
++[case $host in
++ *-*-mingw* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
++ ;;
++ *-*-cygwin* )
++ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
++ ;;
++ * ) # otherwise, assume *nix
++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
++ ;;
++ esac
+ ;;
+- *)
+- 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
++ *-*-cygwin* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
++ ;;
++ *-*-cygwin* )
++ lt_cv_to_host_file_cmd=func_convert_file_noop
++ ;;
++ * ) # otherwise, assume *nix
++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
++ ;;
++ esac
+ ;;
+- esac
++ * ) # unhandled hosts (and "normal" native builds)
++ lt_cv_to_host_file_cmd=func_convert_file_noop
++ ;;
++esac
++])
++to_host_file_cmd=$lt_cv_to_host_file_cmd
++AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
++_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
++ [0], [convert $build file names to $host format])dnl
++
++AC_MSG_CHECKING([how to convert $build file names to toolchain format])
++AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
++[#assume ordinary cross tools, or native build.
++lt_cv_to_tool_file_cmd=func_convert_file_noop
++case $host in
++ *-*-mingw* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
++ ;;
++ esac
++ ;;
++esac
+ ])
++to_tool_file_cmd=$lt_cv_to_tool_file_cmd
++AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
++_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
++ [0], [convert $build files to toolchain format])dnl
++])# _LT_PATH_CONVERSION_FUNCTIONS
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//m4/lt~obsolete.m4 couchdb-1.0.1.new//m4/lt~obsolete.m4
+--- couchdb-1.0.1//m4/lt~obsolete.m4 2010-08-11 19:18:49.000000000 +0100
++++ couchdb-1.0.1.new//m4/lt~obsolete.m4 2011-06-14 18:31:33.643706782 +0100
+@@ -1,13 +1,13 @@
+ # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
+ #
+-# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
++# Copyright (C) 2004, 2005, 2007, 2009 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
++# serial 5 lt~obsolete.m4
+
+ # These exist entirely to fool aclocal when bootstrapping libtool.
+ #
+@@ -77,7 +77,6 @@
+ 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])])
+@@ -90,3 +89,10 @@
+ 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])])
++m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
++m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
++m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
++m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
++m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
++m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
++m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//m4/ltoptions.m4 couchdb-1.0.1.new//m4/ltoptions.m4
+--- couchdb-1.0.1//m4/ltoptions.m4 2010-08-11 19:18:48.000000000 +0100
++++ couchdb-1.0.1.new//m4/ltoptions.m4 2011-06-14 18:31:33.643706782 +0100
+@@ -1,13 +1,14 @@
+ # Helper functions for option handling. -*- Autoconf -*-
+ #
+-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
++# Copyright (C) 2004, 2005, 2007, 2008, 2009 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
++# serial 7 ltoptions.m4
+
+ # This is to help aclocal find these macros, as it can't see m4_define.
+ AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+@@ -125,7 +126,7 @@
+ [enable_win32_dll=yes
+
+ case $host in
+-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
++*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
+ AC_CHECK_TOOL(AS, as, false)
+ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+ AC_CHECK_TOOL(OBJDUMP, objdump, false)
+@@ -133,13 +134,13 @@
+ esac
+
+ test -z "$AS" && AS=as
+-_LT_DECL([], [AS], [0], [Assembler program])dnl
++_LT_DECL([], [AS], [1], [Assembler program])dnl
+
+ test -z "$DLLTOOL" && DLLTOOL=dlltool
+-_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
++_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
+
+ test -z "$OBJDUMP" && OBJDUMP=objdump
+-_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
++_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
+ ])# win32-dll
+
+ AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//m4/ltversion.m4 couchdb-1.0.1.new//m4/ltversion.m4
+--- couchdb-1.0.1//m4/ltversion.m4 2010-08-11 19:18:48.000000000 +0100
++++ couchdb-1.0.1.new//m4/ltversion.m4 2011-06-14 18:31:33.643706782 +0100
+@@ -7,17 +7,17 @@
+ # unlimited permission to copy and/or distribute it, with or without
+ # modifications, as long as this notice is preserved.
+
+-# Generated from ltversion.in.
++# @configure_input@
+
+-# serial 3012 ltversion.m4
++# serial 3293 ltversion.m4
+ # This file is part of GNU Libtool
+
+-m4_define([LT_PACKAGE_VERSION], [2.2.6])
+-m4_define([LT_PACKAGE_REVISION], [1.3012])
++m4_define([LT_PACKAGE_VERSION], [2.4])
++m4_define([LT_PACKAGE_REVISION], [1.3293])
+
+ AC_DEFUN([LTVERSION_VERSION],
+-[macro_version='2.2.6'
+-macro_revision='1.3012'
++[macro_version='2.4'
++macro_revision='1.3293'
+ _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+ _LT_DECL(, macro_revision, 0)
+ ])
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//Makefile.in couchdb-1.0.1.new//Makefile.in
+--- couchdb-1.0.1//Makefile.in 2010-08-11 19:18:54.000000000 +0100
++++ couchdb-1.0.1.new//Makefile.in 2011-06-14 18:31:48.303895296 +0100
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -37,7 +37,7 @@
+ subdir = .
+ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(srcdir)/config.h.in \
+- $(top_srcdir)/configure AUTHORS NEWS THANKS \
++ $(top_srcdir)/configure AUTHORS INSTALL NEWS THANKS \
+ build-aux/config.guess build-aux/config.sub build-aux/depcomp \
+ build-aux/install-sh build-aux/ltmain.sh build-aux/missing
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+@@ -149,6 +149,7 @@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -176,7 +177,8 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-JSLIB = @JSLIB@
++JS_CFLAGS = @JS_CFLAGS@
++JS_LIBS = @JS_LIBS@
+ JS_LIB_BASE = @JS_LIB_BASE@
+ JS_LIB_BINARY = @JS_LIB_BINARY@
+ JS_LIB_DIR = @JS_LIB_DIR@
+@@ -189,6 +191,7 @@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -204,6 +207,9 @@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
++PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -214,6 +220,7 @@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -258,7 +265,6 @@
+ localstatelibdir = @localstatelibdir@
+ localstatelogdir = @localstatelogdir@
+ localstaterundir = @localstaterundir@
+-lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ msvc_redist_dir = @msvc_redist_dir@
+@@ -412,7 +418,7 @@
+ # (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'; \
++ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+@@ -437,7 +443,7 @@
+ fi; test -z "$$fail"
+
+ $(RECURSIVE_CLEAN_TARGETS):
+- @failcom='exit 1'; \
++ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+@@ -604,7 +610,8 @@
+ top_distdir="$(top_distdir)" distdir="$(distdir)" \
+ dist-hook
+ -test -n "$(am__skip_mode_fix)" \
+- || find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
++ || find "$(distdir)" -type d ! -perm -755 \
++ -exec chmod u+rwx,go+rx {} \; -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 {} {} \; \
+@@ -648,17 +655,17 @@
+ distcheck: dist
+ case '$(DIST_ARCHIVES)' in \
+ *.tar.gz*) \
+- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
++ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+ *.tar.bz2*) \
+- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
++ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+ *.tar.lzma*) \
+- unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
++ lzma -dc $(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 ;;\
++ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+ *.zip*) \
+ unzip $(distdir).zip ;;\
+ esac
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//share/Makefile.in couchdb-1.0.1.new//share/Makefile.in
+--- couchdb-1.0.1//share/Makefile.in 2010-08-11 19:18:53.000000000 +0100
++++ couchdb-1.0.1.new//share/Makefile.in 2011-06-14 18:31:47.243881656 +0100
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -97,6 +97,7 @@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -124,7 +125,8 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-JSLIB = @JSLIB@
++JS_CFLAGS = @JS_CFLAGS@
++JS_LIBS = @JS_LIBS@
+ JS_LIB_BASE = @JS_LIB_BASE@
+ JS_LIB_BINARY = @JS_LIB_BINARY@
+ JS_LIB_DIR = @JS_LIB_DIR@
+@@ -137,6 +139,7 @@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -152,6 +155,9 @@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
++PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -162,6 +168,7 @@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -206,7 +213,6 @@
+ localstatelibdir = @localstatelibdir@
+ localstatelogdir = @localstatelogdir@
+ localstaterundir = @localstaterundir@
+-lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ msvc_redist_dir = @msvc_redist_dir@
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//src/couchdb/Makefile.in couchdb-1.0.1.new//src/couchdb/Makefile.in
+--- couchdb-1.0.1//src/couchdb/Makefile.in 2010-08-11 19:18:53.000000000 +0100
++++ couchdb-1.0.1.new//src/couchdb/Makefile.in 2011-06-14 18:31:47.383883459 +0100
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -135,6 +135,7 @@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -162,7 +163,8 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-JSLIB = @JSLIB@
++JS_CFLAGS = @JS_CFLAGS@
++JS_LIBS = @JS_LIBS@
+ JS_LIB_BASE = @JS_LIB_BASE@
+ JS_LIB_BINARY = @JS_LIB_BINARY@
+ JS_LIB_DIR = @JS_LIB_DIR@
+@@ -175,6 +177,7 @@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -190,6 +193,9 @@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
++PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -200,6 +206,7 @@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -244,7 +251,6 @@
+ localstatelibdir = @localstatelibdir@
+ localstatelogdir = @localstatelogdir@
+ localstaterundir = @localstaterundir@
+-lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ msvc_redist_dir = @msvc_redist_dir@
+@@ -488,7 +494,7 @@
+ # (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'; \
++ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+@@ -513,7 +519,7 @@
+ fi; test -z "$$fail"
+
+ $(RECURSIVE_CLEAN_TARGETS):
+- @failcom='exit 1'; \
++ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//src/couchdb/priv/Makefile.in couchdb-1.0.1.new//src/couchdb/priv/Makefile.in
+--- couchdb-1.0.1//src/couchdb/priv/Makefile.in 2010-08-11 19:18:53.000000000 +0100
++++ couchdb-1.0.1.new//src/couchdb/priv/Makefile.in 2011-06-14 18:31:47.523885255 +0100
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -142,6 +142,7 @@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -169,7 +170,8 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-JSLIB = @JSLIB@
++JS_CFLAGS = @JS_CFLAGS@
++JS_LIBS = @JS_LIBS@
+ JS_LIB_BASE = @JS_LIB_BASE@
+ JS_LIB_BINARY = @JS_LIB_BINARY@
+ JS_LIB_DIR = @JS_LIB_DIR@
+@@ -182,6 +184,7 @@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -197,6 +200,9 @@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
++PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -207,6 +213,7 @@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -251,7 +258,6 @@
+ localstatelibdir = @localstatelibdir@
+ localstatelogdir = @localstatelogdir@
+ localstaterundir = @localstaterundir@
+-lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ msvc_redist_dir = @msvc_redist_dir@
+@@ -308,7 +314,7 @@
+ couchjs_SOURCES = $(COUCHJS_SRCS)
+ couchjs_LDFLAGS = $(CURL_LDFLAGS)
+ couchjs_CFLAGS = -D_BSD_SOURCE $(CURL_CFLAGS)
+-couchjs_LDADD = $(CURL_LDFLAGS) @JSLIB@
++couchjs_LDADD = $(CURL_LDFLAGS) @JS_LIBS@
+ couchpriv_DATA = stat_descriptions.cfg
+ @WINDOWS_TRUE@couchspawnkillable_SOURCES = spawnkillable/couchspawnkillable_win.c
+ all: all-am
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//src/erlang-oauth/Makefile.in couchdb-1.0.1.new//src/erlang-oauth/Makefile.in
+--- couchdb-1.0.1//src/erlang-oauth/Makefile.in 2010-08-11 19:18:53.000000000 +0100
++++ couchdb-1.0.1.new//src/erlang-oauth/Makefile.in 2011-06-14 18:31:47.583886027 +0100
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -93,6 +93,7 @@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -120,7 +121,8 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-JSLIB = @JSLIB@
++JS_CFLAGS = @JS_CFLAGS@
++JS_LIBS = @JS_LIBS@
+ JS_LIB_BASE = @JS_LIB_BASE@
+ JS_LIB_BINARY = @JS_LIB_BINARY@
+ JS_LIB_DIR = @JS_LIB_DIR@
+@@ -133,6 +135,7 @@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -148,6 +151,9 @@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
++PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -158,6 +164,7 @@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -202,7 +209,6 @@
+ localstatelibdir = @localstatelibdir@
+ localstatelogdir = @localstatelogdir@
+ localstaterundir = @localstaterundir@
+-lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ msvc_redist_dir = @msvc_redist_dir@
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//src/etap/Makefile.in couchdb-1.0.1.new//src/etap/Makefile.in
+--- couchdb-1.0.1//src/etap/Makefile.in 2010-08-11 19:18:53.000000000 +0100
++++ couchdb-1.0.1.new//src/etap/Makefile.in 2011-06-14 18:31:47.653886928 +0100
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -93,6 +93,7 @@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -120,7 +121,8 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-JSLIB = @JSLIB@
++JS_CFLAGS = @JS_CFLAGS@
++JS_LIBS = @JS_LIBS@
+ JS_LIB_BASE = @JS_LIB_BASE@
+ JS_LIB_BINARY = @JS_LIB_BINARY@
+ JS_LIB_DIR = @JS_LIB_DIR@
+@@ -133,6 +135,7 @@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -148,6 +151,9 @@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
++PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -158,6 +164,7 @@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -202,7 +209,6 @@
+ localstatelibdir = @localstatelibdir@
+ localstatelogdir = @localstatelogdir@
+ localstaterundir = @localstaterundir@
+-lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ msvc_redist_dir = @msvc_redist_dir@
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//src/ibrowse/Makefile.in couchdb-1.0.1.new//src/ibrowse/Makefile.in
+--- couchdb-1.0.1//src/ibrowse/Makefile.in 2010-08-11 19:18:53.000000000 +0100
++++ couchdb-1.0.1.new//src/ibrowse/Makefile.in 2011-06-14 18:31:47.713887699 +0100
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -93,6 +93,7 @@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -120,7 +121,8 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-JSLIB = @JSLIB@
++JS_CFLAGS = @JS_CFLAGS@
++JS_LIBS = @JS_LIBS@
+ JS_LIB_BASE = @JS_LIB_BASE@
+ JS_LIB_BINARY = @JS_LIB_BINARY@
+ JS_LIB_DIR = @JS_LIB_DIR@
+@@ -133,6 +135,7 @@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -148,6 +151,9 @@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
++PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -158,6 +164,7 @@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -202,7 +209,6 @@
+ localstatelibdir = @localstatelibdir@
+ localstatelogdir = @localstatelogdir@
+ localstaterundir = @localstaterundir@
+-lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ msvc_redist_dir = @msvc_redist_dir@
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//src/Makefile.in couchdb-1.0.1.new//src/Makefile.in
+--- couchdb-1.0.1//src/Makefile.in 2010-08-11 19:18:53.000000000 +0100
++++ couchdb-1.0.1.new//src/Makefile.in 2011-06-14 18:31:47.313882563 +0100
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -109,6 +109,7 @@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -136,7 +137,8 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-JSLIB = @JSLIB@
++JS_CFLAGS = @JS_CFLAGS@
++JS_LIBS = @JS_LIBS@
+ JS_LIB_BASE = @JS_LIB_BASE@
+ JS_LIB_BINARY = @JS_LIB_BINARY@
+ JS_LIB_DIR = @JS_LIB_DIR@
+@@ -149,6 +151,7 @@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -164,6 +167,9 @@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
++PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -174,6 +180,7 @@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -218,7 +225,6 @@
+ localstatelibdir = @localstatelibdir@
+ localstatelogdir = @localstatelogdir@
+ localstaterundir = @localstaterundir@
+-lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ msvc_redist_dir = @msvc_redist_dir@
+@@ -296,7 +302,7 @@
+ # (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'; \
++ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+@@ -321,7 +327,7 @@
+ fi; test -z "$$fail"
+
+ $(RECURSIVE_CLEAN_TARGETS):
+- @failcom='exit 1'; \
++ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//src/mochiweb/Makefile.in couchdb-1.0.1.new//src/mochiweb/Makefile.in
+--- couchdb-1.0.1//src/mochiweb/Makefile.in 2010-08-11 19:18:53.000000000 +0100
++++ couchdb-1.0.1.new//src/mochiweb/Makefile.in 2011-06-14 18:31:47.783888606 +0100
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -93,6 +93,7 @@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -120,7 +121,8 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-JSLIB = @JSLIB@
++JS_CFLAGS = @JS_CFLAGS@
++JS_LIBS = @JS_LIBS@
+ JS_LIB_BASE = @JS_LIB_BASE@
+ JS_LIB_BINARY = @JS_LIB_BINARY@
+ JS_LIB_DIR = @JS_LIB_DIR@
+@@ -133,6 +135,7 @@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -148,6 +151,9 @@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
++PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -158,6 +164,7 @@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -202,7 +209,6 @@
+ localstatelibdir = @localstatelibdir@
+ localstatelogdir = @localstatelogdir@
+ localstaterundir = @localstaterundir@
+-lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ msvc_redist_dir = @msvc_redist_dir@
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//test/bench/Makefile.in couchdb-1.0.1.new//test/bench/Makefile.in
+--- couchdb-1.0.1//test/bench/Makefile.in 2010-08-11 19:18:53.000000000 +0100
++++ couchdb-1.0.1.new//test/bench/Makefile.in 2011-06-14 18:31:47.913890272 +0100
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -71,6 +71,7 @@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -98,7 +99,8 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-JSLIB = @JSLIB@
++JS_CFLAGS = @JS_CFLAGS@
++JS_LIBS = @JS_LIBS@
+ JS_LIB_BASE = @JS_LIB_BASE@
+ JS_LIB_BINARY = @JS_LIB_BINARY@
+ JS_LIB_DIR = @JS_LIB_DIR@
+@@ -111,6 +113,7 @@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -126,6 +129,9 @@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
++PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -136,6 +142,7 @@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -180,7 +187,6 @@
+ localstatelibdir = @localstatelibdir@
+ localstatelogdir = @localstatelogdir@
+ localstaterundir = @localstaterundir@
+-lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ msvc_redist_dir = @msvc_redist_dir@
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//test/etap/Makefile.in couchdb-1.0.1.new//test/etap/Makefile.in
+--- couchdb-1.0.1//test/etap/Makefile.in 2010-08-11 19:18:53.000000000 +0100
++++ couchdb-1.0.1.new//test/etap/Makefile.in 2011-06-14 18:31:47.973891046 +0100
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -74,6 +74,7 @@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -101,7 +102,8 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-JSLIB = @JSLIB@
++JS_CFLAGS = @JS_CFLAGS@
++JS_LIBS = @JS_LIBS@
+ JS_LIB_BASE = @JS_LIB_BASE@
+ JS_LIB_BINARY = @JS_LIB_BINARY@
+ JS_LIB_DIR = @JS_LIB_DIR@
+@@ -114,6 +116,7 @@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -129,6 +132,9 @@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
++PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -139,6 +145,7 @@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -183,7 +190,6 @@
+ localstatelibdir = @localstatelibdir@
+ localstatelogdir = @localstatelogdir@
+ localstaterundir = @localstaterundir@
+-lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ msvc_redist_dir = @msvc_redist_dir@
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//test/javascript/Makefile.in couchdb-1.0.1.new//test/javascript/Makefile.in
+--- couchdb-1.0.1//test/javascript/Makefile.in 2010-08-11 19:18:53.000000000 +0100
++++ couchdb-1.0.1.new//test/javascript/Makefile.in 2011-06-14 18:31:48.033891816 +0100
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -71,6 +71,7 @@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -98,7 +99,8 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-JSLIB = @JSLIB@
++JS_CFLAGS = @JS_CFLAGS@
++JS_LIBS = @JS_LIBS@
+ JS_LIB_BASE = @JS_LIB_BASE@
+ JS_LIB_BINARY = @JS_LIB_BINARY@
+ JS_LIB_DIR = @JS_LIB_DIR@
+@@ -111,6 +113,7 @@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -126,6 +129,9 @@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
++PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -136,6 +142,7 @@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -180,7 +187,6 @@
+ localstatelibdir = @localstatelibdir@
+ localstatelogdir = @localstatelogdir@
+ localstaterundir = @localstaterundir@
+-lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ msvc_redist_dir = @msvc_redist_dir@
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//test/Makefile.in couchdb-1.0.1.new//test/Makefile.in
+--- couchdb-1.0.1//test/Makefile.in 2010-08-11 19:18:53.000000000 +0100
++++ couchdb-1.0.1.new//test/Makefile.in 2011-06-14 18:31:47.853889502 +0100
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -109,6 +109,7 @@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -136,7 +137,8 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-JSLIB = @JSLIB@
++JS_CFLAGS = @JS_CFLAGS@
++JS_LIBS = @JS_LIBS@
+ JS_LIB_BASE = @JS_LIB_BASE@
+ JS_LIB_BINARY = @JS_LIB_BINARY@
+ JS_LIB_DIR = @JS_LIB_DIR@
+@@ -149,6 +151,7 @@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -164,6 +167,9 @@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
++PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -174,6 +180,7 @@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -218,7 +225,6 @@
+ localstatelibdir = @localstatelibdir@
+ localstatelogdir = @localstatelogdir@
+ localstaterundir = @localstaterundir@
+-lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ msvc_redist_dir = @msvc_redist_dir@
+@@ -296,7 +302,7 @@
+ # (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'; \
++ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+@@ -321,7 +327,7 @@
+ fi; test -z "$$fail"
+
+ $(RECURSIVE_CLEAN_TARGETS):
+- @failcom='exit 1'; \
++ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//test/view_server/Makefile.in couchdb-1.0.1.new//test/view_server/Makefile.in
+--- couchdb-1.0.1//test/view_server/Makefile.in 2010-08-11 19:18:53.000000000 +0100
++++ couchdb-1.0.1.new//test/view_server/Makefile.in 2011-06-14 18:31:48.103892715 +0100
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -69,6 +69,7 @@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -96,7 +97,8 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-JSLIB = @JSLIB@
++JS_CFLAGS = @JS_CFLAGS@
++JS_LIBS = @JS_LIBS@
+ JS_LIB_BASE = @JS_LIB_BASE@
+ JS_LIB_BINARY = @JS_LIB_BINARY@
+ JS_LIB_DIR = @JS_LIB_DIR@
+@@ -109,6 +111,7 @@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -124,6 +127,9 @@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
++PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -134,6 +140,7 @@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -178,7 +185,6 @@
+ localstatelibdir = @localstatelibdir@
+ localstatelogdir = @localstatelogdir@
+ localstaterundir = @localstaterundir@
+-lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ msvc_redist_dir = @msvc_redist_dir@
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//utils/Makefile.in couchdb-1.0.1.new//utils/Makefile.in
+--- couchdb-1.0.1//utils/Makefile.in 2010-08-11 19:18:53.000000000 +0100
++++ couchdb-1.0.1.new//utils/Makefile.in 2011-06-14 18:31:48.163893495 +0100
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -71,6 +71,7 @@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -98,7 +99,8 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-JSLIB = @JSLIB@
++JS_CFLAGS = @JS_CFLAGS@
++JS_LIBS = @JS_LIBS@
+ JS_LIB_BASE = @JS_LIB_BASE@
+ JS_LIB_BINARY = @JS_LIB_BINARY@
+ JS_LIB_DIR = @JS_LIB_DIR@
+@@ -111,6 +113,7 @@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -126,6 +129,9 @@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
++PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -136,6 +142,7 @@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -180,7 +187,6 @@
+ localstatelibdir = @localstatelibdir@
+ localstatelogdir = @localstatelogdir@
+ localstaterundir = @localstaterundir@
+-lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ msvc_redist_dir = @msvc_redist_dir@
+diff -Nur -x '*.orig' -x '*~' couchdb-1.0.1//var/Makefile.in couchdb-1.0.1.new//var/Makefile.in
+--- couchdb-1.0.1//var/Makefile.in 2010-08-11 19:18:53.000000000 +0100
++++ couchdb-1.0.1.new//var/Makefile.in 2011-06-14 18:31:48.223894260 +0100
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -69,6 +69,7 @@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -96,7 +97,8 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-JSLIB = @JSLIB@
++JS_CFLAGS = @JS_CFLAGS@
++JS_LIBS = @JS_LIBS@
+ JS_LIB_BASE = @JS_LIB_BASE@
+ JS_LIB_BINARY = @JS_LIB_BINARY@
+ JS_LIB_DIR = @JS_LIB_DIR@
+@@ -109,6 +111,7 @@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -124,6 +127,9 @@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
++PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -134,6 +140,7 @@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -178,7 +185,6 @@
+ localstatelibdir = @localstatelibdir@
+ localstatelogdir = @localstatelogdir@
+ localstaterundir = @localstaterundir@
+-lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ msvc_redist_dir = @msvc_redist_dir@
--- couchdb-1.0.1.orig/debian/patches/couchio-fix-0008-replicator_doc_id_encoding.patch
+++ couchdb-1.0.1/debian/patches/couchio-fix-0008-replicator_doc_id_encoding.patch
@@ -0,0 +1,91 @@
+diff --git a/couchdb-1.0.1/src/couchdb/couch_rep.erl b/couchdb-1.0.1/src/couchdb/couch_rep.erl
+index baf9c87..4c58ce9 100644
+--- a/couchdb-1.0.1/src/couchdb/couch_rep.erl
++++ b/couchdb-1.0.1/src/couchdb/couch_rep.erl
+@@ -493,7 +493,7 @@ get_rep_endpoint(UserCtx, <>) ->
+
+ open_replication_log(#http_db{}=Db, RepId) ->
+ DocId = ?LOCAL_DOC_PREFIX ++ RepId,
+- Req = Db#http_db{resource=couch_util:url_encode(DocId)},
++ Req = Db#http_db{resource=couch_util:encode_doc_id(DocId)},
+ case couch_rep_httpc:request(Req) of
+ {[{<<"error">>, _}, {<<"reason">>, _}]} ->
+ ?LOG_DEBUG("didn't find a replication log for ~s", [Db#http_db.url]),
+@@ -706,7 +706,7 @@ ensure_full_commit(Source, RequiredSeq) ->
+
+ update_local_doc(#http_db{} = Db, #doc{id=DocId} = Doc) ->
+ Req = Db#http_db{
+- resource = couch_util:url_encode(DocId),
++ resource = couch_util:encode_doc_id(DocId),
+ method = put,
+ body = couch_doc:to_json_obj(Doc, [attachments]),
+ headers = [{"x-couch-full-commit", "false"} | Db#http_db.headers]
+diff --git a/couchdb-1.0.1/src/couchdb/couch_rep_reader.erl b/couchdb-1.0.1/src/couchdb/couch_rep_reader.erl
+index 5c824cb..4f81c8e 100644
+--- a/couchdb-1.0.1/src/couchdb/couch_rep_reader.erl
++++ b/couchdb-1.0.1/src/couchdb/couch_rep_reader.erl
+@@ -17,7 +17,7 @@
+
+ -export([start_link/4, next/1]).
+
+--import(couch_util, [url_encode/1]).
++-import(couch_util, [encode_doc_id/1]).
+
+ -define (BUFFER_SIZE, 1000).
+ -define (MAX_CONCURRENT_REQUESTS, 100).
+@@ -234,7 +234,7 @@ open_doc_revs(#http_db{url = Url} = DbS, DocId, Revs) ->
+ %% all this logic just splits up revision lists that are too long for
+ %% MochiWeb into multiple requests
+ BaseQS = [{revs,true}, {latest,true}, {att_encoding_info,true}],
+- BaseReq = DbS#http_db{resource=url_encode(DocId), qs=BaseQS},
++ BaseReq = DbS#http_db{resource=encode_doc_id(DocId), qs=BaseQS},
+ BaseLength = length(couch_rep_httpc:full_url(BaseReq)) + 11, % &open_revs=
+
+ {RevLists, _, _} = lists:foldl(fun split_revlist/2,
+@@ -264,7 +264,7 @@ open_doc_revs(#http_db{url = Url} = DbS, DocId, Revs) ->
+ open_doc(#http_db{url = Url} = DbS, DocId) ->
+ % get latest rev of the doc
+ Req = DbS#http_db{
+- resource=url_encode(DocId),
++ resource=encode_doc_id(DocId),
+ qs=[{att_encoding_info, true}]
+ },
+ {Props} = Json = couch_rep_httpc:request(Req),
+diff --git a/couchdb-1.0.1/src/couchdb/couch_rep_writer.erl b/couchdb-1.0.1/src/couchdb/couch_rep_writer.erl
+index dd6396f..26a1782 100644
+--- a/couchdb-1.0.1/src/couchdb/couch_rep_writer.erl
++++ b/couchdb-1.0.1/src/couchdb/couch_rep_writer.erl
+@@ -119,7 +119,7 @@ write_multi_part_doc(#http_db{headers=Headers} = Db, #doc{atts=Atts} = Doc) ->
+ end
+ end,
+ Request = Db#http_db{
+- resource = couch_util:url_encode(Doc#doc.id),
++ resource = couch_util:encode_doc_id(Doc#doc.id),
+ method = put,
+ qs = [{new_edits, false}],
+ body = {BodyFun, nil},
+diff --git a/couchdb-1.0.1/src/couchdb/couch_util.erl b/couchdb-1.0.1/src/couchdb/couch_util.erl
+index 7a8ae05..f0479d4 100644
+--- a/couchdb-1.0.1/src/couchdb/couch_util.erl
++++ b/couchdb-1.0.1/src/couchdb/couch_util.erl
+@@ -28,6 +28,7 @@
+ -export([md5/1, md5_init/0, md5_update/2, md5_final/1]).
+ -export([reorder_results/2]).
+ -export([url_strip_password/1]).
++-export([encode_doc_id/1]).
+
+ -include("couch_db.hrl").
+ -include_lib("kernel/include/file.hrl").
+@@ -459,3 +460,12 @@ url_strip_password(Url) ->
+ "http(s)?://([^:]+):[^@]+@(.*)$",
+ "http\\1://\\2:*****@\\3",
+ [{return, list}]).
++
++encode_doc_id(Id) when is_list(Id) ->
++ encode_doc_id(?l2b(Id));
++encode_doc_id(<<"_design/", Rest/binary>>) ->
++ "_design/" ++ url_encode(Rest);
++encode_doc_id(<<"_local/", Rest/binary>>) ->
++ "_local/" ++ url_encode(Rest);
++encode_doc_id(Id) ->
++ url_encode(Id).
--- couchdb-1.0.1.orig/debian/patches/couchio-fix-0003-changes_redirect_1.patch
+++ couchdb-1.0.1/debian/patches/couchio-fix-0003-changes_redirect_1.patch
@@ -0,0 +1,13 @@
+diff --git a/couchdb-1.0.1/src/couchdb/couch_rep_changes_feed.erl b/couchdb-1.0.1/src/couchdb/couch_rep_changes_feed.erl
+index 1682d37..65a67ba 100644
+--- a/couchdb-1.0.1/src/couchdb/couch_rep_changes_feed.erl
++++ b/couchdb-1.0.1/src/couchdb/couch_rep_changes_feed.erl
+@@ -95,7 +95,7 @@ init([_Parent, #http_db{}=Source, Since, PostProps] = Args) ->
+ {ok, #state{conn=Pid, last_seq=Since, reqid=ReqId, init_args=Args}};
+ {ibrowse_async_headers, ReqId, Code, Hdrs} when Code=="301"; Code=="302" ->
+ catch ibrowse:stop_worker_process(Pid),
+- Url2 = mochiweb_headers:get_value("Location", mochiweb_headers:make(Hdrs)),
++ Url2 = couch_rep_httpc:redirect_url(Hdrs, Req#http_db.url),
+ %% TODO use couch_httpc:request instead of start_http_request
+ {Pid2, ReqId2} = start_http_request(Url2),
+ receive {ibrowse_async_headers, ReqId2, "200", _} ->
--- couchdb-1.0.1.orig/debian/patches/couchio-fix-0012-replicator_ssl.patch
+++ couchdb-1.0.1/debian/patches/couchio-fix-0012-replicator_ssl.patch
@@ -0,0 +1,99 @@
+diff --git a/couchdb-1.0.1/etc/couchdb/default.ini.tpl.in b/couchdb-1.0.1/etc/couchdb/default.ini.tpl.in
+index 6b70777..f75b3ef 100644
+--- a/couchdb-1.0.1/etc/couchdb/default.ini.tpl.in
++++ b/couchdb-1.0.1/etc/couchdb/default.ini.tpl.in
+@@ -121,4 +121,11 @@ compressible_types = text/*, application/javascript, application/json, applicat
+
+ [replicator]
+ max_http_sessions = 10
+-max_http_pipeline_size = 10
+\ No newline at end of file
++max_http_pipeline_size = 10
++; set to true to validate peer certificates
++verify_ssl_certificates = true
++; file containing a list of peer trusted certificates (PEM format)
++ssl_trusted_certificates_file = /etc/ssl/certs/ca-certificates.crt
++; maximum peer certificate depth (must be set even if certificate validation is off)
++ssl_certificate_max_depth = 3
++
+diff --git a/couchdb-1.0.1/src/couchdb/couch_rep.erl b/couchdb-1.0.1/src/couchdb/couch_rep.erl
+index 65573e8..ae42e0e 100644
+--- a/couchdb-1.0.1/src/couchdb/couch_rep.erl
++++ b/couchdb-1.0.1/src/couchdb/couch_rep.erl
+@@ -533,7 +533,10 @@ open_db({Props}, _UserCtx, ProxyParams, CreateTarget) ->
+ auth = AuthProps,
+ headers = lists:ukeymerge(1, Headers, DefaultHeaders)
+ },
+- Db = Db1#http_db{options = Db1#http_db.options ++ ProxyParams},
++ Db = Db1#http_db{
++ options = Db1#http_db.options ++ ProxyParams ++
++ couch_rep_httpc:ssl_options(Db1)
++ },
+ couch_rep_httpc:db_exists(Db, CreateTarget);
+ open_db(<<"http://",_/binary>>=Url, _, ProxyParams, CreateTarget) ->
+ open_db({[{<<"url">>,Url}]}, [], ProxyParams, CreateTarget);
+diff --git a/couchdb-1.0.1/src/couchdb/couch_rep_httpc.erl b/couchdb-1.0.1/src/couchdb/couch_rep_httpc.erl
+index 768d88a..d822140 100644
+--- a/couchdb-1.0.1/src/couchdb/couch_rep_httpc.erl
++++ b/couchdb-1.0.1/src/couchdb/couch_rep_httpc.erl
+@@ -16,6 +16,7 @@
+
+ -export([db_exists/1, db_exists/2, full_url/1, request/1, redirected_request/2,
+ redirect_url/2, spawn_worker_process/1, spawn_link_worker_process/1]).
++-export([ssl_options/1]).
+
+ request(#http_db{} = Req) ->
+ do_request(Req).
+@@ -243,3 +244,52 @@ oauth_header(Url, QS, Action, Props) ->
+ Params = oauth:signed_params(Method, Url, QSL, Consumer, Token, TokenSecret)
+ -- QSL,
+ {"Authorization", "OAuth " ++ oauth_uri:params_to_header_string(Params)}.
++
++ssl_options(#http_db{url = Url}) ->
++ case ibrowse_lib:parse_url(Url) of
++ #url{protocol = https} ->
++ start_ssl(),
++ Depth = list_to_integer(
++ couch_config:get("replicator", "ssl_certificate_max_depth", "3")
++ ),
++ SslOpts = [ {depth, Depth} |
++ case couch_config:get("replicator", "verify_ssl_certificates") of
++ "true" ->
++ ssl_verify_options(true);
++ _ ->
++ ssl_verify_options(false)
++ end ],
++ [{is_ssl, true}, {ssl_options, SslOpts}];
++ #url{protocol = http} ->
++ []
++ end.
++
++start_ssl() ->
++ start_ssl(erlang:system_info(otp_release)).
++
++start_ssl(OTPVersion) when OTPVersion < "R14A" ->
++ application:start(ssl);
++start_ssl(_OTPVersion) ->
++ application:start(crypto),
++ application:start(public_key),
++ application:start(ssl).
++
++ssl_verify_options(Value) ->
++ OTPVersion = erlang:system_info(otp_release),
++ case (OTPVersion >= "R13") andalso (OTPVersion < "R14") of
++ true ->
++ [{ssl_imp, new}];
++ false ->
++ []
++ end ++ ssl_verify_options(Value, OTPVersion).
++
++ssl_verify_options(true, OTPVersion) when OTPVersion >= "R13" ->
++ CAFile = couch_config:get("replicator", "ssl_trusted_certificates_file"),
++ [{verify, verify_peer}, {cacertfile, CAFile}];
++ssl_verify_options(false, OTPVersion) when OTPVersion >= "R13" ->
++ [{verify, verify_none}];
++ssl_verify_options(true, _OTPVersion) ->
++ CAFile = couch_config:get("replicator", "ssl_trusted_certificates_file"),
++ [{verify, 2}, {cacertfile, CAFile}];
++ssl_verify_options(false, _OTPVersion) ->
++ [{verify, 0}].
--- couchdb-1.0.1.orig/debian/patches/couchio-fix-0006-replicator_reader_errors.patch
+++ couchdb-1.0.1/debian/patches/couchio-fix-0006-replicator_reader_errors.patch
@@ -0,0 +1,126 @@
+diff --git a/couchdb-1.0.1/src/couchdb/couch_httpd_misc_handlers.erl b/couchdb-1.0.1/src/couchdb/couch_httpd_misc_handlers.erl
+index 0a6f4a4..13d770f 100644
+--- a/couchdb-1.0.1/src/couchdb/couch_httpd_misc_handlers.erl
++++ b/couchdb-1.0.1/src/couchdb/couch_httpd_misc_handlers.erl
+@@ -93,7 +93,12 @@ handle_replicate_req(#httpd{method='POST'}=Req) ->
+ {error, not_found} ->
+ send_json(Req, 404, {[{error, not_found}]});
+ {error, Reason} ->
+- send_json(Req, 500, {[{error, Reason}]})
++ try
++ send_json(Req, 500, {[{error, Reason}]})
++ catch
++ exit:{json_encode, _} ->
++ send_json(Req, 500, {[{error, couch_util:to_binary(Reason)}]})
++ end
+ catch
+ throw:{db_not_found, Msg} ->
+ send_json(Req, 404, {[{error, db_not_found}, {reason, Msg}]})
+diff --git a/couchdb-1.0.1/src/couchdb/couch_rep.erl b/couchdb-1.0.1/src/couchdb/couch_rep.erl
+index ae42e0e..404b1fd 100644
+--- a/couchdb-1.0.1/src/couchdb/couch_rep.erl
++++ b/couchdb-1.0.1/src/couchdb/couch_rep.erl
+@@ -354,16 +354,10 @@ close_db(Db) ->
+ couch_db:close(Db).
+
+ dbname(#http_db{url = Url}) ->
+- strip_password(Url);
++ couch_util:url_strip_password(Url);
+ dbname(#db{name = Name}) ->
+ Name.
+
+-strip_password(Url) ->
+- re:replace(Url,
+- "http(s)?://([^:]+):[^@]+@(.*)$",
+- "http\\1://\\2:*****@\\3",
+- [{return, list}]).
+-
+ dbinfo(#http_db{} = Db) ->
+ {DbProps} = couch_rep_httpc:request(Db),
+ [{list_to_existing_atom(?b2l(K)), V} || {K,V} <- DbProps];
+diff --git a/couchdb-1.0.1/src/couchdb/couch_rep_reader.erl b/couchdb-1.0.1/src/couchdb/couch_rep_reader.erl
+index 3edc1f3..5c824cb 100644
+--- a/couchdb-1.0.1/src/couchdb/couch_rep_reader.erl
++++ b/couchdb-1.0.1/src/couchdb/couch_rep_reader.erl
+@@ -230,7 +230,7 @@ update_sequence_lists(Seq, State) ->
+ opened_seqs = Opened
+ }.
+
+-open_doc_revs(#http_db{} = DbS, DocId, Revs) ->
++open_doc_revs(#http_db{url = Url} = DbS, DocId, Revs) ->
+ %% all this logic just splits up revision lists that are too long for
+ %% MochiWeb into multiple requests
+ BaseQS = [{revs,true}, {latest,true}, {att_encoding_info,true}],
+@@ -246,28 +246,39 @@ open_doc_revs(#http_db{} = DbS, DocId, Revs) ->
+ JsonResults = lists:flatten([couch_rep_httpc:request(R) || R <- Requests]),
+
+ Transform =
+- fun({[{<<"missing">>, Rev}]}) ->
+- {{not_found, missing}, couch_doc:parse_rev(Rev)};
+- ({[{<<"ok">>, Json}]}) ->
++ fun({[{<<"ok">>, Json}]}, Acc) ->
+ #doc{id=Id, revs=Rev, atts=Atts} = Doc = couch_doc:from_json_obj(Json),
+- Doc#doc{atts=[couch_rep_att:convert_stub(A, {DbS,Id,Rev}) || A <- Atts]}
++ Doc1 = Doc#doc{
++ atts=[couch_rep_att:convert_stub(A, {DbS,Id,Rev}) || A <- Atts]
++ },
++ [Doc1 | Acc];
++ ({ErrorProps}, Acc) ->
++ Err = couch_util:get_value(<<"error">>, ErrorProps,
++ ?JSON_ENCODE({ErrorProps})),
++ ?LOG_ERROR("Replicator: error accessing doc ~s at ~s, reason: ~s",
++ [DocId, couch_util:url_strip_password(Url), Err]),
++ Acc
+ end,
+- [Transform(Result) || Result <- JsonResults].
++ lists:reverse(lists:foldl(Transform, [], JsonResults)).
+
+-open_doc(#http_db{} = DbS, DocId) ->
++open_doc(#http_db{url = Url} = DbS, DocId) ->
+ % get latest rev of the doc
+ Req = DbS#http_db{
+ resource=url_encode(DocId),
+ qs=[{att_encoding_info, true}]
+ },
+- case couch_rep_httpc:request(Req) of
+- {[{<<"error">>,<<"not_found">>}, {<<"reason">>,<<"missing">>}]} ->
+- [];
+- Json ->
++ {Props} = Json = couch_rep_httpc:request(Req),
++ case couch_util:get_value(<<"_id">>, Props) of
++ Id when is_binary(Id) ->
+ #doc{id=Id, revs=Rev, atts=Atts} = Doc = couch_doc:from_json_obj(Json),
+ [Doc#doc{
+ atts=[couch_rep_att:convert_stub(A, {DbS,Id,Rev}) || A <- Atts]
+- }]
++ }];
++ undefined ->
++ Err = couch_util:get_value(<<"error">>, Props, ?JSON_ENCODE(Json)),
++ ?LOG_ERROR("Replicator: error accessing doc ~s at ~s, reason: ~s",
++ [DocId, couch_util:url_strip_password(Url), Err]),
++ []
+ end.
+
+ reader_loop(ReaderServer, Source, DocIds) when is_list(DocIds) ->
+diff --git a/couchdb-1.0.1/src/couchdb/couch_util.erl b/couchdb-1.0.1/src/couchdb/couch_util.erl
+index 8217a26..7a8ae05 100644
+--- a/couchdb-1.0.1/src/couchdb/couch_util.erl
++++ b/couchdb-1.0.1/src/couchdb/couch_util.erl
+@@ -27,6 +27,7 @@
+ -export([get_value/2, get_value/3]).
+ -export([md5/1, md5_init/0, md5_update/2, md5_final/1]).
+ -export([reorder_results/2]).
++-export([url_strip_password/1]).
+
+ -include("couch_db.hrl").
+ -include_lib("kernel/include/file.hrl").
+@@ -452,3 +453,9 @@ reorder_results(Keys, SortedResults) when length(Keys) < 100 ->
+ reorder_results(Keys, SortedResults) ->
+ KeyDict = dict:from_list(SortedResults),
+ [dict:fetch(Key, KeyDict) || Key <- Keys].
++
++url_strip_password(Url) ->
++ re:replace(Url,
++ "http(s)?://([^:]+):[^@]+@(.*)$",
++ "http\\1://\\2:*****@\\3",
++ [{return, list}]).
--- couchdb-1.0.1.orig/debian/patches/couchio-fix-0007-ibrowse_upgrade.patch
+++ couchdb-1.0.1/debian/patches/couchio-fix-0007-ibrowse_upgrade.patch
@@ -0,0 +1,3481 @@
+diff --git a/couchdb-1.0.1/src/couchdb/couch_rep_httpc.erl b/couchdb-1.0.1/src/couchdb/couch_rep_httpc.erl
+index 2371228..74aa52a 100644
+--- a/couchdb-1.0.1/src/couchdb/couch_rep_httpc.erl
++++ b/couchdb-1.0.1/src/couchdb/couch_rep_httpc.erl
+@@ -205,8 +205,7 @@ spawn_worker_process(Req) ->
+ Pid.
+
+ spawn_link_worker_process(Req) ->
+- Url = ibrowse_lib:parse_url(Req#http_db.url),
+- {ok, Pid} = ibrowse_http_client:start_link(Url),
++ {ok, Pid} = ibrowse:spawn_link_worker_process(Req#http_db.url),
+ Pid.
+
+ maybe_decompress(Headers, Body) ->
+diff --git a/couchdb-1.0.1/src/ibrowse/ibrowse.app.in b/couchdb-1.0.1/src/ibrowse/ibrowse.app.in
+index 4f43dd9..208c311 100644
+--- a/couchdb-1.0.1/src/ibrowse/ibrowse.app.in
++++ b/couchdb-1.0.1/src/ibrowse/ibrowse.app.in
+@@ -1,10 +1,10 @@
+ {application, ibrowse,
+ [{description, "HTTP client application"},
+- {vsn, "1.5.1"},
+- {modules, [ ibrowse,
+- ibrowse_http_client,
+- ibrowse_app,
+- ibrowse_sup,
++ {vsn, "1.6.2"},
++ {modules, [ ibrowse,
++ ibrowse_http_client,
++ ibrowse_app,
++ ibrowse_sup,
+ ibrowse_lib,
+ ibrowse_lb ]},
+ {registered, []},
+diff --git a/couchdb-1.0.1/src/ibrowse/ibrowse.erl b/couchdb-1.0.1/src/ibrowse/ibrowse.erl
+index 1913ef5..09d36a3 100644
+--- a/couchdb-1.0.1/src/ibrowse/ibrowse.erl
++++ b/couchdb-1.0.1/src/ibrowse/ibrowse.erl
+@@ -6,8 +6,8 @@
+ %%% Created : 11 Oct 2003 by Chandrashekhar Mullaparthi
+ %%%-------------------------------------------------------------------
+ %% @author Chandrashekhar Mullaparthi
+-%% @copyright 2005-2009 Chandrashekhar Mullaparthi
+-%% @version 1.5.2
++%% @copyright 2005-2010 Chandrashekhar Mullaparthi
++%% @version 1.6.0
+ %% @doc The ibrowse application implements an HTTP 1.1 client. This
+ %% module implements the API of the HTTP client. There is one named
+ %% process called 'ibrowse' which assists in load balancing and maintaining configuration. There is one load balancing process per unique webserver. There is
+@@ -21,22 +21,22 @@
+ %% Here are a few sample invocations.
+ %%
+ %%
+-%% ibrowse:send_req("http://intranet/messenger/", [], get).
++%% ibrowse:send_req("http://intranet/messenger/", [], get).
+ %%
+-%%
+-%% ibrowse:send_req("http://www.google.com/", [], get, [],
+-%% [{proxy_user, "XXXXX"},
+-%% {proxy_password, "XXXXX"},
+-%% {proxy_host, "proxy"},
+-%% {proxy_port, 8080}], 1000).
++%%
++%% ibrowse:send_req("http://www.google.com/", [], get, [],
++%% [{proxy_user, "XXXXX"},
++%% {proxy_password, "XXXXX"},
++%% {proxy_host, "proxy"},
++%% {proxy_port, 8080}], 1000).
+ %%
+ %%
+ %%ibrowse:send_req("http://www.erlang.org/download/otp_src_R10B-3.tar.gz", [], get, [],
+-%% [{proxy_user, "XXXXX"},
+-%% {proxy_password, "XXXXX"},
+-%% {proxy_host, "proxy"},
+-%% {proxy_port, 8080},
+-%% {save_response_to_file, true}], 1000).
++%% [{proxy_user, "XXXXX"},
++%% {proxy_password, "XXXXX"},
++%% {proxy_host, "proxy"},
++%% {proxy_port, 8080},
++%% {save_response_to_file, true}], 1000).
+ %%
+ %%
+ %% ibrowse:send_req("http://www.erlang.org", [], head).
+@@ -48,17 +48,12 @@
+ %% ibrowse:send_req("http://www.bbc.co.uk", [], trace).
+ %%
+ %%
+-%% ibrowse:send_req("http://www.google.com", [], get, [],
++%% ibrowse:send_req("http://www.google.com", [], get, [],
+ %% [{stream_to, self()}]).
+ %%
+ %%
+-%% A driver exists which implements URL encoding in C, but the
+-%% speed achieved using only erlang has been good enough, so the
+-%% driver isn't actually used.
+
+ -module(ibrowse).
+--vsn('$Id: ibrowse.erl,v 1.8 2009/07/01 22:43:19 chandrusf Exp $ ').
+-
+ -behaviour(gen_server).
+ %%--------------------------------------------------------------------
+ %% Include files
+@@ -70,48 +65,50 @@
+
+ %% gen_server callbacks
+ -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
+- terminate/2, code_change/3]).
++ terminate/2, code_change/3]).
+
+ %% API interface
+ -export([
+- rescan_config/0,
+- rescan_config/1,
+- get_config_value/1,
+- get_config_value/2,
+- spawn_worker_process/2,
+- spawn_link_worker_process/2,
+- stop_worker_process/1,
+- send_req/3,
+- send_req/4,
+- send_req/5,
+- send_req/6,
+- send_req_direct/4,
+- send_req_direct/5,
+- send_req_direct/6,
+- send_req_direct/7,
+- stream_next/1,
+- set_max_sessions/3,
+- set_max_pipeline_size/3,
+- set_dest/3,
+- trace_on/0,
+- trace_off/0,
+- trace_on/2,
+- trace_off/2,
+- all_trace_off/0,
+- show_dest_status/0,
+- show_dest_status/2
+- ]).
++ rescan_config/0,
++ rescan_config/1,
++ get_config_value/1,
++ get_config_value/2,
++ spawn_worker_process/1,
++ spawn_worker_process/2,
++ spawn_link_worker_process/1,
++ spawn_link_worker_process/2,
++ stop_worker_process/1,
++ send_req/3,
++ send_req/4,
++ send_req/5,
++ send_req/6,
++ send_req_direct/4,
++ send_req_direct/5,
++ send_req_direct/6,
++ send_req_direct/7,
++ stream_next/1,
++ set_max_sessions/3,
++ set_max_pipeline_size/3,
++ set_dest/3,
++ trace_on/0,
++ trace_off/0,
++ trace_on/2,
++ trace_off/2,
++ all_trace_off/0,
++ show_dest_status/0,
++ show_dest_status/2
++ ]).
+
+ -ifdef(debug).
+ -compile(export_all).
+ -endif.
+
+ -import(ibrowse_lib, [
+- parse_url/1,
+- get_value/3,
+- do_trace/2
+- ]).
+-
++ parse_url/1,
++ get_value/3,
++ do_trace/2
++ ]).
++
+ -record(state, {trace = false}).
+
+ -include("ibrowse.hrl").
+@@ -159,7 +156,7 @@ stop() ->
+ send_req(Url, Headers, Method) ->
+ send_req(Url, Headers, Method, [], []).
+
+-%% @doc Same as send_req/3.
++%% @doc Same as send_req/3.
+ %% If a list is specified for the body it has to be a flat list. The body can also be a fun/0 or a fun/1.
+ %% If fun/0, the connection handling process will repeatdely call the fun until it returns an error or eof. Fun() = {ok, Data} | eof
+ %% If fun/1, the connection handling process will repeatedly call the fun with the supplied state until it returns an error or eof. Fun(State) = {ok, Data} | {ok, Data, NewState} | eof
+@@ -169,19 +166,19 @@ send_req(Url, Headers, Method) ->
+ send_req(Url, Headers, Method, Body) ->
+ send_req(Url, Headers, Method, Body, []).
+
+-%% @doc Same as send_req/4.
++%% @doc Same as send_req/4.
+ %% For a description of SSL Options, look in the ssl manpage. If the
+ %% HTTP Version to use is not specified, the default is 1.1.
+ %%
+-%% The host_header
option is useful in the case where ibrowse is
++%%
++%% - The
host_header
option is useful in the case where ibrowse is
+ %% connecting to a component such as stunnel which then sets up a
+ %% secure connection to a webserver. In this case, the URL supplied to
+ %% ibrowse must have the stunnel host/port details, but that won't
+ %% make sense to the destination webserver. This option can then be
+ %% used to specify what should go in the Host
header in
+-%% the request.
+-%%
++%% the request.
+ %% - The
stream_to
option can be used to have the HTTP
+ %% response streamed to a process as messages as data arrives on the
+ %% socket. If the calling process wishes to control the rate at which
+@@ -220,12 +217,25 @@ send_req(Url, Headers, Method, Body) ->
+ %% ibrowse:send_req("http://www.example.com/cgi-bin/request", [], get, [], [{connect_timeout, 100}], 1000).
+ %%
+ %% In the above invocation, if the connection isn't established within
+-%% 100 milliseconds, the request will fail with
++%% 100 milliseconds, the request will fail with
+ %% {error, conn_failed}
.
+ %% If connection setup succeeds, the total time allowed for the
+ %% request to complete will be 1000 milliseconds minus the time taken
+ %% for connection setup.
+ %%
++%%
++%% - The
socket_options
option can be used to set
++%% specific options on the socket. The {active, true | false | once}
++%% and {packet_type, Packet_type}
will be filtered out by ibrowse.
++%%
++%% - The
headers_as_is
option is to enable the caller
++%% to send headers exactly as specified in the request without ibrowse
++%% adding some of its own. Required for some picky servers apparently.
++%%
++%% - The
give_raw_headers
option is to enable the
++%% caller to get access to the raw status line and raw unparsed
++%% headers. Not quite sure why someone would want this, but one of my
++%% users asked for it, so here it is.
+ %%
+ %%
+ %% @spec send_req(Url::string(), Headers::headerList(), Method::method(), Body::body(), Options::optionList()) -> response()
+@@ -234,7 +244,7 @@ send_req(Url, Headers, Method, Body) ->
+ %% {response_format,response_format()}|
+ %% {stream_chunk_size, integer()} |
+ %% {max_pipeline_size, integer()} |
+-%% {trace, boolean()} |
++%% {trace, boolean()} |
+ %% {is_ssl, boolean()} |
+ %% {ssl_options, [SSLOpt]} |
+ %% {pool_name, atom()} |
+@@ -253,13 +263,18 @@ send_req(Url, Headers, Method, Body) ->
+ %% {host_header, string()} |
+ %% {inactivity_timeout, integer()} |
+ %% {connect_timeout, integer()} |
+-%% {transfer_encoding, {chunked, ChunkSize}}
++%% {socket_options, Sock_opts} |
++%% {transfer_encoding, {chunked, ChunkSize}} |
++%% {headers_as_is, boolean()} |
++%% {give_raw_headers, boolean()}
+ %%
+ %% stream_to() = process() | {process(), once}
+ %% process() = pid() | atom()
+ %% username() = string()
+ %% password() = string()
+ %% SSLOpt = term()
++%% Sock_opts = [Sock_opt]
++%% Sock_opt = term()
+ %% ChunkSize = integer()
+ %% srtf() = boolean() | filename()
+ %% filename() = string()
+@@ -267,54 +282,54 @@ send_req(Url, Headers, Method, Body) ->
+ send_req(Url, Headers, Method, Body, Options) ->
+ send_req(Url, Headers, Method, Body, Options, 30000).
+
+-%% @doc Same as send_req/5.
++%% @doc Same as send_req/5.
+ %% All timeout values are in milliseconds.
+ %% @spec send_req(Url, Headers::headerList(), Method::method(), Body::body(), Options::optionList(), Timeout) -> response()
+ %% Timeout = integer() | infinity
+ send_req(Url, Headers, Method, Body, Options, Timeout) ->
+ case catch parse_url(Url) of
+- #url{host = Host,
+- port = Port,
+- protocol = Protocol} = Parsed_url ->
+- Lb_pid = case ets:lookup(ibrowse_lb, {Host, Port}) of
+- [] ->
+- get_lb_pid(Parsed_url);
+- [#lb_pid{pid = Lb_pid_1}] ->
+- Lb_pid_1
+- end,
+- Max_sessions = get_max_sessions(Host, Port, Options),
+- Max_pipeline_size = get_max_pipeline_size(Host, Port, Options),
+- Options_1 = merge_options(Host, Port, Options),
+- {SSLOptions, IsSSL} =
+- case (Protocol == https) orelse
+- get_value(is_ssl, Options_1, false) of
+- false -> {[], false};
+- true -> {get_value(ssl_options, Options_1, []), true}
+- end,
+- case ibrowse_lb:spawn_connection(Lb_pid, Parsed_url,
+- Max_sessions,
+- Max_pipeline_size,
+- {SSLOptions, IsSSL}) of
+- {ok, Conn_Pid} ->
+- do_send_req(Conn_Pid, Parsed_url, Headers,
+- Method, Body, Options_1, Timeout);
+- Err ->
+- Err
+- end;
+- Err ->
+- {error, {url_parsing_failed, Err}}
++ #url{host = Host,
++ port = Port,
++ protocol = Protocol} = Parsed_url ->
++ Lb_pid = case ets:lookup(ibrowse_lb, {Host, Port}) of
++ [] ->
++ get_lb_pid(Parsed_url);
++ [#lb_pid{pid = Lb_pid_1}] ->
++ Lb_pid_1
++ end,
++ Max_sessions = get_max_sessions(Host, Port, Options),
++ Max_pipeline_size = get_max_pipeline_size(Host, Port, Options),
++ Options_1 = merge_options(Host, Port, Options),
++ {SSLOptions, IsSSL} =
++ case (Protocol == https) orelse
++ get_value(is_ssl, Options_1, false) of
++ false -> {[], false};
++ true -> {get_value(ssl_options, Options_1, []), true}
++ end,
++ case ibrowse_lb:spawn_connection(Lb_pid, Parsed_url,
++ Max_sessions,
++ Max_pipeline_size,
++ {SSLOptions, IsSSL}) of
++ {ok, Conn_Pid} ->
++ do_send_req(Conn_Pid, Parsed_url, Headers,
++ Method, Body, Options_1, Timeout);
++ Err ->
++ Err
++ end;
++ Err ->
++ {error, {url_parsing_failed, Err}}
+ end.
+
+ merge_options(Host, Port, Options) ->
+ Config_options = get_config_value({options, Host, Port}, []),
+ lists:foldl(
+ fun({Key, Val}, Acc) ->
+- case lists:keysearch(Key, 1, Options) of
+- false ->
+- [{Key, Val} | Acc];
+- _ ->
+- Acc
+- end
++ case lists:keysearch(Key, 1, Options) of
++ false ->
++ [{Key, Val} | Acc];
++ _ ->
++ Acc
++ end
+ end, Options, Config_options).
+
+ get_lb_pid(Url) ->
+@@ -322,11 +337,11 @@ get_lb_pid(Url) ->
+
+ get_max_sessions(Host, Port, Options) ->
+ get_value(max_sessions, Options,
+- get_config_value({max_sessions, Host, Port}, ?DEF_MAX_SESSIONS)).
++ get_config_value({max_sessions, Host, Port}, ?DEF_MAX_SESSIONS)).
+
+ get_max_pipeline_size(Host, Port, Options) ->
+ get_value(max_pipeline_size, Options,
+- get_config_value({max_pipeline_size, Host, Port}, ?DEF_MAX_PIPELINE_SIZE)).
++ get_config_value({max_pipeline_size, Host, Port}, ?DEF_MAX_PIPELINE_SIZE)).
+
+ %% @doc Deprecated. Use set_max_sessions/3 and set_max_pipeline_size/3
+ %% for achieving the same effect.
+@@ -343,7 +358,7 @@ set_dest(_Host, _Port, [H | _]) ->
+ exit({invalid_option, H});
+ set_dest(_, _, []) ->
+ ok.
+-
++
+ %% @doc Set the maximum number of connections allowed to a specific Host:Port.
+ %% @spec set_max_sessions(Host::string(), Port::integer(), Max::integer()) -> ok
+ set_max_sessions(Host, Port, Max) when is_integer(Max), Max > 0 ->
+@@ -356,21 +371,21 @@ set_max_pipeline_size(Host, Port, Max) when is_integer(Max), Max > 0 ->
+
+ do_send_req(Conn_Pid, Parsed_url, Headers, Method, Body, Options, Timeout) ->
+ case catch ibrowse_http_client:send_req(Conn_Pid, Parsed_url,
+- Headers, Method, ensure_bin(Body),
+- Options, Timeout) of
+- {'EXIT', {timeout, _}} ->
+- {error, req_timedout};
+- {'EXIT', Reason} ->
+- {error, {'EXIT', Reason}};
+- {ok, St_code, Headers, Body} = Ret when is_binary(Body) ->
+- case get_value(response_format, Options, list) of
+- list ->
+- {ok, St_code, Headers, binary_to_list(Body)};
+- binary ->
+- Ret
+- end;
+- Ret ->
+- Ret
++ Headers, Method, ensure_bin(Body),
++ Options, Timeout) of
++ {'EXIT', {timeout, _}} ->
++ {error, req_timedout};
++ {'EXIT', Reason} ->
++ {error, {'EXIT', Reason}};
++ {ok, St_code, Headers, Body} = Ret when is_binary(Body) ->
++ case get_value(response_format, Options, list) of
++ list ->
++ {ok, St_code, Headers, binary_to_list(Body)};
++ binary ->
++ Ret
++ end;
++ Ret ->
++ Ret
+ end.
+
+ ensure_bin(L) when is_list(L) -> list_to_binary(L);
+@@ -391,12 +406,21 @@ ensure_bin({Fun, _} = Body) when is_function(Fun) -> Body.
+ %% Note: It is the responsibility of the calling process to control
+ %% pipeline size on such connections.
+ %%
++%% @spec spawn_worker_process(Url::string()) -> {ok, pid()}
++spawn_worker_process(Url) ->
++ ibrowse_http_client:start(Url).
++
+ %% @spec spawn_worker_process(Host::string(), Port::integer()) -> {ok, pid()}
+ spawn_worker_process(Host, Port) ->
+ ibrowse_http_client:start({Host, Port}).
+
+-%% @doc Same as spawn_worker_process/2 except the the calling process
++%% @doc Same as spawn_worker_process/1 except the the calling process
+ %% is linked to the worker process which is spawned.
++%% @spec spawn_link_worker_process(Url::string()) -> {ok, pid()}
++spawn_link_worker_process(Url) ->
++ ibrowse_http_client:start_link(Url).
++
++%% @spec spawn_link_worker_process(Host::string(), Port::integer()) -> {ok, pid()}
+ spawn_link_worker_process(Host, Port) ->
+ ibrowse_http_client:start_link({Host, Port}).
+
+@@ -426,30 +450,30 @@ send_req_direct(Conn_pid, Url, Headers, Method, Body, Options) ->
+ %% returned by spawn_worker_process/2 or spawn_link_worker_process/2
+ send_req_direct(Conn_pid, Url, Headers, Method, Body, Options, Timeout) ->
+ case catch parse_url(Url) of
+- #url{host = Host,
+- port = Port} = Parsed_url ->
+- Options_1 = merge_options(Host, Port, Options),
+- case do_send_req(Conn_pid, Parsed_url, Headers, Method, Body, Options_1, Timeout) of
+- {error, {'EXIT', {noproc, _}}} ->
+- {error, worker_is_dead};
+- Ret ->
+- Ret
+- end;
+- Err ->
+- {error, {url_parsing_failed, Err}}
++ #url{host = Host,
++ port = Port} = Parsed_url ->
++ Options_1 = merge_options(Host, Port, Options),
++ case do_send_req(Conn_pid, Parsed_url, Headers, Method, Body, Options_1, Timeout) of
++ {error, {'EXIT', {noproc, _}}} ->
++ {error, worker_is_dead};
++ Ret ->
++ Ret
++ end;
++ Err ->
++ {error, {url_parsing_failed, Err}}
+ end.
+
+ %% @doc Tell ibrowse to stream the next chunk of data to the
+ %% caller. Should be used in conjunction with the
+ %% stream_to
option
+ %% @spec stream_next(Req_id :: req_id()) -> ok | {error, unknown_req_id}
+-stream_next(Req_id) ->
++stream_next(Req_id) ->
+ case ets:lookup(ibrowse_stream, {req_id_pid, Req_id}) of
+- [] ->
+- {error, unknown_req_id};
+- [{_, Pid}] ->
+- catch Pid ! {stream_next, Req_id},
+- ok
++ [] ->
++ {error, unknown_req_id};
++ [{_, Pid}] ->
++ catch Pid ! {stream_next, Req_id},
++ ok
+ end.
+
+ %% @doc Turn tracing on for the ibrowse process
+@@ -462,7 +486,7 @@ trace_off() ->
+ %% @doc Turn tracing on for all connections to the specified HTTP
+ %% server. Host is whatever is specified as the domain name in the URL
+ %% @spec trace_on(Host, Port) -> ok
+-%% Host = string()
++%% Host = string()
+ %% Port = integer()
+ trace_on(Host, Port) ->
+ ibrowse ! {trace, true, Host, Port},
+@@ -483,75 +507,75 @@ all_trace_off() ->
+
+ show_dest_status() ->
+ Dests = lists:filter(fun({lb_pid, {Host, Port}, _}) when is_list(Host),
+- is_integer(Port) ->
+- true;
+- (_) ->
+- false
+- end, ets:tab2list(ibrowse_lb)),
++ is_integer(Port) ->
++ true;
++ (_) ->
++ false
++ end, ets:tab2list(ibrowse_lb)),
+ All_ets = ets:all(),
+ io:format("~-40.40s | ~-5.5s | ~-10.10s | ~s~n",
+- ["Server:port", "ETS", "Num conns", "LB Pid"]),
++ ["Server:port", "ETS", "Num conns", "LB Pid"]),
+ io:format("~80.80.=s~n", [""]),
+ lists:foreach(fun({lb_pid, {Host, Port}, Lb_pid}) ->
+- case lists:dropwhile(
+- fun(Tid) ->
+- ets:info(Tid, owner) /= Lb_pid
+- end, All_ets) of
+- [] ->
+- io:format("~40.40s | ~-5.5s | ~-5.5s | ~s~n",
+- [Host ++ ":" ++ integer_to_list(Port),
+- "",
+- "",
+- io_lib:format("~p", [Lb_pid])]
+- );
+- [Tid | _] ->
+- catch (
+- begin
+- Size = ets:info(Tid, size),
+- io:format("~40.40s | ~-5.5s | ~-5.5s | ~s~n",
+- [Host ++ ":" ++ integer_to_list(Port),
+- integer_to_list(Tid),
+- integer_to_list(Size),
+- io_lib:format("~p", [Lb_pid])]
+- )
+- end
+- )
+- end
+- end, Dests).
+-
++ case lists:dropwhile(
++ fun(Tid) ->
++ ets:info(Tid, owner) /= Lb_pid
++ end, All_ets) of
++ [] ->
++ io:format("~40.40s | ~-5.5s | ~-5.5s | ~s~n",
++ [Host ++ ":" ++ integer_to_list(Port),
++ "",
++ "",
++ io_lib:format("~p", [Lb_pid])]
++ );
++ [Tid | _] ->
++ catch (
++ begin
++ Size = ets:info(Tid, size),
++ io:format("~40.40s | ~-5.5s | ~-5.5s | ~s~n",
++ [Host ++ ":" ++ integer_to_list(Port),
++ io_lib:format("~p", [Tid]),
++ integer_to_list(Size),
++ io_lib:format("~p", [Lb_pid])]
++ )
++ end
++ )
++ end
++ end, Dests).
++
+ %% @doc Shows some internal information about load balancing to a
+ %% specified Host:Port. Info about workers spawned using
+ %% spawn_worker_process/2 or spawn_link_worker_process/2 is not
+ %% included.
+ show_dest_status(Host, Port) ->
+ case ets:lookup(ibrowse_lb, {Host, Port}) of
+- [] ->
+- no_active_processes;
+- [#lb_pid{pid = Lb_pid}] ->
+- io:format("Load Balancer Pid : ~p~n", [Lb_pid]),
+- io:format("LB process msg q size : ~p~n", [(catch process_info(Lb_pid, message_queue_len))]),
+- case lists:dropwhile(
+- fun(Tid) ->
+- ets:info(Tid, owner) /= Lb_pid
+- end, ets:all()) of
+- [] ->
+- io:format("Couldn't locate ETS table for ~p~n", [Lb_pid]);
+- [Tid | _] ->
+- First = ets:first(Tid),
+- Last = ets:last(Tid),
+- Size = ets:info(Tid, size),
+- io:format("LB ETS table id : ~p~n", [Tid]),
+- io:format("Num Connections : ~p~n", [Size]),
+- case Size of
+- 0 ->
+- ok;
+- _ ->
+- {First_p_sz, _} = First,
+- {Last_p_sz, _} = Last,
+- io:format("Smallest pipeline : ~1000.p~n", [First_p_sz]),
+- io:format("Largest pipeline : ~1000.p~n", [Last_p_sz])
+- end
+- end
++ [] ->
++ no_active_processes;
++ [#lb_pid{pid = Lb_pid}] ->
++ io:format("Load Balancer Pid : ~p~n", [Lb_pid]),
++ io:format("LB process msg q size : ~p~n", [(catch process_info(Lb_pid, message_queue_len))]),
++ case lists:dropwhile(
++ fun(Tid) ->
++ ets:info(Tid, owner) /= Lb_pid
++ end, ets:all()) of
++ [] ->
++ io:format("Couldn't locate ETS table for ~p~n", [Lb_pid]);
++ [Tid | _] ->
++ First = ets:first(Tid),
++ Last = ets:last(Tid),
++ Size = ets:info(Tid, size),
++ io:format("LB ETS table id : ~p~n", [Tid]),
++ io:format("Num Connections : ~p~n", [Size]),
++ case Size of
++ 0 ->
++ ok;
++ _ ->
++ {First_p_sz, _} = First,
++ {Last_p_sz, _} = Last,
++ io:format("Smallest pipeline : ~1000.p~n", [First_p_sz]),
++ io:format("Largest pipeline : ~1000.p~n", [Last_p_sz])
++ end
++ end
+ end.
+
+ %% @doc Clear current configuration for ibrowse and load from the file
+@@ -592,40 +616,40 @@ init(_) ->
+
+ import_config() ->
+ case code:priv_dir(ibrowse) of
+- {error, _} = Err ->
+- Err;
+- PrivDir ->
+- Filename = filename:join(PrivDir, "ibrowse.conf"),
+- import_config(Filename)
++ {error, _} = Err ->
++ Err;
++ PrivDir ->
++ Filename = filename:join(PrivDir, "ibrowse.conf"),
++ import_config(Filename)
+ end.
+
+ import_config(Filename) ->
+ case file:consult(Filename) of
+- {ok, Terms} ->
+- ets:delete_all_objects(ibrowse_conf),
+- Fun = fun({dest, Host, Port, MaxSess, MaxPipe, Options})
+- when is_list(Host), is_integer(Port),
+- is_integer(MaxSess), MaxSess > 0,
+- is_integer(MaxPipe), MaxPipe > 0, is_list(Options) ->
+- I = [{{max_sessions, Host, Port}, MaxSess},
+- {{max_pipeline_size, Host, Port}, MaxPipe},
+- {{options, Host, Port}, Options}],
+- lists:foreach(
+- fun({X, Y}) ->
+- ets:insert(ibrowse_conf,
+- #ibrowse_conf{key = X,
+- value = Y})
+- end, I);
+- ({K, V}) ->
+- ets:insert(ibrowse_conf,
+- #ibrowse_conf{key = K,
+- value = V});
+- (X) ->
+- io:format("Skipping unrecognised term: ~p~n", [X])
+- end,
+- lists:foreach(Fun, Terms);
+- Err ->
+- Err
++ {ok, Terms} ->
++ ets:delete_all_objects(ibrowse_conf),
++ Fun = fun({dest, Host, Port, MaxSess, MaxPipe, Options})
++ when is_list(Host), is_integer(Port),
++ is_integer(MaxSess), MaxSess > 0,
++ is_integer(MaxPipe), MaxPipe > 0, is_list(Options) ->
++ I = [{{max_sessions, Host, Port}, MaxSess},
++ {{max_pipeline_size, Host, Port}, MaxPipe},
++ {{options, Host, Port}, Options}],
++ lists:foreach(
++ fun({X, Y}) ->
++ ets:insert(ibrowse_conf,
++ #ibrowse_conf{key = X,
++ value = Y})
++ end, I);
++ ({K, V}) ->
++ ets:insert(ibrowse_conf,
++ #ibrowse_conf{key = K,
++ value = V});
++ (X) ->
++ io:format("Skipping unrecognised term: ~p~n", [X])
++ end,
++ lists:foreach(Fun, Terms);
++ Err ->
++ Err
+ end.
+
+ %% @doc Internal export
+@@ -636,10 +660,10 @@ get_config_value(Key) ->
+ %% @doc Internal export
+ get_config_value(Key, DefVal) ->
+ case ets:lookup(ibrowse_conf, Key) of
+- [] ->
+- DefVal;
+- [#ibrowse_conf{value = V}] ->
+- V
++ [] ->
++ DefVal;
++ [#ibrowse_conf{value = V}] ->
++ V
+ end.
+
+ set_config_value(Key, Val) ->
+@@ -700,36 +724,36 @@ handle_info(all_trace_off, State) ->
+ Mspec = [{{ibrowse_conf,{trace,'$1','$2'},true},[],[{{'$1','$2'}}]}],
+ Trace_on_dests = ets:select(ibrowse_conf, Mspec),
+ Fun = fun(#lb_pid{host_port = {H, P}, pid = Pid}, _) ->
+- case lists:member({H, P}, Trace_on_dests) of
+- false ->
+- ok;
+- true ->
+- catch Pid ! {trace, false}
+- end;
+- (_, Acc) ->
+- Acc
+- end,
++ case lists:member({H, P}, Trace_on_dests) of
++ false ->
++ ok;
++ true ->
++ catch Pid ! {trace, false}
++ end;
++ (_, Acc) ->
++ Acc
++ end,
+ ets:foldl(Fun, undefined, ibrowse_lb),
+ ets:select_delete(ibrowse_conf, [{{ibrowse_conf,{trace,'$1','$2'},true},[],['true']}]),
+ {noreply, State};
+-
++
+ handle_info({trace, Bool}, State) ->
+ put(my_trace_flag, Bool),
+ {noreply, State};
+
+ handle_info({trace, Bool, Host, Port}, State) ->
+ Fun = fun(#lb_pid{host_port = {H, P}, pid = Pid}, _)
+- when H == Host,
+- P == Port ->
+- catch Pid ! {trace, Bool};
+- (_, Acc) ->
+- Acc
+- end,
++ when H == Host,
++ P == Port ->
++ catch Pid ! {trace, Bool};
++ (_, Acc) ->
++ Acc
++ end,
+ ets:foldl(Fun, undefined, ibrowse_lb),
+ ets:insert(ibrowse_conf, #ibrowse_conf{key = {trace, Host, Port},
+- value = Bool}),
++ value = Bool}),
+ {noreply, State};
+-
++
+ handle_info(_Info, State) ->
+ {noreply, State}.
+
+diff --git a/couchdb-1.0.1/src/ibrowse/ibrowse_app.erl b/couchdb-1.0.1/src/ibrowse/ibrowse_app.erl
+index 8c83e8f..d3a0f7b 100644
+--- a/couchdb-1.0.1/src/ibrowse/ibrowse_app.erl
++++ b/couchdb-1.0.1/src/ibrowse/ibrowse_app.erl
+@@ -1,12 +1,11 @@
+ %%%-------------------------------------------------------------------
+ %%% File : ibrowse_app.erl
+ %%% Author : Chandrashekhar Mullaparthi
+-%%% Description :
++%%% Description :
+ %%%
+ %%% Created : 15 Oct 2003 by Chandrashekhar Mullaparthi
+ %%%-------------------------------------------------------------------
+ -module(ibrowse_app).
+--vsn('$Id: ibrowse_app.erl,v 1.1 2005/05/05 22:28:28 chandrusf Exp $ ').
+
+ -behaviour(application).
+ %%--------------------------------------------------------------------
+@@ -42,11 +41,11 @@
+ %% Func: start/2
+ %% Returns: {ok, Pid} |
+ %% {ok, Pid, State} |
+-%% {error, Reason}
++%% {error, Reason}
+ %%--------------------------------------------------------------------
+ start(_Type, _StartArgs) ->
+ case ibrowse_sup:start_link() of
+- {ok, Pid} ->
++ {ok, Pid} ->
+ {ok, Pid};
+ Error ->
+ Error
+@@ -54,7 +53,7 @@ start(_Type, _StartArgs) ->
+
+ %%--------------------------------------------------------------------
+ %% Func: stop/1
+-%% Returns: any
++%% Returns: any
+ %%--------------------------------------------------------------------
+ stop(_State) ->
+ ok.
+diff --git a/couchdb-1.0.1/src/ibrowse/ibrowse_http_client.erl b/couchdb-1.0.1/src/ibrowse/ibrowse_http_client.erl
+index 65d9cb9..1633e5b 100644
+--- a/couchdb-1.0.1/src/ibrowse/ibrowse_http_client.erl
++++ b/couchdb-1.0.1/src/ibrowse/ibrowse_http_client.erl
+@@ -6,8 +6,6 @@
+ %%% Created : 11 Oct 2003 by Chandrashekhar Mullaparthi
+ %%%-------------------------------------------------------------------
+ -module(ibrowse_http_client).
+--vsn('$Id: ibrowse_http_client.erl,v 1.19 2009/07/01 22:43:19 chandrusf Exp $ ').
+-
+ -behaviour(gen_server).
+ %%--------------------------------------------------------------------
+ %% Include files
+@@ -16,11 +14,11 @@
+ %%--------------------------------------------------------------------
+ %% External exports
+ -export([
+- start_link/1,
+- start/1,
+- stop/1,
+- send_req/7
+- ]).
++ start_link/1,
++ start/1,
++ stop/1,
++ send_req/7
++ ]).
+
+ -ifdef(debug).
+ -compile(export_all).
+@@ -28,41 +26,45 @@
+
+ %% gen_server callbacks
+ -export([
+- init/1,
+- handle_call/3,
+- handle_cast/2,
+- handle_info/2,
+- terminate/2,
+- code_change/3
+- ]).
++ init/1,
++ handle_call/3,
++ handle_cast/2,
++ handle_info/2,
++ terminate/2,
++ code_change/3
++ ]).
+
+ -include("ibrowse.hrl").
+
+--record(state, {host, port,
+- use_proxy = false, proxy_auth_digest,
+- ssl_options = [], is_ssl = false, socket,
+- reqs=queue:new(), cur_req, status=idle, http_status_code,
+- reply_buffer = <<>>, rep_buf_size=0, streamed_size = 0,
+- recvd_headers=[],
+- is_closing, send_timer, content_length,
+- deleted_crlf = false, transfer_encoding,
+- chunk_size, chunk_size_buffer = <<>>, recvd_chunk_size,
+- lb_ets_tid, cur_pipeline_size = 0, prev_req_id
+- }).
++-record(state, {host, port, connect_timeout,
++ use_proxy = false, proxy_auth_digest,
++ ssl_options = [], is_ssl = false, socket,
++ proxy_tunnel_setup = false,
++ tunnel_setup_queue = [],
++ reqs=queue:new(), cur_req, status=idle, http_status_code,
++ reply_buffer = <<>>, rep_buf_size=0, streamed_size = 0,
++ recvd_headers=[],
++ status_line, raw_headers,
++ is_closing, send_timer, content_length,
++ deleted_crlf = false, transfer_encoding,
++ chunk_size, chunk_size_buffer = <<>>, recvd_chunk_size,
++ lb_ets_tid, cur_pipeline_size = 0, prev_req_id
++ }).
+
+ -record(request, {url, method, options, from,
+- stream_to, caller_controls_socket = false,
+- req_id,
+- stream_chunk_size,
+- save_response_to_file = false,
+- tmp_file_name, tmp_file_fd,
+- response_format}).
++ stream_to, caller_controls_socket = false,
++ caller_socket_options = [],
++ req_id,
++ stream_chunk_size,
++ save_response_to_file = false,
++ tmp_file_name, tmp_file_fd,
++ response_format}).
+
+ -import(ibrowse_lib, [
+- get_value/2,
+- get_value/3,
+- do_trace/2
+- ]).
++ get_value/2,
++ get_value/3,
++ do_trace/2
++ ]).
+
+ -define(DEFAULT_STREAM_CHUNK_SIZE, 1024*1024).
+
+@@ -80,7 +82,8 @@ start_link(Args) ->
+ gen_server:start_link(?MODULE, Args, []).
+
+ stop(Conn_pid) ->
+- gen_server:call(Conn_pid, stop).
++ catch gen_server:call(Conn_pid, stop),
++ ok.
+
+ send_req(Conn_Pid, Url, Headers, Method, Body, Options, Timeout) ->
+ gen_server:call(
+@@ -101,26 +104,23 @@ send_req(Conn_Pid, Url, Headers, Method, Body, Options, Timeout) ->
+ %%--------------------------------------------------------------------
+ init({Lb_Tid, #url{host = Host, port = Port}, {SSLOptions, Is_ssl}}) ->
+ State = #state{host = Host,
+- port = Port,
+- ssl_options = SSLOptions,
+- is_ssl = Is_ssl,
+- lb_ets_tid = Lb_Tid},
++ port = Port,
++ ssl_options = SSLOptions,
++ is_ssl = Is_ssl,
++ lb_ets_tid = Lb_Tid},
+ put(ibrowse_trace_token, [Host, $:, integer_to_list(Port)]),
+ put(my_trace_flag, ibrowse_lib:get_trace_status(Host, Port)),
+ {ok, State};
++init(Url) when is_list(Url) ->
++ case catch ibrowse_lib:parse_url(Url) of
++ #url{protocol = Protocol} = Url_rec ->
++ init({undefined, Url_rec, {[], Protocol == https}});
++ {'EXIT', _} ->
++ {error, invalid_url}
++ end;
+ init({Host, Port}) ->
+ State = #state{host = Host,
+- port = Port},
+- put(ibrowse_trace_token, [Host, $:, integer_to_list(Port)]),
+- put(my_trace_flag, ibrowse_lib:get_trace_status(Host, Port)),
+- {ok, State};
+-init(#url{host=Host, port=Port, protocol=Protocol}) ->
+- State = #state{
+- host = Host,
+- port = Port,
+- is_ssl = (Protocol == https),
+- ssl_options = [{ssl_imp, new}, {depth, 9}]
+- },
++ port = Port},
+ put(ibrowse_trace_token, [Host, $:, integer_to_list(Port)]),
+ put(my_trace_flag, ibrowse_lib:get_trace_status(Host, Port)),
+ {ok, State}.
+@@ -141,13 +141,13 @@ handle_call({send_req, _}, _From, #state{is_closing = true} = State) ->
+ {reply, {error, connection_closing}, State};
+
+ handle_call({send_req, {Url, Headers, Method, Body, Options, Timeout}},
+- From, State) ->
++ From, State) ->
+ send_req_1(From, Url, Headers, Method, Body, Options, Timeout, State);
+
+ handle_call(stop, _From, State) ->
+ do_close(State),
+ do_error_reply(State, closing_on_request),
+- {stop, normal, ok, State#state{socket=undefined}};
++ {stop, normal, ok, State};
+
+ handle_call(Request, _From, State) ->
+ Reply = {unknown_request, Request},
+@@ -177,9 +177,8 @@ handle_info({ssl, _Sock, Data}, State) ->
+ handle_sock_data(Data, State);
+
+ handle_info({stream_next, Req_id}, #state{socket = Socket,
+- is_ssl = Is_ssl,
+- cur_req = #request{req_id = Req_id}} = State) ->
+- do_setopts(Socket, [{active, once}], Is_ssl),
++ cur_req = #request{req_id = Req_id}} = State) ->
++ do_setopts(Socket, [{active, once}], State),
+ {noreply, State};
+
+ handle_info({stream_next, _Req_id}, State) ->
+@@ -204,13 +203,13 @@ handle_info({ssl_error, _Sock}, State) ->
+ {stop, normal, State};
+
+ handle_info({req_timedout, From}, State) ->
+- case lists:keysearch(From, #request.from, queue:to_list(State#state.reqs)) of
+- false ->
+- {noreply, State};
+- {value, _} ->
+- shutting_down(State),
+- do_error_reply(State, req_timedout),
+- {stop, normal, State}
++ case lists:keymember(From, #request.from, queue:to_list(State#state.reqs)) of
++ false ->
++ {noreply, State};
++ true ->
++ shutting_down(State),
++ do_error_reply(State, req_timedout),
++ {stop, normal, State}
+ end;
+
+ handle_info(timeout, State) ->
+@@ -224,7 +223,7 @@ handle_info({trace, Bool}, State) ->
+
+ handle_info(Info, State) ->
+ io:format("Unknown message recvd for ~1000.p:~1000.p -> ~p~n",
+- [State#state.host, State#state.port, Info]),
++ [State#state.host, State#state.port, Info]),
+ io:format("Recvd unknown message ~p when in state: ~p~n", [Info, State]),
+ {noreply, State}.
+
+@@ -260,133 +259,132 @@ handle_sock_data(Data, #state{status=idle}=State) ->
+
+ handle_sock_data(Data, #state{status = get_header}=State) ->
+ case parse_response(Data, State) of
+- {error, _Reason} ->
+- shutting_down(State),
+- {stop, normal, State};
+- stop ->
+- shutting_down(State),
+- {stop, normal, State};
+- State_1 ->
+- active_once(State_1),
+- {noreply, State_1, get_inac_timeout(State_1)}
++ {error, _Reason} ->
++ shutting_down(State),
++ {stop, normal, State};
++ State_1 ->
++ active_once(State_1),
++ set_inac_timer(State_1),
++ {noreply, State_1}
+ end;
+
+ handle_sock_data(Data, #state{status = get_body,
+- content_length = CL,
+- http_status_code = StatCode,
+- recvd_headers = Headers,
+- chunk_size = CSz} = State) ->
++ content_length = CL,
++ http_status_code = StatCode,
++ recvd_headers = Headers,
++ chunk_size = CSz} = State) ->
+ case (CL == undefined) and (CSz == undefined) of
+- true ->
+- case accumulate_response(Data, State) of
+- {error, Reason} ->
+- shutting_down(State),
+- fail_pipelined_requests(State,
+- {error, {Reason, {stat_code, StatCode}, Headers}}),
+- {stop, normal, State};
+- State_1 ->
+- active_once(State_1),
+- {noreply, State_1, get_inac_timeout(State_1)}
+- end;
+- _ ->
+- case parse_11_response(Data, State) of
+- {error, Reason} ->
+- shutting_down(State),
+- fail_pipelined_requests(State,
+- {error, {Reason, {stat_code, StatCode}, Headers}}),
+- {stop, normal, State};
+- stop ->
+- shutting_down(State),
+- {stop, normal, State};
+- State_1 ->
+- active_once(State_1),
+- {noreply, State_1, get_inac_timeout(State_1)}
+- end
++ true ->
++ case accumulate_response(Data, State) of
++ {error, Reason} ->
++ shutting_down(State),
++ fail_pipelined_requests(State,
++ {error, {Reason, {stat_code, StatCode}, Headers}}),
++ {stop, normal, State};
++ State_1 ->
++ active_once(State_1),
++ set_inac_timer(State_1),
++ {noreply, State_1}
++ end;
++ _ ->
++ case parse_11_response(Data, State) of
++ {error, Reason} ->
++ shutting_down(State),
++ fail_pipelined_requests(State,
++ {error, {Reason, {stat_code, StatCode}, Headers}}),
++ {stop, normal, State};
++ State_1 ->
++ active_once(State_1),
++ set_inac_timer(State_1),
++ {noreply, State_1}
++ end
+ end.
+
+ accumulate_response(Data,
+- #state{
+- cur_req = #request{save_response_to_file = true,
+- tmp_file_fd = undefined} = CurReq,
+- http_status_code=[$2 | _]}=State) ->
+- TmpFilename = make_tmp_filename(),
++ #state{
++ cur_req = #request{save_response_to_file = Srtf,
++ tmp_file_fd = undefined} = CurReq,
++ http_status_code=[$2 | _]}=State) when Srtf /= false ->
++ TmpFilename = make_tmp_filename(Srtf),
+ case file:open(TmpFilename, [write, delayed_write, raw]) of
+- {ok, Fd} ->
+- accumulate_response(Data, State#state{
+- cur_req = CurReq#request{
+- tmp_file_fd = Fd,
+- tmp_file_name = TmpFilename}});
+- {error, Reason} ->
+- {error, {file_open_error, Reason}}
++ {ok, Fd} ->
++ accumulate_response(Data, State#state{
++ cur_req = CurReq#request{
++ tmp_file_fd = Fd,
++ tmp_file_name = TmpFilename}});
++ {error, Reason} ->
++ {error, {file_open_error, Reason}}
+ end;
+-accumulate_response(Data, #state{cur_req = #request{save_response_to_file = true,
+- tmp_file_fd = Fd},
+- transfer_encoding=chunked,
+- reply_buffer = Reply_buf,
+- http_status_code=[$2 | _]
+- } = State) ->
++accumulate_response(Data, #state{cur_req = #request{save_response_to_file = Srtf,
++ tmp_file_fd = Fd},
++ transfer_encoding=chunked,
++ reply_buffer = Reply_buf,
++ http_status_code=[$2 | _]
++ } = State) when Srtf /= false ->
+ case file:write(Fd, [Reply_buf, Data]) of
+- ok ->
+- State#state{reply_buffer = <<>>};
+- {error, Reason} ->
+- {error, {file_write_error, Reason}}
++ ok ->
++ State#state{reply_buffer = <<>>};
++ {error, Reason} ->
++ {error, {file_write_error, Reason}}
+ end;
+-accumulate_response(Data, #state{cur_req = #request{save_response_to_file = true,
+- tmp_file_fd = Fd},
+- reply_buffer = RepBuf,
+- http_status_code=[$2 | _]
+- } = State) ->
++accumulate_response(Data, #state{cur_req = #request{save_response_to_file = Srtf,
++ tmp_file_fd = Fd},
++ reply_buffer = RepBuf,
++ http_status_code=[$2 | _]
++ } = State) when Srtf /= false ->
+ case file:write(Fd, [RepBuf, Data]) of
+- ok ->
+- State#state{reply_buffer = <<>>};
+- {error, Reason} ->
+- {error, {file_write_error, Reason}}
++ ok ->
++ State#state{reply_buffer = <<>>};
++ {error, Reason} ->
++ {error, {file_write_error, Reason}}
+ end;
+ accumulate_response(<<>>, State) ->
+ State;
+ accumulate_response(Data, #state{reply_buffer = RepBuf,
+- rep_buf_size = RepBufSize,
+- streamed_size = Streamed_size,
+- cur_req = CurReq}=State) ->
++ rep_buf_size = RepBufSize,
++ streamed_size = Streamed_size,
++ cur_req = CurReq}=State) ->
+ #request{stream_to=StreamTo, req_id=ReqId,
+- stream_chunk_size = Stream_chunk_size,
+- response_format = Response_format,
+- caller_controls_socket = Caller_controls_socket} = CurReq,
++ stream_chunk_size = Stream_chunk_size,
++ response_format = Response_format,
++ caller_controls_socket = Caller_controls_socket} = CurReq,
+ RepBuf_1 = list_to_binary([RepBuf, Data]),
+ New_data_size = RepBufSize - Streamed_size,
+ case StreamTo of
+- undefined ->
+- State#state{reply_buffer = RepBuf_1};
+- _ when Caller_controls_socket == true ->
+- do_interim_reply(StreamTo, Response_format, ReqId, RepBuf_1),
+- State#state{reply_buffer = <<>>,
+- streamed_size = Streamed_size + size(RepBuf_1)};
+- _ when New_data_size >= Stream_chunk_size ->
+- {Stream_chunk, Rem_data} = split_binary(RepBuf_1, Stream_chunk_size),
+- do_interim_reply(StreamTo, Response_format, ReqId, Stream_chunk),
+- accumulate_response(
+- Rem_data,
+- State#state{
+- reply_buffer = <<>>,
+- streamed_size = Streamed_size + Stream_chunk_size});
+- _ ->
+- State#state{reply_buffer = RepBuf_1}
++ undefined ->
++ State#state{reply_buffer = RepBuf_1};
++ _ when Caller_controls_socket == true ->
++ do_interim_reply(StreamTo, Response_format, ReqId, RepBuf_1),
++ State#state{reply_buffer = <<>>,
++ streamed_size = Streamed_size + size(RepBuf_1)};
++ _ when New_data_size >= Stream_chunk_size ->
++ {Stream_chunk, Rem_data} = split_binary(RepBuf_1, Stream_chunk_size),
++ do_interim_reply(StreamTo, Response_format, ReqId, Stream_chunk),
++ accumulate_response(
++ Rem_data,
++ State#state{
++ reply_buffer = <<>>,
++ streamed_size = Streamed_size + Stream_chunk_size});
++ _ ->
++ State#state{reply_buffer = RepBuf_1}
+ end.
+
+-make_tmp_filename() ->
++make_tmp_filename(true) ->
+ DownloadDir = ibrowse:get_config_value(download_dir, filename:absname("./")),
+ {A,B,C} = now(),
+ filename:join([DownloadDir,
+- "ibrowse_tmp_file_"++
+- integer_to_list(A) ++
+- integer_to_list(B) ++
+- integer_to_list(C)]).
++ "ibrowse_tmp_file_"++
++ integer_to_list(A) ++
++ integer_to_list(B) ++
++ integer_to_list(C)]);
++make_tmp_filename(File) when is_list(File) ->
++ File.
+
+
+ %%--------------------------------------------------------------------
+ %% Handles the case when the server closes the socket
+ %%--------------------------------------------------------------------
+-handle_sock_closed(#state{status=get_header}=State) ->
++handle_sock_closed(#state{status=get_header} = State) ->
+ shutting_down(State),
+ do_error_reply(State, connection_closed);
+
+@@ -397,40 +395,73 @@ handle_sock_closed(#state{cur_req=undefined} = State) ->
+ %% Connection-Close header and has closed the socket to indicate end
+ %% of response. There maybe requests pipelined which need a response.
+ handle_sock_closed(#state{reply_buffer = Buf, reqs = Reqs, http_status_code = SC,
+- is_closing = IsClosing,
+- cur_req = #request{tmp_file_name=TmpFilename,
+- tmp_file_fd=Fd} = CurReq,
+- status = get_body, recvd_headers = Headers}=State) ->
++ is_closing = IsClosing,
++ cur_req = #request{tmp_file_name=TmpFilename,
++ tmp_file_fd=Fd} = CurReq,
++ status = get_body,
++ recvd_headers = Headers,
++ status_line = Status_line,
++ raw_headers = Raw_headers
++ }=State) ->
+ #request{from=From, stream_to=StreamTo, req_id=ReqId,
+- response_format = Resp_format} = CurReq,
++ response_format = Resp_format,
++ options = Options} = CurReq,
+ case IsClosing of
+- true ->
+- {_, Reqs_1} = queue:out(Reqs),
+- case TmpFilename of
+- undefined ->
+- do_reply(State, From, StreamTo, ReqId, Resp_format,
+- {ok, SC, Headers, Buf});
+- _ ->
+- file:close(Fd),
+- do_reply(State, From, StreamTo, ReqId, Resp_format,
+- {ok, SC, Headers, {file, TmpFilename}})
+- end,
+- do_error_reply(State#state{reqs = Reqs_1}, connection_closed),
+- State;
+- _ ->
+- do_error_reply(State, connection_closed),
+- State
++ true ->
++ {_, Reqs_1} = queue:out(Reqs),
++ Body = case TmpFilename of
++ undefined ->
++ Buf;
++ _ ->
++ file:close(Fd),
++ {file, TmpFilename}
++ end,
++ Reply = case get_value(give_raw_headers, Options, false) of
++ true ->
++ {ok, Status_line, Raw_headers, Body};
++ false ->
++ {ok, SC, Headers, Buf}
++ end,
++ do_reply(State, From, StreamTo, ReqId, Resp_format, Reply),
++ do_error_reply(State#state{reqs = Reqs_1}, connection_closed),
++ State;
++ _ ->
++ do_error_reply(State, connection_closed),
++ State
+ end.
+
+-do_connect(Host, Port, _Options, #state{is_ssl=true, ssl_options=SSLOptions}, Timeout) ->
++do_connect(Host, Port, Options, #state{is_ssl = true,
++ use_proxy = false,
++ ssl_options = SSLOptions},
++ Timeout) ->
++ Caller_socket_options = get_value(socket_options, Options, []),
++ Other_sock_options = filter_sock_options(SSLOptions ++ Caller_socket_options),
+ ssl:connect(Host, Port,
+- [binary, {nodelay, true}, {active, false} | SSLOptions],
+- Timeout);
+-do_connect(Host, Port, _Options, _State, Timeout) ->
+- gen_tcp:connect(Host, Port,
+- [binary, {nodelay, true}, {active, false}],
+- Timeout).
+-
++ [binary, {nodelay, true}, {active, false} | Other_sock_options],
++ Timeout);
++do_connect(Host, Port, Options, _State, Timeout) ->
++ Caller_socket_options = get_value(socket_options, Options, []),
++ Other_sock_options = filter_sock_options(Caller_socket_options),
++ gen_tcp:connect(Host, to_integer(Port),
++ [binary, {nodelay, true}, {active, false} | Other_sock_options],
++ Timeout).
++
++%% We don't want the caller to specify certain options
++filter_sock_options(Opts) ->
++ lists:filter(fun({active, _}) ->
++ false;
++ ({packet, _}) ->
++ false;
++ (list) ->
++ false;
++ (_) ->
++ true
++ end, Opts).
++
++do_send(Req, #state{socket = Sock,
++ is_ssl = true,
++ use_proxy = true,
++ proxy_tunnel_setup = Pts}) when Pts /= done -> gen_tcp:send(Sock, Req);
+ do_send(Req, #state{socket = Sock, is_ssl = true}) -> ssl:send(Sock, Req);
+ do_send(Req, #state{socket = Sock, is_ssl = false}) -> gen_tcp:send(Sock, Req).
+
+@@ -450,261 +481,328 @@ do_send_body(Body, State) ->
+
+ do_send_body1(Source, Resp, State) ->
+ case Resp of
+- {ok, Data} ->
+- do_send(Data, State),
+- do_send_body({Source}, State);
+- {ok, Data, New_source_state} ->
+- do_send(Data, State),
+- do_send_body({Source, New_source_state}, State);
+- eof ->
+- ok;
+- Err ->
+- Err
++ {ok, Data} ->
++ do_send(Data, State),
++ do_send_body({Source}, State);
++ {ok, Data, New_source_state} ->
++ do_send(Data, State),
++ do_send_body({Source, New_source_state}, State);
++ eof ->
++ ok;
++ Err ->
++ Err
+ end.
+
+ do_close(#state{socket = undefined}) -> ok;
++do_close(#state{socket = Sock,
++ is_ssl = true,
++ use_proxy = true,
++ proxy_tunnel_setup = Pts
++ }) when Pts /= done -> gen_tcp:close(Sock);
+ do_close(#state{socket = Sock, is_ssl = true}) -> ssl:close(Sock);
+ do_close(#state{socket = Sock, is_ssl = false}) -> gen_tcp:close(Sock).
+
+ active_once(#state{cur_req = #request{caller_controls_socket = true}}) ->
+ ok;
+-active_once(#state{socket = Socket, is_ssl = Is_ssl}) ->
+- do_setopts(Socket, [{active, once}], Is_ssl).
++active_once(#state{socket = Socket} = State) ->
++ do_setopts(Socket, [{active, once}], State).
+
+-do_setopts(Sock, Opts, true) -> ssl:setopts(Sock, Opts);
+-do_setopts(Sock, Opts, false) -> inet:setopts(Sock, Opts).
++do_setopts(_Sock, [], _) -> ok;
++do_setopts(Sock, Opts, #state{is_ssl = true,
++ use_proxy = true,
++ proxy_tunnel_setup = Pts}
++ ) when Pts /= done -> inet:setopts(Sock, Opts);
++do_setopts(Sock, Opts, #state{is_ssl = true}) -> ssl:setopts(Sock, Opts);
++do_setopts(Sock, Opts, _) -> inet:setopts(Sock, Opts).
+
+ check_ssl_options(Options, State) ->
+ case get_value(is_ssl, Options, false) of
+- false ->
+- State;
+- true ->
+- State#state{is_ssl=true, ssl_options=get_value(ssl_options, Options)}
++ false ->
++ State;
++ true ->
++ State#state{is_ssl=true, ssl_options=get_value(ssl_options, Options)}
+ end.
+
+ send_req_1(From,
+- #url{host = Host,
+- port = Port} = Url,
+- Headers, Method, Body, Options, Timeout,
+- #state{socket = undefined} = State) ->
++ #url{host = Host,
++ port = Port} = Url,
++ Headers, Method, Body, Options, Timeout,
++ #state{socket = undefined} = State) ->
+ {Host_1, Port_1, State_1} =
+- case get_value(proxy_host, Options, false) of
+- false ->
+- {Host, Port, State};
+- PHost ->
+- ProxyUser = get_value(proxy_user, Options, []),
+- ProxyPassword = get_value(proxy_password, Options, []),
+- Digest = http_auth_digest(ProxyUser, ProxyPassword),
+- {PHost, get_value(proxy_port, Options, 80),
+- State#state{use_proxy = true,
+- proxy_auth_digest = Digest}}
+- end,
++ case get_value(proxy_host, Options, false) of
++ false ->
++ {Host, Port, State};
++ PHost ->
++ ProxyUser = get_value(proxy_user, Options, []),
++ ProxyPassword = get_value(proxy_password, Options, []),
++ Digest = http_auth_digest(ProxyUser, ProxyPassword),
++ {PHost, get_value(proxy_port, Options, 80),
++ State#state{use_proxy = true,
++ proxy_auth_digest = Digest}}
++ end,
+ State_2 = check_ssl_options(Options, State_1),
+ do_trace("Connecting...~n", []),
+ Start_ts = now(),
+ Conn_timeout = get_value(connect_timeout, Options, Timeout),
+ case do_connect(Host_1, Port_1, Options, State_2, Conn_timeout) of
+- {ok, Sock} ->
+- do_trace("Connected!~n", []),
+- End_ts = now(),
+- Timeout_1 = case Timeout of
+- infinity ->
+- infinity;
+- _ ->
+- Timeout - trunc(round(timer:now_diff(End_ts, Start_ts) / 1000))
+- end,
+- State_3 = State_2#state{socket = Sock},
+- send_req_1(From, Url, Headers, Method, Body, Options, Timeout_1, State_3);
+- Err ->
+- shutting_down(State_2),
+- do_trace("Error connecting. Reason: ~1000.p~n", [Err]),
+- gen_server:reply(From, {error, conn_failed}),
+- {stop, normal, State_2}
++ {ok, Sock} ->
++ do_trace("Connected!~n", []),
++ End_ts = now(),
++ Timeout_1 = case Timeout of
++ infinity ->
++ infinity;
++ _ ->
++ Timeout - trunc(round(timer:now_diff(End_ts, Start_ts) / 1000))
++ end,
++ State_3 = State_2#state{socket = Sock,
++ connect_timeout = Conn_timeout},
++ send_req_1(From, Url, Headers, Method, Body, Options, Timeout_1, State_3);
++ Err ->
++ shutting_down(State_2),
++ do_trace("Error connecting. Reason: ~1000.p~n", [Err]),
++ gen_server:reply(From, {error, conn_failed}),
++ {stop, normal, State_2}
+ end;
++
++%% Send a CONNECT request.
++%% Wait for 200 OK
++%% Upgrade to SSL connection
++%% Then send request
++
+ send_req_1(From,
+- #url{abspath = AbsPath,
+- host = Host,
+- port = Port,
+- path = RelPath} = Url,
+- Headers, Method, Body, Options, Timeout,
+- #state{status = Status} = State) ->
++ #url{
++ host = Server_host,
++ port = Server_port
++ } = Url,
++ Headers, Method, Body, Options, Timeout,
++ #state{
++ proxy_tunnel_setup = false,
++ use_proxy = true,
++ is_ssl = true} = State) ->
++ NewReq = #request{
++ method = connect,
++ options = Options
++ },
++ State_1 = State#state{reqs=queue:in(NewReq, State#state.reqs)},
++ Pxy_auth_headers = maybe_modify_headers(Url, Method, Options, [], State_1),
++ Path = [Server_host, $:, integer_to_list(Server_port)],
++ {Req, Body_1} = make_request(connect, Pxy_auth_headers,
++ Path, Path,
++ [], Options, State_1),
++ trace_request(Req),
++ case do_send(Req, State) of
++ ok ->
++ case do_send_body(Body_1, State_1) of
++ ok ->
++ active_once(State_1),
++ Ref = case Timeout of
++ infinity ->
++ undefined;
++ _ ->
++ erlang:send_after(Timeout, self(), {req_timedout, From})
++ end,
++ State_2 = State_1#state{status = get_header,
++ cur_req = NewReq,
++ send_timer = Ref,
++ proxy_tunnel_setup = in_progress,
++ tunnel_setup_queue = [{From, Url, Headers, Method, Body, Options, Timeout}]},
++ set_inac_timer(State_1),
++ {noreply, State_2};
++ Err ->
++ shutting_down(State_1),
++ do_trace("Send failed... Reason: ~p~n", [Err]),
++ gen_server:reply(From, {error, send_failed}),
++ {stop, normal, State_1}
++ end;
++ Err ->
++ shutting_down(State_1),
++ do_trace("Send failed... Reason: ~p~n", [Err]),
++ gen_server:reply(From, {error, send_failed}),
++ {stop, normal, State_1}
++ end;
++
++send_req_1(From, Url, Headers, Method, Body, Options, Timeout,
++ #state{proxy_tunnel_setup = in_progress,
++ tunnel_setup_queue = Q} = State) ->
++ do_trace("Queued SSL request awaiting tunnel setup: ~n"
++ "URL : ~s~n"
++ "Method : ~p~n"
++ "Headers : ~p~n", [Url, Method, Headers]),
++ {noreply, State#state{tunnel_setup_queue = [{From, Url, Headers, Method, Body, Options, Timeout} | Q]}};
++
++send_req_1(From,
++ #url{abspath = AbsPath,
++ path = RelPath} = Url,
++ Headers, Method, Body, Options, Timeout,
++ #state{status = Status,
++ socket = Socket,
++ is_ssl = Is_ssl} = State) ->
+ ReqId = make_req_id(),
+ Resp_format = get_value(response_format, Options, list),
++ Caller_socket_options = get_value(socket_options, Options, []),
+ {StreamTo, Caller_controls_socket} =
+- case get_value(stream_to, Options, undefined) of
+- {Caller, once} when is_pid(Caller) or
+- is_atom(Caller) ->
+- Async_pid_rec = {{req_id_pid, ReqId}, self()},
+- true = ets:insert(ibrowse_stream, Async_pid_rec),
+- {Caller, true};
+- undefined ->
+- {undefined, false};
+- Caller when is_pid(Caller) or
+- is_atom(Caller) ->
+- {Caller, false};
+- Stream_to_inv ->
+- exit({invalid_option, {stream_to, Stream_to_inv}})
+- end,
++ case get_value(stream_to, Options, undefined) of
++ {Caller, once} when is_pid(Caller) or
++ is_atom(Caller) ->
++ Async_pid_rec = {{req_id_pid, ReqId}, self()},
++ true = ets:insert(ibrowse_stream, Async_pid_rec),
++ {Caller, true};
++ undefined ->
++ {undefined, false};
++ Caller when is_pid(Caller) or
++ is_atom(Caller) ->
++ {Caller, false};
++ Stream_to_inv ->
++ exit({invalid_option, {stream_to, Stream_to_inv}})
++ end,
+ SaveResponseToFile = get_value(save_response_to_file, Options, false),
+ NewReq = #request{url = Url,
+- method = Method,
+- stream_to = StreamTo,
+- caller_controls_socket = Caller_controls_socket,
+- options = Options,
+- req_id = ReqId,
+- save_response_to_file = SaveResponseToFile,
+- stream_chunk_size = get_stream_chunk_size(Options),
+- response_format = Resp_format,
+- from = From},
++ method = Method,
++ stream_to = StreamTo,
++ caller_controls_socket = Caller_controls_socket,
++ caller_socket_options = Caller_socket_options,
++ options = Options,
++ req_id = ReqId,
++ save_response_to_file = SaveResponseToFile,
++ stream_chunk_size = get_stream_chunk_size(Options),
++ response_format = Resp_format,
++ from = From},
+ State_1 = State#state{reqs=queue:in(NewReq, State#state.reqs)},
+- Headers_1 = add_auth_headers(Url, Options, Headers, State),
+- HostHeaderValue = case lists:keysearch(host_header, 1, Options) of
+- false ->
+- case Port of
+- 80 -> Host;
+- _ -> [Host, ":", integer_to_list(Port)]
+- end;
+- {value, {_, Host_h_val}} ->
+- Host_h_val
+- end,
++ Headers_1 = maybe_modify_headers(Url, Method, Options, Headers, State_1),
+ {Req, Body_1} = make_request(Method,
+- [{"Host", HostHeaderValue} | Headers_1],
+- AbsPath, RelPath, Body, Options, State#state.use_proxy),
+- case get(my_trace_flag) of
+- true ->
+- %%Avoid the binary operations if trace is not on...
+- NReq = binary_to_list(list_to_binary(Req)),
+- do_trace("Sending request: ~n"
+- "--- Request Begin ---~n~s~n"
+- "--- Request End ---~n", [NReq]);
+- _ -> ok
+- end,
+- case do_send(Req, State) of
+- ok ->
+- case do_send_body(Body_1, State) of
+- ok ->
+- State_2 = inc_pipeline_counter(State_1),
+- active_once(State_1),
+- Ref = case Timeout of
+- infinity ->
+- undefined;
+- _ ->
+- erlang:send_after(Timeout, self(), {req_timedout, From})
+- end,
+- State_3 = case Status of
+- idle ->
+- State_2#state{status = get_header,
+- cur_req = NewReq,
+- send_timer = Ref};
+- _ ->
+- State_2#state{send_timer = Ref}
+- end,
+- case StreamTo of
+- undefined ->
+- ok;
+- _ ->
+- gen_server:reply(From, {ibrowse_req_id, ReqId})
+- end,
+- {noreply, State_3, get_inac_timeout(State_3)};
+- Err ->
+- shutting_down(State_1),
+- do_trace("Send failed... Reason: ~p~n", [Err]),
+- gen_server:reply(From, {error, send_failed}),
+- {stop, normal, State_1}
+- end;
+- Err ->
+- shutting_down(State_1),
+- do_trace("Send failed... Reason: ~p~n", [Err]),
+- gen_server:reply(From, {error, send_failed}),
+- {stop, normal, State_1}
++ Headers_1,
++ AbsPath, RelPath, Body, Options, State_1),
++ trace_request(Req),
++ do_setopts(Socket, Caller_socket_options, Is_ssl),
++ case do_send(Req, State_1) of
++ ok ->
++ case do_send_body(Body_1, State_1) of
++ ok ->
++ State_2 = inc_pipeline_counter(State_1),
++ active_once(State_2),
++ Ref = case Timeout of
++ infinity ->
++ undefined;
++ _ ->
++ erlang:send_after(Timeout, self(), {req_timedout, From})
++ end,
++ State_3 = case Status of
++ idle ->
++ State_2#state{status = get_header,
++ cur_req = NewReq,
++ send_timer = Ref};
++ _ ->
++ State_2#state{send_timer = Ref}
++ end,
++ case StreamTo of
++ undefined ->
++ ok;
++ _ ->
++ gen_server:reply(From, {ibrowse_req_id, ReqId})
++ end,
++ set_inac_timer(State_1),
++ {noreply, State_3};
++ Err ->
++ shutting_down(State_1),
++ do_trace("Send failed... Reason: ~p~n", [Err]),
++ gen_server:reply(From, {error, send_failed}),
++ {stop, normal, State_1}
++ end;
++ Err ->
++ shutting_down(State_1),
++ do_trace("Send failed... Reason: ~p~n", [Err]),
++ gen_server:reply(From, {error, send_failed}),
++ {stop, normal, State_1}
++ end.
++
++maybe_modify_headers(#url{}, connect, _, Headers, State) ->
++ add_proxy_auth_headers(State, Headers);
++maybe_modify_headers(#url{host = Host, port = Port} = Url,
++ _Method,
++ Options, Headers, State) ->
++ case get_value(headers_as_is, Options, false) of
++ false ->
++ Headers_1 = add_auth_headers(Url, Options, Headers, State),
++ HostHeaderValue = case lists:keysearch(host_header, 1, Options) of
++ false ->
++ case Port of
++ 80 -> Host;
++ _ -> [Host, ":", integer_to_list(Port)]
++ end;
++ {value, {_, Host_h_val}} ->
++ Host_h_val
++ end,
++ [{"Host", HostHeaderValue} | Headers_1];
++ true ->
++ Headers
+ end.
+
+ add_auth_headers(#url{username = User,
+- password = UPw},
+- Options,
+- Headers,
+- #state{use_proxy = UseProxy,
+- proxy_auth_digest = ProxyAuthDigest}) ->
++ password = UPw},
++ Options,
++ Headers,
++ State) ->
+ Headers_1 = case User of
+- undefined ->
+- case get_value(basic_auth, Options, undefined) of
+- undefined ->
+- Headers;
+- {U,P} ->
+- [{"Authorization", ["Basic ", http_auth_digest(U, P)]} | Headers]
+- end;
+- _ ->
+- [{"Authorization", ["Basic ", http_auth_digest(User, UPw)]} | Headers]
+- end,
+- case UseProxy of
+- false ->
+- Headers_1;
+- true when ProxyAuthDigest == [] ->
+- Headers_1;
+- true ->
+- [{"Proxy-Authorization", ["Basic ", ProxyAuthDigest]} | Headers_1]
+- end.
++ undefined ->
++ case get_value(basic_auth, Options, undefined) of
++ undefined ->
++ Headers;
++ {U,P} ->
++ [{"Authorization", ["Basic ", http_auth_digest(U, P)]} | Headers]
++ end;
++ _ ->
++ [{"Authorization", ["Basic ", http_auth_digest(User, UPw)]} | Headers]
++ end,
++ add_proxy_auth_headers(State, Headers_1).
++
++add_proxy_auth_headers(#state{use_proxy = false}, Headers) ->
++ Headers;
++add_proxy_auth_headers(#state{proxy_auth_digest = []}, Headers) ->
++ Headers;
++add_proxy_auth_headers(#state{proxy_auth_digest = Auth_digest}, Headers) ->
++ [{"Proxy-Authorization", ["Basic ", Auth_digest]} | Headers].
+
+ http_auth_digest([], []) ->
+ [];
+ http_auth_digest(Username, Password) ->
+- encode_base64(Username ++ [$: | Password]).
++ ibrowse_lib:encode_base64(Username ++ [$: | Password]).
+
+-encode_base64([]) ->
+- [];
+-encode_base64([A]) ->
+- [e(A bsr 2), e((A band 3) bsl 4), $=, $=];
+-encode_base64([A,B]) ->
+- [e(A bsr 2), e(((A band 3) bsl 4) bor (B bsr 4)), e((B band 15) bsl 2), $=];
+-encode_base64([A,B,C|Ls]) ->
+- encode_base64_do(A,B,C, Ls).
+-encode_base64_do(A,B,C, Rest) ->
+- BB = (A bsl 16) bor (B bsl 8) bor C,
+- [e(BB bsr 18), e((BB bsr 12) band 63),
+- e((BB bsr 6) band 63), e(BB band 63)|encode_base64(Rest)].
+-
+-e(X) when X >= 0, X < 26 -> X+65;
+-e(X) when X>25, X<52 -> X+71;
+-e(X) when X>51, X<62 -> X-4;
+-e(62) -> $+;
+-e(63) -> $/;
+-e(X) -> exit({bad_encode_base64_token, X}).
+-
+-make_request(Method, Headers, AbsPath, RelPath, Body, Options, UseProxy) ->
++make_request(Method, Headers, AbsPath, RelPath, Body, Options,
++ #state{use_proxy = UseProxy}) ->
+ HttpVsn = http_vsn_string(get_value(http_vsn, Options, {1,1})),
+ Headers_1 =
+- case get_value(content_length, Headers, false) of
+- false when (Body == []) or
+- (Body == <<>>) or
+- is_tuple(Body) or
+- is_function(Body) ->
+- Headers;
+- false when is_binary(Body) ->
+- [{"content-length", integer_to_list(size(Body))} | Headers];
+- false ->
+- [{"content-length", integer_to_list(length(Body))} | Headers];
+- _ ->
+- Headers
+- end,
++ case get_value(content_length, Headers, false) of
++ false when (Body == []) or
++ (Body == <<>>) or
++ is_tuple(Body) or
++ is_function(Body) ->
++ Headers;
++ false when is_binary(Body) ->
++ [{"content-length", integer_to_list(size(Body))} | Headers];
++ false ->
++ [{"content-length", integer_to_list(length(Body))} | Headers];
++ _ ->
++ Headers
++ end,
+ {Headers_2, Body_1} =
+- case get_value(transfer_encoding, Options, false) of
+- false ->
+- {Headers_1, Body};
+- {chunked, ChunkSize} ->
+- {[{X, Y} || {X, Y} <- Headers_1,
+- X /= "Content-Length",
+- X /= "content-length",
+- X /= content_length] ++
+- [{"Transfer-Encoding", "chunked"}],
+- chunk_request_body(Body, ChunkSize)}
+- end,
++ case get_value(transfer_encoding, Options, false) of
++ false ->
++ {Headers_1, Body};
++ {chunked, ChunkSize} ->
++ {[{X, Y} || {X, Y} <- Headers_1,
++ X /= "Content-Length",
++ X /= "content-length",
++ X /= content_length] ++
++ [{"Transfer-Encoding", "chunked"}],
++ chunk_request_body(Body, ChunkSize)}
++ end,
+ Headers_3 = cons_headers(Headers_2),
+ Uri = case get_value(use_absolute_uri, Options, false) or UseProxy of
+- true ->
+- AbsPath;
+- false ->
+- RelPath
+- end,
++ true ->
++ AbsPath;
++ false ->
++ RelPath
++ end,
+ {[method(Method), " ", Uri, " ", HttpVsn, crnl(), Headers_3, crnl()], Body_1}.
+
+ http_vsn_string({0,9}) -> "HTTP/0.9";
+@@ -717,7 +815,7 @@ cons_headers([], Acc) ->
+ encode_headers(Acc);
+ cons_headers([{basic_auth, {U,P}} | T], Acc) ->
+ cons_headers(T, [{"Authorization",
+- ["Basic ", ibrowse_lib:encode_base64(U++":"++P)]} | Acc]);
++ ["Basic ", ibrowse_lib:encode_base64(U++":"++P)]} | Acc]);
+ cons_headers([{cookie, Cookie} | T], Acc) ->
+ cons_headers(T, [{"Cookie", Cookie} | Acc]);
+ cons_headers([{content_length, L} | T], Acc) ->
+@@ -748,24 +846,23 @@ chunk_request_body(Body, ChunkSize, Acc) when is_binary(Body),
+ size(Body) >= ChunkSize ->
+ <> = Body,
+ Chunk = [ibrowse_lib:dec2hex(4, ChunkSize),"\r\n",
+- ChunkBody, "\r\n"],
++ ChunkBody, "\r\n"],
+ chunk_request_body(Rest, ChunkSize, [Chunk | Acc]);
+ chunk_request_body(Body, _ChunkSize, Acc) when is_binary(Body) ->
+ BodySize = size(Body),
+ Chunk = [ibrowse_lib:dec2hex(4, BodySize),"\r\n",
+- Body, "\r\n"],
++ Body, "\r\n"],
+ LastChunk = "0\r\n",
+ lists:reverse(["\r\n", LastChunk, Chunk | Acc]);
+-chunk_request_body(Body, ChunkSize, Acc) when is_list(Body),
+- length(Body) >= ChunkSize ->
++chunk_request_body(Body, ChunkSize, Acc) when length(Body) >= ChunkSize ->
+ {ChunkBody, Rest} = split_list_at(Body, ChunkSize),
+ Chunk = [ibrowse_lib:dec2hex(4, ChunkSize),"\r\n",
+- ChunkBody, "\r\n"],
++ ChunkBody, "\r\n"],
+ chunk_request_body(Rest, ChunkSize, [Chunk | Acc]);
+ chunk_request_body(Body, _ChunkSize, Acc) when is_list(Body) ->
+ BodySize = length(Body),
+ Chunk = [ibrowse_lib:dec2hex(4, BodySize),"\r\n",
+- Body, "\r\n"],
++ Body, "\r\n"],
+ LastChunk = "0\r\n",
+ lists:reverse(["\r\n", LastChunk, Chunk | Acc]).
+
+@@ -773,114 +870,172 @@ chunk_request_body(Body, _ChunkSize, Acc) when is_list(Body) ->
+ parse_response(_Data, #state{cur_req = undefined}=State) ->
+ State#state{status = idle};
+ parse_response(Data, #state{reply_buffer = Acc, reqs = Reqs,
+- cur_req = CurReq} = State) ->
++ cur_req = CurReq} = State) ->
+ #request{from=From, stream_to=StreamTo, req_id=ReqId,
+- method=Method, response_format = Resp_format} = CurReq,
++ method=Method, response_format = Resp_format,
++ options = Options
++ } = CurReq,
+ MaxHeaderSize = ibrowse:get_config_value(max_headers_size, infinity),
+ case scan_header(Acc, Data) of
+- {yes, Headers, Data_1} ->
+- do_trace("Recvd Header Data -> ~s~n----~n", [Headers]),
+- do_trace("Recvd headers~n--- Headers Begin ---~n~s~n--- Headers End ---~n~n", [Headers]),
+- {HttpVsn, StatCode, Headers_1} = parse_headers(Headers),
+- do_trace("HttpVsn: ~p StatusCode: ~p Headers_1 -> ~1000.p~n", [HttpVsn, StatCode, Headers_1]),
+- LCHeaders = [{to_lower(X), Y} || {X,Y} <- Headers_1],
+- ConnClose = to_lower(get_value("connection", LCHeaders, "false")),
+- IsClosing = is_connection_closing(HttpVsn, ConnClose),
+- case IsClosing of
+- true ->
++ {yes, Headers, Data_1} ->
++ do_trace("Recvd Header Data -> ~s~n----~n", [Headers]),
++ do_trace("Recvd headers~n--- Headers Begin ---~n~s~n--- Headers End ---~n~n", [Headers]),
++ {HttpVsn, StatCode, Headers_1, Status_line, Raw_headers} = parse_headers(Headers),
++ do_trace("HttpVsn: ~p StatusCode: ~p Headers_1 -> ~1000.p~n", [HttpVsn, StatCode, Headers_1]),
++ LCHeaders = [{to_lower(X), Y} || {X,Y} <- Headers_1],
++ ConnClose = to_lower(get_value("connection", LCHeaders, "false")),
++ IsClosing = is_connection_closing(HttpVsn, ConnClose),
++ case IsClosing of
++ true ->
+ shutting_down(State);
+- false ->
+- ok
+- end,
+- State_1 = State#state{recvd_headers=Headers_1, status=get_body,
+- reply_buffer = <<>>,
+- http_status_code=StatCode, is_closing=IsClosing},
+- put(conn_close, ConnClose),
+- TransferEncoding = to_lower(get_value("transfer-encoding", LCHeaders, "false")),
+- case get_value("content-length", LCHeaders, undefined) of
+- _ when Method == head ->
+- {_, Reqs_1} = queue:out(Reqs),
+- send_async_headers(ReqId, StreamTo, StatCode, Headers_1),
+- State_1_1 = do_reply(State_1, From, StreamTo, ReqId, Resp_format,
+- {ok, StatCode, Headers_1, []}),
+- cancel_timer(State_1_1#state.send_timer, {eat_message, {req_timedout, From}}),
+- State_2 = reset_state(State_1_1),
+- State_3 = set_cur_request(State_2#state{reqs = Reqs_1}),
+- parse_response(Data_1, State_3);
+- _ when hd(StatCode) == $1 ->
+- %% No message body is expected. Server may send
+- %% one or more 1XX responses before a proper
+- %% response.
+- send_async_headers(ReqId, StreamTo, StatCode, Headers_1),
+- do_trace("Recvd a status code of ~p. Ignoring and waiting for a proper response~n", [StatCode]),
+- parse_response(Data_1, State_1#state{recvd_headers = [],
+- status = get_header});
+- _ when StatCode == "204";
+- StatCode == "304" ->
+- %% No message body is expected for these Status Codes.
+- %% RFC2616 - Sec 4.4
+- {_, Reqs_1} = queue:out(Reqs),
+- send_async_headers(ReqId, StreamTo, StatCode, Headers_1),
+- State_1_1 = do_reply(State_1, From, StreamTo, ReqId, Resp_format,
+- {ok, StatCode, Headers_1, []}),
+- cancel_timer(State_1_1#state.send_timer, {eat_message, {req_timedout, From}}),
+- State_2 = reset_state(State_1_1),
+- State_3 = set_cur_request(State_2#state{reqs = Reqs_1}),
+- parse_response(Data_1, State_3);
+- _ when TransferEncoding == "chunked" ->
+- do_trace("Chunked encoding detected...~n",[]),
+- send_async_headers(ReqId, StreamTo, StatCode, Headers_1),
+- case parse_11_response(Data_1, State_1#state{transfer_encoding=chunked,
+- chunk_size=chunk_start,
+- reply_buffer = <<>>}) of
+- {error, Reason} ->
+- fail_pipelined_requests(State_1,
+- {error, {Reason,
+- {stat_code, StatCode}, Headers_1}}),
+- {error, Reason};
+- State_2 ->
+- State_2
+- end;
+- undefined when HttpVsn == "HTTP/1.0";
+- ConnClose == "close" ->
+- send_async_headers(ReqId, StreamTo, StatCode, Headers_1),
+- State_1#state{reply_buffer = Data_1};
+- undefined ->
+- fail_pipelined_requests(State_1,
+- {error, {content_length_undefined,
+- {stat_code, StatCode}, Headers}}),
+- {error, content_length_undefined};
+- V ->
+- case catch list_to_integer(V) of
+- V_1 when is_integer(V_1), V_1 >= 0 ->
+- send_async_headers(ReqId, StreamTo, StatCode, Headers_1),
+- do_trace("Recvd Content-Length of ~p~n", [V_1]),
+- State_2 = State_1#state{rep_buf_size=0,
+- reply_buffer = <<>>,
+- content_length=V_1},
+- case parse_11_response(Data_1, State_2) of
+- {error, Reason} ->
+- fail_pipelined_requests(State_1,
+- {error, {Reason,
+- {stat_code, StatCode}, Headers_1}}),
+- {error, Reason};
+- State_3 ->
+- State_3
+- end;
+- _ ->
+- fail_pipelined_requests(State_1,
+- {error, {content_length_undefined,
+- {stat_code, StatCode}, Headers}}),
+- {error, content_length_undefined}
+- end
+- end;
+- {no, Acc_1} when MaxHeaderSize == infinity ->
+- State#state{reply_buffer = Acc_1};
+- {no, Acc_1} when size(Acc_1) < MaxHeaderSize ->
+- State#state{reply_buffer = Acc_1};
+- {no, _Acc_1} ->
+- fail_pipelined_requests(State, {error, max_headers_size_exceeded}),
+- {error, max_headers_size_exceeded}
++ false ->
++ ok
++ end,
++ Give_raw_headers = get_value(give_raw_headers, Options, false),
++ State_1 = case Give_raw_headers of
++ true ->
++ State#state{recvd_headers=Headers_1, status=get_body,
++ reply_buffer = <<>>,
++ status_line = Status_line,
++ raw_headers = Raw_headers,
++ http_status_code=StatCode, is_closing=IsClosing};
++ false ->
++ State#state{recvd_headers=Headers_1, status=get_body,
++ reply_buffer = <<>>,
++ http_status_code=StatCode, is_closing=IsClosing}
++ end,
++ put(conn_close, ConnClose),
++ TransferEncoding = to_lower(get_value("transfer-encoding", LCHeaders, "false")),
++ case get_value("content-length", LCHeaders, undefined) of
++ _ when Method == connect,
++ hd(StatCode) == $2 ->
++ cancel_timer(State#state.send_timer),
++ {_, Reqs_1} = queue:out(Reqs),
++ upgrade_to_ssl(set_cur_request(State#state{reqs = Reqs_1,
++ recvd_headers = [],
++ status = idle
++ }));
++ _ when Method == connect ->
++ {_, Reqs_1} = queue:out(Reqs),
++ do_error_reply(State#state{reqs = Reqs_1},
++ {error, proxy_tunnel_failed}),
++ {error, proxy_tunnel_failed};
++ _ when Method == head ->
++ {_, Reqs_1} = queue:out(Reqs),
++ send_async_headers(ReqId, StreamTo, Give_raw_headers, State_1),
++ State_1_1 = do_reply(State_1, From, StreamTo, ReqId, Resp_format,
++ {ok, StatCode, Headers_1, []}),
++ cancel_timer(State_1_1#state.send_timer, {eat_message, {req_timedout, From}}),
++ State_2 = reset_state(State_1_1),
++ State_3 = set_cur_request(State_2#state{reqs = Reqs_1}),
++ parse_response(Data_1, State_3);
++ _ when hd(StatCode) =:= $1 ->
++ %% No message body is expected. Server may send
++ %% one or more 1XX responses before a proper
++ %% response.
++ send_async_headers(ReqId, StreamTo, Give_raw_headers, State_1),
++ do_trace("Recvd a status code of ~p. Ignoring and waiting for a proper response~n", [StatCode]),
++ parse_response(Data_1, State_1#state{recvd_headers = [],
++ status = get_header});
++ _ when StatCode =:= "204";
++ StatCode =:= "304" ->
++ %% No message body is expected for these Status Codes.
++ %% RFC2616 - Sec 4.4
++ {_, Reqs_1} = queue:out(Reqs),
++ send_async_headers(ReqId, StreamTo, Give_raw_headers, State_1),
++ State_1_1 = do_reply(State_1, From, StreamTo, ReqId, Resp_format,
++ {ok, StatCode, Headers_1, []}),
++ cancel_timer(State_1_1#state.send_timer, {eat_message, {req_timedout, From}}),
++ State_2 = reset_state(State_1_1),
++ State_3 = set_cur_request(State_2#state{reqs = Reqs_1}),
++ parse_response(Data_1, State_3);
++ _ when TransferEncoding =:= "chunked" ->
++ do_trace("Chunked encoding detected...~n",[]),
++ send_async_headers(ReqId, StreamTo, Give_raw_headers, State_1),
++ case parse_11_response(Data_1, State_1#state{transfer_encoding=chunked,
++ chunk_size=chunk_start,
++ reply_buffer = <<>>}) of
++ {error, Reason} ->
++ fail_pipelined_requests(State_1,
++ {error, {Reason,
++ {stat_code, StatCode}, Headers_1}}),
++ {error, Reason};
++ State_2 ->
++ State_2
++ end;
++ undefined when HttpVsn =:= "HTTP/1.0";
++ ConnClose =:= "close" ->
++ send_async_headers(ReqId, StreamTo, Give_raw_headers, State_1),
++ State_1#state{reply_buffer = Data_1};
++ undefined ->
++ fail_pipelined_requests(State_1,
++ {error, {content_length_undefined,
++ {stat_code, StatCode}, Headers}}),
++ {error, content_length_undefined};
++ V ->
++ case catch list_to_integer(V) of
++ V_1 when is_integer(V_1), V_1 >= 0 ->
++ send_async_headers(ReqId, StreamTo, Give_raw_headers, State_1),
++ do_trace("Recvd Content-Length of ~p~n", [V_1]),
++ State_2 = State_1#state{rep_buf_size=0,
++ reply_buffer = <<>>,
++ content_length=V_1},
++ case parse_11_response(Data_1, State_2) of
++ {error, Reason} ->
++ fail_pipelined_requests(State_1,
++ {error, {Reason,
++ {stat_code, StatCode}, Headers_1}}),
++ {error, Reason};
++ State_3 ->
++ State_3
++ end;
++ _ ->
++ fail_pipelined_requests(State_1,
++ {error, {content_length_undefined,
++ {stat_code, StatCode}, Headers}}),
++ {error, content_length_undefined}
++ end
++ end;
++ {no, Acc_1} when MaxHeaderSize == infinity ->
++ State#state{reply_buffer = Acc_1};
++ {no, Acc_1} when size(Acc_1) < MaxHeaderSize ->
++ State#state{reply_buffer = Acc_1};
++ {no, _Acc_1} ->
++ fail_pipelined_requests(State, {error, max_headers_size_exceeded}),
++ {error, max_headers_size_exceeded}
++ end.
++
++upgrade_to_ssl(#state{socket = Socket,
++ connect_timeout = Conn_timeout,
++ ssl_options = Ssl_options,
++ tunnel_setup_queue = Q} = State) ->
++ case ssl:connect(Socket, Ssl_options, Conn_timeout) of
++ {ok, Ssl_socket} ->
++ do_trace("Upgraded to SSL socket!!~n", []),
++ State_1 = State#state{socket = Ssl_socket,
++ proxy_tunnel_setup = done},
++ send_queued_requests(lists:reverse(Q), State_1);
++ Err ->
++ do_trace("Upgrade to SSL socket failed. Reson: ~p~n", [Err]),
++ do_error_reply(State, {error, send_failed}),
++ {error, send_failed}
++ end.
++
++send_queued_requests([], State) ->
++ do_trace("Sent all queued requests via SSL connection~n", []),
++ State#state{tunnel_setup_queue = done};
++send_queued_requests([{From, Url, Headers, Method, Body, Options, Timeout} | Q],
++ State) ->
++ case send_req_1(From, Url, Headers, Method, Body, Options, Timeout, State) of
++ {noreply, State_1} ->
++ send_queued_requests(Q, State_1);
++ _ ->
++ do_trace("Error sending queued SSL request: ~n"
++ "URL : ~s~n"
++ "Method : ~p~n"
++ "Headers : ~p~n", [Url, Method, Headers]),
++ do_error_reply(State, {error, send_failed}),
++ {error, send_failed}
+ end.
+
+ is_connection_closing("HTTP/0.9", _) -> true;
+@@ -890,200 +1045,215 @@ is_connection_closing(_, _) -> false.
+
+ %% This clause determines the chunk size when given data from the beginning of the chunk
+ parse_11_response(DataRecvd,
+- #state{transfer_encoding = chunked,
+- chunk_size = chunk_start,
+- chunk_size_buffer = Chunk_sz_buf
+- } = State) ->
++ #state{transfer_encoding = chunked,
++ chunk_size = chunk_start,
++ chunk_size_buffer = Chunk_sz_buf
++ } = State) ->
+ case scan_crlf(Chunk_sz_buf, DataRecvd) of
+- {yes, ChunkHeader, Data_1} ->
+- case parse_chunk_header(ChunkHeader) of
+- {error, Reason} ->
+- {error, Reason};
+- ChunkSize ->
+- %%
+- %% Do we have to preserve the chunk encoding when
+- %% streaming? NO. This should be transparent to the client
+- %% process. Chunked encoding was only introduced to make
+- %% it efficient for the server.
+- %%
+- RemLen = size(Data_1),
+- do_trace("Determined chunk size: ~p. Already recvd: ~p~n", [ChunkSize, RemLen]),
+- parse_11_response(Data_1, State#state{chunk_size_buffer = <<>>,
+- deleted_crlf = true,
+- recvd_chunk_size = 0,
+- chunk_size = ChunkSize})
+- end;
+- {no, Data_1} ->
+- State#state{chunk_size_buffer = Data_1}
++ {yes, ChunkHeader, Data_1} ->
++ ChunkSize = parse_chunk_header(ChunkHeader),
++ %%
++ %% Do we have to preserve the chunk encoding when
++ %% streaming? NO. This should be transparent to the client
++ %% process. Chunked encoding was only introduced to make
++ %% it efficient for the server.
++ %%
++ RemLen = size(Data_1),
++ do_trace("Determined chunk size: ~p. Already recvd: ~p~n",
++ [ChunkSize, RemLen]),
++ parse_11_response(Data_1, State#state{chunk_size_buffer = <<>>,
++ deleted_crlf = true,
++ recvd_chunk_size = 0,
++ chunk_size = ChunkSize});
++ {no, Data_1} ->
++ State#state{chunk_size_buffer = Data_1}
+ end;
+
+ %% This clause is to remove the CRLF between two chunks
+ %%
+ parse_11_response(DataRecvd,
+- #state{transfer_encoding = chunked,
+- chunk_size = tbd,
+- chunk_size_buffer = Buf}=State) ->
++ #state{transfer_encoding = chunked,
++ chunk_size = tbd,
++ chunk_size_buffer = Buf}=State) ->
+ case scan_crlf(Buf, DataRecvd) of
+- {yes, _, NextChunk} ->
+- State_1 = State#state{chunk_size = chunk_start,
+- chunk_size_buffer = <<>>,
+- deleted_crlf = true},
+- parse_11_response(NextChunk, State_1);
+- {no, Data_1} ->
+- State#state{chunk_size_buffer = Data_1}
++ {yes, _, NextChunk} ->
++ State_1 = State#state{chunk_size = chunk_start,
++ chunk_size_buffer = <<>>,
++ deleted_crlf = true},
++ parse_11_response(NextChunk, State_1);
++ {no, Data_1} ->
++ State#state{chunk_size_buffer = Data_1}
+ end;
+
+ %% This clause deals with the end of a chunked transfer. ibrowse does
+ %% not support Trailers in the Chunked Transfer encoding. Any trailer
+ %% received is silently discarded.
+ parse_11_response(DataRecvd,
+- #state{transfer_encoding = chunked, chunk_size = 0,
+- cur_req = CurReq,
+- deleted_crlf = DelCrlf,
+- chunk_size_buffer = Trailer, reqs = Reqs}=State) ->
++ #state{transfer_encoding = chunked, chunk_size = 0,
++ cur_req = CurReq,
++ deleted_crlf = DelCrlf,
++ chunk_size_buffer = Trailer, reqs = Reqs}=State) ->
+ do_trace("Detected end of chunked transfer...~n", []),
+ DataRecvd_1 = case DelCrlf of
+- false ->
+- DataRecvd;
+- true ->
+- <<$\r, $\n, DataRecvd/binary>>
++ false ->
++ DataRecvd;
++ true ->
++ <<$\r, $\n, DataRecvd/binary>>
+ end,
+ case scan_header(Trailer, DataRecvd_1) of
+- {yes, _TEHeaders, Rem} ->
+- {_, Reqs_1} = queue:out(Reqs),
+- State_1 = handle_response(CurReq, State#state{reqs = Reqs_1}),
+- parse_response(Rem, reset_state(State_1));
+- {no, Rem} ->
+- State#state{chunk_size_buffer = Rem, deleted_crlf = false}
++ {yes, _TEHeaders, Rem} ->
++ {_, Reqs_1} = queue:out(Reqs),
++ State_1 = handle_response(CurReq, State#state{reqs = Reqs_1}),
++ parse_response(Rem, reset_state(State_1));
++ {no, Rem} ->
++ State#state{chunk_size_buffer = Rem, deleted_crlf = false}
+ end;
+
+ %% This clause extracts a chunk, given the size.
+ parse_11_response(DataRecvd,
+- #state{transfer_encoding = chunked,
+- chunk_size = CSz,
+- recvd_chunk_size = Recvd_csz,
+- rep_buf_size = RepBufSz} = State) ->
++ #state{transfer_encoding = chunked,
++ chunk_size = CSz,
++ recvd_chunk_size = Recvd_csz,
++ rep_buf_size = RepBufSz} = State) ->
+ NeedBytes = CSz - Recvd_csz,
+ DataLen = size(DataRecvd),
+ do_trace("Recvd more data: size: ~p. NeedBytes: ~p~n", [DataLen, NeedBytes]),
+ case DataLen >= NeedBytes of
+- true ->
+- {RemChunk, RemData} = split_binary(DataRecvd, NeedBytes),
+- do_trace("Recvd another chunk...~n", []),
+- do_trace("RemData -> ~p~n", [RemData]),
+- case accumulate_response(RemChunk, State) of
+- {error, Reason} ->
+- do_trace("Error accumulating response --> ~p~n", [Reason]),
+- {error, Reason};
+- #state{} = State_1 ->
+- State_2 = State_1#state{chunk_size=tbd},
+- parse_11_response(RemData, State_2)
+- end;
+- false ->
+- accumulate_response(DataRecvd,
+- State#state{rep_buf_size = RepBufSz + DataLen,
+- recvd_chunk_size = Recvd_csz + DataLen})
++ true ->
++ {RemChunk, RemData} = split_binary(DataRecvd, NeedBytes),
++ do_trace("Recvd another chunk...~n", []),
++ do_trace("RemData -> ~p~n", [RemData]),
++ case accumulate_response(RemChunk, State) of
++ {error, Reason} ->
++ do_trace("Error accumulating response --> ~p~n", [Reason]),
++ {error, Reason};
++ #state{} = State_1 ->
++ State_2 = State_1#state{chunk_size=tbd},
++ parse_11_response(RemData, State_2)
++ end;
++ false ->
++ accumulate_response(DataRecvd,
++ State#state{rep_buf_size = RepBufSz + DataLen,
++ recvd_chunk_size = Recvd_csz + DataLen})
+ end;
+
+ %% This clause to extract the body when Content-Length is specified
+ parse_11_response(DataRecvd,
+- #state{content_length=CL, rep_buf_size=RepBufSz,
+- reqs=Reqs}=State) ->
++ #state{content_length=CL, rep_buf_size=RepBufSz,
++ reqs=Reqs}=State) ->
+ NeedBytes = CL - RepBufSz,
+ DataLen = size(DataRecvd),
+ case DataLen >= NeedBytes of
+- true ->
+- {RemBody, Rem} = split_binary(DataRecvd, NeedBytes),
+- {_, Reqs_1} = queue:out(Reqs),
+- State_1 = accumulate_response(RemBody, State),
+- State_2 = handle_response(State_1#state.cur_req, State_1#state{reqs=Reqs_1}),
+- State_3 = reset_state(State_2),
+- parse_response(Rem, State_3);
+- false ->
+- accumulate_response(DataRecvd, State#state{rep_buf_size = (RepBufSz+DataLen)})
++ true ->
++ {RemBody, Rem} = split_binary(DataRecvd, NeedBytes),
++ {_, Reqs_1} = queue:out(Reqs),
++ State_1 = accumulate_response(RemBody, State),
++ State_2 = handle_response(State_1#state.cur_req, State_1#state{reqs=Reqs_1}),
++ State_3 = reset_state(State_2),
++ parse_response(Rem, State_3);
++ false ->
++ accumulate_response(DataRecvd, State#state{rep_buf_size = (RepBufSz+DataLen)})
+ end.
+
+ handle_response(#request{from=From, stream_to=StreamTo, req_id=ReqId,
+- response_format = Resp_format,
+- save_response_to_file = SaveResponseToFile,
+- tmp_file_name = TmpFilename,
+- tmp_file_fd = Fd
+- },
+- #state{http_status_code = SCode,
+- send_timer = ReqTimer,
+- reply_buffer = RepBuf,
+- recvd_headers = RespHeaders}=State) when SaveResponseToFile /= false ->
++ response_format = Resp_format,
++ save_response_to_file = SaveResponseToFile,
++ tmp_file_name = TmpFilename,
++ tmp_file_fd = Fd,
++ options = Options
++ },
++ #state{http_status_code = SCode,
++ status_line = Status_line,
++ raw_headers = Raw_headers,
++ send_timer = ReqTimer,
++ reply_buffer = RepBuf,
++ recvd_headers = RespHeaders}=State) when SaveResponseToFile /= false ->
+ Body = RepBuf,
+ State_1 = set_cur_request(State),
+ file:close(Fd),
+ ResponseBody = case TmpFilename of
+- undefined ->
+- Body;
+- _ ->
+- {file, TmpFilename}
+- end,
+- State_2 = do_reply(State_1, From, StreamTo, ReqId, Resp_format,
+- {ok, SCode, RespHeaders, ResponseBody}),
++ undefined ->
++ Body;
++ _ ->
++ {file, TmpFilename}
++ end,
++ Reply = case get_value(give_raw_headers, Options, false) of
++ true ->
++ {ok, Status_line, Raw_headers, ResponseBody};
++ false ->
++ {ok, SCode, RespHeaders, ResponseBody}
++ end,
++ State_2 = do_reply(State_1, From, StreamTo, ReqId, Resp_format, Reply),
+ cancel_timer(ReqTimer, {eat_message, {req_timedout, From}}),
+ State_2;
+ handle_response(#request{from=From, stream_to=StreamTo, req_id=ReqId,
+- response_format = Resp_format},
+- #state{http_status_code=SCode, recvd_headers=RespHeaders,
+- reply_buffer = RepBuf,
+- send_timer=ReqTimer}=State) ->
++ response_format = Resp_format,
++ options = Options},
++ #state{http_status_code = SCode,
++ status_line = Status_line,
++ raw_headers = Raw_headers,
++ recvd_headers = RespHeaders,
++ reply_buffer = RepBuf,
++ send_timer = ReqTimer} = State) ->
+ Body = RepBuf,
+ %% State_1 = set_cur_request(State),
++ Reply = case get_value(give_raw_headers, Options, false) of
++ true ->
++ {ok, Status_line, Raw_headers, Body};
++ false ->
++ {ok, SCode, RespHeaders, Body}
++ end,
+ State_1 = case get(conn_close) of
+- "close" ->
+- do_reply(State, From, StreamTo, ReqId, Resp_format,
+- {ok, SCode, RespHeaders, Body}),
+- exit(normal);
+- _ ->
+- State_1_1 = do_reply(State, From, StreamTo, ReqId, Resp_format,
+- {ok, SCode, RespHeaders, Body}),
+- cancel_timer(ReqTimer, {eat_message, {req_timedout, From}}),
+- State_1_1
++ "close" ->
++ do_reply(State, From, StreamTo, ReqId, Resp_format, Reply),
++ exit(normal);
++ _ ->
++ State_1_1 = do_reply(State, From, StreamTo, ReqId, Resp_format, Reply),
++ cancel_timer(ReqTimer, {eat_message, {req_timedout, From}}),
++ State_1_1
+ end,
+ set_cur_request(State_1).
+
+ reset_state(State) ->
+ State#state{status = get_header,
+- rep_buf_size = 0,
+- streamed_size = 0,
+- content_length = undefined,
+- reply_buffer = <<>>,
+- chunk_size_buffer = <<>>,
+- recvd_headers = [],
+- deleted_crlf = false,
+- http_status_code = undefined,
+- chunk_size = undefined,
+- transfer_encoding = undefined}.
++ rep_buf_size = 0,
++ streamed_size = 0,
++ content_length = undefined,
++ reply_buffer = <<>>,
++ chunk_size_buffer = <<>>,
++ recvd_headers = [],
++ status_line = undefined,
++ raw_headers = undefined,
++ deleted_crlf = false,
++ http_status_code = undefined,
++ chunk_size = undefined,
++ transfer_encoding = undefined}.
+
+ set_cur_request(#state{reqs = Reqs} = State) ->
+ case queue:to_list(Reqs) of
+- [] ->
+- State#state{cur_req = undefined};
+- [NextReq | _] ->
+- State#state{cur_req = NextReq}
++ [] ->
++ State#state{cur_req = undefined};
++ [NextReq | _] ->
++ State#state{cur_req = NextReq}
+ end.
+
+ parse_headers(Headers) ->
+ case scan_crlf(Headers) of
+- {yes, StatusLine, T} ->
+- parse_headers(StatusLine, T);
+- {no, StatusLine} ->
+- parse_headers(StatusLine, <<>>)
++ {yes, StatusLine, T} ->
++ parse_headers(StatusLine, T);
++ {no, StatusLine} ->
++ parse_headers(StatusLine, <<>>)
+ end.
+
+ parse_headers(StatusLine, Headers) ->
+ Headers_1 = parse_headers_1(Headers),
+ case parse_status_line(StatusLine) of
+- {ok, HttpVsn, StatCode, _Msg} ->
+- put(http_prot_vsn, HttpVsn),
+- {HttpVsn, StatCode, Headers_1};
+- _ -> %% A HTTP 0.9 response?
+- put(http_prot_vsn, "HTTP/0.9"),
+- {"HTTP/0.9", undefined, Headers}
++ {ok, HttpVsn, StatCode, _Msg} ->
++ put(http_prot_vsn, HttpVsn),
++ {HttpVsn, StatCode, Headers_1, StatusLine, Headers};
++ _ -> %% A HTTP 0.9 response?
++ put(http_prot_vsn, "HTTP/0.9"),
++ {"HTTP/0.9", undefined, Headers, StatusLine, Headers}
+ end.
+
+ % From RFC 2616
+@@ -1094,22 +1264,22 @@ parse_headers(StatusLine, Headers) ->
+ % SP. A recipient MAY replace any linear white space with a single
+ % SP before interpreting the field value or forwarding the message
+ % downstream.
+- parse_headers_1(B) when is_binary(B) ->
+- parse_headers_1(binary_to_list(B));
+- parse_headers_1(String) ->
+- parse_headers_1(String, [], []).
++parse_headers_1(B) when is_binary(B) ->
++ parse_headers_1(binary_to_list(B));
++parse_headers_1(String) ->
++ parse_headers_1(String, [], []).
+
+-parse_headers_1([$\n, H |T], [$\r | L], Acc) when H == 32;
+- H == $\t ->
++parse_headers_1([$\n, H |T], [$\r | L], Acc) when H =:= 32;
++ H =:= $\t ->
+ parse_headers_1(lists:dropwhile(fun(X) ->
+- is_whitespace(X)
+- end, T), [32 | L], Acc);
++ is_whitespace(X)
++ end, T), [32 | L], Acc);
+ parse_headers_1([$\n|T], [$\r | L], Acc) ->
+ case parse_header(lists:reverse(L)) of
+- invalid ->
+- parse_headers_1(T, [], Acc);
+- NewHeader ->
+- parse_headers_1(T, [], [NewHeader | Acc])
++ invalid ->
++ parse_headers_1(T, [], Acc);
++ NewHeader ->
++ parse_headers_1(T, [], [NewHeader | Acc])
+ end;
+ parse_headers_1([H|T], L, Acc) ->
+ parse_headers_1(T, [H|L], Acc);
+@@ -1117,11 +1287,11 @@ parse_headers_1([], [], Acc) ->
+ lists:reverse(Acc);
+ parse_headers_1([], L, Acc) ->
+ Acc_1 = case parse_header(lists:reverse(L)) of
+- invalid ->
+- Acc;
+- NewHeader ->
+- [NewHeader | Acc]
+- end,
++ invalid ->
++ Acc;
++ NewHeader ->
++ [NewHeader | Acc]
++ end,
+ lists:reverse(Acc_1).
+
+ parse_status_line(Line) when is_binary(Line) ->
+@@ -1139,10 +1309,9 @@ parse_status_line([H | T], get_status_code, ProtVsn, StatCode) ->
+ parse_status_line([], _, _, _) ->
+ http_09.
+
+-parse_header(B) when is_binary(B) ->
+- parse_header(binary_to_list(B));
+ parse_header(L) ->
+ parse_header(L, []).
++
+ parse_header([$: | V], Acc) ->
+ {lists:reverse(Acc), string:strip(V)};
+ parse_header([H | T], Acc) ->
+@@ -1152,11 +1321,11 @@ parse_header([], _) ->
+
+ scan_header(Bin) ->
+ case get_crlf_crlf_pos(Bin, 0) of
+- {yes, Pos} ->
+- {Headers, <<_:4/binary, Body/binary>>} = split_binary(Bin, Pos),
+- {yes, Headers, Body};
+- no ->
+- {no, Bin}
++ {yes, Pos} ->
++ {Headers, <<_:4/binary, Body/binary>>} = split_binary(Bin, Pos),
++ {yes, Headers, Body};
++ no ->
++ {no, Bin}
+ end.
+
+ scan_header(Bin1, Bin2) when size(Bin1) < 4 ->
+@@ -1168,11 +1337,11 @@ scan_header(Bin1, Bin2) ->
+ <> = Bin1,
+ Bin_to_scan = <>,
+ case get_crlf_crlf_pos(Bin_to_scan, 0) of
+- {yes, Pos} ->
+- {Headers_suffix, <<_:4/binary, Body/binary>>} = split_binary(Bin_to_scan, Pos),
+- {yes, <>, Body};
+- no ->
+- {no, <>}
++ {yes, Pos} ->
++ {Headers_suffix, <<_:4/binary, Body/binary>>} = split_binary(Bin_to_scan, Pos),
++ {yes, <>, Body};
++ no ->
++ {no, <>}
+ end.
+
+ get_crlf_crlf_pos(<<$\r, $\n, $\r, $\n, _/binary>>, Pos) -> {yes, Pos};
+@@ -1181,11 +1350,11 @@ get_crlf_crlf_pos(<<>>, _) -> no.
+
+ scan_crlf(Bin) ->
+ case get_crlf_pos(Bin) of
+- {yes, Pos} ->
+- {Prefix, <<_, _, Suffix/binary>>} = split_binary(Bin, Pos),
+- {yes, Prefix, Suffix};
+- no ->
+- {no, Bin}
++ {yes, Pos} ->
++ {Prefix, <<_, _, Suffix/binary>>} = split_binary(Bin, Pos),
++ {yes, Prefix, Suffix};
++ no ->
++ {no, Bin}
+ end.
+
+ scan_crlf(<<>>, Bin2) ->
+@@ -1199,11 +1368,11 @@ scan_crlf_1(Bin1_head_size, Bin1, Bin2) ->
+ <> = Bin1,
+ Bin3 = <>,
+ case get_crlf_pos(Bin3) of
+- {yes, Pos} ->
+- {Prefix, <<_, _, Suffix/binary>>} = split_binary(Bin3, Pos),
+- {yes, list_to_binary([Bin1_head, Prefix]), Suffix};
+- no ->
+- {no, list_to_binary([Bin1, Bin2])}
++ {yes, Pos} ->
++ {Prefix, <<_, _, Suffix/binary>>} = split_binary(Bin3, Pos),
++ {yes, list_to_binary([Bin1_head, Prefix]), Suffix};
++ no ->
++ {no, list_to_binary([Bin1, Bin2])}
+ end.
+
+ get_crlf_pos(Bin) ->
+@@ -1213,13 +1382,6 @@ get_crlf_pos(<<$\r, $\n, _/binary>>, Pos) -> {yes, Pos};
+ get_crlf_pos(<<_, Rest/binary>>, Pos) -> get_crlf_pos(Rest, Pos + 1);
+ get_crlf_pos(<<>>, _) -> no.
+
+-%% scan_crlf(<<$\n, T/binary>>, [$\r | L]) -> {yes, lists:reverse(L), T};
+-%% scan_crlf(<>, L) -> scan_crlf(T, [H|L]);
+-%% scan_crlf(<<>>, L) -> {no, L};
+-%% scan_crlf([$\n|T], [$\r | L]) -> {yes, lists:reverse(L), T};
+-%% scan_crlf([H|T], L) -> scan_crlf(T, [H|L]);
+-%% scan_crlf([], L) -> {no, L}.
+-
+ fmt_val(L) when is_list(L) -> L;
+ fmt_val(I) when is_integer(I) -> integer_to_list(I);
+ fmt_val(A) when is_atom(A) -> atom_to_list(A);
+@@ -1240,7 +1402,8 @@ method(proppatch) -> "PROPPATCH";
+ method(lock) -> "LOCK";
+ method(unlock) -> "UNLOCK";
+ method(move) -> "MOVE";
+-method(copy) -> "COPY".
++method(copy) -> "COPY";
++method(connect) -> "CONNECT".
+
+ %% From RFC 2616
+ %%
+@@ -1250,19 +1413,19 @@ method(copy) -> "COPY".
+ % fields. This allows dynamically produced content to be transferred
+ % along with the information necessary for the recipient to verify
+ % that it has received the full message.
+-% Chunked-Body = *chunk
+-% last-chunk
+-% trailer
+-% CRLF
+-% chunk = chunk-size [ chunk-extension ] CRLF
+-% chunk-data CRLF
+-% chunk-size = 1*HEX
+-% last-chunk = 1*("0") [ chunk-extension ] CRLF
+-% chunk-extension= *( ";" chunk-ext-name [ "=" chunk-ext-val ] )
+-% chunk-ext-name = token
+-% chunk-ext-val = token | quoted-string
+-% chunk-data = chunk-size(OCTET)
+-% trailer = *(entity-header CRLF)
++% Chunked-Body = *chunk
++% last-chunk
++% trailer
++% CRLF
++% chunk = chunk-size [ chunk-extension ] CRLF
++% chunk-data CRLF
++% chunk-size = 1*HEX
++% last-chunk = 1*("0") [ chunk-extension ] CRLF
++% chunk-extension= *( ";" chunk-ext-name [ "=" chunk-ext-val ] )
++% chunk-ext-name = token
++% chunk-ext-val = token | quoted-string
++% chunk-data = chunk-size(OCTET)
++% trailer = *(entity-header CRLF)
+ % The chunk-size field is a string of hex digits indicating the size
+ % of the chunk. The chunked encoding is ended by any chunk whose size
+ % is zero, followed by the trailer, which is terminated by an empty
+@@ -1271,8 +1434,6 @@ method(copy) -> "COPY".
+ %% The parsing implemented here discards all chunk extensions. It also
+ %% strips trailing spaces from the chunk size fields as Apache 1.3.27 was
+ %% sending them.
+-parse_chunk_header([]) ->
+- throw({error, invalid_chunk_size});
+ parse_chunk_header(ChunkHeader) ->
+ parse_chunk_header(ChunkHeader, []).
+
+@@ -1280,10 +1441,10 @@ parse_chunk_header(<<$;, _/binary>>, Acc) ->
+ hexlist_to_integer(lists:reverse(Acc));
+ parse_chunk_header(<>, Acc) ->
+ case is_whitespace(H) of
+- true ->
+- parse_chunk_header(T, Acc);
+- false ->
+- parse_chunk_header(T, [H | Acc])
++ true ->
++ parse_chunk_header(T, Acc);
++ false ->
++ parse_chunk_header(T, [H | Acc])
+ end;
+ parse_chunk_header(<<>>, Acc) ->
+ hexlist_to_integer(lists:reverse(Acc)).
+@@ -1294,24 +1455,31 @@ is_whitespace($\n) -> true;
+ is_whitespace($\t) -> true;
+ is_whitespace(_) -> false.
+
+-
+-send_async_headers(_ReqId, undefined, _StatCode, _Headers) ->
++send_async_headers(_ReqId, undefined, _, _State) ->
+ ok;
+-send_async_headers(ReqId, StreamTo, StatCode, Headers) ->
+- catch StreamTo ! {ibrowse_async_headers, ReqId, StatCode, Headers}.
++send_async_headers(ReqId, StreamTo, Give_raw_headers,
++ #state{status_line = Status_line, raw_headers = Raw_headers,
++ recvd_headers = Headers, http_status_code = StatCode
++ }) ->
++ case Give_raw_headers of
++ false ->
++ catch StreamTo ! {ibrowse_async_headers, ReqId, StatCode, Headers};
++ true ->
++ catch StreamTo ! {ibrowse_async_headers, ReqId, Status_line, Raw_headers}
++ end.
+
+ format_response_data(Resp_format, Body) ->
+ case Resp_format of
+- list when is_list(Body) ->
+- flatten(Body);
+- list when is_binary(Body) ->
+- binary_to_list(Body);
+- binary when is_list(Body) ->
+- list_to_binary(Body);
+- _ ->
+- %% This is to cater for sending messages such as
+- %% {chunk_start, _}, chunk_end etc
+- Body
++ list when is_list(Body) ->
++ flatten(Body);
++ list when is_binary(Body) ->
++ binary_to_list(Body);
++ binary when is_list(Body) ->
++ list_to_binary(Body);
++ _ ->
++ %% This is to cater for sending messages such as
++ %% {chunk_start, _}, chunk_end etc
++ Body
+ end.
+
+ do_reply(State, From, undefined, _, Resp_format, {ok, St_code, Headers, Body}) ->
+@@ -1322,14 +1490,14 @@ do_reply(State, From, undefined, _, _, Msg) ->
+ gen_server:reply(From, Msg),
+ dec_pipeline_counter(State);
+ do_reply(#state{prev_req_id = Prev_req_id} = State,
+- _From, StreamTo, ReqId, Resp_format, {ok, _, _, Body}) ->
++ _From, StreamTo, ReqId, Resp_format, {ok, _, _, Body}) ->
+ State_1 = dec_pipeline_counter(State),
+ case Body of
+- [] ->
+- ok;
+- _ ->
+- Body_1 = format_response_data(Resp_format, Body),
+- catch StreamTo ! {ibrowse_async_response, ReqId, Body_1}
++ [] ->
++ ok;
++ _ ->
++ Body_1 = format_response_data(Resp_format, Body),
++ catch StreamTo ! {ibrowse_async_response, ReqId, Body_1}
+ end,
+ catch StreamTo ! {ibrowse_async_response_end, ReqId},
+ %% We don't want to delete the Req-id to Pid mapping straightaway
+@@ -1356,23 +1524,28 @@ do_interim_reply(StreamTo, Response_format, ReqId, Msg) ->
+ Msg_1 = format_response_data(Response_format, Msg),
+ catch StreamTo ! {ibrowse_async_response, ReqId, Msg_1}.
+
+-do_error_reply(#state{reqs = Reqs} = State, Err) ->
++do_error_reply(#state{reqs = Reqs, tunnel_setup_queue = Tun_q} = State, Err) ->
+ ReqList = queue:to_list(Reqs),
+ lists:foreach(fun(#request{from=From, stream_to=StreamTo, req_id=ReqId,
+- response_format = Resp_format}) ->
+- ets:delete(ibrowse_stream, {req_id_pid, ReqId}),
++ response_format = Resp_format}) ->
++ ets:delete(ibrowse_stream, {req_id_pid, ReqId}),
+ do_reply(State, From, StreamTo, ReqId, Resp_format, {error, Err})
+- end, ReqList).
++ end, ReqList),
++ lists:foreach(
++ fun({From, _Url, _Headers, _Method, _Body, _Options, _Timeout}) ->
++ do_reply(State, From, undefined, undefined, undefined, Err)
++ end, Tun_q).
+
+ fail_pipelined_requests(#state{reqs = Reqs, cur_req = CurReq} = State, Reply) ->
+ {_, Reqs_1} = queue:out(Reqs),
+ #request{from=From, stream_to=StreamTo, req_id=ReqId,
+- response_format = Resp_format} = CurReq,
++ response_format = Resp_format} = CurReq,
+ do_reply(State, From, StreamTo, ReqId, Resp_format, Reply),
+ do_error_reply(State#state{reqs = Reqs_1}, previous_request_failed).
+
+ split_list_at(List, N) ->
+ split_list_at(List, N, []).
++
+ split_list_at([], _, Acc) ->
+ {lists:reverse(Acc), []};
+ split_list_at(List2, 0, List1) ->
+@@ -1382,6 +1555,7 @@ split_list_at([H | List2], N, List1) ->
+
+ hexlist_to_integer(List) ->
+ hexlist_to_integer(lists:reverse(List), 1, 0).
++
+ hexlist_to_integer([H | T], Multiplier, Acc) ->
+ hexlist_to_integer(T, Multiplier*16, Multiplier*to_ascii(H) + Acc);
+ hexlist_to_integer([], _, Acc) ->
+@@ -1416,10 +1590,10 @@ cancel_timer(Ref) -> erlang:cancel_timer(Ref).
+ cancel_timer(Ref, {eat_message, Msg}) ->
+ cancel_timer(Ref),
+ receive
+- Msg ->
+- ok
++ Msg ->
++ ok
+ after 0 ->
+- ok
++ ok
+ end.
+
+ make_req_id() ->
+@@ -1437,7 +1611,7 @@ to_lower([], Acc) ->
+ shutting_down(#state{lb_ets_tid = undefined}) ->
+ ok;
+ shutting_down(#state{lb_ets_tid = Tid,
+- cur_pipeline_size = Sz}) ->
++ cur_pipeline_size = Sz}) ->
+ catch ets:delete(Tid, {Sz, self()}).
+
+ inc_pipeline_counter(#state{is_closing = true} = State) ->
+@@ -1450,7 +1624,7 @@ dec_pipeline_counter(#state{is_closing = true} = State) ->
+ dec_pipeline_counter(#state{lb_ets_tid = undefined} = State) ->
+ State;
+ dec_pipeline_counter(#state{cur_pipeline_size = Pipe_sz,
+- lb_ets_tid = Tid} = State) ->
++ lb_ets_tid = Tid} = State) ->
+ ets:delete(Tid, {Pipe_sz, self()}),
+ ets:insert(Tid, {{Pipe_sz - 1, self()}, []}),
+ State#state{cur_pipeline_size = Pipe_sz - 1}.
+@@ -1464,13 +1638,35 @@ flatten([]) ->
+
+ get_stream_chunk_size(Options) ->
+ case lists:keysearch(stream_chunk_size, 1, Options) of
+- {value, {_, V}} when V > 0 ->
+- V;
+- _ ->
+- ?DEFAULT_STREAM_CHUNK_SIZE
++ {value, {_, V}} when V > 0 ->
++ V;
++ _ ->
++ ?DEFAULT_STREAM_CHUNK_SIZE
+ end.
+
+-get_inac_timeout(#state{cur_req = #request{options = Opts}}) ->
++set_inac_timer(State) ->
++ set_inac_timer(State, get_inac_timeout(State)).
++
++set_inac_timer(_State, Timeout) when is_integer(Timeout) ->
++ erlang:send_after(Timeout, self(), timeout);
++set_inac_timer(_, _) ->
++ undefined.
++
++get_inac_timeout(#state{cur_req = #request{options = Opts}}) ->
+ get_value(inactivity_timeout, Opts, infinity);
+ get_inac_timeout(#state{cur_req = undefined}) ->
+ infinity.
++
++trace_request(Req) ->
++ case get(my_trace_flag) of
++ true ->
++ %%Avoid the binary operations if trace is not on...
++ NReq = binary_to_list(list_to_binary(Req)),
++ do_trace("Sending request: ~n"
++ "--- Request Begin ---~n~s~n"
++ "--- Request End ---~n", [NReq]);
++ _ -> ok
++ end.
++
++to_integer(X) when is_list(X) -> list_to_integer(X);
++to_integer(X) when is_integer(X) -> X.
+diff --git a/couchdb-1.0.1/src/ibrowse/ibrowse_lb.erl b/couchdb-1.0.1/src/ibrowse/ibrowse_lb.erl
+index 834054a..6bc600b 100644
+--- a/couchdb-1.0.1/src/ibrowse/ibrowse_lb.erl
++++ b/couchdb-1.0.1/src/ibrowse/ibrowse_lb.erl
+@@ -1,13 +1,11 @@
+ %%%-------------------------------------------------------------------
+ %%% File : ibrowse_lb.erl
+ %%% Author : chandru
+-%%% Description :
++%%% Description :
+ %%%
+ %%% Created : 6 Mar 2008 by chandru
+ %%%-------------------------------------------------------------------
+ -module(ibrowse_lb).
+-
+--vsn('$Id: ibrowse_lb.erl,v 1.2 2009/07/01 22:43:19 chandrusf Exp $ ').
+ -author(chandru).
+ -behaviour(gen_server).
+ %%--------------------------------------------------------------------
+@@ -101,14 +99,14 @@ spawn_connection(Lb_pid, Url,
+ % #state{max_sessions = Max_sess,
+ % ets_tid = Tid,
+ % max_pipeline_size = Max_pipe_sz,
+-% num_cur_sessions = Num} = State)
++% num_cur_sessions = Num} = State)
+ % when Num >= Max ->
+ % Reply = find_best_connection(Tid),
+ % {reply, sorry_dude_reuse, State};
+
+ %% Update max_sessions in #state with supplied value
+ handle_call({spawn_connection, _Url, Max_sess, Max_pipe, _}, _From,
+- #state{num_cur_sessions = Num} = State)
++ #state{num_cur_sessions = Num} = State)
+ when Num >= Max_sess ->
+ State_1 = maybe_create_ets(State),
+ Reply = find_best_connection(State_1#state.ets_tid, Max_pipe),
+diff --git a/couchdb-1.0.1/src/ibrowse/ibrowse_lib.erl b/couchdb-1.0.1/src/ibrowse/ibrowse_lib.erl
+index 6c7b154..fbb9c34 100644
+--- a/couchdb-1.0.1/src/ibrowse/ibrowse_lib.erl
++++ b/couchdb-1.0.1/src/ibrowse/ibrowse_lib.erl
+@@ -1,11 +1,10 @@
+ %%% File : ibrowse_lib.erl
+ %%% Author : Chandrashekhar Mullaparthi
+-%%% Description :
++%%% Description :
+ %%% Created : 27 Feb 2004 by Chandrashekhar Mullaparthi
+ %% @doc Module with a few useful functions
+
+ -module(ibrowse_lib).
+--vsn('$Id: ibrowse_lib.erl,v 1.6 2008/03/27 01:35:50 chandrusf Exp $ ').
+ -author('chandru').
+ -ifdef(debug).
+ -compile(export_all).
+@@ -14,22 +13,22 @@
+ -include("ibrowse.hrl").
+
+ -export([
+- get_trace_status/2,
+- do_trace/2,
+- do_trace/3,
+- url_encode/1,
+- decode_rfc822_date/1,
+- status_code/1,
+- dec2hex/2,
+- drv_ue/1,
+- drv_ue/2,
+- encode_base64/1,
+- decode_base64/1,
+- get_value/2,
+- get_value/3,
+- parse_url/1,
+- printable_date/0
+- ]).
++ get_trace_status/2,
++ do_trace/2,
++ do_trace/3,
++ url_encode/1,
++ decode_rfc822_date/1,
++ status_code/1,
++ dec2hex/2,
++ drv_ue/1,
++ drv_ue/2,
++ encode_base64/1,
++ decode_base64/1,
++ get_value/2,
++ get_value/3,
++ parse_url/1,
++ printable_date/0
++ ]).
+
+ get_trace_status(Host, Port) ->
+ ibrowse:get_config_value({trace, Host, Port}, false).
+@@ -39,10 +38,10 @@ drv_ue(Str) ->
+ drv_ue(Str, Port).
+ drv_ue(Str, Port) ->
+ case erlang:port_control(Port, 1, Str) of
+- [] ->
+- Str;
+- Res ->
+- Res
++ [] ->
++ Str;
++ Res ->
++ Res
+ end.
+
+ %% @doc URL-encodes a string based on RFC 1738. Returns a flat list.
+@@ -72,10 +71,10 @@ d2h(N) -> N+$a-10.
+
+ decode_rfc822_date(String) when is_list(String) ->
+ case catch decode_rfc822_date_1(string:tokens(String, ", \t\r\n")) of
+- {'EXIT', _} ->
+- {error, invalid_date};
+- Res ->
+- Res
++ {'EXIT', _} ->
++ {error, invalid_date};
++ Res ->
++ Res
+ end.
+
+ % TODO: Have to handle the Zone
+@@ -86,15 +85,15 @@ decode_rfc822_date_1([Day,Month,Year, Time,_Zone]) ->
+ MonthI = month_int(Month),
+ YearI = list_to_integer(Year),
+ TimeTup = case string:tokens(Time, ":") of
+- [H,M] ->
+- {list_to_integer(H),
+- list_to_integer(M),
+- 0};
+- [H,M,S] ->
+- {list_to_integer(H),
+- list_to_integer(M),
+- list_to_integer(S)}
+- end,
++ [H,M] ->
++ {list_to_integer(H),
++ list_to_integer(M),
++ 0};
++ [H,M,S] ->
++ {list_to_integer(H),
++ list_to_integer(M),
++ list_to_integer(S)}
++ end,
+ {{YearI,MonthI,DayI}, TimeTup}.
+
+ month_int("Jan") -> 1;
+@@ -110,7 +109,7 @@ month_int("Oct") -> 10;
+ month_int("Nov") -> 11;
+ month_int("Dec") -> 12.
+
+-%% @doc Given a status code, returns an atom describing the status code.
++%% @doc Given a status code, returns an atom describing the status code.
+ %% @spec status_code(StatusCode::status_code()) -> StatusDescription
+ %% status_code() = string() | integer()
+ %% StatusDescription = atom()
+@@ -178,86 +177,25 @@ dec2hex(M,N,Ack) -> dec2hex(M-1,N bsr 4,[d2h(N band 15)|Ack]).
+ %% In = string() | binary()
+ %% Out = string() | binary()
+ encode_base64(List) when is_list(List) ->
+- encode_base64_1(list_to_binary(List));
++ binary_to_list(base64:encode(List));
+ encode_base64(Bin) when is_binary(Bin) ->
+- List = encode_base64_1(Bin),
+- list_to_binary(List).
+-
+-encode_base64_1(<>) ->
+- [int_to_b64(A), int_to_b64(B),
+- int_to_b64(C), int_to_b64(D) | encode_base64_1(Rest)];
+-encode_base64_1(<>) ->
+- [int_to_b64(A), int_to_b64(B), int_to_b64(C bsl 2), $=];
+-encode_base64_1(<>) ->
+- [int_to_b64(A), int_to_b64(B bsl 4), $=, $=];
+-encode_base64_1(<<>>) ->
+- [].
++ base64:encode(Bin).
+
+ %% @doc Implements the base64 decoding algorithm. The output data type matches in the input data type.
+ %% @spec decode_base64(In) -> Out | exit({error, invalid_input})
+ %% In = string() | binary()
+ %% Out = string() | binary()
+ decode_base64(List) when is_list(List) ->
+- decode_base64_1(List, []);
++ binary_to_list(base64:decode(List));
+ decode_base64(Bin) when is_binary(Bin) ->
+- List = decode_base64_1(binary_to_list(Bin), []),
+- list_to_binary(List).
+-
+-decode_base64_1([H | T], Acc) when ((H == $\t) or
+- (H == 32) or
+- (H == $\r) or
+- (H == $\n)) ->
+- decode_base64_1(T, Acc);
+-
+-decode_base64_1([$=, $=], Acc) ->
+- lists:reverse(Acc);
+-decode_base64_1([$=, _ | _], _Acc) ->
+- exit({error, invalid_input});
+-
+-decode_base64_1([A1, B1, $=, $=], Acc) ->
+- A = b64_to_int(A1),
+- B = b64_to_int(B1),
+- Oct1 = (A bsl 2) bor (B bsr 4),
+- decode_base64_1([], [Oct1 | Acc]);
+-decode_base64_1([A1, B1, C1, $=], Acc) ->
+- A = b64_to_int(A1),
+- B = b64_to_int(B1),
+- C = b64_to_int(C1),
+- Oct1 = (A bsl 2) bor (B bsr 4),
+- Oct2 = ((B band 16#f) bsl 6) bor (C bsr 2),
+- decode_base64_1([], [Oct2, Oct1 | Acc]);
+-decode_base64_1([A1, B1, C1, D1 | T], Acc) ->
+- A = b64_to_int(A1),
+- B = b64_to_int(B1),
+- C = b64_to_int(C1),
+- D = b64_to_int(D1),
+- Oct1 = (A bsl 2) bor (B bsr 4),
+- Oct2 = ((B band 16#f) bsl 4) bor (C bsr 2),
+- Oct3 = ((C band 2#11) bsl 6) bor D,
+- decode_base64_1(T, [Oct3, Oct2, Oct1 | Acc]);
+-decode_base64_1([], Acc) ->
+- lists:reverse(Acc).
+-
+-%% Taken from httpd_util.erl
+-int_to_b64(X) when X >= 0, X =< 25 -> X + $A;
+-int_to_b64(X) when X >= 26, X =< 51 -> X - 26 + $a;
+-int_to_b64(X) when X >= 52, X =< 61 -> X - 52 + $0;
+-int_to_b64(62) -> $+;
+-int_to_b64(63) -> $/.
+-
+-%% Taken from httpd_util.erl
+-b64_to_int(X) when X >= $A, X =< $Z -> X - $A;
+-b64_to_int(X) when X >= $a, X =< $z -> X - $a + 26;
+-b64_to_int(X) when X >= $0, X =< $9 -> X - $0 + 52;
+-b64_to_int($+) -> 62;
+-b64_to_int($/) -> 63.
++ base64:decode(Bin).
+
+ get_value(Tag, TVL, DefVal) ->
+ case lists:keysearch(Tag, 1, TVL) of
+- false ->
+- DefVal;
+- {value, {_, Val}} ->
+- Val
++ false ->
++ DefVal;
++ {value, {_, Val}} ->
++ Val
+ end.
+
+ get_value(Tag, TVL) ->
+@@ -271,92 +209,120 @@ parse_url([$:, $/, $/ | _], get_protocol, Url, []) ->
+ {invalid_uri_1, Url};
+ parse_url([$:, $/, $/ | T], get_protocol, Url, TmpAcc) ->
+ Prot = list_to_atom(lists:reverse(TmpAcc)),
+- parse_url(T, get_username,
+- Url#url{protocol = Prot},
+- []);
+-parse_url([$/ | T], get_username, Url, TmpAcc) ->
++ parse_url(T, get_username,
++ Url#url{protocol = Prot},
++ []);
++parse_url([H | T], get_username, Url, TmpAcc) when H == $/;
++ H == $? ->
++ Path = case H of
++ $/ ->
++ [$/ | T];
++ $? ->
++ [$/, $? | T]
++ end,
+ %% No username/password. No port number
+ Url#url{host = lists:reverse(TmpAcc),
+- port = default_port(Url#url.protocol),
+- path = [$/ | T]};
++ port = default_port(Url#url.protocol),
++ path = Path};
+ parse_url([$: | T], get_username, Url, TmpAcc) ->
+ %% It is possible that no username/password has been
+ %% specified. But we'll continue with the assumption that there is
+ %% a username/password. If we encounter a '@' later on, there is a
+ %% username/password indeed. If we encounter a '/', it was
+ %% actually the hostname
+- parse_url(T, get_password,
+- Url#url{username = lists:reverse(TmpAcc)},
+- []);
++ parse_url(T, get_password,
++ Url#url{username = lists:reverse(TmpAcc)},
++ []);
+ parse_url([$@ | T], get_username, Url, TmpAcc) ->
+- parse_url(T, get_host,
+- Url#url{username = lists:reverse(TmpAcc),
+- password = ""},
+- []);
++ parse_url(T, get_host,
++ Url#url{username = lists:reverse(TmpAcc),
++ password = ""},
++ []);
+ parse_url([$@ | T], get_password, Url, TmpAcc) ->
+- parse_url(T, get_host,
+- Url#url{password = lists:reverse(TmpAcc)},
+- []);
+-parse_url([$/ | T], get_password, Url, TmpAcc) ->
++ parse_url(T, get_host,
++ Url#url{password = lists:reverse(TmpAcc)},
++ []);
++parse_url([H | T], get_password, Url, TmpAcc) when H == $/;
++ H == $? ->
+ %% Ok, what we thought was the username/password was the hostname
+ %% and portnumber
+ #url{username=User} = Url,
+ Port = list_to_integer(lists:reverse(TmpAcc)),
++ Path = case H of
++ $/ ->
++ [$/ | T];
++ $? ->
++ [$/, $? | T]
++ end,
+ Url#url{host = User,
+- port = Port,
+- username = undefined,
+- password = undefined,
+- path = [$/ | T]};
++ port = Port,
++ username = undefined,
++ password = undefined,
++ path = Path};
+ parse_url([$: | T], get_host, #url{} = Url, TmpAcc) ->
+- parse_url(T, get_port,
+- Url#url{host = lists:reverse(TmpAcc)},
+- []);
+-parse_url([$/ | T], get_host, #url{protocol=Prot} = Url, TmpAcc) ->
++ parse_url(T, get_port,
++ Url#url{host = lists:reverse(TmpAcc)},
++ []);
++parse_url([H | T], get_host, #url{protocol=Prot} = Url, TmpAcc) when H == $/;
++ H == $? ->
++ Path = case H of
++ $/ ->
++ [$/ | T];
++ $? ->
++ [$/, $? | T]
++ end,
+ Url#url{host = lists:reverse(TmpAcc),
+- port = default_port(Prot),
+- path = [$/ | T]};
+-parse_url([$/ | T], get_port, #url{protocol=Prot} = Url, TmpAcc) ->
++ port = default_port(Prot),
++ path = Path};
++parse_url([H | T], get_port, #url{protocol=Prot} = Url, TmpAcc) when H == $/;
++ H == $? ->
++ Path = case H of
++ $/ ->
++ [$/ | T];
++ $? ->
++ [$/, $? | T]
++ end,
+ Port = case TmpAcc of
+- [] ->
+- default_port(Prot);
+- _ ->
+- list_to_integer(lists:reverse(TmpAcc))
+- end,
+- Url#url{port = Port, path = [$/ | T]};
++ [] ->
++ default_port(Prot);
++ _ ->
++ list_to_integer(lists:reverse(TmpAcc))
++ end,
++ Url#url{port = Port, path = Path};
+ parse_url([H | T], State, Url, TmpAcc) ->
+ parse_url(T, State, Url, [H | TmpAcc]);
+ parse_url([], get_host, Url, TmpAcc) when TmpAcc /= [] ->
+ Url#url{host = lists:reverse(TmpAcc),
+- port = default_port(Url#url.protocol),
+- path = "/"};
++ port = default_port(Url#url.protocol),
++ path = "/"};
+ parse_url([], get_username, Url, TmpAcc) when TmpAcc /= [] ->
+ Url#url{host = lists:reverse(TmpAcc),
+- port = default_port(Url#url.protocol),
+- path = "/"};
++ port = default_port(Url#url.protocol),
++ path = "/"};
+ parse_url([], get_port, #url{protocol=Prot} = Url, TmpAcc) ->
+ Port = case TmpAcc of
+- [] ->
+- default_port(Prot);
+- _ ->
+- list_to_integer(lists:reverse(TmpAcc))
+- end,
+- Url#url{port = Port,
+- path = "/"};
++ [] ->
++ default_port(Prot);
++ _ ->
++ list_to_integer(lists:reverse(TmpAcc))
++ end,
++ Url#url{port = Port,
++ path = "/"};
+ parse_url([], get_password, Url, TmpAcc) ->
+ %% Ok, what we thought was the username/password was the hostname
+ %% and portnumber
+ #url{username=User} = Url,
+ Port = case TmpAcc of
+- [] ->
+- default_port(Url#url.protocol);
+- _ ->
+- list_to_integer(lists:reverse(TmpAcc))
+- end,
++ [] ->
++ default_port(Url#url.protocol);
++ _ ->
++ list_to_integer(lists:reverse(TmpAcc))
++ end,
+ Url#url{host = User,
+- port = Port,
+- username = undefined,
+- password = undefined,
+- path = "/"};
++ port = Port,
++ username = undefined,
++ password = undefined,
++ path = "/"};
+ parse_url([], State, Url, TmpAcc) ->
+ {invalid_uri_2, State, Url, TmpAcc}.
+
+@@ -387,13 +353,13 @@ do_trace(Fmt, Args) ->
+ -ifdef(DEBUG).
+ do_trace(_, Fmt, Args) ->
+ io:format("~s -- (~s) - "++Fmt,
+- [printable_date(),
+- get(ibrowse_trace_token) | Args]).
++ [printable_date(),
++ get(ibrowse_trace_token) | Args]).
+ -else.
+ do_trace(true, Fmt, Args) ->
+ io:format("~s -- (~s) - "++Fmt,
+- [printable_date(),
+- get(ibrowse_trace_token) | Args]);
++ [printable_date(),
++ get(ibrowse_trace_token) | Args]);
+ do_trace(_, _, _) ->
+ ok.
+ -endif.
+diff --git a/couchdb-1.0.1/src/ibrowse/ibrowse_sup.erl b/couchdb-1.0.1/src/ibrowse/ibrowse_sup.erl
+index 1b9b863..ace33d1 100644
+--- a/couchdb-1.0.1/src/ibrowse/ibrowse_sup.erl
++++ b/couchdb-1.0.1/src/ibrowse/ibrowse_sup.erl
+@@ -1,13 +1,11 @@
+ %%%-------------------------------------------------------------------
+ %%% File : ibrowse_sup.erl
+ %%% Author : Chandrashekhar Mullaparthi
+-%%% Description :
++%%% Description :
+ %%%
+ %%% Created : 15 Oct 2003 by Chandrashekhar Mullaparthi
+ %%%-------------------------------------------------------------------
+ -module(ibrowse_sup).
+--vsn('$Id: ibrowse_sup.erl,v 1.1 2005/05/05 22:28:28 chandrusf Exp $ ').
+-
+ -behaviour(supervisor).
+ %%--------------------------------------------------------------------
+ %% Include files
+@@ -53,7 +51,7 @@ start_link() ->
+ %% Func: init/1
+ %% Returns: {ok, {SupFlags, [ChildSpec]}} |
+ %% ignore |
+-%% {error, Reason}
++%% {error, Reason}
+ %%--------------------------------------------------------------------
+ init([]) ->
+ AChild = {ibrowse,{ibrowse,start_link,[]},
+diff --git a/couchdb-1.0.1/src/ibrowse/ibrowse_test.erl b/couchdb-1.0.1/src/ibrowse/ibrowse_test.erl
+index 3dc66ec..00b0244 100644
+--- a/couchdb-1.0.1/src/ibrowse/ibrowse_test.erl
++++ b/couchdb-1.0.1/src/ibrowse/ibrowse_test.erl
+@@ -4,7 +4,6 @@
+ %%% Created : 14 Oct 2003 by Chandrashekhar Mullaparthi
+
+ -module(ibrowse_test).
+--vsn('$Id: ibrowse_test.erl,v 1.4 2009/07/01 22:43:19 chandrusf Exp $ ').
+ -export([
+ load_test/3,
+ send_reqs_1/3,
+@@ -193,6 +192,7 @@ dump_errors(Key, Iod) ->
+ {"http://www.google.co.uk", get},
+ {"http://www.google.com", get},
+ {"http://www.google.com", options},
++ {"https://mail.google.com", get},
+ {"http://www.sun.com", get},
+ {"http://www.oracle.com", get},
+ {"http://www.bbc.co.uk", get},
+@@ -223,9 +223,10 @@ unit_tests() ->
+ unit_tests([]).
+
+ unit_tests(Options) ->
++ application:start(ssl),
+ Options_1 = Options ++ [{connect_timeout, 5000}],
+ {Pid, Ref} = erlang:spawn_monitor(?MODULE, unit_tests_1, [self(), Options_1]),
+- receive
++ receive
+ {done, Pid} ->
+ ok;
+ {'DOWN', Ref, _, _, Info} ->
+@@ -293,7 +294,7 @@ compare_responses(R1, R2, R3) ->
+
+ do_async_req_list(Url, Method, Options) ->
+ {Pid,_} = erlang:spawn_monitor(?MODULE, i_do_async_req_list,
+- [self(), Url, Method,
++ [self(), Url, Method,
+ Options ++ [{stream_chunk_size, 1000}]]),
+ io:format("Spawned process ~p~n", [Pid]),
+ wait_for_resp(Pid).