Merge pull request #12 from apache/release/couchdb_3.0.0

Radical simplification for 3.0/MSVC 2017
diff --git a/.documentup.json b/.documentup.json
deleted file mode 100644
index c22c395..0000000
--- a/.documentup.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-  "name": "CouchDB Glazier",
-  "theme": "v1",
-  "twitter": [
-    "dch__",
-    "couchdb"
-  ]
-}
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 119df6a..7bcc59c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
 *.swp
+*.dll
 release/*
 bits/*.gz
 bits/*.exe
@@ -10,11 +11,15 @@
 bits/*.iso
 bits/*.7z
 bits/a2session.txt
+installer/CustomAction/obj
+installer/CustomAction/Microsoft.Deployment.WindowsInstaller.xml
 /.project
 *~
+*.swp
 *.wixobj
 *.wixpdb
 *.msi
+*.pdb
 installer/couchdb.wxs
 installer/couchdbfiles.wxs
 build_*.txt
diff --git a/README.md b/README.md
index 6af18df..3cac5b8 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@
 ease building CouchDB on Windows. It's as fully automated as
 possible, with most of the effort required only once.
 
-Glazier uses the MS Visual Studio 2013 toolchain as much as possible,
+Glazier uses the MS Visual Studio 2017 toolchain as much as possible,
 to ensure a quality Windows experience and to execute all binary
 dependencies within the same runtime.
 
@@ -14,299 +14,213 @@
 
 # Base Requirements
 
-- 64-bit Windows 7 or 8.1. *As of CouchDB 2.0 we only support a 64-bit build of CouchDB*.
-  - We like 64-bit Windows 7, 8.1 or 10 Enterprise N (missing Media Player, etc.) from MSDN.
-- If prompted, reboot after installing the .NET framework.
-- [Visual Studio 2013 x64 Community Edition](https://www.visualstudio.com/vs/older-downloads/) installed on the *C: drive*. Downloading requires a free Dev Essentials subscription from Microsoft.
-- [Chocolatey](https://chocolatey.org). From an *administrative* __cmd.exe__ command prompt, run:
+Note that the scripts you'll run will modify your system extensively. We recommend a *dedicated build machine or VM image* for this work:
 
-```dos
-@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
-```
+- 64-bit Windows 7+. *As of CouchDB 2.0 we only support a 64-bit build of CouchDB*.
+  - We like 64-bit Windows 10 Enterprise N (missing Media Player, etc.) from MSDN.
+  - Apply Windows Updates and reboot until no more updates appear.
+  - If using a VM, shutdown and snapshot your VM at this point.
 
-- Apply Windows Updates and reboot until no more updates appear.
-- If using a VM, shutdown and snapshot your VM at this point.
+# Install Dependencies
 
-# Install Pre-requisites
+Start an Administrative PowerShell console. Enter the following:
 
-## Clean Package Installs with Chocolatey, cyg-get and pip
-
-These packages install silently, without intervention. Cut and paste them
-into an **Administrator** command prompt.
-
-```dos
-cinst -y git 7zip.commandline StrawberryPerl nasm cyg-get wixtoolset python3 aria2 nodejs.install make
-cinst -y nssm --version 2.24.101-g897c7ad
-cinst -y -i elixir
-cyg-get p7zip autoconf binutils bison gcc-code gcc-g++ gdb git libtool make patchutils pkg-config readline file renameutils socat time tree util-linux wget
-pip install sphinx docutils pygments nose hypothesis
-```
-
-*Note: Do NOT install curl or help2man inside CygWin!*
-
-## Mozilla build
-Fetch the latest Mozilla Build version from
-https://wiki.mozilla.org/MozillaBuild and install to c:\mozilla-build
-with all defaults.
-
-## Make a new prompt shortcut
-
-Make a new shortcut on the desktop. The location should be:
-
-```dos
-cmd.exe /E:ON /V:ON /T:1F /K ""C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat"" amd64 && color 1f
-```
-
-Name it "CouchDB SDK Prompt".
-
-Right-click on the icon, select Properties, click the `Advanced...`
-button, and tick the `Run as administrator` checkbox. Click OK twice.
-
-I suggest you pin it to the Start menu. We'll use this all the time.
-
-Start a CouchDB SDK Prompt window and run 
-`where cl mc mt link lc rc nmake make`. Make sure the output matches the
-following:
-
-```dos
-C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\cl.exe
-C:\Program Files (x86)\Windows Kits\8.1\bin\x64\mc.exe
-C:\Program Files (x86)\Windows Kits\8.1\bin\x86\mc.exe
-C:\Program Files (x86)\Windows Kits\8.1\bin\x64\mt.exe
-C:\Program Files (x86)\Windows Kits\8.1\bin\x86\mt.exe
-C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\link.exe
-C:\tools\cygwin\bin\link.exe
-C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\x64\lc.exe
-C:\Program Files (x86)\Windows Kits\8.1\bin\x64\rc.exe
-C:\Program Files (x86)\Windows Kits\8.1\bin\x86\rc.exe
-C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\nmake.exe
-C:\ProgramData\chocolatey\bin\make.exe
-C:\tools\cygwin\bin\make.exe
-```
-
-Stop here if your results are not *identical*. If you are unable to
-reproduce these results, please open an issue on this repository for
-assistance.
-
-## Set up required convenience links & environment variable
-
-In the CouchDB SDK Prompt, run the following commands:
-
-```dos
-mkdir c:\relax    
-cd c:\relax
-rd /s/q SDK VC nasm inno5 nsis strawberry
-mklink /j c:\relax\bin c:\relax\glazier\bin
-mklink /j c:\relax\nasm "c:\Program Files (x86)\NASM"
-mklink /j c:\relax\SDK "c:\Program Files (x86)\Windows Kits\8.1"
-mklink /j c:\relax\VC "C:\Program Files (x86)\Microsoft Visual Studio 12.0"
-mklink /j c:\openssl c:\relax\openssl
-setx RELAX c:\relax
-```
-
-Close all open command prompts. Now we're ready to go!
-
-# Building CouchDB Pre-requisites
-
-## Downloading glazier and dependency sources
-
-Open a new `CouchDB SDK Prompt` and run the following:
-
-```dos
-cd c:\relax
-git config --global core.autocrlf input
+```powershell
+mkdir C:\Relax\
+cd C:\Relax\
+Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
+choco feature enable -n allowGlobalConfirmation
+choco install git
 git clone https://github.com/apache/couchdb-glazier
-c:\relax\bin\aria2c --force-sequential=false --max-connection-per-server=5 --check-certificate=false --auto-file-renaming=false --allow-overwrite=true --input-file=couchdb-glazier/downloads.md --max-concurrent-downloads=5 --dir=bits --save-session=bits/a2session.txt
-color 1f
+&.\couchdb-glazier\bin\install_dependencies.ps1
 ```
 
-As of 2017-07-08, this will download the source for the following versions of our dependencies:
+You should go get lunch. The last step will take over an hour, even on a speedy Internet connection.
 
-* MS Visual C++ x64 Redistributable for VC12 with patches
-* OpenSSL 1.0.2l
-* curl 7.49.1
-* Erlang:
-  * 17.5
-  * 18.3
-  * 19.3
-* ICU4C 57.1 (*Note*: this is the last version to support building in VS2013)
-* SpiderMonkey 1.8.5
+At this point, you should have the following installed:
 
+* Visual Studio 2017 (Build Tools, Visual C++ workload, native desktop workload)
+* Windows 10 SDK (10.1)
+* NodeJS (LTS version)
+* wget.exe
+* NASM
+* Cyg-get (for cygwin)
+* WiX Toolset
+* Python 3
+  * Python packages sphinx, docutils, pygments, nose, hypothesis, and `sphinx_rtd_theme`
+* GNU Make
+* NSSM
+* GPG4Win (for signing releases)
+* checksum
+* archiver
+* Dependency Walker
+* unzip
+* NSIS
+* NuGet
+* VSSetup
+* MozillaBuild setup (3.3)
+* VCPkg (https://github.com/Microsoft/vcpkg), which built and installed:
+  * OpenSSL (at time of writing, 1.1.1)
+  * ICU (at time of writing, 61)
+  * libcurl (at time of writing, 7.68.0)
+* Cygwin (used for building Erlang), plus some packages required for Erlang builds
 
-## Build & Test 64-bit OpenSSL
+# Building Erlang
 
-In the same `CouchDB SDK Prompt`, run the following:
+This section is not presently automated because it requires switching between PowerShell
+and Cygwin. It should be possible to automate (PRs welcome!)
 
-```dos
-cd %RELAX%\bin && build_openssl.cmd
+We generally need to build a version of Erlang that is not distributed directly
+by Ericsson. This may be because we require patches that are released after the
+binaries are built.
+
+For CouchDB 3.0, we build against Erlang 20.3.8.25.
+
+In the same PowerShell session, enter the following:
+
+```powershell
+cd c:\relax
+git clone https://github.com/erlang/otp
+cd otp
+git checkout OTP-20.3.8.25
+cygwin
+export PATH="/cygdrive/c/Program Files (x86)/Microsoft SDKs/Windows/v10.0A/bin/NETFX 4.8 Tools/x64:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/HostX64/x64:/cygdrive/c/Program Files (x86)/NSIS:$PATH"
+which cl link mc lc mt nmake rc
 ```
 
-Close your `CouchDB SDK Prompt`.
+This should produce the following output:
 
-## Build 64-bit libcurl
-
-Open a new `CouchDB SDK Prompt` and run the following:
-
-```dos
-cd %RELAX%\bin && build_curl.cmd
+```
+/cygdrive/c/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/HostX64/x64/cl
+/cygdrive/c/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/HostX64/x64/link
+/cygdrive/c/Program Files (x86)/Windows Kits/10/bin/10.0.18362.0/x64/mc
+/cygdrive/c/Program Files (x86)/Microsoft SDKs/Windows/v10.0A/bin/NETFX 4.8 Tools/x64/lc
+/cygdrive/c/Program Files (x86)/Windows Kits/10/bin/10.0.18362.0/x64/mt
+/cygdrive/c/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/HostX64/x64/nmake
+/cygdrive/c/Program Files (x86)/Windows Kits/10/bin/10.0.18362.0/x64/rc
 ```
 
-## Build 64-bit ICU
+Continue by entering the following. This takes a while, maybe 30-60 minutes at the `otp_build` steps, so be sure to have your favourite beverage on hand while you watch.
 
-In the same `CouchDB SDK Prompt` run the following:
-
-```dos
-cd %RELAX%\bin && build_icu.cmd
 ```
-
-Close the window.
-
-## Start a UNIX-friendly shell with MS compilers
-
-1. Start your `CouchDB SDK Prompt` as above
-2. Launch a cygwin erl-ified shell via `c:\relax\bin\shell.cmd`
-3. Select 18.3 (unless you know what you are doing!)
-4. Select `b for bash prompt`.
-
-For more detail on why this is necessary, see
-[UNIX-friendly shell details](#unix-friendly-shell-details) below.
-
-## Unpack, configure and build Erlang/OTP 18.3
-
-At the bash prompt, enter the following commands:
-
-```bash
-ln -s /cygdrive/c/relax /relax
-cd .. && tar xzf /relax/bits/otp_src_18.3.tar.gz
-cd $ERL_TOP
-echo "skipping gs" > lib/gs/SKIP
-echo "skipping wx" > lib/wx/SKIP
-echo "skipping ic" > lib/ic/SKIP
-echo "skipping jinterface" > lib/jinterface/SKIP
-eval `$ERL_TOP/otp_build env_win32 x64`
-```
-
-At this point, check your paths. Run `which cl link mc lc mt nmake rc`.
-The output should match the following:
-
-```bash
-/cygdrive/c/PROGRA~2/MICROS~1.0/VC/BIN/amd64/cl
-/cygdrive/c/PROGRA~2/MICROS~1.0/VC/BIN/amd64/link
-/cygdrive/c/PROGRA~2/WI3CF2~1/8.1/bin/x64/mc
-/cygdrive/c/PROGRA~2/MICROS~1/Windows/v8.1A/bin/NETFX4~1.1TO/x64/lc
-/cygdrive/c/PROGRA~2/WI3CF2~1/8.1/bin/x64/mt
-/cygdrive/c/PROGRA~2/MICROS~1.0/VC/BIN/amd64/nmake
-/cygdrive/c/PROGRA~2/WI3CF2~1/8.1/bin/x64/rc
-```
-
-If it does not, stop and diagnose.
-
-Now you can proceed to build Erlang, closing the window when
-done:
-
-```bash
-erl_config.sh
-# Ensure OpenSSL is found by the configure script.
-# If you see any warnings, stop and diagnose.
-erl_build.sh
-exit
+cd /cygdrive/c/relax/otp
+eval `./otp_build env_win32 x64`
+./otp_build autoconf 2>&1 | tee build_autoconf.txt
+./otp_build configure --with-ssl=/cygdrive/c/relax/vcpkg/installed/x64-windows --without-javac --without-debugger --without-wx --without-ic --without-odbc --without-et --without-cosEvent --without-cosEventDomain --without-cosFileTransfer --without-cosNotification --without-cosProperty --without-cosTime --without-cosTransactions --without-orber --without-observer 2>&1 | tee build_configure.txt
+./otp_build boot -a  2>&1 | tee build_boot.txt
+./otp_build release -a  2>&1 | tee build_release.txt
+./otp_build installer_win32  2>&1 | tee build_installer_win32.txt
+release/win32/otp_win64_*.exe /S
 exit
 ```
 
-## Build Spidermonkey JavaScript 1.8.5
+You now have a full install of Erlang on your system.
 
-Spidermonkey needs to be compiled with the Mozilla Build chain.
-To build it with VS2013 requires a few patches contained in this
-repository.
+# Installing Elixir
 
-Start by launching a fresh `CouchDB SDK prompt`, then setup the
-Mozilla build environment with the command:
+CouchDB uses Elixir for tests. If you intend to run the test suite (you should!), install
+Elixir now by running the following in the same PowerShell prompt:
 
-```dos
-call c:\mozilla-build\start-shell-msvc2013-x64.bat
+```
+wget.exe https://github.com/elixir-lang/elixir/releases/download/v1.9.4/Precompiled.zip
+arc unarchive .\Precompiled.zip
+copy .\Precompiled\* 'C:\Program Files\erl9.3.3.14\' -Recurse  -Force
+del Precompiled -Recurse
+del Precompiled.zip
 ```
 
-Now, ensure the output of `which cl lc link mt rc make` matches
-the following:
+# Building SpiderMonkey
 
-```dos
-/c/Program Files (x86)/Microsoft Visual Studio 12.0/VC/BIN/amd64/cl.exe
-/c/Program Files (x86)/Microsoft SDKs/Windows/v8.1A/bin/NETFX 4.5.1 Tools/x64/lc.exe
-gram Files (x86)/Microsoft Visual Studio 12.0/VC/BIN/amd64/link.exe
-/c/Program Files (x86)/Windows Kits/8.1/bin/x64/mt.exe
-/c/Program Files (x86)/Windows Kits/8.1/bin/x64/rc.exe
-/local/bin/make.exe
+This section is not currently automated, due to the need for Mozilla's separate build
+environment. It should be possible to automate (PRs welcome!)
+
+From the same PowerShell prompt, enter the following:
+
+```
+C:\mozilla-build\start-shell.bat
 ```
 
-If this does not match *exactly*, stop and diagnose.
+At the MozillaBuild prompt, enter the following:
 
-Now, proceed to patch and build SpiderMonkey 1.8.5:
-
-```bash
+```
+C:\mozilla-build\start-shell.bat
 cd /c/relax
-tar xzf bits/js185-1.0.0.tar.gz
-patch -p0 </c/relax/couchdb-glazier/bits/js185-msvc2013.patch
-cd js-1.8.5/js/src
+git clone https://github.com/mozilla/gecko-dev
+cd gecko-dev
+git checkout esr60
+cd js/src
+sed -i -E "s/(VC\.Tools\.x86\.x64')/\1, '-products', '*'/g" ../../build/moz.configure/toolchain.configure
 autoconf-2.13
-./configure --enable-static --enable-shared-js --disable-debug-symbols --disable-debug --disable-debugger-info-modules --target=x86_64-pc-mingw32 --host=x86_64-pc-mingw32
-make
+mkdir build_OPT.OBJ
+cd build_OPT.OBJ
+../configure --disable-ctypes --disable-ion --disable-jemalloc --enable-optimize --enable-hardening --with-intl-api --build-backends=RecursiveMake --with-visual-studio-version=2017 --with-system-icu --disable-debug --enable-gczeal --target=x86_64-pc-mingw32 --host=x86_64-pc-mingw32 --prefix=/c/relax/vcpkg/installed/x64-windows
+mozmake
+exit
 ```
 
-If desired, tests can be run at this point. This is optional,
-takes a while, and the math-jit-tests may fail. For more detail
-as to why, see https://bugzilla.mozilla.org/show_bug.cgi?id=1076670
-Also, one jsapi test has been disabled that crashes; this exercises
-a call CouchDB doesn't use.
+The `sed` command adds support for building with just the VS Build Tools, which are
+sufficient for just SpiderMonkey. (Otherwise, you need to download an additional 9GB of
+Visual Studio. Bleah.) The build should take about 15 minutes.
+
+Back in PowerShell, copy the binaries to where our build process expects them:
+
+```
+copy C:\relax\gecko-dev\js\src\build_OPT.OBJ\js\src\build\*.pdb C:\relax\vcpkg\installed\x64-windows\bin
+copy C:\relax\gecko-dev\js\src\build_OPT.OBJ\dist\bin\*.dll C:\relax\vcpkg\installed\x64-windows\bin
+copy C:\relax\gecko-dev\js\src\build_OPT.OBJ\dist\include\* C:\relax\vcpkg\installed\x64-windows\include -Recurse -ErrorAction SilentlyContinue
+```
+
+# Building CouchDB itself
+
+You're finally ready. You should snapshot your VM at this point!
+
+Open a new PowerShell window. Set up your shell correctly (this step works if you've
+closed your PowerShell window before any of the previous steps, too):
+
+```
+&c:\relax\couchdb-glazier\bin\shell.ps1
+```
+
+Then, start the process:
+
+```
+cd c:\relax
+git clone https://github.com/apache/couchdb
+cd couchdb
+git checkout <tag or branch of interest goes here>
+&.\configure.ps1 -WithCurl -SpiderMonkeyVersion 60
+make -f Makefile.win
+```
+
+You now have built CouchDB!
 
 To run the tests:
 
-```bash
-make check
+```
+make -f Makefile.win check
 ```
 
-Close the prompt window by entering `exit` twice.
+Finally, to build a CouchDB installer:
 
-## Building CouchDB itself
-
-Start a new `SDK prompt`, then run `c:\relax\bin\shell.cmd`.
-Select `Erlang 18.3` and `w for a Windows prompt`.
-Then, run the following commands to download and build CouchDB
-from the master repository:
-
-```dos
-cd \relax && git clone https://github.com/apache/couchdb
-cd couchdb
-# optionally, switch to a different tag or branch for building with:
-# git checkout --track origin/2.0.x
-git clean -fdx && git reset --hard
-powershell -ExecutionPolicy Bypass .\configure.ps1 -WithCurl
-make check
+```
+make -f Makefile.win release
+cd c:\relax
+&couchdb-glazier\bin\build_installer.ps1
 ```
 
-This will build a development version of CouchDB runnable via
-
-```dos
-dev\run <-n1> <--with-admin-party-please>
-```
-
-To build a self-contained CouchDB installation (also known as an Erlang
-_release_), after running the above use:
-
-```dos
-    make release
-```
-
-To build an installer using WiX to create a full Windows .msi, run:
-
-```dos
-    make release
-    cd \relax\glazier
-    bin\build_installer.cmd
-```
+The installer will be placed in your current working directory.
 
 You made it! Time to relax. :D
 
-# Appendix
+If you're a release engineer, you may find the following commands useful too:
+
+```
+checksum -t sha256 apache-couchdb.#.#.#-RC#.tar.gz
+checksum -t sha512 apache-couchdb.#.#.#-RC#.tar.gz
+gpg --verify apache-couchdb.#.#.#-RC#.tar.gz.asc
+```
+
+# Appendices
 
 ## Why Glazier?
 
@@ -330,19 +244,10 @@
 3. cygwin path for other build tools like make, autoconf, libtool
 4. the remaining windows system path
 
-It seems this is a challenge for most environments, so `glazier` just
-assumes you're using [chocolatey] and takes care of the rest.
+It seems this is a challenge for most environments, so `glazier` gets this all right for
+you by running the MSVC environment, then tacking on the things Erlang expects at the end
+of the path.
 
-Alternatively, you can launch your own cmd prompt, and ensure that your system
-path is correct first in the win32 side before starting cygwin. Once in cygwin
-go to the root of where you installed erlang, and run the Erlang/OTP script:
-
-        eval `./otp_build env_win32 x64`
-        echo $PATH | /bin/sed 's/:/\n/g'
-        which cl link mc lc mt nmake rc
-
-Confirm that output of `which` returns only MS versions from VC++ or the SDK.
-This is critical and if not correct will cause confusing errors much later on.
 Overall, the desired order for your $PATH is:
 
 - Erlang build helper scripts
@@ -354,3 +259,33 @@
 - Various settings form the `otp_build` script
 
 More details are at [erlang INSTALL-Win32.md on github](https://github.com/erlang/otp/blob/master/HOWTO/INSTALL-WIN32.md)
+
+## Windows silent installs
+
+Here are some sample commands, supporting the new features of the 3.0 installer.
+
+Install CouchDB without a service, but with an admin user:password of `admin:hunter2`:
+
+```
+msiexec /i apache-couchdb-3.0.0.msi /quiet ADMINUSER=admin ADMINPASSWORD=hunter2 /norestart
+```
+
+The same as above, but also install and launch CouchDB as a service:
+
+```
+msiexec /i apache-couchdb-3.0.0.msi /quiet INSTALLSERVICE=1 ADMINUSER=admin ADMINPASSWORD=hunter2 /norestart
+```
+
+Unattended uninstall of CouchDB:
+
+```
+msiexec /x apache-couchdb-3.0.0.msi /quiet /norestart
+```
+
+Unattended uninstall if the installer file is unavailable:
+
+```
+msiexec /x {4CD776E0-FADF-4831-AF56-E80E39F34CFC} /quiet /norestart
+```
+
+Add `/l* log.txt` to any of the above to generate a useful logfile for debugging.
diff --git a/THANKS b/THANKS
index 3f5708f..1cf752a 100644
--- a/THANKS
+++ b/THANKS
@@ -2,5 +2,8 @@
 
 THANKS
 ------
+Dave Cottlehuber
 Joan Touzet
 Oliver Tonnhofer
+Nick North
+Peng Hui Jiang
diff --git a/bin/build_curl.cmd b/bin/build_curl.cmd
deleted file mode 100755
index 2a4b2e0..0000000
--- a/bin/build_curl.cmd
+++ /dev/null
@@ -1,45 +0,0 @@
-::setlocal

-path=%path%;%relax%\openssl\bin;

-

-for %%i in ("%relax%\bits\curl-*.zip") do set curl_ver=%%~ni

-setx CURL_VER %curl_ver%

-set CURL_VER=%curl_ver%

-setx CURL_SRC %curl_src%

-set CURL_SRC=%RELAX%\%curl_ver%

-setx CURL_PATH %curl_path%

-set CURL_PATH=%relax%\curl

-

-if not defined SSL_PATH echo OpenSSL not built && goto eof

-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

-:: clean up existing installs

-:: extract bundle and name

-:: stash SSL version

-if exist %curl_path% rd /s/q %curl_path%

-if defined curl_ver rd /s/q %curl_src%

-7z x "%RELAX%\bits\curl-*.zip" -o%RELAX% -y

-

-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

-pushd %curl_src%

-:: ensure curl can find OpenSSL libraries

-set USE_SSLEAY=1

-set USE_OPENSSL=1

-set OPENSSL_PATH=%SSL_PATH%

-set INCLUDE=%INCLUDE%;%SSL_PATH%\include;%SSL_PATH%\include\openssl;

-set LIBPATH=%LIBPATH%;%SSL_PATH%\lib;

-set LIB=%LIB%;%SSL_PATH%\lib;

-pushd %curl_src%

-:: this make target works for vc2013

-:: there is no 64-bit DLL target, so we do it here ourselves

-nmake VC=VC12 VC12

-cd lib

-nmake /f Makefile.VC12 MACHINE=x64 cfg=release-dll

-cd ..\src

-nmake /f Makefile.VC12 MACHINE=x64 cfg=release-dll

-popd

-:: make this specific curl version available to CouchDB build script

-mklink /d %curl_path% %curl_src%

-popd

-endlocal

-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

-:eof

diff --git a/bin/build_icu.cmd b/bin/build_icu.cmd
deleted file mode 100755
index 1c2c1bd..0000000
--- a/bin/build_icu.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-path=%path%;c:\mozilla-build\7zip;

-setlocal

-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

-:: icu doesn't have a version name in the archive path

-set ICU_PATH=%RELAX%\icu

-setx ICU_PATH %icu_path%

-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

-:: ensure we have a fresh source tree to build from

-if exist "%icu_path%" rd /s/q %icu_path%

-7z x "%relax%\bits\icu4c-*src.zip" -o%relax% -y

-pushd %icu_path%

-:: ICU is set up for MSVS 2010, this upgrades it to 2013 support

-devenv.com %icu_path%\source\allinone\allinone.sln /Upgrade

-devenv.com %icu_path%\source\allinone\allinone.sln /Build "Release|x64"

-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

-:eof

-endlocal

diff --git a/bin/build_installer.cmd b/bin/build_installer.cmd
deleted file mode 100644
index ab9c7fd..0000000
--- a/bin/build_installer.cmd
+++ /dev/null
@@ -1,73 +0,0 @@
-@ECHO OFF
-
-:: 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.
-
-SETLOCAL ENABLEEXTENSIONS
-SETLOCAL DISABLEDELAYEDEXPANSION
-
-IF EXIST %~dp0..\..\couchdb\rel\couchdb (
-  SET COUCHDB=%~dp0..\..\couchdb\rel\couchdb
-) ELSE (
-  ECHO Error, couchdb release directory not found. Have you run make release?
-  GOTO END
-)
-
-SET OLDDIR=%cd%
-
-SET GLAZIER=%~dp0..
-SET /P START_ERL= < %COUCHDB%\releases\start_erl.data
-FOR /F "tokens=2" %%G IN ("%START_ERL%") DO SET APP_VSN=%%G
-
-:: pre-execution cleanup
-cd %GLAZIER%\installer
-rmdir /s /q release >NUL 2>&1
-del /f *.wixobj >NUL 2>&1
-del /f *.wixpdb >NUL 2>&1
-del /f couchdb.wxs couchdbfiles.wxs >NUL 2>&1
-
-:: add necessary DLLs to release directory
-xcopy %ICU_PATH%\bin64\icu*.dll %COUCHDB%\bin /Y >NUL 2>&1
-xcopy %RELAX%\js-1.8.5\js\src\dist\bin\*.dll %COUCHDB%\bin /Y >NUL 2>&1
-copy %RELAX%\curl\lib\libcurl.dll %COUCHDB%\bin /Y >NUL 2>&1
-
-:: add nssm so we can create/delete the Windows service
-copy c:\ProgramData\Chocolatey\lib\nssm\tools\nssm-2.24-101-g897c7ad\win64\nssm.exe %COUCHDB%\bin /Y >NUL 2>&1
-
-:: update version number
-:: commented out because WiX insists on a #.#.#.# number format and there's
-:: no guarantee that's what we'll see
-copy couchdb.wxs.in couchdb.wxs >NUL 2>&1
-:: cscript //NoLogo %GLAZIER%\bin\sed.vbs s/####VERSION####/%APP_VSN% < couchdb.wxs.in >couchdb.wxs
-copy %COUCHDB%\etc\default.ini .
-echo file = ./var/log/couchdb.log >>default.ini
-cscript //NoLogo %GLAZIER%\bin\sed.vbs s/stderr/file < default.ini >%COUCHDB%\etc\default.ini
-
-:: Package CouchDB as a fragment
-:: WiX skips empty directories, so we create a dummy logfile
-echo New Log >%COUCHDB%\var\log\couchdb.log
-:: We don't want to re-run heat unless files have changed. And even then,
-:: we'd want to manually merge. heat will regenerate all GUIDS and that will
-:: cause problems in the field if we ever start upgrading rather than
-:: uninstall/reinstall. It's the -gg flag that results in this behaviour.
-heat dir %COUCHDB% -dr APPLICATIONFOLDER -cg CouchDBFilesGroup -gg -g1 -sfrag -srd -sw5150 -var "var.CouchDir" -out couchdbfiles.wxs
-
-:: Build MSI for installation
-candle -arch x64 -ext WiXUtilExtension couchdb.wxs
-candle -arch x64 -dCouchDir=%COUCHDB% couchdbfiles.wxs
-candle -arch x64 -ext WiXUtilExtension couchdb_wixui.wxs
-candle -arch x64 -ext WiXUtilExtension dirwarning.wxs
-light -sw1076 -ext WixUIExtension -ext WiXUtilExtension -cultures:en-us couchdb.wixobj couchdbfiles.wixobj couchdb_wixui.wixobj dirwarning.wixobj -out couchdb-%APP_VSN%.msi
-copy couchdb-%APP_VSN%.msi %OLDDIR%
-
-cd %OLDDIR%
-:END
diff --git a/bin/build_installer.ps1 b/bin/build_installer.ps1
new file mode 100644
index 0000000..2bde102
--- /dev/null
+++ b/bin/build_installer.ps1
@@ -0,0 +1,80 @@
+# 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.
+
+if (-Not (Test-Path "${PSScriptRoot}\..\..\couchdb\rel\couchdb"))
+{
+   Write-Error "CouchDB release directory not found. Have you run make release?"
+   exit 1
+}
+if (! $env:VCPKG_BIN)
+{
+   Write-Error "Your VCPKG_BIN environment variable is not set! Exiting..."
+   exit 1
+}
+
+$CouchDB = "${PSScriptRoot}\..\..\couchdb\rel\couchdb"
+$Glazier = "${PSScriptRoot}\.."
+$CouchDBVersion = Get-Content "${CouchDB}\releases\start_erl.data" |
+      ForEach-Object {$_.Split(" ")[1]}
+$RelNotesVersion = $CouchDBVersion -replace "^(\d+\.\d+)\..*", '$1'
+
+# clean up from previous runs
+Push-Location $Glazier\installer
+Remove-Item release -Recurse -ErrorAction Ignore
+Remove-Item *.wixobj, *.wixpdb, couchdb.wxs, couchdbfiles.wxs, *.ini -ErrorAction Ignore
+Remove-Item "${CouchDB}\bin\*.dll", "${CouchDB}\bin\nssm.exe" -ErrorAction Ignore
+
+# add build assets we need in the package
+Copy-Item -Path "${env:VCPKG_BIN}\*.dll" -Destination "${CouchDB}\bin"
+Copy-Item -Path "C:\ProgramData\Chocolatey\lib\nssm\tools\nssm.exe" -Destination "${CouchDB}\bin"
+Copy-Item -Path "${CouchDB}\etc\default.ini" -Destination "."
+Move-Item -Path "${CouchDB}\etc\local.ini" -Destination "${CouchDB}\etc\local.ini.dist"
+Move-Item -Path "${CouchDB}\etc\vm.args" -Destination "${CouchDB}\etc\vm.args.dist"
+
+# customize a few files in the install for Windows
+(Get-Content "couchdb.wxs.in") `
+      -replace "###VERSION###", "${CouchDBVersion}" `
+      -replace "###RELNOTESVERSION###", "${RelNotesVersion}" |
+      Set-Content "couchdb.wxs"
+(Get-Content "default.ini") `
+      -replace "^; file =.*", "file = ./var/log/couchdb.log" `
+      -replace "^writer = stderr", "writer = file" |
+      Out-File "default.ini"
+# WiX skips empty directories, so we create a dummy logfile
+Write-Output "New Log" | Out-File "${CouchDB}\var\log\couchdb.log"
+
+# Build our custom action.
+Push-Location CustomAction
+Remove-Item obj -Recurse -ErrorAction Ignore
+MSBuild /p:Configuration=Release
+Pop-Location
+
+# We don't want to re-run heat unless files have changed. And even then,
+# we'd want to manually merge. heat will regenerate all GUIDS and that will
+# cause problems in the field if we ever start upgrading rather than
+# uninstall/reinstall. It's the -gg flag that results in this behaviour.
+heat dir "${CouchDB}" -dr APPLICATIONFOLDER -cg CouchDBFilesGroup -gg -g1 -sfrag -srd -sw5150 -var "var.CouchDir" -out couchdbfiles.wxs
+
+# Build MSI for installation
+candle -arch x64 -ext WiXUtilExtension couchdb.wxs
+candle -arch x64 "-dCouchDir=${CouchDB}" couchdbfiles.wxs
+candle -arch x64 -ext WiXUtilExtension couchdb_wixui.wxs
+candle -arch x64 -ext WiXUtilExtension adminprompt.wxs
+candle -arch x64 -ext WiXUtilExtension customexit.wxs
+candle -arch x64 -ext WiXUtilExtension CouchInstallDirDlg.wxs
+light -sw1076 -sice:ICE17 -ext WixUIExtension -ext WiXUtilExtension "-cultures:en-us;en;neutral" adminprompt.wixobj couchdb.wixobj couchdbfiles.wixobj couchdb_wixui.wixobj customexit.wixobj CouchInstallDirDlg.wixobj -out apache-couchdb-${CouchDBVersion}.msi
+
+Pop-Location
+
+Move-Item -Path "${CouchDB}\etc\local.ini.dist" -Destination "${CouchDB}\etc\local.ini"
+Move-Item -Path "${CouchDB}\etc\vm.args.dist" -Destination "${CouchDB}\etc\vm.args"
+Move-Item -Path "${Glazier}\installer\apache-couchdb-${CouchDBVersion}.msi" -Destination "." -Force
diff --git a/bin/build_openssl.cmd b/bin/build_openssl.cmd
deleted file mode 100755
index a0e76b6..0000000
--- a/bin/build_openssl.cmd
+++ /dev/null
@@ -1,42 +0,0 @@
-setlocal

-path=%path%;c:\mozilla-build\7zip;%relax%\nasm;c:\strawberry\perl\bin;

-

-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

-:: clean up existing installs

-:: extract bundle and name

-:: stash SSL version

-del /f/q "%TEMP%\openssl*.tar"

-7z x "%relax%\bits\openssl-*.tar.gz" -y -o"%TEMP%"

-

-:: get the version of OpenSSL into the environment

-for %%i in ("%TEMP%\openssl-*.tar") do set openssl_ver=%%~ni

-setx openssl_ver %openssl_ver%

-set SSL_PATH=%relax%\openssl

-setx SSL_PATH %ssl_path%

-

-if exist "%ssl_path%" rd /s/q "%ssl_path%"

-:: set up a softlink for openssl as Erlang seems to dumb to find it

-if not exist c:\openssl mklink /j c:\openssl "%relax%\openssl"

-if not exist c:\OpenSSL-Win64 mklink /j c:\OpenSSL-Win64 "%relax%\openssl"

-if defined openssl_ver rd /s/q %relax%\%openssl_ver%

-7z x "%TEMP%\openssl-*.tar" -o%relax%\ -y

-

-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

-pushd %relax%\%openssl_ver%

-perl Configure VC-WIN64A --prefix=%ssl_path%

-call ms\do_win64a

-nmake -f ms\nt.mak clean

-nmake -f ms\nt.mak all

-nmake -f ms\nt.mak test

-nmake -f ms\nt.mak install

-

-:: You may be surprised: the 64bit artefacts are indeed output in the

-:: out32* sub-directories and bear names ending *32.dll. Fact is the

-:: 64 bit compile target is so far an incremental change over the legacy

-:: 32bit windows target. Numerous compile flags are still labelled "32"

-:: although those do apply to both 32 and 64bit targets. 

-

-popd

-endlocal

-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

diff --git a/bin/command_process_hkcu.reg b/bin/command_process_hkcu.reg
deleted file mode 100644
index ed9569b..0000000
--- a/bin/command_process_hkcu.reg
+++ /dev/null
Binary files differ
diff --git a/bin/console_hkcu.reg b/bin/console_hkcu.reg
deleted file mode 100644
index 007c4f2..0000000
--- a/bin/console_hkcu.reg
+++ /dev/null
Binary files differ
diff --git a/bin/consolidate_free_space.cmd b/bin/consolidate_free_space.cmd
deleted file mode 100755
index 1258867..0000000
--- a/bin/consolidate_free_space.cmd
+++ /dev/null
@@ -1,4 +0,0 @@
-defrag /c    /h /u /v

-defrag /c /x /h /u /v

-start /d c: /high cmd /k %opt%\sysinternals\sdelete.exe -z

-start /d d: /high cmd /k %opt%\sysinternals\sdelete.exe -z

diff --git a/bin/couchdb_build.sh b/bin/couchdb_build.sh
deleted file mode 100755
index 57ac348..0000000
--- a/bin/couchdb_build.sh
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/bin/sh
-set -e
-COUCH_TOP=`pwd`
-export COUCH_TOP
-
-echo ============= COUCHDB_BUILD  MAKE ===================
-make 2>&1 | tee $COUCH_TOP/build_make.txt
-echo DONE. | tee -a $COUCH_TOP/build_make.txt
-
-echo ============= COUCHDB_BUILD CHECK  ===================
-make check 2>&1  | tee $COUCH_TOP/build_check.txt
-echo DONE. | tee -a $COUCH_TOP/build_check.txt
-
-echo ============= COUCHDB_BUILD  INSTALL ===================
-make install 2>&1  | tee $COUCH_TOP/build_install.txt
-echo DONE. | tee -a $COUCH_TOP/build_install.txt
-
-echo ============= COUCHDB_BUILD DIST  ===================
-make dist 2>&1   | tee $COUCH_TOP/build_dist.txt
-echo DONE. | tee -a $COUCH_TOP/build_dist.txt
-
-echo ============= COUCHDB_BUILD_PDB-LOGS ==================
-tar cvzf $COUCH_TOP/etc/windows/build_pdbs-logs.tar.gz \
-    `find $COUCH_TOP -name \*.pdb` \
-    $COUCH_TOP/bui*.txt \
-    `find $ERL_TOP -name \*.pdb` \
-    $ERL_TOP/bui*.txt \
-    $COUCH_TOP/config.*
-echo DONE.
-
-
-if [ -z "$BUILD_WITH_JENKINS" ] ; then
-    echo to move build files to release area run the following:
-    echo PATCH=_$OTP_ARCH_otp_$OTP_REL.exe
-    echo DEST=/cygdrive/c/jenkins/release/CouchDB/Snapshots/`date +%Y%m%d`
-    echo pushd $COUCH_TOP/etc/windows/
-    echo rename .exe \$PATCH setup-couchdb-*
-    echo WINCOUCH=\`ls -1 setup-*.exe\`
-    echo rm \$WINCOUCH.*
-    echo shasum \$WINCOUCH \> \$WINCOUCH.sha
-    echo md5sum \$WINCOUCH \> \$WINCOUCH.md5
-    echo mkdir -p \$DEST/
-    echo mv setup-couchdb-* \$DEST/
-    echo mv build_pdbs-logs.tar.gz \$DEST/\$WINCOUCH.build_pdbs-logs.tar.gz
-    echo popd
-else
-    echo ============= COUCHDB_BUILD_JENKINS ==================
-    # rename all files to match the build name
-    PATCH=_$OTP_ARCH_otp_$OTP_REL.exe
-    #DATE=/cygdrive/c/jenkins/release/CouchDB/Snapshots/`date +%Y%m%d`
-    pushd $COUCH_TOP/etc/windows/
-    rename .exe $PATCH setup-couchdb-*
-    WINCOUCH=`ls -1 setup-*.exe`
-    rm $WINCOUCH.*
-    shasum $WINCOUCH > $WINCOUCH.sha
-    md5sum $WINCOUCH > $WINCOUCH.md5
-    mv build_pdbs-logs.tar.gz $WINCOUCH.build_pdbs-logs.tar.gz
-    popd
-fi
-
-
-echo ============= COUCHDB_BUILD ===================
-echo DONE.
diff --git a/bin/couchdb_clean.sh b/bin/couchdb_clean.sh
deleted file mode 100755
index e17bb41..0000000
--- a/bin/couchdb_clean.sh
+++ /dev/null
@@ -1 +0,0 @@
-rsync -thrivaz --del /relax/zgit_couch/ /relax/git_couch
diff --git a/bin/couchdb_config.sh b/bin/couchdb_config.sh
deleted file mode 100755
index 7478028..0000000
--- a/bin/couchdb_config.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/sh
-set -e
-COUCH_TOP=`pwd`
-export COUCH_TOP
-export RELAX=`cygpath $RELAX`
-
-if [ ! -e "$COUCH_TOP/configure" ]
-then
-    echo ============= COUCHDB_CONFIG BOOTSTRAP ====================
-    ./bootstrap 2>&1 | tee $COUCH_TOP/build_configure.txt
-fi
-
-echo ============= COUCHDB_CONFIG CONFIGURE ===================
-./configure \
---prefix=$ERL_TOP/release/win32 \
---with-erlang=$ERL_TOP/release/win32/usr/include \
---with-win32-icu-binaries=$RELAX/icu \
---with-openssl-bin-dir=$RELAX/openssl/bin \
---with-msvc-redist-dir=$ERL_TOP/.. \
---with-js-lib=$RELAX/js-1.8.5/js/src/dist/lib \
---with-js-include=$RELAX/js-1.8.5/js/src/dist/include \
---disable-init \
---disable-launchd \
-#--with-win32-curl=$COUCH_TOP/../curl \
-2>&1 | tee -a $COUCH_TOP/build_configure.txt
-
-echo ============= COUCHDB_CONFIG CONFIGURE ===================
-echo DONE. | tee -a $COUCH_TOP/build_configure.txt
diff --git a/bin/install_dependencies.ps1 b/bin/install_dependencies.ps1
new file mode 100644
index 0000000..d27451e
--- /dev/null
+++ b/bin/install_dependencies.ps1
@@ -0,0 +1,44 @@
+# 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.
+
+choco install visualstudio2017buildtools "--passive --locale en-US"
+choco install visualstudio2017-workload-vctools --package-parameters "--includeRecommended --add Microsoft.VisualStudio.Component.VC.ATLMFC"
+choco install visualstudio2017-workload-nativedesktop
+choco install windows-sdk-10.1 nodejs-lts wget nasm cyg-get wixtoolset python3 make nssm gpg4win checksum archiver dependencywalker unzip
+choco install nsis --version=2.51
+Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
+Install-Module VSSetup -Scope CurrentUser -Force
+python -m pip install --upgrade pip
+pip install --upgrade sphinx docutils pygments nose hypothesis sphinx_rtd_theme
+cyg-get -upgrade p7zip autoconf binutils bison gcc-code gcc-g++ gdb git libtool make patchutils pkg-config readline file renameutils socat time tree util-linux wget
+
+wget.exe https://ftp.mozilla.org/pub/mozilla/libraries/win32/MozillaBuildSetup-3.3.exe
+.\MozillaBuildSetup-Latest.exe /S
+sleep 120
+del MozillaBuildSetup-Latest.exe
+
+git clone https://github.com/Microsoft/vcpkg.git
+cd vcpkg
+.\bootstrap-vcpkg.bat -disableMetrics -win64
+.\vcpkg integrate install --triplet x64-windows
+.\vcpkg remove openssl icu curl[openssl,tool]
+.\vcpkg install openssl icu curl[openssl,tool] --triplet x64-windows
+cd ..
+
+# below is for Erlang compile to be successful - not required for too long, see:
+#   https://github.com/erlang/otp/pull/2456
+
+New-Item -Path C:\relax\vcpkg\installed\x64-windows\lib\libeay32.lib -ItemType HardLink -Value C:\relax\vcpkg\installed\x64-windows\lib\libcrypto.lib
+New-Item -Path C:\relax\vcpkg\installed\x64-windows\lib\ssleay32.lib -ItemType HardLink -Value C:\relax\vcpkg\installed\x64-windows\lib\libssl.lib
+New-Item -Path relax\vcpkg\installed\x64-windows\lib\VC -ItemType SymbolicLink -Value relax\vcpkg\installed\x64-windows\lib
+
+. ${PSScriptRoot}\shell.ps1
diff --git a/bin/md5sum.exe b/bin/md5sum.exe
deleted file mode 100755
index 0313120..0000000
--- a/bin/md5sum.exe
+++ /dev/null
Binary files differ
diff --git a/bin/rebar b/bin/rebar
deleted file mode 100644
index 74be913..0000000
--- a/bin/rebar
+++ /dev/null
Binary files differ
diff --git a/bin/rebar.cmd b/bin/rebar.cmd
deleted file mode 100644
index 6a2ce43..0000000
--- a/bin/rebar.cmd
+++ /dev/null
@@ -1,2 +0,0 @@
-@escript "%~dp0\rebar" %*
-
diff --git a/bin/sed.vbs b/bin/sed.vbs
deleted file mode 100644
index ed203f6..0000000
--- a/bin/sed.vbs
+++ /dev/null
@@ -1,12 +0,0 @@
-Dim pat, patparts, rxp, inp
-pat = WScript.Arguments(0)
-patparts = Split(pat,"/")
-Set rxp = new RegExp
-rxp.Global = True
-rxp.Multiline = False
-rxp.Pattern = patparts(1)
-Do While Not WScript.StdIn.AtEndOfStream
-  inp = WScript.StdIn.ReadLine()
-  WScript.Echo rxp.Replace(inp, patparts(2))
-Loop
-
diff --git a/bin/shell.cmd b/bin/shell.cmd
deleted file mode 100755
index ba49e1c..0000000
--- a/bin/shell.cmd
+++ /dev/null
@@ -1,118 +0,0 @@
-@echo off

-title Time to Relax.

-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

-set CYGWIN=nontsec nodosfilewarning

-if not exist c:\temp mkdir c:\temp

-set TEMP=c:\temp

-set TMP=c:\temp

-

-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

-:: following settings allow Erlang build to locate openssl correctly

-:: and CouchDB to find ICU, Curl, and SSL if required

-set USE_SSLEAY=1

-set USE_OPENSSL=1

-if not defined SSL_PATH  set SSL_PATH=%RELAX%\openssl

-if not defined ICU_PATH  set ICU_PATH=%RELAX%\icu

-if not defined CURL_PATH set CURL_PATH=%RELAX%\curl

-if not defined ZLIB_PATH set ZLIB_PATH=%RELAX%\zlib

-

-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

-:: LIB and INCLUDE are preset by Windows SDK and/or Visual C++ shells

-:: however VC++ uses LIB & INCLUDE and SDK uses Lib & Include. In Cygwin

-:: these are *NOT* the same but when we shell out to CL.exe and LINK.exe

-:: all is well again

-

-:: relax for couchdb

-:: werldir for building erlang

-

-if not defined RELAX setx RELAX e:\relax > NUL:

-if not defined RELAX set RELAX=e:\relax

-if not defined WERL_DIR setx WERL_DIR c:\werl > NUL:

-if not defined WERL_DIR set WERL_DIR=c:\werl

-

-set INCLUDE=%INCLUDE%;%SSL_PATH%\include\openssl;%SSL_PATH%\include;%CURL_PATH%\include\curl;%ICU_PATH%\include;

-set LIBPATH=%LIBPATH%;%SSL_PATH%\lib;%CURL_PATH%\lib;%ICU_PATH%\lib;

-set LIB=%LIB%;%SSL_PATH%\lib;%CURL_PATH%\lib;%ICU_PATH%\lib;

-

-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

-:: check which version of erlang setup we want

-:: pick up from jenkins if required

-if not defined BUILD_WITH_JENKINS goto select

-if not defined OTP_REL goto select

-goto %OTP_REL%

-:: no default, so let's ask the user instead!

-:: choice.exe exists on all windows platforms since MSDOS but not on XP

-:select

-echo Select an Erlang:

-echo       7 for Erlang 17.5 

-echo       8 for Erlang 18.3 (default)

-echo       9 for Erlang 19.3

-set /p choice="Make your selection ===> "

-if /i "%choice%"=="0" goto win_shell

-if /i "%choice%"=="7" goto 17.5

-if /i "%choice%"=="8" goto 18.3

-if /i "%choice%"=="9" goto 19.3

-:: else

-goto 18.3

-

-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

-:17.5

-set ERTS_VSN=6.4

-set OTP_REL=17.5

-goto shell_select

-

-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

-:18.3

-set ERTS_VSN=7.3

-set OTP_REL=18.3

-goto shell_select

-

-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

-:19.3

-set ERTS_VSN=8.3

-set OTP_REL=19.3

-goto shell_select

-

-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

-:shell_select

-for /f "usebackq" %%i in (`c:\tools\cygwin\bin\cygpath.exe %WERL_DIR%`) do @set WERL_PATH=%%i

-

-echo Select a shell:

-echo       w for Windows prompt (default)

-echo       b for bash prompt

-echo       p for PowerShell prompt

-set /p choice="Make your selection ===> "

-if /i "%choice%"=="w" goto win_shell

-if /i "%choice%"=="b" goto unix_shell

-if /i "%choice%"=="p" goto ps_shell

-:: else

-goto :win_shell

-

-:unix_shell

-set ERL_TOP=%WERL_PATH%/otp_src_%OTP_REL%

-color

-title Building in %ERL_TOP% with OTP %OTP_REL% and Erlang v%ERTS_VSN%

-c:\tools\cygwin\bin\bash %relax%\bin\shell.sh

-goto eof

-

-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

-:win_shell

-set ERL_TOP=%WERL_DIR%\otp_src_%OTP_REL%

-echo Type exit to stop relaxing.

-title On the couch. Type exit to stop relaxing.

-:: Need these things on the path to build/run CouchDB

-set PATH=%ERL_TOP%\release\win32\erts-%ERTS_VSN%\bin;%ERL_TOP%\bootstrap\bin;%ERL_TOP%\erts\etc\win32\cygwin_tools\vc;%ERL_TOP%\erts\etc\win32\cygwin_tools;%RELAX%\bin;%PATH%;%ICU_PATH%\bin64;%RELAX%\js-1.8.5\js\src\dist\bin;%RELAX%\curl\lib;C:\Python36\Scripts;C:\Program Files\nodejs;C:\Program Files (x86)\WiX Toolset v3.11\bin;C:\tools\cygwin\bin

-cmd.exe /k

-goto eof

-

-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

-:ps_shell

-echo Type exit to stop relaxing.

-title On the couch. Type exit to stop relaxing.

-set PATH=%ERL_TOP%\release\win32\erts-%ERTS_VSN%\bin;%ERL_TOP%\bootstrap\bin;%ERL_TOP%\erts\etc\win32\cygwin_tools\vc;%ERL_TOP%\erts\etc\win32\cygwin_tools;c:\relax\bin;%PATH%;%ICU_PATH%\bin64;C:\Relax\js-1.8.5\js\src\dist\bin;C:\relax\curl\lib;c:\ProgramData\chocolatey\lib\python3\tools\Scripts;C:\Program Files\nodejs;C:\Program Files (x86)\WiX Toolset v3.11\bin

-powershell

-goto eof

-

-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

-:eof

-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

diff --git a/bin/shell.ps1 b/bin/shell.ps1
new file mode 100644
index 0000000..acb1405
--- /dev/null
+++ b/bin/shell.ps1
@@ -0,0 +1,31 @@
+# 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.
+
+$installationPath = vswhere.exe -prerelease -products Microsoft.VisualStudio.Product.BuildTools -version '[15.0,16.0)' -property InstallationPath
+if ($installationPath -and (test-path "$installationPath\Common7\Tools\vsdevcmd.bat")) {
+  & "${env:COMSPEC}" /s /c "`"$installationPath\Common7\Tools\vsdevcmd.bat`" -arch=amd64 -no_logo && set" | foreach-object {
+    $name, $value = $_ -split '=', 2
+    set-content env:\"$name" $value
+  }
+}
+Import-Module ${PSScriptRoot}\which.psm1
+
+$env:VCPKG_BIN = "C:\relax\vcpkg\installed\x64-windows\bin"
+$env:PATH += ";C:\Program Files\erl9.3.3.14\bin" 
+$env:PATH += ";C:\relax\vcpkg\installed\x64-windows\bin"
+$env:PATH += ";C:\Program Files (x86)\WiX Toolset v3.11\bin"
+
+$env:LIB = "C:\relax\vcpkg\installed\x64-windows\lib;" + $env:LIB
+$env:INCLUDE = "C:\relax\vcpkg\installed\x64-windows\include;" + $env:INCLUDE
+$env:LIBPATH = "C:\relax\vcpkg\installed\x64-windows\lib;" + $env:LIBPATH
+
+Set-ExecutionPolicy Bypass -Scope Process -Force
diff --git a/bin/shell.sh b/bin/shell.sh
deleted file mode 100755
index 6b445d1..0000000
--- a/bin/shell.sh
+++ /dev/null
@@ -1,116 +0,0 @@
-#!/bin/bash
-# inspired by https://github.com/erlang/otp/blob/master/HOWTO/INSTALL-WIN32.md
-# written by joan touzet (@wohali) and dave cottlehuber (@dch)
-
-# first, a base default path for cygwin
-PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:\
-/cygdrive/c/windows/system32:/cygdrive/c/windows:\
-/cygdrive/c/windows/system32/Wbem
-
-# utility functions from INSTALL-WIN32.md, forced to cygwin mode
-make_winpath()
-{
-  P=$1
-  cygpath -d "$P"
-}
-
-make_upath()
-{
-  P=$1
-  cygpath "$P"
-}
-
-
-# build for the right version of erlang
-echo Using Erlang $ERTS_VSN OTP $OTP_VER in $ERL_TOP
-echo
-
-# convenience variables
-C_DRV=/cygdrive/c
-PRG_FLS64=$C_DRV/Program\ Files
-PRG_FLS32=$C_DRV/Program\ Files\ \(x86\)
-
-# MSVS 2013
-VISUAL_STUDIO_ROOT32=$PRG_FLS32/Microsoft\ Visual\ Studio\ 12.0
-MS_SDK_ROOT64=$PRG_FLS32/Windows\ Kits/8.1
-NETFX_ROOT64=$PRG_FLS32/Microsoft\ SDKs/Windows/v8.1A/bin/NETFX\ 4.5.1\ Tools/x64
-# Okay, now mangle the paths and get rid of spaces by using short names
-WIN_VCROOT32=`make_winpath "$VISUAL_STUDIO_ROOT32"`
-VCROOT32=`make_upath $WIN_VCROOT32`
-WIN_SDKROOT64=`make_winpath "$MS_SDK_ROOT64"`
-SDKROOT64=`make_upath $WIN_SDKROOT64`
-WIN_NETFXROOT64=`make_winpath "$NETFX_ROOT64"`
-NETFXROOT64=`make_upath $WIN_NETFXROOT64`
-WIN_PROGRAMFILES32=`make_winpath "$PRG_FLS32"`
-PROGRAMFILES32=`make_upath $WIN_PROGRAMFILES32`
-
-WIN_PROGRAMFILES64=`make_winpath "$PRG_FLS64"`
-PROGRAMFILES64=`make_upath $WIN_PROGRAMFILES64`
-
-# nsis
-NSIS_BIN=$PRG_FLS32/NSIS
-# openssl
-OPENSSL_BIN=/cygdrive/c/relax/openssl/bin
-# skipping java
-
-# now a path to everything we are about to build
-ERL_PATH=$ERL_TOP/release/win32/erts-$ERTS_VSN/bin:\
-$ERL_TOP/bootstrap/bin:\
-$ERL_TOP/erts/etc/win32/cygwin_tools/vc:\
-$ERL_TOP/erts/etc/win32/cygwin_tools
-
-# path to everything Visual Studio 2013
-VC_PATH=$VCROOT32/Common7/IDE:$VCROOT32/VC/BIN/amd64:$VCROOT32/Common7/Tools:\
-$VCROOT32/VC/VCPackages:$NETFXROOT64:$SDKROOT64/bin/x64:\
-$SDKROOT64/bin
-
-# .Net framework which we need to have clean manifests and SxS for Win7 x64
-DOTNET_PATH=/cygdrive/c/WINDOWS/Microsoft.NET/Framework:/cygdrive/c/WINDOWS/Microsoft.NET/Framework/v4.0.30319:/cygdrive/c/WINDOWS/Microsoft.NET/Framework/v3.5
-
-# glazier tools
-GLAZIER_PATH=$PATH:/relax/bin:/relax/bits
-
-# put it all together
-PATH=$NSIS_BIN:$OPENSSL_BIN:$VC_PATH:$PATH:$DOTNET_PATH:$ERL_PATH:$GLAZIER_PATH
-
-# Microsoft SDK libpaths are set by setup.cmd
-
-CC_SH_DEBUG_LOG=$TMP/cc_r$OTP_VER.log
-LD_SH_DEBUG_LOG=$TMP/ld_r$OTP_VER.log
-RC_SH_DEBUG_LOG=$TMP/rc_r$OTP_VER.log
-MD_SH_DEBUG_LOG=$TMP/md_r$OTP_VER.log
-MC_SH_DEBUG_LOG=$TMP/mc_r$OTP_VER.log
-
-TERM=xterm
-
-export INCLUDE LIB LIBPATH PATH TMP ERL_TOP ERTS_VSN OTP_VER SHELL RELAX TERM CC_SH_DEBUG_LOG LD_SH_DEBUG_LOG RC_SH_DEBUG_LOG MD_SH_DEBUG_LOG MC_SH_DEBUG_LOG
-
-# ensure we have an ERL_TOP to go to
-mkdir -p $ERL_TOP > /dev/null 2>&1
-
-# add in otp_build settings
-eval `$ERL_TOP/otp_build env_win32 x64`
-
-echo doing sanity checks...
-echo current path:
-echo $PATH | /bin/sed 's/:/\n/g'
-echo
-echo please check the toolkit paths point to Microsoft versions:
-which mc lc cl link mt rc cvtres
-echo
-
-echo Ready to build Erlang and CouchDB using Erlang $ERTS_VSN OTP $OTP_VER in $ERL_TOP
-echo Time to Relax.
-
-if [ -z "$BUILD_WITH_JENKINS" ] ; then
-  pushd $ERL_TOP
-  bash -i
-else
-	echo Working directory is: `pwd`
-	git clean -fdx
-	git reset --hard
-	./bootstrap
-	/relax/bin/couchdb_config.sh
-	/relax/bin/couchdb_build.sh
-fi
-
diff --git a/bin/slim_couch.cmd b/bin/slim_couch.cmd
deleted file mode 100644
index ee778bc..0000000
--- a/bin/slim_couch.cmd
+++ /dev/null
@@ -1,74 +0,0 @@
-@echo off
-setlocal
-:: are we *really* in %COUCH% ?
-if not exist bin\couchdb.bat echo FAIL: this script must be run in %%COUCH%% && goto :eof
-
-:: prune any existing COUCH stuff
-rd /s/q var
-mkdir var\log\couchdb var\lib\couchdb var\run\couchdb
-del unins*
-
-:: prune libs
-pushd lib
-mkdir ..\stash ..\trash
-for /d %%i in (couch-* snappy-* ejson-* common-test-* compiler-* crypto-* debugger-* erlang-oauth* erts-* etap* eunit* hipe* ibrowse-* inets-* kernel-* mochiweb-* os_mon-* parse-tools-* pman-* public_key-* reltool-* runtime_tools-* sasl-* ssl-* stdlib-* xmerl-*) do @echo stashing [%%i] && move "%%i" ..\stash\ > NUL: 2>&1
-for /d %%i in (*) do @echo trashing [%%i] && move "%%i" ..\trash\ > NUL: 2>&1
-for /d %%i in (..\stash\*) do @move "%%i" > NUL: 2>&1
-popd && echo rd /s/q stash trash
-
-:: prune erts
-pushd erts* && rd /s/q include lib src & popd
-
-:: lean beams + misc bits
-pushd lib && for /r %%i in (examples src include obj) do @if exist "%%i" echo cleaned [%%i] && rd /s/q "%%i"
-popd
-
-:: misc bits
-del /s/q/f erl.ini
-rd /s/q releases
-rd /s/q share\doc share\man
-pushd bin && del typer.exe run_test.exe ct_run.exe dialyzer.exe & popd
-pushd erts-*\bin && del ct_run.exe dialyzer.exe typer.exe & popd
-
-:: Before
-:: C:\couch\1.1.0_icu442>diruse . -, -m -*
-::
-::    Size (mb)  Files  Directory
-::        19.30     19  SUB-TOTAL: ..\bin
-::         4.39     70  SUB-TOTAL: ..\erts-5.8.2
-::         0.01      2  SUB-TOTAL: ..\etc
-::        104.1   4686  SUB-TOTAL: ..\lib
-::         0.04      9  SUB-TOTAL: ..\releases
-::         1.27    177  SUB-TOTAL: ..\share
-::         0.00      0  SUB-TOTAL: ..\var
-::       129.11   4963  TOTAL
-:: After
-:: C:\couch>diruse -,  -m -* 1.1.0_slim
-::
-::    Size (mb)  Files  Directory
-::        19.23     15  SUB-TOTAL: 1.1.0_SLIM\bin
-::         3.40     11  SUB-TOTAL: 1.1.0_SLIM\erts-5.8.2
-::         0.01      2  SUB-TOTAL: 1.1.0_SLIM\etc
-::        10.07    530  SUB-TOTAL: 1.1.0_SLIM\lib
-::         1.24    163  SUB-TOTAL: 1.1.0_SLIM\share
-::         0.00      0  SUB-TOTAL: 1.1.0_SLIM\var
-::        33.94    721  TOTAL
-echo DONE
-echo remember to use 7zip to compress for 25% better reduction vs zip/gz
-echo e.g. 7zip a -mx9 slimcouch.7z slimcouch
-echo 7zip a -mx9 archive.7z folder gets a 15MiB .7z file vs zip 21MiB file
-echo NOTES - further pruning options to test
-echo remove futon rd /s/q share\couchdb\www
-echo werl.exe, escript.exe, erlc.exe, heart.exe if you're sure
-echo use erlc "+compressed" to squash beam files at build time
-echo use this to strip beams:
-echo erl -noinput -eval 'erlang:display(beam_lib:strip_release("."))' -s init stop
-echo what modules are needed? read http://erlang.org/pipermail/erlang-questions/2011-June/059489.html
-echo vcredist_x86.exe if you are deploying via MSI pre-req or GPOs
-echo share/couchdb/www if you don't need futon locally
-echo script doesn't handle extensions like geocouch yet
-echo erts-*\bin is duplicated, maybe try a junction point and avoid install.exe
-echo bin\* erts-5.8.2\bin\ /y ^& rd bin ^& junction bin erts-5.8.2\bin
-
-:eof
-endlocal
diff --git a/bin/sync_otp.cmd b/bin/sync_otp.cmd
deleted file mode 100755
index 76abf78..0000000
--- a/bin/sync_otp.cmd
+++ /dev/null
@@ -1,3 +0,0 @@
-if not defined WERL_SRC  set WERL_SRC=c:\relax\werl

-if not defined WERL_DIR  set WERL_DIR=c:\jenkins\workspace\werl

-robocopy %WERL_SRC% %WERL_DIR% -mir -log:NUL: -r:0 -w:0

diff --git a/bin/which.psm1 b/bin/which.psm1
new file mode 100644
index 0000000..195c3ab
--- /dev/null
+++ b/bin/which.psm1
@@ -0,0 +1,6 @@
+function which($name)
+{
+    Get-Command $name | Select-Object -ExpandProperty Definition
+}
+
+Export-ModuleMember -Function 'which'
diff --git a/bits/couchdb-500x500.ico b/bits/couchdb-500x500.ico
new file mode 100644
index 0000000..14f04cd
--- /dev/null
+++ b/bits/couchdb-500x500.ico
Binary files differ
diff --git a/bits/js185-msvc2013.patch b/bits/js185-msvc2013.patch
deleted file mode 100644
index 6a60682..0000000
--- a/bits/js185-msvc2013.patch
+++ /dev/null
@@ -1,4434 +0,0 @@
-diff -Naurb js-1.8.5-dist/js/src/configure js-1.8.5/js/src/configure
---- js-1.8.5-dist/js/src/configure	2011-03-31 15:08:36 -0400
-+++ js-1.8.5/js/src/configure	2015-08-26 12:33:27 -0400
-@@ -2944,6 +2944,17 @@
- #define _CRT_NONSTDC_NO_WARNINGS 1
- EOF
- 
-+        elif test "$_CC_MAJOR_VERSION" = "18"; then
-+            _CC_SUITE=12
-+            CXXFLAGS="$CXXFLAGS -Zc:wchar_t-"
-+            cat >> confdefs.h <<\EOF
-+#define _CRT_SECURE_NO_WARNINGS 1
-+EOF
-+
-+            cat >> confdefs.h <<\EOF
-+#define _CRT_NONSTDC_NO_WARNINGS 1
-+EOF
-+
-         else
-             { echo "configure: error: This version ($CC_VERSION) of the MSVC compiler is unsupported. See https://developer.mozilla.org/en/Windows_Build_Prerequisites." 1>&2; exit 1; }
-         fi
-@@ -2986,7 +2997,7 @@
-         # Windows Server 2008 and newer SDKs have WinSDKVer.h, get the version
-         # from there
-         echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
--echo "configure:2990: checking how to run the C preprocessor" >&5
-+echo "configure:3001: checking how to run the C preprocessor" >&5
- # On Suns, sometimes $CPP names a directory.
- if test -n "$CPP" && test -d "$CPP"; then
-   CPP=
-@@ -3001,13 +3012,13 @@
-   # On the NeXT, cc -E runs the code through the compiler's parser,
-   # not just through cpp.
-   cat > conftest.$ac_ext <<EOF
--#line 3005 "configure"
-+#line 3016 "configure"
- #include "confdefs.h"
- #include <assert.h>
- Syntax Error
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:3011: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:3022: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   :
-@@ -3018,13 +3029,13 @@
-   rm -rf conftest*
-   CPP="${CC-cc} -E -traditional-cpp"
-   cat > conftest.$ac_ext <<EOF
--#line 3022 "configure"
-+#line 3033 "configure"
- #include "confdefs.h"
- #include <assert.h>
- Syntax Error
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:3028: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:3039: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   :
-@@ -3035,13 +3046,13 @@
-   rm -rf conftest*
-   CPP="${CC-cc} -nologo -E"
-   cat > conftest.$ac_ext <<EOF
--#line 3039 "configure"
-+#line 3050 "configure"
- #include "confdefs.h"
- #include <assert.h>
- Syntax Error
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:3045: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:3056: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   :
-@@ -3069,17 +3080,17 @@
- do
- ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
--echo "configure:3073: checking for $ac_hdr" >&5
-+echo "configure:3084: checking for $ac_hdr" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 3078 "configure"
-+#line 3089 "configure"
- #include "confdefs.h"
- #include <$ac_hdr>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:3083: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:3094: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -3111,7 +3122,7 @@
-             # This is done because the Windows 7 beta SDK reports its
-             # NTDDI_MAXVER to be 0x06000100 instead of 0x06010000, as it should
-             echo $ac_n "checking for highest Windows version supported by this SDK""... $ac_c" 1>&6
--echo "configure:3115: checking for highest Windows version supported by this SDK" >&5
-+echo "configure:3126: checking for highest Windows version supported by this SDK" >&5
- if eval "test \"`echo '$''{'ac_cv_winsdk_maxver'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -3141,17 +3152,17 @@
- do
- ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
--echo "configure:3145: checking for $ac_hdr" >&5
-+echo "configure:3156: checking for $ac_hdr" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 3150 "configure"
-+#line 3161 "configure"
- #include "confdefs.h"
- #include <$ac_hdr>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:3155: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:3166: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -3188,7 +3199,7 @@
-         unset _MSVC_VER_FILTER
- 
-         echo $ac_n "checking for std::_Throw""... $ac_c" 1>&6
--echo "configure:3192: checking for std::_Throw" >&5
-+echo "configure:3203: checking for std::_Throw" >&5
- if eval "test \"`echo '$''{'ac_cv_have_std__Throw'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -3204,14 +3215,14 @@
-                 _SAVE_CXXFLAGS="$CXXFLAGS"
-                 CXXFLAGS="${CXXFLAGS} -D_HAS_EXCEPTIONS=0"
-                 cat > conftest.$ac_ext <<EOF
--#line 3208 "configure"
-+#line 3219 "configure"
- #include "confdefs.h"
- #include <exception>
- int main() {
- std::_Throw(std::exception()); return 0;
- ; return 0; }
- EOF
--if { (eval echo configure:3215: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:3226: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_have_std__Throw="yes"
- else
-@@ -3236,7 +3247,7 @@
- 
-         if test "$ac_cv_have_std__Throw" == "yes"; then
-             echo $ac_n "checking for |class __declspec(dllimport) exception| bug""... $ac_c" 1>&6
--echo "configure:3240: checking for |class __declspec(dllimport) exception| bug" >&5
-+echo "configure:3251: checking for |class __declspec(dllimport) exception| bug" >&5
- if eval "test \"`echo '$''{'ac_cv_have_dllimport_exception_bug'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -3252,14 +3263,14 @@
-                     _SAVE_CXXFLAGS="$CXXFLAGS"
-                     CXXFLAGS="${CXXFLAGS} -D_HAS_EXCEPTIONS=0"
-                     cat > conftest.$ac_ext <<EOF
--#line 3256 "configure"
-+#line 3267 "configure"
- #include "confdefs.h"
- #include <vector>
- int main() {
- std::vector<int> v; return v.at(1);
- ; return 0; }
- EOF
--if { (eval echo configure:3263: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:3274: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   ac_cv_have_dllimport_exception_bug="no"
- else
-@@ -3291,7 +3302,7 @@
-             fi
-         else
-             echo $ac_n "checking for overridable _RAISE""... $ac_c" 1>&6
--echo "configure:3295: checking for overridable _RAISE" >&5
-+echo "configure:3306: checking for overridable _RAISE" >&5
- if eval "test \"`echo '$''{'ac_cv_have__RAISE'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -3307,7 +3318,7 @@
-                     _SAVE_CXXFLAGS="$CXXFLAGS"
-                     CXXFLAGS="${CXXFLAGS} -D_HAS_EXCEPTIONS=0"
-                     cat > conftest.$ac_ext <<EOF
--#line 3311 "configure"
-+#line 3322 "configure"
- #include "confdefs.h"
- #include <xstddef>
-                                     #undef _RAISE
-@@ -3318,7 +3329,7 @@
- std::vector<int> v; return v.at(1);
- ; return 0; }
- EOF
--if { (eval echo configure:3322: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:3333: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_have__RAISE="no"
- else
-@@ -3360,9 +3371,9 @@
-         _W32API_MAJOR_VERSION=`echo $W32API_VERSION | $AWK -F\. '{ print $1 }'`
-         _W32API_MINOR_VERSION=`echo $W32API_VERSION | $AWK -F\. '{ print $2 }'`
-         echo $ac_n "checking for w32api version >= $W32API_VERSION""... $ac_c" 1>&6
--echo "configure:3364: checking for w32api version >= $W32API_VERSION" >&5
-+echo "configure:3375: checking for w32api version >= $W32API_VERSION" >&5
-         cat > conftest.$ac_ext <<EOF
--#line 3366 "configure"
-+#line 3377 "configure"
- #include "confdefs.h"
- #include <w32api.h>
- int main() {
-@@ -3374,7 +3385,7 @@
-             
- ; return 0; }
- EOF
--if { (eval echo configure:3378: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:3389: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-    res=yes 
- else
-@@ -3390,7 +3401,7 @@
-         fi
-         # Check windres version
-         echo $ac_n "checking for windres version >= $WINDRES_VERSION""... $ac_c" 1>&6
--echo "configure:3394: checking for windres version >= $WINDRES_VERSION" >&5
-+echo "configure:3405: checking for windres version >= $WINDRES_VERSION" >&5
-         _WINDRES_VERSION=`${WINDRES} --version 2>&1 | grep -i windres 2>/dev/null | $AWK '{ print $3 }'`
-         echo "$ac_t""$_WINDRES_VERSION" 1>&6
-         _WINDRES_MAJOR_VERSION=`echo $_WINDRES_VERSION | $AWK -F\. '{ print $1 }'`
-@@ -3430,7 +3441,7 @@
-     # If the maximum version supported by this SDK is lower than the target
-     # version, error out
-     echo $ac_n "checking for Windows SDK being recent enough""... $ac_c" 1>&6
--echo "configure:3434: checking for Windows SDK being recent enough" >&5
-+echo "configure:3445: checking for Windows SDK being recent enough" >&5
-     if $PERL -e "exit(0x$MOZ_WINSDK_TARGETVER > $MOZ_WINSDK_MAXVER)"; then
-         echo "$ac_t"""yes"" 1>&6
-     else
-@@ -3461,10 +3472,10 @@
- if test "$CC" != "icc" -a -z "$_WIN32_MSVC"; then
-     if test "x$CC" != xcc; then
-   echo $ac_n "checking whether $CC and cc understand -c and -o together""... $ac_c" 1>&6
--echo "configure:3465: checking whether $CC and cc understand -c and -o together" >&5
-+echo "configure:3476: checking whether $CC and cc understand -c and -o together" >&5
- else
-   echo $ac_n "checking whether cc understands -c and -o together""... $ac_c" 1>&6
--echo "configure:3468: checking whether cc understands -c and -o together" >&5
-+echo "configure:3479: checking whether cc understands -c and -o together" >&5
- fi
- set dummy $CC; ac_cc="`echo $2 |
- 		       sed -e 's/[^a-zA-Z0-9_]/_/g' -e 's/^[0-9]/_/'`"
-@@ -3476,16 +3487,16 @@
- # We do the test twice because some compilers refuse to overwrite an
- # existing .o file with -o, though they will create one.
- ac_try='${CC-cc} -c conftest.c -o conftest.o 1>&5'
--if { (eval echo configure:3480: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } &&
--   test -f conftest.o && { (eval echo configure:3481: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; };
-+if { (eval echo configure:3491: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } &&
-+   test -f conftest.o && { (eval echo configure:3492: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; };
- then
-   eval ac_cv_prog_cc_${ac_cc}_c_o=yes
-   if test "x$CC" != xcc; then
-     # Test first that cc exists at all.
--    if { ac_try='cc -c conftest.c 1>&5'; { (eval echo configure:3486: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
-+    if { ac_try='cc -c conftest.c 1>&5'; { (eval echo configure:3497: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
-       ac_try='cc -c conftest.c -o conftest.o 1>&5'
--      if { (eval echo configure:3488: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } &&
--	 test -f conftest.o && { (eval echo configure:3489: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; };
-+      if { (eval echo configure:3499: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } &&
-+	 test -f conftest.o && { (eval echo configure:3500: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; };
-       then
-         # cc works too.
-         :
-@@ -3521,7 +3532,7 @@
- fi
- 
- echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
--echo "configure:3525: checking how to run the C preprocessor" >&5
-+echo "configure:3536: checking how to run the C preprocessor" >&5
- # On Suns, sometimes $CPP names a directory.
- if test -n "$CPP" && test -d "$CPP"; then
-   CPP=
-@@ -3536,13 +3547,13 @@
-   # On the NeXT, cc -E runs the code through the compiler's parser,
-   # not just through cpp.
-   cat > conftest.$ac_ext <<EOF
--#line 3540 "configure"
-+#line 3551 "configure"
- #include "confdefs.h"
- #include <assert.h>
- Syntax Error
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:3546: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:3557: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   :
-@@ -3553,13 +3564,13 @@
-   rm -rf conftest*
-   CPP="${CC-cc} -E -traditional-cpp"
-   cat > conftest.$ac_ext <<EOF
--#line 3557 "configure"
-+#line 3568 "configure"
- #include "confdefs.h"
- #include <assert.h>
- Syntax Error
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:3563: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:3574: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   :
-@@ -3570,13 +3581,13 @@
-   rm -rf conftest*
-   CPP="${CC-cc} -nologo -E"
-   cat > conftest.$ac_ext <<EOF
--#line 3574 "configure"
-+#line 3585 "configure"
- #include "confdefs.h"
- #include <assert.h>
- Syntax Error
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:3580: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:3591: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   :
-@@ -3601,7 +3612,7 @@
- echo "$ac_t""$CPP" 1>&6
- 
- echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
--echo "configure:3605: checking how to run the C++ preprocessor" >&5
-+echo "configure:3616: checking how to run the C++ preprocessor" >&5
- if test -z "$CXXCPP"; then
- if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
-@@ -3614,12 +3625,12 @@
- cross_compiling=$ac_cv_prog_cxx_cross
-   CXXCPP="${CXX-g++} -E"
-   cat > conftest.$ac_ext <<EOF
--#line 3618 "configure"
-+#line 3629 "configure"
- #include "confdefs.h"
- #include <stdlib.h>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:3623: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:3634: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   :
-@@ -3709,7 +3720,7 @@
- # Extract the first word of "$ac_prog", so it can be a program name with args.
- set dummy $ac_prog; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:3713: checking for $ac_word" >&5
-+echo "configure:3724: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_prog_SBCONF'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -3776,7 +3787,7 @@
- # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
- # ./install, which can be erroneously created by make from ./install.sh.
- echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
--echo "configure:3780: checking for a BSD compatible install" >&5
-+echo "configure:3791: checking for a BSD compatible install" >&5
- if test -z "$INSTALL"; then
- if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
-@@ -3829,7 +3840,7 @@
- test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
- 
- echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
--echo "configure:3833: checking whether ln -s works" >&5
-+echo "configure:3844: checking whether ln -s works" >&5
- if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -3852,7 +3863,7 @@
- 
- if test -z "$TINDERBOX_SKIP_PERL_VERSION_CHECK"; then
- echo $ac_n "checking for minimum required perl version >= $PERL_VERSION""... $ac_c" 1>&6
--echo "configure:3856: checking for minimum required perl version >= $PERL_VERSION" >&5
-+echo "configure:3867: checking for minimum required perl version >= $PERL_VERSION" >&5
- _perl_version=`PERL_VERSION=$PERL_VERSION $PERL -e 'print "$]"; if ($] >= $ENV{PERL_VERSION}) { exit(0); } else { exit(1); }' 2>&5`
- _perl_res=$?
- echo "$ac_t""$_perl_version" 1>&6
-@@ -3863,7 +3874,7 @@
- fi
- 
- echo $ac_n "checking for full perl installation""... $ac_c" 1>&6
--echo "configure:3867: checking for full perl installation" >&5
-+echo "configure:3878: checking for full perl installation" >&5
- _perl_archlib=`$PERL -e 'use Config; if ( -d $Config{archlib} ) { exit(0); } else { exit(1); }' 2>&5`
- _perl_res=$?
- if test "$_perl_res" != 0; then
-@@ -3878,7 +3889,7 @@
- # Extract the first word of "$ac_prog", so it can be a program name with args.
- set dummy $ac_prog; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:3882: checking for $ac_word" >&5
-+echo "configure:3893: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_path_PYTHON'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -3938,7 +3949,7 @@
-  # Extract the first word of "doxygen", so it can be a program name with args.
- set dummy doxygen; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:3942: checking for $ac_word" >&5
-+echo "configure:3953: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_path_DOXYGEN'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -3987,7 +3998,7 @@
-  # Extract the first word of "autoconf", so it can be a program name with args.
- set dummy autoconf; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:3991: checking for $ac_word" >&5
-+echo "configure:4002: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_path_AUTOCONF'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -4036,7 +4047,7 @@
-  # Extract the first word of "unzip", so it can be a program name with args.
- set dummy unzip; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:4040: checking for $ac_word" >&5
-+echo "configure:4051: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_path_UNZIP'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -4087,7 +4098,7 @@
- # Extract the first word of "$ac_prog", so it can be a program name with args.
- set dummy $ac_prog; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:4091: checking for $ac_word" >&5
-+echo "configure:4102: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_path_ZIP'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -4141,7 +4152,7 @@
-  # Extract the first word of "makedepend", so it can be a program name with args.
- set dummy makedepend; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:4145: checking for $ac_word" >&5
-+echo "configure:4156: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_path_SYSTEM_MAKEDEPEND'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -4189,7 +4200,7 @@
-  # Extract the first word of "xargs", so it can be a program name with args.
- set dummy xargs; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:4193: checking for $ac_word" >&5
-+echo "configure:4204: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_path_XARGS'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -4263,7 +4274,7 @@
- # Extract the first word of "$ac_prog", so it can be a program name with args.
- set dummy $ac_prog; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:4267: checking for $ac_word" >&5
-+echo "configure:4278: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_path_PBBUILD'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -4326,7 +4337,7 @@
-              # Extract the first word of "sdp", so it can be a program name with args.
- set dummy sdp; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:4330: checking for $ac_word" >&5
-+echo "configure:4341: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_path_SDP'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -4452,7 +4463,7 @@
- 
-   
-   echo $ac_n "checking for valid compiler/Mac OS X SDK combination""... $ac_c" 1>&6
--echo "configure:4456: checking for valid compiler/Mac OS X SDK combination" >&5
-+echo "configure:4467: checking for valid compiler/Mac OS X SDK combination" >&5
-   ac_ext=C
- # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CXXCPP $CPPFLAGS'
-@@ -4461,7 +4472,7 @@
- cross_compiling=$ac_cv_prog_cxx_cross
- 
-   cat > conftest.$ac_ext <<EOF
--#line 4465 "configure"
-+#line 4476 "configure"
- #include "confdefs.h"
- #include <new>
-                  int main() { return 0; }
-@@ -4469,7 +4480,7 @@
- result=yes
- ; return 0; }
- EOF
--if { (eval echo configure:4473: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:4484: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   result=no
- else
-@@ -4506,7 +4517,7 @@
- # Extract the first word of "$ac_prog", so it can be a program name with args.
- set dummy $ac_prog; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:4510: checking for $ac_word" >&5
-+echo "configure:4521: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_path_GMAKE'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -4562,7 +4573,7 @@
- # Extract the first word of "$ac_prog", so it can be a program name with args.
- set dummy $ac_prog; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:4566: checking for $ac_word" >&5
-+echo "configure:4577: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_path_GMAKE'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -4625,7 +4636,7 @@
- # Uses ac_ vars as temps to allow command line to override cache and checks.
- # --without-x overrides everything else, but does not touch the cache.
- echo $ac_n "checking for X""... $ac_c" 1>&6
--echo "configure:4629: checking for X" >&5
-+echo "configure:4640: checking for X" >&5
- 
- # Check whether --with-x or --without-x was given.
- if test "${with_x+set}" = set; then
-@@ -4687,12 +4698,12 @@
- 
-   # First, try using that file with no special directory specified.
- cat > conftest.$ac_ext <<EOF
--#line 4691 "configure"
-+#line 4702 "configure"
- #include "confdefs.h"
- #include <$x_direct_test_include>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:4696: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:4707: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -4761,14 +4772,14 @@
-   ac_save_LIBS="$LIBS"
-   LIBS="-l$x_direct_test_library $LIBS"
- cat > conftest.$ac_ext <<EOF
--#line 4765 "configure"
-+#line 4776 "configure"
- #include "confdefs.h"
- 
- int main() {
- ${x_direct_test_function}()
- ; return 0; }
- EOF
--if { (eval echo configure:4772: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:4783: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   LIBS="$ac_save_LIBS"
- # We can link X programs with no special library path.
-@@ -4874,17 +4885,17 @@
-     case "`(uname -sr) 2>/dev/null`" in
-     "SunOS 5"*)
-       echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6
--echo "configure:4878: checking whether -R must be followed by a space" >&5
-+echo "configure:4889: checking whether -R must be followed by a space" >&5
-       ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries"
-       cat > conftest.$ac_ext <<EOF
--#line 4881 "configure"
-+#line 4892 "configure"
- #include "confdefs.h"
- 
- int main() {
- 
- ; return 0; }
- EOF
--if { (eval echo configure:4888: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:4899: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   ac_R_nospace=yes
- else
-@@ -4900,14 +4911,14 @@
-       else
- 	LIBS="$ac_xsave_LIBS -R $x_libraries"
- 	cat > conftest.$ac_ext <<EOF
--#line 4904 "configure"
-+#line 4915 "configure"
- #include "confdefs.h"
- 
- int main() {
- 
- ; return 0; }
- EOF
--if { (eval echo configure:4911: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:4922: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   ac_R_space=yes
- else
-@@ -4939,7 +4950,7 @@
-     # libraries were built with DECnet support.  And karl@cs.umb.edu says
-     # the Alpha needs dnet_stub (dnet does not exist).
-     echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6
--echo "configure:4943: checking for dnet_ntoa in -ldnet" >&5
-+echo "configure:4954: checking for dnet_ntoa in -ldnet" >&5
- ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'`
- if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
-@@ -4947,7 +4958,7 @@
-   ac_save_LIBS="$LIBS"
- LIBS="-ldnet  $LIBS"
- cat > conftest.$ac_ext <<EOF
--#line 4951 "configure"
-+#line 4962 "configure"
- #include "confdefs.h"
- /* Override any gcc2 internal prototype to avoid an error.  */
- /* We use char because int might match the return type of a gcc2
-@@ -4958,7 +4969,7 @@
- dnet_ntoa()
- ; return 0; }
- EOF
--if { (eval echo configure:4962: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:4973: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_lib_$ac_lib_var=yes"
- else
-@@ -4980,7 +4991,7 @@
- 
-     if test $ac_cv_lib_dnet_dnet_ntoa = no; then
-       echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6
--echo "configure:4984: checking for dnet_ntoa in -ldnet_stub" >&5
-+echo "configure:4995: checking for dnet_ntoa in -ldnet_stub" >&5
- ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'`
- if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
-@@ -4988,7 +4999,7 @@
-   ac_save_LIBS="$LIBS"
- LIBS="-ldnet_stub  $LIBS"
- cat > conftest.$ac_ext <<EOF
--#line 4992 "configure"
-+#line 5003 "configure"
- #include "confdefs.h"
- /* Override any gcc2 internal prototype to avoid an error.  */
- /* We use char because int might match the return type of a gcc2
-@@ -4999,7 +5010,7 @@
- dnet_ntoa()
- ; return 0; }
- EOF
--if { (eval echo configure:5003: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:5014: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_lib_$ac_lib_var=yes"
- else
-@@ -5028,12 +5039,12 @@
-     # The nsl library prevents programs from opening the X display
-     # on Irix 5.2, according to dickey@clark.net.
-     echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
--echo "configure:5032: checking for gethostbyname" >&5
-+echo "configure:5043: checking for gethostbyname" >&5
- if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 5037 "configure"
-+#line 5048 "configure"
- #include "confdefs.h"
- /* System header to define __stub macros and hopefully few prototypes,
-     which can conflict with char gethostbyname(); below.  */
-@@ -5056,7 +5067,7 @@
- 
- ; return 0; }
- EOF
--if { (eval echo configure:5060: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:5071: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_func_gethostbyname=yes"
- else
-@@ -5077,7 +5088,7 @@
- 
-     if test $ac_cv_func_gethostbyname = no; then
-       echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
--echo "configure:5081: checking for gethostbyname in -lnsl" >&5
-+echo "configure:5092: checking for gethostbyname in -lnsl" >&5
- ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
- if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
-@@ -5085,7 +5096,7 @@
-   ac_save_LIBS="$LIBS"
- LIBS="-lnsl  $LIBS"
- cat > conftest.$ac_ext <<EOF
--#line 5089 "configure"
-+#line 5100 "configure"
- #include "confdefs.h"
- /* Override any gcc2 internal prototype to avoid an error.  */
- /* We use char because int might match the return type of a gcc2
-@@ -5096,7 +5107,7 @@
- gethostbyname()
- ; return 0; }
- EOF
--if { (eval echo configure:5100: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:5111: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_lib_$ac_lib_var=yes"
- else
-@@ -5126,12 +5137,12 @@
-     # -lsocket must be given before -lnsl if both are needed.
-     # We assume that if connect needs -lnsl, so does gethostbyname.
-     echo $ac_n "checking for connect""... $ac_c" 1>&6
--echo "configure:5130: checking for connect" >&5
-+echo "configure:5141: checking for connect" >&5
- if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 5135 "configure"
-+#line 5146 "configure"
- #include "confdefs.h"
- /* System header to define __stub macros and hopefully few prototypes,
-     which can conflict with char connect(); below.  */
-@@ -5154,7 +5165,7 @@
- 
- ; return 0; }
- EOF
--if { (eval echo configure:5158: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:5169: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_func_connect=yes"
- else
-@@ -5175,7 +5186,7 @@
- 
-     if test $ac_cv_func_connect = no; then
-       echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6
--echo "configure:5179: checking for connect in -lsocket" >&5
-+echo "configure:5190: checking for connect in -lsocket" >&5
- ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'`
- if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
-@@ -5183,7 +5194,7 @@
-   ac_save_LIBS="$LIBS"
- LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
- cat > conftest.$ac_ext <<EOF
--#line 5187 "configure"
-+#line 5198 "configure"
- #include "confdefs.h"
- /* Override any gcc2 internal prototype to avoid an error.  */
- /* We use char because int might match the return type of a gcc2
-@@ -5194,7 +5205,7 @@
- connect()
- ; return 0; }
- EOF
--if { (eval echo configure:5198: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:5209: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_lib_$ac_lib_var=yes"
- else
-@@ -5218,12 +5229,12 @@
- 
-     # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX.
-     echo $ac_n "checking for remove""... $ac_c" 1>&6
--echo "configure:5222: checking for remove" >&5
-+echo "configure:5233: checking for remove" >&5
- if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 5227 "configure"
-+#line 5238 "configure"
- #include "confdefs.h"
- /* System header to define __stub macros and hopefully few prototypes,
-     which can conflict with char remove(); below.  */
-@@ -5246,7 +5257,7 @@
- 
- ; return 0; }
- EOF
--if { (eval echo configure:5250: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:5261: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_func_remove=yes"
- else
-@@ -5267,7 +5278,7 @@
- 
-     if test $ac_cv_func_remove = no; then
-       echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
--echo "configure:5271: checking for remove in -lposix" >&5
-+echo "configure:5282: checking for remove in -lposix" >&5
- ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'`
- if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
-@@ -5275,7 +5286,7 @@
-   ac_save_LIBS="$LIBS"
- LIBS="-lposix  $LIBS"
- cat > conftest.$ac_ext <<EOF
--#line 5279 "configure"
-+#line 5290 "configure"
- #include "confdefs.h"
- /* Override any gcc2 internal prototype to avoid an error.  */
- /* We use char because int might match the return type of a gcc2
-@@ -5286,7 +5297,7 @@
- remove()
- ; return 0; }
- EOF
--if { (eval echo configure:5290: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:5301: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_lib_$ac_lib_var=yes"
- else
-@@ -5310,12 +5321,12 @@
- 
-     # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
-     echo $ac_n "checking for shmat""... $ac_c" 1>&6
--echo "configure:5314: checking for shmat" >&5
-+echo "configure:5325: checking for shmat" >&5
- if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 5319 "configure"
-+#line 5330 "configure"
- #include "confdefs.h"
- /* System header to define __stub macros and hopefully few prototypes,
-     which can conflict with char shmat(); below.  */
-@@ -5338,7 +5349,7 @@
- 
- ; return 0; }
- EOF
--if { (eval echo configure:5342: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:5353: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_func_shmat=yes"
- else
-@@ -5359,7 +5370,7 @@
- 
-     if test $ac_cv_func_shmat = no; then
-       echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
--echo "configure:5363: checking for shmat in -lipc" >&5
-+echo "configure:5374: checking for shmat in -lipc" >&5
- ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'`
- if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
-@@ -5367,7 +5378,7 @@
-   ac_save_LIBS="$LIBS"
- LIBS="-lipc  $LIBS"
- cat > conftest.$ac_ext <<EOF
--#line 5371 "configure"
-+#line 5382 "configure"
- #include "confdefs.h"
- /* Override any gcc2 internal prototype to avoid an error.  */
- /* We use char because int might match the return type of a gcc2
-@@ -5378,7 +5389,7 @@
- shmat()
- ; return 0; }
- EOF
--if { (eval echo configure:5382: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:5393: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_lib_$ac_lib_var=yes"
- else
-@@ -5411,7 +5422,7 @@
-   # libraries we check for below, so use a different variable.
-   #  --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
-   echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6
--echo "configure:5415: checking for IceConnectionNumber in -lICE" >&5
-+echo "configure:5426: checking for IceConnectionNumber in -lICE" >&5
- ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'`
- if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
-@@ -5419,7 +5430,7 @@
-   ac_save_LIBS="$LIBS"
- LIBS="-lICE $X_EXTRA_LIBS $LIBS"
- cat > conftest.$ac_ext <<EOF
--#line 5423 "configure"
-+#line 5434 "configure"
- #include "confdefs.h"
- /* Override any gcc2 internal prototype to avoid an error.  */
- /* We use char because int might match the return type of a gcc2
-@@ -5430,7 +5441,7 @@
- IceConnectionNumber()
- ; return 0; }
- EOF
--if { (eval echo configure:5434: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:5445: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_lib_$ac_lib_var=yes"
- else
-@@ -5913,7 +5924,7 @@
-     _USE_CPP_INCLUDE_FLAG=1
- 
-     echo $ac_n "checking whether the compiler supports -Wno-invalid-offsetof""... $ac_c" 1>&6
--echo "configure:5917: checking whether the compiler supports -Wno-invalid-offsetof" >&5
-+echo "configure:5928: checking whether the compiler supports -Wno-invalid-offsetof" >&5
- if eval "test \"`echo '$''{'ac_has_wno_invalid_offsetof'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -5929,14 +5940,14 @@
-             _SAVE_CXXFLAGS="$CXXFLAGS"
-             CXXFLAGS="$CXXFLAGS ${_COMPILER_PREFIX}-Wno-invalid-offsetof"
-             cat > conftest.$ac_ext <<EOF
--#line 5933 "configure"
-+#line 5944 "configure"
- #include "confdefs.h"
- 
- int main() {
- return(0);
- ; return 0; }
- EOF
--if { (eval echo configure:5940: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:5951: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_has_wno_invalid_offsetof="yes"
- else
-@@ -5963,7 +5974,7 @@
-     fi
- 
-     echo $ac_n "checking whether the compiler supports -Wno-variadic-macros""... $ac_c" 1>&6
--echo "configure:5967: checking whether the compiler supports -Wno-variadic-macros" >&5
-+echo "configure:5978: checking whether the compiler supports -Wno-variadic-macros" >&5
- if eval "test \"`echo '$''{'ac_has_wno_variadic_macros'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -5979,14 +5990,14 @@
-             _SAVE_CXXFLAGS="$CXXFLAGS"
-             CXXFLAGS="$CXXFLAGS ${_COMPILER_PREFIX}-Wno-variadic-macros"
-             cat > conftest.$ac_ext <<EOF
--#line 5983 "configure"
-+#line 5994 "configure"
- #include "confdefs.h"
- 
- int main() {
- return(0);
- ; return 0; }
- EOF
--if { (eval echo configure:5990: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:6001: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_has_wno_variadic_macros="yes"
- else
-@@ -6013,7 +6024,7 @@
-     fi
- 
-     echo $ac_n "checking whether the compiler supports -Werror=return-type""... $ac_c" 1>&6
--echo "configure:6017: checking whether the compiler supports -Werror=return-type" >&5
-+echo "configure:6028: checking whether the compiler supports -Werror=return-type" >&5
- if eval "test \"`echo '$''{'ac_has_werror_return_type'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -6029,14 +6040,14 @@
-             _SAVE_CXXFLAGS="$CXXFLAGS"
-             CXXFLAGS="$CXXFLAGS -Werror=return-type"
-             cat > conftest.$ac_ext <<EOF
--#line 6033 "configure"
-+#line 6044 "configure"
- #include "confdefs.h"
- 
- int main() {
- return(0);
- ; return 0; }
- EOF
--if { (eval echo configure:6040: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:6051: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_has_werror_return_type="yes"
- else
-@@ -6072,7 +6083,7 @@
- if test "$COMPILE_ENVIRONMENT"; then
- if test "$GNU_CC"; then
-   echo $ac_n "checking whether ld has archive extraction flags""... $ac_c" 1>&6
--echo "configure:6076: checking whether ld has archive extraction flags" >&5
-+echo "configure:6087: checking whether ld has archive extraction flags" >&5
-   if eval "test \"`echo '$''{'ac_cv_mkshlib_force_and_unforce'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -6089,14 +6100,14 @@
-       LDFLAGS=$force
-       LIBS=$unforce
-       cat > conftest.$ac_ext <<EOF
--#line 6093 "configure"
-+#line 6104 "configure"
- #include "confdefs.h"
- 
- int main() {
- 
- ; return 0; }
- EOF
--if { (eval echo configure:6100: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:6111: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   ac_cv_mkshlib_force_and_unforce=$line; break
- else
-@@ -6129,7 +6140,7 @@
- '
- 
- echo $ac_n "checking that static assertion macros used in autoconf tests work""... $ac_c" 1>&6
--echo "configure:6133: checking that static assertion macros used in autoconf tests work" >&5
-+echo "configure:6144: checking that static assertion macros used in autoconf tests work" >&5
- if eval "test \"`echo '$''{'ac_cv_static_assertion_macros_work'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -6143,14 +6154,14 @@
- 
-   ac_cv_static_assertion_macros_work="yes"
-   cat > conftest.$ac_ext <<EOF
--#line 6147 "configure"
-+#line 6158 "configure"
- #include "confdefs.h"
- $configure_static_assert_macros
- int main() {
- CONFIGURE_STATIC_ASSERT(1)
- ; return 0; }
- EOF
--if { (eval echo configure:6154: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:6165: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   :
- else
-   echo "configure: failed program was:" >&5
-@@ -6160,14 +6171,14 @@
- fi
- rm -f conftest*
-   cat > conftest.$ac_ext <<EOF
--#line 6164 "configure"
-+#line 6175 "configure"
- #include "confdefs.h"
- $configure_static_assert_macros
- int main() {
- CONFIGURE_STATIC_ASSERT(0)
- ; return 0; }
- EOF
--if { (eval echo configure:6171: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:6182: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_static_assertion_macros_work="no"
- else
-@@ -6183,14 +6194,14 @@
- cross_compiling=$ac_cv_prog_cxx_cross
- 
-   cat > conftest.$ac_ext <<EOF
--#line 6187 "configure"
-+#line 6198 "configure"
- #include "confdefs.h"
- $configure_static_assert_macros
- int main() {
- CONFIGURE_STATIC_ASSERT(1)
- ; return 0; }
- EOF
--if { (eval echo configure:6194: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:6205: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   :
- else
-   echo "configure: failed program was:" >&5
-@@ -6200,14 +6211,14 @@
- fi
- rm -f conftest*
-   cat > conftest.$ac_ext <<EOF
--#line 6204 "configure"
-+#line 6215 "configure"
- #include "confdefs.h"
- $configure_static_assert_macros
- int main() {
- CONFIGURE_STATIC_ASSERT(0)
- ; return 0; }
- EOF
--if { (eval echo configure:6211: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:6222: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_static_assertion_macros_work="no"
- else
-@@ -6241,16 +6252,16 @@
- cross_compiling=$ac_cv_prog_cc_cross
- 
- echo $ac_n "checking for 64-bit OS""... $ac_c" 1>&6
--echo "configure:6245: checking for 64-bit OS" >&5
-+echo "configure:6256: checking for 64-bit OS" >&5
- cat > conftest.$ac_ext <<EOF
--#line 6247 "configure"
-+#line 6258 "configure"
- #include "confdefs.h"
- $configure_static_assert_macros
- int main() {
- CONFIGURE_STATIC_ASSERT(sizeof(void*) == 8)
- ; return 0; }
- EOF
--if { (eval echo configure:6254: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:6265: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   result="yes"
- else
-@@ -6389,7 +6400,7 @@
- esac
- 
- echo $ac_n "checking for Python version >= $PYTHON_VERSION but not 3.x""... $ac_c" 1>&6
--echo "configure:6393: checking for Python version >= $PYTHON_VERSION but not 3.x" >&5
-+echo "configure:6404: checking for Python version >= $PYTHON_VERSION but not 3.x" >&5
- 
- $PYTHON -c "import sys; sys.exit(sys.version[:3] < sys.argv[1] or sys.version[:2] != '2.')" $PYTHON_VERSION
- _python_res=$?
-@@ -6437,9 +6448,9 @@
- cross_compiling=$ac_cv_prog_cxx_cross
- 
-             echo $ac_n "checking for IBM XLC/C++ compiler version >= 9.0.0.7""... $ac_c" 1>&6
--echo "configure:6441: checking for IBM XLC/C++ compiler version >= 9.0.0.7" >&5
-+echo "configure:6452: checking for IBM XLC/C++ compiler version >= 9.0.0.7" >&5
-             cat > conftest.$ac_ext <<EOF
--#line 6443 "configure"
-+#line 6454 "configure"
- #include "confdefs.h"
- 
- int main() {
-@@ -6448,7 +6459,7 @@
-                  #endif
- ; return 0; }
- EOF
--if { (eval echo configure:6452: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:6463: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   _BAD_COMPILER=
- else
-@@ -6486,17 +6497,17 @@
- do
- ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
--echo "configure:6490: checking for $ac_hdr" >&5
-+echo "configure:6501: checking for $ac_hdr" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 6495 "configure"
-+#line 6506 "configure"
- #include "confdefs.h"
- #include <$ac_hdr>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:6500: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:6511: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -6542,7 +6553,7 @@
-     LIBS="$LIBS -lbe"
-     if test "$COMPILE_ENVIRONMENT"; then
-         echo $ac_n "checking for main in -lbind""... $ac_c" 1>&6
--echo "configure:6546: checking for main in -lbind" >&5
-+echo "configure:6557: checking for main in -lbind" >&5
- ac_lib_var=`echo bind'_'main | sed 'y%./+-%__p_%'`
- if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
-@@ -6550,14 +6561,14 @@
-   ac_save_LIBS="$LIBS"
- LIBS="-lbind  $LIBS"
- cat > conftest.$ac_ext <<EOF
--#line 6554 "configure"
-+#line 6565 "configure"
- #include "confdefs.h"
- 
- int main() {
- main()
- ; return 0; }
- EOF
--if { (eval echo configure:6561: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:6572: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_lib_$ac_lib_var=yes"
- else
-@@ -6578,7 +6589,7 @@
- fi
- 
-         echo $ac_n "checking for main in -lzeta""... $ac_c" 1>&6
--echo "configure:6582: checking for main in -lzeta" >&5
-+echo "configure:6593: checking for main in -lzeta" >&5
- ac_lib_var=`echo zeta'_'main | sed 'y%./+-%__p_%'`
- if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
-@@ -6586,14 +6597,14 @@
-   ac_save_LIBS="$LIBS"
- LIBS="-lzeta  $LIBS"
- cat > conftest.$ac_ext <<EOF
--#line 6590 "configure"
-+#line 6601 "configure"
- #include "confdefs.h"
- 
- int main() {
- main()
- ; return 0; }
- EOF
--if { (eval echo configure:6597: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:6608: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_lib_$ac_lib_var=yes"
- else
-@@ -6667,18 +6678,18 @@
-         echo "Skipping -dead_strip because DTrace is enabled. See bug 403132."
-     else
-                 echo $ac_n "checking for -dead_strip option to ld""... $ac_c" 1>&6
--echo "configure:6671: checking for -dead_strip option to ld" >&5
-+echo "configure:6682: checking for -dead_strip option to ld" >&5
-         _SAVE_LDFLAGS=$LDFLAGS
-         LDFLAGS="$LDFLAGS -Wl,-dead_strip"
-         cat > conftest.$ac_ext <<EOF
--#line 6675 "configure"
-+#line 6686 "configure"
- #include "confdefs.h"
- 
- int main() {
- return 0;
- ; return 0; }
- EOF
--if { (eval echo configure:6682: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:6693: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   _HAVE_DEAD_STRIP=1
- else
-@@ -7250,17 +7261,17 @@
- do
- ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
--echo "configure:7254: checking for $ac_hdr" >&5
-+echo "configure:7265: checking for $ac_hdr" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 7259 "configure"
-+#line 7270 "configure"
- #include "confdefs.h"
- #include <$ac_hdr>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:7264: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:7275: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -7492,19 +7503,19 @@
-     _DEFINES_CXXFLAGS="$_DEFINES_CXXFLAGS -Uunix -U__unix -U__unix__"
- 
-     echo $ac_n "checking for __declspec(dllexport)""... $ac_c" 1>&6
--echo "configure:7496: checking for __declspec(dllexport)" >&5
-+echo "configure:7507: checking for __declspec(dllexport)" >&5
- if eval "test \"`echo '$''{'ac_os2_declspec'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 7501 "configure"
-+#line 7512 "configure"
- #include "confdefs.h"
- __declspec(dllexport) void ac_os2_declspec(void) {}
- int main() {
- return 0;
- ; return 0; }
- EOF
--if { (eval echo configure:7508: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:7519: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_os2_declspec="yes"
- else
-@@ -7625,14 +7636,14 @@
-            _SAVE_LDFLAGS=$LDFLAGS
-            LDFLAGS="-M /usr/lib/ld/map.noexstk $LDFLAGS" 
-            cat > conftest.$ac_ext <<EOF
--#line 7629 "configure"
-+#line 7640 "configure"
- #include "confdefs.h"
- #include <stdio.h>
- int main() {
- printf("Hello World\n");
- ; return 0; }
- EOF
--if { (eval echo configure:7636: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:7647: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   :
- else
-   echo "configure: failed program was:" >&5
-@@ -7661,7 +7672,7 @@
-        CC_VERSION=`$CC -V 2>&1 | grep '^cc:' 2>/dev/null | $AWK -F\: '{ print $2 }'`
-        CXX_VERSION=`$CXX -V 2>&1 | grep '^CC:' 2>/dev/null | $AWK -F\: '{ print $2 }'`
-        echo $ac_n "checking for Sun C++ compiler version >= 5.9""... $ac_c" 1>&6
--echo "configure:7665: checking for Sun C++ compiler version >= 5.9" >&5
-+echo "configure:7676: checking for Sun C++ compiler version >= 5.9" >&5
-        
-        ac_ext=C
- # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-@@ -7671,7 +7682,7 @@
- cross_compiling=$ac_cv_prog_cxx_cross
- 
-        cat > conftest.$ac_ext <<EOF
--#line 7675 "configure"
-+#line 7686 "configure"
- #include "confdefs.h"
- 
- int main() {
-@@ -7680,7 +7691,7 @@
-            #endif
- ; return 0; }
- EOF
--if { (eval echo configure:7684: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:7695: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   _BAD_COMPILER=
- else
-@@ -7697,7 +7708,7 @@
-            _res="yes"
-        fi
-        cat > conftest.$ac_ext <<EOF
--#line 7701 "configure"
-+#line 7712 "configure"
- #include "confdefs.h"
- 
- int main() {
-@@ -7706,7 +7717,7 @@
-            #endif
- ; return 0; }
- EOF
--if { (eval echo configure:7710: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:7721: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   _ABOVE_SS12U1=
- else
-@@ -8122,12 +8133,12 @@
- 
- if test -z "$SKIP_COMPILER_CHECKS"; then
- echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
--echo "configure:8126: checking for ANSI C header files" >&5
-+echo "configure:8137: checking for ANSI C header files" >&5
- if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 8131 "configure"
-+#line 8142 "configure"
- #include "confdefs.h"
- #include <stdlib.h>
- #include <stdarg.h>
-@@ -8135,7 +8146,7 @@
- #include <float.h>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:8139: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:8150: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -8152,7 +8163,7 @@
- if test $ac_cv_header_stdc = yes; then
-   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat > conftest.$ac_ext <<EOF
--#line 8156 "configure"
-+#line 8167 "configure"
- #include "confdefs.h"
- #include <string.h>
- EOF
-@@ -8170,7 +8181,7 @@
- if test $ac_cv_header_stdc = yes; then
-   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat > conftest.$ac_ext <<EOF
--#line 8174 "configure"
-+#line 8185 "configure"
- #include "confdefs.h"
- #include <stdlib.h>
- EOF
-@@ -8191,7 +8202,7 @@
-   :
- else
-   cat > conftest.$ac_ext <<EOF
--#line 8195 "configure"
-+#line 8206 "configure"
- #include "confdefs.h"
- #include <ctype.h>
- #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-@@ -8202,7 +8213,7 @@
- exit (0); }
- 
- EOF
--if { (eval echo configure:8206: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-+if { (eval echo configure:8217: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
- then
-   :
- else
-@@ -8226,12 +8237,12 @@
- fi
- 
- echo $ac_n "checking for working const""... $ac_c" 1>&6
--echo "configure:8230: checking for working const" >&5
-+echo "configure:8241: checking for working const" >&5
- if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 8235 "configure"
-+#line 8246 "configure"
- #include "confdefs.h"
- 
- int main() {
-@@ -8280,7 +8291,7 @@
- 
- ; return 0; }
- EOF
--if { (eval echo configure:8284: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:8295: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_c_const=yes
- else
-@@ -8301,12 +8312,12 @@
- fi
- 
- echo $ac_n "checking for mode_t""... $ac_c" 1>&6
--echo "configure:8305: checking for mode_t" >&5
-+echo "configure:8316: checking for mode_t" >&5
- if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 8310 "configure"
-+#line 8321 "configure"
- #include "confdefs.h"
- #include <sys/types.h>
- #if STDC_HEADERS
-@@ -8334,12 +8345,12 @@
- fi
- 
- echo $ac_n "checking for off_t""... $ac_c" 1>&6
--echo "configure:8338: checking for off_t" >&5
-+echo "configure:8349: checking for off_t" >&5
- if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 8343 "configure"
-+#line 8354 "configure"
- #include "confdefs.h"
- #include <sys/types.h>
- #if STDC_HEADERS
-@@ -8367,12 +8378,12 @@
- fi
- 
- echo $ac_n "checking for pid_t""... $ac_c" 1>&6
--echo "configure:8371: checking for pid_t" >&5
-+echo "configure:8382: checking for pid_t" >&5
- if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 8376 "configure"
-+#line 8387 "configure"
- #include "confdefs.h"
- #include <sys/types.h>
- #if STDC_HEADERS
-@@ -8400,12 +8411,12 @@
- fi
- 
- echo $ac_n "checking for size_t""... $ac_c" 1>&6
--echo "configure:8404: checking for size_t" >&5
-+echo "configure:8415: checking for size_t" >&5
- if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 8409 "configure"
-+#line 8420 "configure"
- #include "confdefs.h"
- #include <sys/types.h>
- #if STDC_HEADERS
-@@ -8440,12 +8451,12 @@
- cross_compiling=$ac_cv_prog_cxx_cross
- 
- echo $ac_n "checking for __stdcall""... $ac_c" 1>&6
--echo "configure:8444: checking for __stdcall" >&5
-+echo "configure:8455: checking for __stdcall" >&5
- if eval "test \"`echo '$''{'ac_cv___stdcall'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 8449 "configure"
-+#line 8460 "configure"
- #include "confdefs.h"
- template <typename Method> struct foo;
-                   template <> struct foo<void (*)()> {};
-@@ -8454,7 +8465,7 @@
- 
- ; return 0; }
- EOF
--if { (eval echo configure:8458: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:8469: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv___stdcall=true
- else
-@@ -8483,12 +8494,12 @@
- cross_compiling=$ac_cv_prog_cc_cross
- 
- echo $ac_n "checking for ssize_t""... $ac_c" 1>&6
--echo "configure:8487: checking for ssize_t" >&5
-+echo "configure:8498: checking for ssize_t" >&5
- if eval "test \"`echo '$''{'ac_cv_type_ssize_t'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 8492 "configure"
-+#line 8503 "configure"
- #include "confdefs.h"
- #include <stdio.h>
-                   #include <sys/types.h>
-@@ -8496,7 +8507,7 @@
- ssize_t foo = 0;
- ; return 0; }
- EOF
--if { (eval echo configure:8500: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:8511: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_type_ssize_t=true
- else
-@@ -8518,12 +8529,12 @@
-   echo "$ac_t""no" 1>&6
- fi
- echo $ac_n "checking for st_blksize in struct stat""... $ac_c" 1>&6
--echo "configure:8522: checking for st_blksize in struct stat" >&5
-+echo "configure:8533: checking for st_blksize in struct stat" >&5
- if eval "test \"`echo '$''{'ac_cv_struct_st_blksize'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 8527 "configure"
-+#line 8538 "configure"
- #include "confdefs.h"
- #include <sys/types.h>
- #include <sys/stat.h>
-@@ -8531,7 +8542,7 @@
- struct stat s; s.st_blksize;
- ; return 0; }
- EOF
--if { (eval echo configure:8535: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:8546: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_struct_st_blksize=yes
- else
-@@ -8552,12 +8563,12 @@
- fi
- 
- echo $ac_n "checking for siginfo_t""... $ac_c" 1>&6
--echo "configure:8556: checking for siginfo_t" >&5
-+echo "configure:8567: checking for siginfo_t" >&5
- if eval "test \"`echo '$''{'ac_cv_siginfo_t'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 8561 "configure"
-+#line 8572 "configure"
- #include "confdefs.h"
- #define _POSIX_C_SOURCE 199506L
-                   #include <signal.h>
-@@ -8565,7 +8576,7 @@
- siginfo_t* info;
- ; return 0; }
- EOF
--if { (eval echo configure:8569: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:8580: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_siginfo_t=true
- else
-@@ -8590,17 +8601,17 @@
- 
- ac_safe=`echo "stdint.h" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for stdint.h""... $ac_c" 1>&6
--echo "configure:8594: checking for stdint.h" >&5
-+echo "configure:8605: checking for stdint.h" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 8599 "configure"
-+#line 8610 "configure"
- #include "confdefs.h"
- #include <stdint.h>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:8604: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:8615: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -8629,7 +8640,7 @@
- else
-                     
- echo $ac_n "checking for a 1-byte type""... $ac_c" 1>&6
--echo "configure:8633: checking for a 1-byte type" >&5
-+echo "configure:8644: checking for a 1-byte type" >&5
- if eval "test \"`echo '$''{'moz_cv_n_byte_type_JS_INT8_TYPE'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -8637,7 +8648,7 @@
-   moz_cv_n_byte_type_JS_INT8_TYPE=
-   for type in char; do
-     cat > conftest.$ac_ext <<EOF
--#line 8641 "configure"
-+#line 8652 "configure"
- #include "confdefs.h"
- 
- int main() {
-@@ -8647,7 +8658,7 @@
-                    
- ; return 0; }
- EOF
--if { (eval echo configure:8651: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:8662: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   moz_cv_n_byte_type_JS_INT8_TYPE=$type; break
- else
-@@ -8670,7 +8681,7 @@
- 
-     
- echo $ac_n "checking for a 2-byte type""... $ac_c" 1>&6
--echo "configure:8674: checking for a 2-byte type" >&5
-+echo "configure:8685: checking for a 2-byte type" >&5
- if eval "test \"`echo '$''{'moz_cv_n_byte_type_JS_INT16_TYPE'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -8678,7 +8689,7 @@
-   moz_cv_n_byte_type_JS_INT16_TYPE=
-   for type in short int long; do
-     cat > conftest.$ac_ext <<EOF
--#line 8682 "configure"
-+#line 8693 "configure"
- #include "confdefs.h"
- 
- int main() {
-@@ -8688,7 +8699,7 @@
-                    
- ; return 0; }
- EOF
--if { (eval echo configure:8692: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:8703: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   moz_cv_n_byte_type_JS_INT16_TYPE=$type; break
- else
-@@ -8711,7 +8722,7 @@
- 
-     
- echo $ac_n "checking for a 4-byte type""... $ac_c" 1>&6
--echo "configure:8715: checking for a 4-byte type" >&5
-+echo "configure:8726: checking for a 4-byte type" >&5
- if eval "test \"`echo '$''{'moz_cv_n_byte_type_JS_INT32_TYPE'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -8719,7 +8730,7 @@
-   moz_cv_n_byte_type_JS_INT32_TYPE=
-   for type in int long 'long long' short; do
-     cat > conftest.$ac_ext <<EOF
--#line 8723 "configure"
-+#line 8734 "configure"
- #include "confdefs.h"
- 
- int main() {
-@@ -8729,7 +8740,7 @@
-                    
- ; return 0; }
- EOF
--if { (eval echo configure:8733: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:8744: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   moz_cv_n_byte_type_JS_INT32_TYPE=$type; break
- else
-@@ -8752,7 +8763,7 @@
- 
-     
- echo $ac_n "checking for a 8-byte type""... $ac_c" 1>&6
--echo "configure:8756: checking for a 8-byte type" >&5
-+echo "configure:8767: checking for a 8-byte type" >&5
- if eval "test \"`echo '$''{'moz_cv_n_byte_type_JS_INT64_TYPE'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -8760,7 +8771,7 @@
-   moz_cv_n_byte_type_JS_INT64_TYPE=
-   for type in int long 'long long'; do
-     cat > conftest.$ac_ext <<EOF
--#line 8764 "configure"
-+#line 8775 "configure"
- #include "confdefs.h"
- 
- int main() {
-@@ -8770,7 +8781,7 @@
-                    
- ; return 0; }
- EOF
--if { (eval echo configure:8774: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:8785: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   moz_cv_n_byte_type_JS_INT64_TYPE=$type; break
- else
-@@ -8793,7 +8804,7 @@
- 
-     
- echo $ac_n "checking for a sizeof (void *)-byte type""... $ac_c" 1>&6
--echo "configure:8797: checking for a sizeof (void *)-byte type" >&5
-+echo "configure:8808: checking for a sizeof (void *)-byte type" >&5
- if eval "test \"`echo '$''{'moz_cv_n_byte_type_JS_INTPTR_TYPE'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -8801,7 +8812,7 @@
-   moz_cv_n_byte_type_JS_INTPTR_TYPE=
-   for type in int long 'long long' short; do
-     cat > conftest.$ac_ext <<EOF
--#line 8805 "configure"
-+#line 8816 "configure"
- #include "confdefs.h"
- 
- int main() {
-@@ -8811,7 +8822,7 @@
-                    
- ; return 0; }
- EOF
--if { (eval echo configure:8815: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:8826: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   moz_cv_n_byte_type_JS_INTPTR_TYPE=$type; break
- else
-@@ -8836,7 +8847,7 @@
- 
- 
- echo $ac_n "checking for the size of void*""... $ac_c" 1>&6
--echo "configure:8840: checking for the size of void*" >&5
-+echo "configure:8851: checking for the size of void*" >&5
- if eval "test \"`echo '$''{'moz_cv_size_of_JS_BYTES_PER_WORD'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -8844,7 +8855,7 @@
-   moz_cv_size_of_JS_BYTES_PER_WORD=
-   for size in 4 8; do
-     cat > conftest.$ac_ext <<EOF
--#line 8848 "configure"
-+#line 8859 "configure"
- #include "confdefs.h"
- 
- int main() {
-@@ -8854,7 +8865,7 @@
-                    
- ; return 0; }
- EOF
--if { (eval echo configure:8858: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:8869: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   moz_cv_size_of_JS_BYTES_PER_WORD=$size; break
- else
-@@ -8891,7 +8902,7 @@
- 
- 
- echo $ac_n "checking for the alignment of void*""... $ac_c" 1>&6
--echo "configure:8895: checking for the alignment of void*" >&5
-+echo "configure:8906: checking for the alignment of void*" >&5
- if eval "test \"`echo '$''{'moz_cv_align_of_JS_ALIGN_OF_POINTER'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -8899,7 +8910,7 @@
-   moz_cv_align_of_JS_ALIGN_OF_POINTER=
-   for align in 2 4 8 16; do
-     cat > conftest.$ac_ext <<EOF
--#line 8903 "configure"
-+#line 8914 "configure"
- #include "confdefs.h"
- 
-                      #include <stddef.h>
-@@ -8912,7 +8923,7 @@
-                    
- ; return 0; }
- EOF
--if { (eval echo configure:8916: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:8927: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   moz_cv_align_of_JS_ALIGN_OF_POINTER=$align; break
- else
-@@ -8935,7 +8946,7 @@
- 
- 
- echo $ac_n "checking for the size of double""... $ac_c" 1>&6
--echo "configure:8939: checking for the size of double" >&5
-+echo "configure:8950: checking for the size of double" >&5
- if eval "test \"`echo '$''{'moz_cv_size_of_JS_BYTES_PER_DOUBLE'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -8943,7 +8954,7 @@
-   moz_cv_size_of_JS_BYTES_PER_DOUBLE=
-   for size in 6 8 10 12 14; do
-     cat > conftest.$ac_ext <<EOF
--#line 8947 "configure"
-+#line 8958 "configure"
- #include "confdefs.h"
- 
- int main() {
-@@ -8953,7 +8964,7 @@
-                    
- ; return 0; }
- EOF
--if { (eval echo configure:8957: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:8968: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   moz_cv_size_of_JS_BYTES_PER_DOUBLE=$size; break
- else
-@@ -8976,12 +8987,12 @@
- 
- 
- echo $ac_n "checking for int16_t""... $ac_c" 1>&6
--echo "configure:8980: checking for int16_t" >&5
-+echo "configure:8991: checking for int16_t" >&5
- if eval "test \"`echo '$''{'ac_cv_int16_t'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 8985 "configure"
-+#line 8996 "configure"
- #include "confdefs.h"
- #include <stdio.h>
-                   #include <sys/types.h>
-@@ -8989,7 +9000,7 @@
- int16_t foo = 0;
- ; return 0; }
- EOF
--if { (eval echo configure:8993: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:9004: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_int16_t=true
- else
-@@ -9011,12 +9022,12 @@
-   echo "$ac_t""no" 1>&6
- fi
- echo $ac_n "checking for int32_t""... $ac_c" 1>&6
--echo "configure:9015: checking for int32_t" >&5
-+echo "configure:9026: checking for int32_t" >&5
- if eval "test \"`echo '$''{'ac_cv_int32_t'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 9020 "configure"
-+#line 9031 "configure"
- #include "confdefs.h"
- #include <stdio.h>
-                   #include <sys/types.h>
-@@ -9024,7 +9035,7 @@
- int32_t foo = 0;
- ; return 0; }
- EOF
--if { (eval echo configure:9028: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:9039: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_int32_t=true
- else
-@@ -9046,12 +9057,12 @@
-   echo "$ac_t""no" 1>&6
- fi
- echo $ac_n "checking for int64_t""... $ac_c" 1>&6
--echo "configure:9050: checking for int64_t" >&5
-+echo "configure:9061: checking for int64_t" >&5
- if eval "test \"`echo '$''{'ac_cv_int64_t'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 9055 "configure"
-+#line 9066 "configure"
- #include "confdefs.h"
- #include <stdio.h>
-                   #include <sys/types.h>
-@@ -9059,7 +9070,7 @@
- int64_t foo = 0;
- ; return 0; }
- EOF
--if { (eval echo configure:9063: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:9074: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_int64_t=true
- else
-@@ -9081,12 +9092,12 @@
-   echo "$ac_t""no" 1>&6
- fi
- echo $ac_n "checking for int64""... $ac_c" 1>&6
--echo "configure:9085: checking for int64" >&5
-+echo "configure:9096: checking for int64" >&5
- if eval "test \"`echo '$''{'ac_cv_int64'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 9090 "configure"
-+#line 9101 "configure"
- #include "confdefs.h"
- #include <stdio.h>
-                   #include <sys/types.h>
-@@ -9094,7 +9105,7 @@
- int64 foo = 0;
- ; return 0; }
- EOF
--if { (eval echo configure:9098: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:9109: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_int64=true
- else
-@@ -9116,12 +9127,12 @@
-   echo "$ac_t""no" 1>&6
- fi
- echo $ac_n "checking for uint""... $ac_c" 1>&6
--echo "configure:9120: checking for uint" >&5
-+echo "configure:9131: checking for uint" >&5
- if eval "test \"`echo '$''{'ac_cv_uint'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 9125 "configure"
-+#line 9136 "configure"
- #include "confdefs.h"
- #include <stdio.h>
-                   #include <sys/types.h>
-@@ -9129,7 +9140,7 @@
- uint foo = 0;
- ; return 0; }
- EOF
--if { (eval echo configure:9133: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:9144: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_uint=true
- else
-@@ -9151,12 +9162,12 @@
-   echo "$ac_t""no" 1>&6
- fi
- echo $ac_n "checking for uint_t""... $ac_c" 1>&6
--echo "configure:9155: checking for uint_t" >&5
-+echo "configure:9166: checking for uint_t" >&5
- if eval "test \"`echo '$''{'ac_cv_uint_t'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 9160 "configure"
-+#line 9171 "configure"
- #include "confdefs.h"
- #include <stdio.h>
-                   #include <sys/types.h>
-@@ -9164,7 +9175,7 @@
- uint_t foo = 0;
- ; return 0; }
- EOF
--if { (eval echo configure:9168: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:9179: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_uint_t=true
- else
-@@ -9186,12 +9197,12 @@
-   echo "$ac_t""no" 1>&6
- fi
- echo $ac_n "checking for uint16_t""... $ac_c" 1>&6
--echo "configure:9190: checking for uint16_t" >&5
-+echo "configure:9201: checking for uint16_t" >&5
- if eval "test \"`echo '$''{'ac_cv_uint16_t'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 9195 "configure"
-+#line 9206 "configure"
- #include "confdefs.h"
- #include <stdio.h>
-                   #include <sys/types.h>
-@@ -9199,7 +9210,7 @@
- uint16_t foo = 0;
- ; return 0; }
- EOF
--if { (eval echo configure:9203: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:9214: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_uint16_t=true
- else
-@@ -9230,12 +9241,12 @@
- 
- 
- echo $ac_n "checking for uname.domainname""... $ac_c" 1>&6
--echo "configure:9234: checking for uname.domainname" >&5
-+echo "configure:9245: checking for uname.domainname" >&5
- if eval "test \"`echo '$''{'ac_cv_have_uname_domainname_field'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 9239 "configure"
-+#line 9250 "configure"
- #include "confdefs.h"
- #include <sys/utsname.h>
- int main() {
-@@ -9243,7 +9254,7 @@
-             (void)uname(res);  if (res != 0) { domain = res->domainname; } 
- ; return 0; }
- EOF
--if { (eval echo configure:9247: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:9258: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_have_uname_domainname_field=true
- else
-@@ -9267,12 +9278,12 @@
- fi
- 
- echo $ac_n "checking for uname.__domainname""... $ac_c" 1>&6
--echo "configure:9271: checking for uname.__domainname" >&5
-+echo "configure:9282: checking for uname.__domainname" >&5
- if eval "test \"`echo '$''{'ac_cv_have_uname_us_domainname_field'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 9276 "configure"
-+#line 9287 "configure"
- #include "confdefs.h"
- #include <sys/utsname.h>
- int main() {
-@@ -9280,7 +9291,7 @@
-             (void)uname(res);  if (res != 0) { domain = res->__domainname; } 
- ; return 0; }
- EOF
--if { (eval echo configure:9284: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:9295: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_have_uname_us_domainname_field=true
- else
-@@ -9313,7 +9324,7 @@
- 
- if test "$GNU_CC"; then
-   echo $ac_n "checking for visibility(hidden) attribute""... $ac_c" 1>&6
--echo "configure:9317: checking for visibility(hidden) attribute" >&5
-+echo "configure:9328: checking for visibility(hidden) attribute" >&5
- if eval "test \"`echo '$''{'ac_cv_visibility_hidden'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -9338,7 +9349,7 @@
- 
- 
-     echo $ac_n "checking for visibility(default) attribute""... $ac_c" 1>&6
--echo "configure:9342: checking for visibility(default) attribute" >&5
-+echo "configure:9353: checking for visibility(default) attribute" >&5
- if eval "test \"`echo '$''{'ac_cv_visibility_default'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -9363,7 +9374,7 @@
- 
- 
-       echo $ac_n "checking for visibility pragma support""... $ac_c" 1>&6
--echo "configure:9367: checking for visibility pragma support" >&5
-+echo "configure:9378: checking for visibility pragma support" >&5
- if eval "test \"`echo '$''{'ac_cv_visibility_pragma'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -9388,7 +9399,7 @@
- echo "$ac_t""$ac_cv_visibility_pragma" 1>&6
-       if test "$ac_cv_visibility_pragma" = "yes"; then
-         echo $ac_n "checking For gcc visibility bug with class-level attributes (GCC bug 26905)""... $ac_c" 1>&6
--echo "configure:9392: checking For gcc visibility bug with class-level attributes (GCC bug 26905)" >&5
-+echo "configure:9403: checking For gcc visibility bug with class-level attributes (GCC bug 26905)" >&5
- if eval "test \"`echo '$''{'ac_cv_have_visibility_class_bug'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -9416,7 +9427,7 @@
- echo "$ac_t""$ac_cv_have_visibility_class_bug" 1>&6
- 
-         echo $ac_n "checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)""... $ac_c" 1>&6
--echo "configure:9420: checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)" >&5
-+echo "configure:9431: checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)" >&5
- if eval "test \"`echo '$''{'ac_cv_have_visibility_builtin_bug'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -9470,19 +9481,19 @@
-   CFLAGS_save="${CFLAGS}"
-   CFLAGS="${CFLAGS} -Werror"
-   echo $ac_n "checking for __force_align_arg_pointer__ attribute""... $ac_c" 1>&6
--echo "configure:9474: checking for __force_align_arg_pointer__ attribute" >&5
-+echo "configure:9485: checking for __force_align_arg_pointer__ attribute" >&5
- if eval "test \"`echo '$''{'ac_cv_force_align_arg_pointer'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 9479 "configure"
-+#line 9490 "configure"
- #include "confdefs.h"
- __attribute__ ((__force_align_arg_pointer__)) void test() {}
- int main() {
- 
- ; return 0; }
- EOF
--if { (eval echo configure:9486: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:9497: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_force_align_arg_pointer="yes"
- else
-@@ -9509,12 +9520,12 @@
- do
- ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
--echo "configure:9513: checking for $ac_hdr that defines DIR" >&5
-+echo "configure:9524: checking for $ac_hdr that defines DIR" >&5
- if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 9518 "configure"
-+#line 9529 "configure"
- #include "confdefs.h"
- #include <sys/types.h>
- #include <$ac_hdr>
-@@ -9522,7 +9533,7 @@
- DIR *dirp = 0;
- ; return 0; }
- EOF
--if { (eval echo configure:9526: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:9537: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   eval "ac_cv_header_dirent_$ac_safe=yes"
- else
-@@ -9547,7 +9558,7 @@
- # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
- if test $ac_header_dirent = dirent.h; then
- echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
--echo "configure:9551: checking for opendir in -ldir" >&5
-+echo "configure:9562: checking for opendir in -ldir" >&5
- ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
- if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
-@@ -9555,7 +9566,7 @@
-   ac_save_LIBS="$LIBS"
- LIBS="-ldir  $LIBS"
- cat > conftest.$ac_ext <<EOF
--#line 9559 "configure"
-+#line 9570 "configure"
- #include "confdefs.h"
- /* Override any gcc2 internal prototype to avoid an error.  */
- /* We use char because int might match the return type of a gcc2
-@@ -9566,7 +9577,7 @@
- opendir()
- ; return 0; }
- EOF
--if { (eval echo configure:9570: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:9581: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_lib_$ac_lib_var=yes"
- else
-@@ -9588,7 +9599,7 @@
- 
- else
- echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
--echo "configure:9592: checking for opendir in -lx" >&5
-+echo "configure:9603: checking for opendir in -lx" >&5
- ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
- if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
-@@ -9596,7 +9607,7 @@
-   ac_save_LIBS="$LIBS"
- LIBS="-lx  $LIBS"
- cat > conftest.$ac_ext <<EOF
--#line 9600 "configure"
-+#line 9611 "configure"
- #include "confdefs.h"
- /* Override any gcc2 internal prototype to avoid an error.  */
- /* We use char because int might match the return type of a gcc2
-@@ -9607,7 +9618,7 @@
- opendir()
- ; return 0; }
- EOF
--if { (eval echo configure:9611: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:9622: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_lib_$ac_lib_var=yes"
- else
-@@ -9639,17 +9650,17 @@
- do
- ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
--echo "configure:9643: checking for $ac_hdr" >&5
-+echo "configure:9654: checking for $ac_hdr" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 9648 "configure"
-+#line 9659 "configure"
- #include "confdefs.h"
- #include <$ac_hdr>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:9653: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:9664: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -9679,17 +9690,17 @@
- do
- ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
--echo "configure:9683: checking for $ac_hdr" >&5
-+echo "configure:9694: checking for $ac_hdr" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 9688 "configure"
-+#line 9699 "configure"
- #include "confdefs.h"
- #include <$ac_hdr>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:9693: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:9704: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -9719,17 +9730,17 @@
- do
- ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
--echo "configure:9723: checking for $ac_hdr" >&5
-+echo "configure:9734: checking for $ac_hdr" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 9728 "configure"
-+#line 9739 "configure"
- #include "confdefs.h"
- #include <$ac_hdr>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:9733: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:9744: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -9759,17 +9770,17 @@
- do
- ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
--echo "configure:9763: checking for $ac_hdr" >&5
-+echo "configure:9774: checking for $ac_hdr" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 9768 "configure"
-+#line 9779 "configure"
- #include "confdefs.h"
- #include <$ac_hdr>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:9773: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:9784: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -9799,17 +9810,17 @@
- do
- ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
--echo "configure:9803: checking for $ac_hdr" >&5
-+echo "configure:9814: checking for $ac_hdr" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 9808 "configure"
-+#line 9819 "configure"
- #include "confdefs.h"
- #include <$ac_hdr>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:9813: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:9824: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -9839,17 +9850,17 @@
- do
- ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
--echo "configure:9843: checking for $ac_hdr" >&5
-+echo "configure:9854: checking for $ac_hdr" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 9848 "configure"
-+#line 9859 "configure"
- #include "confdefs.h"
- #include <$ac_hdr>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:9853: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:9864: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -9880,17 +9891,17 @@
- do
- ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
--echo "configure:9884: checking for $ac_hdr" >&5
-+echo "configure:9895: checking for $ac_hdr" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 9889 "configure"
-+#line 9900 "configure"
- #include "confdefs.h"
- #include <$ac_hdr>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:9894: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:9905: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -9921,17 +9932,17 @@
- do
- ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
--echo "configure:9925: checking for $ac_hdr" >&5
-+echo "configure:9936: checking for $ac_hdr" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 9930 "configure"
-+#line 9941 "configure"
- #include "confdefs.h"
- #include <$ac_hdr>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:9935: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:9946: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -9961,17 +9972,17 @@
- do
- ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
--echo "configure:9965: checking for $ac_hdr" >&5
-+echo "configure:9976: checking for $ac_hdr" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 9970 "configure"
-+#line 9981 "configure"
- #include "confdefs.h"
- #include <$ac_hdr>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:9975: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:9986: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -10002,17 +10013,17 @@
- do
- ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
--echo "configure:10006: checking for $ac_hdr" >&5
-+echo "configure:10017: checking for $ac_hdr" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 10011 "configure"
-+#line 10022 "configure"
- #include "confdefs.h"
- #include <$ac_hdr>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:10016: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:10027: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -10049,17 +10060,17 @@
- NEW_H=new.h
- ac_safe=`echo "new" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for new""... $ac_c" 1>&6
--echo "configure:10053: checking for new" >&5
-+echo "configure:10064: checking for new" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 10058 "configure"
-+#line 10069 "configure"
- #include "confdefs.h"
- #include <new>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:10063: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:10074: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -10101,17 +10112,17 @@
- if test "x$enable_dtrace" = "xyes"; then
-   ac_safe=`echo "sys/sdt.h" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for sys/sdt.h""... $ac_c" 1>&6
--echo "configure:10105: checking for sys/sdt.h" >&5
-+echo "configure:10116: checking for sys/sdt.h" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 10110 "configure"
-+#line 10121 "configure"
- #include "confdefs.h"
- #include <sys/sdt.h>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:10115: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:10126: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -10151,17 +10162,17 @@
- do
- ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
--echo "configure:10155: checking for $ac_hdr" >&5
-+echo "configure:10166: checking for $ac_hdr" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 10160 "configure"
-+#line 10171 "configure"
- #include "confdefs.h"
- #include <$ac_hdr>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:10165: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:10176: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -10192,17 +10203,17 @@
- 
- ac_safe=`echo "linux/perf_event.h" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for linux/perf_event.h""... $ac_c" 1>&6
--echo "configure:10196: checking for linux/perf_event.h" >&5
-+echo "configure:10207: checking for linux/perf_event.h" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 10201 "configure"
-+#line 10212 "configure"
- #include "confdefs.h"
- #include <linux/perf_event.h>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:10206: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:10217: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -10230,7 +10241,7 @@
- 	;;
- *)
- 	echo $ac_n "checking for gethostbyname_r in -lc_r""... $ac_c" 1>&6
--echo "configure:10234: checking for gethostbyname_r in -lc_r" >&5
-+echo "configure:10245: checking for gethostbyname_r in -lc_r" >&5
- ac_lib_var=`echo c_r'_'gethostbyname_r | sed 'y%./+-%__p_%'`
- if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
-@@ -10238,7 +10249,7 @@
-   ac_save_LIBS="$LIBS"
- LIBS="-lc_r  $LIBS"
- cat > conftest.$ac_ext <<EOF
--#line 10242 "configure"
-+#line 10253 "configure"
- #include "confdefs.h"
- /* Override any gcc2 internal prototype to avoid an error.  */
- /* We use char because int might match the return type of a gcc2
-@@ -10249,7 +10260,7 @@
- gethostbyname_r()
- ; return 0; }
- EOF
--if { (eval echo configure:10253: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:10264: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_lib_$ac_lib_var=yes"
- else
-@@ -10289,14 +10300,14 @@
- *)
-     
- echo $ac_n "checking for library containing dlopen""... $ac_c" 1>&6
--echo "configure:10293: checking for library containing dlopen" >&5
-+echo "configure:10304: checking for library containing dlopen" >&5
- if eval "test \"`echo '$''{'ac_cv_search_dlopen'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   ac_func_search_save_LIBS="$LIBS"
- ac_cv_search_dlopen="no"
- cat > conftest.$ac_ext <<EOF
--#line 10300 "configure"
-+#line 10311 "configure"
- #include "confdefs.h"
- /* Override any gcc2 internal prototype to avoid an error.  */
- /* We use char because int might match the return type of a gcc2
-@@ -10307,7 +10318,7 @@
- dlopen()
- ; return 0; }
- EOF
--if { (eval echo configure:10311: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:10322: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   ac_cv_search_dlopen="none required"
- else
-@@ -10318,7 +10329,7 @@
- test "$ac_cv_search_dlopen" = "no" && for i in dl; do
- LIBS="-l$i  $ac_func_search_save_LIBS"
- cat > conftest.$ac_ext <<EOF
--#line 10322 "configure"
-+#line 10333 "configure"
- #include "confdefs.h"
- /* Override any gcc2 internal prototype to avoid an error.  */
- /* We use char because int might match the return type of a gcc2
-@@ -10329,7 +10340,7 @@
- dlopen()
- ; return 0; }
- EOF
--if { (eval echo configure:10333: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:10344: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   ac_cv_search_dlopen="-l$i"
- break
-@@ -10347,17 +10358,17 @@
-   test "$ac_cv_search_dlopen" = "none required" || LIBS="$ac_cv_search_dlopen $LIBS"
-   ac_safe=`echo "dlfcn.h" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for dlfcn.h""... $ac_c" 1>&6
--echo "configure:10351: checking for dlfcn.h" >&5
-+echo "configure:10362: checking for dlfcn.h" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 10356 "configure"
-+#line 10367 "configure"
- #include "confdefs.h"
- #include <dlfcn.h>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:10361: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:10372: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -10392,12 +10403,12 @@
- for ac_func in dladdr
- do
- echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
--echo "configure:10396: checking for $ac_func" >&5
-+echo "configure:10407: checking for $ac_func" >&5
- if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 10401 "configure"
-+#line 10412 "configure"
- #include "confdefs.h"
- /* System header to define __stub macros and hopefully few prototypes,
-     which can conflict with char $ac_func(); below.  */
-@@ -10420,7 +10431,7 @@
- 
- ; return 0; }
- EOF
--if { (eval echo configure:10424: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:10435: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_func_$ac_func=yes"
- else
-@@ -10451,7 +10462,7 @@
-     case $target in
-     *-aix*)
- 	echo $ac_n "checking for demangle in -lC_r""... $ac_c" 1>&6
--echo "configure:10455: checking for demangle in -lC_r" >&5
-+echo "configure:10466: checking for demangle in -lC_r" >&5
- ac_lib_var=`echo C_r'_'demangle | sed 'y%./+-%__p_%'`
- if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
-@@ -10459,7 +10470,7 @@
-   ac_save_LIBS="$LIBS"
- LIBS="-lC_r  $LIBS"
- cat > conftest.$ac_ext <<EOF
--#line 10463 "configure"
-+#line 10474 "configure"
- #include "confdefs.h"
- /* Override any gcc2 internal prototype to avoid an error.  */
- /* We use char because int might match the return type of a gcc2
-@@ -10470,7 +10481,7 @@
- demangle()
- ; return 0; }
- EOF
--if { (eval echo configure:10474: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:10485: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_lib_$ac_lib_var=yes"
- else
-@@ -10500,7 +10511,7 @@
- 	;;
-      *)
- 	echo $ac_n "checking for demangle in -lC""... $ac_c" 1>&6
--echo "configure:10504: checking for demangle in -lC" >&5
-+echo "configure:10515: checking for demangle in -lC" >&5
- ac_lib_var=`echo C'_'demangle | sed 'y%./+-%__p_%'`
- if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
-@@ -10508,7 +10519,7 @@
-   ac_save_LIBS="$LIBS"
- LIBS="-lC  $LIBS"
- cat > conftest.$ac_ext <<EOF
--#line 10512 "configure"
-+#line 10523 "configure"
- #include "confdefs.h"
- /* Override any gcc2 internal prototype to avoid an error.  */
- /* We use char because int might match the return type of a gcc2
-@@ -10519,7 +10530,7 @@
- demangle()
- ; return 0; }
- EOF
--if { (eval echo configure:10523: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:10534: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_lib_$ac_lib_var=yes"
- else
-@@ -10555,7 +10566,7 @@
-     ;;
- *)
-     echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
--echo "configure:10559: checking for socket in -lsocket" >&5
-+echo "configure:10570: checking for socket in -lsocket" >&5
- ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'`
- if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
-@@ -10563,7 +10574,7 @@
-   ac_save_LIBS="$LIBS"
- LIBS="-lsocket  $LIBS"
- cat > conftest.$ac_ext <<EOF
--#line 10567 "configure"
-+#line 10578 "configure"
- #include "confdefs.h"
- /* Override any gcc2 internal prototype to avoid an error.  */
- /* We use char because int might match the return type of a gcc2
-@@ -10574,7 +10585,7 @@
- socket()
- ; return 0; }
- EOF
--if { (eval echo configure:10578: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:10589: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_lib_$ac_lib_var=yes"
- else
-@@ -10604,16 +10615,16 @@
- esac
- 
- echo $ac_n "checking for ARM SIMD support in compiler""... $ac_c" 1>&6
--echo "configure:10608: checking for ARM SIMD support in compiler" >&5
-+echo "configure:10619: checking for ARM SIMD support in compiler" >&5
- cat > conftest.$ac_ext <<EOF
--#line 10610 "configure"
-+#line 10621 "configure"
- #include "confdefs.h"
- 
- int main() {
- asm("uqadd8 r1, r1, r2");
- ; return 0; }
- EOF
--if { (eval echo configure:10617: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:10628: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   result="yes"
- else
-@@ -10634,21 +10645,21 @@
- 
- 
- echo $ac_n "checking for ARM NEON support in compiler""... $ac_c" 1>&6
--echo "configure:10638: checking for ARM NEON support in compiler" >&5
-+echo "configure:10649: checking for ARM NEON support in compiler" >&5
- _SAVE_CFLAGS="$CFLAGS"
- if test "$GNU_CC"; then
-   # gcc needs -mfpu=neon to recognize NEON instructions
-   CFLAGS="$CFLAGS -mfpu=neon -mfloat-abi=softfp"
- fi
- cat > conftest.$ac_ext <<EOF
--#line 10645 "configure"
-+#line 10656 "configure"
- #include "confdefs.h"
- 
- int main() {
- asm("vadd.i8 d0, d0, d0");
- ; return 0; }
- EOF
--if { (eval echo configure:10652: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:10663: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   result="yes"
- else
-@@ -10676,7 +10687,7 @@
- *)
-     
- echo $ac_n "checking for pthread_create in -lpthreads""... $ac_c" 1>&6
--echo "configure:10680: checking for pthread_create in -lpthreads" >&5
-+echo "configure:10691: checking for pthread_create in -lpthreads" >&5
- echo "
-     #include <pthread.h>
-     #include <stdlib.h>
-@@ -10699,7 +10710,7 @@
-         echo "$ac_t""no" 1>&6
-         
- echo $ac_n "checking for pthread_create in -lpthread""... $ac_c" 1>&6
--echo "configure:10703: checking for pthread_create in -lpthread" >&5
-+echo "configure:10714: checking for pthread_create in -lpthread" >&5
- echo "
-     #include <pthread.h>
-     #include <stdlib.h>
-@@ -10722,7 +10733,7 @@
-         echo "$ac_t""no" 1>&6
-         
- echo $ac_n "checking for pthread_create in -lc_r""... $ac_c" 1>&6
--echo "configure:10726: checking for pthread_create in -lc_r" >&5
-+echo "configure:10737: checking for pthread_create in -lc_r" >&5
- echo "
-     #include <pthread.h>
-     #include <stdlib.h>
-@@ -10745,7 +10756,7 @@
-         echo "$ac_t""no" 1>&6
-         
- echo $ac_n "checking for pthread_create in -lc""... $ac_c" 1>&6
--echo "configure:10749: checking for pthread_create in -lc" >&5
-+echo "configure:10760: checking for pthread_create in -lc" >&5
- echo "
-     #include <pthread.h>
-     #include <stdlib.h>
-@@ -10804,7 +10815,7 @@
- 				rm -f conftest*
- 	ac_cv_have_dash_pthread=no
- 	echo $ac_n "checking whether ${CC-cc} accepts -pthread""... $ac_c" 1>&6
--echo "configure:10808: checking whether ${CC-cc} accepts -pthread" >&5
-+echo "configure:10819: checking whether ${CC-cc} accepts -pthread" >&5
- 	echo 'int main() { return 0; }' | cat > conftest.c
- 	${CC-cc} -pthread -o conftest conftest.c > conftest.out 2>&1
- 	if test $? -eq 0; then
-@@ -10827,7 +10838,7 @@
- 			    ac_cv_have_dash_pthreads=no
-     if test "$ac_cv_have_dash_pthread" = "no"; then
- 	    echo $ac_n "checking whether ${CC-cc} accepts -pthreads""... $ac_c" 1>&6
--echo "configure:10831: checking whether ${CC-cc} accepts -pthreads" >&5
-+echo "configure:10842: checking whether ${CC-cc} accepts -pthreads" >&5
-     	echo 'int main() { return 0; }' | cat > conftest.c
- 	    ${CC-cc} -pthreads -o conftest conftest.c > conftest.out 2>&1
-     	if test $? -eq 0; then
-@@ -10922,7 +10933,7 @@
- fi
- 
- echo $ac_n "checking whether mmap() sees write()s""... $ac_c" 1>&6
--echo "configure:10926: checking whether mmap() sees write()s" >&5
-+echo "configure:10937: checking whether mmap() sees write()s" >&5
- 
- 
- mmap_test_prog='
-@@ -10961,11 +10972,11 @@
-   result="yes"
- else
-   cat > conftest.$ac_ext <<EOF
--#line 10965 "configure"
-+#line 10976 "configure"
- #include "confdefs.h"
- $mmap_test_prog 
- EOF
--if { (eval echo configure:10969: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-+if { (eval echo configure:10980: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
- then
-   result="yes"
- else
-@@ -10990,13 +11001,13 @@
- 
- if test $ac_cv_prog_gcc = yes; then
-     echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
--echo "configure:10994: checking whether ${CC-cc} needs -traditional" >&5
-+echo "configure:11005: checking whether ${CC-cc} needs -traditional" >&5
- if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-     ac_pattern="Autoconf.*'x'"
-   cat > conftest.$ac_ext <<EOF
--#line 11000 "configure"
-+#line 11011 "configure"
- #include "confdefs.h"
- #include <sgtty.h>
- Autoconf TIOCGETP
-@@ -11014,7 +11025,7 @@
- 
-   if test $ac_cv_prog_gcc_traditional = no; then
-     cat > conftest.$ac_ext <<EOF
--#line 11018 "configure"
-+#line 11029 "configure"
- #include "confdefs.h"
- #include <termio.h>
- Autoconf TCGETA
-@@ -11036,7 +11047,7 @@
- fi
- 
- echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
--echo "configure:11040: checking for 8-bit clean memcmp" >&5
-+echo "configure:11051: checking for 8-bit clean memcmp" >&5
- if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -11044,7 +11055,7 @@
-   ac_cv_func_memcmp_clean=no
- else
-   cat > conftest.$ac_ext <<EOF
--#line 11048 "configure"
-+#line 11059 "configure"
- #include "confdefs.h"
- 
- main()
-@@ -11054,7 +11065,7 @@
- }
- 
- EOF
--if { (eval echo configure:11058: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-+if { (eval echo configure:11069: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
- then
-   ac_cv_func_memcmp_clean=yes
- else
-@@ -11076,12 +11087,12 @@
-                 stat64 statvfs statvfs64 strerror strtok_r truncate64
- do
- echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
--echo "configure:11080: checking for $ac_func" >&5
-+echo "configure:11091: checking for $ac_func" >&5
- if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 11085 "configure"
-+#line 11096 "configure"
- #include "confdefs.h"
- /* System header to define __stub macros and hopefully few prototypes,
-     which can conflict with char $ac_func(); below.  */
-@@ -11104,7 +11115,7 @@
- 
- ; return 0; }
- EOF
--if { (eval echo configure:11108: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:11119: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_func_$ac_func=yes"
- else
-@@ -11132,12 +11143,12 @@
- _SAVE_LDFLAGS=$LDFLAGS
- LDFLAGS="$LDFLAGS -lrt"
- echo $ac_n "checking for clock_gettime(CLOCK_MONOTONIC) and -lrt""... $ac_c" 1>&6
--echo "configure:11136: checking for clock_gettime(CLOCK_MONOTONIC) and -lrt" >&5
-+echo "configure:11147: checking for clock_gettime(CLOCK_MONOTONIC) and -lrt" >&5
- if eval "test \"`echo '$''{'ac_cv_have_clock_monotonic'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 11141 "configure"
-+#line 11152 "configure"
- #include "confdefs.h"
- #include <time.h>
- int main() {
-@@ -11145,7 +11156,7 @@
-                               clock_gettime(CLOCK_MONOTONIC, &ts); 
- ; return 0; }
- EOF
--if { (eval echo configure:11149: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:11160: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   ac_cv_have_clock_monotonic=yes
- else
-@@ -11171,14 +11182,14 @@
- fi
- 
- cat > conftest.$ac_ext <<EOF
--#line 11175 "configure"
-+#line 11186 "configure"
- #include "confdefs.h"
- #include <windows.h>
- int main() {
- SYSTEMTIME st;FILETIME ft;SystemTimeToFileTime(&st,&ft);
- ; return 0; }
- EOF
--if { (eval echo configure:11182: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:11193: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   ac_cv_have_systemtimetofiletime="yes"
- else
-@@ -11195,14 +11206,14 @@
- 
- fi
- cat > conftest.$ac_ext <<EOF
--#line 11199 "configure"
-+#line 11210 "configure"
- #include "confdefs.h"
- #include <windows.h>
- int main() {
- FILETIME ft;GetSystemTimeAsFileTime(&ft);
- ; return 0; }
- EOF
--if { (eval echo configure:11206: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:11217: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   ac_cv_have_getsystemtimeasfiletime="yes"
- else
-@@ -11229,19 +11240,19 @@
- cross_compiling=$ac_cv_prog_cxx_cross
- 
- echo $ac_n "checking for wcrtomb""... $ac_c" 1>&6
--echo "configure:11233: checking for wcrtomb" >&5
-+echo "configure:11244: checking for wcrtomb" >&5
- if eval "test \"`echo '$''{'ac_cv_have_wcrtomb'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 11238 "configure"
-+#line 11249 "configure"
- #include "confdefs.h"
- #include <wchar.h>
- int main() {
- mbstate_t ps={0};wcrtomb(0,'f',&ps);
- ; return 0; }
- EOF
--if { (eval echo configure:11245: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:11256: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   ac_cv_have_wcrtomb="yes"
- else
-@@ -11261,19 +11272,19 @@
- 
- fi
- echo $ac_n "checking for mbrtowc""... $ac_c" 1>&6
--echo "configure:11265: checking for mbrtowc" >&5
-+echo "configure:11276: checking for mbrtowc" >&5
- if eval "test \"`echo '$''{'ac_cv_have_mbrtowc'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 11270 "configure"
-+#line 11281 "configure"
- #include "confdefs.h"
- #include <wchar.h>
- int main() {
- mbstate_t ps={0};mbrtowc(0,0,0,&ps);
- ; return 0; }
- EOF
--if { (eval echo configure:11277: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:11288: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   ac_cv_have_mbrtowc="yes"
- else
-@@ -11302,12 +11313,12 @@
- fi
- 
- echo $ac_n "checking for res_ninit()""... $ac_c" 1>&6
--echo "configure:11306: checking for res_ninit()" >&5
-+echo "configure:11317: checking for res_ninit()" >&5
- if eval "test \"`echo '$''{'ac_cv_func_res_ninit'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 11311 "configure"
-+#line 11322 "configure"
- #include "confdefs.h"
- 
-         #ifdef linux
-@@ -11319,7 +11330,7 @@
- int foo = res_ninit(&_res);
- ; return 0; }
- EOF
--if { (eval echo configure:11323: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:11334: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   ac_cv_func_res_ninit=yes
- else
-@@ -11349,12 +11360,12 @@
- cross_compiling=$ac_cv_prog_cxx_cross
- 
- echo $ac_n "checking for gnu_get_libc_version()""... $ac_c" 1>&6
--echo "configure:11353: checking for gnu_get_libc_version()" >&5
-+echo "configure:11364: checking for gnu_get_libc_version()" >&5
- if eval "test \"`echo '$''{'ac_cv_func_gnu_get_libc_version'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 11358 "configure"
-+#line 11369 "configure"
- #include "confdefs.h"
- 
-         #ifdef HAVE_GNU_LIBC_VERSION_H
-@@ -11365,7 +11376,7 @@
- const char *glibc_version = gnu_get_libc_version();
- ; return 0; }
- EOF
--if { (eval echo configure:11369: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:11380: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   ac_cv_func_gnu_get_libc_version=yes
- else
-@@ -11394,7 +11405,7 @@
-     *)
-     
- echo $ac_n "checking for iconv in -lc""... $ac_c" 1>&6
--echo "configure:11398: checking for iconv in -lc" >&5
-+echo "configure:11409: checking for iconv in -lc" >&5
- ac_lib_var=`echo c'_'iconv | sed 'y%./+-%__p_%'`
- if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
-@@ -11402,7 +11413,7 @@
-   ac_save_LIBS="$LIBS"
- LIBS="-lc  $LIBS"
- cat > conftest.$ac_ext <<EOF
--#line 11406 "configure"
-+#line 11417 "configure"
- #include "confdefs.h"
- /* Override any gcc2 internal prototype to avoid an error.  */
- #ifdef __cplusplus
-@@ -11416,7 +11427,7 @@
- iconv()
- ; return 0; }
- EOF
--if { (eval echo configure:11420: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:11431: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_lib_$ac_lib_var=yes"
- else
-@@ -11435,7 +11446,7 @@
- else
-   echo "$ac_t""no" 1>&6
- echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6
--echo "configure:11439: checking for iconv in -liconv" >&5
-+echo "configure:11450: checking for iconv in -liconv" >&5
- ac_lib_var=`echo iconv'_'iconv | sed 'y%./+-%__p_%'`
- if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
-@@ -11443,7 +11454,7 @@
-   ac_save_LIBS="$LIBS"
- LIBS="-liconv  $LIBS"
- cat > conftest.$ac_ext <<EOF
--#line 11447 "configure"
-+#line 11458 "configure"
- #include "confdefs.h"
- /* Override any gcc2 internal prototype to avoid an error.  */
- #ifdef __cplusplus
-@@ -11457,7 +11468,7 @@
- iconv()
- ; return 0; }
- EOF
--if { (eval echo configure:11461: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:11472: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_lib_$ac_lib_var=yes"
- else
-@@ -11476,7 +11487,7 @@
- else
-   echo "$ac_t""no" 1>&6
- echo $ac_n "checking for libiconv in -liconv""... $ac_c" 1>&6
--echo "configure:11480: checking for libiconv in -liconv" >&5
-+echo "configure:11491: checking for libiconv in -liconv" >&5
- ac_lib_var=`echo iconv'_'libiconv | sed 'y%./+-%__p_%'`
- if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
-@@ -11484,7 +11495,7 @@
-   ac_save_LIBS="$LIBS"
- LIBS="-liconv  $LIBS"
- cat > conftest.$ac_ext <<EOF
--#line 11488 "configure"
-+#line 11499 "configure"
- #include "confdefs.h"
- /* Override any gcc2 internal prototype to avoid an error.  */
- #ifdef __cplusplus
-@@ -11498,7 +11509,7 @@
- libiconv()
- ; return 0; }
- EOF
--if { (eval echo configure:11502: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:11513: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_lib_$ac_lib_var=yes"
- else
-@@ -11525,12 +11536,12 @@
- _SAVE_LIBS=$LIBS
- LIBS="$LIBS $_ICONV_LIBS"
- echo $ac_n "checking for iconv()""... $ac_c" 1>&6
--echo "configure:11529: checking for iconv()" >&5
-+echo "configure:11540: checking for iconv()" >&5
- if eval "test \"`echo '$''{'ac_cv_func_iconv'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 11534 "configure"
-+#line 11545 "configure"
- #include "confdefs.h"
- 
-         #include <stdlib.h>
-@@ -11544,7 +11555,7 @@
-         
- ; return 0; }
- EOF
--if { (eval echo configure:11548: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:11559: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   ac_cv_func_iconv=yes
- else
-@@ -11568,12 +11579,12 @@
-     LIBXUL_LIBS="$LIBXUL_LIBS $_ICONV_LIBS"
-     LIBICONV="$_ICONV_LIBS"
-     echo $ac_n "checking for iconv() with const input""... $ac_c" 1>&6
--echo "configure:11572: checking for iconv() with const input" >&5
-+echo "configure:11583: checking for iconv() with const input" >&5
- if eval "test \"`echo '$''{'ac_cv_func_const_iconv'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 11577 "configure"
-+#line 11588 "configure"
- #include "confdefs.h"
- 
-             #include <stdlib.h>
-@@ -11588,7 +11599,7 @@
-             
- ; return 0; }
- EOF
--if { (eval echo configure:11592: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:11603: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_func_const_iconv=yes
- else
-@@ -11624,7 +11635,7 @@
- 
- 
- echo $ac_n "checking for an implementation of va_copy()""... $ac_c" 1>&6
--echo "configure:11628: checking for an implementation of va_copy()" >&5
-+echo "configure:11639: checking for an implementation of va_copy()" >&5
- if eval "test \"`echo '$''{'ac_cv_va_copy'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -11634,7 +11645,7 @@
-     
- else
-   cat > conftest.$ac_ext <<EOF
--#line 11638 "configure"
-+#line 11649 "configure"
- #include "confdefs.h"
- 
-         #include <stdarg.h>
-@@ -11648,7 +11659,7 @@
-         }
-         int main() { f (0, 42); return 0; }
- EOF
--if { (eval echo configure:11652: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-+if { (eval echo configure:11663: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
- then
-   ac_cv_va_copy=yes
- else
-@@ -11665,7 +11676,7 @@
- 
- echo "$ac_t""$ac_cv_va_copy" 1>&6
- echo $ac_n "checking for an implementation of __va_copy()""... $ac_c" 1>&6
--echo "configure:11669: checking for an implementation of __va_copy()" >&5
-+echo "configure:11680: checking for an implementation of __va_copy()" >&5
- if eval "test \"`echo '$''{'ac_cv___va_copy'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -11675,7 +11686,7 @@
-     
- else
-   cat > conftest.$ac_ext <<EOF
--#line 11679 "configure"
-+#line 11690 "configure"
- #include "confdefs.h"
- 
-         #include <stdarg.h>
-@@ -11689,7 +11700,7 @@
-         }
-         int main() { f (0, 42); return 0; }
- EOF
--if { (eval echo configure:11693: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-+if { (eval echo configure:11704: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
- then
-   ac_cv___va_copy=yes
- else
-@@ -11706,7 +11717,7 @@
- 
- echo "$ac_t""$ac_cv___va_copy" 1>&6
- echo $ac_n "checking whether va_lists can be copied by value""... $ac_c" 1>&6
--echo "configure:11710: checking whether va_lists can be copied by value" >&5
-+echo "configure:11721: checking whether va_lists can be copied by value" >&5
- if eval "test \"`echo '$''{'ac_cv_va_val_copy'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -11716,7 +11727,7 @@
-     
- else
-   cat > conftest.$ac_ext <<EOF
--#line 11720 "configure"
-+#line 11731 "configure"
- #include "confdefs.h"
- 
-         #include <stdarg.h>
-@@ -11730,7 +11741,7 @@
-         }
-         int main() { f (0, 42); return 0; }
- EOF
--if { (eval echo configure:11734: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-+if { (eval echo configure:11745: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
- then
-   ac_cv_va_val_copy=yes
- else
-@@ -11839,12 +11850,12 @@
- if test "$GNU_CC"; then
-   if test "$CPU_ARCH" = "arm" ; then
-     echo $ac_n "checking for ARM EABI""... $ac_c" 1>&6
--echo "configure:11843: checking for ARM EABI" >&5
-+echo "configure:11854: checking for ARM EABI" >&5
- if eval "test \"`echo '$''{'ac_cv_gcc_arm_eabi'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 11848 "configure"
-+#line 11859 "configure"
- #include "confdefs.h"
- 
- int main() {
-@@ -11857,7 +11868,7 @@
-                         
- ; return 0; }
- EOF
--if { (eval echo configure:11861: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:11872: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_gcc_arm_eabi="yes"
- else
-@@ -11879,12 +11890,12 @@
-   fi
- 
-   echo $ac_n "checking for gcc 3.0 ABI""... $ac_c" 1>&6
--echo "configure:11883: checking for gcc 3.0 ABI" >&5
-+echo "configure:11894: checking for gcc 3.0 ABI" >&5
- if eval "test \"`echo '$''{'ac_cv_gcc_three_abi'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 11888 "configure"
-+#line 11899 "configure"
- #include "confdefs.h"
- 
- int main() {
-@@ -11897,7 +11908,7 @@
-                       
- ; return 0; }
- EOF
--if { (eval echo configure:11901: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:11912: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_gcc_three_abi="yes"
- else
-@@ -11921,12 +11932,12 @@
- 
- 
- echo $ac_n "checking for C++ \"explicit\" keyword""... $ac_c" 1>&6
--echo "configure:11925: checking for C++ \"explicit\" keyword" >&5
-+echo "configure:11936: checking for C++ \"explicit\" keyword" >&5
- if eval "test \"`echo '$''{'ac_cv_cpp_explicit'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 11930 "configure"
-+#line 11941 "configure"
- #include "confdefs.h"
- class X {
-                                public: explicit X(int i) : i_(i) {}
-@@ -11936,7 +11947,7 @@
- X x(3);
- ; return 0; }
- EOF
--if { (eval echo configure:11940: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:11951: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_cpp_explicit=yes
- else
-@@ -11957,12 +11968,12 @@
- fi
- 
- echo $ac_n "checking for C++ \"typename\" keyword""... $ac_c" 1>&6
--echo "configure:11961: checking for C++ \"typename\" keyword" >&5
-+echo "configure:11972: checking for C++ \"typename\" keyword" >&5
- if eval "test \"`echo '$''{'ac_cv_cpp_typename'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 11966 "configure"
-+#line 11977 "configure"
- #include "confdefs.h"
- class param {
-                                public:
-@@ -11981,7 +11992,7 @@
-                                A.foo(0);
- ; return 0; }
- EOF
--if { (eval echo configure:11985: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:11996: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_cpp_typename=yes
- else
-@@ -12002,12 +12013,12 @@
- fi
- 
- echo $ac_n "checking for modern C++ template specialization syntax support""... $ac_c" 1>&6
--echo "configure:12006: checking for modern C++ template specialization syntax support" >&5
-+echo "configure:12017: checking for modern C++ template specialization syntax support" >&5
- if eval "test \"`echo '$''{'ac_cv_cpp_modern_specialize_template_syntax'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 12011 "configure"
-+#line 12022 "configure"
- #include "confdefs.h"
- template <class T> struct X { int a; };
-                                class Y {};
-@@ -12017,7 +12028,7 @@
-                                X<Y> y_x;
- ; return 0; }
- EOF
--if { (eval echo configure:12021: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:12032: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_cpp_modern_specialize_template_syntax=yes
- else
-@@ -12039,12 +12050,12 @@
- 
- 
- echo $ac_n "checking whether partial template specialization works""... $ac_c" 1>&6
--echo "configure:12043: checking whether partial template specialization works" >&5
-+echo "configure:12054: checking whether partial template specialization works" >&5
- if eval "test \"`echo '$''{'ac_cv_cpp_partial_specialization'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 12048 "configure"
-+#line 12059 "configure"
- #include "confdefs.h"
- template <class T> class Foo {};
-                                template <class T> class Foo<T*> {};
-@@ -12052,7 +12063,7 @@
- return 0;
- ; return 0; }
- EOF
--if { (eval echo configure:12056: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:12067: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_cpp_partial_specialization=yes
- else
-@@ -12073,12 +12084,12 @@
- fi
- 
- echo $ac_n "checking whether operators must be re-defined for templates derived from templates""... $ac_c" 1>&6
--echo "configure:12077: checking whether operators must be re-defined for templates derived from templates" >&5
-+echo "configure:12088: checking whether operators must be re-defined for templates derived from templates" >&5
- if eval "test \"`echo '$''{'ac_cv_need_derived_template_operators'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 12082 "configure"
-+#line 12093 "configure"
- #include "confdefs.h"
- template <class T> class Base { };
-                                 template <class T>
-@@ -12090,7 +12101,7 @@
-                                 return 0;
- ; return 0; }
- EOF
--if { (eval echo configure:12094: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:12105: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_need_derived_template_operators=no
- else
-@@ -12112,12 +12123,12 @@
- 
- 
- echo $ac_n "checking whether we need to cast a derived template to pass as its base class""... $ac_c" 1>&6
--echo "configure:12116: checking whether we need to cast a derived template to pass as its base class" >&5
-+echo "configure:12127: checking whether we need to cast a derived template to pass as its base class" >&5
- if eval "test \"`echo '$''{'ac_cv_need_cpp_template_cast_to_base'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 12121 "configure"
-+#line 12132 "configure"
- #include "confdefs.h"
- template <class T> class Base { };
-                                 template <class T> class Derived : public Base<T> { };
-@@ -12126,7 +12137,7 @@
- Derived<char> bar; return foo(bar);
- ; return 0; }
- EOF
--if { (eval echo configure:12130: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:12141: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_need_cpp_template_cast_to_base=no
- else
-@@ -12147,12 +12158,12 @@
- fi
- 
- echo $ac_n "checking whether the compiler can resolve const ambiguities for templates""... $ac_c" 1>&6
--echo "configure:12151: checking whether the compiler can resolve const ambiguities for templates" >&5
-+echo "configure:12162: checking whether the compiler can resolve const ambiguities for templates" >&5
- if eval "test \"`echo '$''{'ac_cv_can_resolve_const_ambiguity'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 12156 "configure"
-+#line 12167 "configure"
- #include "confdefs.h"
- 
-                                 template <class T> class ptrClass {
-@@ -12173,7 +12184,7 @@
-                                  a(&i); 
- ; return 0; }
- EOF
--if { (eval echo configure:12177: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:12188: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_can_resolve_const_ambiguity=yes
- else
-@@ -12195,12 +12206,12 @@
- 
- 
- echo $ac_n "checking whether the C++ \"using\" keyword can change access""... $ac_c" 1>&6
--echo "configure:12199: checking whether the C++ \"using\" keyword can change access" >&5
-+echo "configure:12210: checking whether the C++ \"using\" keyword can change access" >&5
- if eval "test \"`echo '$''{'ac_cv_cpp_access_changing_using2'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 12204 "configure"
-+#line 12215 "configure"
- #include "confdefs.h"
- class A { protected: int foo() { return 0; } };
-                    class B : public A { public: using A::foo; };
-@@ -12208,10 +12219,10 @@
- B b; return b.foo();
- ; return 0; }
- EOF
--if { (eval echo configure:12212: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:12223: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   cat > conftest.$ac_ext <<EOF
--#line 12215 "configure"
-+#line 12226 "configure"
- #include "confdefs.h"
- class A { public: int foo() { return 1; } };
-                        class B : public A { private: using A::foo; };
-@@ -12219,7 +12230,7 @@
- B b; return b.foo();
- ; return 0; }
- EOF
--if { (eval echo configure:12223: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:12234: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_cpp_access_changing_using2=no
- else
-@@ -12247,12 +12258,12 @@
- fi
- 
- echo $ac_n "checking whether the C++ \"using\" keyword resolves ambiguity""... $ac_c" 1>&6
--echo "configure:12251: checking whether the C++ \"using\" keyword resolves ambiguity" >&5
-+echo "configure:12262: checking whether the C++ \"using\" keyword resolves ambiguity" >&5
- if eval "test \"`echo '$''{'ac_cv_cpp_ambiguity_resolving_using'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 12256 "configure"
-+#line 12267 "configure"
- #include "confdefs.h"
- class X { 
-                                  public: int go(const X&) {return 3;}
-@@ -12268,7 +12279,7 @@
- X x; Y y; y.jo(x);
- ; return 0; }
- EOF
--if { (eval echo configure:12272: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:12283: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_cpp_ambiguity_resolving_using=yes
- else
-@@ -12289,19 +12300,19 @@
- fi
- 
- echo $ac_n "checking for \"std::\" namespace""... $ac_c" 1>&6
--echo "configure:12293: checking for \"std::\" namespace" >&5
-+echo "configure:12304: checking for \"std::\" namespace" >&5
- if eval "test \"`echo '$''{'ac_cv_cpp_namespace_std'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 12298 "configure"
-+#line 12309 "configure"
- #include "confdefs.h"
- #include <algorithm>
- int main() {
- return std::min(0, 1);
- ; return 0; }
- EOF
--if { (eval echo configure:12305: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:12316: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_cpp_namespace_std=yes
- else
-@@ -12322,12 +12333,12 @@
- fi
- 
- echo $ac_n "checking whether standard template operator!=() is ambiguous""... $ac_c" 1>&6
--echo "configure:12326: checking whether standard template operator!=() is ambiguous" >&5
-+echo "configure:12337: checking whether standard template operator!=() is ambiguous" >&5
- if eval "test \"`echo '$''{'ac_cv_cpp_unambiguous_std_notequal'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 12331 "configure"
-+#line 12342 "configure"
- #include "confdefs.h"
- #include <algorithm>
-                                 struct T1 {};
-@@ -12337,7 +12348,7 @@
- T1 a,b; return a != b;
- ; return 0; }
- EOF
--if { (eval echo configure:12341: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:12352: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_cpp_unambiguous_std_notequal=unambiguous
- else
-@@ -12359,12 +12370,12 @@
- 
- 
- echo $ac_n "checking for C++ reinterpret_cast""... $ac_c" 1>&6
--echo "configure:12363: checking for C++ reinterpret_cast" >&5
-+echo "configure:12374: checking for C++ reinterpret_cast" >&5
- if eval "test \"`echo '$''{'ac_cv_cpp_reinterpret_cast'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 12368 "configure"
-+#line 12379 "configure"
- #include "confdefs.h"
- struct X { int i; };
-                                struct Y { int i; };
-@@ -12372,7 +12383,7 @@
- X x; X*const z = &x;Y*y = reinterpret_cast<Y*>(z);
- ; return 0; }
- EOF
--if { (eval echo configure:12376: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:12387: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_cpp_reinterpret_cast=yes
- else
-@@ -12393,7 +12404,7 @@
- fi
- 
- echo $ac_n "checking for C++ dynamic_cast to void*""... $ac_c" 1>&6
--echo "configure:12397: checking for C++ dynamic_cast to void*" >&5
-+echo "configure:12408: checking for C++ dynamic_cast to void*" >&5
- if eval "test \"`echo '$''{'ac_cv_cpp_dynamic_cast_void_ptr'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -12401,7 +12412,7 @@
-   ac_cv_cpp_dynamic_cast_void_ptr=no
- else
-   cat > conftest.$ac_ext <<EOF
--#line 12405 "configure"
-+#line 12416 "configure"
- #include "confdefs.h"
- #ifdef __cplusplus
- extern "C" void exit(int);
-@@ -12420,7 +12431,7 @@
-                                            ((void*)&mdo == dynamic_cast<void*>(suby))));
-                             }
- EOF
--if { (eval echo configure:12424: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-+if { (eval echo configure:12435: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
- then
-   ac_cv_cpp_dynamic_cast_void_ptr=yes
- else
-@@ -12444,19 +12455,19 @@
- 
- 
- echo $ac_n "checking whether C++ requires implementation of unused virtual methods""... $ac_c" 1>&6
--echo "configure:12448: checking whether C++ requires implementation of unused virtual methods" >&5
-+echo "configure:12459: checking whether C++ requires implementation of unused virtual methods" >&5
- if eval "test \"`echo '$''{'ac_cv_cpp_unused_required'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 12453 "configure"
-+#line 12464 "configure"
- #include "confdefs.h"
- class X {private: virtual void never_called();};
- int main() {
- X x;
- ; return 0; }
- EOF
--if { (eval echo configure:12460: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:12471: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   ac_cv_cpp_unused_required=no
- else
-@@ -12479,12 +12490,12 @@
- 
- 
- echo $ac_n "checking for trouble comparing to zero near std::operator!=()""... $ac_c" 1>&6
--echo "configure:12483: checking for trouble comparing to zero near std::operator!=()" >&5
-+echo "configure:12494: checking for trouble comparing to zero near std::operator!=()" >&5
- if eval "test \"`echo '$''{'ac_cv_trouble_comparing_to_zero'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 12488 "configure"
-+#line 12499 "configure"
- #include "confdefs.h"
- #include <algorithm>
-                                 template <class T> class Foo {};
-@@ -12495,7 +12506,7 @@
- Foo<int> f; return (0 != f);
- ; return 0; }
- EOF
--if { (eval echo configure:12499: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:12510: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_trouble_comparing_to_zero=no
- else
-@@ -12519,19 +12530,19 @@
- _SAVE_LDFLAGS=$LDFLAGS
- LDFLAGS="$LDFLAGS $DSO_PIC_CFLAGS $DSO_LDOPTS"
- echo $ac_n "checking for __thread keyword for TLS variables""... $ac_c" 1>&6
--echo "configure:12523: checking for __thread keyword for TLS variables" >&5
-+echo "configure:12534: checking for __thread keyword for TLS variables" >&5
- if eval "test \"`echo '$''{'ac_cv_thread_keyword'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 12528 "configure"
-+#line 12539 "configure"
- #include "confdefs.h"
- __thread bool tlsIsMainThread = false;
- int main() {
- return tlsIsMainThread;
- ; return 0; }
- EOF
--if { (eval echo configure:12535: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:12546: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   ac_cv_thread_keyword=yes
- else
-@@ -12568,17 +12579,17 @@
- MALLOC_H=
- ac_safe=`echo "malloc.h" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for malloc.h""... $ac_c" 1>&6
--echo "configure:12572: checking for malloc.h" >&5
-+echo "configure:12583: checking for malloc.h" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 12577 "configure"
-+#line 12588 "configure"
- #include "confdefs.h"
- #include <malloc.h>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:12582: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:12593: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -12602,17 +12613,17 @@
- if test "$MALLOC_H" = ""; then
-   ac_safe=`echo "malloc/malloc.h" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for malloc/malloc.h""... $ac_c" 1>&6
--echo "configure:12606: checking for malloc/malloc.h" >&5
-+echo "configure:12617: checking for malloc/malloc.h" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 12611 "configure"
-+#line 12622 "configure"
- #include "confdefs.h"
- #include <malloc/malloc.h>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:12616: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:12627: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -12636,17 +12647,17 @@
-   if test "$MALLOC_H" = ""; then
-     ac_safe=`echo "sys/malloc.h" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for sys/malloc.h""... $ac_c" 1>&6
--echo "configure:12640: checking for sys/malloc.h" >&5
-+echo "configure:12651: checking for sys/malloc.h" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 12645 "configure"
-+#line 12656 "configure"
- #include "confdefs.h"
- #include <sys/malloc.h>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:12650: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:12661: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -12680,12 +12691,12 @@
- for ac_func in strndup posix_memalign memalign valloc
- do
- echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
--echo "configure:12684: checking for $ac_func" >&5
-+echo "configure:12695: checking for $ac_func" >&5
- if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 12689 "configure"
-+#line 12700 "configure"
- #include "confdefs.h"
- /* System header to define __stub macros and hopefully few prototypes,
-     which can conflict with char $ac_func(); below.  */
-@@ -12711,7 +12722,7 @@
- 
- ; return 0; }
- EOF
--if { (eval echo configure:12715: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:12726: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_func_$ac_func=yes"
- else
-@@ -12738,19 +12749,19 @@
- 
- 
- echo $ac_n "checking for __attribute__((always_inline))""... $ac_c" 1>&6
--echo "configure:12742: checking for __attribute__((always_inline))" >&5
-+echo "configure:12753: checking for __attribute__((always_inline))" >&5
- if eval "test \"`echo '$''{'ac_cv_attribute_always_inline'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 12747 "configure"
-+#line 12758 "configure"
- #include "confdefs.h"
- 
- int main() {
- inline void f(void) __attribute__((always_inline));
- ; return 0; }
- EOF
--if { (eval echo configure:12754: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:12765: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_attribute_always_inline=yes
- else
-@@ -12765,19 +12776,19 @@
- echo "$ac_t""$ac_cv_attribute_always_inline" 1>&6
- 
- echo $ac_n "checking for __attribute__((malloc))""... $ac_c" 1>&6
--echo "configure:12769: checking for __attribute__((malloc))" >&5
-+echo "configure:12780: checking for __attribute__((malloc))" >&5
- if eval "test \"`echo '$''{'ac_cv_attribute_malloc'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 12774 "configure"
-+#line 12785 "configure"
- #include "confdefs.h"
- 
- int main() {
- void* f(int) __attribute__((malloc));
- ; return 0; }
- EOF
--if { (eval echo configure:12781: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:12792: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_attribute_malloc=yes
- else
-@@ -12792,19 +12803,19 @@
- echo "$ac_t""$ac_cv_attribute_malloc" 1>&6
- 
- echo $ac_n "checking for __attribute__((warn_unused_result))""... $ac_c" 1>&6
--echo "configure:12796: checking for __attribute__((warn_unused_result))" >&5
-+echo "configure:12807: checking for __attribute__((warn_unused_result))" >&5
- if eval "test \"`echo '$''{'ac_cv_attribute_warn_unused'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 12801 "configure"
-+#line 12812 "configure"
- #include "confdefs.h"
- 
- int main() {
- int f(void) __attribute__((warn_unused_result));
- ; return 0; }
- EOF
--if { (eval echo configure:12808: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:12819: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_attribute_warn_unused=yes
- else
-@@ -12819,19 +12830,19 @@
- echo "$ac_t""$ac_cv_attribute_warn_unused" 1>&6
- 
- echo $ac_n "checking for __attribute__((noreturn))""... $ac_c" 1>&6
--echo "configure:12823: checking for __attribute__((noreturn))" >&5
-+echo "configure:12834: checking for __attribute__((noreturn))" >&5
- if eval "test \"`echo '$''{'ac_cv_attribute_noreturn'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 12828 "configure"
-+#line 12839 "configure"
- #include "confdefs.h"
- 
- int main() {
- void f(void) __attribute__((noreturn));
- ; return 0; }
- EOF
--if { (eval echo configure:12835: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:12846: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_attribute_noreturn=yes
- else
-@@ -12855,19 +12866,19 @@
- 
- 
- echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
--echo "configure:12859: checking for LC_MESSAGES" >&5
-+echo "configure:12870: checking for LC_MESSAGES" >&5
- if eval "test \"`echo '$''{'ac_cv_i18n_lc_messages'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 12864 "configure"
-+#line 12875 "configure"
- #include "confdefs.h"
- #include <locale.h>
- int main() {
- int category = LC_MESSAGES;
- ; return 0; }
- EOF
--if { (eval echo configure:12871: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:12882: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_i18n_lc_messages=yes
- else
-@@ -12890,12 +12901,12 @@
- for ac_func in localeconv
- do
- echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
--echo "configure:12894: checking for $ac_func" >&5
-+echo "configure:12905: checking for $ac_func" >&5
- if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 12899 "configure"
-+#line 12910 "configure"
- #include "confdefs.h"
- /* System header to define __stub macros and hopefully few prototypes,
-     which can conflict with char $ac_func(); below.  */
-@@ -12918,7 +12929,7 @@
- 
- ; return 0; }
- EOF
--if { (eval echo configure:12922: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:12933: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_func_$ac_func=yes"
- else
-@@ -13088,7 +13099,7 @@
- 	# Extract the first word of "nspr-config", so it can be a program name with args.
- set dummy nspr-config; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:13092: checking for $ac_word" >&5
-+echo "configure:13103: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_path_NSPR_CONFIG'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -13123,7 +13134,7 @@
- 
- 	min_nspr_version=4.7.0
- 	echo $ac_n "checking for NSPR - version >= $min_nspr_version""... $ac_c" 1>&6
--echo "configure:13127: checking for NSPR - version >= $min_nspr_version" >&5
-+echo "configure:13138: checking for NSPR - version >= $min_nspr_version" >&5
- 
- 	no_nspr=""
- 	if test "$NSPR_CONFIG" != "no"; then
-@@ -13182,7 +13193,7 @@
-     _SAVE_CFLAGS=$CFLAGS
-     CFLAGS="$CFLAGS $NSPR_CFLAGS"
-     cat > conftest.$ac_ext <<EOF
--#line 13186 "configure"
-+#line 13197 "configure"
- #include "confdefs.h"
- #include "prlog.h"
- int main() {
-@@ -13191,7 +13202,7 @@
-                  #endif
- ; return 0; }
- EOF
--if { (eval echo configure:13195: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:13206: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   MOZ_NATIVE_NSPR=1
- else
-@@ -13389,18 +13400,18 @@
- 
- if test -n "$MOZ_DEBUG"; then
-     echo $ac_n "checking for valid debug flags""... $ac_c" 1>&6
--echo "configure:13393: checking for valid debug flags" >&5
-+echo "configure:13404: checking for valid debug flags" >&5
-     _SAVE_CFLAGS=$CFLAGS
-     CFLAGS="$CFLAGS $MOZ_DEBUG_FLAGS"
-     cat > conftest.$ac_ext <<EOF
--#line 13397 "configure"
-+#line 13408 "configure"
- #include "confdefs.h"
- #include <stdio.h>
- int main() {
- printf("Hello World\n");
- ; return 0; }
- EOF
--if { (eval echo configure:13404: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:13415: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   _results=yes
- else
-@@ -13441,18 +13452,18 @@
- if test "$COMPILE_ENVIRONMENT"; then
- if test -n "$MOZ_OPTIMIZE"; then
-     echo $ac_n "checking for valid optimization flags""... $ac_c" 1>&6
--echo "configure:13445: checking for valid optimization flags" >&5
-+echo "configure:13456: checking for valid optimization flags" >&5
-     _SAVE_CFLAGS=$CFLAGS
-     CFLAGS="$CFLAGS $MOZ_OPTIMIZE_FLAGS"
-     cat > conftest.$ac_ext <<EOF
--#line 13449 "configure"
-+#line 13460 "configure"
- #include "confdefs.h"
- #include <stdio.h>
- int main() {
- printf("Hello World\n");
- ; return 0; }
- EOF
--if { (eval echo configure:13456: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:13467: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   _results=yes
- else
-@@ -13581,7 +13592,7 @@
-     fi
-   else
-     echo $ac_n "checking size of int *""... $ac_c" 1>&6
--echo "configure:13585: checking size of int *" >&5
-+echo "configure:13596: checking size of int *" >&5
- if eval "test \"`echo '$''{'ac_cv_sizeof_int_p'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -13589,7 +13600,7 @@
-   ac_cv_sizeof_int_p=4
- else
-   cat > conftest.$ac_ext <<EOF
--#line 13593 "configure"
-+#line 13604 "configure"
- #include "confdefs.h"
- #include <stdio.h>
- main()
-@@ -13600,7 +13611,7 @@
-   exit(0);
- }
- EOF
--if { (eval echo configure:13604: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-+if { (eval echo configure:13615: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
- then
-   ac_cv_sizeof_int_p=`cat conftestval`
- else
-@@ -13847,17 +13858,17 @@
- if test -n "$MOZ_VALGRIND"; then
-     ac_safe=`echo "valgrind/valgrind.h" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for valgrind/valgrind.h""... $ac_c" 1>&6
--echo "configure:13851: checking for valgrind/valgrind.h" >&5
-+echo "configure:13862: checking for valgrind/valgrind.h" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 13856 "configure"
-+#line 13867 "configure"
- #include "confdefs.h"
- #include <valgrind/valgrind.h>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:13861: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:13872: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -14012,7 +14023,7 @@
- # Extract the first word of "$ac_prog", so it can be a program name with args.
- set dummy $ac_prog; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:14016: checking for $ac_word" >&5
-+echo "configure:14027: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_path_CCACHE'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -14163,12 +14174,12 @@
-     for ac_func in __cxa_demangle
- do
- echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
--echo "configure:14167: checking for $ac_func" >&5
-+echo "configure:14178: checking for $ac_func" >&5
- if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 14172 "configure"
-+#line 14183 "configure"
- #include "confdefs.h"
- /* System header to define __stub macros and hopefully few prototypes,
-     which can conflict with char $ac_func(); below.  */
-@@ -14194,7 +14205,7 @@
- 
- ; return 0; }
- EOF
--if { (eval echo configure:14198: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:14209: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_func_$ac_func=yes"
- else
-@@ -14242,17 +14253,17 @@
- if test "$HAVE_GCC3_ABI" -a -z "$SKIP_LIBRARY_CHECKS"; then
-     ac_safe=`echo "unwind.h" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for unwind.h""... $ac_c" 1>&6
--echo "configure:14246: checking for unwind.h" >&5
-+echo "configure:14257: checking for unwind.h" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 14251 "configure"
-+#line 14262 "configure"
- #include "confdefs.h"
- #include <unwind.h>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:14256: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:14267: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   rm -rf conftest*
-@@ -14271,12 +14282,12 @@
-   for ac_func in _Unwind_Backtrace
- do
- echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
--echo "configure:14275: checking for $ac_func" >&5
-+echo "configure:14286: checking for $ac_func" >&5
- if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 14280 "configure"
-+#line 14291 "configure"
- #include "confdefs.h"
- /* System header to define __stub macros and hopefully few prototypes,
-     which can conflict with char $ac_func(); below.  */
-@@ -14299,7 +14310,7 @@
- 
- ; return 0; }
- EOF
--if { (eval echo configure:14303: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:14314: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_func_$ac_func=yes"
- else
-@@ -14348,7 +14359,7 @@
- # Compiler Options
- 
- echo $ac_n "checking for gcc -pipe support""... $ac_c" 1>&6
--echo "configure:14352: checking for gcc -pipe support" >&5
-+echo "configure:14363: checking for gcc -pipe support" >&5
- if test -n "$GNU_CC" -a -n "$GNU_CXX" -a -n "$GNU_AS"; then
-     echo '#include <stdio.h>' > dummy-hello.c
-     echo 'int main() { printf("Hello World\n"); exit(0); }' >> dummy-hello.c
-@@ -14363,14 +14374,14 @@
-         _SAVE_CFLAGS=$CFLAGS
-         CFLAGS="$CFLAGS -pipe"
-         cat > conftest.$ac_ext <<EOF
--#line 14367 "configure"
-+#line 14378 "configure"
- #include "confdefs.h"
-  #include <stdio.h> 
- int main() {
- printf("Hello World\n");
- ; return 0; }
- EOF
--if { (eval echo configure:14374: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:14385: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   _res_gcc_pipe="yes"
- else
-@@ -14415,16 +14426,16 @@
- CFLAGS="$CFLAGS -fprofile-generate -fprofile-correction"
- 
- echo $ac_n "checking whether C compiler supports -fprofile-generate""... $ac_c" 1>&6
--echo "configure:14419: checking whether C compiler supports -fprofile-generate" >&5
-+echo "configure:14430: checking whether C compiler supports -fprofile-generate" >&5
- cat > conftest.$ac_ext <<EOF
--#line 14421 "configure"
-+#line 14432 "configure"
- #include "confdefs.h"
- 
- int main() {
- return 0;
- ; return 0; }
- EOF
--if { (eval echo configure:14428: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:14439: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-    PROFILE_GEN_CFLAGS="-fprofile-generate"
-                  result="yes" 
-@@ -14488,16 +14499,16 @@
-     _SAVE_CXXFLAGS=$CXXFLAGS
-     CXXFLAGS="$CXXFLAGS ${_WARNINGS_CXXFLAGS} ${_COMPILER_PREFIX}-pedantic ${_COMPILER_PREFIX}-Wno-long-long"
-     echo $ac_n "checking whether C++ compiler has -pedantic long long bug""... $ac_c" 1>&6
--echo "configure:14492: checking whether C++ compiler has -pedantic long long bug" >&5
-+echo "configure:14503: checking whether C++ compiler has -pedantic long long bug" >&5
-     cat > conftest.$ac_ext <<EOF
--#line 14494 "configure"
-+#line 14505 "configure"
- #include "confdefs.h"
- $configure_static_assert_macros
- int main() {
- CONFIGURE_STATIC_ASSERT(sizeof(long long) == 8)
- ; return 0; }
- EOF
--if { (eval echo configure:14501: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:14512: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   result="no"
- else
-@@ -14522,12 +14533,12 @@
- fi
- 
- echo $ac_n "checking for correct temporary object destruction order""... $ac_c" 1>&6
--echo "configure:14526: checking for correct temporary object destruction order" >&5
-+echo "configure:14537: checking for correct temporary object destruction order" >&5
- if test "$cross_compiling" = yes; then
-   result="maybe"
- else
-   cat > conftest.$ac_ext <<EOF
--#line 14531 "configure"
-+#line 14542 "configure"
- #include "confdefs.h"
- #ifdef __cplusplus
- extern "C" void exit(int);
-@@ -14550,7 +14561,7 @@
-              }
-              
- EOF
--if { (eval echo configure:14554: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-+if { (eval echo configure:14565: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
- then
-   result="yes"
- else
-@@ -14571,12 +14582,12 @@
- _SAVE_CXXFLAGS=$CXXFLAGS
- CXXFLAGS="$CXXFLAGS ${_WARNINGS_CXXFLAGS}"
- echo $ac_n "checking for correct overload resolution with const and templates""... $ac_c" 1>&6
--echo "configure:14575: checking for correct overload resolution with const and templates" >&5
-+echo "configure:14586: checking for correct overload resolution with const and templates" >&5
- if eval "test \"`echo '$''{'ac_nscap_nonconst_opeq_bug'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 14580 "configure"
-+#line 14591 "configure"
- #include "confdefs.h"
- 
-                       template <class T>
-@@ -14606,7 +14617,7 @@
-                     
- ; return 0; }
- EOF
--if { (eval echo configure:14610: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:14621: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_nscap_nonconst_opeq_bug="no"
- else
-@@ -14629,19 +14640,19 @@
- fi
- 
- echo $ac_n "checking for tm_zone tm_gmtoff in struct tm""... $ac_c" 1>&6
--echo "configure:14633: checking for tm_zone tm_gmtoff in struct tm" >&5
-+echo "configure:14644: checking for tm_zone tm_gmtoff in struct tm" >&5
- if eval "test \"`echo '$''{'ac_cv_struct_tm_zone_tm_gmtoff'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 14638 "configure"
-+#line 14649 "configure"
- #include "confdefs.h"
- #include <time.h>
- int main() {
- struct tm tm; tm.tm_zone = 0; tm.tm_gmtoff = 1;
- ; return 0; }
- EOF
--if { (eval echo configure:14645: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:14656: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   rm -rf conftest*
-   ac_cv_struct_tm_zone_tm_gmtoff="yes"
- else
-@@ -14855,7 +14866,7 @@
- if test -z "$SKIP_LIBRARY_CHECKS" -a -z "$NO_EDITLINE"; then
-   if test -n "$JS_WANT_READLINE"; then
-     echo $ac_n "checking for readline in -lreadline""... $ac_c" 1>&6
--echo "configure:14859: checking for readline in -lreadline" >&5
-+echo "configure:14870: checking for readline in -lreadline" >&5
- ac_lib_var=`echo readline'_'readline | sed 'y%./+-%__p_%'`
- if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
-@@ -14863,7 +14874,7 @@
-   ac_save_LIBS="$LIBS"
- LIBS="-lreadline  $LIBS"
- cat > conftest.$ac_ext <<EOF
--#line 14867 "configure"
-+#line 14878 "configure"
- #include "confdefs.h"
- /* Override any gcc2 internal prototype to avoid an error.  */
- /* We use char because int might match the return type of a gcc2
-@@ -14874,7 +14885,7 @@
- readline()
- ; return 0; }
- EOF
--if { (eval echo configure:14878: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:14889: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_lib_$ac_lib_var=yes"
- else
-@@ -15123,9 +15134,9 @@
- fi
- 
- echo $ac_n "checking for posix_fallocate""... $ac_c" 1>&6
--echo "configure:15127: checking for posix_fallocate" >&5
-+echo "configure:15138: checking for posix_fallocate" >&5
- cat > conftest.$ac_ext <<EOF
--#line 15129 "configure"
-+#line 15140 "configure"
- #include "confdefs.h"
- #define _XOPEN_SOURCE 600
-   #include <fcntl.h>
-@@ -15133,7 +15144,7 @@
- posix_fallocate(0, 0, 0);
- ; return 0; }
- EOF
--if { (eval echo configure:15137: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:15148: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   ac_cv___posix_fallocate=true
- else
-@@ -15159,7 +15170,7 @@
-                 _SAVE_CFLAGS=$CFLAGS
-     CFLAGS="$CFLAGS $XCFLAGS"
-     cat > conftest.$ac_ext <<EOF
--#line 15163 "configure"
-+#line 15174 "configure"
- #include "confdefs.h"
- 
-         #include <stdio.h>
-@@ -15177,7 +15188,7 @@
-     
- ; return 0; }
- EOF
--if { (eval echo configure:15181: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:15192: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-   :
- else
-   echo "configure: failed program was:" >&5
-@@ -15278,12 +15289,12 @@
- for ac_func in setlocale
- do
- echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
--echo "configure:15282: checking for $ac_func" >&5
-+echo "configure:15293: checking for $ac_func" >&5
- if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 15287 "configure"
-+#line 15298 "configure"
- #include "confdefs.h"
- /* System header to define __stub macros and hopefully few prototypes,
-     which can conflict with char $ac_func(); below.  */
-@@ -15306,7 +15317,7 @@
- 
- ; return 0; }
- EOF
--if { (eval echo configure:15310: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:15321: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_func_$ac_func=yes"
- else
-@@ -15333,12 +15344,12 @@
- for ac_func in localeconv
- do
- echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
--echo "configure:15337: checking for $ac_func" >&5
-+echo "configure:15348: checking for $ac_func" >&5
- if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   cat > conftest.$ac_ext <<EOF
--#line 15342 "configure"
-+#line 15353 "configure"
- #include "confdefs.h"
- /* System header to define __stub macros and hopefully few prototypes,
-     which can conflict with char $ac_func(); below.  */
-@@ -15361,7 +15372,7 @@
- 
- ; return 0; }
- EOF
--if { (eval echo configure:15365: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:15376: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-   rm -rf conftest*
-   eval "ac_cv_func_$ac_func=yes"
- else
-diff -Naurb js-1.8.5-dist/js/src/configure.in js-1.8.5/js/src/configure.in
---- js-1.8.5-dist/js/src/configure.in	2011-03-31 15:08:36 -0400
-+++ js-1.8.5/js/src/configure.in	2015-08-26 01:07:04 -0400
-@@ -665,6 +665,11 @@
-             CXXFLAGS="$CXXFLAGS -Zc:wchar_t-"
-             AC_DEFINE(_CRT_SECURE_NO_WARNINGS)
-             AC_DEFINE(_CRT_NONSTDC_NO_WARNINGS)
-+        elif test "$_CC_MAJOR_VERSION" = "18"; then
-+            _CC_SUITE=12
-+            CXXFLAGS="$CXXFLAGS -Zc:wchar_t-"
-+            AC_DEFINE(_CRT_SECURE_NO_WARNINGS)
-+            AC_DEFINE(_CRT_NONSTDC_NO_WARNINGS)
-         else
-             AC_MSG_ERROR([This version ($CC_VERSION) of the MSVC compiler is unsupported. See https://developer.mozilla.org/en/Windows_Build_Prerequisites.])
-         fi
-diff -Naurb js-1.8.5-dist/js/src/jsapi-tests/Makefile.in js-1.8.5/js/src/jsapi-tests/Makefile.in
---- js-1.8.5-dist/js/src/jsapi-tests/Makefile.in	2011-03-31 15:08:36 -0400
-+++ js-1.8.5/js/src/jsapi-tests/Makefile.in	2015-08-26 12:06:29 -0400
-@@ -46,6 +46,7 @@
- 
- PROGRAM         = jsapi-tests$(BIN_SUFFIX)
- 
-+#  testDeepFreeze.cpp 
- CPPSRCS = \
-   tests.cpp \
-   selfTest.cpp \
-@@ -55,7 +56,6 @@
-   testConservativeGC.cpp \
-   testContexts.cpp \
-   testDebugger.cpp \
--  testDeepFreeze.cpp \
-   testDefineGetterSetterNonEnumerable.cpp \
-   testDefineProperty.cpp \
-   testExtendedEq.cpp \
-diff -Naurb js-1.8.5-dist/js/src/nanojit/RegAlloc.h js-1.8.5/js/src/nanojit/RegAlloc.h
---- js-1.8.5-dist/js/src/nanojit/RegAlloc.h	2011-03-31 15:08:36 -0400
-+++ js-1.8.5/js/src/nanojit/RegAlloc.h	2015-08-26 11:50:43 -0400
-@@ -186,7 +186,7 @@
-     inline Register lsReg(RegisterMask mask) {
-         // This is faster than it looks; we rely on the C++ optimizer
-         // to strip the dead branch and inline just one alternative.
--        Register r = { (sizeof(RegisterMask) == 4) ? lsbSet32(mask) : lsbSet64(mask) };
-+        Register r = { (uint32_t) ((sizeof(RegisterMask) == 4) ? lsbSet32(mask) : lsbSet64(mask)) };
-         return r;
-     }
- 
-@@ -194,7 +194,7 @@
-     inline Register msReg(RegisterMask mask) {
-         // This is faster than it looks; we rely on the C++ optimizer
-         // to strip the dead branch and inline just one alternative.
--        Register r = { (sizeof(RegisterMask) == 4) ? msbSet32(mask) : msbSet64(mask) };
-+        Register r = { (uint32_t) ((sizeof(RegisterMask) == 4) ? msbSet32(mask) : msbSet64(mask)) };
-         return r;
-     }
- 
-diff -Naurb js-1.8.5-dist/js/src/v8-dtoa/platform.cc js-1.8.5/js/src/v8-dtoa/platform.cc
---- js-1.8.5-dist/js/src/v8-dtoa/platform.cc	2011-03-31 15:08:36 -0400
-+++ js-1.8.5/js/src/v8-dtoa/platform.cc	2015-08-26 12:00:22 -0400
-@@ -90,6 +90,7 @@
- 
- #include <float.h>
- 
-+#if _MSC_VER < 1800
- // Classify floating point number - usually defined in math.h
- int fpclassify(double x) {
-   // Use the MS-specific _fpclass() for classification.
-@@ -107,6 +108,7 @@
-   return FP_NAN;
- }
- 
-+#endif  // _MSC_VER < 1800
- 
- #endif  // _MSC_VER
- 
-diff -Naurb js-1.8.5-dist/js/src/v8-dtoa/platform.h js-1.8.5/js/src/v8-dtoa/platform.h
---- js-1.8.5-dist/js/src/v8-dtoa/platform.h	2011-03-31 15:08:36 -0400
-+++ js-1.8.5/js/src/v8-dtoa/platform.h	2015-08-26 11:57:49 -0400
-@@ -48,7 +48,7 @@
- #ifdef WIN32
- 
- // Microsoft Visual C++ specific stuff.
--#ifdef _MSC_VER
-+#if _MSC_VER < 1800
- 
- enum {
-   FP_NAN,
diff --git a/bits/wxWidgets_setup.h b/bits/wxWidgets_setup.h
deleted file mode 100755
index 18e4b54..0000000
--- a/bits/wxWidgets_setup.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#undef  wxUSE_GRAPHICS_CONTEXT
-#define wxUSE_GRAPHICS_CONTEXT 1
-#undef  wxUSE_GLCANVAS
-#define wxUSE_GLCANVAS 1
-#undef  wxUSE_POSTSCRIPT
-#define wxUSE_POSTSCRIPT 1
-#undef  wxUSE_OPENGL
-#define wxUSE_OPENGL 1
diff --git a/build-spidermonkey60.md b/build-spidermonkey60.md
index cf5ca0d..1879ab0 100644
--- a/build-spidermonkey60.md
+++ b/build-spidermonkey60.md
@@ -1,3 +1,7 @@
+# Note
+
+The following research was instrumental in building SpiderMonkey 60 on Windows. Big thanks to Peng Hui Jiang for this research.
+
 ##Build Environment
 
 Below is environment we are using and we can check whether it is working on Windows 7/8 and Visual Studio 2013/2015 etc.
@@ -195,6 +199,8 @@
 
 Note: we might have to create some patches for `mozjs-60.1.1pre3` windows version. Now just commented out these.
 
+[Update: bugzilla says that Windows builds using NSPR Posix emulation are unsupported, so for CouchDB 3.0 we're just building with NSPR enabled. It builds just fine. None of the problems in the point below occur.]
+
 ### Failed to build nspr
 
 ```
@@ -236,6 +242,8 @@
 
 Note: we might get above error when running configure. Need to use proper window SDK.
 
+[Update: Seems resolved with MozillaBuild 3.3.]
+
 ### Windows Universal CRT SDK
 
 ```
diff --git a/downloads.md b/downloads.md
deleted file mode 100644
index 4273caf..0000000
--- a/downloads.md
+++ /dev/null
@@ -1,23 +0,0 @@
-### list of all files needed for build chain ###################################
-################################################################################
-### MSVC vcredist is very carefully chosen to match SDK and VC++ latest patches
-# http://www.microsoft.com/en-us/download/details.aspx?id=40784 for vc12
-http://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x64.exe
-################################################################################
-### OpenSSL
-https://www.openssl.org/source/openssl-1.0.2l.tar.gz
-################################################################################
-### libcurl
-https://curl.haxx.se/download/curl-7.49.1.zip 
-################################################################################
-### Erlang
-http://www.erlang.org/download/otp_src_17.5.tar.gz
-http://www.erlang.org/download/otp_src_18.3.tar.gz
-http://www.erlang.org/download/otp_src_19.3.tar.gz
-################################################################################
-### ICU4C
-http://download.icu-project.org/files/icu4c/57.1/icu4c-57_1-src.zip
-################################################################################
-### spidermonkey    js185-1.0.0.tar.gz
-http://ftp.mozilla.org/pub/mozilla.org/js/js185-1.0.0.tar.gz
-################################################################################
diff --git a/downloads.md5 b/downloads.md5
deleted file mode 100755
index e1a40aa..0000000
--- a/downloads.md5
+++ /dev/null
@@ -1,9 +0,0 @@
-89f15a9ef6b54bcba8d5bd9b9049d873 *curl-7.49.1.zip
-f797503ecaebf1d38920013dc7893066 *icu4c-57_1-src.zip
-a4574365938222adca0a6bd33329cb32 *js185-1.0.0.tar.gz
-7fbb850e4dd92b9905f5ab312bc39101 *js185-msvc2013.patch
-f85123cd390e864dfbe517e7616e6566 *openssl-1.0.2l.tar.gz
-346dd0136bf1cc28cebc140e505206bb *otp_src_17.5.tar.gz
-7e4ff32f97c36fb3dab736f8d481830b *otp_src_18.3.tar.gz
-a8c259ec47bf84e77510673e1b76b6db *otp_src_19.3.tar.gz
-96b61b8e069832e6b809f24ea74567ba *vcredist_x64.exe
diff --git a/erlang.md b/erlang.md
deleted file mode 100644
index 06526b7..0000000
--- a/erlang.md
+++ /dev/null
@@ -1,57 +0,0 @@
-
-# Building Erlang #############################################################
-
-* start an SDK shell via `setenv.cmd /Release /x86`
-* start a new cygwin shell via `c:\relax\bin\shell.cmd`
-* in a cygwin shell:
-
-        cd /relax && tar xzf /relax/bits/otp_src_R14B04.tar.gz &
-
-* include optional components - used for debugger and java interfaces
-
-        cd $ERL_TOP && tar xvzf /relax/bits/tcltk85_win32_bin.tar.gz
-
-* skip other non-essential components as follows:
-
-        echo "skipping gs" > lib/gs/SKIP
-        echo "skipping jinterface" > lib/jinterface/SKIP
-
-Alternatively, you can launch your own cmd prompt, and ensure that your system
-path is correct first in the win32 side before starting cygwin. Once in cygwin
-go to the root of where you installed erlang, and run the Erlang/OTP script:
-
-        eval `./otp_build env_win32`
-        echo $PATH | /bin/sed 's/:/\n/g'
-        which cl link mc lc mt
-
-Confirm that output of `which` returns only MS versions from VC++ or the SDK.
-This is critical and if not correct will cause confusing errors much later on.
-Overall, the desired order for your $PATH is:
-
-* Erlang build helper scripts
-* Windows SDK tools, .Net framework
-* Visual C++ if installed
-* Ancillary Erlang and CouchDB packaging tools
-* Usual cygwin unix tools such as make, gcc
-* Ancillary glazier/relax tools for building dependent libraries
-* Usual Windows folders `%windir%;%windir%\system32` etc
-* Various settings form the `otp_build` script
-
-* Build Erlang using `/relax/bin/erl_config.sh`
-  and `/relax/bin/erl_build.sh`, or manually as follows
-
-        eval `./otp_build env_win32`
-        ./otp_build autoconf
-        ./otp_build configure
-        ./otp_build boot -a
-        ./otp_build release -a
-        ./otp_build installer_win32
-        # we need to set up erlang to run from this new source build to build CouchDB
-        ./release/win32/Install.exe -s
-
-* More details are at [erlang INSTALL-Win32.md on github](http://github.com/erlang/otp/blob/dev/INSTALL-WIN32.md)
-
-* or using the relax tools, starting an SDK shell via `setenv.cmd /Release /x86`:
-        start `c:\relax\bin\shell.cmd`
-        :: [select an erlang build]
-        erl_config.sh && erl_build.sh
diff --git a/glazier.komodoproject b/glazier.komodoproject
deleted file mode 100644
index bed8ce1..0000000
--- a/glazier.komodoproject
+++ /dev/null
@@ -1,346 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- Komodo Project File - DO NOT EDIT -->
-<project id="78012889-b61e-bf43-87e3-55d4f36ae599" kpf_version="5" name="glazier.komodoproject">
-<preference-set idref="78012889-b61e-bf43-87e3-55d4f36ae599">
-<preference-set id="Invocations">
-<preference-set id="Project">
-  <string id="cookieparams"></string>
-  <string relative="path" id="cwd"></string>
-  <string id="documentRoot"></string>
-  <string id="executable-params"></string>
-  <string id="filename"></string>
-  <string id="getparams"></string>
-  <string id="language">PHP</string>
-  <string id="mpostparams"></string>
-  <string id="params"></string>
-  <string id="postparams"></string>
-  <string id="posttype">application/x-www-form-urlencoded</string>
-  <string id="request-method">GET</string>
-  <boolean id="show-dialog">1</boolean>
-  <boolean id="sim-cgi">0</boolean>
-  <boolean id="use-console">0</boolean>
-  <string id="userCGIEnvironment"></string>
-  <string id="userEnvironment"></string>
-</preference-set>
-</preference-set>
-  <long id="caretStyle">2</long>
-  <long id="caretWidth">2</long>
-  <boolean id="checkDiskFile">1</boolean>
-  <boolean id="checkNetworkDiskFile">1</boolean>
-  <string id="currentInvocationLanguage">PHP</string>
-  <boolean id="dedentOnColon">0</boolean>
-  <string id="defaultDateFormat">%25a %25b %25d %25H:%25M:%25S %25Y</string>
-  <string id="donotask_action_close_deleted_files">None</string>
-  <string id="donotask_action_dragdrop_uri"></string>
-  <string id="donotask_action_reload_changed_files"></string>
-  <boolean id="donotask_buffer_conflicts_with_file_on_disk">0</boolean>
-  <boolean id="donotask_close_deleted_files">1</boolean>
-  <boolean id="donotask_dragdrop_uri">0</boolean>
-  <boolean id="donotask_reload_changed_files">0</boolean>
-  <boolean id="donotask_revert_buffer">1</boolean>
-  <boolean id="donotask_treat_large_documents_as_text">0</boolean>
-  <string id="editAutoIndentStyle">smart</string>
-  <long id="editAutoWrapColumn">140</long>
-  <boolean id="editBackspaceDedents">1</boolean>
-  <boolean id="editElectricBrace">1</boolean>
-  <boolean id="editFoldLines">1</boolean>
-  <string id="editFoldStyle">curvytree</string>
-  <boolean id="editRestoreFoldPoints">0</boolean>
-  <boolean id="editSmartCutCopyWithoutSelection">1</boolean>
-  <boolean id="editSmartSoftCharacters">1</boolean>
-  <boolean id="editTabCompletes">1</boolean>
-  <boolean id="editUseEdge">1</boolean>
-  <boolean id="editUseLinting">1</boolean>
-  <long id="editWordWrapIndentation">2</long>
-  <long id="editWordWrapMarker">3</long>
-  <long id="editWrapType">1</long>
-  <boolean id="enableSmartSoftCharactersInsideLine">0</boolean>
-  <boolean id="encodingAutoDetect">1</boolean>
-  <string id="encodingDefault">mac-roman</string>
-  <boolean id="encodingEnvironment">1</boolean>
-  <boolean id="encodingHTML">0</boolean>
-  <boolean id="encodingModeline">1</boolean>
-  <boolean id="encodingXMLDec">1</boolean>
-  <boolean id="hyperlinksEnableGotoDefinition">1</boolean>
-  <boolean id="hyperlinksEnabled">1</boolean>
-  <string relative="path" id="import_dirname"></string>
-  <string id="import_exclude_matches">*.*~;*.bak;*.tmp;CVS;.#*;*.pyo;*.pyc;.svn;.git;.hg;.bzr;*%25*;tmp*.html;.DS_Store;*.swp;*.kpf;*.komodoproject;.komodotools</string>
-  <string id="import_include_matches"></string>
-  <boolean id="indentStringsAfterParens">0</boolean>
-  <long id="indentWidth">4</long>
-  <string id="jshintOptions"></string>
-  <string id="jslintOptions"></string>
-  <string id="language">PHP</string>
-<preference-set id="languages">
-<preference-set id="languages/ActionScript">
-  <boolean id="primary">0</boolean>
-</preference-set>
-<preference-set id="languages/Ada">
-  <boolean id="Ada/newBOM">0</boolean>
-  <string id="Ada/newEncoding">Default Encoding</string>
-</preference-set>
-<preference-set id="languages/Apache">
-  <boolean id="Apache/newBOM">0</boolean>
-  <string id="Apache/newEncoding">Default Encoding</string>
-  <boolean id="primary">1</boolean>
-</preference-set>
-<preference-set id="languages/Baan">
-  <boolean id="Baan/newBOM">0</boolean>
-  <string id="Baan/newEncoding">Default Encoding</string>
-</preference-set>
-<preference-set id="languages/Bash">
-  <boolean id="primary">1</boolean>
-</preference-set>
-<preference-set id="languages/Batch">
-  <boolean id="Batch/newBOM">0</boolean>
-  <string id="Batch/newEncoding">Default Encoding</string>
-  <boolean id="primary">1</boolean>
-</preference-set>
-<preference-set id="languages/Bullant">
-  <boolean id="Bullant/newBOM">0</boolean>
-  <string id="Bullant/newEncoding">Default Encoding</string>
-</preference-set>
-<preference-set id="languages/C#">
-  <boolean id="C#/newBOM">0</boolean>
-  <string id="C#/newEncoding">Default Encoding</string>
-</preference-set>
-<preference-set id="languages/C++">
-  <boolean id="C++/newBOM">0</boolean>
-  <string id="C++/newEncoding">Default Encoding</string>
-</preference-set>
-<preference-set id="languages/CSS">
-  <boolean id="CSS/newBOM">0</boolean>
-  <string id="CSS/newEncoding">Default Encoding</string>
-</preference-set>
-<preference-set id="languages/Diff">
-  <boolean id="Diff/newBOM">0</boolean>
-  <string id="Diff/newEncoding">Default Encoding</string>
-</preference-set>
-<preference-set id="languages/Django">
-  <boolean id="primary">0</boolean>
-</preference-set>
-<preference-set id="languages/Eiffel">
-  <boolean id="Eiffel/newBOM">0</boolean>
-  <string id="Eiffel/newEncoding">Default Encoding</string>
-</preference-set>
-<preference-set id="languages/Erlang">
-  <boolean id="primary">1</boolean>
-</preference-set>
-<preference-set id="languages/Errors">
-  <boolean id="C++/newBOM">0</boolean>
-  <string id="C++/newEncoding">Default Encoding</string>
-</preference-set>
-<preference-set id="languages/Fortran">
-  <boolean id="Fortran/newBOM">0</boolean>
-  <string id="Fortran/newEncoding">Default Encoding</string>
-</preference-set>
-<preference-set id="languages/Fortran 77">
-  <boolean id="Fortran 77/newBOM">0</boolean>
-  <string id="Fortran 77/newEncoding">Default Encoding</string>
-</preference-set>
-<preference-set id="languages/HTML">
-  <boolean id="HTML/newBOM">0</boolean>
-  <string id="HTML/newEncoding">Default Encoding</string>
-  <long id="indentWidth">2</long>
-  <long id="tabWidth">4</long>
-</preference-set>
-<preference-set id="languages/HTML5">
-  <long id="indentWidth">2</long>
-  <long id="tabWidth">4</long>
-</preference-set>
-<preference-set id="languages/IDL">
-  <boolean id="IDL/newBOM">0</boolean>
-  <string id="IDL/newEncoding">Default Encoding</string>
-</preference-set>
-<preference-set id="languages/JSON">
-  <long id="indentWidth">2</long>
-  <long id="tabWidth">4</long>
-</preference-set>
-<preference-set id="languages/Java">
-  <boolean id="Java/newBOM">0</boolean>
-  <string id="Java/newEncoding">Default Encoding</string>
-</preference-set>
-<preference-set id="languages/JavaScript">
-  <boolean id="JavaScript/newBOM">0</boolean>
-  <string id="JavaScript/newEncoding">Default Encoding</string>
-  <long id="indentWidth">2</long>
-  <long id="tabWidth">4</long>
-</preference-set>
-<preference-set id="languages/LaTeX">
-  <boolean id="LaTeX/newBOM">0</boolean>
-  <string id="LaTeX/newEncoding">Default Encoding</string>
-</preference-set>
-<preference-set id="languages/Lisp">
-  <boolean id="Lisp/newBOM">0</boolean>
-  <string id="Lisp/newEncoding">Default Encoding</string>
-</preference-set>
-<preference-set id="languages/Lua">
-  <boolean id="Lua/newBOM">0</boolean>
-  <string id="Lua/newEncoding">Default Encoding</string>
-</preference-set>
-<preference-set id="languages/Luddite">
-  <boolean id="primary">0</boolean>
-</preference-set>
-<preference-set id="languages/MXML">
-  <boolean id="primary">0</boolean>
-</preference-set>
-<preference-set id="languages/Makefile">
-  <boolean id="Makefile/newBOM">0</boolean>
-  <string id="Makefile/newEncoding">Default Encoding</string>
-  <boolean id="primary">1</boolean>
-  <boolean id="useTabs">1</boolean>
-</preference-set>
-<preference-set id="languages/Mason">
-  <boolean id="primary">0</boolean>
-</preference-set>
-<preference-set id="languages/Matlab">
-  <boolean id="Matlab/newBOM">0</boolean>
-  <string id="Matlab/newEncoding">Default Encoding</string>
-</preference-set>
-<preference-set id="languages/Nsis">
-  <boolean id="primary">1</boolean>
-</preference-set>
-<preference-set id="languages/PHP">
-  <boolean id="PHP/newBOM">0</boolean>
-  <string id="PHP/newEncoding">Default Encoding</string>
-  <boolean id="primary">0</boolean>
-</preference-set>
-<preference-set id="languages/Pascal">
-  <boolean id="Pascal/newBOM">0</boolean>
-  <string id="Pascal/newEncoding">Default Encoding</string>
-</preference-set>
-<preference-set id="languages/Perl">
-  <boolean id="Perl/newBOM">0</boolean>
-  <string id="Perl/newEncoding">Default Encoding</string>
-</preference-set>
-<preference-set id="languages/Python">
-  <boolean id="Python/newBOM">0</boolean>
-  <string id="Python/newEncoding">ascii</string>
-</preference-set>
-<preference-set id="languages/Python3">
-  <boolean id="Python3/newBOM">0</boolean>
-  <string id="Python3/newEncoding">ascii</string>
-</preference-set>
-<preference-set id="languages/RHTML">
-  <boolean id="RHTML/newBOM">0</boolean>
-  <string id="RHTML/newEncoding">Default Encoding</string>
-  <long id="indentWidth">2</long>
-</preference-set>
-<preference-set id="languages/Regex">
-  <boolean id="primary">1</boolean>
-</preference-set>
-<preference-set id="languages/Ruby">
-  <boolean id="Ruby/newBOM">0</boolean>
-  <string id="Ruby/newEncoding">Default Encoding</string>
-  <long id="indentWidth">2</long>
-</preference-set>
-<preference-set id="languages/SQL">
-  <boolean id="SQL/newBOM">0</boolean>
-  <string id="SQL/newEncoding">Default Encoding</string>
-</preference-set>
-<preference-set id="languages/Scheme">
-  <boolean id="primary">1</boolean>
-</preference-set>
-<preference-set id="languages/Smarty">
-  <boolean id="primary">0</boolean>
-</preference-set>
-<preference-set id="languages/Tcl">
-  <boolean id="Tcl/newBOM">0</boolean>
-  <string id="Tcl/newEncoding">Default Encoding</string>
-</preference-set>
-<preference-set id="languages/Text">
-  <boolean id="Text/newBOM">0</boolean>
-  <string id="Text/newEncoding">Default Encoding</string>
-</preference-set>
-<preference-set id="languages/VisualBasic">
-  <boolean id="VisualBasic/newBOM">0</boolean>
-  <string id="VisualBasic/newEncoding">utf-8</string>
-</preference-set>
-<preference-set id="languages/XML">
-  <boolean id="XML/newBOM">0</boolean>
-  <string id="XML/newEncoding">utf-8</string>
-</preference-set>
-<preference-set id="languages/XSLT">
-  <boolean id="XSLT/newBOM">0</boolean>
-  <string id="XSLT/newEncoding">utf-8</string>
-</preference-set>
-<preference-set id="languages/YAML">
-  <boolean id="primary">1</boolean>
-</preference-set>
-<preference-set id="languages/nnCrontab">
-  <boolean id="nnCrontab/newBOM">0</boolean>
-  <string id="nnCrontab/newEncoding">Default Encoding</string>
-</preference-set>
-</preference-set>
-  <string id="lastInvocation">Project</string>
-  <string id="lastTestPlanName_pref">New test plan #1</string>
-  <long id="lintDelay">1000</long>
-  <boolean id="lintEOLs">1</boolean>
-  <boolean id="lintHTML5Lib">0</boolean>
-  <boolean id="lintHTMLTidy">1</boolean>
-  <boolean id="lintHTML_CheckWith_Perl_HTML_Lint">0</boolean>
-  <boolean id="lintHTML_CheckWith_Perl_HTML_Tidy">0</boolean>
-  <boolean id="lintJavaScriptEnableStrict">1</boolean>
-  <boolean id="lintJavaScriptEnableWarnings">1</boolean>
-  <boolean id="lintJavaScript_SpiderMonkey">1</boolean>
-  <boolean id="lintWithJSHint">0</boolean>
-  <boolean id="lintWithJSLint">0</boolean>
-  <boolean id="lint_coffee_script">1</boolean>
-  <boolean id="lint_python3_with_standard_python">1</boolean>
-  <boolean id="lint_python_with_pychecker">0</boolean>
-  <boolean id="lint_python_with_pyflakes">0</boolean>
-  <boolean id="lint_python_with_pylint">0</boolean>
-  <boolean id="lint_python_with_standard_python">1</boolean>
-  <string id="mappedPaths"></string>
-  <string id="nodejsDefaultInterpreter"></string>
-  <string id="nodejsExtraPaths"></string>
-  <string id="perlDefaultInterpreter"></string>
-  <string id="perlExtraPaths"></string>
-  <boolean id="perl_debuggerlogenabled">0</boolean>
-  <string id="perl_debuggerlogpath"></string>
-  <string id="perl_lintOption">cw</string>
-  <boolean id="perl_lintOption_includeCurrentDirForLinter">1</boolean>
-  <string id="perl_lintOption_perlCriticLevel">off</string>
-  <string id="phpCommentStyle">//,#</string>
-  <string id="phpConfigFile"></string>
-  <string id="phpDefaultInterpreter"></string>
-  <string id="phpExtraPaths"></string>
-  <string id="pychecker_checking_rcfile"></string>
-  <string id="pychecker_wrapper_location"></string>
-  <string id="pylint_checking_rcfile"></string>
-  <string id="python3DefaultInterpreter"></string>
-  <string id="python3ExtraPaths"></string>
-  <string id="pythonDefaultInterpreter"></string>
-  <string id="pythonExtraPaths"></string>
-  <string id="rubyDefaultInterpreter"></string>
-  <string id="rubyExtraPaths"></string>
-  <boolean id="ruby_debuggerlogenabled">0</boolean>
-  <string id="ruby_debuggerlogpath"></string>
-  <string id="ruby_lintOption">cwT</string>
-  <boolean id="scrollEndAtLastLine">0</boolean>
-  <long id="scrollWidth">2000</long>
-  <boolean id="scrollWidthTracking">0</boolean>
-  <boolean id="select_most_recent_buffer_on_buffer_close">0</boolean>
-  <boolean id="showEOL">0</boolean>
-  <boolean id="showIndentationGuides">1</boolean>
-  <boolean id="showLineNumbers">1</boolean>
-  <boolean id="showWhitespace">0</boolean>
-  <long id="tabWidth">8</long>
-  <string id="tclExtraPaths"></string>
-  <string id="tclshDefaultInterpreter"></string>
-<preference-set id="testPlans">
-<preference-set id="New test plan #1">
-  <string id="command_line"></string>
-  <string relative="url" id="directory"></string>
-  <string id="language">Perl - TAP (*.t)</string>
-</preference-set>
-</preference-set>
-  <string id="tidy_accessibility">0</string>
-  <string id="tidy_configpath"></string>
-  <string id="tidy_errorlevel">errors</string>
-  <boolean id="useSmartTabs">1</boolean>
-  <boolean id="useTabs">0</boolean>
-  <string id="wishDefaultInterpreter"></string>
-  <long id="ySlop">5</long>
-</preference-set>
-</project>
diff --git a/installer/CouchInstallDirDlg.wxs b/installer/CouchInstallDirDlg.wxs
new file mode 100644
index 0000000..ea42c0d
--- /dev/null
+++ b/installer/CouchInstallDirDlg.wxs
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
+   <Fragment>
+      <Property Id="INSTALLSERVICE" Hidden="yes"/>
+      <UI>
+         <Dialog Id="CouchInstallDirDlg" Width="370" Height="270" Title="!(loc.InstallDirDlg_Title)">
+            <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)">
+               <Publish Property="INSTALLSERVICE" Value="[INSTALLSERVICE]">1</Publish>
+            </Control>
+            <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)" />
+            <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
+               <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+            </Control>
+
+            <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes" Text="!(loc.InstallDirDlgDescription)" />
+            <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="!(loc.InstallDirDlgTitle)" />
+            <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="!(loc.InstallDirDlgBannerBitmap)" />
+            <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
+            <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
+
+            <Control Id="FolderLabel" Type="Text" X="20" Y="60" Width="290" Height="30" NoPrefix="yes" Text="!(loc.InstallDirDlgFolderLabel)" />
+            <Control Id="Folder" Type="PathEdit" X="20" Y="100" Width="320" Height="18" Property="WIXUI_INSTALLDIR" Indirect="yes" />
+            <Control Id="ChangeFolder" Type="PushButton" X="20" Y="120" Width="56" Height="17" Text="!(loc.InstallDirDlgChange)" />
+
+            <Control Id="InstallServiceCheckBox" Type="CheckBox" X="20" Y="160" Width="330" Height="18" CheckBoxValue="1" Text="Install Apache CouchDB Windows Service" Property="INSTALLSERVICE" />
+         </Dialog>
+      </UI>
+   </Fragment>
+</Wix>
diff --git a/installer/CustomAction/AssemblyInfo.cs b/installer/CustomAction/AssemblyInfo.cs
new file mode 100644
index 0000000..b625714
--- /dev/null
+++ b/installer/CustomAction/AssemblyInfo.cs
@@ -0,0 +1,28 @@
+// 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.
+
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+[assembly: AssemblyTitle("CouchIniAction")]
+[assembly: AssemblyDescription("Custom actions for the CouchDB WiX installer")]
+[assembly: AssemblyCompany("The Apache Software Foundation")]
+[assembly: AssemblyProduct("CouchIniAction")]
+[assembly: AssemblyCopyright("Copyright © 2020 The Apache Software Foundation")]
+[assembly: AssemblyTrademark("Apache CouchDB, CouchDB, and the project logo are trademarks of The Apache Software Foundation.")]
+[assembly: AssemblyCulture("")]
+
+[assembly: ComVisible(false)]
+[assembly: Guid("f1cd388c-5d27-49fa-927c-6ed854a9f0ef")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/installer/CustomAction/CouchIniAction.cs b/installer/CustomAction/CouchIniAction.cs
new file mode 100644
index 0000000..0b7e0ff
--- /dev/null
+++ b/installer/CustomAction/CouchIniAction.cs
@@ -0,0 +1,103 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Security.Cryptography;
+using System.Text;
+using Microsoft.Deployment.WindowsInstaller;
+
+namespace CustomAction
+{
+   public class CustomActions
+   {
+      [CustomAction] public static ActionResult WriteAdminIniFile(Session session)
+      {
+         try
+         {
+            if (!File.Exists(session.CustomActionData["ADMINCONFIGFILE"])) {
+               using (StreamWriter writer = new StreamWriter(session.CustomActionData["ADMINCONFIGFILE"]))
+               {
+                  writer.WriteLine("; CouchDB Windows installer-generated admin user");
+                  writer.WriteLine("[admins]");
+                  writer.WriteLine($"{session.CustomActionData["ADMINUSER"]} = {session.CustomActionData["ADMINPASSWORD"]}");
+               }
+            }
+         }
+         catch (Exception ex)
+         {
+            session.Log("ERROR in custom action WriteAdminIniFile {0}",
+                  ex.ToString());
+            return ActionResult.Failure;
+         }
+
+         return ActionResult.Success;
+      }
+
+      [CustomAction] public static ActionResult MaybeCopyIniFiles(Session session)
+      {
+         try
+         {
+            string[] files = new string[2];
+            files[0] = "vm.args";
+            files[1] = "local.ini";
+
+            foreach (string file in files)
+            {
+               if (!File.Exists(Path.Combine(session.CustomActionData["ETCDIR"], file)))
+               {
+                  File.Copy(
+                        Path.Combine(session.CustomActionData["ETCDIR"], file + ".dist"),
+                        Path.Combine(session.CustomActionData["ETCDIR"], file)
+                        );
+               }
+            }
+         }
+         catch (Exception ex)
+         {
+            session.Log("ERROR in custom action MaybeCopyIniFiles {0}",
+                  ex.ToString());
+            return ActionResult.Failure;
+         }
+         return ActionResult.Success;
+      }
+
+      [CustomAction] public static ActionResult MaybeRemoveUserConfig(Session session)
+      {
+         try
+         {
+            string[] files = new string[2];
+            files[0] = "vm.args";
+            files[1] = "local.ini";
+
+            foreach (string file in files)
+            {
+               if (File.Exists(Path.Combine(session.CustomActionData["ETCDIR"], file)) &&
+                     File.Exists(Path.Combine(session.CustomActionData["ETCDIR"], file + ".dist")))
+               {
+                  if (GetChecksum(Path.Combine(session.CustomActionData["ETCDIR"], file)) ==
+                        GetChecksum(Path.Combine(session.CustomActionData["ETCDIR"], file + ".dist")))
+                  {
+                     File.Delete(Path.Combine(session.CustomActionData["ETCDIR"], file));
+                  }
+               }
+            }
+         }
+         catch (Exception ex)
+         {
+            session.Log("ERROR in custom action MaybeRemoveUserConfig {0}",
+                  ex.ToString());
+            return ActionResult.Failure;
+         }
+         return ActionResult.Success;
+      }
+
+      private static string GetChecksum(string file)
+      {
+         using (FileStream stream = File.OpenRead(file))
+         {
+            SHA256Managed sha = new SHA256Managed();
+            byte[] checksum = sha.ComputeHash(stream);
+            return BitConverter.ToString(checksum).Replace("-", String.Empty);
+         }
+      }
+   }
+}
diff --git a/installer/CustomAction/CustomAction.config b/installer/CustomAction/CustomAction.config
new file mode 100644
index 0000000..16a542b
--- /dev/null
+++ b/installer/CustomAction/CustomAction.config
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8" ?>
+ <!-- for more info see 
+      http://msdn.microsoft.com/en-us/library/bbx34a2h.aspx
+      http://msdn.microsoft.com/en-us/library/kza1yk3a.aspx
+      https://stackoverflow.com/questions/3468964/error-2896-using-a-wix-c-net-4-custom-action
+      https://stackoverflow.com/questions/3298304/wix-custom-actions-built-for-net-framework-4-0-does-not-work-ways-to-resolve#14230260 
+ -->
+  <configuration>
+     <startup useLegacyV2RuntimeActivationPolicy="true">
+        <supportedRuntime version="v2.0.50727" />
+     </startup>
+  </configuration>
diff --git a/installer/CustomAction/CustomAction.csproj b/installer/CustomAction/CustomAction.csproj
new file mode 100644
index 0000000..7b6bd51
--- /dev/null
+++ b/installer/CustomAction/CustomAction.csproj
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">x64</Platform>
+    <ProductVersion>8.0.30703</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{00EB6FCF-D3B0-47EE-8010-9172D05D9DFF}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>CustomAction</RootNamespace>
+    <AssemblyName>CouchIniAction</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <WixCATargetsPath Condition=" '$(WixCATargetsPath)' == '' ">C:\Program Files (x86)\MSBuild\Microsoft\WiX\v3.x\wix.ca.targets</WixCATargetsPath>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>.</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>.</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <!-- <Reference Include="Microsoft.CSharp" /> -->
+    <Reference Include="System.Xml" />
+    <Reference Include="Microsoft.Deployment.WindowsInstaller">
+      <Private>True</Private>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="CouchIniAction.cs" />
+    <Compile Include="AssemblyInfo.cs" />
+    <Content Include="CustomAction.config" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <Import Project="$(WixCATargetsPath)" />
+</Project>
diff --git a/installer/adminprompt.wxs b/installer/adminprompt.wxs
new file mode 100644
index 0000000..15c233e
--- /dev/null
+++ b/installer/adminprompt.wxs
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
+   <Fragment>
+      <Property Id="ADMINUSER" Hidden="yes" />
+      <Property Id="ADMINPASSWORD" Hidden="yes" />
+      <UI>
+         <Dialog Id="AdminPromptDlg" Width="370" Height="270" Title="Create Administrator Account">
+            <Control Id="Title" Type="Text" X="20" Y="20" Width="220" Height="30" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Emphasized}Create CouchDB Admin User" />
+            <Control Id="Description" Type="Text" X="20" Y="50" Width="220" Height="40" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Emphasized}CouchDB 3.x+ requires an admin user to start. Existing credentials will not be overwritten." />
+            <Control Id="UserLabel" Type="Text" Width="322" Height="10" X="20" Y="110" Text="Account name (Example: admin):" />
+            <Control Id="UserTextbox" Type="Edit" Width="200" Height="15" X="20" Y="123" Property="ADMINUSER" />
+            <Control Id="PassLabel" Type="Text" Width="322" Height="10" X="20" Y="147" Text="Password:" />
+            <Control Id="PassTextbox" Type="Edit" Width="200" Height="15" X="20" Y="160" Password="yes" Property="ADMINPASSWORD" />
+            <Control Id="Validate" Type="PushButton" Width="100" Height="15" X="20" Y="180" Text="Validate Credentials" />
+            <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
+            <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)" />
+            <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)">
+               <Condition Action="disable"><![CDATA[(ADMINUSER = "") OR (ADMINPASSWORD = "")]]></Condition>
+               <Condition Action="enable"><![CDATA[(ADMINUSER <> "") AND (ADMINPASSWORD <> "")]]></Condition>
+
+               <Publish Property="ADMINUSER" Value="[ADMINUSER]">1</Publish>
+               <Publish Property="ADMINPASSWORD" Value="[ADMINPASSWORD]">1</Publish>
+            </Control>
+            <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
+               <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+            </Control>
+         </Dialog>
+      </UI>
+   </Fragment>
+</Wix>
+
diff --git a/installer/couchdb.wxs.in b/installer/couchdb.wxs.in
index 5e76b0d..390ac23 100644
--- a/installer/couchdb.wxs.in
+++ b/installer/couchdb.wxs.in
@@ -1,41 +1,38 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- Compile with:
-	>candle couchdb.wxs
-	>light -ext WixUIExtension -cultures:en-us couchdb.wixobj couchdbfiles.wixobj -out couchdb.msi
+    >candle couchdb.wxs
+    >light -ext WixUIExtension -cultures:en-us couchdb.wixobj couchdbfiles.wixobj -out couchdb.msi
 -->
 <?define bitness = "(64 bit)" ?>
 <?define Win64 = "yes" ?>
 
 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
    xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
-<!-- Substitute Version="####VERSION####" below and uncomment the
-     sed line in build_installer.cmd if we ever can guarantee numeric
-     version numbers. Until then, this must be manually updated per
-     release.
--->
-	<Product Id="4CD776E0-FADF-4831-AF56-E80E39F34CFC"
-		Name="Apache CouchDB"
-		Language="1033"
-		Version="2.3.1.1"
-		Manufacturer="The Apache Software Foundation"
-		UpgradeCode="9449123B-61C4-40DE-AA6C-1BB9AA02EB67">
 
-		<Package InstallerVersion="405"
-			Compressed="yes" />
-		<Media Id="1"
-			Cabinet="media1.cab"
-			EmbedCab="yes" />
+   <Product Id="4CD776E0-FADF-4831-AF56-E80E39F34CFC"
+      Name="Apache CouchDB"
+      Language="1033"
+      Version="###VERSION###"
+      Manufacturer="The Apache Software Foundation"
+      UpgradeCode="9449123B-61C4-40DE-AA6C-1BB9AA02EB67">
 
-        <!--Permissions-->
-        <PropertyRef Id="WIX_ACCOUNT_LOCALSYSTEM" />
-        <PropertyRef Id="WIX_ACCOUNT_USERS" />
-        <PropertyRef Id="WIX_ACCOUNT_ADMINISTRATORS" />
+      <Package InstallerVersion="500"
+         Compressed="yes" />
+      <Media Id="1"
+         Cabinet="media1.cab"
+         EmbedCab="yes" />
 
-		<!--Directory structure-->
-        <Property Id="ApplicationFolderName" Value="C:\CouchDB" />
-		<Directory Id="TARGETDIR"
-			Name="SourceDir">
-			<Directory Id="APPLICATIONFOLDER" Name="CouchDB">
+      <Binary Id="CouchIniActionDll" SourceFile="CustomAction\CouchIniAction.CA.dll" />
+
+      <!--Permissions-->
+      <PropertyRef Id="WIX_ACCOUNT_LOCALSYSTEM" />
+      <PropertyRef Id="WIX_ACCOUNT_USERS" />
+      <PropertyRef Id="WIX_ACCOUNT_ADMINISTRATORS" />
+
+      <!--Directory structure-->
+      <Directory Id="TARGETDIR" Name="SourceDir">
+         <Directory Id="PROGRAMFILESFORSURE" Name="Program Files">
+            <Directory Id="APPLICATIONFOLDER" Name="Apache CouchDB">
                <Component Id="AppFolder_comp" DiskId="1" Guid="C2C4462F-D9AE-4178-9E49-E2A85C256635">
                   <CreateFolder>
                      <Permission User="[WIX_ACCOUNT_LOCALSYSTEM]" GenericAll="yes" />
@@ -44,156 +41,238 @@
                   </CreateFolder>
                </Component>
             </Directory>
-			<Directory Id="ProgramMenuFolder">
-				<Directory Id="OurShortcutsDir" Name="Apache CouchDB" />
-			</Directory>
-		</Directory>
+         </Directory>
+         <Directory Id="ProgramMenuFolder">
+            <Directory Id="OurShortcutsDir" Name="Apache CouchDB" />
+         </Directory>
+      </Directory>
 
-		<DirectoryRef Id="TARGETDIR">
-    		<Merge Id="VCRedist120" SourceFile="C:\Program Files (x86)\Common Files\Merge Modules\Microsoft_VC120_CRT_x64.msm" DiskId="1" Language="0"/>
-		</DirectoryRef>
-		
-        <!--Icons-->
-        <Icon Id="couchdb.ico" SourceFile="..\bits\couchdb-64x64.ico" />
-        <Property Id="ARPPRODUCTICON" Value="couchdb.ico" />
+      <DirectoryRef Id="TARGETDIR">
+         <Merge Id="VCRedist141" SourceFile="C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Redist\MSVC\14.16.27012\MergeModules\Microsoft_VC141_CRT_x64.msm" DiskId="1" Language="0"/>
+      </DirectoryRef>
 
-		<!--Start Menu Shortcuts-->
-		<DirectoryRef Id="OurShortcutsDir">
-			<Component Id="CMP_Shortcuts"
-				Guid="A2754FBF-3E43-4AEF-A70A-14D78CAC2784">
+      <SetProperty Id="ARPINSTALLLOCATION" Value="[APPLICATIONFOLDER]"
+         After="CostFinalize" />
 
-				<Shortcut Id="DocumentationStartMenuShortcut"
-					Name="Apache CouchDB Documentation"
-					Description="Read the CouchDB Documentation"
-					Target="[APPLICATIONFOLDER]\share\www\docs\index.html" />
+      <!--Icons-->
+      <Icon Id="couchdb.ico" SourceFile="..\bits\couchdb-500x500.ico" />
+      <Property Id="ARPPRODUCTICON" Value="couchdb.ico" />
 
-				<util:InternetShortcut Id="FauxtonStartMenuShortcut"
-					Name="Apache CouchDB Fauxton" 
-                    Target="http://localhost:5984/_utils/index.html" />
-					
-				<Shortcut Id="ApplicationServiceMenuShortcut"
-                    Name="Start or Stop Apache CouchDB Service"
-					Description="Start or stop the Apache CouchDB service"
-                    Icon="couchdb.ico"
-                    Target="[System64Folder]\services.msc" />
-					
-				<Shortcut Id="UninstallShortcut"
-					Name="Uninstall Apache CouchDB"
-					Description="Uninstalls Apache CouchDB"
-					Target="[System64Folder]msiexec.exe"
-					Arguments="/x [ProductCode]" />
-					
-				<RemoveFolder Id="RemoveOurShortcutsDir"
-					On="uninstall" />
-				
-				<RegistryValue Root="HKCU"
-					Key="Software\Apache\CouchDB"
-					Name="installed"
-					Type="integer"
-					Value="1"
-					KeyPath="yes" />
-			</Component>
-		</DirectoryRef>
-		
-		<!--Features-->
-		<Feature Id="ProductFeature"
-			Title="Droplet"
-			Level="1">
-			<ComponentRef Id="CMP_Shortcuts" />
-            <ComponentRef Id="AppFolder_comp" />
-			<ComponentGroupRef Id="CouchDBFilesGroup" />
-		</Feature>
-		
-		<Feature Id="VCRedist120" Title="Visual C++ 12.0 Runtime" AllowAdvertise="no" Display="hidden" Level="1">
-    		<MergeRef Id="VCRedist120"/>
-		</Feature>
-		
-		<!--Custom actions and execute sequences-->
-	    <!-- Prevent downgrading -->
-	    <!-- <CustomAction Id="PreventDowngrading" After="FindRelatedProducts" Error="Newer version already installed." />  -->
-        <SetProperty 
-            Id="InstallCouchDBService"
-            Value="&quot;[APPLICATIONFOLDER]bin\nssm.exe&quot; install &quot;Apache CouchDB&quot; [APPLICATIONFOLDER]bin\couchdb.cmd"
-            Before="InstallCouchDBService"
-            Sequence="execute"
-        />
-        <CustomAction
-            Id="InstallCouchDBService"
-            BinaryKey="WixCA"
-            DllEntry="WixQuietExec64"
-            Execute="deferred"
-            Return="ignore"
-            Impersonate="no"
-        />
+      <!--Start Menu Shortcuts-->
+      <DirectoryRef Id="OurShortcutsDir">
+         <Component Id="CMP_Shortcuts"
+            Guid="A2754FBF-3E43-4AEF-A70A-14D78CAC2784">
 
-        <SetProperty
-            Id="StartCouchDBService"
-            Value="&quot;[APPLICATIONFOLDER]bin\nssm.exe&quot; start &quot;Apache CouchDB&quot;"
-            Before="StartCouchDBService"
-            Sequence="execute"
-        />
-        <CustomAction
-            Id="StartCouchDBService"
-            BinaryKey="WixCA"
-            DllEntry="WixQuietExec64"
-            Execute="deferred"
-            Return="ignore"
-            Impersonate="no"
-        />
+            <Shortcut Id="DocumentationStartMenuShortcut"
+               Name="Apache CouchDB Documentation"
+               Description="Read the CouchDB Documentation"
+               Target="[APPLICATIONFOLDER]\share\www\docs\index.html" />
 
-        <SetProperty
-            Id="StopCouchDBService"
-            Value="&quot;[APPLICATIONFOLDER]bin\nssm.exe&quot; stop &quot;Apache CouchDB&quot;"
-            Before="StopCouchDBService"
-            Sequence="execute"
-        />
-        <CustomAction
-            Id="StopCouchDBService"
-            BinaryKey="WixCA"
-            DllEntry="WixQuietExec64"
-            Execute="deferred"
-            Return="ignore"
-            Impersonate="no"
-        />
+            <util:InternetShortcut Id="FauxtonStartMenuShortcut"
+               Name="Apache CouchDB Fauxton" 
+               Target="http://localhost:5984/_utils/index.html" />
 
-        <SetProperty
-            Id="RemoveCouchDBService"
-            Value="&quot;[APPLICATIONFOLDER]bin\nssm.exe&quot; remove &quot;Apache CouchDB&quot; confirm"
-            Before="RemoveCouchDBService"
-            Sequence="execute"
-        />
-        <CustomAction
-            Id="RemoveCouchDBService"
-            BinaryKey="WixCA"
-            DllEntry="WixQuietExec64"
-            Execute="deferred"
-            Return="ignore"
-            Impersonate="no"
-        />
-     
-        <!--Custom warning: no spaces in install path!-->
-        <Property Id="DirWarningText"
-           Value="Warning! Apache CouchDB must be installed into a path with no spaces. This installer will not prevent you from doing so, but the resulting installation will not work correctly." />
-        <UIRef Id="CouchDBWixUI" />
-		    
-		<!--Installer prefs-->
-        <WixVariable Id="WixUILicenseRtf" Value="LICENSE.rtf" />
-        <WixVariable Id="WixUIBannerBmp" Value="..\bits\couchdb-banner.bmp" />
-        <WixVariable Id="WixUIDialogBmp" Value="..\bits\couchdb-dialog.bmp" />
-		<Property Id="WIXUI_INSTALLDIR"
-			Value="APPLICATIONFOLDER" />
-		<Property Id="CA_EXCEPTION" Value="None" />
-		<Property Id="SCHEDULEREBOOT" Value="0" />
-        <InstallExecuteSequence>
-           <Custom Action="InstallCouchDBService" After="InstallFiles" />
-           <Custom Action="StartCouchDBService" After="InstallCouchDBService" />
-           <Custom Action="StopCouchDBService" After="MsiUnpublishAssemblies" >
-              Installed AND (REMOVE = "ALL")
-           </Custom>
-           <Custom Action="RemoveCouchDBService" After="StopCouchDBService" >
-              Installed AND (REMOVE = "ALL")
-           </Custom>
-        </InstallExecuteSequence>
-	</Product>
+            <Shortcut Id="ApplicationServiceMenuShortcut"
+               Name="Start or Stop Apache CouchDB Service"
+               Description="Start or stop the Apache CouchDB service"
+               Icon="couchdb.ico"
+               Target="[System64Folder]\services.msc" />
+
+            <Shortcut Id="UninstallShortcut"
+               Name="Uninstall Apache CouchDB"
+               Description="Uninstalls Apache CouchDB"
+               Target="[System64Folder]msiexec.exe"
+               Arguments="/x [ProductCode]" />
+
+            <RemoveFolder Id="RemoveOurShortcutsDir"
+               On="uninstall" />
+
+            <RegistryValue Root="HKCU"
+               Key="Software\Apache\CouchDB"
+               Name="installed"
+               Type="integer"
+               Value="1"
+               KeyPath="yes" />
+         </Component>
+      </DirectoryRef>
+
+      <!--Features-->
+      <Feature Id="ProductFeature"
+         Title="Droplet"
+         Level="1">
+         <ComponentRef Id="CMP_Shortcuts" />
+         <ComponentRef Id="AppFolder_comp" />
+         <ComponentGroupRef Id="CouchDBFilesGroup" />
+      </Feature>
+
+      <Feature Id="VCRedist141" Title="Visual C++ 14.1 Runtime" AllowAdvertise="no" Display="hidden" Level="1">
+         <MergeRef Id="VCRedist141"/>
+      </Feature>
+
+      <!--Custom actions and execute sequences-->
+      <!-- Prevent downgrading -->
+      <!-- <CustomAction Id="PreventDowngrading" After="FindRelatedProducts" Error="Newer version already installed." />  -->
+      <!-- These properties must be set here, because we can't actually pass session data to a deferred action. -->
+      <CustomAction
+         Id="SetAdminIniCustomActionPropertyValues"
+         Property="WriteAdminIniFile"
+         Value="ADMINCONFIGFILE=[APPLICATIONFOLDER]etc\local.d\10-admins.ini;ADMINUSER=[ADMINUSER];ADMINPASSWORD=[ADMINPASSWORD]"
+         />
+      <CustomAction
+         Id="WriteAdminIniFile"
+         Return="check"
+         Execute="deferred"
+         DllEntry="WriteAdminIniFile"
+         HideTarget="yes"
+         BinaryKey="CouchIniActionDll" 
+         Impersonate="no"
+         />
+
+      <CustomAction
+         Id="SetMaybeCopyIniFilesValues"
+         Property="MaybeCopyIniFiles"
+         Value="ETCDIR=[APPLICATIONFOLDER]etc"
+         />
+      <CustomAction
+         Id="MaybeCopyIniFiles"
+         Return="check"
+         Execute="deferred"
+         DllEntry="MaybeCopyIniFiles"
+         HideTarget="yes"
+         BinaryKey="CouchIniActionDll" 
+         Impersonate="no"
+         />
+
+      <CustomAction
+         Id="SetMaybeRemoveUserConfigValues"
+         Property="MaybeRemoveUserConfig"
+         Value="ETCDIR=[APPLICATIONFOLDER]etc"
+         />
+      <CustomAction
+         Id="MaybeRemoveUserConfig"
+         Return="check"
+         Execute="deferred"
+         DllEntry="MaybeRemoveUserConfig"
+         HideTarget="yes"
+         BinaryKey="CouchIniActionDll" 
+         Impersonate="no"
+         />
+
+      <SetProperty 
+         Id="InstallCouchDBService"
+         Value="&quot;[APPLICATIONFOLDER]bin\nssm.exe&quot; install &quot;Apache CouchDB&quot; &quot;[APPLICATIONFOLDER]bin\couchdb.cmd&quot;"
+         Before="InstallCouchDBService"
+         Sequence="execute"
+         />
+      <CustomAction
+         Id="InstallCouchDBService"
+         BinaryKey="WixCA"
+         DllEntry="WixQuietExec64"
+         Execute="deferred"
+         Return="ignore"
+         Impersonate="no"
+         />
+
+      <SetProperty
+         Id="StartCouchDBService"
+         Value="&quot;[APPLICATIONFOLDER]bin\nssm.exe&quot; start &quot;Apache CouchDB&quot;"
+         Before="StartCouchDBService"
+         Sequence="execute"
+         />
+      <CustomAction
+         Id="StartCouchDBService"
+         BinaryKey="WixCA"
+         DllEntry="WixQuietExec64"
+         Execute="deferred"
+         Return="ignore"
+         Impersonate="no"
+         />
+
+      <SetProperty
+         Id="StopEPMD"
+         Value="&quot;[System64Folder]\taskkill.exe&quot; /F /IM epmd.exe"
+         Before="StopEPMD"
+         Sequence="execute"
+         />
+      <CustomAction
+         Id="StopEPMD"
+         BinaryKey="WixCA"
+         DllEntry="WixQuietExec64"
+         Execute="deferred"
+         Return="ignore"
+         Impersonate="no"
+         />
+
+      <SetProperty
+         Id="StopCouchDBService"
+         Value="&quot;[APPLICATIONFOLDER]bin\nssm.exe&quot; stop &quot;Apache CouchDB&quot;"
+         Before="StopCouchDBService"
+         Sequence="execute"
+         />
+      <CustomAction
+         Id="StopCouchDBService"
+         BinaryKey="WixCA"
+         DllEntry="WixQuietExec64"
+         Execute="deferred"
+         Return="ignore"
+         Impersonate="no"
+         />
+
+      <SetProperty
+         Id="RemoveCouchDBService"
+         Value="&quot;[APPLICATIONFOLDER]bin\nssm.exe&quot; remove &quot;Apache CouchDB&quot; confirm"
+         Before="RemoveCouchDBService"
+         Sequence="execute"
+         />
+      <CustomAction
+         Id="RemoveCouchDBService"
+         BinaryKey="WixCA"
+         DllEntry="WixQuietExec64"
+         Execute="deferred"
+         Return="ignore"
+         Impersonate="no"
+         />
+
+      <!--Custom warning: 3.x+ doesn't start without an admin! -->
+      <Property Id="ApplicationFolderName" Value="Apache CouchDB" />
+      <Property Id="IniWarningText"
+         Value="{\WixUI_Font_Emphasized}Thank you for installing Apache CouchDB!" />
+      <Property Id="ReleaseNotesLink"
+         Value="&lt;a href=&quot;https://docs.couchdb.org/en/stable/whatsnew/###RELNOTESVERSION###.html&quot;&gt;View Release Notes&lt;/a&gt;" />
+
+      <UIRef Id="CouchDBWixUI" />
+
+      <!--Installer prefs-->
+      <WixVariable Id="WixUILicenseRtf" Value="LICENSE.rtf" />
+      <WixVariable Id="WixUIBannerBmp" Value="..\bits\couchdb-banner.bmp" />
+      <WixVariable Id="WixUIDialogBmp" Value="..\bits\couchdb-dialog.bmp" />
+      <Property Id="WIXUI_INSTALLDIR"
+         Value="APPLICATIONFOLDER" />
+      <Property Id="CA_EXCEPTION" Value="None" />
+      <Property Id="SCHEDULEREBOOT" Value="0" />
+      <InstallExecuteSequence>
+         <Custom Action="SetAdminIniCustomActionPropertyValues" After="InstallFiles">NOT Installed AND NOT REMOVE</Custom>
+         <Custom Action="WriteAdminIniFile" After="SetAdminIniCustomActionPropertyValues">NOT Installed AND NOT REMOVE</Custom>
+         <Custom Action="SetMaybeCopyIniFilesValues" After="WriteAdminIniFile">NOT Installed AND NOT REMOVE</Custom>
+         <Custom Action="MaybeCopyIniFiles" After="SetMaybeCopyIniFilesValues">NOT Installed AND NOT REMOVE</Custom>
+         <Custom Action="InstallCouchDBService" After="MaybeCopyIniFiles">INSTALLSERVICE AND NOT Installed AND NOT REMOVE</Custom>
+         <Custom Action="StartCouchDBService" After="InstallCouchDBService">INSTALLSERVICE AND NOT Installed AND NOT REMOVE</Custom>
+         <Custom Action="StopCouchDBService" After="MsiUnpublishAssemblies" >
+            Installed AND (REMOVE = "ALL")
+         </Custom>
+         <Custom Action="StopEPMD" After="StopCouchDBService" >
+            Installed AND (REMOVE = "ALL")
+         </Custom>
+         <Custom Action="RemoveCouchDBService" After="StopCouchDBService" >
+            Installed AND (REMOVE = "ALL")
+         </Custom>
+         <Custom Action="SetMaybeRemoveUserConfigValues" After="RemoveCouchDBService" >
+            Installed AND (REMOVE = "ALL")
+         </Custom>
+         <Custom Action="MaybeRemoveUserConfig" After="SetMaybeRemoveUserConfigValues" >
+            Installed AND (REMOVE = "ALL")
+         </Custom>
+      </InstallExecuteSequence>
+   </Product>
 </Wix>
 
diff --git a/installer/couchdb_wixui.wxs b/installer/couchdb_wixui.wxs
index 605dda6..453777f 100644
--- a/installer/couchdb_wixui.wxs
+++ b/installer/couchdb_wixui.wxs
@@ -3,9 +3,11 @@
 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
     <Fragment>
         <UI Id="CouchDBWixUI">
-            <TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" />
-            <TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" Size="12" />
-            <TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" />
+            <TextStyle Id="WixUI_Font_Normal" FaceName="!(loc.Advanced_Font_FaceName)" Size="!(loc.Advanced_Font_Normal_Size)" />
+            <TextStyle Id="WixUI_Font_Bigger" FaceName="!(loc.Advanced_Font_FaceName)" Size="!(loc.Advanced_Font_Bigger_Size)" />
+            <TextStyle Id="WixUI_Font_Title" FaceName="!(loc.Advanced_Font_FaceName)" Size="!(loc.Advanced_Font_Title_Size)" Bold="yes" />
+            <TextStyle Id="WixUI_Font_Emphasized" FaceName="!(loc.Advanced_Font_FaceName)" Size="!(loc.Advanced_Font_Emphasized_Size)" Bold="yes" />
+            <TextStyle Id="WinUI_Font_Mono" FaceName="Courier New" Size="!(loc.Advanced_Font_Normal_Size)" />
 
             <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" />
             <Property Id="WixUI_Mode" Value="InstallDir" />
@@ -24,26 +26,27 @@
             <Publish Dialog="BrowseDlg" Control="OK" Event="DoAction" Value="WixUIValidatePath" Order="3">1</Publish>
             <Publish Dialog="BrowseDlg" Control="OK" Event="SpawnDialog" Value="InvalidDirDlg" Order="4"><![CDATA[WIXUI_INSTALLDIR_VALID<>"1"]]></Publish>
 
-            <Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>
+            <Publish Dialog="CustomExitDlg" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>
 
             <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="LicenseAgreementDlg">NOT Installed</Publish>
             <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">Installed AND PATCH</Publish>
 
             <Publish Dialog="LicenseAgreementDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg">1</Publish>
-            <Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog" Value="DirWarningDlg">LicenseAccepted = "1"</Publish>
+            <Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog" Value="CouchInstallDirDlg">LicenseAccepted = "1"</Publish>
+            <Publish Dialog="LicenseAgreementDlg" Control="Next" Property="INSTALLSERVICE" Value="1">INSTALLSERVICE &lt;&gt; "0"</Publish>
 
-            <Publish Dialog="DirWarningDlg" Control="Back" Event="NewDialog" Value="LicenseAgreementDlg">1</Publish>
-            <Publish Dialog="DirWarningDlg" Control="Next" Event="NewDialog" Value="InstallDirDlg">1</Publish>
+            <Publish Dialog="CouchInstallDirDlg" Control="Back" Event="NewDialog" Value="LicenseAgreementDlg">1</Publish>
+            <Publish Dialog="CouchInstallDirDlg" Control="Next" Event="SetTargetPath" Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish>
+            <Publish Dialog="CouchInstallDirDlg" Control="Next" Event="DoAction" Value="WixUIValidatePath" Order="2">NOT WIXUI_DONTVALIDATEPATH</Publish>
+            <Publish Dialog="CouchInstallDirDlg" Control="Next" Event="SpawnDialog" Value="InvalidDirDlg" Order="3"><![CDATA[NOT WIXUI_DONTVALIDATEPATH AND WIXUI_INSTALLDIR_VALID<>"1"]]></Publish>
+            <Publish Dialog="CouchInstallDirDlg" Control="Next" Event="NewDialog" Value="AdminPromptDlg" Order="4">WIXUI_DONTVALIDATEPATH OR WIXUI_INSTALLDIR_VALID="1"</Publish>
+            <Publish Dialog="CouchInstallDirDlg" Control="ChangeFolder" Property="_BrowseProperty" Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish>
+            <Publish Dialog="CouchInstallDirDlg" Control="ChangeFolder" Event="SpawnDialog" Value="BrowseDlg" Order="2">1</Publish>
 
-            <Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="DirWarningDlg">1</Publish>
-            <Publish Dialog="InstallDirDlg" Control="Next" Event="SetTargetPath" Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish>
-            <Publish Dialog="InstallDirDlg" Control="Next" Event="DoAction" Value="WixUIValidatePath" Order="2">NOT WIXUI_DONTVALIDATEPATH</Publish>
-            <Publish Dialog="InstallDirDlg" Control="Next" Event="SpawnDialog" Value="InvalidDirDlg" Order="3"><![CDATA[NOT WIXUI_DONTVALIDATEPATH AND WIXUI_INSTALLDIR_VALID<>"1"]]></Publish>
-            <Publish Dialog="InstallDirDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg" Order="4">WIXUI_DONTVALIDATEPATH OR WIXUI_INSTALLDIR_VALID="1"</Publish>
-            <Publish Dialog="InstallDirDlg" Control="ChangeFolder" Property="_BrowseProperty" Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish>
-            <Publish Dialog="InstallDirDlg" Control="ChangeFolder" Event="SpawnDialog" Value="BrowseDlg" Order="2">1</Publish>
+            <Publish Dialog="AdminPromptDlg" Control="Back" Event="NewDialog" Value="CouchInstallDirDlg">1</Publish>
+            <Publish Dialog="AdminPromptDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
             
-            <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="InstallDirDlg" Order="1">NOT Installed</Publish>
+            <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="AdminPromptDlg" Order="1">NOT Installed</Publish>
             <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="2">Installed AND NOT PATCH</Publish>
             <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" Order="2">Installed AND PATCH</Publish>
 
diff --git a/installer/customexit.wxs b/installer/customexit.wxs
new file mode 100644
index 0000000..90283a6
--- /dev/null
+++ b/installer/customexit.wxs
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
+    <Fragment>
+        <UI>
+            <Dialog Id="CustomExitDlg" Width="370" Height="270" Title="!(loc.ExitDialog_Title)">
+                <Control Id="Finish" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="!(loc.WixUIFinish)" />
+                <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUICancel)" />
+                <Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="!(loc.ExitDialogBitmap)" />
+                <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUIBack)" />
+                <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
+                <Control Id="Description" Type="Text" X="135" Y="70" Width="220" Height="40" Transparent="yes" NoPrefix="yes" Text="!(loc.ExitDialogDescription)" />
+                <Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="!(loc.ExitDialogTitle)" />
+                <Control Id="WarningText" Type="Text" X="135" Y="110" Width="220" Height="80" Transparent="yes" NoPrefix="yes" Text="[IniWarningText]" />
+                <Control Id="ReleaseNotes" Type="Hyperlink" X="135" Y="190" Width="220" Height="40" Text="[ReleaseNotesLink]" />
+            </Dialog>
+
+            <InstallUISequence>
+                <Show Dialog="CustomExitDlg" OnExit="success" Overridable="yes" />
+            </InstallUISequence>
+
+            <AdminUISequence>
+                <Show Dialog="CustomExitDlg" OnExit="success" Overridable="yes" />
+            </AdminUISequence>
+        </UI>
+    </Fragment>
+</Wix>
+