Project import
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..dbb13b2
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,171 @@
+#
+#    Copyright (c) 2010-2012 Nest, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is the makefile for the library and command line
+#      utility for transferring files with URL syntax, libcurl and
+#      curl, respectively.
+#
+
+include pre.mak
+
+PackageName		:= curl
+
+PackageExtension	:= tar.gz
+PackageSeparator	:= -
+
+PackagePatchArgs    := -p1
+
+PackageArchive		:= $(PackageName).$(PackageExtension)
+PackageSourceDir	:= $(PackageName)$(PackageSeparator)$(PackageVersion)
+
+PackageBuildMakefile	= $(call GenerateBuildPaths,Makefile)
+
+CleanPaths		+= $(PackageLicenseFile)
+
+TpsDir                  = sw/tps
+
+OpenSSLDir              = $(TpsDir)/openssl
+OpenSSLPrefixDir        = usr
+OpenSSLIncludeDir       = $(OpenSSLPrefixDir)/include
+OpenSSLLibraryDir       = $(OpenSSLPrefixDir)/lib
+OpenSSLNames            = crypto ssl
+OpenSSLSearchPath       = $(call GenerateResultPaths,$(OpenSSLDir),$(OpenSSLPrefixDir))
+OpenSSLIncludePath      = $(call GenerateResultPaths,$(OpenSSLDir),$(OpenSSLIncludeDir))
+OpenSSLLibraryPath      = $(call GenerateResultPaths,$(OpenSSLDir),$(OpenSSLLibraryDir))
+OpenSSLLibraryPaths     = $(call GenerateResultPaths,$(OpenSSLResultsDir),$(addprefix $(OpenSSLLibraryDir)/,$(OpenSSLNames)))
+OpenSSLDependPaths      = $(call GenerateSharedLibraryResultPaths,$(OpenSSLDir)/$(OpenSSLLibraryDir),$(OpenSSLNames))
+
+ZlibDir                 = $(TpsDir)/zlib
+ZlibPrefixDir           = usr
+ZlibIncludeDir          = $(ZlibPrefixDir)/include
+ZlibLibraryDir          = $(ZlibPrefixDir)/lib
+ZlibName                = z
+ZlibSearchPath          = $(call GenerateResultPaths,$(ZlibDir),$(ZlibPrefixDir))
+ZlibIncludePath         = $(call GenerateResultPaths,$(ZlibDir),$(ZlibIncludeDir))
+ZlibLibraryPath         = $(call GenerateResultPaths,$(ZlibDir),$(ZlibLibraryDir))
+ZlibDependPath          = $(call GenerateSharedLibraryResultPaths,$(ZlibDir)/$(ZlibLibraryDir),$(ZlibName))
+
+all: $(PackageDefaultGoal)
+
+# Generate the package license contents.
+
+$(PackageSourceDir)/COPYING: source
+
+$(PackageLicenseFile): $(PackageSourceDir)/COPYING
+	$(copy-result)
+
+# Extract the source from the archive and apply patches, if any.
+
+$(PackageSourceDir): $(PackageArchive) $(PackagePatchPaths)
+	$(expand-and-patch-package)
+
+# Prepare the sources.
+
+.PHONY: source
+source: | $(PackageSourceDir)
+
+# Patch the sources, if necessary.
+
+.PHONY: patch
+patch: source
+
+# Generate the package build makefile.
+#
+# For non-cross-compiled targets (e.g. simulators), the curl configure
+# attempts to perform run-time tests.
+#
+# To ensure this works against the in-project versions of openssl and
+# zlib, the paths to these shared objects MUST be found by the dynamic
+# loader.
+
+$(PackageBuildMakefile): export $(LoaderSearchPath) := $(OpenSSLLibraryPath):$(ZlibLibraryPath):$($(LoaderSearchPath))
+
+$(PackageBuildMakefile): | $(PackageSourceDir) $(BuildDirectory)
+	$(Verbose)cd $(BuildDirectory) && \
+	$(CURDIR)/$(PackageSourceDir)/configure \
+	INSTALL="$(INSTALL) $(INSTALLFLAGS)" \
+	CC="$(CC)" CXX="$(CXX)" AR=$(AR) RANLIB=$(RANLIB) STRIP=$(STRIP) \
+	CPPFLAGS="$(call ToolGenerateIncludeArgument,$(OpenSSLIncludePath))" \
+	LDFLAGS="$(call GenerateResolveArguments,$(ZlibDependPath)) \
+	$(call GenerateResolveArguments,$(OpenSSLDependPaths)) \
+	$(call ToolGenerateLibraryPathArgument,$(OpenSSLLibraryPath))" \
+	--build=$(HostTuple) \
+	--host=$(TargetTuple) \
+	$(CurlPackageOptions) \
+	--disable-ares \
+	--disable-dict \
+	--disable-gopher \
+	--disable-imap \
+	--disable-ldap \
+	--disable-ldaps \
+	--disable-manual \
+	--disable-ntlm-wb \
+	--disable-pop3 \
+	--disable-rtsp \
+	--disable-smtp \
+	--disable-telnet \
+	--enable-ipv6 \
+	--with-ssl=$(OpenSSLSearchPath) \
+	--with-zlib=$(ZlibSearchPath) \
+	--with-ca-bundle=/usr/lib/ssl/certs/ca-bundle.pem \
+	--without-libidn \
+	--prefix=/usr \
+	--sysconfdir=/etc \
+	--localstatedir=/var \
+	--disable-static
+
+# Configure the source for building.
+
+.PHONY: configure
+configure: source $(PackageBuildMakefile)
+
+# Build the source.
+#
+# We have to unset MAKEFLAGS since they confuse the package build otherwise.
+
+.PHONY: build
+build: configure
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) $(JOBSFLAG) -C $(BuildDirectory) all
+
+# Stage the build to a temporary installation area.
+#
+# We have to unset MAKEFLAGS since they confuse the package build otherwise.
+#
+# We explictly remove 'libcurl.la' because some packages that depend
+# on libcurl use libtool. If libtool finds a '*.la' file for a
+# library, it uses the value of 'libdir=<dir>' it finds. In our case,
+# since '--prefix=/usr' this value is '/usr/lib'. It then resolves
+# '-lcurl' to '/usr/lib/libcurl.so'. In a cross-compilation
+# environment, this is likely to be neither the right architecture nor
+# the right version to link against. In short, we lose.
+#
+# We could also handle this by removing DESTDIR and setting the prefix
+# to $(ResultDirectory); however, that results in libtool hard-coding
+# $(ResultDirectory) as the RPATH in the linked executables which is
+# NOT what we want either. We lose again.
+#
+# By removing the '*.la' file, we win by ensuring neither a misdirected
+# link nor an RPATH.
+
+.PHONY: stage
+stage: build | $(ResultDirectory)
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) $(JOBSFLAG) -C $(BuildDirectory) DESTDIR=$(ResultDirectory) install
+	$(Verbose)$(RM) $(RMFLAGS) $(call GenerateResultPaths,,usr/lib/libcurl.la) 
+
+clean:
+	$(Verbose)$(RM) $(RMFLAGS) -r $(PackageSourceDir)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(BuildDirectory)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(ResultDirectory)
+
+include post.mak
diff --git a/curl-7.25.0/Android.mk b/curl-7.25.0/Android.mk
new file mode 100644
index 0000000..7d923e9
--- /dev/null
+++ b/curl-7.25.0/Android.mk
@@ -0,0 +1,107 @@
+# Google Android makefile for curl and libcurl
+#
+# Place the curl source (including this makefile) into external/curl/ in the
+# Android source tree.  Then build them with 'make curl' or just 'make libcurl'
+# from the Android root. Tested with Android versions 1.5, 2.1-2.3
+#
+# Note: you must first create a curl_config.h file by running configure in the
+# Android environment. The only way I've found to do this is tricky. Perform a
+# normal Android build with libcurl in the source tree, providing the target
+# "showcommands" to make. The build will eventually fail (because curl_config.h
+# doesn't exist yet), but the compiler commands used to build curl will be
+# shown. Now, from the external/curl/ directory, run curl's normal configure
+# command with flags that match what Android itself uses. This will mean
+# putting the compiler directory into the PATH, putting the -I, -isystem and
+# -D options into CPPFLAGS, putting the -W, -m, -f, -O and -nostdlib options
+# into CFLAGS, and putting the -Wl, -L and -l options into LIBS, along with the
+# path to the files libgcc.a, crtbegin_dynamic.o, and ccrtend_android.o.
+# Remember that the paths must be absolute since you will not be running
+# configure from the same directory as the Android make.  The normal
+# cross-compiler options must also be set. Note that the -c, -o, -MD and
+# similar flags must not be set.
+#
+# To see all the LIBS options, you'll need to do the "showcommands" trick on an
+# executable that's already buildable and watch what flags Android uses to link
+# it (dhcpcd is a good choice to watch). You'll also want to add -L options to
+# LIBS that point to the out/.../obj/lib/ and out/.../obj/system/lib/
+# directories so that additional libraries can be found and used by curl.
+#
+# The end result will be a configure command that looks something like this
+# (the environment variable A is set to the Android root path which makes the
+# command shorter):
+#
+#  A=`realpath ../..` && \
+#  PATH="$A/prebuilt/linux-x86/toolchain/arm-eabi-X/bin:$PATH" \
+#  ./configure --host=arm-linux CC=arm-eabi-gcc \
+#  CPPFLAGS="-I $A/system/core/include ..." \
+#  CFLAGS="-nostdlib -fno-exceptions -Wno-multichar ..." \
+#  LIBS="$A/prebuilt/linux-x86/toolchain/arm-eabi-X/lib/gcc/arm-eabi/X\
+#  /interwork/libgcc.a ..."
+#
+# Finally, copy the file COPYING to NOTICE so that the curl license gets put
+# into the right place (but see the note about this below).
+#
+# Dan Fandrich
+# November 2011
+
+LOCAL_PATH:= $(call my-dir)
+
+common_CFLAGS := -Wpointer-arith -Wwrite-strings -Wunused -Winline -Wnested-externs -Wmissing-declarations -Wmissing-prototypes -Wno-long-long -Wfloat-equal -Wno-multichar -Wsign-compare -Wno-format-nonliteral -Wendif-labels -Wstrict-prototypes -Wdeclaration-after-statement -Wno-system-headers -DHAVE_CONFIG_H
+
+#########################
+# Build the libcurl library
+
+include $(CLEAR_VARS)
+include $(LOCAL_PATH)/lib/Makefile.inc
+CURL_HEADERS := \
+	curlbuild.h \
+	curl.h \
+	curlrules.h \
+	curlver.h \
+	easy.h \
+	mprintf.h \
+	multi.h \
+	stdcheaders.h \
+	typecheck-gcc.h
+
+LOCAL_SRC_FILES := $(addprefix lib/,$(CSOURCES))
+LOCAL_C_INCLUDES += $(LOCAL_PATH)/include/
+LOCAL_CFLAGS += $(common_CFLAGS)
+
+LOCAL_COPY_HEADERS_TO := libcurl/curl
+LOCAL_COPY_HEADERS := $(addprefix include/curl/,$(CURL_HEADERS))
+
+LOCAL_MODULE:= libcurl
+LOCAL_MODULE_TAGS := optional
+
+# Copy the licence to a place where Android will find it.
+# Actually, this doesn't quite work because the build system searches
+# for NOTICE files before it gets to this point, so it will only be seen
+# on subsequent builds.
+ALL_PREBUILT += $(LOCAL_PATH)/NOTICE
+$(LOCAL_PATH)/NOTICE: $(LOCAL_PATH)/COPYING | $(ACP)
+	$(copy-file-to-target)
+
+include $(BUILD_STATIC_LIBRARY)
+
+
+#########################
+# Build the curl binary
+
+include $(CLEAR_VARS)
+include $(LOCAL_PATH)/src/Makefile.inc
+LOCAL_SRC_FILES := $(addprefix src/,$(CURL_CFILES))
+
+LOCAL_MODULE := curl
+LOCAL_MODULE_TAGS := optional
+LOCAL_STATIC_LIBRARIES := libcurl
+LOCAL_SYSTEM_SHARED_LIBRARIES := libc
+
+LOCAL_C_INCLUDES += $(LOCAL_PATH)/include $(LOCAL_PATH)/lib
+
+# This may also need to include $(CURLX_ONES) in order to correctly link
+# if libcurl is changed to be built as a dynamic library
+LOCAL_CFLAGS += $(common_CFLAGS)
+
+include $(BUILD_EXECUTABLE)
+
diff --git a/curl-7.25.0/CHANGES b/curl-7.25.0/CHANGES
new file mode 100644
index 0000000..726fdfb
--- /dev/null
+++ b/curl-7.25.0/CHANGES
@@ -0,0 +1,5289 @@
+                                  _   _ ____  _
+                              ___| | | |  _ \| |
+                             / __| | | | |_) | |
+                            | (__| |_| |  _ <| |___
+                             \___|\___/|_| \_\_____|
+
+                                  Changelog
+
+Version 7.25.0 (22 Mar 2012)
+
+Daniel Stenberg (22 Mar 2012)
+- RELEASE-NOTES: synced with b8b2cf612b2
+
+Yang Tse (22 Mar 2012)
+- tests #1400 #1401: add missing keywords
+
+- http_proxy.h: fix builds with proxy or http disabled
+
+- parsedate.c: fix a numeric overflow
+
+Daniel Stenberg (22 Mar 2012)
+- [Andrei Cipu brought this change]
+
+  cookies: strip the numerical ipv6 host properly
+  
+  The commit e650dbde86d4 that stripped off [brackets] from ipv6-only host
+  headers for the sake of cookie parsing wrongly incremented the host
+  pointer which would cause a bad free() call later on.
+
+Yang Tse (22 Mar 2012)
+- test #598: add to Makefile.am
+
+- test #598: OOM handling fixes
+
+- fix several compiler warnings
+
+Daniel Stenberg (22 Mar 2012)
+- CONNECT: fix multi interface regression
+  
+  The refactoring of HTTP CONNECT handling in commit 41b0237834232 that
+  made it protocol independent broke it for the multi interface. This fix
+  now introduce a better state handling and moved some logic to the
+  http_proxy.c source file.
+  
+  Reported by: Yang Tse
+  Bug: http://curl.haxx.se/mail/lib-2012-03/0162.html
+
+- SWS: refuse to serve CONNECT unless running as proxy
+
+Yang Tse (21 Mar 2012)
+- curl-functions.m4: update detection logic of getaddrinfo() thread-safeness
+  
+  Take in account that POSIX standard Issue 7 drops h_errno support. Now, we also
+  consider getaddrinfo() to be thread-safe when (_POSIX_C_SOURCE >= 200809L) or
+  (_XOPEN_SOURCE >= 700) independently of whether h_errno exists or not.
+
+- fix several compiler warnings
+
+- tests 140X: fix --libcurl generated source file reading mode for MSYS builds
+
+- tool_easysrc.c: fix --libcurl option output file text translation mode
+  
+  Use fopen() with "w" mode instead of "wt" to fix cygwin builds.
+
+- build: remove tool_cb_skt.[ch] references
+
+Daniel Stenberg (18 Mar 2012)
+- RELEASE-NOTES: synced with ad77420ac761b
+  
+  3 more bugs, 1 more contributor
+
+- lwip: basic checks and macros for compatiblity
+
+Yang Tse (17 Mar 2012)
+- tool_setopt.c: more OOM handling fixes
+
+Daniel Stenberg (16 Mar 2012)
+- cmake: list_spaces_append_once fails with spaces in filename
+  
+  Windows standard libraries are located in C:/Program Files/Microsoft
+  SDKs/[...]. They are already included in the default MSVC
+  LIBPATH. Hence, find_library(WSOCK32_LIBRARY wsock32) and
+  find_library(WS2_32_LIBRARY ws2_32) are not needed. They return the full
+  path to the libraries including spaces. Of course,
+  list_spaces_append_once will mangle the result and the build fails.
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3494968
+
+Yang Tse (16 Mar 2012)
+- http_proxy.c: fix OOM handling
+
+- tool_setopt.c: fix OOM handling
+
+- fix several compiler warnings
+
+- fix some compiler warnings
+
+Daniel Stenberg (13 Mar 2012)
+- [Maxim Prohorov brought this change]
+
+  resolve with c-ares: don't resolve IPv6 when not working
+  
+  If the Curl_ipv6works() function says no, there is no reason to try AAAA
+  names even if libcurl was built with IPv6 support enabled.
+  
+  Bug: http://curl.haxx.se/mail/lib-2012-03/0045.html
+
+unknown (10 Mar 2012)
+- [Steve Holme brought this change]
+
+  smtp.c: Changed the curl error code for EHLO and HELO responses
+  
+  Changed the returned curl error codes for EHLO and HELO responses from
+  CURLE_LOGIN_DENIED to CURLE_REMOTE_ACCESS_DENIED as a negative response
+  from these commands represents no service as opposed to a login error.
+
+Daniel Stenberg (10 Mar 2012)
+- RELEASE-NOTES: synced with e650dbde86
+  
+  New: 12 bugs, 3 changes, 6 contributors and updated counters at the top
+
+- [Andrei Cipu brought this change]
+
+  Curl_http: strip off [brackets] from ipv6-only host headers
+  
+  Since the host name is passed in to the cookie engine it will not work
+  correctly if the brackets are left in the name.
+  
+  Bug:http://curl.haxx.se/mail/lib-2012-03/0036.html
+
+- [Armel Asselin brought this change]
+
+  CURLSSH_OPT_AUTH: documented it has no effect
+
+- [John Joseph Bachir brought this change]
+
+  mk-ca-bundle.pl: use LWP::UserAgent with proper https verify behavior.
+  
+  An alternative would be:
+  
+  1. specify HTTPS_CA_DIR and/or HTTPS_CA_FILE
+  2. ensure that Net::SSL is being used, and IO::Socket::SSL is NOT being
+     used
+  
+  This question and answer explain:
+  http://stackoverflow.com/questions/74358/
+
+- [John Joseph Bachir brought this change]
+
+  access the CA source file using HTTPS
+
+- includes: remove inclusion of unused file http_proxy.h
+
+- CONNECT: made generically not per-protocol
+  
+  Curl_protocol_connect() now does the tunneling through the HTTP proxy if
+  requested instead of letting each protocol specific connection function
+  do it.
+
+- ssh_connect: tunnel through HTTP proxy if requested
+
+- LWIP: don't consider HAVE_ERRNO_H to be winsock
+  
+  The check for Winsock definition was a bit too broad
+  
+  Bug: http://curl.haxx.se/mail/lib-2012-03/0046.html
+
+- [Dave Reisner brought this change]
+
+  curl-config: only provide libraries with --libs
+  
+  In line with the manpage, curl-config --libs should only provide the necessary
+  library flags for the linker in order to compile software with libcurl. Also
+  with this change, we match what the pkg-config file provides.
+
+- CONTRIB: Please don't send pull requests
+
+- libcurl docs: version corrections
+  
+  Correct some inconsistencies in which version some things were added.
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3494091
+  Reported by: "curlybugs"
+
+- CONNECT: fix ipv6 address in the Request-Line
+  
+  Commit 466150bc64d fixed the Host: header with CONNECT, but I then
+  forgot the preceeding request-line. Now this too uses [brackets]
+  properly if a ipv6 numerical address was given.
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3493129
+  Reported by: "Blacat"
+
+- [Steve Holme brought this change]
+
+  SMTP: Added support for returning SMTP response codes
+  
+  Set the conn->data->info.httpcode variable in smtp_statemach_act() to
+  allow Curl_getinfo() to return the SMTP response code via the
+  CURLINFO_RESPONSE_CODE action.
+
+- curl.1: updated --libcurl
+  
+  With Colin Hogben's recent work, --libcurl now also works with -F and
+  more. Remove the previous caveat.
+
+- test: --libcurl fixes
+  
+  The line endings broke when I saved the three recent patches (my fault,
+  not Colin's) to 'git am' them.
+  
+  Adjusted the stripping of the test program for comparing to also exclude
+  the SSH key file name as that will differ and use a local path name.
+
+- [Colin Hogben brought this change]
+
+  Add helper script convsrctest.pl to manipulate --libcurl tests.
+  
+  The intention is to take the output of curl's --libcurl option,
+  as exercised in test 14xx, and generate a corresponding test15xx
+  in which the generated code is compiled and run.  This will verify
+  that the generated code behaves equivalently to the original
+  invocation of the curl command.
+  
+  The script is not yet integrated into the configure / makefile
+  machinery.
+
+- [Colin Hogben brought this change]
+
+  Add tests for curl's --libcurl output.
+  
+  These tests check the output of the --libcurl option of curl,
+  including the improved option handling added in a related patch.
+
+- [Colin Hogben brought this change]
+
+  Generate lists and use symbols in --libcurl code output.
+  
+  This patch improves the output of curl's --libcurl option by
+  generating code which builds curl_httppost and curl_slist lists, and
+  uses symbolic names for enum and flag values.  Variants of the
+  my_setopt macro in tool_setopt.h are added in order to pass extra type
+  information to the code-generation step in tool_setopt.c.
+  
+  If curl is configured with --disable-libcurl-option then the macros
+  call curl_easy_setopt directly.
+
+- [Steve Holme brought this change]
+
+  smtp.c: Fixed an issue with writing postdata
+  
+  Fixed a problem in smtp_done() when writing out the postdata as
+  Curl_write() would periodically return zero bytes written.
+
+- CURLOPT_MAIL_AUTH: added in 7.25.0
+  
+  Brought in commit 0cf0ab6f300
+
+- pop3 test server: send terminating ".CRLF" only
+  
+  With commit 035ef06bda7 applied, the test pop3 server needs to send
+  ".\r\n" as the body terminating sequence and there needs to be a final
+  CRLF in the actual body in the test data file.
+
+- [Steve Holme brought this change]
+
+  pop3.c: Fixed drop of final CRLF in EOB checking
+  
+  Curl_pop3_write() would drop the final CRLF of a message as it was
+  considered part of the EOB as opposed to part of the message. Whilst
+  the EOB sequence needs to be searched for by the function only the
+  final 3 characters should be removed as per RFC-1939 section 3.
+  
+  Reported by: Rich Gray
+  Bug: http://curl.haxx.se/mail/lib-2012-02/0051.html
+
+- [Steve Holme brought this change]
+
+  smtp.c: Fixed an issue with the EOB checking
+  
+  Curl_smtp_escape_eob() would leave off final CRLFs from emails ending
+  in multiple blank lines additionally leaving the smtpc->eob variable
+  with the character count in, which would cause problems for additional
+  emails when sent through multiple calls to curl_easy_perform() after a
+  CURLOPT_CONNECT_ONLY.
+
+- CURLE_FTP_PRET_FAILED: listed twice
+  
+  Make sure it is mentioned once and with the correct description
+
+- --mail-auth documented
+
+- [Steve Holme brought this change]
+
+  SMTP: Code policing and tidy up
+
+- [Steve Holme brought this change]
+
+  curl: Added support for --mail-auth
+  
+  Added an extra command-line argument to support the optional AUTH
+  parameter in SMTPs MAIL FROM command.
+
+Kamil Dudka (16 Feb 2012)
+- docs: mention that NTLM works with NSS, too
+
+Daniel Stenberg (15 Feb 2012)
+- [Steve Holme brought this change]
+
+  DOCS: Added information for CURLOPT_MAIL_AUTH.
+  
+  Added information relating to the new CURLOPT_MAIL_AUTH parameter and
+  reworked CURLOPT_MAIL_FROM and CURLOPT_MAIL_RCPT to be a clearer.
+  
+  Fixed inconsistencies of "vocalisation of the abbreviation" versus
+  "vocalisation of the first word" for all abbreviations.
+  
+  Corrected a typo in CURLOPT_NOPROXY.
+
+- [Steve Holme brought this change]
+
+  smtp.c: Fixed use of angled brackets in AUTH parameter.
+  
+  Fixed the use of angled brackets "<>" in the optional AUTH parameter as
+  per RFC-2554 section 5. The address should not include them but an
+  empty address should be replaced by them.
+
+- [Steve Holme brought this change]
+
+  smtp_mail: Added support to MAIL FROM for the optional AUTH parameter
+  
+  Added a new CURLOPT_MAIL_AUTH option that allows the calling program to
+  set the optional AUTH parameter in the MAIL FROM command.
+  
+  When this option is specified and an authentication mechanism is used
+  to communicate with the mail server then the AUTH parameter will be
+  included in the MAIL FROM command. This is particularly useful when the
+  calling program is acting as a relay in a trusted environment and
+  performing server to server communication, as it allows the relaying
+  server to specify the address of the mailbox that was used to
+  authenticate and send the original email.
+
+- [toddouska brought this change]
+
+  cyassl: update to CyaSSL 2.0.x API
+  
+  Modify configure.ac to test for new CyaSSL Init function and remove
+  default install path to system.  Change to CyaSSL OpenSSL header and
+  proper Init in code as well.
+  
+  Note that this no longer detects or works with CyaSSL before v2
+
+- LIBCURL_VERSION_NUM: 0x071900
+  
+  I accidentally left the lowest bits 01 before
+
+- [Steve Holme brought this change]
+
+  SMTP: Fixed error when using CURLOPT_CONNECT_ONLY
+  
+  Fixed incorrect behavior in smtp_done() which would cause the end of
+  block data to be sent to the SMTP server if libcurl was operating in
+  connect only mode. This would cause the server to return an error as
+  data would not be expected which in turn caused libcurl to return
+  CURLE_RECV_ERROR.
+
+- s/7.24.1/7.25.0
+  
+  We will go straight to 7.25.0 due to the new additions
+
+- curlver.h: bumped to 7.25.0
+  
+  and updated the end year in the generic copyright string
+
+- RELEASE-NOTES: synced with 2b26eb985
+  
+  9 bug fixes, 4 changes and numerous contributors
+  
+  Bumped release version and option counters
+
+- [Colin Hogben brought this change]
+
+  configure: add option disable --libcurl output
+
+- [Alessandro Ghedini brought this change]
+
+  curl tool: allow negative numbers as option values
+  
+  Fix the str2num() function to not check if the input string starts with a
+  digit, since strtol() supports numbers prepended with '-' (and '+') too.
+  This makes the --max-redirs option work as documented.
+
+- parse_proxy: simply memory handling
+  
+  ... by making sure that the string is always freed after the invoke as
+  parse_proxy will always copy the data and this way there's a single
+  free() instead of multiple ones.
+
+- parse_proxy: bail out on zero-length proxy names!
+  
+  The proxy parser function strips off trailing slashes off the proxy name
+  which could lead to a mistaken zero length proxy name which would be
+  treated as no proxy at all by subsequent functions!
+  
+  This is now detected and an error is returned. Verified by the new test
+  1329.
+  
+  Reported by: Chandrakant Bagul
+  Bug: http://curl.haxx.se/mail/lib-2012-02/0000.html
+
+Kamil Dudka (9 Feb 2012)
+- nss: add support for the CURLSSLOPT_ALLOW_BEAST option
+  
+  ... and fix some typos from the 62d15f1 commit.
+
+Daniel Stenberg (9 Feb 2012)
+- [Rob Ward brought this change]
+
+  configure: don't modify LD_LIBRARY_PATH for cross compiles
+
+- --ssl-allow-beast added
+  
+  This new option tells curl to not work around a security flaw in the
+  SSL3 and TLS1.0 protocols. It uses the new libcurl option
+  CURLOPT_SSL_OPTIONS with the CURLSSLOPT_ALLOW_BEAST bit set.
+
+- CURLOPT_SSL_OPTIONS: added
+  
+  Allow an appliction to set libcurl specific SSL options. The first and
+  only options supported right now is CURLSSLOPT_ALLOW_BEAST.
+  
+  It will make libcurl to disable any work-arounds the underlying SSL
+  library may have to address a known security flaw in the SSL3 and TLS1.0
+  protocol versions.
+  
+  This is a reaction to us unconditionally removing that behavior after
+  this security advisory:
+  
+  http://curl.haxx.se/docs/adv_20120124B.html
+  
+  ... it did however cause a lot of programs to fail because of old
+  servers not liking this work-around. Now programs can opt to decrease
+  the security in order to interoperate with old servers better.
+
+- [Dave Reisner brought this change]
+
+  curl: use new library-side TCP_KEEPALIVE options
+  
+  Use the new library CURLOPT_TCP_KEEPALIVE rather than disabling this via
+  the sockopt callback. If --keepalive-time is used, apply the value to
+  CURLOPT_TCP_KEEPIDLE and CURLOPT_TCP_KEEPINTVL.
+
+- [Dave Reisner brought this change]
+
+  add library support for tuning TCP_KEEPALIVE
+  
+  This adds three new options to control the behavior of TCP keepalives:
+  
+  - CURLOPT_TCP_KEEPALIVE: enable/disable probes
+  - CURLOPT_TCP_KEEPIDLE: idle time before sending first probe
+  - CURLOPT_TCP_KEEPINTVL: delay between successive probes
+  
+  While not all operating systems support the TCP_KEEPIDLE and
+  TCP_KEEPINTVL knobs, the library will still allow these options to be
+  set by clients, silently ignoring the values.
+
+- curl_easy_reset: reset the referer string
+  
+  When CURLOPT_REFERER has been used, curl_easy_reset() did not properly
+  clear it.
+  
+  Verified with the new test 598
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3481551
+  Reported by: Michael Day
+
+Yang Tse (7 Feb 2012)
+- curl tool: allow glob-loops to abort again upon critical errors
+  
+  This prevents clobbering of non recoverable error return codes while
+  retaining intended functionality of commit 65103efe
+
+Daniel Stenberg (6 Feb 2012)
+- curl tool: don't abort glob-loop due to failures
+  
+  We want to continue to the next URL to try even on failures returned
+  from libcurl. This makes -f with ranges still get subsequent URLs even
+  if occasional ones return error. This was a regression as it used to
+  work and broke in the 7.23.0 release.
+  
+  Added test case 1328 to verify the fix.
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3481223
+  Reported by: Juan Barreto
+
+- CONNECT: send correct Host: with IPv6 numerical address
+  
+  When the target host was given as a IPv6 numerical address, it was not
+  properly put within square brackets for the Host: header in the CONNECT
+  request. The "normal" request did fine.
+  
+  Reported by: "zooloo"
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3482093
+
+- [Martin Storsjo brought this change]
+
+  Explicitly link to the nettle/gcrypt libraries
+  
+  When support for nettle was added in 64f328c787ab, I overlooked
+  the fact that AC_CHECK_LIB doesn't add the tested lib to LIBS
+  if the check succeeded, if a custom success code block was present.
+  (The previous version of the check had an empty block for
+  successful checks, adding the lib to LIBS implicitly.)
+  
+  Therefore, explicitly add either nettle or gcrypt to LIBS, after
+  deciding which one to use. Even if they can be linked in
+  transitively, it is safer to actually link explicitly to them.
+  
+  This fixes building with gnutls with linkers that don't allow
+  linking transitively, such as for windows.
+
+- [Pierre Ynard brought this change]
+
+  more resilient connection times among IP addresses
+  
+  When connecting to a domain with multiple IP addresses, allow different,
+  decreasing connection timeout values. This should guarantee some
+  connections attempts with sufficiently long timeouts, while still
+  providing fallback.
+
+- [Pierre Ynard brought this change]
+
+  remove write-only variable
+
+Pierre Joye (26 Jan 2012)
+- Merge branch 'master' of github.com:bagder/curl
+
+- - fix IPV6 and IDN options
+
+Yang Tse (25 Jan 2012)
+- TODO-RELEASE: added item #308
+
+Daniel Stenberg (25 Jan 2012)
+- THANKS: imported contributors from 7.24.0 RELEASE-NOTES
+
+Yang Tse (25 Jan 2012)
+- test harness: update stunnel.pem Diffie-Hellman parameters from 512 to 1024 bit
+
+- version: start working on 7.24.1-DEV
+
+Dan Fandrich (24 Jan 2012)
+- curl_easy_setopt.3: Fixed SEEKDATA & CLOSESOCKETDATA descriptions
+
+Version 7.24.0 (24 Jan 2012)
+
+Daniel Stenberg (24 Jan 2012)
+- RELEASE-NOTES: synced with 70f71bb99f7ed9
+
+Version 7.24.0 (24 Jan 2012)
+  
+
+Version 7.24.0 (24 Jan 2012)
+  Synced and prepared for 7.24.0 release. Two security problems, one bug fix,
+
+Version 7.24.0 (24 Jan 2012)
+  two more contributors.
+
+- gnutls: enforced use of SSLv3
+  
+  With advice from Nikos Mavrogiannopoulos, changed the priority string to
+  add "actual priorities" and favour ARCFOUR. This makes libcurl work
+  better when enforcing SSLv3 with GnuTLS. Both in the sense that the
+  libmicrohttpd test is now working again but also that it mitigates a
+  weakness in the older SSL/TLS protocols.
+  
+  Bug: http://curl.haxx.se/mail/lib-2012-01/0225.html
+  Reported by: Christian Grothoff
+
+- tests: test CRLF in URLs
+  
+  Related to the security vulnerability: CVE-2012-0036
+  
+  Bug: http://curl.haxx.se/docs/adv_20120124.html
+
+- URL sanitize: reject URLs containing bad data
+  
+  Protocols (IMAP, POP3 and SMTP) that use the path part of a URL in a
+  decoded manner now use the new Curl_urldecode() function to reject URLs
+  with embedded control codes (anything that is or decodes to a byte value
+  less than 32).
+  
+  URLs containing such codes could easily otherwise be used to do harm and
+  allow users to do unintended actions with otherwise innocent tools and
+  applications. Like for example using a URL like
+  pop3://pop3.example.com/1%0d%0aDELE%201 when the app wants a URL to get
+  a mail and instead this would delete one.
+  
+  This flaw is considered a security vulnerability: CVE-2012-0036
+  
+  Security advisory at: http://curl.haxx.se/docs/adv_20120124.html
+  
+  Reported by: Dan Fandrich
+
+- OpenSSL: don't disable security work-around
+  
+  OpenSSL added a work-around for a SSL 3.0/TLS 1.0 CBC vulnerability
+  (http://www.openssl.org/~bodo/tls-cbc.txt). In 0.9.6e they added a bit
+  to SSL_OP_ALL that _disables_ that work-around despite the fact that
+  SSL_OP_ALL is documented to do "rather harmless" workarounds.
+  
+  The libcurl code uses the SSL_OP_ALL define and thus logically always
+  disables the OpenSSL fix.
+  
+  In order to keep the secure work-around workding, the
+  SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS bit must not be set and this change
+  makes sure of this.
+  
+  Reported by: product-security at Apple
+
+- RELEASE-NOTES: synced with 6e2fd2c9ea
+  
+  3 more bugfixes, 3 more contributors
+
+- CURLOPT_ACCEPTTIMEOUT_MS: spellfix
+
+Dan Fandrich (20 Jan 2012)
+- examples: updated README with two new example programs
+
+Daniel Stenberg (20 Jan 2012)
+- URL parse: user name with ipv6 numerical address
+  
+  Using a URL with embedded user name and password didn't work if the host
+  was given as a numerical IPv6 string, like ftp://user:password@[::1]/
+  
+  Reported by: Brandon Wang
+  Bug: http://curl.haxx.se/mail/archive-2012-01/0047.html
+
+Yang Tse (20 Jan 2012)
+- telnet.c: fix OOM triggered segfault
+
+- testtrace.c: fix compiler warning
+
+- OpenSSL: follow-up for commit a20daf90e3
+  
+  avoid checking preprocessor definition official value
+
+Pierre Joye (19 Jan 2012)
+- - s, use, enable, for options name, avoiding conflicts with the names used in the makefile
+
+Daniel Stenberg (19 Jan 2012)
+- curl.1: improve --stderr wording
+  
+  As is pointed out in this bug report, there can indeed be situation
+  where --stderr has a point even when the "real" stderr can be
+  redirected. Remove the superfluous and wrong comment.
+  
+  bug: http://curl.haxx.se/bug/view.cgi?id=3476020
+
+- KNOWN_BUGS: can't receive zero bytes file properly
+  
+  http://curl.haxx.se/bug/view.cgi?id=3438362
+
+Yang Tse (18 Jan 2012)
+- ssl session caching: fix compiler warnings
+
+Daniel Stenberg (18 Jan 2012)
+- polarssl: show cipher suite name correctly with 1.1.0
+  
+  Apparently ssl_get_ciphersuite() is needed to get the name of the used
+  cipher suite.
+
+- polarssl: show error code correctly
+  
+  The value was turned negative when it shouldn't have been
+
+- polarssl: havege_rand is not present in version 1.1.0
+  
+  ... it is now named havege_random!
+  
+  Reported by: Robert Schumann
+  Bug: http://curl.haxx.se/mail/lib-2012-01/0178.html
+
+- RELEASE-NOTES: synced with 5d70a61b94604
+  
+  5 more bug fixes, 1 more contributor
+
+- [Colin Hogben brought this change]
+
+  Add two tests for telnet: URLs
+  
+  Add simple telnet tests which (ab)use the http server.
+  The second test checks for an input file handling bug.
+
+- [Colin Hogben brought this change]
+
+  Remove bogus optimisation of telnet upload.
+  
+  Remove wrongly implemented optimisation of telnet upload, apparently
+  intended to allow the library to avoid manually polling for input.
+
+- [Colin Hogben brought this change]
+
+  Use correct file descriptor for telnet upload.
+  
+  Fix a bug where input was read from stdin even when a different FILE *
+  had been configured via CURLOPT_READDATA
+
+Yang Tse (18 Jan 2012)
+- OpenLDAP: fix LDAP connection phase memory leak
+  
+  bug: http://curl.haxx.se/bug/view.cgi?id=3474308
+
+- [Johannes Bauer brought this change]
+
+  OpenSSL: fix PKCS#12 certificate parsing related memory leak
+  
+  Leak triggered when CURLOPT_SSLCERTTYPE and CURLOPT_SSLKEYTYPE set to P12
+  and both CURLOPT_SSLCERT and CURLOPT_SSLKEY point to the same PKCS#12 file.
+
+- OpenSSL: SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG option is no longer enabled
+  
+  SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG option enabling allowed successfull
+  interoperability with web server Netscape Enterprise Server 2.0.1 released
+  back in 1996 more than 15 years ago.
+  
+  Due to CVE-2010-4180, option SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG has
+  become ineffective as of OpenSSL 0.9.8q and 1.0.0c. In order to mitigate
+  CVE-2010-4180 when using previous OpenSSL versions we no longer enable
+  this option regardless of OpenSSL version and SSL_OP_ALL definition.
+
+- tests: enable time tracing on tests 500, 573 and 585
+
+- tests: testtrace.[ch] provides debug callback for libtest usage
+  
+  Allows tests from the libtest subdir to generate log traces
+  similar to those of curl with --tracetime and --trace-ascii
+  options but with output going to stderr.
+
+- sws.c: fix proxy mode secondary connection monitoring condition
+
+- add LF termination to infof() trace string
+
+- sws.c: improve proxy mode torture testing support - followup to 18c6c8a5
+
+Daniel Stenberg (16 Jan 2012)
+- url2file: new simple example
+  
+  Just showing how to download the contents of a given URL into a local
+  file.
+  
+  Based on a suggestion and example code by Georg Potthast
+
+- imap.c: a dead simple imap example
+  
+  Just to show that IMAP is used just like other protocols
+
+Yang Tse (16 Jan 2012)
+- sws.c: improve proxy mode torture testing support - followup to c731fc58
+
+- sws.c: improve proxy mode torture testing support - followup to d4bf87dc
+
+- Curl_proxyCONNECT() trace known bug #39
+
+Daniel Stenberg (14 Jan 2012)
+- test: verify HTTP response code 308
+  
+  This newly speced HTTP status code already works as intended in the new
+  spec:
+  http://greenbytes.de/tech/webdav/draft-reschke-http-status-308-02.html
+  
+  Test 1325 is added to verify that the method is kept after the redirect
+
+Yang Tse (13 Jan 2012)
+- http_negotiate_sspi.c: fix compiler warning
+
+- ssh.c: fix compiler warning
+
+- sws.c: improve proxy mode torture testing support
+
+Daniel Stenberg (12 Jan 2012)
+- RELEASE-NOTES: synced with 9f20379fe4
+  
+  5 bug fixes, 3 more contributors
+
+- hostip: avoid getaddrinfo when c-ares is used
+  
+  Some functions using getaddrinfo and gethostbyname were still
+  mistakingly being used/linked even if c-ares was selected as resolver
+  backend.
+  
+  Reported by: Arthur Murray
+  Bug: http://curl.haxx.se/mail/lib-2012-01/0160.html
+
+Yang Tse (9 Jan 2012)
+- sws.c: replace sleep() usage with wait_ms()
+
+Daniel Stenberg (9 Jan 2012)
+- [gsengun brought this change]
+
+  FTP: CURLE_PARTIAL_FILE should not cause control connection to be closed
+  
+  Test 161 updated accordingly
+
+Yang Tse (8 Jan 2012)
+- sws.c: some compiler warning fixes
+
+- lib/setup.h: portable symbolic names for Winsock shutdown() mode flags
+
+- sws.c: 812fa73057 follow-up
+
+- sws.c: some IPv6 proxy mode peparatory adjustments
+
+Daniel Stenberg (5 Jan 2012)
+- curl.h: provide backwards compatible symbols
+  
+  In commit c834213ad52 we re-used some obsolete error codes, and here are
+  two defines that makes sure existing source codes that happen to use any
+  of these deprecated ones will still compile.
+  
+  As usual, define CURL_NO_OLDIES to avoid getting these "precaution
+  defines".
+
+- win32-threaded-resolver: stop using a dummy socket
+  
+  Previously the code would create a dummy socket while resolving just to
+  have curl_multi_fdset() return something but the non-win32 version
+  doesn't do it this way and the creation and use of a socket that isn't
+  made with the common create-socket callback can be confusing to apps
+  using the multi_socket API etc.
+  
+  This change removes the dummy socket and thus will cause
+  curl_multi_fdset() to return with maxfd == -1 more often.
+
+- [Peter Sylvester brought this change]
+
+  OpenSSL: remove reference to openssl internal struct
+  
+  With this change, curl compiles with the new OPENSSL_NO_SSL_INTERN
+  cflag. This flag might become the default in some distant future.
+
+Yang Tse (4 Jan 2012)
+- test1320 test1321: avoid User-Agent comparison
+
+- httpserver.pl: reorder sws command line options
+  
+  make 'pidfile' and 'logfile' options appear first on command line in order
+  to ensure that processing of other options which write to logfile do this
+  to intended file and not the default one.
+
+- sws.c: fix proxy mode segfault
+
+- tool_formparse.c: fix compiler warning: enumerated type mixed with another type
+
+- krb5.c: fix compiler warning: variable set but not used
+
+Daniel Stenberg (4 Jan 2012)
+- KNOWN_BUGS: #77 CURLOPT_FORBID_REUSE kills NTLM
+
+- [Steve Holme brought this change]
+
+  Fixed use of CURLUSESSL_TRY for POP3 and IMAP based connections.
+  
+  Fixed a problem in POP3 and IMAP where a connection would fail when
+  CURLUSESSL_TRY was specified for a server that didn't support
+  SSL/TLS connections rather than continuing.
+
+- [Steve Holme brought this change]
+
+  Fixed incorrect error code being returned in STARTTLS
+  
+  The STARTTLS response code in SMTP, POP3 and IMAP would return
+  CURLE_LOGIN_DENIED rather than CURLE_USE_SSL_FAILED when SSL/TLS
+  was not available on the server.
+  
+  Reported by: Gokhan Sengun
+  Bug: http://curl.haxx.se/mail/lib-2012-01/0018.html
+
+- curl_easy_setopt: refer to the most recent URI RFC
+
+- RELEASE-NOTES: synced with 2f4a487a68
+  
+  Two bugfixes, two more contributors
+
+- tests: test IMAP, POP3 and SMTP over HTTP proxy tunnel
+
+- test proxy supports CONNECT
+  
+  There's a new 'http-proxy' server for tests that runs on a separate port
+  and lets clients do HTTP CONNECT to other ports on the same host to
+  allow us to test HTTP "tunneling" properly.
+  
+  Test cases now have a <proxy> section in <verify> to check that the
+  proxy protocol part matches correctly.
+  
+  Test case 80, 83, 95, 275, 503 and 1078 have been converted. Test 1316
+  was added.
+
+- curl_easy_strerror.3: minor synopsis edit of the look
+
+Yang Tse (2 Jan 2012)
+- hostip.c: fix potential write past the end of string buffer
+
+- hostip.c: fix Curl_loadhostpairs() OOM handling
+
+- runtests.pl: on test failure, don't show trace log files of other tests
+
+Daniel Stenberg (1 Jan 2012)
+- Curl_input_negotiate: use the correct buffer for input
+  
+  Unfortunately we have no test cases for this and I have no SSPI build or
+  server to verify this with. The change seems simple enough though.
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3466497
+  Reported by: Patrice Guerin
+
+- runtests: put trace outputs in log/trace[num] for all tests
+
+- just a stupid typo
+
+- SFTP dir: increase buffer size counter
+  
+  When the buffer gets realloced to hold the file name in the
+  SSH_SFTP_READDIR_LINK state, the counter was not bumped accordingly.
+  
+  Reported by: Armel Asselin
+  Patch by: Armel Asselin
+  Bug: http://curl.haxx.se/mail/lib-2011-12/0249.html
+
+- RELEASE-NOTES: synced with 81ebdd9e287
+  
+  6 more bugfixes, 3 more contributors
+
+- create_hostcache_id: use the key lower cased
+  
+  ... to make sure the DNS cache is properly case insensitive
+
+- changed case: use new host name for subsequent HTTP requests
+  
+  When a HTTP connection is re-used for a subsequent request without
+  proxy, it would always re-use the Host: header of the first request. As
+  host names are case insensitive it would make curl send another host
+  name case that what the particular request used.
+  
+  Now it will instead always use the most recent host name to always use
+  the desired casing.
+  
+  Added test case 1318 to verify.
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-12/0314.html
+  Reported by: Alex Vinnik
+
+- CURLOPT_RESOLVE: avoid adding already present host names
+  
+  The load host names to DNS cache function was moved to hostip.c and it
+  now makes sure to not add host names that already are present in the
+  cache. It would previously lead to memory leaks when for example using
+  the --resolve and multiple URLs on the command line.
+
+Dan Fandrich (31 Dec 2011)
+- runtests.pl: Use logmsg more consistently
+
+Daniel Stenberg (30 Dec 2011)
+- [Alessandro Ghedini brought this change]
+
+  examples: update README, Makefile.inc and gitignore with pop3s examples
+
+- [Alessandro Ghedini brought this change]
+
+  examples: add a couple of simple pop3s examples
+  
+  These examples show how to fetch a single message (RETR command) and how to
+  list all the messages in a given mailbox (LIST command), with authentication
+  via SSL.
+  
+  They were both based on the https.c example.
+
+Yang Tse (30 Dec 2011)
+- removed execute file permission
+
+- removed trailing whitespace
+
+- ftpserver.pl: arbitrary application data splitting among TCP packets [II]
+  
+  Take in account that 'pingpong' server commands may arrive splitted among
+  several sockfilt 'DATA' PDU's.
+
+- ftpserver.pl: arbitrary application data splitting among TCP packets [I]
+  
+  Initial step in order to allow our pingpong server to better support arbitrary
+  application data splitting among TCP packets. This first commit only addresses
+  reasembly of data that sockfilter processes reads from soockets and pingpong
+  server later reads from sockfilters stdout.
+
+- testcurl.pl: 82c344a3 follow-up
+
+- testcurl.pl: log ACLOCAL_FLAGS
+
+- testcurl.pl: third party m4 warnings filtering adjustment
+  
+  Make testcurl.pl ignore messages pertaining to third party m4 files we don't
+  care nor use on a file basis policy while retaining all other warnings.
+  
+  This closes temporary commit e71e226f
+
+Kamil Dudka (25 Dec 2011)
+- transfer: avoid unnecessary timeout event when waiting for 100-continue
+  
+  The commit 9dd85bc unintentionally changed the way we compute the time
+  spent waiting for 100-continue.  In particular, when using a SSL client
+  certificate, the time spent by SSL handshake was included and could
+  cause the CURL_TIMEOUT_EXPECT_100 timeout to be mistakenly fired up.
+  
+  Bug: https://bugzilla.redhat.com/767490
+  Reported by: Mamoru Tasaka
+
+Yang Tse (25 Dec 2011)
+- transfer.c: move a logging statement placement
+
+- hash.c: fix OOM triggered segfault
+
+Daniel Stenberg (24 Dec 2011)
+- ftp_do_more: don't return success until all is done
+  
+  ftp_do_more() returns after accepting the server connect however it
+  needs to fall through and set "*complete" to TRUE before exit from the
+  function.
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-12/0250.html
+  Reported by: Gokhan Sengun
+
+- Curl_do_more: fix typo logic
+  
+  In the recent do_more fix the new logic was mistakenly checking the
+  pointer instead of what it points to.
+  
+  Reported by: Gokhan Sengun
+  Bug: http://curl.haxx.se/mail/lib-2011-12/0250.html
+
+- SFTP mkdir: use correct permission
+  
+  When sending quote command to a SFTP server and 'mkdir' was used, it
+  would send fixed permissions and not use the CURLOPT_NEW_DIRECTORY_PERMS
+  as it should.
+  
+  Reported by: Armel
+  Patch by: Armel
+  Bug: http://curl.haxx.se/mail/lib-2011-12/0249.html
+
+Yang Tse (23 Dec 2011)
+- buildconf: minor tweaks commit 430527a1 follow-up
+
+Daniel Stenberg (23 Dec 2011)
+- [Colin Hogben brought this change]
+
+  Require a less ancient version of perl
+  
+  The INTERNALS document suggested that compatibility should be
+  maintained with perl version 4, but this was untrue - scripts such as
+  chksource.pl and runtests.pl use perl5-isms.
+
+- resolve: don't leak pre-populated dns entries
+  
+  CURLOPT_RESOLVE populates the DNS cache with entries that are marked as
+  eternally in use. Those entries need to be taken care of when the cache
+  is killed off.
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3463121
+  Reported by: "tw84452852"
+
+- new test: verify --resolve
+  
+  Test 1317 verifies --resolve (leaked memory)
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3463121
+  Reported by: "tw84452852"
+
+Yang Tse (23 Dec 2011)
+- testcurl.pl: temporary change
+  
+  Allow autobuilds to run a couple of days without filtering out aclocal
+  underquoted definition warnings.
+
+Daniel Stenberg (21 Dec 2011)
+- operate: removed a single trailing space
+
+Dan Fandrich (21 Dec 2011)
+- --retry: Retry transfers on timeout and DNS errors
+
+Yang Tse (21 Dec 2011)
+- buildconf: minor tweaks
+
+- formdata.c: OOM handling fixes
+
+Daniel Stenberg (21 Dec 2011)
+- TODO: 1.7 Happy Eyeball dual stack connect
+
+Dan Fandrich (20 Dec 2011)
+- runtests.pl: Fixed perl warning when using the -l option
+
+Daniel Stenberg (20 Dec 2011)
+- RELEASE-NOTES: added two references
+
+- Curl_socket_check: enlarge poll struct array to 3
+  
+  This function was introduced in commit 5527417afae0 and as pointed out
+  by Gokhan Sengun, the array with poll structs must large enough to hold
+  3 sockets since that is what the function can accept. It could be noted
+  that he had this fixed in his patch as posted in
+  http://curl.haxx.se/mail/lib-2011-12/0179.html
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-12/0228.html
+  Reported by: Gokhan Sengun
+
+- RELEASE-NOTES: synced with 380bade777
+  
+  5 new bugfixes, 2 new changes and 4 new contributors
+
+- TODO: remove active FTP from section 2.1
+  
+  It is no longer done blocking in the multi interface
+
+- libcurl docs: add the new FTP accept option + errors
+
+- timeleft_accept: ack global timeout, moved to ftp.c
+  
+  First off the timeout for accepting a server connect back must of course
+  respect a global timeout. Then the timeleft function is only used by ftp
+  code so it was moved to ftp.c and made static.
+
+- libcurl-tutorial.3: curl doesn't sent pragma no-cache
+  
+  It did a long time ago
+
+- libcurl-multi.3: active FTP is no longer blocking!
+
+- FTP: move FTP-specific struct field to ftpc_conn
+  
+  "wait_data_conn" was added to the connectionbits in commit c834213ad5 for
+  handling active FTP connections but as it is purely FTP specific and now
+  only ever accessed by ftp.c I moved it into the FTP connection struct.
+
+- non-blocking active FTP: cleanup multi state usage
+  
+  Backpedaled out the funny double-change of state in the multi state
+  machine by adding a new argument to the do_more() function to signal
+  completion. This way it can remain in the DO_MORE state properly until
+  done. Long term, the entire DO_MORE logic should be moved into the FTP
+  code and be hidden from the multi code as the logic is only used for
+  FTP.
+
+- [Gokhan Sengun brought this change]
+
+  FTP: perform active connections non-blocking
+  
+  1- Two new error codes are introduced.
+  
+  CURLE_FTP_ACCEPT_FAILED to be set whenever ACCEPTing fails because of
+  FTP server connected.
+  
+  CURLE_FTP_ACCEPT_TIMEOUT to be set whenever ACCEPTing timeouts.
+  
+  Neither of these errors are considered fatal and control connection
+  remains OK because it could just be a firewall blocking server to
+  connect to the client.
+  
+  2- One new setopt option was introduced.
+  
+  CURLOPT_ACCEPTTIMEOUT_MS
+  
+  It sets the maximum amount of time FTP client is going to wait for a
+  server to connect. Internal default accept timeout is 60 seconds.
+
+- sockets: new Curl_socket_check() can wait for 3 sockets
+  
+  This offers an alternative to the existing Curl_socket_ready() API which
+  only checks one socket for read and one for write.
+
+- [Cédric Deltheil brought this change]
+
+  curl.h: add __ANDROID__ macro check
+  
+  When working with the Android Standalone Toolchain the compiler defines
+  this macro:
+  
+    /path/to/arm-linux-androideabi-gcc -E -dM - < /dev/null \
+    | grep -i android
+    #define __ANDROID__ 1
+  
+  We really need to check both ANDROID and __ANDROID__ since I've observed
+  that:
+  
+  * if you use Android.mk file(s) and the 'ndk-build' script (aka vanilla
+  way), ANDROID is predefined (see -DANDROID extra C flag),
+  
+  * if you use the Android Standalone Toolchain, then __ANDROID__ is
+  predefined as stated by the compiler
+
+- lib500: verify timers relative each other
+  
+  As commit ce896875f8 fixed a timer that accidentally had been moved in
+  code and then returned a bad timer, the lib500.c code (used in test 500
+  and some others) now verifies 5 timers against each other to verify that
+  they have the correct relative values. We cannot compare against
+  absolute values as the timings will vary a lot.
+
+- Curl_pgrsTime: store now in an auto variable
+  
+  It makes it easier to introduce debug outputs in this function, and
+  everything in the function is using the value anyway so it might even be
+  more efficient.
+
+- timer: restore PRETRANSFER timing
+  
+  Regression introduced in 7.23.0 with commit 9dd85bce. The function in
+  which the PRETRANSFER time stamp was recorded was moved in time causing
+  it be stored very quickly after the start timestamp. On most systems
+  shorter than 1 millisecond and thus it wouldn't even show with -w
+  "%{time_pretransfer}" using the command line tool.
+  
+  Bug: http://curl.haxx.se/mail/archive-2011-12/0022.html
+  Reported by: Toni Moreno
+
+- [Bernhard Reutner-Fischer brought this change]
+
+  libcurl.m4: Fix quoting arguments of AC_LANG_PROGRAM
+  
+  Parameters were underquoted, resulting in
+  warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
+  
+  Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
+
+- gitignore: ignore the symbol versioning file
+
+- tutorial: remove CURLM_CALL_MULTI_PERFORM add sharing
+  
+  The CURLM_CALL_MULTI_PERFORM reference is an old leftover I had to
+  remove.
+  
+  I also added some blurb to the previously blank "sharing" section.
+
+- [Alessandro Ghedini brought this change]
+
+  configure: add symbols versioning option
+  
+  Allow, at configure time, the production of versioned symbols. The
+  symbols will look like "CURL_<FLAVOUR>_<VERSION> <SYMBOL>", where
+  <FLAVOUR> represents the SSL flavour (e.g. OPENSSL, GNUTLS, NSS, ...),
+  <VERSION> is the major SONAME version and <SYMBOL> is the actual symbol
+  name. If no SSL library is enabled the symbols will be just
+  "CURL_<VERSION> <SYMBOL>".
+
+- [Sven Wegener brought this change]
+
+  Use Curl_ssl_connect for non-blocking connect fallback
+  
+  This gets the appconnect time right for ssl backends, which don't
+  support non-blocking connects.
+  
+  Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
+
+- RELEASE-NOTES: synced with af9bc1604c1
+  
+  One new feature, one bug fix. Introduced references in this file for
+  mentioned issues after this discussion:
+  http://curl.haxx.se/mail/lib-2011-12/0187.html
+  
+  The plan is to let the references get moved over to the changes.html
+  file at release-time
+
+- curl.1: minor white space cleanup
+
+- [Alessandro Ghedini brought this change]
+
+  docs: improve description of the --capath option
+  
+  Document the possibility of providing multiple values using the ":"
+  separator, and the fact that the default value will be ignored if the
+  option is used.
+
+- [Steve Holme brought this change]
+
+  DOCS: Added SMTP information to CURLOPT_INFILESIZE
+
+- Curl_proxyCONNECT: use newlines in debug output
+
+- curl -F: fix multiple file upload with custom type
+  
+  Test case 1315 was added to verify this functionality. When passing in
+  multiple files to a single -F, the parser would get all confused if one
+  of the specified files had a custom type= assigned.
+  
+  Reported by: Colin Hogben
+
+- [Colin Hogben brought this change]
+
+  New test for multiple file upload
+  
+  test 1315 checks correct behaviour when uploading multiple files.
+  Buggy behaviour has been seen where only two attachments are sent.
+
+Yang Tse (15 Dec 2011)
+- configure: libtool 1.5 tweaks
+
+Daniel Stenberg (15 Dec 2011)
+- [Colin Hogben brought this change]
+
+  Correct substitution var names
+  
+  Two variable names were wrong in the documentation.
+
+- [Colin Hogben brought this change]
+
+  Correct default upload mimetype in manual
+  
+  The default content-type for file uploads is application/octet-stream,
+  not text/plain as stated in the MANUAL.
+
+- [Alessandro Ghedini brought this change]
+
+  docs: fix typo in curl_easy_setopt manpage
+
+Yang Tse (13 Dec 2011)
+- if2ip.[ch]: fix compilation with MinGW
+  
+  Avoid 'interface' literal that some MinGW versions define as a macro
+
+- connect.c: fix compiler warning 'enumerated type is mixed with another type'
+
+- if2ip.c: fix compiler warning 'unused parameter'
+
+- pop3.c: fix compiler warning variable may be used uninitialized
+
+- if2ip.c: fix compiler warning 'enumerated type is mixed with another type'
+
+Daniel Stenberg (12 Dec 2011)
+- [Jason Glasgow brought this change]
+
+  CURLOPT_INTERFACE: avoid resolving interfaces names
+  
+  Do not try to resolve interfaces names via DNS by recognizing interface
+  names in a few ways.  If the interface option argument has a prefix of
+  "if!" then treat the argument as only an interface.  Similarly, if the
+  interface argument is the name of an interface (even if it does not have
+  an IP address assigned), treat it as an interface name.  Finally, if the
+  interface argument is prefixed by "host!" treat it as a hostname that
+  must be resolved by /etc/hosts or DNS.
+  
+  These changes allow a client using the multi interfaces to avoid
+  blocking on name resolution if the interface loses its IP address or
+  disappears.
+
+- RELEASE-NOTES: synced with 1259ccf7474
+  
+  5 more bugfixes, 5 more contributors
+
+- [Steve Holme brought this change]
+
+  ConnectionExists: Fix reuse for TLS upgraded connections
+  
+  Fixed the connection reuse detection in ConnectionExists() when
+  comparing a new connection that is non-SSL based against that of a SSL
+  based connection that has become so by being upgraded via TLS.
+
+- create_conn: don't switch to HTTP protocol if tunneling is enabled
+  
+  This is a regression since who knows when. When spotting that a HTTP
+  proxy is used we must not uncondititionally enable the HTTP protocol
+  since if we do tunneling through the proxy we're still using the target
+  protocol.
+  
+  Reported by: Naveen Chandran
+
+- FAQ: add --resolve details to question 3.19
+
+- [Gokhan Sengun brought this change]
+
+  Curl_closesocket: clear sock_accepted on close
+  
+  As a follow-up from commit d5b5f64bce3a8, clear the sock_accepted status
+  when such a socket is closed to avoid a re-used connection to retain the
+  state wrongly.
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-12/0079.html
+
+- static SSL windows builds: add more libs to the link
+  
+  Starting with some recent OpenSSL versions (1.0.0e was mentioned)
+  linking with a static openssl requires a set of more libs to be linked
+  on Windows.
+  
+  Thanks also to Steve Holme and Martin Storsjö for additional feedback.
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-12/0063.html
+  Reported by: Ward Willats
+
+- [Gokhan Sengun brought this change]
+
+  multi interface: fix block when CONNECT_ONLY option is used
+
+Dan Fandrich (6 Dec 2011)
+- Added some include files in a couple of example programs
+  
+  This improves portability of the examples.  This patch was
+  submitted to the OpenBSD ports collection by naddy.
+
+Daniel Stenberg (6 Dec 2011)
+- MakefileBuild: fix the static build
+  
+  This is a left-over fix from commit b7e242de0e that Tom Wright
+  suggested.
+  
+  Reported by: Ward Willats
+
+- OpenSSL: check for the SSLv2 function in configure
+  
+  If no SSLv2 was detected in OpenSSL by configure, then we enforce the
+  OPENSSL_NO_SSL2 define as it seems some people report it not being
+  defined properly in the OpenSSL headers.
+
+- CURLOPT_CONNECTTIMEOUT: default is 300 seconds
+  
+  If the option is set to 0, the default timeout will be used - which in
+  modern libcurl versions equals 300 seconds (== 5 minutes).
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-12/0051.html
+  Reported by: Vladimir Grishchenko
+
+- [Rob Ward brought this change]
+
+  progress function example: include timed interval
+  
+  Adds a timer based off of CURLINFO_TOTAL_TIME that is used to perform
+  certain actions after a minimum amount of time has passed using the
+  progress function. As a consequence the curl handle is now also passed
+  into the progress function. Progress example now also includes an
+  example of how to retreive the TOTAL_TIME and print it out.
+
+- RELEASE-NOTES: synced with 347f951c390
+  
+  8 more bugs, 5 more contributors
+
+- SSH: fix CURLOPT_SSH_HOST_PUBLIC_KEY_MD5
+  
+  When a 32 digit hex key is given as a hostkey md5 checksum, the code
+  would still run it against the knownhost check and not properly
+  acknowledge that the md5 should then be the sole guide for.
+  
+  The verbose output now includes the evaluated MD5 hostkey checksum.
+  
+  Some related source code comments were also updated.
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3451592
+  Reported by: Reza Arbab
+
+- Curl_resolver_is_resolved: differentiate between host/proxy errors
+  
+  As there are different return codes for host vs proxy errors, this function
+  now properly returns the code properly depending on what was attempted to get
+  resolved.
+  
+  Bug: http://curl.haxx.se/mail/archive-2011-12/0010.html
+  Reported by: Jason Liu
+
+- c-ares: return proxy failure for all proxy types
+  
+  When making a distinction which return code to return, the code previously
+  only regarded HTTP proxies to be proxies and thus return host-related errors
+  for failures on other proxy types than HTTP. Now all proxy types will be
+  considered proxies...
+
+- FTP: close callback fix
+  
+  Keep track of which sockets that are the result of accept() calls and
+  refuse to call the closesocket callback for those sockets. Test case 596
+  now verifies that the open socket callback is called the same number of
+  times as the closed socket callback for active FTP connections.
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-12/0018.html
+  Reported by: Gokhan Sengun
+
+- FTP: call opensocket callback properly
+  
+  When the new socket is created for an active connection, it is now done
+  using the open socket callback.
+  
+  Test case 596 was modified to run fine, although it hides the fact that
+  the close callback is still called too many times, as it also gets
+  called for closing sockets that were created with accept().
+
+- Curl_socket: internal replacement for socket()
+  
+  Moved out into a separate function to work as a "generic" socket()
+  replacement.
+
+- test: verify the opensocket callback for FTP
+  
+  test 595: for passive FTP
+  test 596: for active FTP
+
+- [Jason Glasgow brought this change]
+
+  CURLOPT_DNS_SERVERS: set name servers if possible (fix)
+  
+  Ensure that CURLE_OK is returned if setting the name servers is successfull.
+
+- multi interface: only use non-NULL function pointer!
+  
+  If the socket callback function pointer hasn't been set, we must not
+  attempt to use it. Commit adc88ca20 made it more likely to occur.
+
+- [Jason Glasgow brought this change]
+
+  multi: handle timeouts on DNS servers by checking for new sockets
+  
+  If the first name server is not available, the multi interface does
+  not invoke the socket_cb when the DNS request to the first name server
+  timesout.  Ensure that the list of sockets are always updated after
+  calling Curl_resolver_is_resolved.
+  
+  This bug can be reproduced if Curl is complied with --enable_ares and
+  your code uses the multi socket interfaces and the
+  CURLMOPT_SOCKETFUNCTION option.  To test try:
+    iptables -I INPUT \
+             -s $(sed -n -e '/name/{s/.* //p;q}' /etc/resolv.conf)/32 \
+             -j REJECT
+  and then run a program which uses the multi-interface.
+
+- test 815: verify POP3 dot-first-on-line unescaping
+
+- [Steve Holme brought this change]
+
+  POP3: fixed escaped dot not being striped out
+  
+  Changed the eob detection to work across the whole of the buffer so that
+  lines that begin with a dot (which the server will have escaped) are
+  passed to the client application correctly.
+
+Yang Tse (30 Nov 2011)
+- buildconf: follow-up for commit 7e02f7fd
+
+- buildconf: fix libtool 1.5.x warnings triggered with autoconf 2.6x or later
+  
+  Using libtool 1.5.x (x < 26) with autoconf 2.6x or later generates warnings
+  due to some libtool variables not following naming convention for variables
+  that will be cached.
+  
+  This is addressed renaming a couple of variables to make these follow expected
+  naming convention.
+
+Daniel Stenberg (30 Nov 2011)
+- RELEASE-NOTES: synced with 1038d0aa1
+  
+  5 bugfixes and 1 new contributor
+
+Yang Tse (29 Nov 2011)
+- pop3.c: fix compiler warning
+
+- configure: avoid usage of macro PKG_CHECK_MODULES
+  
+  libidn option adjusted in order to use pkg-config info when available
+  in a similar way as we already do for other libraries.
+
+Daniel Stenberg (29 Nov 2011)
+- POP3: detect when LIST returns no mails
+  
+  By making sure the function can detect an "end of body" sequence
+  immediately on the first line, test 811 is now enabled.
+
+- ftpserver: output CRLF in logs
+  
+  Previously the log function would just filter out all CR and LF
+  occurances from the log to make it more readable. This had the downside
+  that it made it very hard to see CR LFs when they actually matters.
+  
+  Now, they're instead converted to "[CR]" and "[LR]" in the log to become
+  apparent to readers.
+
+- POP3: fix end of body detection
+  
+  Curl_pop3_write() now has a state machine that scans for the end of a
+  POP3 body so that the CR LF '.' CR LF sequence can come in everything
+  from one up to five subsequent packets.
+  
+  Test case 810 is modified to use SLOWDOWN which makes the server pause
+  between each single byte and thus makes the POP3 body get sent to curl
+  basically one byte at a time.
+
+- test: added POP3 test with dot-prefixed line
+  
+  Test 815 is disabled for now since libcurl currently doesn't unescape
+  such lines the way it should. See mail:
+  
+  http://curl.haxx.se/mail/lib-2011-11/0324.html
+
+- configure: fix to make older pkg-config play well
+  
+  configure.ac:1349: error: possibly undefined macro: PKG_CONFIG_LIBDIR
+  
+  Obviously this is not a problem with pkg-config 0.26 but older versions
+  seem to show this.
+  
+  Fix suggested by: Kamil Dudka
+  Reported by: Guenter
+  Bug: http://curl.haxx.se/mail/lib-2011-11/0298.html
+
+- test 1211: FTP test to repeat bug #3429299
+  
+  "Active FTP hangs if server does not open data connection"
+  
+  The server first sends a 150 and then when libcurl waits for the data
+  transfer, the server sends a 425.
+
+- [Mark Brand brought this change]
+
+  configure: add support for pkg-config detection of libidn
+
+- FTP tests 1206 - 1209: don't expect QUIT
+  
+  The protocol parts for these tests do not include QUIT simply because
+  the error is CURLE_OPERATION_TIMEDOUT (28) which is a generic timeout
+  error without specificly saying for which connection it concerns, and
+  for timeouts libcurl marks the control channel as "invalid". As this
+  test case times out for the data connection it could still use the
+  control channel.
+
+Yang Tse (25 Nov 2011)
+- CyaSSL 2.0+ library initialization adjustment
+
+Daniel Stenberg (25 Nov 2011)
+- [Jonas Schnelli brought this change]
+
+  rectify comment
+
+- SSLSESSION_SHARED: new macro to check if session is shared
+  
+  Added convenience macro to use to check if a handle is using a shared
+  SSL session, and fixed so that Curl_ssl_close_all() doesn't lock when
+  the session isn't shared.
+
+Yang Tse (25 Nov 2011)
+- telnet.c: fix MSVC compiler warning
+
+- tvdiff_secs(): sub-zero time difference adjustment
+  
+  Skip a floating point addition operation when integral part of time difference
+  is zero. This avoids potential floating point addition rounding problems while
+  preserving decimal part value.
+
+Daniel Stenberg (25 Nov 2011)
+- telnet: fix macros to allow proper semicolon use
+  
+  Macros that look like function calls need to be made so that we can use
+  semicolons properly for indentation and for reducing the risk for
+  mistakes when using them.
+
+- [Laurent Rabret brought this change]
+
+  TELNET: improved treatment of options
+  
+  1) enables the Window Size option
+  2) allows the server to enable the echo mode
+  3) allows an app using libcurl to disable the default binary mode
+  
+  Signed-off-by: Laurent Rabret
+
+- RELEASE-NOTES: synced with 2c905fd1f82
+
+- [Jonas Schnelli brought this change]
+
+  query-part: ignore the URI part for given protocols
+  
+  By setting PROTOPT_NOURLQUERY in the protocol handler struct, the
+  protocol will get the "query part" of the URL cut off before the data is
+  handled by the protocol-specific code. This makes libcurl adhere to
+  RFC3986 section 2.2.
+  
+  Test 1220 is added to verify a file:// URL with query-part.
+
+- symbols.pl: provide LIBCURL_HAS macro for apps
+  
+  Experience has shown that the symbols-in-versions file is very useful to
+  applications that want to build with a wide range of libcurl versions.
+  It is however easy to get it wrong and the source gets a bit messy with
+  all the fixed numerical comparisions.
+  
+  The point of this script is to provide an easy-to-use macro for libcurl-
+  using applications to do preprocessor checks for specific libcurl
+  defines, and yet make the code clearly show what the macro is used for.
+
+Yang Tse (24 Nov 2011)
+- lib573.c: fix double data type variable comparison with zero
+
+- getinfo.c: reset app connect time when clearing session-info time variables
+
+- Fix unreleased regression when using windows gnutls versions older than 2.8
+
+Daniel Stenberg (23 Nov 2011)
+- [Mark Brand brought this change]
+
+  gnutls: only translate winsock errors for old versions
+  
+  Bugfix: https handshake fails using gnutls 3 on windows
+  http://sourceforge.net/tracker/index.php?func=detail&aid=3441084&group_id=976&atid=100976
+  
+  New gnutls versions have an error handler that knows about Winsock
+  errors, which is why gnutls_transport_set_global_errno() was deprecated
+  and then removed.
+  
+  This is a correction of commit f5bb370 (blame me) which meant to
+  reimplement gnutls_transport_set_global_errno(), which is not necessary.
+
+- protocol_connect: show verbose connect and set connect time
+  
+  Regression: commit b998d95b (shipped first in release 7.22.0) made the
+  condition always equal false that should reset the TIMER_CONNECT timer
+  and call the Curl_verboseconnect() function.
+  
+  Reported by: "Captain Basil"
+  Bug: http://curl.haxx.se/mail/archive-2011-11/0035.html
+
+- -J -O: use -O name if no Content-Disposition header comes!
+  
+  A regression between 7.22.0 and 7.23.0 -- downloading a file with the
+  flags -O and -J results in the content being written to stdout if and
+  only if there was no Content-Disposition header in the http response. If
+  there is a C-D header with a filename attribute, the output is correctly
+  written.
+  
+  Reported by: Dave Reisner
+  Bug: http://curl.haxx.se/mail/archive-2011-11/0030.html
+
+- [Martin Storsjo brought this change]
+
+  Add support for using nettle instead of gcrypt as gnutls backend
+
+- [Jonas Schnelli brought this change]
+
+  test: SFTP quote commands with * prefix
+  
+  Related to the f64812ca63 commit
+
+- CURLOPT_QUOTE: SFTP supports the '*'-prefix now
+
+- [Jonas Schnelli brought this change]
+
+  SFTP: support '*' prefix for quote operations
+  
+  prefixing a command with '*' means it is allowed to fail without
+  aborting the chain actions
+
+- getsessionid: don't ever return while locked
+  
+  Also, check for the session sharing bit instead of comparing pointers
+
+- Curl_ssl_getsessionid: increase the value, not the pointer
+
+- THANKS: one new contributor in 7.23.1
+
+- [Alejandro Alvarez Ayllon brought this change]
+
+  SSL session share: move the age counter to the share object
+  
+  Previously the age counter would be counted individually in each easy
+  handle that shared SSL sessions!
+
+- [Alejandro Alvarez Ayllon brought this change]
+
+  libtest build: add the missing lib586
+
+- [Jason Glasgow brought this change]
+
+  CURLOPT_DNS_SERVERS: set name servers if possible
+
+- RELEASE-NOTES: correct the release and contributor numbers
+
+Version 7.23.1 (17 Nov 2011)
+
+Daniel Stenberg (17 Nov 2011)
+- FindWin32CACert: return OK even if CA cert isn't found
+
+Version 7.23.1 (17 Nov 2011)
+  
+
+Version 7.23.1 (17 Nov 2011)
+  Bug: http://curl.haxx.se/mail/lib-2011-11/0180.html
+
+Version 7.23.1 (17 Nov 2011)
+  Reported by: Mark Brand
+
+Dan Fandrich (16 Nov 2011)
+- curl has been built on many Android versions
+
+Daniel Stenberg (15 Nov 2011)
+- 7.24.0: start the work
+
+- THANKS: added 18 new contributors from 7.23.0
+
+Version 7.23.0 (14 Nov 2011)
+
+Dan Fandrich (14 Nov 2011)
+- curl_easy_setopt arguments should be of type long in the examples
+
+Daniel Stenberg (12 Nov 2011)
+- RELEASE-NOTES: synced with 10120e6a
+  
+  one more bug fix and contributor
+
+- progress_cb: avoid buffer overflow
+  
+  The progress bar output function would blindly use the terminal width
+  without bounds checking. When using a very wide terminal that caused a
+  buffer overflow and segfault.
+  
+  We now limit the max bar with to 255 columns, and I simplified the code
+  to avoid an extra snprintf and buffer.
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3435710
+  Reported by: Alexey Zakhlestin
+
+Yang Tse (11 Nov 2011)
+- Active mode FTP test cases with server not establishing data connection
+  
+  591 -> FTP multi PORT and 425 on upload
+  592 -> FTP multi PORT and 421 on upload
+  593 -> FTP multi PORT upload, no data conn and no transient neg. reply
+  594 -> FTP multi PORT upload, no data conn and no positive prelim. reply
+  
+  1206 -> FTP PORT and 425 on download
+  1207 -> FTP PORT and 421 on download
+  1208 -> FTP PORT download, no data conn and no transient negative reply
+  1209 -> FTP PORT download, no data conn and no positive preliminary reply
+
+Guenter Knauf (8 Nov 2011)
+- Fix to skip untrusted certs.
+
+Daniel Stenberg (6 Nov 2011)
+- RELEASE-NOTES: synced with e3166df1bb3
+  
+  4 new bugfixes, 2 more contributors
+
+- ftp PORT: don't hang if bind() fails
+  
+  When the user requests PORT with a specific port or port range, the code
+  could lock up in an endless loop. There's now an extra conditional that
+  makes sure to special treat the error and try the local address only
+  once so a second failure will abort the loop correctly.
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3433968
+  Reported by: Gokhan Sengun
+
+- pingpong: change two comments wrongly referring "FTP"
+  
+  Just a sign of where the code originally was ripped out from. Now it is
+  generic "pingpong".
+
+- test 590: verify the bug fix in 4851dafcf1
+  
+  This test is created to verify Rene Bernhardt's patch which makes sure
+  libcurl properly _not_ deals with Negotiate if not asked to even if the
+  proxy says it can serve it.
+
+- [Rene Bernhardt brought this change]
+
+  HTTP auth: fix proxy Negotiate bug
+  
+  If a proxy offers several Authentication schemes where NTLM and
+  Negotiate are offered by the proxy and you tell libcurl not to use the
+  Negotiate scheme then the request never returns when the proxy answers
+  with its HTTP 407 reply.
+  
+  It is reproducible by the following steps:
+  
+  - Use a proxy that offers NTLM and Negotiate ( CURLOPT_PROXY and
+  CURLOPT_PROXYPORT )
+  
+  - Tell libcurl NOT to use Negotiate CURL_EASY_SETOPT(CURLOPT_PROXYAUTH,
+  CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_NTLM )
+  
+  - Start the request
+  
+  The call to CURL_EASY_PERFORM never returns. If you switch on debug
+  logging you can see that libcurl issues a new request As soon as it
+  received the 407 reply. Instead it should return and set the response
+  code to 407.
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-10/0323.html
+
+Yang Tse (4 Nov 2011)
+- ssluse.c: fix calling of OpenSSL's ERR_remove_state(0)
+  
+  Move calling of ERR_remove_state(0) a.k.a ERR_remove_thread_state(NULL)
+  from Curl_ossl_close_all() to Curl_ossl_cleanup().
+  
+  In this way ERR_remove_state(0) is now only called in libcurl by
+  curl_global_cleanup(). Previously it would get called by functions
+  curl_easy_cleanup(), curl_multi_cleanup and potentially each time a
+  connection was removed from a connection cache leading to premature
+  destruction of OpenSSL's thread local state hash.
+  
+  Multi-threaded apps using OpenSSL enabled libcurl should still call
+  function ERR_remove_state(0) or ERR_remove_thread_state(NULL) at the
+  very end end of threads that do not call curl_global_cleanup().
+
+- tool_cb_wrt.c: disambiguate warning message
+
+- tool_cfgable.c: pending check done
+
+- url.c and file.c: fix OOM triggered segfault
+
+Daniel Stenberg (3 Nov 2011)
+- rename ftp_ssl: the struct field is used for many protocols
+  
+  Now called 'use_ssl' instead, which better matches the current CURLOPT
+  name and since the option is used for all pingpong protocols (at least)
+  it makes sense to not use 'ftp' in the name.
+
+Yang Tse (2 Nov 2011)
+- [Daniel Stenberg brought this change]
+
+  gtls_connect_step1: remove use of deprecated functions
+  
+  Use gnutls_priority_set_direct() instead of gnutls_protocol_set_priority().
+  
+  Remove the gnutls_certificate_type_set_priority() use since x509 is the
+  default certificate type anyway.
+  
+  Reported by: Vincent Torri
+
+- url.c and transfer.c: nullify connection pointer when free()'ed
+
+- FTP test server: NODATACONN commands follow-up
+  
+  Make NODATACONN425 and NODATACONN421 return a 150 positive preliminary reply
+  before 425 or 421.
+  
+  New NODATACONN150 returns 150 without further positive nor negative reply
+  
+  Now NODATACONN doesn't reply anything at all.
+
+- multi.c: OOM handling fix
+
+- FTP test server: NODATACONN commands follow-up
+  
+  Make NODATACONN custom commands apply to both active and passive FTP,
+  and ensure 425 and 421 are not returned unless data channel usage is
+  attempted.
+
+- tool_cb_see.h: fix compiler warning
+
+- setup.h: fix compiler warning
+
+- FTP test server: NODATACONN commands commit c761fcb0 follow-up
+  
+  Adjustments that make NODATACONN custom commands fully usable.
+
+Daniel Stenberg (30 Oct 2011)
+- [Dave Reisner brought this change]
+
+  doc/curl.1: fix sentence with ending for -# option
+  
+  Try to be a little more descriptive about the effect of this flag,
+  rather than parroting what was said in the paragraph just above.
+
+Yang Tse (30 Oct 2011)
+- FTP test server: fix server unresponsiveness
+  
+  Some torture tests left FTP test server in an unresponsive state, resulting
+  in torture tests that actually completed following unexpected code paths.
+  
+  Changes in this commit solely address this issue and some adjustments for
+  ftpserver.pl logging relative to data channel establishment and tear down.
+  Pending NODATACONN relative adjustments reserved for a further commit.
+
+- runtests.pl: running server checks - commit 4464583a follow-up
+  
+  Ensure verification takes place with no server commands file.
+  Ignore verbose setting for running server precheck.
+  Tweak unresponsive server message, to allow detection by haxx.se scripts.
+
+- gtls.c: gnutls_transport_set_global_errno() deprecated in version 2.12.3
+
+- runtests.pl: running server checks - commit 3676ec96 follow-up
+  
+  Fix called sub when checking TFTP server, and adjust message.
+
+- runtests.pl: running server checks - commit 4464583a follow-up
+  
+  Extended server checks to others in addition to pingpong when torture testing.
+
+- lib589.c: add CURLOPT_READDATA missing stuff
+
+- ftpserver.pl: three new custom FTP server commands to disable data channel
+  
+  NODATACONN421: applies only to active FTP mode, instructs server to not
+  establish data connection back to client and reply with FTP 421.
+  
+  NODATACONN425: applies only to active FTP mode, instructs server to not
+  establish data connection back to client and reply with FTP 425.
+  
+  NODATACONN: applies to both active and passive FTP modes, instructs server
+  to not establish nor accept a data channel and fool client into believing
+  that the data channel connection is possible.
+  
+  Some polishing probably required.
+
+- multi.c: OOM handling fix
+  
+  Fix curl_multi_cleanup() segfault when using weird cleanup sequence.
+
+Daniel Stenberg (27 Oct 2011)
+- multi: start ftp state machine when switching to DO_MORE
+  
+  This extends the fix from commit d7934b8bd491
+  
+  When the multi state is changed within the multi_runsingle from DOING to
+  DO_MORE, we didn't immediately start the FTP state machine again. That
+  then left the FTP state in FTP_STOP. When curl_multi_fdset() was
+  subsequently called, the ftp_domore_getsock() function would return the
+  wrong fd info.
+  
+  Reported by: Gokhan Sengun
+
+- libcurl-multi.3: update the list of areas still blocking
+
+Yang Tse (26 Oct 2011)
+- test 589: active FTP upload using multi timeout and EPRT disabled server
+
+- multi tests: OOM handling fixes - commit 629d2e34 follow-up
+
+Patrick Monnerat (26 Oct 2011)
+- - Prepare the ILE/RPG binding and OS400 documentation for the upcoming release
+
+Daniel Stenberg (25 Oct 2011)
+- RELEASE-NOTES: synced with 4464583a6ed
+  
+  5 more bug fixes, 4 additional contributors
+
+Yang Tse (25 Oct 2011)
+- runtests.pl: running server checks
+  
+  When running torture tests, verify before each test case that required
+  pingpong servers which are supposed to be alive are actually responsive.
+  If found not responsive then restart them.
+
+Daniel Stenberg (24 Oct 2011)
+- dist: add test 587
+  
+  I created test 587 in commit 840eff44f2b but forgot to add the file to
+  the tarball. Added now.
+
+- test 588: verify active FTP with multi interface without EPRT
+  
+  This is using the verbatim 525 test code but it disables EPRT in the
+  server and this should work just as well anyway.
+
+- FTP server: allow EPRT by default
+  
+  EPRT is now supported by default by the server. To disable it, use the
+  generic REPLY instruction in the <servercmd> tag. Test 116 now has it
+  disabled. All other existing active FTP port tests strip out the port
+  commands from the logs already so the change of the server isn't that
+  noticable.
+
+Yang Tse (24 Oct 2011)
+- ftp.c: some OOM handling fixes
+
+- ftpserver.pl: ensure integral number usage for passive mode string
+
+Daniel Stenberg (24 Oct 2011)
+- large headers: have curl accept >16K headers
+  
+  As commit 5850cc4808ab clarifies, libcurl can deliver header lines that
+  are longer than CURL_MAX_WRITE_SIZE, only body data is limited to that
+  size. The curl tool has check (when built debug-enabled) that made the
+  wrong checks and this new test 1205 verifies that larger headers work.
+
+- curl_easy_setopt.3: headers can be CURL_MAX_HTTP_HEADER bytes
+  
+  Mention this maximum header size for the header callback cases
+
+- Merge pull request #25 from trtom/master
+  
+  make sure the static build uses the static build option!
+
+- curl_easy_setopt.3: fix typo
+  
+  shoot, Dan Fandrich already had this pointed out...
+
+- [Steve Holme brought this change]
+
+  curl_easy_setopt: Added pop3 to CURLOPT_URL.
+  
+  Added pop3 username and password example as well as an explanation of
+  how path part of the URL is used under pop3.
+  
+  Additionally have corrected a couple of typos.
+
+Yang Tse (22 Oct 2011)
+- tool_operate.c: OOM handling fix
+  
+  Move curl_easy_perform source code geneartion out of curl_easy_perform's loop
+  for proper OOM handling and source code geneartion.
+
+Daniel Stenberg (21 Oct 2011)
+- curl_multi_fdset: correct fdset with FTP PORT use
+  
+  After a PORT has been issued, and the multi handle would switch to the
+  CURLM_STATE_DO_MORE state (which is unique for FTP), libcurl would
+  return the wrong fdset to wait for when curl_multi_fdset() is
+  called. The code would blindly assume that it was waiting for a connect
+  of the second connection, while that isn't true immediately after the
+  PORT command.
+  
+  Also, the function multi.c:domore_getsock() was highly FTP-centric and
+  therefore ugly to keep in protocol-agnostic code. I solved this problem
+  by introducing a new function pointer in the Curl_handler struct called
+  domore_getsock() which is only called during the DOMORE state for
+  protocols that set that pointer.
+  
+  The new ftp.c:ftp_domore_getsock() function now returns fdset info about
+  the control connection's command/response handling while such a state is
+  in use, and goes over to waiting for a writable second connection first
+  once the commands are done.
+  
+  The original problem could be seen by running test 525 and checking the
+  time stamps in the FTP server log. I can verify that this fix at least
+  fixes this problem.
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-10/0250.html
+  Reported by: Gokhan Sengun
+
+Dan Fandrich (21 Oct 2011)
+- Added some missing test case XML tags and keywords
+
+Yang Tse (21 Oct 2011)
+- file.c: OOM handling fix
+  
+  file_disconnect() free's resources for multi API
+
+- multi.c: fix segfault
+
+- runtests.pl: fix printing of multivalued error codes
+
+- multi tests: OOM handling fixes
+  
+  Additionally, improved error checking and logging.
+
+Dan Fandrich (20 Oct 2011)
+- Fixed compilation when HTTP or cookies are disabled
+
+Daniel Stenberg (20 Oct 2011)
+- KNOWN_BUGS: #74 fixed
+  
+  Multiple auths in the same WWW-Authenticate header
+  
+  Fixed in commit 7d81e3f7193b8c
+
+- Curl_http_input_auth: handle multiple auths in WWW-Authenticate
+  
+  The fix is pretty much the one Nick Zitzmann provided, just edited to do
+  the right indent levels and with test case 1204 added to verify the fix.
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-10/0190.html
+  Reported by: Nick Zitzmann
+
+- Curl_smtp_escape_eob: first byte is index 0...
+  
+  Fix a bug with with commit 2621dd42a4d that happened due to my last
+  second pre-commit cleanup of the change without proper testing
+  afterwards!
+
+- CURLM_CALL_MULTI_PERFORM: remove mention
+  
+  This return code has not been used since 7.20.0 so we can stop
+  mentioning it for current libcurl.
+
+Dan Fandrich (19 Oct 2011)
+- Silenced a compiler warning about an unused variable
+
+Daniel Stenberg (20 Oct 2011)
+- [Tim Harder brought this change]
+
+  gtls: only call gnutls_transport_set_lowat with <gnutls-2.12.0
+  
+  The default lowat level for gnutls-2.12* is set to zero to avoid
+  unnecessary system calls and the gnutls_transport_set_lowat function has
+  been totally removed in >=gnutls-3 which causes build failures.
+  
+  Therefore, the function shouldn't be used except for versions that
+  require it, <gnutls-2.12.0.
+
+- Curl_smtp_escape_eob: fix EOB escaping
+  
+  As the EOB string can come byte by byte over a series of writes we must
+  match byte-wise.
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-10/0172.html
+
+- RELEASE-NOTES: synced with ecbb08cea3cd6
+
+- singleipconnect: unstick the ipv6-connection boolean
+  
+  Previously the bit was set before the connection was found working so if
+  it would first fail to an ipv6 address and then connect fine to a IPv4
+  address the variable would still be TRUE.
+  
+  Reported by: Thomas L. Shinnick
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3421912
+
+Kamil Dudka (17 Oct 2011)
+- nss: avoid a SIGSEGV with immature version of NSS
+  
+  Bug: https://bugzilla.redhat.com/733685
+
+- nss: big cleanup in nss_load_cert() and cert_stuff()
+
+- nss: refactor fmt_nickname() -> dup_nickname()
+  
+  Do not use artificial nicknames for certificates from files.
+
+- nss: select client certificates by DER
+  
+  ... instead of nicknames, which are not unique.
+
+Daniel Stenberg (17 Oct 2011)
+- --epsv: fix typo
+  
+  Reported by: Thomas L. Shinnick
+
+- --show-error: position indepdenent
+  
+  Previously we required that -S/--show-error was used _after_
+  -s/--silent. This was slightly confusing since we strive to make
+  arguments as position independent as possible.
+  
+  Now, you can use them in any order and the result should still be the
+  same.
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3424286
+  Reported by: Andreas Olsson
+
+- curl_multi_fdset: clarify the max_fd == -1 case
+  
+  Elaborate what max_fd == -1 means
+  
+  Remove the reference to CURLM_CALL_MULTI_PERFORM as modern libcurl
+  versions don't ever return that.
+
+- formdata: ack read callback abort
+  
+  When doing a multipart formpost with a read callback, and that callback
+  returns CURL_READFUNC_ABORT, that return code must be properly
+  propagated back and handled accordingly. Previously it would be handled
+  as a zero byte read which would cause a hang!
+  
+  Added test case 587 to verify. It uses the lib554.c source code with a
+  small ifdef.
+  
+  Reported by: Anton Bychkov
+  Bug: http://curl.haxx.se/mail/lib-2011-10/0097.html
+
+- TODO: have form functions use CURL handle argument
+
+- [Dave Reisner brought this change]
+
+  typecheck: allow NULL to unset CURLOPT_ERRORBUFFER
+  
+  There might be situations where a user would want to unset this option.
+  Avoid forcing him/her to cast the NULL argument to (char *) in order to
+  get past the compile time typecheck.
+
+- singleipconnect: don't clobber errno
+  
+  Save the errno value immediately after a connect() failure so that it
+  won't get reset to something else before we read it.
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-10/0066.html
+  Reported by: Frank Van Uffelen and Fabian Hiernaux
+
+- [Michal Marek brought this change]
+
+  docs: --xattr
+
+Yang Tse (14 Oct 2011)
+- file.c: fix compiler warning
+
+- url.c: fix endless loop upon transport connection timeout
+  
+  Jerry Wu detected and provided detailed info about this issue.
+
+- sws.c: HTTP and GOPHER test server-side connection closing adjustment
+  
+  When, for a given test, server is instructed to close connection after
+  server reply we now wait a very small amount of time (50ms) before doing
+  so. This is done to allow client to, at least partially, read server
+  reply before getting an ECONNRESET.
+  
+  The above is required to make test cases 1070, 1200, 1201 and 1202 pass
+  with Cygwin 1.5.X on W2K.
+  
+  GOPHER test server closes connection after _every_ server-reply, as such,
+  at some point it could require a bigger time or using shutdown() before
+  a server-side initiated disconnection.
+
+- curl_gethostname.c: fix signed/unsigned comparison and avoid a double copy
+  
+  both introduced in 42be24af
+
+- curl_ntlm_msgs.c: fix variable shadowing declaration introduced in 185ed340
+
+- [Marcin Adamski brought this change]
+
+  tftp.c: TFTP timeout and unexpected block adjustments
+  
+  Set ACK timeout to 5 seconds.
+  
+  If we are waiting for block X and receive block Y that is the expected one, we
+  should send ACK and increase X (which is already implemented). Otherwise drop
+  the packet and don't increase retry counter.
+
+- multi.c: OOM handling fixes
+  
+  Prevent modification of easy handle being added with curl_multi_add_handle()
+  unless this function actually suceeds.
+  
+  Run Curl_posttransfer() to allow restoring of SIGPIPE handler when
+  Curl_connect() fails early in multi_runsingle().
+
+- url.c: make line shorter than 80 chars
+
+- OOM handling/cleanup slight adjustments
+
+- OOM handling/cleanup slight adjustments
+
+- lib540.c: OOM handling fixes making test 540 pass torture testing
+
+Dan Fandrich (8 Oct 2011)
+- RELEASE-NOTES: Fixed a couple of typos
+
+Yang Tse (8 Oct 2011)
+- telnet.c: fix compiler warning
+
+- libcurl: some OOM handling fixes
+
+- multi.c: OOM handling fixes making torture tests 560 580 581 pass
+
+- test harness: non-stunnel https server integration overhaul
+
+- curl tool: reviewed code moved to tool_*.[ch] files
+
+- buildconf: warn about autoconf 2.67 and 2.68 generating bad/unusable scripts
+
+- curl tool: fix compiler warning
+
+- curl tool: OOM handling fixes
+
+- curl tool: reviewed code moved to tool_*.[ch] files
+
+- curl tool: OOM handling fixes
+
+- curl tool: OOM handling fixes
+
+- curl tool: OOM handling fixes
+
+- curl tool: header inclusion adjustment
+
+- curl tool: symbol check adjustment
+
+- curl tool: header inclusion adjustment
+
+- curl tool: code moved to tool_*.[ch] files
+
+Daniel Stenberg (4 Oct 2011)
+- curl_share_cleanup: avoid compiler warning
+  
+  Move the variable declaration to within the #ifdef
+
+- struct Curl_share: provide sslsession unconditionally
+  
+  It makes much nicer and less convuluted code everywhere if this struct
+  member is always present even when libcurl is built without SSL support.
+  
+  This reverts parts of commit 15e3e451702396e
+
+- ftp: improved the failed PORT host name resolved error message
+
+- codepolicing
+
+- sspi build fix
+  
+  define away Curl_ntlm_sspi_cleanup() when no windows SSPI build
+
+- [Steve Holme brought this change]
+
+  smtp: Added support for NTLM authentication
+  
+  Modified smtp_endofresp() to detect NTLM from the server specified list
+  of supported authentication mechanisms.
+  
+  Modified smtp_authenticate() to start the sending of the NTLM data.
+  
+  Added smtp_auth_ntlm_type1_message() which creates a NTLM type-1
+  message. This function is used by authenticate() to start the sending
+  of data and by smtp_state_auth_ntlm_resp() when the AUTH command
+  doesn't contain the type-1 message as part of the initial response.
+  This lack of initial response can happen if an OOM error occurs or the
+  type-1 message is longer than 504 characters. As the main AUTH command
+  is limited to 512 character the data has to be transmitted in two
+  parts; one containing the AUTH NTLM and the second containing the
+  type-1 message.
+  
+  Added smtp_state_auth_ntlm_type2msg_resp() which handles the incoming
+  type-2 message and sends an outgoing type-3 message. This type-2
+  message is sent by the server in response to our type-1 message.
+  
+  Modified smtp_state_auth_resp() to handle the response to: the AUTH
+  NTLM without the initial response and the type-2 response.
+  
+  Modified smtp_disconnect() to cleanup the NTLM SSPI stack.
+
+- [Steve Holme brought this change]
+
+  Curl_ntlm_create_typeX_message: Added the outlen parameter
+  
+  Added the output message length as a parameter to both
+  Curl_ntlm_create_type1_message() and Curl_ntlm_create_type3_message()
+  for use by future functions that require it.
+  
+  Updated curl_ntlm.c to cater for the extra parameter on these two
+  functions.
+
+- [Steve Holme brought this change]
+
+  smtp: General tidy up ready for adding NTLM support
+  
+  Changed the name of variable l, in several functions, which represents
+  the length of strings being sent to the server, to len which is more
+  meaningful and consistent with other code in smtp.c and elsewhere.
+  
+  Reworked smtp_authenticate() to be simpler and easier to follow.
+  Variables and now initialised in their definitions and if no username
+  and password are specified the function sets the state to SMTP_STOP and
+  returns immediately, rather than being part of a huge if statement.
+
+Yang Tse (3 Oct 2011)
+- curl tool: reviewed code moved to tool_*.[ch] files
+
+Daniel Stenberg (3 Oct 2011)
+- [Steve Holme brought this change]
+
+  smtp_mail: fixed another memory leak
+  
+  ... introduced in 7f304ab84f560c
+
+- [Dominique Leuenberger brought this change]
+
+  m4: Use x in order to avoid variable 'x' set but not used [-Werror=unused-but-set-variable]
+  
+  This error could be caused by configure scripts being run with -Werror
+  -Wall, which would lead to libcurl being detected as unusable.
+
+- share: don't use SSL unless enabled
+  
+  Don't even declare the struct members for disabled features
+  
+  Introducing the CURLSHE_NOT_BUILT_IN return code for the share interface
+  when trying to set a sharing option that has been disabled (or not
+  enabled) in the library.
+
+- multi: progress function abort must close connection
+  
+  When the progress function returns to cancel the request, we must mark
+  the connection to get closed and it must do to the DONE state.
+  
+  do_init() must be called as early as possible so that state variables
+  for new connections are reset early. We could otherwise see that the old
+  values were still there when a connection was to be disconnected very
+  early and it would make it behave wrongly.
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-10/0006.html
+  Reported by: Vladimir Grishchenko
+
+- tutorial: clarify the handle sharing when treaded
+  
+  Previously there was wording that made people uncertain of the exact
+  rules.
+  
+  Feedback by: Julien Royer and Georg Lippitsch
+  URL: http://curl.haxx.se/mail/lib-2011-09/0357.html
+
+- multi_runsingle: change state on callback abort
+  
+  Reported by: Marcin Adamski
+  Bug: http://curl.haxx.se/mail/lib-2011-09/0329.html
+
+Yang Tse (30 Sep 2011)
+- curl tool: fix some more OOM handling
+
+- Fix SSL disabled builds broken with 'SSL session sharing' commit 5793bc37
+
+Daniel Stenberg (29 Sep 2011)
+- smtp_mail: fix memory leak
+  
+  ... introduced in 7f304ab84f560c
+
+- [Steve Holme brought this change]
+
+  smtp_mail: Added support to MAIL FROM for the optional SIZE parameter
+  
+  The size of the email can now be set via CURLOPT_INFILESIZE. This
+  allows the email to be rejected by the server, if supported, and the
+  maximum size has been configured on the server.
+
+- curlverh.h: next release will be 7.23.0
+
+- RELEASE-NOTES: synced with 5898a6a09b211fc7e2
+  
+  Bumped next release version to become 7.23.0 for the changes
+
+Dan Fandrich (28 Sep 2011)
+- curl_easy_setopt: Added scp and sftp to the URL section
+
+Daniel Stenberg (28 Sep 2011)
+- [Steve Holme brought this change]
+
+  curl_easy_setopt: A brief tidy up
+  
+  Slight rewording of the CURLOPT_URL SMTP sub-section.
+  
+  Corrected the incorrect use of hyphens on the three uses of
+  "zero-terminated" with "zero terminated" to match the rest of the
+  document.
+  
+  Corrected the use of an out of place hyphen in CURLOPT_NOPROXY section.
+
+- configure openssl version check: handle lack of L suffix
+  
+  It seems some versions of the OpenSSL version defines don't come with L
+  appended to the number, so let's deal with that nicely.
+
+- [Alejandro Alvarez brought this change]
+
+  SSL session sharing support added
+  
+  With locking, plus test, plus documentation
+
+Yang Tse (28 Sep 2011)
+- curl tool: adjust header callback single call write limit warning
+  
+  Maximum amount of data a header callback is supposed to get in
+  a single call from libcurl is limited by the lowest value of
+  CURL_MAX_WRITE_SIZE and CURL_MAX_HTTP_HEADER.
+
+Daniel Stenberg (28 Sep 2011)
+- multi docs: extended the multi_socket API description
+
+- tests/README: extended and reformatted
+
+Yang Tse (27 Sep 2011)
+- [Albert Chin brought this change]
+
+  configure - m4: make CURL_CHECK_DEF ignore leading whitespace on symbol def
+  
+  When using Sun C compiler the preprocessor somehow inserts an extra space
+  in front of replaced symbol, breaking CURL_CHECK_DEF macro. To workaround
+  this, macro CURL_CHECK_DEF now ignores all leading whitespace in front of
+  symbol substitution result.
+
+Guenter Knauf (27 Sep 2011)
+- Added SPNEGO to NetWare build.
+
+Yang Tse (26 Sep 2011)
+- curl tool: fix a compiler warning
+
+- curl tool: fix some OOM handling - f4853db5 follow-up
+
+- curl tool: fix some OOM handling
+
+- remove short-lived CURL_WRITEFUNC_OUT_OF_MEMORY
+
+Guenter Knauf (26 Sep 2011)
+- Added unsigned char* to _curl_is_debug_cb.
+
+Daniel Stenberg (26 Sep 2011)
+- [Steve Holme brought this change]
+
+  smtp_connect: use defined buffer length for hostname
+
+- [Steve Holme brought this change]
+
+  Curl_ntlm_create_type3_message: Tidied up the use of Curl_gethostname.
+  
+  Removed the code that striped off the domain name when Curl_gethostname
+  returned the fully qualified domain name as the function has been
+  updated to return the un-qualified host name.
+  
+  Replaced the use of HOSTNAME_MAX as the size of the buffer in the call
+  to Curl_gethostname with sizeof(host) as this is safer should the buffer
+  size ever be changed.
+
+- [Steve Holme brought this change]
+
+  HOSTNAME_MAX: Moved to curl_gethostname.h
+  
+  Moved HOSTNAME_MAX #define into curl_gethostname.h rather than being
+  locally defined in curl_gethostname.c, curl_ntlm_msgs.c and smtp.c.
+
+- RELEASE-NOTES: synced with d2a47021c0a6
+
+Yang Tse (25 Sep 2011)
+- Q&D fix header inclusion order
+
+- allow write callbacks to indicate OOM to libcurl
+  
+  Allow (*curl_write_callback) write callbacks to return
+  CURL_WRITEFUNC_OUT_OF_MEMORY to properly indicate libcurl of OOM conditions
+  inside the callback itself.
+
+Guenter Knauf (25 Sep 2011)
+- Changed some main makefile targets.
+
+Daniel Stenberg (25 Sep 2011)
+- curl_multi_fdset: avoid FD_SET out of bounds
+  
+  If a socket is larger than FD_SETSIZE, avoid using FD_SET() on the
+  platforms where this is possible.
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3413274
+  Reported by: Tim Starling
+
+Guenter Knauf (25 Sep 2011)
+- Fixed MinGW examples makefile.
+
+- NetWare makefile tweaks to select different builds.
+
+Daniel Stenberg (25 Sep 2011)
+- POST: always set postfieldsize
+  
+  When we use binary posts and regular ones intermixed on a single command
+  line, we cannot do strlen() etc on the data to figure out the length
+  (when inserting '&' and more). We must therefore keep track of the post
+  data length. Then we also end up setting the libcurl option with the
+  known size, so that we don't risk that libcurl will do strlen() on the
+  data.
+  
+  This has the minor side-effect that --libcurl source codes now always
+  will use CURLOPT_POSTFIELDSIZE but I don't consider that terribly
+  damaging.
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3413181
+  Reported by: Taneli Vähäkangas
+
+Yang Tse (24 Sep 2011)
+- curl tool: fix a compiler warning
+
+- curl tool: reviewed code moved to tool_*.[ch] files
+
+Guenter Knauf (24 Sep 2011)
+- Added header to be included by dist script.
+  
+  Probably the wrong place, but I dont know better.
+
+Yang Tse (24 Sep 2011)
+- curl tool: fix some OOM handling issues
+
+Daniel Stenberg (24 Sep 2011)
+- http header: allow Content-Length to be replaced
+  
+  In some cases Content-Length: couldn't be replaced by an application
+  
+  Also, indented some code properly
+
+Guenter Knauf (23 Sep 2011)
+- MinGW64 has this prototype already.
+
+- Fixed scanf format for WORD = unsigned short.
+
+- Added Win32-only samples.
+
+- Added a workaround for printing size_t.
+
+Daniel Stenberg (22 Sep 2011)
+- Curl_pgrsStartNow: keep HEADERS_OUT set
+  
+  To avoid that the progress meter headers get output between each
+  transfer, make sure the bits gets kept when (re-)inited.
+  
+  Reported by: Christopher Stone
+
+Yang Tse (22 Sep 2011)
+- curl tool: fix some OOM handling issues
+
+- curl tool: reviewed code moved to tool_*.[ch] files
+  
+  my_setopt and my_setopt_str no longer ignores curl_easy_setopt result.
+  
+  Fixed some OOM handling issues.
+
+Guenter Knauf (22 Sep 2011)
+- Added NetWare examples makefile.
+
+Yang Tse (22 Sep 2011)
+- NTLM_WB: fix disabling of NTLM_WB when NTLM is disabled
+
+Daniel Stenberg (21 Sep 2011)
+- test 814: smtp without --mail-from
+  
+  Verifies the fix from commit 322f3d5af7093
+
+- [Gisle Vanem brought this change]
+
+  smtp: without a MAIL_FROM, send blank MAIL FROM
+  
+  I think curl should ignore this case and smtp.c should test for this.
+  Since RFC-2821 seems to allow a "null reverse-path". Ref.  "MAIL
+  FROM:<>" in section 3.7, page 25.
+
+- [Dave Reisner brought this change]
+
+  lib/http: add missing whitespace in verbose output
+  
+  Example:
+  * upload completely sent off: 35out of 35 bytes
+  
+  Should be:
+  * upload completely sent off: 35 out of 35 bytes
+
+Guenter Knauf (21 Sep 2011)
+- Another MinGW example makefile tweak.
+
+- Fixed sample to compile for Windows platform.
+
+Yang Tse (21 Sep 2011)
+- curl tool: make my_setopt ignore curl_easy_setopt result again.
+  
+  Related code not ready yet for this kind of checks.
+
+Guenter Knauf (21 Sep 2011)
+- Changed suffix rules to pattern rules.
+  
+  Suffix rules cannot have any prerequisites of their own.
+
+- Added dependency so that curlbuild.h is created.
+
+- Some more MinGW build tweaks.
+  
+  Added envvars to specify OpenSSL include, libpath and lib.
+  Added rule to create curlbuild.h from curlbuild.h.dist.
+
+Yang Tse (21 Sep 2011)
+- curl tool: reviewed code moved to tool_*.[ch] files
+  
+  my_setopt and my_setopt_str no longer ignores curl_easy_setopt result.
+  
+  Fixed some OOM handling issues.
+
+- curl tool: reviewed code moved to tool_*.[ch] files
+  
+  Overhauled FindWin32CACert()
+
+Guenter Knauf (20 Sep 2011)
+- A bunch of MinGW build tweaks.
+  
+  All paths to dependencies now quoted; synced examples makefile.
+
+- Changed Windows 64bit OS define to x86_64.
+  
+  Also added check for __x86_64__ define since MinGW64 seems to define
+  the _M_X64 macro through a header not available for config-win32.h.
+
+- Also skip certs masked as CKT_NSS_TRUST_UNKNOWN.
+  
+  Fix posted by Tomas Hoger <thoger redhat com>.
+
+- Added _WIN32_WINNT define for IPv6 builds.
+
+Daniel Stenberg (20 Sep 2011)
+- Curl_follow: handle redirects to "//hostname/path"
+
+Yang Tse (19 Sep 2011)
+- curl tool: truly fix compiler warning
+
+- curl tool: fix compiler warning
+
+- curl tool: reviewed code moved to tool_*.[ch] files
+
+Daniel Stenberg (18 Sep 2011)
+- CURLOPT_URL docs: no need to mention function names
+
+- [Steve Holme brought this change]
+
+  CURLOPT_URL: Expanded URL description
+  
+  Expanded the section about CURLOPT_URL to include the format of the URL
+  and detailed information and examples relating to specific protocols.
+
+- [Steve Holme brought this change]
+
+  Curl_gethostname: return un-qualified machine name
+  
+  Fixed Curl_gethostname() so that it always returns the un-qualified
+  machine name rather than being dependent on the socket provider.
+  
+  Note: The return of getenv("CURL_GETHOSTNAME") is also parsed in case
+  the developer / test harness provided a fully qualified domain name as
+  it's value as well.
+
+Yang Tse (18 Sep 2011)
+- curl tool: create tool_myfunc.[ch] which later on will hold my_* functions
+  
+  Additionally function my_useragent() now provides default User-Agent string
+
+- curl tool: reorder free_config_fields() field handling
+  
+  Reorder handling of fields to match same order as the one given by current
+  definition order of 'Configurable' struct fields. Fields currently not handled
+  marked for further inspection.
+
+Guenter Knauf (17 Sep 2011)
+- Fixed MinGW WinIDN lib dependency.
+
+Yang Tse (17 Sep 2011)
+- tool_convert.c: fix no newline at end of file
+
+- curl tool: add new files to Symbian's .mmp project file
+
+- curl tool: move 'Configurable' and free_config_fields() to tool_cfgable.[ch]
+  
+  Reviewing fields being free'd in free_config_fields() still pending
+
+- src/setup.h: add conditional include of assert.h
+
+- curl tool: move so called 'multi_files' stuff into tool_mfiles.[ch]
+  
+  Additionally some code reorganization and direct OOM handling fixes,
+  just another step towards fixing curl tool issues uncovered 2011-09-15
+
+- curl tool: move convert_* functions into tool_convert.[ch]
+  
+  Additionally fix data type of result vars for iconv() calls
+
+- main.c: convert GetStr() into a macro to ease leak debugging
+
+- main.c: de-obfuscate a couple for-loop exit conditions
+
+- curl tool: fix a bunch of double free's uncovered 2011-09-15
+  
+  Re-enabling MemoryTracking capability on 'src' subdirectory files and torture
+  tests have uncovered many issues which were going unnoticed in curl tool. So
+  here we go fixing some of them. Others still remain and should be addressed
+  ASAP, given that curl tool is used in our test harness also for test server
+  start verification purposes. There are even non-socket file descriptor leaks.
+
+- Make Curl_safefree() macro assign NULL to given pointer when free'd
+
+- curl MSVC project files: adjust resource compiler include path
+
+- src/Makefile.vc6: adjust resource compiler include path
+
+- curl tool: re-enable MemoryTracking capability on 'src' subdirectory files.
+  
+  Use same preprocessor logic for curl tool MemoryTracking activation in source
+  files located in 'src' subdirectory as the one used for libcurl sources.
+
+- ftp.c: add a couple of failure messages
+
+Dan Fandrich (13 Sep 2011)
+- [warp kawada brought this change]
+
+  Curl_add_custom_headers: support headers with no data
+  
+  A custom HTTP header ending in a semicolon instead of a colon
+  will be treated as a header to be added without any data
+  portion.
+
+Daniel Stenberg (13 Sep 2011)
+- progressfunc: a simple CURLOPT_PROGRESSFUNCTION example
+
+- 7.22.1: start working
+
+- THANKS: 16 new contributors from 7.22.0
+
+Version 7.22.0 (13 Sep 2011)
+
+Daniel Stenberg (13 Sep 2011)
+- RELEASE-NOTES: ready for 7.22.0
+
+- codestyle: minor whitespace fix
+
+- [Jeff Pohlmeyer brought this change]
+
+  polarssl: build with PolarSSL-1.0.0
+  
+  With this fix, it should work for PolarSSL-1.0.0 (and SVN-1091 trunk)
+  and retain compatibility with earlier versions. (Tested with 0.14.1)
+  
+  PolarSSL still doesn't play nicely with curl's CA bundle (we discussed
+  this before) but I was at least able to retrieve the
+  https://www.gmail.com/ login page using a modified ca-certificates.crt
+  file with all 3 versions of PolarSSL.
+
+- BUGS: spellfixed, slightly reformatted for web looks
+  
+  Reported by: Jeff Pohlmeyer
+
+Dan Fandrich (12 Sep 2011)
+- Document NTLM winbind options (and caveats)
+
+Daniel Stenberg (12 Sep 2011)
+- BUGS: renumbered to look better in the web version
+
+- BUGS: revamped bug report documentation
+
+Yang Tse (12 Sep 2011)
+- Mention that BSD-style lwIP TCP/IP stack support on Windows is experimental.
+
+- ftp.c: fix socket leak torture tests detected 2011-08-30
+  
+  Also fix inappropriate error handling when sending ftp EPRT or PORT commands.
+
+Daniel Stenberg (11 Sep 2011)
+- TODO: remove 4 entries, add one new
+  
+  Zero-copy and "Avoid having to remove/readd handles" are not really
+  features we think are worthwhile to add. Removed.
+  
+  SRP features have been added already, removed.
+  
+  11.9 IPv6 addresses with globbing added
+
+- spell-checked comments
+
+- TODO-RELEASE: postpone the remainders
+  
+  There's three pending bug fixes but there's no time left so let's
+  try to get them fixed for next release...
+
+Guenter Knauf (11 Sep 2011)
+- Updated makefiles to latest libssh2.
+
+Yang Tse (10 Sep 2011)
+- urlglob.c: fix OOM handling
+
+- ftp.c: fix ftp active connects which got broken with commit fdf157abdf
+
+- runtests.pl: replace TAB with spaces
+
+- test harness: revert needless commit 0a5bbb2ac1
+  
+  https, ftps and ssh servers allowed start up time back to previous values
+
+- ssh.c: revert needless commit 7b7c45879e
+
+Daniel Stenberg (9 Sep 2011)
+- RELEASE-NOTES: synced with 303c90074d4c
+  
+  Five more bugfixes, one more contributor
+
+- tcpnodelay: rename variable
+  
+  Renamed the variable from 'proto' to 'level' simply because it is not
+  protocol you set but level and that is the name of the argument used in
+  man pages and the POSIX documentation of the setsockopt function.
+
+Guenter Knauf (8 Sep 2011)
+- Avoid ftruncate() static define with MinGW64.
+
+Yang Tse (8 Sep 2011)
+- libssh2: use calloc as alloc function for libssh2 versions older than 1.3
+  
+  This workarounds old libssh2 versions not properly initializing
+  some ssh session variables, which would trigger memory debuggers
+  warnings on memory being used without having been initialized.
+
+Daniel Stenberg (8 Sep 2011)
+- [Adriano Meirelles brought this change]
+
+  Curl_speedcheck: don't mistakenly clear Curl_expire()
+  
+  The current version of speedcheck.c may disable timeout by setting zero
+  to Curl_expire. Which is fine using the curl_multi_perform, because it
+  recheck all timeout internals, but when using custom event poller (like
+  hiperfifo.c) it may keep stalle connection forever.
+
+Yang Tse (8 Sep 2011)
+- lib582.c: fix segfault triggered when torture testing test case 582
+
+Daniel Stenberg (7 Sep 2011)
+- ftp_state_use_port: minor code indent fix
+
+- checksrc: detect "}else" uses as well
+
+- getinmemory.c: use better argument names for write callback
+
+Yang Tse (7 Sep 2011)
+- ssh.c: fix memory leaks triggered upon OOM or other failures
+
+- test case 583: ensure that test failures don't go unnoticed - follow-up
+
+- test suite: libtest header inclusion cleanup - follow-up
+  
+  Adjust tests/libtest/Makefile.inc and remove a couple of unused headers from
+  tests/libtest/lib583.c
+
+- test case 583: ensure that test failures don't go unnoticed
+
+- test suite: libtest header inclusion cleanup
+  
+  Added missing memoryTracking to test cases 560 and 583. If this triggers
+  leak detection on these, it only means that previously it was going unnoticed.
+
+- fix bool variables checking and assignment
+
+- pingpong.c: avoid a memmove call in function Curl_pp_vsendf
+
+- fix bool variables checking and assignment
+
+- test suite: use test case specific netrc file names
+
+Guenter Knauf (4 Sep 2011)
+- Fixed final message output.
+
+Daniel Stenberg (4 Sep 2011)
+- TODO-RELEASE: deleteing five issues due to no response
+  
+  No feedback and no updates, removing these issues
+
+Yang Tse (4 Sep 2011)
+- setup_once.h cleanup and sync
+
+Guenter Knauf (4 Sep 2011)
+- Fix to skip untrusted certs.
+
+- Added SPNEGO to MinGW makefiles.
+
+Yang Tse (4 Sep 2011)
+- NTLM WB: fix file descriptor leak upon OOM condition
+
+- revert changes not intended to be pushed with commit 6b75d2c2
+
+- fix a bunch of MSVC compiler warnings
+
+Guenter Knauf (3 Sep 2011)
+- Updated dependecies versions.
+
+- Some MinGW makefile tweaks for MinGW64.
+
+- Changed MinGW to use own winidn prototypes.
+
+Dan Fandrich (2 Sep 2011)
+- Fix NTLM winbind support to pass the torture tests
+  
+  Calling sclose() both in the child and the parent fools the
+  socket leak detector into thinking it's been closed twice.
+  Calling close() in the child instead overcomes this problem. It's
+  not as portable as the sclose() macro, but this code is highly
+  POSIX-specific, anyway.
+
+Yang Tse (2 Sep 2011)
+- MemoryTracking: fix logging of free() calls done where Curl_safefree is called
+  
+  Just internal stuff...
+  
+  Curl_safefree is now a macro defined in memdebug.h instead of a function
+  prototyped in url.h and implemented in url.c, so inclusion of url.h is no
+  longer required in order to simply use Curl_safefree.
+  
+  Provide definition of macro WHILE_FALSE in setup_once.h in order to allow
+  other macros such as DEBUGF and DEBUGASSERT, and code using it, to compile
+  without 'conditional expression is constant' warnings.
+  
+  The WHILE_FALSE stuff fixes 150+ MSVC compiler warnings.
+
+- transfer.c: fix parentheses/braces placement for vi/emacs delimiter matching
+
+- transfer.c: fix loadhostpairs() OOM handling
+
+- test harness: https, ftps and ssh servers allowed start up time increased 33%
+
+- hostip.c: return immediately from Curl_resolv_timeout() upon expired timeout.
+  
+  Ensure existing logic in Curl_resolv_timeout() is not subverted upon getting a
+  negative timeout from resolve_server(). The timeout in resolve_server() could
+  be checked to avoid calling Curl_resolv_timeout() with an expired timeout, but
+  fixing this in this way allows existing logic in resolve_server() to be kept
+  unchanged.
+
+- ftp.c: fix some leaks torture tests detected 2011-08-30 - follow-up
+  
+  follow-up for commit d20408e8
+
+- test harness: fix detection of test harness client knownhosts file
+  
+  Regenerate curl's tests client knownhosts file also when, somehow,
+  this file is empty.
+
+- test harness: fix detection of test harness host and client key files
+  
+  Regenerate curl's tests host and client key files also when, somehow,
+  any of these files are empty.
+
+- ssh.c: fix realloc() OOM handling
+
+- ftp.c: fix some leaks torture tests detected 2011-08-30 - follow-up
+  
+  follow-up for commit c06de200
+
+- fix some leaks torture tests detected 2011-08-30
+
+- fix some leaks torture tests detected 2011-08-30
+
+Daniel Stenberg (29 Aug 2011)
+- RELEASE-NOTES: synced with 3445fa2e3f
+
+Kamil Dudka (29 Aug 2011)
+- tests: break busy loops in tests 502, 555, and 573
+
+Yang Tse (29 Aug 2011)
+- pingpong.c: fix Curl_pp_vsendf() arbitrary restrictions on command length
+  
+  This removes command length restrictions on calling functions.
+
+- NTLM: header inclusion cleanup follow-up
+
+- NTLM: header inclusion cleanup
+
+- NTLM: END of refactoring/splitting/moving
+  
+  First:
+  
+  File curl_ntlm.h renamed curl_ntlm_msgs.h
+  File curl_ntlm.c renamed curl_ntlm_msgs.c
+  
+  Afterwards:
+  
+  File http_ntlm.c renamed curl_ntlm.c
+  File http_ntlm.h renamed curl_ntlm.h
+
+- NTLM: move NTLM core specifics into curl_ntlm_core.[ch]
+
+- NTLM_WB: move NTLM_WB specifics into curl_ntlm_wb.[ch]
+
+- NTLM_WB: final congruency naming adjustments
+  
+  Configure script option --enable-wb-ntlm-auth renamed to --enable-ntlm-wb
+  Configure script option --disable-wb-ntlm-auth renamed to --disable-ntlm-wb
+  
+  Preprocessor symbol WINBIND_NTLM_AUTH_ENABLED renamed to NTLM_WB_ENABLED
+  Preprocessor symbol WINBIND_NTLM_AUTH_FILE renamed to NTLM_WB_FILE
+  
+  Test harness env var CURL_NTLM_AUTH renamed to CURL_NTLM_WB_FILE
+  
+  Static function wb_ntlm_close renamed to ntlm_wb_cleanup
+  Static function wb_ntlm_initiate renamed to ntlm_wb_init
+  Static function wb_ntlm_response renamed to ntlm_wb_response
+
+- NTLM single-sign on adjustments (XI)
+  
+  Feature string literal NTLM_SSO renamed to NTLM_WB.
+  Preprocessor symbol USE_NTLM_SSO renamed to WINBIND_NTLM_AUTH_ENABLED.
+  curl's 'long' option 'ntlm-sso' renamed to 'ntlm-wb'.
+  Fix some comments to make clear that this is actually a NTLM delegation.
+
+Daniel Stenberg (26 Aug 2011)
+- --cookie-jar: activates the cookie engine
+
+- Curl_read_plain: indent code
+
+Yang Tse (26 Aug 2011)
+- NTLM single-sign on adjustments (X)
+  
+  Functions renamed:
+  
+  Curl_output_ntlm_sso -> Curl_output_ntlm_wb
+  sso_ntlm_close -> wb_ntlm_close
+  sso_ntlm_response -> wb_ntlm_response
+  sso_ntlm_initiate -> wb_ntlm_initiate
+  
+  Preprocessor symbols renamed:
+  
+  CURLAUTH_NTLM_SSO -> CURLAUTH_NTLM_WB
+  CURL_VERSION_NTLM_SSO -> CURL_VERSION_NTLM_WB
+
+Daniel Stenberg (25 Aug 2011)
+- TODO: progress callback without doubles
+
+Yang Tse (25 Aug 2011)
+- [Steve Holme brought this change]
+
+  http NTLM: refactoring followup
+  
+  Output of Curl_ntlm_create_type1_message() and Curl_ntlm_create_type3_message()
+  functions is now already base64 encoded.
+
+Kamil Dudka (24 Aug 2011)
+- docs: the next release is going to be 7.22.0
+
+Yang Tse (24 Aug 2011)
+- include limits.h for INT_MAX
+
+- add missing semicolons
+
+Daniel Stenberg (24 Aug 2011)
+- add missing semicolons
+
+- safefree use: fix compiler warning
+  
+  include the prototype header
+
+Yang Tse (24 Aug 2011)
+- [Steve Holme brought this change]
+
+  SMTP authentication: fix ordering of preferred authentication method
+  
+  Fixed the order of the preferred SMTP authentication method to:
+  AUTH CRAM-MD5, AUTH LOGIN then AUTH PLAIN.
+  
+  AUTH PLAIN should be the last as it slightly more insecure than AUTH LOGIN
+  as the username and password are sent together - there is no handshaking
+  between the client and server like there is with AUTH LOGIN.
+
+- base64: fix Curl_base64_encode and Curl_base64_decode interfaces
+  
+  Previous interfaces for these libcurl internal functions did not allow to tell
+  apart a legitimate zero size result from an error condition. These functions
+  now return a CURLcode indicating function success or otherwise specific error.
+  Output size is returned using a pointer argument.
+  
+  All usage of these two functions, and others closely related, has been adapted
+  to the new interfaces. Relative error and OOM handling adapted or added where
+  missing. Unit test 1302 also adapted.
+
+Daniel Stenberg (23 Aug 2011)
+- resolve.c: new example showing off CURLOPT_RESOLVE
+
+- externalsocket.c: new example
+
+Yang Tse (22 Aug 2011)
+- [Steve Holme brought this change]
+
+  http NTLM: remaining bits from 0001-Moved-ntlm-[...]-curl_ntlm-mod_3.patch
+  
+  * Added function comments:
+      - Curl_ntlm_decode_type2_message
+      - Curl_ntlm_create_type1_message
+      - Curl_ntlm_create_type3_message
+  
+  * Modification of ntlm processing state to NTLMSTATE_TYPE2 is now done
+    only when Curl_ntlm_decode_type2_message() has fully succeeded.
+
+- runtests.pl: option -gw for single test windowed debugging (where possible)
+
+- zlib: ensure user provided memory functions are used by zlib, when given
+  
+  As a bonus, this lets our MemoryTracking subsystem track zlib operations.
+  And also fixes a shortcut some zlib 1.2.x versions took using malloc()
+  instead of calloc(), which would trigger memory debuggers warnings on
+  memory being used without having been initialized.
+
+Daniel Stenberg (21 Aug 2011)
+- main: fix segfault
+  
+  Follow-up to commit 5eb2396cd as that wasn't complete.
+  
+  At times HEADERFUNCTION+HEADERDATA was set only to have only HEADERDATA
+  set in the subsequent loop which could cause a NULL to get sent as
+  userdata to 'header_callback' which wasn't made to handle that.
+  
+  Now HEADERFUNCTION is explicitly set to NULL if it isn't set to the
+  callback.
+
+Yang Tse (21 Aug 2011)
+- MemoryTracking: adjust initialization calling - followup
+  
+  Fix macro definition
+
+- MemoryTracking: adjust initialization calling
+  
+  Calling of curl_memdebug() was still done with a pending free()
+
+Daniel Stenberg (19 Aug 2011)
+- tcpconnect: follow-up commit after b998d95b
+  
+  As I modified conn->bits.tcpconnect to become an array that holds one
+  bool for each potential connection all uses of that struct field must
+  index it correctly.
+
+Yang Tse (19 Aug 2011)
+- ssh.c: add PATH_MAX definition for WIN32
+
+Daniel Stenberg (19 Aug 2011)
+- connect: set TIMER_CONNECT
+  
+  When connecting, make sure TIMER_CONNECT is set.
+
+- test573: fix the keywords
+
+- FTP: fix proxy connect race condition
+  
+  When using the multi interface, a SOCKS proxy, and a connection that
+  wouldn't immediately consider itself connected (which my Linux tests do
+  by default), libcurl would be tricked into doing _two_ connects to the
+  SOCKS proxy when it setup the data connection and then of course the
+  second attempt would fail miserably and cause error.
+  
+  This problem is a regression that was introduced by commit
+  4a42e5cdaa344755 that was introduced in the 7.21.7 release.
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-08/0199.html
+  Reported by: Fabian Keil
+
+- Curl_SOCKS4: minor code compression
+
+Yang Tse (18 Aug 2011)
+- zlib: enforce full initialization of our data space z_stream structs
+
+Daniel Stenberg (17 Aug 2011)
+- VC makefiles: fixed variable name mistake
+
+Yang Tse (17 Aug 2011)
+- MemoryTracking: adjust curl_domalloc() and curl_dofree() memory filling
+  
+  Until 2011-08-17 libcurl's Memory Tracking feature also performed
+  automatic malloc and free filling operations using 0xA5 and 0x13
+  values. Our own preinitialization of dynamically allocated memory
+  might be useful when not using third party memory debuggers, but
+  on the other hand this would fool memory debuggers into thinking
+  that all dynamically allocated memory is properly initialized.
+  
+  As a default setting, libcurl's Memory Tracking feature no longer
+  performs preinitialization of dynamically allocated memory on its
+  own. If you know what you are doing, and really want to retain old
+  behavior, you can achieve this compiling with preprocessor symbols
+  CURL_MT_MALLOC_FILL and CURL_MT_FREE_FILL defined with appropriate
+  values.
+
+- MemoryTracking: make curl_docalloc() call calloc() avoiding our zero fill
+
+Daniel Stenberg (15 Aug 2011)
+- MSVC makefiles: provide SSH build targets
+  
+  "release-ssl-ssh2-zlib" and "debug-ssl-ssh2-zlib" are two new makefile
+  targets that build libcurl with MSVC and link with libssh2
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3388920
+  Reported by: "kdekker"
+
+- test572: fixed
+  
+  Two problems were fixed:
+  
+  GET_PARAMETER responses that have no body must be 204 response or
+  properly set length to 0.
+  
+  One of the <data> sections had the wrong content-length for its
+  GET_PARAMETER response.
+  
+  Enabled test 572 again.
+
+- Curl_pgrsStartNow: clear all flags but HIDE
+  
+  As bug 3385258 pointed out but I missed up the fix for. This is another
+  take at a fix.
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3392101
+  Reported by: Wu Yongzheng
+
+Yang Tse (15 Aug 2011)
+- unittests: disable unit tests for some autobuild configurations
+  
+  IRIX 6.5.24 gcc 3.3 autobuilds fail unittests library compilation due to a
+  problem related with OpenSSL headers and library versions not matching.
+  
+  All AIX autobuilds fails unit tests linking against unittests library due to
+  unittests library being built with no symbols or members. Libtool ?
+
+Kamil Dudka (15 Aug 2011)
+- nss: start with no database if the selected database is broken
+  
+  Bug: https://bugzilla.redhat.com/728562
+
+Yang Tse (15 Aug 2011)
+- http NTLM: reinstate "nssg.h" "curl_sspi.h" header inclusions
+
+- tests: disable #572
+
+Daniel Stenberg (14 Aug 2011)
+- TODO-RELEASE: synced
+  
+  Added comments to some remaining issues
+
+- telnet: allow programatic use on Windows
+  
+  Summary of the issue can be found at:
+  http://curl.haxx.se/mail/lib-2010-04/0367.html
+  
+  That patch only updated the unix sockets code - the winsock code was not
+  updated and no longer works the same was as the unix code. This change
+  updates the windows code accordingly.
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3163118
+
+- TODO-RELEASE: fixed issue #291
+  
+  291 - bug 3383692 "GET PARAMETER request and body in response"
+
+Yang Tse (14 Aug 2011)
+- http NTLM: reinstate "memdebug.h" header inclusion
+  
+  Inclusion of header "memdebug.h" in http_ntlm.c got lost in commit 98fb0ef7.
+
+Daniel Stenberg (14 Aug 2011)
+- RTSP: GET_PARAMETER requests have a body
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3383692
+
+- Curl_output_ntlm: remove unused variable
+
+Yang Tse (14 Aug 2011)
+- http NTLM: add curl_ntlm.c to Symbian's libcurl.mmp
+
+- http NTLM: fix 8 compiler warnings
+  
+  Strict splitting of http_ntlm.[ch] may trigger 8 compiler warnings when
+  building with some compilers and strict compiler warnings enabled, depending
+  on other specific configuration options some could get triggered or not.
+  
+  Seven are related with 'unused function parameters' and another one with
+  'var may be used before its value is set'.
+
+- http NTLM: split http_ntlm.[ch] between http_ntlm.[ch] and curl_ntlm.[ch]
+  
+  For modularity purposes, huge chunks of NTLM existing code is transformed into
+  functions to allow future internal code reuse.
+  
+  Resulting three new libcurl private functions:
+  
+   - Curl_ntlm_create_type1_message()
+   - Curl_ntlm_create_type3_message()
+   - Curl_ntlm_decode_type2_message()
+  
+  Changing static ntlm_sspi_cleanup() into non-static Curl_ntlm_sspi_cleanup()
+  
+  This 'refactoring' has been prepared by previous commits to allow that this
+  specific one does not introduce any change to existing code. All existing
+  goodness and badness previous to this commit should remain the same once it is
+  applied, the only difference should be that existing code is moved into
+  functions.
+  
+  Given the quite big portions of code being moved around, and the importance of
+  change traceability, this commit has been done in such a way that it is
+  possible to perform a three-way diff from initial http_ntlm.[ch] to resulting
+  http_ntlm.[ch] and curl_ntlm.[ch] to actually verify that no functional change
+  is introduced here.
+  
+  Notice that Steve Holme has provided several patches, but these included this
+  refactoring along with 'extra' fixes. I really wanted this 'clean' refactoring
+  done first, in order to allow discussion or committing of 'extra' fixes on a
+  case by case basis, so, I had to bite the bullet ;-)
+  
+  Comments, line adjustments, compiler warning fixes, whatever, may follow
+  afterwards.
+
+- http_negotiate_sspi.c: fix compiler warning
+  
+  warning C4706: assignment within conditional expression
+
+- http NTLM: change return type of Curl_input_ntlm() to CURLcode
+  
+  Remove CURLntlm enum, no longer required.
+
+Daniel Stenberg (13 Aug 2011)
+- RELEASE-NOTES: synced with a30ede868ab64
+  
+  Three more bugs fixed, three more contributors mentioned
+
+- VC6 makefiles: added embedded documentation
+  
+  Just a note about the fact that all VC[6/8/9/10] makefiles are generated
+  from the VC6 one as source.
+
+- cmake: find winsock when building on windows
+  
+  When building on Windows, with CMake and mingw, curl fails to compile
+  because the CMake build system is not properly looking for the Winsock
+  libraries
+  
+  Patch by: Pau Garcia i Quiles
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3389231
+
+- Curl_retry_request: check return code!
+  
+  Curl_readrewind() was called without checking its return code, which
+  could lead to badness.
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3349227
+
+- ignore rtsp
+
+Yang Tse (13 Aug 2011)
+- http NTLM: update NTLM type-* message structure descriptions - followup
+
+Daniel Stenberg (12 Aug 2011)
+- docs: --delegation
+
+- added --delegation
+  
+  Using this option with an argument being set to one of
+  none/policy/always instructs libcurl how to deal with GSS
+  credentials. Or rather how it tells the server that delegation is fine
+  or not.
+
+Yang Tse (12 Aug 2011)
+- http NTLM: fix inclusion of curl_ntlm.h
+
+- http NTLM: update NTLM message structure notes
+
+- [Steve Holme brought this change]
+
+  http NTLM: move portions of http_ntlm.h into new curl_ntlm.h
+
+- http NTLM: more adjustments in preparation of code refactoring
+  
+  Use preprocessor symbol NTLM_BUFSIZE to define private NTLM buffer fixed size.
+  
+  Use a SessionHandle 'data' pointer variable to ease refactoring.
+  
+  Update NTLM type-* message structure descriptions.
+  
+  Fix some more spacing and typos (Steve Holme).
+
+Daniel Stenberg (11 Aug 2011)
+- curl_easy_cleanup: clarify the callback situation
+
+Yang Tse (11 Aug 2011)
+- http NTLM: fix compiler warning
+
+- [Steve Holme brought this change]
+
+  http NTLM: Tidied up more inconsistent spacing.
+  
+  Moved NTLMSSP_SIGNATURE, HOSTNAME_MAX, SHORTPAIR and LONGQUARTET definitions in ready for move to curl_ntlm.c.
+  
+  Used separate variables for Windows SSPI and native code to ease moving of code to curl_ntlm.c.
+  
+  Fixed typographical erros where SPPI should be SSPI.
+  
+  Fixed compilation warnings on 64-bit builds when calling Windows SSPI functions.
+
+Daniel Stenberg (10 Aug 2011)
+- rtsp.c: converted to C
+  
+  Trimmed the newlines to be LF-only. Converted the source to plain C, to
+  use curl style indents, to compile warning-free with picky options and
+  fixed the minor fprintf() bug on line 245. Added to makefile.
+
+- [Jim Hollinger brought this change]
+
+  rtsp.c: new example
+  
+  Code from
+  http://code.google.com/p/rtsprequest/source/browse/trunk/rtsprequest.cpp
+
+- TODO: remove curl_formpost in a future version
+  
+  15.8 remove 'curl_httppost' from public
+
+Yang Tse (9 Aug 2011)
+- http NTLM: Further tiding up to libcurl standards
+
+- [Steve Holme brought this change]
+
+  http NTLM: Tidied up http_ntlm prior to splitting the ntlm specific code
+
+Daniel Stenberg (9 Aug 2011)
+- TODO-RELEASE: issue #289 is fixed
+  
+  289 - bug 3349227 "secure attribute in cookie does not work with equals sign"
+
+- cookie parser: handle 'secure='
+  
+  There are two keywords in cookie headers that don't follow the regular
+  name=value style: secure and httponly. Still we must support that they
+  are written like 'secure=' and then treat them as if they were written
+  'secure'. Test case 31 was much extended by Rob Ward to test this.
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3349227
+  Reported by: "gnombat"
+
+- curl.h: mark deprecated CURLOPT_ options on same line
+  
+  This is to aid easier machine parsing and to make sure nobody who reads
+  these header lines can miss the info.
+
+- RELEASE-NOTES: recounted and updated some numbers
+
+- proxy protocol docs: rephrased and updated
+
+- RELEASE-NOTES: synced with 45d883d88df7
+  
+  Mention 5 bugixes and 1 change more
+
+- CURLFORM_BUFFER: insert filename as documented
+  
+  A regression where CURLFORM_BUFFER stopped to properly insert the file
+  name part in the formpart. Bug introduced in commit f851f768578dc096.
+  
+  Added CURLFORM_BUFFER use to test 554 to verify this.
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-07/0176.html
+  Reported by: Henry Ludemann
+
+Yang Tse (8 Aug 2011)
+- curl-compilers.m4: serial number bump
+
+- curl-compilers.m4: CURL_CONVERT_INCLUDE_TO_ISYSTEM adjustments:
+  
+  Add CURL_CHECK_COMPILER as a requirement.
+  
+  Ensure macro does nothing unless GNU_C or CLANG compiler is used.
+  
+  This should allow usage of this macro in unforeseen placements.
+
+Daniel Stenberg (8 Aug 2011)
+- SOCKS: fix the connect timeout
+  
+  The connect timeout logic when using SOCKS was done wrong
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-07/0177.html
+  Reported by: "Spoon Man"
+
+- ftp_doing: bail out on error properly
+  
+  When a failure has been detected we must abort immdiately.
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-07/0177.html
+  Reported by: "Spoon Man"
+
+- s/7.21.8/7.22.0
+
+- version bump: next release is 7.22.0
+
+- VERSIONS: clarify our versioning concept
+  
+  Drop the pre-release part from this text as we don't use that in
+  practise since many years.
+  
+  Update the phrasing to reflect our more strict interpretation:
+  http://curl.haxx.se/mail/lib-2011-08/0064.html
+
+- [Cristian Rodríguez brought this change]
+
+  OpenSSL: Use SSL_MODE_RELEASE_BUFFERS if available, reduces memory use
+  
+  See also :
+  http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html
+  http://www.imperialviolet.org/2010/06/25/overclocking-ssl.html
+  
+  Signed-off-by: Cristian Rodríguez <crrodriguez@opensuse.org>
+
+- TODO-RELEASE: close issue #292
+  
+  Fixed:
+  292 - bug 3385258 "Addendum to 3370895"
+  
+  Basically brushing up commit 27b8814017a19
+
+- Curl_pgrsStartNow: clear all bits except HIDE
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3385258
+  Reported by: Ben Winslow
+
+- readwrite_data: improved C-E decoding error message
+
+Yang Tse (7 Aug 2011)
+- BSD-style lwIP TCP/IP stack support - followup
+  
+  lwIP library initialization.
+
+- NTLM single-sign on adjustments (IX)
+  
+  Use swrite/sread instead of write/read to avoid SIGPIPE
+
+- config-win32.h: comments adjustments
+
+Daniel Stenberg (6 Aug 2011)
+- TODO-RELEASE: committed issue #304
+  
+  304 - "Async-DNS-resolve-thread gets started even when a dotted IP is
+        provided" by Christian H<E4>gele
+        http://curl.haxx.se/mail/lib-2011-08/0009.html
+
+- [Christian Hägele brought this change]
+
+  asyn-thread: check for dotted addresses before thread starts
+
+- TODO-RELEASE: Add #307 two issues by "Spoon Man"
+
+Yang Tse (5 Aug 2011)
+- checksrc.pl: add quotes to var
+
+- keep a single copy of config-win32.h in version control repository - followup
+  
+  Allow configure builds to generate src/config-win32.h
+  
+  Skip checksrc on src/config-win32.h contents already checked at lib/config-win32.h
+  
+  Allow multiple -W in checksrc.pl
+
+- BSD-style lwIP TCP/IP stack support - docs/INSTALL blurb
+
+- BSD-style lwIP TCP/IP stack support - followup
+
+- git ignore src/config-win32.h
+
+- keep a single copy of config-win32.h in version control repository.
+  
+  maketgz and buildconf.bat updated to reflect this.
+
+Daniel Stenberg (5 Aug 2011)
+- RELEASE-NOTES: synced with afe88d85f40e1
+
+- test710: verify that --proxy socks5://hostname works
+
+- create_conn: mark non-HTTP proxies accordingly
+  
+  A proxy could be marked 'httpproxy' wrongly before if set with an
+  environment variable or with the CURLOPT_PROXY option with a socks*://
+  prefix or similar.
+  
+  Added test 710 to verify
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-07/0194.html
+
+- test709: HTTP GET via SOCKS5 set in environment
+
+- TODO-RELEASE: issue #293 is done
+  
+  Fixed:
+  293 - from http://bugzilla.redhat.com/723075 "curl segfaults"
+
+- segfault fixed
+  
+  When using both -J and a single -O with multiple URLs, a missing init
+  could cause badness.
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-07/0126.html and
+       http://bugzilla.redhat.com/723075
+  Reported by: Paul Howarth and Garrett Holmstrom
+
+- test1313: test content-disposition with uneven quotes
+
+- parse_filename: deal with escaped quotes
+
+Yang Tse (4 Aug 2011)
+- BSD-style lwIP TCP/IP stack support:
+  
+  Allow compilation of libcurl and curl using BSD-style lwIP on Win32.
+  
+  In order to compile libcurl and curl with this support it is necessary
+  to edit files lib/config-win32.h and src/config-win32.h and uncomment
+  a line to make definition of preprocessor symbol USE_LWIPSOCK visible.
+  
+  Afterwards you can compile as usual.
+  
+  In order to use compiled library with BSD-style lwIP TCP/IP stack in
+  your program it is mandatory that you include lwIP header file <lwip/opt.h>
+  before including <curl/curl.h> or <curl/multi.h>
+  
+  Compilation has been verified with lwIP 1.4.0 and contrib-1.4.0 from:
+  
+  http://download.savannah.gnu.org/releases/lwip/lwip-1.4.0.zip
+  http://download.savannah.gnu.org/releases/lwip/contrib-1.4.0.zip
+  
+  Have fun!
+
+- curl.h: untangle a preprocessor block, removing duplicate sys/types.h inclusion
+
+Daniel Stenberg (4 Aug 2011)
+- TODO-RELEASE: issue #290 fixed
+  
+  Closed this entry:
+  290 - bug 3375603 "curl has problem with remote names containing ';'"
+
+- -J: support ';' in quoted file names
+  
+  Content-disposition headers can provide file names with semicolons which
+  previously would be cut off at that point.
+  
+  Added test case 1311 and 1312 to verify -J.
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3375603
+  Reported by: Peter Hjalmarsson
+
+- getpart.pm: when no part match, return blank when section ends
+
+- runtests.pl: support option=no-include
+
+- TODO-RELESE: #306 - SSL Sessions shared
+
+- TODO-RELEASE: updated with current issues
+
+Kamil Dudka (3 Aug 2011)
+- curl_gssapi: add a missing include of sendf.h
+  
+  ... to avoid build failure when GSS_C_DELEG_POLICY_FLAG is not defined.
+  
+  Reported by: Paul Howarth
+
+- curl_gssapi: refine the handling of CURLOPT_GSSAPI_DELEGATION
+  
+  Suggested by Richard Silverman.
+
+- [Adam Tkac brought this change]
+
+  Add new CURLOPT_GSSAPI_DELEGATION option.
+  
+  Curl_gss_init_sec_context got new parameter - SessionHandle.
+  
+  Signed-off-by: Adam Tkac <atkac@redhat.com>
+
+Yang Tse (31 Jul 2011)
+- configure: add check for <sys/wait.h>
+
+- NTLM single-sign on adjustments (VIII)
+  
+  Use preprocessor symbols WINBIND_NTLM_AUTH_ENABLED and WINBIND_NTLM_AUTH_FILE
+  for Samba's winbind daemon ntlm_auth helper code implementation and filename.
+  
+  Retain preprocessor symbol USE_NTLM_SSO for NTLM single-sign-on feature
+  availability implementation independent.
+  
+  For test harness, prefix NTLM_AUTH environment vars with CURL_
+  
+  Refactor and rename configure option --with-ntlm-auth to --enable-wb-ntlm-auth[=FILE]
+
+Dan Fandrich (29 Jul 2011)
+- Renumbered test2005 to test1310
+  
+  The 20xx range is for multiple sequential tests.
+
+Yang Tse (29 Jul 2011)
+- curl-functions.m4 serial # bump
+
+- Revert "configure: additional flag checks for fcntl() socket() and socketpair()"
+  
+  This reverts commit bc6e6a465ad0b9f9757c4385698fe5f255dd125b.
+
+- configure: additional flag checks for fcntl() socket() and socketpair()
+
+- NTLM single-sign on adjustments (VII)
+  
+  Initialize variables when connectdata object is created.
+
+- socketpair() usage tracking to allow fd leak detection
+
+- fix compiler warning
+
+Dan Fandrich (28 Jul 2011)
+- Avoid a "shadows global declaration" warning on old MIT Kerberos
+  
+  Defining NCOMPAT eliminates the backwards-compatibility macros
+  that are the source of the problem and which we don't need,
+  anyway.
+
+Yang Tse (28 Jul 2011)
+- NTLM single-sign on adjustments (VI)
+  
+  Fix compiler warning
+
+Dan Fandrich (28 Jul 2011)
+- Give the NTLM SSO helper a moment to cleanly shut down if needed
+
+- Removed an extraneous \n that violated the SSO daemon protocol
+  
+  This caused fake_ntlm to abort due to an invalid command
+  causing sporadic test 2005 failures.
+
+Yang Tse (28 Jul 2011)
+- NTLM single-sign on adjustments (V)
+  
+  Enhance test harness fake_ntlm logging upon invalid input.
+
+Dan Fandrich (27 Jul 2011)
+- Fixed a couple of memory leaks in NTLM SSO support
+
+Yang Tse (27 Jul 2011)
+- NTLM single-sign on adjustments (IV)
+  
+  Fix compiler warning
+
+- NTLM single-sign on adjustments (III)
+  
+  Provide some error tracing and fix execl() calling.
+
+- NTLM single-sign on adjustments (II)
+  
+  Ensure test harness fake_ntlm main function can properly handle arguments.
+
+- NTLM single-sign on adjustments (I)
+  
+  Use fake_ntlm absolute filename in NTLM_AUTH environment variable for test
+  2005 definition.
+
+Dan Fandrich (26 Jul 2011)
+- Fixed test 2005 to work in out-of-tree builds
+  
+  Also, set the test number in the test data file so fake_ntlm can
+  be reused in future tests.
+
+Yang Tse (26 Jul 2011)
+- fix compiler warning
+
+- fix compiler warning
+
+- stdio.h, stdlib.h, string.h, stdarg.h and ctype.h inclusion done in setup_once.h
+
+- WIN32 io.h and fcntl.h inclusion done in setup_once.h
+
+- time.h and sys/time.h inclusion conditionally done in setup_once.h
+
+- errno.h inclusion conditionally done in setup_once.h - followup
+
+- errno.h inclusion conditionally done in setup_once.h
+
+Daniel Stenberg (22 Jul 2011)
+- [Ben Winslow brought this change]
+
+  progress: reset flags at transfer start
+  
+  When an easy handle is used to download an URI which has no
+  Content-Length header (or equivalent) after downloading an URI which
+  does, the value from the previous transfer is reused and returned by
+  CURLINFO_CONTENT_LENGTH_DOWNLOAD. This is because the progress flags
+  (used to determine whether such a header was received) are not reset
+  between transfers.
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3370895
+
+- RELEASE-NOTES: HTTP error handling on request body send
+
+- http error response: stop sending when error is received
+  
+  When libcurl has said to the server that there's a POST or PUT coming
+  (with a content-length and all) it has to either deliver that amount of
+  data or it needs to close the connection before trying a second request.
+  
+  Adds test case 1129, 1130 and 1131
+  
+  The bug report is about when used with 100-continue, but the change is
+  more generic.
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-06/0191.html
+  Reported by: Steven Parkes
+
+- [Michael Mueller brought this change]
+
+  sso_ntlm_initiate: unassigned variable
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-07/0109.html
+
+- test2005: require a debug build
+
+- runtests: add 'debug' as a feature a test can require
+
+- configure: avoid "test -e"
+  
+  "test -e" is POSIX but clearly was not supported by the SunOS sh
+  version, -f is supported and should be a decent equivalent
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3371574
+
+- symbols-in-versions: add NTLM_SSO symbols
+
+- gitignore: ignore fake_ntlm
+
+- [Mandy Wu brought this change]
+
+  test2005: verify ntlm single-signon
+
+- [Mandy Wu brought this change]
+
+  NTLM single-sign on supported
+  
+  With the use of the 'ntlm_auth' tool from the Samba project
+
+- sws: don't enable pipelining for requests with content-length
+  
+  Log texts also modified and some white space edits
+
+Patrick Monnerat (14 Jul 2011)
+- Fix OS400 scripts to make it compilable again.
+  Upgrade ILE/RPG binding to 7.21.7.
+  Update OS400 documentation accordingly.
+
+Daniel Stenberg (14 Jul 2011)
+- runtests: ignore the 'all_proxy' environment variable as well
+  
+  We should probably also make sure that [protocol]_proxy for all possible
+  protocols libcurl supports are unset.
+
+Julien Chaffraix (13 Jul 2011)
+- curl_gssapi: Guard files with HAVE_GSSAPI.
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-07/0074.html
+  Reported and fix suggested by: Ben Greear
+
+Daniel Stenberg (13 Jul 2011)
+- gssapi: rename our files to avoid conflicts
+  
+  gssapi.h is used as a header name by Heimdal-style GSSAPI so it would
+  conflict with a private header using that name, and while renaming the
+  header I figured we should name the .c file accordingly as well.
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-07/0071.html
+  Reported by: Ben Greear
+
+- silence picky compilers: mark unused parameters
+  
+  Modern gcc versions (4.6.X) get more picky by default and have started
+  to warn for unused parameters, but luckily gcc also allows us to mark
+  them as unused so that we can avoid the warnings.
+
+Julien Chaffraix (12 Jul 2011)
+- gssapi.c: Simplified the function.
+  
+  Removed the parameters that were common to all our invocation.
+
+- Added Curl_gss_init_sec_context.
+  
+  This function wraps our calls to gss_init_sec_context so that we
+  have a unified way to talk to GSSAPI.
+
+- http_negociate: Be consistent in gss_init_sec_context attributes.
+  
+  This change makes this callsite match the rest of the code.
+
+Daniel Stenberg (4 Jul 2011)
+- code style: space between close paren and open brace
+
+- checksrc: detect open brace without space
+  
+  We use "if(condition) {" with a space between the close paren and the
+  open brace.
+
+- polarssl.h: remove CVS leftover
+
+- help output: more gnu like output
+  
+  First, the -J/--remote-header-name was wrongly sorted in the --help
+  output as pointed out in bug report #3349271.
+  
+  Then, I changed the format of the texts to follow the man page better in
+  that it now uses "-A, --long" intead of "-A/--long". I also made all
+  additional arguments get written as in "-A, --long FILENAME" instead of
+  the previous "<filename>" style.
+  
+  Reported by: Herve Amblard
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3349271
+
+- sws: allow multiple commands in <servercmd>
+
+- Curl_http_readwrite_headers: minor indent fix
+
+- gitignore: config.cache
+
+- docs: FTP quotes support '*' prefix to ignore errors
+  
+  By default libcurl stops processing quote commands on failures.
+
+- THANKS: new contributors from 7.21.7
+
+- get_gss_name: proxy auth without proxy set equals error
+  
+  Previously it would access a NULL pointer and die.
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-06/0170.html
+  Reported by: Christian Hagele
+
+- examples: cleanup curl includes
+  
+  Only <curl/curl.h> is needed typically and curl/types.h has been removed
+
+- libtests: stop checking for CURLM_CALL_MULTI_PERFORM
+  
+  CURLM_CALL_MULTI_PERFORM stopped being a valid return code from
+  curl_multi_perform back in 7.20.0. All the libcurl tests are ajusted to
+  this and no longer check for this return code. Makes them simpler.
+
+Dan Fandrich (24 Jun 2011)
+- Fixed test 1300 to pass the memory torture test
+
+Tom Wright (24 Jun 2011)
+- looks like this should be static, not dll
+
+Dan Fandrich (23 Jun 2011)
+- Display notes from setup file in testcurl.pl
+  
+  Autobuild submitters can use this to add some text to their
+  setup files to describe issues they've found with the build
+  or tests. This could include laying blame on test failures on
+  network issues or dependent libraries, explaining away compiler
+  warnings or providing any additional information that could be
+  useful to people reviewing and investigating problems with the
+  publicly available autobuild logs.  Note that persistent test
+  failures that are not issues with curl itself should normally be
+  fixed by excluding them from the test run instead.
+  
+  This is an entirely optional field that is not entered by the
+  user the first time a new build is created.
+
+- Added a leap second test to test517
+
+Daniel Stenberg (23 Jun 2011)
+- runtests.pl: warn if a test is explicitly disabled
+  
+  Just to make sure a user is aware of it.
+
+- bump release: start working towards 7.21.8
+
+- parsedate: detect more invalid dates better
+
+Version 7.21.7 (23 Jun 2011)
+
+Daniel Stenberg (23 Jun 2011)
+- curl_formfree: clarify which pointer to free
+
+- RELEASE-NOTES: mention security issue 20110623
+  
+  libcurl inappropriate GSSAPI delegation. Full details at
+  http://curl.haxx.se/docs/adv_20110623.html
+
+- RELEASE-NOTES: synced with 9016958aa8989
+
+- Curl_input_negotiate: do not delegate GSSAPI credentials
+  
+  This is a security flaw. See curl advisory 20110623 for details.
+  
+  Reported by: Richard Silverman
+
+- [Josue Andrade Gomes brought this change]
+
+  windows build: use correct MS CRT
+
+- Merge pull request #23 from salty-horse/pop3_list_space
+  
+  [pop3] remove extra space in LIST command
+
+Ori Avtalion (21 Jun 2011)
+- [pop3] remove extra space in LIST command
+  
+  Some servers, e.g. mail.bezeqint.net:110, consider it a syntax error
+
+Yang Tse (21 Jun 2011)
+- http: fix compiler warning
+  
+  compiler warning: conditional expression is constant
+
+- asyn-thread: fix compiler warning
+  
+  compiler warning: variable is initialized but not referenced
+
+- cmake: remove spurious definition
+
+Daniel Stenberg (21 Jun 2011)
+- FAQ: more blurb on persistent connections
+
+Yang Tse (21 Jun 2011)
+- xc-translit.m4 fix quoting
+
+Daniel Stenberg (20 Jun 2011)
+- INSTALL: mention the GIT-INFO file
+
+Dan Fandrich (20 Jun 2011)
+- Added LOCAL_MODULE_TAGS to support Android gingerbread
+
+Daniel Stenberg (19 Jun 2011)
+- [Amr Shahin brought this change]
+
+  unitteset: Curl_llist_move
+  
+  adding unit test for Curl_llist_move, documenting unit-tested functions
+  in llist.c, changing unit-test to unittest, replacing assert calls with
+  abort_unless calls
+
+- CURLFORM_STREAM: acknowledge CURLFORM_FILENAME
+  
+  The CURLFORM_STREAM is documented to only insert a file name (and thus
+  look like a file upload) in the part if CURLFORM_FILENAME is set, but in
+  reality it always inserted a filename="" and if CURLFORM_FILENAME wasn't
+  set, it would insert insert rubbish (or possibly crash).
+  
+  This is now fixed to work as documented, and test 554 has been extended
+  to verify this.
+  
+  Reported by: Sascha Swiercy
+  Bug: http://curl.haxx.se/mail/lib-2011-06/0070.html
+
+Yang Tse (17 Jun 2011)
+- configure: avoid direct usage of AS_TR_* macros
+
+- xc-translit.m4 provides transliteration macros with well defined behavior.
+
+Daniel Stenberg (14 Jun 2011)
+- RELEASE-NOTES: add more contributors for this release
+
+- RELEASE-NOTES: synced with 0aedccc18a33a778535
+
+- curl_formget: fix FILE * leak
+  
+  Properly deal with the fact that the last fread() call most probably is
+  a short read, and when using callbacks in fact all calls can be short
+  reads. No longer consider a file read done until it returns a 0 from the
+  read function.
+  
+  Reported by: Aaron Orenstein
+  Bug: http://curl.haxx.se/mail/lib-2011-06/0048.html
+
+- curl_formget: treat CURLFORM_STREAM better
+  
+  If a piece is set to use a callback to get the data, it should not be
+  treated as data. It unfortunately also requires that curl_easy_perform()
+  or similar has been used as otherwise the callback function hasn't been
+  figured out and curl_formget won't know how to get the content.
+
+- curl_formget.3: CURLFORM_STREAM has its drawbacks
+  
+  Due to a design flaw, the CURLFORM_STREAM option doesn't really work
+  with curl_formget until after curl_easy_perform (or similar).
+
+- FAQ: binding clarification
+  
+  We don't author the bindings, they are created outside the main project.
+
+Dan Fandrich (11 Jun 2011)
+- Added http as a dependency of test 1308
+
+Daniel Stenberg (12 Jun 2011)
+- test1309: added to the dist
+
+- write: add return code checks when used
+  
+  These were just warnings in test code but it still makes it nicer to not
+  generate them.
+
+- long/int mess
+  
+  Typecast when converting to int from long to avoid some compiler warnings
+
+Yang Tse (11 Jun 2011)
+- configure: OpenSSL API detection cleanup
+
+Dan Fandrich (11 Jun 2011)
+- Fixed test 1309 to pass the torture test
+  
+  Removing dynamic allocations also simplifies the test.
+
+Daniel Stenberg (10 Jun 2011)
+- splay: add unit tests
+  
+  The test code that was #ifdef'ed in the code was converted into unit
+  tests in test case 1309. I also removed the #if 0'ed code from splay.c
+
+- unittest: mark all unit tested functions
+  
+  With "@unittest: [num]" in the header comment for each tested function.
+  Shows we have a log way to go still...
+
+- CURLOPT_WRITEHEADER: clarify the docs
+
+- unit test formpost: added test case 1308
+  
+  This is a few first rather basic tests of curl_formadd() and
+  curl_formget(). Should serve as building blocks to add more variations
+  to the test.
+
+Yang Tse (9 Jun 2011)
+- configure: warn if OpenSSL headers and library versions don't match
+
+- configure: get API info for a couple of OpenSSL functions (followup 2)
+
+- configure: get API info for a couple of OpenSSL functions (followup 1)
+
+- configure: fix recvfrom 5th arg type qualifier detection (followup)
+
+- configure: fix recvfrom 5th arg type qualifier detection
+
+Kamil Dudka (8 Jun 2011)
+- disconnect: wipe out the keeps_speed time stamp
+  
+  When closing a connection, the speedchecker's timestamp is now deleted
+  so that it cannot accidentally be used by a fresh connection on the same
+  handle when examining the transfer speed.
+  
+  Bug: https://bugzilla.redhat.com/679709
+
+Yang Tse (7 Jun 2011)
+- urldata: use uniform inclusion style for OpenSSL headers
+
+Daniel Stenberg (7 Jun 2011)
+- HTTP time condition: force closure for 200 OK
+  
+  When a time condition isn't met, so that no body is delivered to the
+  application even though a 2xx response is being read from the server, we
+  must close the connection to avoid a re-use of the connection to be
+  completely tricked.
+  
+  Added test 1128 to verify.
+
+- RELEASE-NOTES: synced with b772f3a32146d7d
+
+Yang Tse (6 Jun 2011)
+- configure: get API info for a couple of OpenSSL functions
+
+Daniel Stenberg (5 Jun 2011)
+- wait_ms: takes an int argument
+  
+  Typecasts added since I changed more code to use long for timeouts
+
+- Curl_socket_ready: make timeout a 'long'
+  
+  It was mostly typecasted to int all over the code so switching to long
+  instead all over should be a net gain.
+
+Yang Tse (4 Jun 2011)
+- xlc: avoid preprocessor definition usage when linking
+
+- unit tests: disable unit tests for a given cross-compilation configuration.
+  
+  cross-compilation of unit tests static library/programs fails when
+  libcurl shared library is also built. This might be due to a libtool or
+  automake issue. In this case we disable unit tests.
+
+Daniel Stenberg (3 Jun 2011)
+- cookie_output: made private
+
+- digest_cleanup_one: made private
+
+- privatise: make private functions static
+
+- Curl_fileinfo_dup: removed, not used
+
+- parsedate: turn private and static
+  
+  I removed the prefix as well accordingly.
+
+Dan Fandrich (2 Jun 2011)
+- curl hasn't sent a Pragma: header by default for a while
+
+Yang Tse (2 Jun 2011)
+- unit tests: attempt to fix linkage issue
+
+- urlglob: fix zero size malloc
+
+- Remove unnecessary typecast
+
+- compiler warning: fix
+  
+  Fix compiler warning: cast increases required alignment
+
+- unit tests: make unit tests building actually depend on --enable-debug option.
+
+- OpenSSL enabled: require OPENSSL_VERSION_NUMBER definition before usage.
+
+- unit tests: more build adjustments
+
+Daniel Stenberg (1 Jun 2011)
+- CURLOPT_WILDCARDMATCH: minor style edit
+  
+  Due to some flaw in roffit I removed some style changes to make the web
+  page look better.
+
+Yang Tse (1 Jun 2011)
+- makefile: avoid preprocessor definition usage when linking
+
+- warnless: icc 9.1 workaround
+
+Daniel Stenberg (31 May 2011)
+- testcurl.pl: allow configure args to use '='
+
+Yang Tse (30 May 2011)
+- Makefile.am: fix spurious CFLAGS duplication
+
+Dan Fandrich (30 May 2011)
+- Removed types.h from Android makefile
+
+Daniel Stenberg (30 May 2011)
+- configure.ac: skip /dev/urandom check when cross-compiling
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3307835
+
+Yang Tse (29 May 2011)
+- main: fix header inclusion order
+  
+  Currently, Windows cross-compiled autobuilds require inclusion of setup.h
+  before curl.h to get definitions of CURL_STATICLIB and BUILDING_LIBCURL.
+
+- main: fix header inclusion order
+
+- distribution: Fix EXTRA_DIST letter case
+
+Daniel Stenberg (27 May 2011)
+- curl_easy_setopt.3: NOPROGRESS also affects the callback
+
+Yang Tse (27 May 2011)
+- warnless: header inclusion fix
+
+- Make checksrc.pl work on more out-of-tree builds
+  
+  Source files given with relative paths do not have the
+  -D directory specifier prepended.
+
+- compiler warning: fix
+  
+  Fix compiler warning: conversion may lose significant bits
+
+- socks: fix unaligned memory access
+
+- compiler warning: fix
+  
+  Fix compiler warning: variable was set but never used
+  
+  Fix compiler warning: clobber ignored
+
+- unit tests: build adjustment
+  
+  Also define UNITTESTS macro when building unit test sources.
+  
+  Fixing compiler warning: external definition with no prior declaration
+
+Daniel Stenberg (25 May 2011)
+- create_conn: only switch protocol handler if necessary
+  
+  When switching to HTTP because a HTTP proxy is being used, the existing
+  handler is now checked if it already is "compatible". This allows the https
+  handler remain while other non-http handlers will be redirected.
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-05/0214.html
+  Reported by: Jerome Robert
+
+- setopt.3: remove leftover style change
+
+- setopt.3: CURLOPT_WRITEFUNCTION had wrong function proto
+
+Yang Tse (25 May 2011)
+- compiler warning: fix followup
+  
+  Fix compiler warning: variable was set but never used
+  
+  Fix compiler warning: clobber ignored
+
+- unit tests: README, adjust header inclusion order
+
+- compiler warning: fix
+  
+  Fix compiler warning: variable was set but never used
+  
+  Fix compiler warning: clobber ignored
+
+- compiler warning: fix
+  
+  Fix compiler warning: external definition with no prior declaration
+
+- compiler warning: fix
+  
+  Fix compiler warning: external definition with no prior declaration
+
+- compiler warning: fix
+  
+  Fix compiler warning: argument is incompatible with corresponding format
+  string conversion
+
+- build: inclusion guard
+  
+  Enclose header file in an inclusion guard
+
+- compiler warning: fix
+  
+  Fix compiler warning: expression has no effect
+
+- compiler warning: fix
+  
+  Fix compiler warning: `keycheck' might be used uninitialized in this function.
+  Fix compiler warning: `keybit' might be used uninitialized in this function.
+
+- compiler warning: fix
+  
+  Fix variable declaration placement
+
+- compiler warning: fix
+  
+  Fix missing semicolon
+
+- compiler warning: fix
+  
+  Fix compiler warning: expression has no effect
+  
+  Fix OOM handling
+
+- compiler warning: fix
+  
+  Fix compiler warning: expression has no effect
+
+- compiler warning: fix
+  
+  Fix compiler warning: unused variable 'data'
+
+- compiler warning: fix
+  
+  Fix compiler warning: enumerated type mixed with another type
+
+- compiler warning: fix
+  
+  Fix compiler warning: enumerated type mixed with another type
+
+- compiler warning: fix
+  
+  Fix compiler warning: enumerated type mixed with another type
+
+- compiler warning: fix
+  
+  Fix compiler warning: enumerated type mixed with another type
+
+- compiler warning: fix
+  
+  Fix compiler warning: enumerated type mixed with another type
+
+- compiler warning: fix
+  
+  Fix compiler warning: empty body in an if-statement
+
+- unit tests: adjust header inclusion order
+  
+  Additionally, prevent multiple inclusions of curl_config.h
+
+Daniel Stenberg (20 May 2011)
+- Merge pull request #19 from pierrejoye/master
+  
+  winbuild: typo in docs
+
+- [Ola Mork brought this change]
+
+  cyassl: build without filesystem
+  
+  Get cyassl's NO_FILESYSTEM to work with libcurl. Otherwise I'd get linker
+  errors for the missing "SSL_CTX_load_verify_locations" functions.
+
+Pierre Joye (20 May 2011)
+- - typo
+
+Daniel Stenberg (19 May 2011)
+- typo: close is in man page section 3
+
+Yang Tse (19 May 2011)
+- tests: verify OPEN/CLOSESOCKETFUNCTION
+  
+  Test 585: Fix opensocket return type, and avoid function name clash.
+
+- version: linkage fix
+  
+  Fix linkage on c-ares enabled Windows static builds
+
+Daniel Stenberg (18 May 2011)
+- curl_easy_setopt.3: document CLOSESOCKET* options
+
+- tests: verify OPEN/CLOSESOCKETFUNCTION
+  
+  Test 585 and 586 were added. Using a modified lib500.c
+
+- symbols-in-versions: add CLOSESOCKET*
+
+- CLOSESOCKETFUNCTION: use the callback
+  
+  Fix the return type of the callback to match close() and make use of it.
+
+- CLOSESOCKETFUNCTION: added
+  
+  Introduced the initial setup to allow closesocket callbacks by making
+  sure sclose() is only ever called from one place in the libcurl source
+  and still run all test cases fine.
+
+- GnuTLS handshake: fix timeout
+  
+  Commit cbf4961bf3e garbled the timeout handling while doing SSL
+  handshaking (in an attempt at fixing another bug). This puts sanity
+  back.
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-05/0167.html
+  Reported by: Ethan Glasser Camp
+
+- checksrc: trailing whitespace detection fix
+
+- [Marcel Roelofs brought this change]
+
+  negotiate sspi: fix sequential requests
+
+- tests: added HTTP If-Modified-Since tests
+  
+  Added test 1126 and 1127 to verify curl's behaviour when If-Modified-Since
+  is used and a 200 is returned.
+  
+  The list of test cases in Makefile.am is now sorted numerically.
+
+- include: cleanup
+  
+  Made the public headers checksrc compliant
+  
+  Removed types.h (it's been unused since April 2004)
+  
+  Made the root makefile do make in include by default as well, so that
+  TAGS and the checksrc will work better.
+
+Dan Fandrich (6 May 2011)
+- Fixed compilation when RTSP is disabled
+
+- Fixed LDAP after RTSP readwrite change
+
+Daniel Stenberg (6 May 2011)
+- RELEASE-NOTES: synced with 32001ac4149b206
+
+- set_userpass: convert from protocol-specific to generic
+  
+  The protocol handler's flags field now can set that the protocol
+  requires a password, so that the set_userpass function doesn't have to
+  have the specific knowledge of which protocols that do.
+
+- RTSP: cleanups
+  
+  Made several functions static
+  
+  Made one function defined to nothing when RTSP is disabled to avoid
+  the #ifdefs in code.
+  
+  Removed explicit rtsp.h includes
+
+- RTSP: convert protocol-specific checks to generic
+  
+  Add a 'readwrite' function to the protocol handler struct and use that
+  for the extra readwrite functionality RTSP needs.
+
+- SSL: check for SSL, not specific protocols
+  
+  Code cleanup to check less for protocols and more for the specific
+  relevant feature. Like if SSL is required.
+
+- http_perhapsrewind: remove HTTP check
+  
+  No need to check for HTTP as this is now a HTTP-specific function
+
+- http_perhapsrewind:
+  
+  make it static, remove Curl_ prefix
+
+- remove FILE protocol-specific checks
+  
+  Also, convert the BANPROXY flag into NONETWORK for the protocols
+  (file:// only atm) that don't work over networks.
+
+- curl.1: --socks* options no longer needed
+  
+  As we now can specify all the socks proxy types with the regular --proxy
+  option using protocol prefix.
+
+- socks proxy: allow socks5h:// prefix too
+  
+  Using 'socks5h' as proxy protocol will make it a
+  CURLPROXY_SOCKS5_HOSTNAME proxy which is SOCKS5 and asking the proxy to
+  resolve host names. I found no "standard" protocol name for this.
+
+- curl.1: minor edit of --ftp-ssl*
+
+- [Jari Aalto brought this change]
+
+  curl.1: use GNU style and sort options
+  
+  Follow style of GNU layout (cp, mv ...) where options are separated with
+  comma: -o, --option
+  
+  Order item alphabetically (by length also): -o, -O, --option
+  
+  Follow style of GNU layout by moving help related options to the end:
+  --help, -M, --version
+
+- Corrected comments
+  
+  closepolicy has been deprecated and unused for years
+
+- ConnectionStore: remove unused return code
+
+- indent correctly
+
+- curl_easy_getinfo.3: clarify some timing info
+
+- curl_easy_setopt.3: clarify the SSH KEYFILE options usage
+  
+  The internal defaults are important info
+
+- docs: mention the protocol:// support in proxy strings
+
+- --data-ascii: add mention
+  
+  As it is a separate option it should have a .IP title
+
+- url encode docs: mention '-', '.', '_' and '~'
+  
+  Clarify that the '-', '.', '_' or '~' letters are also not escaped since
+  they shouldn't according to RFC3986 section 2.3.
+  
+  This is how this function has behaved since sep 2010, commit
+  5df13c31735fa0.
+
+- SSH: set non-blocking earlier
+  
+  Introduce an INIT state for the SSH state machine and set libssh2
+  non-blocking in that so that it is set properly before
+  libssh2_session_startup() is called.
+  
+  Bug: http://curl.haxx.se/mail/archive-2011-05/0001.html
+
+- curl_formfree.3: mention argument may be NULL
+  
+  As the code already checks for it we can just as well make it official!
+
+- ConnectionExists: avoid NULL dereference
+  
+  When checking for connections that are bound to a particular device we
+  must make sure we don't compare with a NULL pointer.
+
+- resolver_error: remove bad semicolon
+
+- RELEASE-NOTES: synced with c4bc1d473f324
+
+- anyauthput.c: stdint.h must not be included unconditionally
+  
+  As it is already included by curlbuild.h if it exists on the platform it
+  was included here superfluously anyway.
+  
+  Reported by: Dagobert Michelsen
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3294509
+
+- gai_strerror: provide private implementation
+  
+  There are systems (like NetWare) without its own gai_strerror()
+  function.
+
+- treaded-resolver: better error messages
+  
+  Now use gai_strerror() to get proper error messages when getaddrinfo()
+  has failed. Detect the function in configure.
+  
+  Code based on work and suggestions by Jeff Pohlmeyer and Guenter Knauf
+
+- proxy: allow socks:// prefix in proxy string
+  
+  Inspired by a patch from OB.Conseil. Added test case 708 to verify.
+
+- [Zmey Petroff brought this change]
+
+  CMake: improve library search, implement install.
+  
+  Improved library search by check_function_exists_concat() macro:
+  it does not revert the list of libraries any more.
+  
+  Improved OpenSSL library search: first find zlib, then search for
+  openssl libraries that may depend on zlib.
+  
+  For Unix: openssl libraries can now be detected in nonstandard
+  locations. Supply CMAKE_LIBRARY_PATH to CMake on command line.
+  
+  Added installation capability (very basic one yet).
+
+- multi-socks: fix connect to proxy
+  
+  When connecting to a socks or similar proxy we do the proxy handshake at
+  once when we know the TCP connect is completed and we only consider the
+  "connection" complete after the proxy handshake. This fixes test 564
+  which is now no longer considered disabled.
+  
+  Reported by: Dmitri Shubin
+  Bug: http://curl.haxx.se/mail/lib-2011-04/0127.html
+
+- cleanup: remove old unused debug code
+
+Dan Fandrich (27 Apr 2011)
+- Make checksrc.pl work on out-of-tree builds
+  
+  Source files given with absolute paths do not have the
+  -D directory specifier prepended.
+
+Daniel Stenberg (27 Apr 2011)
+- make: add checksrc.pl to dist
+
+- make: add 'checksrc' as target to check code style
+  
+  The make target checksrc now works in the root makefile and in both the
+  src and lib directories.
+  
+  It is also run automatically on "all" if configure --enable-debug was
+  used.
+
+- checksrc: whitespace and code style cleanup
+  
+  Make everything adhere to the standards upheld by checksrc.pl and now
+  run checksrc from the makefile on debug builds.
+
+- checksrc: add -W to allow a file to be whitelisted
+  
+  Useful when a known file just doesn't comply and there's no intention to
+  make it do so.
+
+- whitespace cleanup: no space first in conditionals
+  
+  "if(a)" is our style, not "if( a )"
+
+- lib/make: run checksrc.pl once for all files
+  
+  Since it now supports multiple files this will be faster and will show
+  problems for more file than one at a time - more convenient.
+
+- checksrc: scan many files, more checks
+  
+  It now scans multiple files and outputs an error+warning count summary
+  at the end in case at least one was detected.
+  
+  -D can be used to specify in which dir the files are located
+  
+  The script now scans for conditions that starts with a space for
+  if/while/for lines.
+
+- Makefile: run checksrc if debug enabled
+  
+  And make the build fail if a warning or error was detected
+
+- checksrc: exit error code if warnings or errors
+
+- SSH: move knownhost logic to separate function
+
+- source cleanup: unify look, style and indent levels
+  
+  By the use of a the new lib/checksrc.pl script that checks that our
+  basic source style rules are followed.
+
+Guenter Knauf (27 Apr 2011)
+- Windows native IDN fixes.
+  
+  For now provide prototypes instead of including the
+  non-standard normalisation.h which is only available in the
+  "Internationalized Domain Names Mitigation APIs" download.
+
+Dan Fandrich (25 Apr 2011)
+- Fixed compiler warning in Windows SSPI case
+
+- Fixed compilation when the synchronous resolver is used
+
+- Added new resolver sources to Symbian and VC6 build files
+
+Daniel Stenberg (25 Apr 2011)
+- hostip: comment fixed to state current situation
+
+- async resolvers: further cleanups
+  
+  asyn-ares.c and asyn-thread.c are two separate backends that implement
+  the same (internal) async resolver API for libcurl to use. Backend is
+  specified at build time.
+  
+  The internal resolver API is defined in asyn.h for asynch resolvers.
+
+- asynch resolvers: cleanup
+  
+  Fixed indents, coding conventions and white space edits.
+  
+  Modified the c-ares completion callback function to again NOT read the
+  conn data when the ares handle is being taken down as then it may have
+  been freed already.
+
+- [Vsevolod Novikov brought this change]
+
+  asynch resolvers: unified
+  
+  Introducing an internal API for handling of different async resolver
+  backends.
+
+Guenter Knauf (24 Apr 2011)
+- Enabled OpenWatcom native Windows IDN build.
+  
+  For now we directly import the Idn* symbols with the linker;
+  an upcoming release of OWC will have these added to the import
+  lib normaliz.lib, and prototypes are added to winnnls.h.
+
+Daniel Stenberg (22 Apr 2011)
+- NTLM: work with unicode
+  
+  Rewritten code from a patch brought by Matteo Rocco.
+
+- bump version: work towards 7.21.7
+
+- THANKS: contributors from 7.21.6
+
+Version 7.21.6 (22 Apr 2011)
+
+Daniel Stenberg (22 Apr 2011)
+- RELEASE-NOTES: two more contributors
+
+Dan Fandrich (21 Apr 2011)
+- Fixed test 1023 when using daily snapshots
+
+- Include unistd.h to declare close()
+
+Julien Chaffraix (21 Apr 2011)
+- [Fabian Keil brought this change]
+
+  In lib/, change 'wanna' to 'want to'.
+  
+  Found with codespell.
+
+- [Fabian Keil brought this change]
+
+  Fix spelling errors in buildconf
+  
+  Found with codespell.
+
+- [Fabian Keil brought this change]
+
+  Fix spelling errors in src/
+  
+  Found with codespell.
+
+- [Fabian Keil brought this change]
+
+  Fix spelling errors in include/
+
+- [Fabian Keil brought this change]
+
+  Fix a couple of spelling errors in lib/
+  
+  Found with codespell.
+
+- transfer.c: Fixed indentation in readwrite_data.
+
+Dan Fandrich (20 Apr 2011)
+- Fixed closing test tag
+
+Daniel Stenberg (20 Apr 2011)
+- RELEASE-NOTES: synced with 3242abd87a1262
+
+- SFTP: close file before postquote
+  
+  Make sure that files are closed before the post quote commands run as if
+  they operate on the just transferred file they could otherwise easily
+  fail.
+  
+  Patch by: Rajesh Naganathan (edited)
+
+Dan Fandrich (20 Apr 2011)
+- Fixed test 1022 when using daily snapshots
+
+Daniel Stenberg (20 Apr 2011)
+- Curl_http_connect: detect HTTPS properly after CONNECT
+  
+  libcurl failed to check the correct struct for HTTPS after CONNECT was
+  issued to the proxy, so it didn't do the TLS handshake and subsequently
+  failed the connection. A regression released in 7.21.5 (introduced
+  around commit 8831000bc07de).
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-04/0134.html
+  Reported by: Josue Andrade Gomes
+
+- curl_easy_setopt.3: CURLOPT_PROXYTYPE clarification
+  
+  When set to a HTTP 1.0 proxy, that only affects the CONNECT request and
+  not the regular HTTP request.
+
+- [Gisle Vanem brought this change]
+
+  CURL_DOES_CONVERSIONS: fixes
+  
+  Made it compile and work again after the code move.
+
+- CURL_DOES_CONVERSIONS: cleanup
+  
+  Massively reduce #ifdefs all over (23 #ifdef lines less so far)
+  Moved conversion-specific code to non-ascii.c
+
+Guenter Knauf (19 Apr 2011)
+- Improve MinGW static makefile builds.
+  
+  It is now possible to use any combination of features without
+  having to 1st add makefile targets to the main makefile. The
+  main makefile now passes the 'mingw32-feat1-feat2' as var CFG,
+  and the ./[lib|src]/Makefile.m32 parses the CFG var to determine
+  the features to be enabled.
+
+- Enabled MinGW native Windows IDN build.
+
+- Windows native IDN fixes.
+  
+  changed windows.h include to system header;
+  changed obsolete 2nd check for str_w to str_utf8 in order to catch
+  malloc() failure and avoid a free(NULL);
+  changed calls to GetLastError() to void to kill unsused var compiler
+  warnings;
+  moved one call to GetLastError() into else case so that its only
+  called when WideCharToMultiByte() really fails.
+
+- Windows native IDN fixes.
+  
+  Provide prototype for curl_win32_idn_to_ascii();
+  remove wrong 3rd parameter from curl_win32_idn_to_ascii() call.
+
+Daniel Stenberg (19 Apr 2011)
+- curl-config: fix version output
+  
+  do the s/VERSION/CURLVERSION replacement for the human redable output
+  for --checkfor
+  
+  Reported by: Ryan Schmidt
+
+- RELEASE-NOTES: synced with 5aae3c13e2
+
+Guenter Knauf (19 Apr 2011)
+- Updated default (recommended) dependency versions.
+
+- Updated default (recommended) dependency versions.
+
+Daniel Stenberg (18 Apr 2011)
+- transfer-encoding: document the options
+  
+  The new libcurl and command line options are now described.
+
+- transfer-encoding: added new option and cmdline
+  
+  Added CURLOPT_TRANSFER_ENCODING as the option to set to request Transfer
+  Encoding in HTTP requests (if built zlib enabled). I also renamed
+  CURLOPT_ENCODING to CURLOPT_ACCEPT_ENCODING (while keeping the old name
+  around) to reduce the confusion when we have to encoding options for
+  HTTP.
+  
+  --tr-encoding is now the new command line option for curl to request
+  this, and thus I updated the test cases accordingly.
+
+- CURLE_BAD_CONTENT_ENCODING: now used for transfer encoding too
+
+- TE: do the Connection: header
+  
+  When TE: is inserted in the request, we must add a "Connection: TE" as
+  well to be HTTP 1.1 compliant. If a custom Connection: header is passed
+  in, we must use that and only append TE to it. Test case 1125 verifies
+  TE: + custom Connection:.
+
+- test1124: verify gzip AND chunked transfer-encoding
+
+- TE: rename struct field content_encoding
+  
+  Since this struct member is used in the code to determine what and how
+  to decode automatically and since it is now also used for compressed
+  Transfer-Encodings, I renamed it to the more suitable 'auto_decoding'
+
+- HTTP: add support for gzip and deflate Transfer-Encoding
+  
+  Transfer-Encoding differs from Content-Encoding in a few subtle ways,
+  but primarily it concerns the transfer only and not the content so when
+  discovered to be compressed we know we have to uncompress it. There will
+  only arrive compressed transfers in a response after we have requested
+  them with the appropriate TE: header.
+  
+  Test case 1122 and 1123 verify.
+
+Patrick Monnerat (18 Apr 2011)
+- OS400 pragma comment: replace (date) by (user, __DATE__) to include year.
+
+- Augment RPG binding with "OLDIES" definitions.
+  Fix OS400 LDAP wrappers: strings were non null-terminated.
+
+Daniel Stenberg (18 Apr 2011)
+- curl-config: fix --version
+  
+  curl-config --version didn't output the correct version string (bug
+  introduced in commit 0355e33b5f7b234cf3), and unfortunately the test
+  case 1022 that was supposed to check for this was broken.
+  
+  This change fixes the test to detect this problem and it fixes the
+  output.
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3288727
+
+- RELEASE-NOTES: updated contributor amount
+
+- THANKS: 11 new contributors from 7.21.5
+
+- 7.21.6: next planned release number
+
+Version 7.21.5 (17 Apr 2011)
+
+Daniel Stenberg (17 Apr 2011)
+- base64.c: removed wrong comment
+
+- INTERNALS: clean up
+  
+  Clarified the release procedure
+
+- TODO-RELEASE: push the remaining ones to next release
+  
+  As we're closing in on the release, I give up on the remaining ones but
+  I leave them in here for now to try to fix for next release.
+  
+  I removed the 281 issue about warnings from the statical analyzer scans,
+  as they seem to be mostly false positives at this point.
+
+- RELEASE-NOTES: synced with c246f63a71
+
+- Curl_ssl_shutdown: restore send/recv pointers
+  
+  When going back from SSL, put the send/recv function pointers back to
+  the plain versions.
+  
+  Bug: http://curl.haxx.se/mail/lib-2011-04/0070.html
+  Reported by: Mehmet Bozkurt
+
+Guenter Knauf (16 Apr 2011)
+- Changed email per Gisle's request.
+
+Daniel Stenberg (14 Apr 2011)
+- curl.1: error code update
+  
+  Error 4 has got a meaning
+  
+  Error 48 has got a slightly different meaning now
+
+- FAQ: c-ares does ipv6 pretty well now
+
+- [Andrei Benea brought this change]
+
+  Fix a buffer overflow in pubkey_show().
+
+Guenter Knauf (14 Apr 2011)
+- Replaced var manipulations with perlish hacks.
+
+Dan Fandrich (12 Apr 2011)
+- Updated minimum binary sizes
+
+Daniel Stenberg (12 Apr 2011)
+- configure: libssh2 link fix without pkg-config
+  
+  The script didn't properly add the -lssh2 link option when it enabled
+  libssh2 linking where pkg-config isn't found.
+  
+  Reported by: Saqib Ali
+  Bug: http://curl.haxx.se/mail/lib-2011-04/0054.html
+
+- RELEASE-NOTES: synced with f01df197981
+
+- checkconnection: don't call with NULL pointer
+  
+  When checking if an existing RTSP connection is alive or not, the
+  checkconnection function might be called with a SessionHandle pointer
+  being NULL and then referenced causing a crash. This happened only using
+  the multi interface.
+  
+  Reported by: Tinus van den Berg
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3280739
+
+- curl.1: spell out the -O target directory
+  
+  When using -O the file will be saved in the current directory, and this
+  is now spelled out clearly.
+
+- OpenSSL: no-sslv2 aware
+  
+  Allow openSSL without SSL2 to be used. This fix is inspired by the fix
+  provided by Cristian Rodríguez.
+  
+  Reported by: Cristian Rodríguez
+
+- curl_easy_setopt.3: CURLOPT_RESOLVE typo version
+  
+  Reported by: Hongli Lai
+
+Kamil Dudka (8 Apr 2011)
+- nss: allow to use multiple client certificates for a single host
+  
+  In case a client certificate is used, invalidate SSL session cache
+  at the end of a session.  This forces NSS to ask for a new client
+  certificate when connecting second time to the same host.
+  
+  Bug: https://bugzilla.redhat.com/689031
+
+Daniel Stenberg (7 Apr 2011)
+- mk-ca-bundle.pl: show full URL in output
+  
+  When I decided to search for a potential error with the cacert bundle it
+  struck me I wanted to see the full source URL in the output...
+
+Dan Fandrich (7 Apr 2011)
+- Added mention of FTP proxies
+
+Daniel Stenberg (7 Apr 2011)
+- [Gisle Vanem brought this change]
+
+  src/Makefile.b32: updates
+  
+  * Rename the object object directory from 'objs' to 'BCC_obj' to be in
+   sync with my previous patch for lib/Makefile.b32.
+  
+  * Turn off these warnings to keep the build totally silent (with CBuilder-6
+   that is).
+    -w-inl    8026 Functions X are not expanded inline.
+    -w-pia   8060 Possibly incorrect assignment
+    -w-pin  8061 Initialization is only partially bracketed
+   (same added in src/Makefile.b32)
+  
+  * $(MKDIR) and $(RMDIR) have been replaced with the shell-commands 'md'
+   and 'rd'. When having MingW/Msys programs 'mkdir.exe' and 'rmdir.exe' in
+  $PATH, this confuses Borland's make and the result (the cleaning etc.) would
+   not be as expected.
+  
+  * Removed the preprocessing step; no need for PP_CMD and the .int files.
+   curl.exe builds fine w/o and the makefile gets simpler.
+  
+  * Added a target for creating a compressed hugehelp.c if WITH_ZLIB is  defined.
+  It assumes groff, gzip and perl is available if such an "advanced"  users
+  requests it. Okay? BTW. My groff and Perl needs unix-slashes ('/').
+   Other perls should handle both forms ('/' and '\').
+
+- [Gisle Vanem brought this change]
+
+  lib/Makefile.b32: updates
+  
+  * Rename the object object directory from 'objs' to 'BCC_obj'. I feel
+   it should be named properly. Ref. Makefile.Watcom where it's called
+   'WC_Win32.obj'.
+  
+  * Turn off these warnings to keep the build totally silent (with CBuilder-6
+   that is).
+    -w-inl    8026 Functions X are not expanded inline.
+    -w-pia   8060 Possibly incorrect assignment
+    -w-pin  8061 Initialization is only partially bracketed
+  
+  I'm sure the warnings could be fixed the "proper" way or with some added
+  "#pragma" statements. But that just clutters the sources IMHO.
+  
+  * $(MKDIR) and $(RMDIR) have been replaced with the shell-commands 'md'
+   and 'rd'. When having MingW/Msys programs 'mkdir.exe' and 'rmdir.exe' in
+  $PATH, this confuses Borland's make and the result (the cleaning etc.) would
+   not be as expected.
+  
+  * Added a ".path.int = $(OBJDIR)" to tell make where the $(PREPROCESSED)
+   files are. Why we need the preprocess step in the fist place is beyond me
+  (Yang?). But I'll leave that for now.
+
+- [Gisle Vanem brought this change]
+
+  examples/makefile.dj: update email
+
+- TODO-RELEASE: deleted 4 issues
+  
+  These problems have gotten no interest/feedback from users:
+  
+  -275 - Introduce a way to avoid sending USER for FTP connections
+  -288 - bug 3219997 curl rtmp request curl: (55) select/poll returned error
+  
+  This problem is rather an autoconf bug with little user interest and it
+  can be worked around with an older autoconf:
+  
+  -278 - "Configure  $as_echo does not work"
+  
+  This problem is not fixed:
+  
+  -286 - bug 3214223 Pipelined HTTP requests with a zero-length body broken
+
+- [Chris Smowton brought this change]
+
+  HTTP pipelining: Fix handling of zero-length responses
+  
+  Also add test case 584 for the same
+  
+  Bug: http://curl.haxx.se/bug/view.cgi?id=3214223
+
+- libcurl.pc: version number fix
+  
+  This hasn't show the version number correctly since the $VERSION change
+  in the configure, and now it works again.
+
+Dan Fandrich (5 Apr 2011)
+- Changed some nonportable types
+
+- Don't list NTLM in curl-config when HTTP is disabled
+  
+  Also, fixed Curl_proxyCONNECT() stub with HTTP disabled.
diff --git a/curl-7.25.0/CMake/CMakeConfigurableFile.in b/curl-7.25.0/CMake/CMakeConfigurableFile.in
new file mode 100644
index 0000000..4cf74a1
--- /dev/null
+++ b/curl-7.25.0/CMake/CMakeConfigurableFile.in
@@ -0,0 +1,2 @@
+@CMAKE_CONFIGURABLE_FILE_CONTENT@
+
diff --git a/curl-7.25.0/CMake/CurlCheckCSourceCompiles.cmake b/curl-7.25.0/CMake/CurlCheckCSourceCompiles.cmake
new file mode 100644
index 0000000..b632768
--- /dev/null
+++ b/curl-7.25.0/CMake/CurlCheckCSourceCompiles.cmake
@@ -0,0 +1,75 @@
+# - Check if the source code provided in the SOURCE argument compiles.
+# CURL_CHECK_C_SOURCE_COMPILES(SOURCE VAR)
+# - macro which checks if the source code compiles
+#  SOURCE   - source code to try to compile
+#  VAR      - variable to store whether the source code compiled
+#
+# The following variables may be set before calling this macro to
+# modify the way the check is run:
+#
+#  CMAKE_REQUIRED_FLAGS = string of compile command line flags
+#  CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
+#  CMAKE_REQUIRED_INCLUDES = list of include directories
+#  CMAKE_REQUIRED_LIBRARIES = list of libraries to link
+
+macro(CURL_CHECK_C_SOURCE_COMPILES SOURCE VAR)
+  if("${VAR}" MATCHES "^${VAR}$" OR "${VAR}" MATCHES "UNKNOWN")
+    set(message "${VAR}")
+    # If the number of arguments is greater than 2 (SOURCE VAR)
+    if(${ARGC} GREATER 2)
+      # then add the third argument as a message
+      set(message "${ARGV2} (${VAR})")
+    endif(${ARGC} GREATER 2)
+    set(MACRO_CHECK_FUNCTION_DEFINITIONS
+      "-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
+    if(CMAKE_REQUIRED_LIBRARIES)
+      set(CURL_CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES
+        "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
+    else(CMAKE_REQUIRED_LIBRARIES)
+      set(CURL_CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES)
+    endif(CMAKE_REQUIRED_LIBRARIES)
+    if(CMAKE_REQUIRED_INCLUDES)
+      set(CURL_CHECK_C_SOURCE_COMPILES_ADD_INCLUDES
+        "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
+    else(CMAKE_REQUIRED_INCLUDES)
+      set(CURL_CHECK_C_SOURCE_COMPILES_ADD_INCLUDES)
+    endif(CMAKE_REQUIRED_INCLUDES)
+    set(src "")
+    foreach(def ${EXTRA_DEFINES})
+      set(src "${src}#define ${def} 1\n")
+    endforeach(def)
+    foreach(inc ${HEADER_INCLUDES})
+      set(src "${src}#include <${inc}>\n")
+    endforeach(inc)
+
+    set(src "${src}\nint main() { ${SOURCE} ; return 0; }")
+    set(CMAKE_CONFIGURABLE_FILE_CONTENT "${src}")
+    configure_file(${CMAKE_CURRENT_SOURCE_DIR}/CMake/CMakeConfigurableFile.in
+      "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c"
+      IMMEDIATE)
+    message(STATUS "Performing Test ${message}")
+    try_compile(${VAR}
+      ${CMAKE_BINARY_DIR}
+      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c
+      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
+      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
+      "${CURL_CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES}"
+      "${CURL_CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}"
+      OUTPUT_VARIABLE OUTPUT)
+    if(${VAR})
+      set(${VAR} 1 CACHE INTERNAL "Test ${message}")
+      message(STATUS "Performing Test ${message} - Success")
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+        "Performing C SOURCE FILE Test ${message} succeded with the following output:\n"
+        "${OUTPUT}\n"
+        "Source file was:\n${src}\n")
+    else(${VAR})
+      message(STATUS "Performing Test ${message} - Failed")
+      set(${VAR} "" CACHE INTERNAL "Test ${message}")
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+        "Performing C SOURCE FILE Test ${message} failed with the following output:\n"
+        "${OUTPUT}\n"
+        "Source file was:\n${src}\n")
+    endif(${VAR})
+  endif("${VAR}" MATCHES "^${VAR}$" OR "${VAR}" MATCHES "UNKNOWN")
+endmacro(CURL_CHECK_C_SOURCE_COMPILES)
diff --git a/curl-7.25.0/CMake/CurlCheckCSourceRuns.cmake b/curl-7.25.0/CMake/CurlCheckCSourceRuns.cmake
new file mode 100644
index 0000000..6b14af8
--- /dev/null
+++ b/curl-7.25.0/CMake/CurlCheckCSourceRuns.cmake
@@ -0,0 +1,83 @@
+# - Check if the source code provided in the SOURCE argument compiles and runs.
+# CURL_CHECK_C_SOURCE_RUNS(SOURCE VAR)
+# - macro which checks if the source code runs
+#  SOURCE   - source code to try to compile
+#  VAR - variable to store size if the type exists.
+#
+# The following variables may be set before calling this macro to
+# modify the way the check is run:
+#
+#  CMAKE_REQUIRED_FLAGS = string of compile command line flags
+#  CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
+#  CMAKE_REQUIRED_INCLUDES = list of include directories
+#  CMAKE_REQUIRED_LIBRARIES = list of libraries to link
+
+macro(CURL_CHECK_C_SOURCE_RUNS SOURCE VAR)
+  if("${VAR}" MATCHES "^${VAR}$" OR "${VAR}" MATCHES "UNKNOWN")
+    set(message "${VAR}")
+    # If the number of arguments is greater than 2 (SOURCE VAR)
+    if(${ARGC} GREATER 2)
+      # then add the third argument as a message
+      set(message "${ARGV2} (${VAR})")
+    endif(${ARGC} GREATER 2)
+    set(MACRO_CHECK_FUNCTION_DEFINITIONS
+      "-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
+    if(CMAKE_REQUIRED_LIBRARIES)
+      set(CURL_CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES
+        "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
+    else(CMAKE_REQUIRED_LIBRARIES)
+      set(CURL_CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES)
+    endif(CMAKE_REQUIRED_LIBRARIES)
+    if(CMAKE_REQUIRED_INCLUDES)
+      set(CURL_CHECK_C_SOURCE_COMPILES_ADD_INCLUDES
+        "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
+    else(CMAKE_REQUIRED_INCLUDES)
+      set(CURL_CHECK_C_SOURCE_COMPILES_ADD_INCLUDES)
+    endif(CMAKE_REQUIRED_INCLUDES)
+    set(src "")
+    foreach(def ${EXTRA_DEFINES})
+      set(src "${src}#define ${def} 1\n")
+    endforeach(def)
+    foreach(inc ${HEADER_INCLUDES})
+      set(src "${src}#include <${inc}>\n")
+    endforeach(inc)
+
+    set(src "${src}\nint main() { ${SOURCE} ; return 0; }")
+    set(CMAKE_CONFIGURABLE_FILE_CONTENT "${src}")
+    configure_file(${CMAKE_CURRENT_SOURCE_DIR}/CMake/CMakeConfigurableFile.in
+      "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c"
+      IMMEDIATE)
+    message(STATUS "Performing Test ${message}")
+    try_run(${VAR} ${VAR}_COMPILED
+      ${CMAKE_BINARY_DIR}
+      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c
+      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
+      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
+      "${CURL_CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES}"
+      "${CURL_CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}"
+      OUTPUT_VARIABLE OUTPUT)
+    # if it did not compile make the return value fail code of 1
+    if(NOT ${VAR}_COMPILED)
+      set(${VAR} 1)
+    endif(NOT ${VAR}_COMPILED)
+    # if the return value was 0 then it worked
+    set(result_var ${${VAR}})
+    if("${result_var}" EQUAL 0)
+      set(${VAR} 1 CACHE INTERNAL "Test ${message}")
+      message(STATUS "Performing Test ${message} - Success")
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+        "Performing C SOURCE FILE Test ${message} succeded with the following output:\n"
+        "${OUTPUT}\n"
+        "Return value: ${${VAR}}\n"
+        "Source file was:\n${src}\n")
+    else("${result_var}" EQUAL 0)
+      message(STATUS "Performing Test ${message} - Failed")
+      set(${VAR} "" CACHE INTERNAL "Test ${message}")
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+        "Performing C SOURCE FILE Test ${message} failed with the following output:\n"
+        "${OUTPUT}\n"
+        "Return value: ${result_var}\n"
+        "Source file was:\n${src}\n")
+    endif("${result_var}" EQUAL 0)
+  endif("${VAR}" MATCHES "^${VAR}$" OR "${VAR}" MATCHES "UNKNOWN")
+endmacro(CURL_CHECK_C_SOURCE_RUNS)
diff --git a/curl-7.25.0/CMake/CurlTests.c b/curl-7.25.0/CMake/CurlTests.c
new file mode 100644
index 0000000..199871a
--- /dev/null
+++ b/curl-7.25.0/CMake/CurlTests.c
@@ -0,0 +1,711 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at http://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+#ifdef TIME_WITH_SYS_TIME
+/* Time with sys/time test */
+
+#include <sys/types.h>
+#include <sys/time.h>
+#include <time.h>
+
+int
+main ()
+{
+if ((struct tm *) 0)
+return 0;
+  ;
+  return 0;
+}
+
+#endif
+
+#ifdef HAVE_FCNTL_O_NONBLOCK
+
+/* headers for FCNTL_O_NONBLOCK test */
+#include <sys/types.h>
+#include <unistd.h>
+#include <fcntl.h>
+/* */
+#if defined(sun) || defined(__sun__) || \
+    defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+# if defined(__SVR4) || defined(__srv4__)
+#  define PLATFORM_SOLARIS
+# else
+#  define PLATFORM_SUNOS4
+# endif
+#endif
+#if (defined(_AIX) || defined(__xlC__)) && !defined(_AIX41)
+# define PLATFORM_AIX_V3
+#endif
+/* */
+#if defined(PLATFORM_SUNOS4) || defined(PLATFORM_AIX_V3) || defined(__BEOS__)
+#error "O_NONBLOCK does not work on this platform"
+#endif
+
+int
+main ()
+{
+      /* O_NONBLOCK source test */
+      int flags = 0;
+      if(0 != fcntl(0, F_SETFL, flags | O_NONBLOCK))
+          return 1;
+      return 0;
+}
+#endif
+
+#ifdef HAVE_GETHOSTBYADDR_R_5
+#include <sys/types.h>
+#include <netdb.h>
+int
+main ()
+{
+
+char * address;
+int length;
+int type;
+struct hostent h;
+struct hostent_data hdata;
+int rc;
+#ifndef gethostbyaddr_r
+  (void)gethostbyaddr_r;
+#endif
+rc = gethostbyaddr_r(address, length, type, &h, &hdata);
+  ;
+  return 0;
+}
+#endif
+#ifdef HAVE_GETHOSTBYADDR_R_5_REENTRANT
+#define _REENTRANT
+#include <sys/types.h>
+#include <netdb.h>
+int
+main ()
+{
+
+char * address;
+int length;q
+int type;
+struct hostent h;
+struct hostent_data hdata;
+int rc;
+#ifndef gethostbyaddr_r
+  (void)gethostbyaddr_r;
+#endif
+rc = gethostbyaddr_r(address, length, type, &h, &hdata);
+  ;
+  return 0;
+}
+#endif
+#ifdef HAVE_GETHOSTBYADDR_R_7
+#include <sys/types.h>
+#include <netdb.h>
+int
+main ()
+{
+
+char * address;
+int length;
+int type;
+struct hostent h;
+char buffer[8192];
+int h_errnop;
+struct hostent * hp;
+
+#ifndef gethostbyaddr_r
+  (void)gethostbyaddr_r;
+#endif
+hp = gethostbyaddr_r(address, length, type, &h,
+                     buffer, 8192, &h_errnop);
+  ;
+  return 0;
+}
+#endif
+#ifdef HAVE_GETHOSTBYADDR_R_7_REENTRANT
+#define _REENTRANT
+#include <sys/types.h>
+#include <netdb.h>
+int
+main ()
+{
+
+char * address;
+int length;
+int type;
+struct hostent h;
+char buffer[8192];
+int h_errnop;
+struct hostent * hp;
+
+#ifndef gethostbyaddr_r
+  (void)gethostbyaddr_r;
+#endif
+hp = gethostbyaddr_r(address, length, type, &h,
+                     buffer, 8192, &h_errnop);
+  ;
+  return 0;
+}
+#endif
+#ifdef HAVE_GETHOSTBYADDR_R_8
+#include <sys/types.h>
+#include <netdb.h>
+int
+main ()
+{
+
+char * address;
+int length;
+int type;
+struct hostent h;
+char buffer[8192];
+int h_errnop;
+struct hostent * hp;
+int rc;
+
+#ifndef gethostbyaddr_r
+  (void)gethostbyaddr_r;
+#endif
+rc = gethostbyaddr_r(address, length, type, &h,
+                     buffer, 8192, &hp, &h_errnop);
+  ;
+  return 0;
+}
+#endif
+#ifdef HAVE_GETHOSTBYADDR_R_8_REENTRANT
+#define _REENTRANT
+#include <sys/types.h>
+#include <netdb.h>
+int
+main ()
+{
+
+char * address;
+int length;
+int type;
+struct hostent h;
+char buffer[8192];
+int h_errnop;
+struct hostent * hp;
+int rc;
+
+#ifndef gethostbyaddr_r
+  (void)gethostbyaddr_r;
+#endif
+rc = gethostbyaddr_r(address, length, type, &h,
+                     buffer, 8192, &hp, &h_errnop);
+  ;
+  return 0;
+}
+#endif
+#ifdef HAVE_GETHOSTBYNAME_R_3
+#include <string.h>
+#include <sys/types.h>
+#include <netdb.h>
+#undef NULL
+#define NULL (void *)0
+
+int
+main ()
+{
+
+struct hostent_data data;
+#ifndef gethostbyname_r
+  (void)gethostbyname_r;
+#endif
+gethostbyname_r(NULL, NULL, NULL);
+  ;
+  return 0;
+}
+#endif
+#ifdef HAVE_GETHOSTBYNAME_R_3_REENTRANT
+#define _REENTRANT
+#include <string.h>
+#include <sys/types.h>
+#include <netdb.h>
+#undef NULL
+#define NULL (void *)0
+
+int
+main ()
+{
+
+struct hostent_data data;
+#ifndef gethostbyname_r
+  (void)gethostbyname_r;
+#endif
+gethostbyname_r(NULL, NULL, NULL);
+  ;
+  return 0;
+}
+#endif
+#ifdef HAVE_GETHOSTBYNAME_R_5
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <netdb.h>
+#undef NULL
+#define NULL (void *)0
+
+int
+main ()
+{
+#ifndef gethostbyname_r
+  (void)gethostbyname_r;
+#endif
+gethostbyname_r(NULL, NULL, NULL, 0, NULL);
+  ;
+  return 0;
+}
+#endif
+#ifdef HAVE_GETHOSTBYNAME_R_5_REENTRANT
+#define _REENTRANT
+#include <sys/types.h>
+#include <netdb.h>
+#undef NULL
+#define NULL (void *)0
+
+int
+main ()
+{
+
+#ifndef gethostbyname_r
+  (void)gethostbyname_r;
+#endif
+gethostbyname_r(NULL, NULL, NULL, 0, NULL);
+  ;
+  return 0;
+}
+#endif
+#ifdef HAVE_GETHOSTBYNAME_R_6
+#include <sys/types.h>
+#include <netdb.h>
+#undef NULL
+#define NULL (void *)0
+
+int
+main ()
+{
+
+#ifndef gethostbyname_r
+  (void)gethostbyname_r;
+#endif
+gethostbyname_r(NULL, NULL, NULL, 0, NULL, NULL);
+  ;
+  return 0;
+}
+#endif
+#ifdef HAVE_GETHOSTBYNAME_R_6_REENTRANT
+#define _REENTRANT
+#include <sys/types.h>
+#include <netdb.h>
+#undef NULL
+#define NULL (void *)0
+
+int
+main ()
+{
+
+#ifndef gethostbyname_r
+  (void)gethostbyname_r;
+#endif
+gethostbyname_r(NULL, NULL, NULL, 0, NULL, NULL);
+  ;
+  return 0;
+}
+#endif
+#ifdef HAVE_SOCKLEN_T
+#ifdef _WIN32
+#include <ws2tcpip.h>
+#else
+#include <sys/types.h>
+#include <sys/socket.h>
+#endif
+int
+main ()
+{
+if ((socklen_t *) 0)
+  return 0;
+if (sizeof (socklen_t))
+  return 0;
+  ;
+  return 0;
+}
+#endif
+#ifdef HAVE_IN_ADDR_T
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
+
+int
+main ()
+{
+if ((in_addr_t *) 0)
+  return 0;
+if (sizeof (in_addr_t))
+  return 0;
+  ;
+  return 0;
+}
+#endif
+
+#ifdef HAVE_BOOL_T
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_STDBOOL_H
+#include <stdbool.h>
+#endif
+int
+main ()
+{
+if (sizeof (bool *) )
+  return 0;
+  ;
+  return 0;
+}
+#endif
+
+#ifdef STDC_HEADERS
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+int main() { return 0; }
+#endif
+#ifdef RETSIGTYPE_TEST
+#include <sys/types.h>
+#include <signal.h>
+#ifdef signal
+# undef signal
+#endif
+#ifdef __cplusplus
+extern "C" void (*signal (int, void (*)(int)))(int);
+#else
+void (*signal ()) ();
+#endif
+
+int
+main ()
+{
+  return 0;
+}
+#endif
+#ifdef HAVE_INET_NTOA_R_DECL
+#include <arpa/inet.h>
+
+typedef void (*func_type)();
+
+int main()
+{
+#ifndef inet_ntoa_r
+  func_type func;
+  func = (func_type)inet_ntoa_r;
+#endif
+  return 0;
+}
+#endif
+#ifdef HAVE_INET_NTOA_R_DECL_REENTRANT
+#define _REENTRANT
+#include <arpa/inet.h>
+
+typedef void (*func_type)();
+
+int main()
+{
+#ifndef inet_ntoa_r
+  func_type func;
+  func = (func_type)&inet_ntoa_r;
+#endif
+  return 0;
+}
+#endif
+#ifdef HAVE_GETADDRINFO
+#include <netdb.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+
+int main(void) {
+    struct addrinfo hints, *ai;
+    int error;
+
+    memset(&hints, 0, sizeof(hints));
+    hints.ai_family = AF_UNSPEC;
+    hints.ai_socktype = SOCK_STREAM;
+#ifndef getaddrinfo
+    (void)getaddrinfo;
+#endif
+    error = getaddrinfo("127.0.0.1", "8080", &hints, &ai);
+    if (error) {
+        return 1;
+    }
+    return 0;
+}
+#endif
+#ifdef HAVE_FILE_OFFSET_BITS
+#ifdef _FILE_OFFSET_BITS
+#undef _FILE_OFFSET_BITS
+#endif
+#define _FILE_OFFSET_BITS 64
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+                       && LARGE_OFF_T % 2147483647 == 1)
+                      ? 1 : -1];
+int main () { ; return 0; }
+#endif
+#ifdef HAVE_IOCTLSOCKET
+/* includes start */
+#ifdef HAVE_WINDOWS_H
+#  ifndef WIN32_LEAN_AND_MEAN
+#    define WIN32_LEAN_AND_MEAN
+#  endif
+#  include <windows.h>
+#  ifdef HAVE_WINSOCK2_H
+#    include <winsock2.h>
+#  else
+#    ifdef HAVE_WINSOCK_H
+#      include <winsock.h>
+#    endif
+#  endif
+#endif
+
+int
+main ()
+{
+
+/* ioctlsocket source code */
+ int socket;
+ unsigned long flags = ioctlsocket(socket, FIONBIO, &flags);
+
+  ;
+  return 0;
+}
+
+#endif
+#ifdef HAVE_IOCTLSOCKET_CAMEL
+/* includes start */
+#ifdef HAVE_WINDOWS_H
+#  ifndef WIN32_LEAN_AND_MEAN
+#    define WIN32_LEAN_AND_MEAN
+#  endif
+#  include <windows.h>
+#  ifdef HAVE_WINSOCK2_H
+#    include <winsock2.h>
+#  else
+#    ifdef HAVE_WINSOCK_H
+#      include <winsock.h>
+#    endif
+#  endif
+#endif
+
+int
+main ()
+{
+
+/* IoctlSocket source code */
+    if(0 != IoctlSocket(0, 0, 0))
+      return 1;
+  ;
+  return 0;
+}
+#endif
+#ifdef HAVE_IOCTLSOCKET_CAMEL_FIONBIO
+/* includes start */
+#ifdef HAVE_WINDOWS_H
+#  ifndef WIN32_LEAN_AND_MEAN
+#    define WIN32_LEAN_AND_MEAN
+#  endif
+#  include <windows.h>
+#  ifdef HAVE_WINSOCK2_H
+#    include <winsock2.h>
+#  else
+#    ifdef HAVE_WINSOCK_H
+#      include <winsock.h>
+#    endif
+#  endif
+#endif
+
+int
+main ()
+{
+
+/* IoctlSocket source code */
+        long flags = 0;
+        if(0 != ioctlsocket(0, FIONBIO, &flags))
+          return 1;
+  ;
+  return 0;
+}
+#endif
+#ifdef HAVE_IOCTLSOCKET_FIONBIO
+/* includes start */
+#ifdef HAVE_WINDOWS_H
+#  ifndef WIN32_LEAN_AND_MEAN
+#    define WIN32_LEAN_AND_MEAN
+#  endif
+#  include <windows.h>
+#  ifdef HAVE_WINSOCK2_H
+#    include <winsock2.h>
+#  else
+#    ifdef HAVE_WINSOCK_H
+#      include <winsock.h>
+#    endif
+#  endif
+#endif
+
+int
+main ()
+{
+
+        int flags = 0;
+        if(0 != ioctlsocket(0, FIONBIO, &flags))
+          return 1;
+
+  ;
+  return 0;
+}
+#endif
+#ifdef HAVE_IOCTL_FIONBIO
+/* headers for FIONBIO test */
+/* includes start */
+#ifdef HAVE_SYS_TYPES_H
+#  include <sys/types.h>
+#endif
+#ifdef HAVE_UNISTD_H
+#  include <unistd.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#  include <sys/socket.h>
+#endif
+#ifdef HAVE_SYS_IOCTL_H
+#  include <sys/ioctl.h>
+#endif
+#ifdef HAVE_STROPTS_H
+#  include <stropts.h>
+#endif
+
+int
+main ()
+{
+
+        int flags = 0;
+        if(0 != ioctl(0, FIONBIO, &flags))
+          return 1;
+
+  ;
+  return 0;
+}
+#endif
+#ifdef HAVE_IOCTL_SIOCGIFADDR
+/* headers for FIONBIO test */
+/* includes start */
+#ifdef HAVE_SYS_TYPES_H
+#  include <sys/types.h>
+#endif
+#ifdef HAVE_UNISTD_H
+#  include <unistd.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#  include <sys/socket.h>
+#endif
+#ifdef HAVE_SYS_IOCTL_H
+#  include <sys/ioctl.h>
+#endif
+#ifdef HAVE_STROPTS_H
+#  include <stropts.h>
+#endif
+#include <net/if.h>
+
+int
+main ()
+{
+        struct ifreq ifr;
+        if(0 != ioctl(0, SIOCGIFADDR, &ifr))
+          return 1;
+
+  ;
+  return 0;
+}
+#endif
+#ifdef HAVE_SETSOCKOPT_SO_NONBLOCK
+/* includes start */
+#ifdef HAVE_WINDOWS_H
+#  ifndef WIN32_LEAN_AND_MEAN
+#    define WIN32_LEAN_AND_MEAN
+#  endif
+#  include <windows.h>
+#  ifdef HAVE_WINSOCK2_H
+#    include <winsock2.h>
+#  else
+#    ifdef HAVE_WINSOCK_H
+#      include <winsock.h>
+#    endif
+#  endif
+#endif
+/* includes start */
+#ifdef HAVE_SYS_TYPES_H
+#  include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#  include <sys/socket.h>
+#endif
+/* includes end */
+
+int
+main ()
+{
+        if(0 != setsockopt(0, SOL_SOCKET, SO_NONBLOCK, 0, 0))
+          return 1;
+  ;
+  return 0;
+}
+#endif
+#ifdef HAVE_GLIBC_STRERROR_R
+#include <string.h>
+#include <errno.h>
+int
+main () {
+  char buffer[1024]; /* big enough to play with */
+  char *string =
+    strerror_r(EACCES, buffer, sizeof(buffer));
+    /* this should've returned a string */
+    if(!string || !string[0])
+      return 99;
+    return 0;
+}
+#endif
+#ifdef HAVE_POSIX_STRERROR_R
+#include <string.h>
+#include <errno.h>
+int
+main () {
+  char buffer[1024]; /* big enough to play with */
+  int error =
+    strerror_r(EACCES, buffer, sizeof(buffer));
+    /* This should've returned zero, and written an error string in the
+       buffer.*/
+    if(!buffer[0] || error)
+      return 99;
+    return 0;
+}
+#endif
diff --git a/curl-7.25.0/CMake/FindOpenSSL.cmake b/curl-7.25.0/CMake/FindOpenSSL.cmake
new file mode 100644
index 0000000..63a9d60
--- /dev/null
+++ b/curl-7.25.0/CMake/FindOpenSSL.cmake
@@ -0,0 +1,19 @@
+# Extension of the standard FindOpenSSL.cmake
+# Adds OPENSSL_INCLUDE_DIRS and libeay32
+include("${CMAKE_ROOT}/Modules/FindOpenSSL.cmake")
+
+# Bill Hoffman told that libeay32 is necessary for him:
+find_library(SSL_LIBEAY NAMES libeay32)
+
+if(OPENSSL_FOUND)
+  if(SSL_LIBEAY)
+    list(APPEND OPENSSL_LIBRARIES ${SSL_LIBEAY})
+  else()
+    set(OPENSSL_FOUND FALSE)
+  endif()
+endif()
+
+
+if(OPENSSL_FOUND)
+  set(OPENSSL_INCLUDE_DIRS ${OPENSSL_INCLUDE_DIR})
+endif()
diff --git a/curl-7.25.0/CMake/FindZLIB.cmake b/curl-7.25.0/CMake/FindZLIB.cmake
new file mode 100644
index 0000000..87f1d4f
--- /dev/null
+++ b/curl-7.25.0/CMake/FindZLIB.cmake
@@ -0,0 +1,8 @@
+# Locate zlib
+include("${CMAKE_ROOT}/Modules/FindZLIB.cmake")
+
+find_library(ZLIB_LIBRARY_DEBUG NAMES zd zlibd zdlld zlib1d )
+
+if(ZLIB_FOUND AND ZLIB_LIBRARY_DEBUG)
+  set( ZLIB_LIBRARIES optimized "${ZLIB_LIBRARY}" debug ${ZLIB_LIBRARY_DEBUG})
+endif()
diff --git a/curl-7.25.0/CMake/OtherTests.cmake b/curl-7.25.0/CMake/OtherTests.cmake
new file mode 100644
index 0000000..89d0048
--- /dev/null
+++ b/curl-7.25.0/CMake/OtherTests.cmake
@@ -0,0 +1,250 @@
+include(CurlCheckCSourceCompiles)
+set(EXTRA_DEFINES "__unused1\n#undef inline\n#define __unused2")
+set(HEADER_INCLUDES)
+set(headers_hack)
+
+macro(add_header_include check header)
+  if(${check})
+    set(headers_hack
+      "${headers_hack}\n#include <${header}>")
+    #SET(HEADER_INCLUDES
+    #  ${HEADER_INCLUDES}
+    #  "${header}")
+  endif(${check})
+endmacro(add_header_include)
+
+set(signature_call_conv)
+if(HAVE_WINDOWS_H)
+  add_header_include(HAVE_WINDOWS_H "windows.h")
+  add_header_include(HAVE_WINSOCK2_H "winsock2.h")
+  add_header_include(HAVE_WINSOCK_H "winsock.h")
+  set(EXTRA_DEFINES ${EXTRA_DEFINES}
+    "__unused7\n#ifndef WIN32_LEAN_AND_MEAN\n#define WIN32_LEAN_AND_MEAN\n#endif\n#define __unused3")
+  set(signature_call_conv "PASCAL")
+else(HAVE_WINDOWS_H)
+  add_header_include(HAVE_SYS_TYPES_H "sys/types.h")
+  add_header_include(HAVE_SYS_SOCKET_H "sys/socket.h")
+endif(HAVE_WINDOWS_H)
+
+set(EXTRA_DEFINES_BACKUP "${EXTRA_DEFINES}")
+set(EXTRA_DEFINES "${EXTRA_DEFINES_BACKUP}\n${headers_hack}\n${extern_line}\n#define __unused5")
+curl_check_c_source_compiles("recv(0, 0, 0, 0)" curl_cv_recv)
+if(curl_cv_recv)
+  #    AC_CACHE_CHECK([types of arguments and return type for recv],
+  #[curl_cv_func_recv_args], [
+  #SET(curl_cv_func_recv_args "unknown")
+  #for recv_retv in 'int' 'ssize_t'; do
+  if(NOT DEFINED curl_cv_func_recv_args OR "${curl_cv_func_recv_args}" STREQUAL "unknown")
+    foreach(recv_retv "int" "ssize_t" )
+      foreach(recv_arg1 "int" "ssize_t" "SOCKET")
+        foreach(recv_arg2 "void *" "char *")
+          foreach(recv_arg3 "size_t" "int" "socklen_t" "unsigned int")
+            foreach(recv_arg4 "int" "unsigned int")
+              if(NOT curl_cv_func_recv_done)
+                set(curl_cv_func_recv_test "UNKNOWN")
+                set(extern_line "extern ${recv_retv} ${signature_call_conv} recv(${recv_arg1}, ${recv_arg2}, ${recv_arg3}, ${recv_arg4})\;")
+                set(EXTRA_DEFINES "${EXTRA_DEFINES_BACKUP}\n${headers_hack}\n${extern_line}\n#define __unused5")
+                curl_check_c_source_compiles("
+                    ${recv_arg1} s=0;
+                    ${recv_arg2} buf=0;
+                    ${recv_arg3} len=0;
+                    ${recv_arg4} flags=0;
+                    ${recv_retv} res = recv(s, buf, len, flags)"
+                  curl_cv_func_recv_test
+                  "${recv_retv} recv(${recv_arg1}, ${recv_arg2}, ${recv_arg3}, ${recv_arg4})")
+                if(curl_cv_func_recv_test)
+                  set(curl_cv_func_recv_args
+                    "${recv_arg1},${recv_arg2},${recv_arg3},${recv_arg4},${recv_retv}")
+                  set(RECV_TYPE_ARG1 "${recv_arg1}")
+                  set(RECV_TYPE_ARG2 "${recv_arg2}")
+                  set(RECV_TYPE_ARG3 "${recv_arg3}")
+                  set(RECV_TYPE_ARG4 "${recv_arg4}")
+                  set(RECV_TYPE_RETV "${recv_retv}")
+                  set(HAVE_RECV 1)
+                  set(curl_cv_func_recv_done 1)
+                endif(curl_cv_func_recv_test)
+              endif(NOT curl_cv_func_recv_done)
+            endforeach(recv_arg4)
+          endforeach(recv_arg3)
+        endforeach(recv_arg2)
+      endforeach(recv_arg1)
+    endforeach(recv_retv)
+  else(NOT DEFINED curl_cv_func_recv_args OR "${curl_cv_func_recv_args}" STREQUAL "unknown")
+    string(REGEX REPLACE "^([^,]*),[^,]*,[^,]*,[^,]*,[^,]*$" "\\1" RECV_TYPE_ARG1 "${curl_cv_func_recv_args}")
+    string(REGEX REPLACE "^[^,]*,([^,]*),[^,]*,[^,]*,[^,]*$" "\\1" RECV_TYPE_ARG2 "${curl_cv_func_recv_args}")
+    string(REGEX REPLACE "^[^,]*,[^,]*,([^,]*),[^,]*,[^,]*$" "\\1" RECV_TYPE_ARG3 "${curl_cv_func_recv_args}")
+    string(REGEX REPLACE "^[^,]*,[^,]*,[^,]*,([^,]*),[^,]*$" "\\1" RECV_TYPE_ARG4 "${curl_cv_func_recv_args}")
+    string(REGEX REPLACE "^[^,]*,[^,]*,[^,]*,[^,]*,([^,]*)$" "\\1" RECV_TYPE_RETV "${curl_cv_func_recv_args}")
+    #MESSAGE("RECV_TYPE_ARG1 ${RECV_TYPE_ARG1}")
+    #MESSAGE("RECV_TYPE_ARG2 ${RECV_TYPE_ARG2}")
+    #MESSAGE("RECV_TYPE_ARG3 ${RECV_TYPE_ARG3}")
+    #MESSAGE("RECV_TYPE_ARG4 ${RECV_TYPE_ARG4}")
+    #MESSAGE("RECV_TYPE_RETV ${RECV_TYPE_RETV}")
+  endif(NOT DEFINED curl_cv_func_recv_args OR "${curl_cv_func_recv_args}" STREQUAL "unknown")
+
+  if("${curl_cv_func_recv_args}" STREQUAL "unknown")
+    message(FATAL_ERROR "Cannot find proper types to use for recv args")
+  endif("${curl_cv_func_recv_args}" STREQUAL "unknown")
+else(curl_cv_recv)
+  message(FATAL_ERROR "Unable to link function recv")
+endif(curl_cv_recv)
+set(curl_cv_func_recv_args "${curl_cv_func_recv_args}" CACHE INTERNAL "Arguments for recv")
+set(HAVE_RECV 1)
+
+curl_check_c_source_compiles("send(0, 0, 0, 0)" curl_cv_send)
+if(curl_cv_send)
+  #    AC_CACHE_CHECK([types of arguments and return type for send],
+  #[curl_cv_func_send_args], [
+  #SET(curl_cv_func_send_args "unknown")
+  #for send_retv in 'int' 'ssize_t'; do
+  if(NOT DEFINED curl_cv_func_send_args OR "${curl_cv_func_send_args}" STREQUAL "unknown")
+    foreach(send_retv "int" "ssize_t" )
+      foreach(send_arg1 "int" "ssize_t" "SOCKET")
+        foreach(send_arg2 "const void *" "void *" "char *" "const char *")
+          foreach(send_arg3 "size_t" "int" "socklen_t" "unsigned int")
+            foreach(send_arg4 "int" "unsigned int")
+              if(NOT curl_cv_func_send_done)
+                set(curl_cv_func_send_test "UNKNOWN")
+                set(extern_line "extern ${send_retv} ${signature_call_conv} send(${send_arg1}, ${send_arg2}, ${send_arg3}, ${send_arg4})\;")
+                set(EXTRA_DEFINES "${EXTRA_DEFINES_BACKUP}\n${headers_hack}\n${extern_line}\n#define __unused5")
+                curl_check_c_source_compiles("
+                    ${send_arg1} s=0;
+                    ${send_arg2} buf=0;
+                    ${send_arg3} len=0;
+                    ${send_arg4} flags=0;
+                    ${send_retv} res = send(s, buf, len, flags)"
+                  curl_cv_func_send_test
+                  "${send_retv} send(${send_arg1}, ${send_arg2}, ${send_arg3}, ${send_arg4})")
+                if(curl_cv_func_send_test)
+                  #MESSAGE("Found arguments: ${curl_cv_func_send_test}")
+                  string(REGEX REPLACE "(const) .*" "\\1" send_qual_arg2 "${send_arg2}")
+                  string(REGEX REPLACE "const (.*)" "\\1" send_arg2 "${send_arg2}")
+                  set(curl_cv_func_send_args
+                    "${send_arg1},${send_arg2},${send_arg3},${send_arg4},${send_retv},${send_qual_arg2}")
+                  set(SEND_TYPE_ARG1 "${send_arg1}")
+                  set(SEND_TYPE_ARG2 "${send_arg2}")
+                  set(SEND_TYPE_ARG3 "${send_arg3}")
+                  set(SEND_TYPE_ARG4 "${send_arg4}")
+                  set(SEND_TYPE_RETV "${send_retv}")
+                  set(HAVE_SEND 1)
+                  set(curl_cv_func_send_done 1)
+                endif(curl_cv_func_send_test)
+              endif(NOT curl_cv_func_send_done)
+            endforeach(send_arg4)
+          endforeach(send_arg3)
+        endforeach(send_arg2)
+      endforeach(send_arg1)
+    endforeach(send_retv)
+  else(NOT DEFINED curl_cv_func_send_args OR "${curl_cv_func_send_args}" STREQUAL "unknown")
+    string(REGEX REPLACE "^([^,]*),[^,]*,[^,]*,[^,]*,[^,]*,[^,]*$" "\\1" SEND_TYPE_ARG1 "${curl_cv_func_send_args}")
+    string(REGEX REPLACE "^[^,]*,([^,]*),[^,]*,[^,]*,[^,]*,[^,]*$" "\\1" SEND_TYPE_ARG2 "${curl_cv_func_send_args}")
+    string(REGEX REPLACE "^[^,]*,[^,]*,([^,]*),[^,]*,[^,]*,[^,]*$" "\\1" SEND_TYPE_ARG3 "${curl_cv_func_send_args}")
+    string(REGEX REPLACE "^[^,]*,[^,]*,[^,]*,([^,]*),[^,]*,[^,]*$" "\\1" SEND_TYPE_ARG4 "${curl_cv_func_send_args}")
+    string(REGEX REPLACE "^[^,]*,[^,]*,[^,]*,[^,]*,([^,]*),[^,]*$" "\\1" SEND_TYPE_RETV "${curl_cv_func_send_args}")
+    string(REGEX REPLACE "^[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,([^,]*)$" "\\1" SEND_QUAL_ARG2 "${curl_cv_func_send_args}")
+    #MESSAGE("SEND_TYPE_ARG1 ${SEND_TYPE_ARG1}")
+    #MESSAGE("SEND_TYPE_ARG2 ${SEND_TYPE_ARG2}")
+    #MESSAGE("SEND_TYPE_ARG3 ${SEND_TYPE_ARG3}")
+    #MESSAGE("SEND_TYPE_ARG4 ${SEND_TYPE_ARG4}")
+    #MESSAGE("SEND_TYPE_RETV ${SEND_TYPE_RETV}")
+    #MESSAGE("SEND_QUAL_ARG2 ${SEND_QUAL_ARG2}")
+  endif(NOT DEFINED curl_cv_func_send_args OR "${curl_cv_func_send_args}" STREQUAL "unknown")
+
+  if("${curl_cv_func_send_args}" STREQUAL "unknown")
+    message(FATAL_ERROR "Cannot find proper types to use for send args")
+  endif("${curl_cv_func_send_args}" STREQUAL "unknown")
+  set(SEND_QUAL_ARG2 "const")
+else(curl_cv_send)
+  message(FATAL_ERROR "Unable to link function send")
+endif(curl_cv_send)
+set(curl_cv_func_send_args "${curl_cv_func_send_args}" CACHE INTERNAL "Arguments for send")
+set(HAVE_SEND 1)
+
+set(EXTRA_DEFINES "${EXTRA_DEFINES}\n${headers_hack}\n#define __unused5")
+curl_check_c_source_compiles("int flag = MSG_NOSIGNAL" HAVE_MSG_NOSIGNAL)
+
+set(EXTRA_DEFINES "__unused1\n#undef inline\n#define __unused2")
+set(HEADER_INCLUDES)
+set(headers_hack)
+
+macro(add_header_include check header)
+  if(${check})
+    set(headers_hack
+      "${headers_hack}\n#include <${header}>")
+    #SET(HEADER_INCLUDES
+    #  ${HEADER_INCLUDES}
+    #  "${header}")
+  endif(${check})
+endmacro(add_header_include header)
+
+if(HAVE_WINDOWS_H)
+  set(EXTRA_DEFINES ${EXTRA_DEFINES}
+    "__unused7\n#ifndef WIN32_LEAN_AND_MEAN\n#define WIN32_LEAN_AND_MEAN\n#endif\n#define __unused3")
+  add_header_include(HAVE_WINDOWS_H "windows.h")
+  add_header_include(HAVE_WINSOCK2_H "winsock2.h")
+  add_header_include(HAVE_WINSOCK_H "winsock.h")
+else(HAVE_WINDOWS_H)
+  add_header_include(HAVE_SYS_TYPES_H "sys/types.h")
+  add_header_include(HAVE_SYS_TIME_H "sys/time.h")
+  add_header_include(TIME_WITH_SYS_TIME "time.h")
+  add_header_include(HAVE_TIME_H "time.h")
+endif(HAVE_WINDOWS_H)
+set(EXTRA_DEFINES "${EXTRA_DEFINES}\n${headers_hack}\n#define __unused5")
+curl_check_c_source_compiles("struct timeval ts;\nts.tv_sec  = 0;\nts.tv_usec = 0" HAVE_STRUCT_TIMEVAL)
+
+
+include(CurlCheckCSourceRuns)
+set(EXTRA_DEFINES)
+set(HEADER_INCLUDES)
+if(HAVE_SYS_POLL_H)
+  set(HEADER_INCLUDES "sys/poll.h")
+endif(HAVE_SYS_POLL_H)
+curl_check_c_source_runs("return poll((void *)0, 0, 10 /*ms*/)" HAVE_POLL_FINE)
+
+set(HAVE_SIG_ATOMIC_T 1)
+set(EXTRA_DEFINES)
+set(HEADER_INCLUDES)
+if(HAVE_SIGNAL_H)
+  set(HEADER_INCLUDES "signal.h")
+  set(CMAKE_EXTRA_INCLUDE_FILES "signal.h")
+endif(HAVE_SIGNAL_H)
+check_type_size("sig_atomic_t" SIZEOF_SIG_ATOMIC_T)
+if(HAVE_SIZEOF_SIG_ATOMIC_T)
+  curl_check_c_source_compiles("static volatile sig_atomic_t dummy = 0" HAVE_SIG_ATOMIC_T_NOT_VOLATILE)
+  if(NOT HAVE_SIG_ATOMIC_T_NOT_VOLATILE)
+    set(HAVE_SIG_ATOMIC_T_VOLATILE 1)
+  endif(NOT HAVE_SIG_ATOMIC_T_NOT_VOLATILE)
+endif(HAVE_SIZEOF_SIG_ATOMIC_T)
+
+set(CHECK_TYPE_SIZE_PREINCLUDE
+  "#undef inline")
+
+if(HAVE_WINDOWS_H)
+  set(CHECK_TYPE_SIZE_PREINCLUDE "${CHECK_TYPE_SIZE_PREINCLUDE}
+  #ifndef WIN32_LEAN_AND_MEAN
+  #define WIN32_LEAN_AND_MEAN
+  #endif
+  #include <windows.h>")
+  if(HAVE_WINSOCK2_H)
+    set(CHECK_TYPE_SIZE_PREINCLUDE "${CHECK_TYPE_SIZE_PREINCLUDE}\n#include <winsock2.h>")
+  endif(HAVE_WINSOCK2_H)
+else(HAVE_WINDOWS_H)
+  if(HAVE_SYS_SOCKET_H)
+    set(CMAKE_EXTRA_INCLUDE_FILES ${CMAKE_EXTRA_INCLUDE_FILES}
+      "sys/socket.h")
+  endif(HAVE_SYS_SOCKET_H)
+  if(HAVE_NETINET_IN_H)
+    set(CMAKE_EXTRA_INCLUDE_FILES ${CMAKE_EXTRA_INCLUDE_FILES}
+      "netinet/in.h")
+  endif(HAVE_NETINET_IN_H)
+  if(HAVE_ARPA_INET_H)
+    set(CMAKE_EXTRA_INCLUDE_FILES ${CMAKE_EXTRA_INCLUDE_FILES}
+      "arpa/inet.h")
+  endif(HAVE_ARPA_INET_H)
+endif(HAVE_WINDOWS_H)
+
+check_type_size("struct sockaddr_storage" SIZEOF_STRUCT_SOCKADDR_STORAGE)
+if(HAVE_SIZEOF_STRUCT_SOCKADDR_STORAGE)
+  set(HAVE_STRUCT_SOCKADDR_STORAGE 1)
+endif(HAVE_SIZEOF_STRUCT_SOCKADDR_STORAGE)
+
diff --git a/curl-7.25.0/CMake/Platforms/WindowsCache.cmake b/curl-7.25.0/CMake/Platforms/WindowsCache.cmake
new file mode 100644
index 0000000..49161f8
--- /dev/null
+++ b/curl-7.25.0/CMake/Platforms/WindowsCache.cmake
@@ -0,0 +1,121 @@
+if(NOT UNIX)
+  if(WIN32)
+    set(HAVE_LIBDL 0)
+    set(HAVE_LIBUCB 0)
+    set(HAVE_LIBSOCKET 0)
+    set(NOT_NEED_LIBNSL 0)
+    set(HAVE_LIBNSL 0)
+    set(HAVE_LIBZ 0)
+    set(HAVE_LIBCRYPTO 0)
+
+    set(HAVE_DLOPEN 0)
+
+    set(HAVE_ALLOCA_H 0)
+    set(HAVE_ARPA_INET_H 0)
+    set(HAVE_DLFCN_H 0)
+    set(HAVE_FCNTL_H 1)
+    set(HAVE_FEATURES_H 0)
+    set(HAVE_INTTYPES_H 0)
+    set(HAVE_IO_H 1)
+    set(HAVE_MALLOC_H 1)
+    set(HAVE_MEMORY_H 1)
+    set(HAVE_NETDB_H 0)
+    set(HAVE_NETINET_IF_ETHER_H 0)
+    set(HAVE_NETINET_IN_H 0)
+    set(HAVE_NET_IF_H 0)
+    set(HAVE_PROCESS_H 1)
+    set(HAVE_PWD_H 0)
+    set(HAVE_SETJMP_H 1)
+    set(HAVE_SGTTY_H 0)
+    set(HAVE_SIGNAL_H 1)
+    set(HAVE_SOCKIO_H 0)
+    set(HAVE_STDINT_H 0)
+    set(HAVE_STDLIB_H 1)
+    set(HAVE_STRINGS_H 0)
+    set(HAVE_STRING_H 1)
+    set(HAVE_SYS_PARAM_H 0)
+    set(HAVE_SYS_POLL_H 0)
+    set(HAVE_SYS_SELECT_H 0)
+    set(HAVE_SYS_SOCKET_H 0)
+    set(HAVE_SYS_SOCKIO_H 0)
+    set(HAVE_SYS_STAT_H 1)
+    set(HAVE_SYS_TIME_H 0)
+    set(HAVE_SYS_TYPES_H 1)
+    set(HAVE_SYS_UTIME_H 1)
+    set(HAVE_TERMIOS_H 0)
+    set(HAVE_TERMIO_H 0)
+    set(HAVE_TIME_H 1)
+    set(HAVE_UNISTD_H 0)
+    set(HAVE_UTIME_H 0)
+    set(HAVE_X509_H 0)
+    set(HAVE_ZLIB_H 0)
+
+    set(HAVE_SIZEOF_LONG_DOUBLE 1)
+    set(SIZEOF_LONG_DOUBLE 8)
+
+    set(HAVE_SOCKET 1)
+    set(HAVE_POLL 0)
+    set(HAVE_SELECT 1)
+    set(HAVE_STRDUP 1)
+    set(HAVE_STRSTR 1)
+    set(HAVE_STRTOK_R 0)
+    set(HAVE_STRFTIME 1)
+    set(HAVE_UNAME 0)
+    set(HAVE_STRCASECMP 0)
+    set(HAVE_STRICMP 1)
+    set(HAVE_STRCMPI 1)
+    set(HAVE_GETHOSTBYADDR 1)
+    set(HAVE_GETTIMEOFDAY 0)
+    set(HAVE_INET_ADDR 1)
+    set(HAVE_INET_NTOA 1)
+    set(HAVE_INET_NTOA_R 0)
+    set(HAVE_TCGETATTR 0)
+    set(HAVE_TCSETATTR 0)
+    set(HAVE_PERROR 1)
+    set(HAVE_CLOSESOCKET 1)
+    set(HAVE_SETVBUF 0)
+    set(HAVE_SIGSETJMP 0)
+    set(HAVE_GETPASS_R 0)
+    set(HAVE_STRLCAT 0)
+    set(HAVE_GETPWUID 0)
+    set(HAVE_GETEUID 0)
+    set(HAVE_UTIME 1)
+    set(HAVE_RAND_EGD 0)
+    set(HAVE_RAND_SCREEN 0)
+    set(HAVE_RAND_STATUS 0)
+    set(HAVE_GMTIME_R 0)
+    set(HAVE_LOCALTIME_R 0)
+    set(HAVE_GETHOSTBYADDR_R 0)
+    set(HAVE_GETHOSTBYNAME_R 0)
+    set(HAVE_SIGNAL_FUNC 1)
+    set(HAVE_SIGNAL_MACRO 0)
+
+    set(HAVE_GETHOSTBYADDR_R_5 0)
+    set(HAVE_GETHOSTBYADDR_R_5_REENTRANT 0)
+    set(HAVE_GETHOSTBYADDR_R_7 0)
+    set(HAVE_GETHOSTBYADDR_R_7_REENTRANT 0)
+    set(HAVE_GETHOSTBYADDR_R_8 0)
+    set(HAVE_GETHOSTBYADDR_R_8_REENTRANT 0)
+    set(HAVE_GETHOSTBYNAME_R_3 0)
+    set(HAVE_GETHOSTBYNAME_R_3_REENTRANT 0)
+    set(HAVE_GETHOSTBYNAME_R_5 0)
+    set(HAVE_GETHOSTBYNAME_R_5_REENTRANT 0)
+    set(HAVE_GETHOSTBYNAME_R_6 0)
+    set(HAVE_GETHOSTBYNAME_R_6_REENTRANT 0)
+
+    set(TIME_WITH_SYS_TIME 0)
+    set(HAVE_O_NONBLOCK 0)
+    set(HAVE_IN_ADDR_T 0)
+    set(HAVE_INET_NTOA_R_DECL 0)
+    set(HAVE_INET_NTOA_R_DECL_REENTRANT 0)
+    set(HAVE_GETADDRINFO 0)
+    set(STDC_HEADERS 1)
+    set(RETSIGTYPE_TEST 1)
+
+    set(HAVE_SIGACTION 0)
+    set(HAVE_MACRO_SIGSETJMP 0)
+  else(WIN32)
+    message("This file should be included on Windows platform only")
+  endif(WIN32)
+endif(NOT UNIX)
+
diff --git a/curl-7.25.0/CMake/Utilities.cmake b/curl-7.25.0/CMake/Utilities.cmake
new file mode 100644
index 0000000..37cdfe3
--- /dev/null
+++ b/curl-7.25.0/CMake/Utilities.cmake
@@ -0,0 +1,31 @@
+# File containing various utilities
+
+# Converts a CMake list to a string containing elements separated by spaces
+function(TO_LIST_SPACES _LIST_NAME OUTPUT_VAR)
+  set(NEW_LIST_SPACE)
+  foreach(ITEM ${${_LIST_NAME}})
+    set(NEW_LIST_SPACE "${NEW_LIST_SPACE} ${ITEM}")
+  endforeach()
+  string(STRIP ${NEW_LIST_SPACE} NEW_LIST_SPACE)
+  set(${OUTPUT_VAR} "${NEW_LIST_SPACE}" PARENT_SCOPE)
+endfunction()
+
+# Appends a lis of item to a string which is a space-separated list, if they don't already exist.
+function(LIST_SPACES_APPEND_ONCE LIST_NAME)
+  string(REPLACE " " ";" _LIST ${${LIST_NAME}})
+  list(APPEND _LIST ${ARGN})
+  list(REMOVE_DUPLICATES _LIST)
+  to_list_spaces(_LIST NEW_LIST_SPACE)
+  set(${LIST_NAME} "${NEW_LIST_SPACE}" PARENT_SCOPE)
+endfunction()
+
+# Convinience function that does the same as LIST(FIND ...) but with a TRUE/FALSE return value.
+# Ex: IN_STR_LIST(MY_LIST "Searched item" WAS_FOUND)
+function(IN_STR_LIST LIST_NAME ITEM_SEARCHED RETVAL)
+  list(FIND ${LIST_NAME} ${ITEM_SEARCHED} FIND_POS)
+  if(${FIND_POS} EQUAL -1)
+    set(${RETVAL} FALSE PARENT_SCOPE)
+  else()
+    set(${RETVAL} TRUE PARENT_SCOPE)
+  endif()
+endfunction()
diff --git a/curl-7.25.0/CMakeLists.txt b/curl-7.25.0/CMakeLists.txt
new file mode 100644
index 0000000..88dd1ee
--- /dev/null
+++ b/curl-7.25.0/CMakeLists.txt
@@ -0,0 +1,865 @@
+# cURL/libcurl CMake script
+# by Tetetest and Sukender (Benoit Neil)
+
+# TODO:
+# The output .so file lacks the soname number which we currently have within the lib/Makefile.am file
+# Add full (4 or 5 libs) SSL support
+# Add INSTALL target (EXTRA_DIST variables in Makefile.am may be moved to Makefile.inc so that CMake/CPack is aware of what's to include).
+# Add CTests(?)
+# Check on all possible platforms
+# Test with as many configurations possible (With or without any option)
+# Create scripts that help keeping the CMake build system up to date (to reduce maintenance). According to Tetetest:
+#  - lists of headers that 'configure' checks for;
+#  - curl-specific tests (the ones that are in m4/curl-*.m4 files);
+#  - (most obvious thing:) curl version numbers.
+# Add documentation subproject
+#
+# To check:
+# (From Daniel Stenberg) The cmake build selected to run gcc with -fPIC on my box while the plain configure script did not.
+# (From Daniel Stenberg) The gcc command line use neither -g nor any -O options. As a developer, I also treasure our configure scripts's --enable-debug option that sets a long range of "picky" compiler options.
+cmake_minimum_required(VERSION 2.6.2 FATAL_ERROR)
+set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake;${CMAKE_MODULE_PATH}")
+include(Utilities)
+
+project( CURL C )
+
+file (READ ${CURL_SOURCE_DIR}/include/curl/curlver.h CURL_VERSION_H_CONTENTS)
+string (REGEX MATCH "LIBCURL_VERSION_MAJOR[ \t]+([0-9]+)"
+  LIBCURL_VERSION_MJ ${CURL_VERSION_H_CONTENTS})
+string (REGEX MATCH "([0-9]+)"
+  LIBCURL_VERSION_MJ ${LIBCURL_VERSION_MJ})
+string (REGEX MATCH
+  "LIBCURL_VERSION_MINOR[ \t]+([0-9]+)"
+  LIBCURL_VERSION_MI ${CURL_VERSION_H_CONTENTS})
+string (REGEX MATCH "([0-9]+)" LIBCURL_VERSION_MI ${LIBCURL_VERSION_MI})
+string (REGEX MATCH
+  "LIBCURL_VERSION_PATCH[ \t]+([0-9]+)"
+  LIBCURL_VERSION_PT ${CURL_VERSION_H_CONTENTS})
+string (REGEX MATCH "([0-9]+)" LIBCURL_VERSION_PT ${LIBCURL_VERSION_PT})
+set (CURL_MAJOR_VERSION ${LIBCURL_VERSION_MJ})
+set (CURL_MINOR_VERSION ${LIBCURL_VERSION_MI})
+set (CURL_PATCH_VERSION ${LIBCURL_VERSION_PT})
+
+include_regular_expression("^.*$")    # Sukender: Is it necessary?
+
+# Setup package meta-data
+# SET(PACKAGE "curl")
+set(CURL_VERSION ${CURL_MAJOR_VERSION}.${CURL_MINOR_VERSION}.${CURL_PATCH_VERSION})
+message(STATUS "curl version=[${CURL_VERSION}]")
+# SET(PACKAGE_TARNAME "curl")
+# SET(PACKAGE_NAME "curl")
+# SET(PACKAGE_VERSION "-")
+# SET(PACKAGE_STRING "curl-")
+# SET(PACKAGE_BUGREPORT "a suitable curl mailing list => http://curl.haxx.se/mail/")
+set(OPERATING_SYSTEM "${CMAKE_SYSTEM_NAME}")
+set(OS "\"${CMAKE_SYSTEM_NAME}\"")
+
+include_directories(${PROJECT_BINARY_DIR}/include/curl)
+include_directories( ${CURL_SOURCE_DIR}/include )
+
+if(WIN32)
+  set(NATIVE_WINDOWS ON)
+endif()
+
+option(BUILD_CURL_EXE "Set to ON to build cURL executable." ON)
+option(BUILD_CURL_TESTS "Set to ON to build cURL tests." ON)
+option(CURL_STATICLIB "Set to ON to build libcurl with static linking." OFF)
+option(CURL_USE_ARES "Set to ON to enable c-ares support" OFF)
+# initialize CURL_LIBS
+set(CURL_LIBS "")
+
+if(CURL_USE_ARES)
+  set(USE_ARES ${CURL_USE_ARES})
+  find_package(CARES REQUIRED)
+  list(APPEND CURL_LIBS ${CARES_LIBRARY} )
+  set(CURL_LIBS ${CURL_LIBS} ${CARES_LIBRARY})
+endif()
+
+option(BUILD_DASHBOARD_REPORTS "Set to ON to activate reporting of cURL builds here http://www.cdash.org/CDashPublic/index.php?project=CURL" OFF)
+if(BUILD_DASHBOARD_REPORTS)
+  #INCLUDE(Dart)
+  include(CTest)
+endif(BUILD_DASHBOARD_REPORTS)
+
+if(MSVC)
+  option(BUILD_RELEASE_DEBUG_DIRS "Set OFF to build each configuration to a separate directory" OFF)
+  mark_as_advanced(BUILD_RELEASE_DEBUG_DIRS)
+endif()
+
+option(CURL_HIDDEN_SYMBOLS "Set to ON to hide libcurl internal symbols (=hide all symbols that aren't officially external)." ON)
+mark_as_advanced(CURL_HIDDEN_SYMBOLS)
+
+# IF(WIN32)
+# OPTION(CURL_WINDOWS_SSPI "Use windows libraries to allow NTLM authentication without openssl" ON)
+# MARK_AS_ADVANCED(CURL_WINDOWS_SSPI)
+# ENDIF()
+
+option(HTTP_ONLY "disables all protocols except HTTP (This overrides all CURL_DISABLE_* options)" OFF)
+mark_as_advanced(HTTP_ONLY)
+option(CURL_DISABLE_FTP "disables FTP" OFF)
+mark_as_advanced(CURL_DISABLE_FTP)
+option(CURL_DISABLE_LDAP "disables LDAP" OFF)
+mark_as_advanced(CURL_DISABLE_LDAP)
+option(CURL_DISABLE_TELNET "disables Telnet" OFF)
+mark_as_advanced(CURL_DISABLE_TELNET)
+option(CURL_DISABLE_DICT "disables DICT" OFF)
+mark_as_advanced(CURL_DISABLE_DICT)
+option(CURL_DISABLE_FILE "disables FILE" OFF)
+mark_as_advanced(CURL_DISABLE_FILE)
+option(CURL_DISABLE_TFTP "disables TFTP" OFF)
+mark_as_advanced(CURL_DISABLE_TFTP)
+option(CURL_DISABLE_HTTP "disables HTTP" OFF)
+mark_as_advanced(CURL_DISABLE_HTTP)
+
+option(CURL_DISABLE_LDAPS "to disable LDAPS" OFF)
+mark_as_advanced(CURL_DISABLE_LDAPS)
+if(WIN32)
+  set(CURL_DEFAULT_DISABLE_LDAP OFF)
+  # some windows compilers do not have wldap32
+  if( NOT HAVE_WLDAP32)
+    set(CURL_DISABLE_LDAP ON CACHE BOOL "" FORCE)
+    message(STATUS "wldap32 not found CURL_DISABLE_LDAP set ON")
+    option(CURL_LDAP_WIN "Use Windows LDAP implementation" OFF)
+  else()
+    option(CURL_LDAP_WIN "Use Windows LDAP implementation" ON)
+  endif()
+  mark_as_advanced(CURL_LDAP_WIN)
+endif()
+
+if(HTTP_ONLY)
+  set(CURL_DISABLE_FTP ON)
+  set(CURL_DISABLE_LDAP ON)
+  set(CURL_DISABLE_TELNET ON)
+  set(CURL_DISABLE_DICT ON)
+  set(CURL_DISABLE_FILE ON)
+  set(CURL_DISABLE_TFTP ON)
+endif()
+
+option(CURL_DISABLE_COOKIES "to disable cookies support" OFF)
+mark_as_advanced(CURL_DISABLE_COOKIES)
+
+option(CURL_DISABLE_CRYPTO_AUTH "to disable cryptographic authentication" OFF)
+mark_as_advanced(CURL_DISABLE_CRYPTO_AUTH)
+option(CURL_DISABLE_VERBOSE_STRINGS "to disable verbose strings" OFF)
+mark_as_advanced(CURL_DISABLE_VERBOSE_STRINGS)
+option(DISABLED_THREADSAFE "Set to explicitly specify we don't want to use thread-safe functions" OFF)
+mark_as_advanced(DISABLED_THREADSAFE)
+option(ENABLE_IPV6 "Define if you want to enable IPv6 support" OFF)
+mark_as_advanced(ENABLE_IPV6)
+
+if(WIN32)
+  # Windows standard libraries are located in C:/Program Files/Microsoft SDKs/[...]
+  # They are already included in the default MSVC LIBPATH => no find_library is needed!
+  list_spaces_append_once(CMAKE_C_STANDARD_LIBRARIES wsock32.lib ws2_32.lib)  # bufferoverflowu.lib
+  if(CURL_DISABLE_LDAP)
+    # Remove wldap32.lib from space-separated list
+    string(REPLACE " " ";" _LIST ${CMAKE_C_STANDARD_LIBRARIES})
+    list(REMOVE_ITEM _LIST "wldap32.lib")
+    to_list_spaces(_LIST CMAKE_C_STANDARD_LIBRARIES)
+  else()
+    # Append wldap32.lib
+    list_spaces_append_once(CMAKE_C_STANDARD_LIBRARIES wldap32.lib)
+  endif()
+  set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES}"   CACHE STRING "" FORCE)
+endif()
+
+
+# We need ansi c-flags, especially on HP
+set(CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS}")
+set(CMAKE_REQUIRED_FLAGS ${CMAKE_ANSI_CFLAGS})
+
+# Disable warnings on Borland to avoid changing 3rd party code.
+if(BORLAND)
+  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w-")
+endif(BORLAND)
+
+# If we are on AIX, do the _ALL_SOURCE magic
+if(${CMAKE_SYSTEM_NAME} MATCHES AIX)
+  set(_ALL_SOURCE 1)
+endif(${CMAKE_SYSTEM_NAME} MATCHES AIX)
+
+# Include all the necessary files for macros
+include (CheckFunctionExists)
+include (CheckIncludeFile)
+include (CheckIncludeFiles)
+include (CheckLibraryExists)
+include (CheckSymbolExists)
+include (CheckTypeSize)
+
+# On windows preload settings
+if(WIN32)
+  include(${CMAKE_CURRENT_SOURCE_DIR}/CMake/Platforms/WindowsCache.cmake)
+endif(WIN32)
+
+# This macro checks if the symbol exists in the library and if it
+# does, it prepends library to the list.
+macro(CHECK_LIBRARY_EXISTS_CONCAT LIBRARY SYMBOL VARIABLE)
+  check_library_exists("${LIBRARY};${CURL_LIBS}" ${SYMBOL} "${CMAKE_LIBRARY_PATH}"
+    ${VARIABLE})
+  if(${VARIABLE})
+    set(CURL_LIBS ${LIBRARY} ${CURL_LIBS})
+  endif(${VARIABLE})
+endmacro(CHECK_LIBRARY_EXISTS_CONCAT)
+
+# Check for all needed libraries
+check_library_exists_concat("dl"     dlopen       HAVE_LIBDL)
+check_library_exists_concat("socket" connect      HAVE_LIBSOCKET)
+check_library_exists("c" gethostbyname "" NOT_NEED_LIBNSL)
+
+# Yellowtab Zeta needs different libraries than BeOS 5.
+if(BEOS)
+  set(NOT_NEED_LIBNSL 1)
+  check_library_exists_concat("bind" gethostbyname HAVE_LIBBIND)
+  check_library_exists_concat("bnetapi" closesocket HAVE_LIBBNETAPI)
+endif(BEOS)
+
+if(NOT NOT_NEED_LIBNSL)
+  check_library_exists_concat("nsl"    gethostbyname  HAVE_LIBNSL)
+endif(NOT NOT_NEED_LIBNSL)
+
+check_library_exists_concat("ws2_32" getch        HAVE_LIBWS2_32)
+check_library_exists_concat("winmm"  getch        HAVE_LIBWINMM)
+check_library_exists("wldap32" cldap_open "" HAVE_WLDAP32)
+
+# IF(NOT CURL_SPECIAL_LIBZ)
+#  CHECK_LIBRARY_EXISTS_CONCAT("z"      inflateEnd   HAVE_LIBZ)
+# ENDIF(NOT CURL_SPECIAL_LIBZ)
+
+# Check for idn
+check_library_exists_concat("idn" idna_to_ascii_lz HAVE_LIBIDN)
+
+# Check for LDAP
+check_library_exists_concat("ldap" ldap_init HAVE_LIBLDAP)
+# if(NOT HAVE_LIBLDAP)
+# SET(CURL_DISABLE_LDAP ON)
+# endif(NOT HAVE_LIBLDAP)
+
+# Check for symbol dlopen (same as HAVE_LIBDL)
+check_library_exists("${CURL_LIBS}" dlopen "" HAVE_DLOPEN)
+
+# For other tests to use the same libraries
+set(CMAKE_REQUIRED_LIBRARIES ${CURL_LIBS})
+
+option(CURL_ZLIB "Set to ON to enable building cURL with zlib support." ON)
+set(HAVE_LIBZ OFF)
+set(HAVE_ZLIB_H OFF)
+set(HAVE_ZLIB OFF)
+if(CURL_ZLIB)  # AND CURL_CONFIG_HAS_BEEN_RUN_BEFORE
+  find_package(ZLIB QUIET)
+  if(ZLIB_FOUND)
+    set(HAVE_ZLIB_H ON)
+    set(HAVE_ZLIB ON)
+    set(HAVE_LIBZ ON)
+  endif()
+endif()
+
+option(CMAKE_USE_OPENSSL "Use OpenSSL code. Experimental" ON)
+mark_as_advanced(CMAKE_USE_OPENSSL)
+if(CMAKE_USE_OPENSSL)
+  if(WIN32)
+    find_package(OpenSSL)
+    if(OPENSSL_FOUND)
+      set(USE_SSLEAY TRUE)
+      set(USE_OPENSSL TRUE)
+      list(APPEND CURL_LIBS ${OPENSSL_LIBRARIES} )
+    else()
+      set(CMAKE_USE_OPENSSL FALSE)
+      message(STATUS "OpenSSL NOT Found, disabling CMAKE_USE_OPENSSL")
+    endif()
+  else(WIN32)
+    check_library_exists_concat("crypto" CRYPTO_lock  HAVE_LIBCRYPTO)
+    check_library_exists_concat("ssl"    SSL_connect  HAVE_LIBSSL)
+  endif(WIN32)
+endif(CMAKE_USE_OPENSSL)
+
+# If we have features.h, then do the _BSD_SOURCE magic
+check_include_file("features.h"       HAVE_FEATURES_H)
+
+# Check if header file exists and add it to the list.
+macro(CHECK_INCLUDE_FILE_CONCAT FILE VARIABLE)
+  check_include_files("${CURL_INCLUDES};${FILE}" ${VARIABLE})
+  if(${VARIABLE})
+    set(CURL_INCLUDES ${CURL_INCLUDES} ${FILE})
+    set(CURL_TEST_DEFINES "${CURL_TEST_DEFINES} -D${VARIABLE}")
+  endif(${VARIABLE})
+endmacro(CHECK_INCLUDE_FILE_CONCAT)
+
+
+# Check for header files
+if(NOT UNIX)
+  check_include_file_concat("ws2tcpip.h"     HAVE_WS2TCPIP_H)
+  check_include_file_concat("winsock2.h"     HAVE_WINSOCK2_H)
+endif(NOT UNIX)
+check_include_file_concat("stdio.h"          HAVE_STDIO_H)
+if(NOT UNIX)
+  check_include_file_concat("windows.h"      HAVE_WINDOWS_H)
+  check_include_file_concat("winsock.h"      HAVE_WINSOCK_H)
+endif(NOT UNIX)
+
+check_include_file_concat("inttypes.h"       HAVE_INTTYPES_H)
+check_include_file_concat("sys/filio.h"      HAVE_SYS_FILIO_H)
+check_include_file_concat("sys/ioctl.h"      HAVE_SYS_IOCTL_H)
+check_include_file_concat("sys/param.h"      HAVE_SYS_PARAM_H)
+check_include_file_concat("sys/poll.h"       HAVE_SYS_POLL_H)
+check_include_file_concat("sys/resource.h"   HAVE_SYS_RESOURCE_H)
+check_include_file_concat("sys/select.h"     HAVE_SYS_SELECT_H)
+check_include_file_concat("sys/socket.h"     HAVE_SYS_SOCKET_H)
+check_include_file_concat("sys/sockio.h"     HAVE_SYS_SOCKIO_H)
+check_include_file_concat("sys/stat.h"       HAVE_SYS_STAT_H)
+check_include_file_concat("sys/time.h"       HAVE_SYS_TIME_H)
+check_include_file_concat("sys/types.h"      HAVE_SYS_TYPES_H)
+check_include_file_concat("sys/uio.h"        HAVE_SYS_UIO_H)
+check_include_file_concat("sys/un.h"         HAVE_SYS_UN_H)
+check_include_file_concat("sys/utime.h"      HAVE_SYS_UTIME_H)
+check_include_file_concat("alloca.h"         HAVE_ALLOCA_H)
+check_include_file_concat("arpa/inet.h"      HAVE_ARPA_INET_H)
+check_include_file_concat("arpa/tftp.h"      HAVE_ARPA_TFTP_H)
+check_include_file_concat("assert.h"         HAVE_ASSERT_H)
+check_include_file_concat("crypto.h"         HAVE_CRYPTO_H)
+check_include_file_concat("des.h"            HAVE_DES_H)
+check_include_file_concat("err.h"            HAVE_ERR_H)
+check_include_file_concat("errno.h"          HAVE_ERRNO_H)
+check_include_file_concat("fcntl.h"          HAVE_FCNTL_H)
+check_include_file_concat("gssapi/gssapi.h"  HAVE_GSSAPI_GSSAPI_H)
+check_include_file_concat("gssapi/gssapi_generic.h" HAVE_GSSAPI_GSSAPI_GENERIC_H)
+check_include_file_concat("gssapi/gssapi_krb5.h" HAVE_GSSAPI_GSSAPI_KRB5_H)
+check_include_file_concat("idn-free.h"       HAVE_IDN_FREE_H)
+check_include_file_concat("ifaddrs.h"        HAVE_IFADDRS_H)
+check_include_file_concat("io.h"             HAVE_IO_H)
+check_include_file_concat("krb.h"            HAVE_KRB_H)
+check_include_file_concat("libgen.h"         HAVE_LIBGEN_H)
+check_include_file_concat("libssh2.h"        HAVE_LIBSSH2_H)
+check_include_file_concat("limits.h"         HAVE_LIMITS_H)
+check_include_file_concat("locale.h"         HAVE_LOCALE_H)
+check_include_file_concat("net/if.h"         HAVE_NET_IF_H)
+check_include_file_concat("netdb.h"          HAVE_NETDB_H)
+check_include_file_concat("netinet/in.h"     HAVE_NETINET_IN_H)
+check_include_file_concat("netinet/tcp.h"    HAVE_NETINET_TCP_H)
+check_include_file_concat("openssl/crypto.h" HAVE_OPENSSL_CRYPTO_H)
+check_include_file_concat("openssl/engine.h" HAVE_OPENSSL_ENGINE_H)
+check_include_file_concat("openssl/err.h"    HAVE_OPENSSL_ERR_H)
+check_include_file_concat("openssl/pem.h"    HAVE_OPENSSL_PEM_H)
+check_include_file_concat("openssl/pkcs12.h" HAVE_OPENSSL_PKCS12_H)
+check_include_file_concat("openssl/rsa.h"    HAVE_OPENSSL_RSA_H)
+check_include_file_concat("openssl/ssl.h"    HAVE_OPENSSL_SSL_H)
+check_include_file_concat("openssl/x509.h"   HAVE_OPENSSL_X509_H)
+check_include_file_concat("pem.h"            HAVE_PEM_H)
+check_include_file_concat("poll.h"           HAVE_POLL_H)
+check_include_file_concat("pwd.h"            HAVE_PWD_H)
+check_include_file_concat("rsa.h"            HAVE_RSA_H)
+check_include_file_concat("setjmp.h"         HAVE_SETJMP_H)
+check_include_file_concat("sgtty.h"          HAVE_SGTTY_H)
+check_include_file_concat("signal.h"         HAVE_SIGNAL_H)
+check_include_file_concat("ssl.h"            HAVE_SSL_H)
+check_include_file_concat("stdbool.h"        HAVE_STDBOOL_H)
+check_include_file_concat("stdint.h"         HAVE_STDINT_H)
+check_include_file_concat("stdio.h"          HAVE_STDIO_H)
+check_include_file_concat("stdlib.h"         HAVE_STDLIB_H)
+check_include_file_concat("string.h"         HAVE_STRING_H)
+check_include_file_concat("strings.h"        HAVE_STRINGS_H)
+check_include_file_concat("stropts.h"        HAVE_STROPTS_H)
+check_include_file_concat("termio.h"         HAVE_TERMIO_H)
+check_include_file_concat("termios.h"        HAVE_TERMIOS_H)
+check_include_file_concat("time.h"           HAVE_TIME_H)
+check_include_file_concat("tld.h"            HAVE_TLD_H)
+check_include_file_concat("unistd.h"         HAVE_UNISTD_H)
+check_include_file_concat("utime.h"          HAVE_UTIME_H)
+check_include_file_concat("x509.h"           HAVE_X509_H)
+
+check_include_file_concat("process.h"        HAVE_PROCESS_H)
+check_include_file_concat("stddef.h"         HAVE_STDDEF_H)
+check_include_file_concat("dlfcn.h"          HAVE_DLFCN_H)
+check_include_file_concat("malloc.h"         HAVE_MALLOC_H)
+check_include_file_concat("memory.h"         HAVE_MEMORY_H)
+check_include_file_concat("ldap.h"           HAVE_LDAP_H)
+check_include_file_concat("netinet/if_ether.h" HAVE_NETINET_IF_ETHER_H)
+check_include_file_concat("stdint.h"        HAVE_STDINT_H)
+check_include_file_concat("sockio.h"        HAVE_SOCKIO_H)
+check_include_file_concat("sys/utsname.h"   HAVE_SYS_UTSNAME_H)
+check_include_file_concat("idna.h"          HAVE_IDNA_H)
+
+if(CMAKE_USE_OPENSSL)
+  check_include_file_concat("openssl/rand.h"   HAVE_OPENSSL_RAND_H)
+endif(CMAKE_USE_OPENSSL)
+
+if(NOT HAVE_LDAP_H)
+  message(STATUS "LDAP_H not found CURL_DISABLE_LDAP set ON")
+  set(CURL_DISABLE_LDAP ON CACHE BOOL "" FORCE)
+endif()
+
+
+check_type_size(size_t  SIZEOF_SIZE_T)
+check_type_size(ssize_t  SIZEOF_SSIZE_T)
+check_type_size("long long"  SIZEOF_LONG_LONG)
+check_type_size("long"  SIZEOF_LONG)
+check_type_size("short"  SIZEOF_SHORT)
+check_type_size("int"  SIZEOF_INT)
+check_type_size("__int64"  SIZEOF___INT64)
+check_type_size("long double"  SIZEOF_LONG_DOUBLE)
+check_type_size("time_t"  SIZEOF_TIME_T)
+if(NOT HAVE_SIZEOF_SSIZE_T)
+  if(SIZEOF_LONG EQUAL SIZEOF_SIZE_T)
+    set(ssize_t long)
+  endif(SIZEOF_LONG EQUAL SIZEOF_SIZE_T)
+  if(NOT ssize_t AND SIZEOF___INT64 EQUAL SIZEOF_SIZE_T)
+    set(ssize_t __int64)
+  endif(NOT ssize_t AND SIZEOF___INT64 EQUAL SIZEOF_SIZE_T)
+endif(NOT HAVE_SIZEOF_SSIZE_T)
+
+# Different sizeofs, etc.
+
+#    define CURL_SIZEOF_LONG        4
+#    define CURL_TYPEOF_CURL_OFF_T  long long
+#    define CURL_FORMAT_CURL_OFF_T  "lld"
+#    define CURL_FORMAT_CURL_OFF_TU "llu"
+#    define CURL_FORMAT_OFF_T       "%lld"
+#    define CURL_SIZEOF_CURL_OFF_T  8
+#    define CURL_SUFFIX_CURL_OFF_T  LL
+#    define CURL_SUFFIX_CURL_OFF_TU ULL
+
+set(CURL_SIZEOF_LONG ${SIZEOF_LONG})
+
+if(SIZEOF_LONG EQUAL 8)
+  set(CURL_TYPEOF_CURL_OFF_T long)
+  set(CURL_SIZEOF_CURL_OFF_T 8)
+  set(CURL_FORMAT_CURL_OFF_T "ld")
+  set(CURL_FORMAT_CURL_OFF_TU "lu")
+  set(CURL_FORMAT_OFF_T "%ld")
+  set(CURL_SUFFIX_CURL_OFF_T L)
+  set(CURL_SUFFIX_CURL_OFF_TU LU)
+endif(SIZEOF_LONG EQUAL 8)
+
+if(SIZEOF_LONG_LONG EQUAL 8)
+  set(CURL_TYPEOF_CURL_OFF_T "long long")
+  set(CURL_SIZEOF_CURL_OFF_T 8)
+  set(CURL_FORMAT_CURL_OFF_T "lld")
+  set(CURL_FORMAT_CURL_OFF_TU "llu")
+  set(CURL_FORMAT_OFF_T "%lld")
+  set(CURL_SUFFIX_CURL_OFF_T LL)
+  set(CURL_SUFFIX_CURL_OFF_TU LLU)
+endif(SIZEOF_LONG_LONG EQUAL 8)
+
+if(NOT CURL_TYPEOF_CURL_OFF_T)
+  set(CURL_TYPEOF_CURL_OFF_T ${ssize_t})
+  set(CURL_SIZEOF_CURL_OFF_T ${SIZEOF_SSIZE_T})
+  # TODO: need adjustment here.
+  set(CURL_FORMAT_CURL_OFF_T "ld")
+  set(CURL_FORMAT_CURL_OFF_TU "lu")
+  set(CURL_FORMAT_OFF_T "%ld")
+  set(CURL_SUFFIX_CURL_OFF_T L)
+  set(CURL_SUFFIX_CURL_OFF_TU LU)
+endif(NOT CURL_TYPEOF_CURL_OFF_T)
+
+if(HAVE_SIZEOF_LONG_LONG)
+  set(HAVE_LONGLONG 1)
+  set(HAVE_LL 1)
+endif(HAVE_SIZEOF_LONG_LONG)
+
+find_file(RANDOM_FILE urandom /dev)
+mark_as_advanced(RANDOM_FILE)
+
+# Check for some functions that are used
+check_symbol_exists(basename      "${CURL_INCLUDES}" HAVE_BASENAME)
+check_symbol_exists(socket        "${CURL_INCLUDES}" HAVE_SOCKET)
+check_symbol_exists(poll          "${CURL_INCLUDES}" HAVE_POLL)
+check_symbol_exists(select        "${CURL_INCLUDES}" HAVE_SELECT)
+check_symbol_exists(strdup        "${CURL_INCLUDES}" HAVE_STRDUP)
+check_symbol_exists(strstr        "${CURL_INCLUDES}" HAVE_STRSTR)
+check_symbol_exists(strtok_r      "${CURL_INCLUDES}" HAVE_STRTOK_R)
+check_symbol_exists(strftime      "${CURL_INCLUDES}" HAVE_STRFTIME)
+check_symbol_exists(uname         "${CURL_INCLUDES}" HAVE_UNAME)
+check_symbol_exists(strcasecmp    "${CURL_INCLUDES}" HAVE_STRCASECMP)
+check_symbol_exists(stricmp       "${CURL_INCLUDES}" HAVE_STRICMP)
+check_symbol_exists(strcmpi       "${CURL_INCLUDES}" HAVE_STRCMPI)
+check_symbol_exists(strncmpi      "${CURL_INCLUDES}" HAVE_STRNCMPI)
+check_symbol_exists(alarm         "${CURL_INCLUDES}" HAVE_ALARM)
+if(NOT HAVE_STRNCMPI)
+  set(HAVE_STRCMPI)
+endif(NOT HAVE_STRNCMPI)
+check_symbol_exists(gethostbyaddr "${CURL_INCLUDES}" HAVE_GETHOSTBYADDR)
+check_symbol_exists(gethostbyaddr_r "${CURL_INCLUDES}" HAVE_GETHOSTBYADDR_R)
+check_symbol_exists(gettimeofday  "${CURL_INCLUDES}" HAVE_GETTIMEOFDAY)
+check_symbol_exists(inet_addr     "${CURL_INCLUDES}" HAVE_INET_ADDR)
+check_symbol_exists(inet_ntoa     "${CURL_INCLUDES}" HAVE_INET_NTOA)
+check_symbol_exists(inet_ntoa_r   "${CURL_INCLUDES}" HAVE_INET_NTOA_R)
+check_symbol_exists(tcsetattr     "${CURL_INCLUDES}" HAVE_TCSETATTR)
+check_symbol_exists(tcgetattr     "${CURL_INCLUDES}" HAVE_TCGETATTR)
+check_symbol_exists(perror        "${CURL_INCLUDES}" HAVE_PERROR)
+check_symbol_exists(closesocket   "${CURL_INCLUDES}" HAVE_CLOSESOCKET)
+check_symbol_exists(setvbuf       "${CURL_INCLUDES}" HAVE_SETVBUF)
+check_symbol_exists(sigsetjmp     "${CURL_INCLUDES}" HAVE_SIGSETJMP)
+check_symbol_exists(getpass_r     "${CURL_INCLUDES}" HAVE_GETPASS_R)
+check_symbol_exists(strlcat       "${CURL_INCLUDES}" HAVE_STRLCAT)
+check_symbol_exists(getpwuid      "${CURL_INCLUDES}" HAVE_GETPWUID)
+check_symbol_exists(geteuid       "${CURL_INCLUDES}" HAVE_GETEUID)
+check_symbol_exists(utime         "${CURL_INCLUDES}" HAVE_UTIME)
+if(CMAKE_USE_OPENSSL)
+  check_symbol_exists(RAND_status   "${CURL_INCLUDES}" HAVE_RAND_STATUS)
+  check_symbol_exists(RAND_screen   "${CURL_INCLUDES}" HAVE_RAND_SCREEN)
+  check_symbol_exists(RAND_egd      "${CURL_INCLUDES}" HAVE_RAND_EGD)
+  check_symbol_exists(CRYPTO_cleanup_all_ex_data "${CURL_INCLUDES}"
+    HAVE_CRYPTO_CLEANUP_ALL_EX_DATA)
+  if(HAVE_LIBCRYPTO AND HAVE_LIBSSL)
+    set(USE_OPENSSL 1)
+    set(USE_SSLEAY 1)
+  endif(HAVE_LIBCRYPTO AND HAVE_LIBSSL)
+endif(CMAKE_USE_OPENSSL)
+check_symbol_exists(gmtime_r      "${CURL_INCLUDES}" HAVE_GMTIME_R)
+check_symbol_exists(localtime_r   "${CURL_INCLUDES}" HAVE_LOCALTIME_R)
+
+check_symbol_exists(gethostbyname   "${CURL_INCLUDES}" HAVE_GETHOSTBYNAME)
+check_symbol_exists(gethostbyname_r "${CURL_INCLUDES}" HAVE_GETHOSTBYNAME_R)
+
+check_symbol_exists(signal        "${CURL_INCLUDES}" HAVE_SIGNAL_FUNC)
+check_symbol_exists(SIGALRM       "${CURL_INCLUDES}" HAVE_SIGNAL_MACRO)
+if(HAVE_SIGNAL_FUNC AND HAVE_SIGNAL_MACRO)
+  set(HAVE_SIGNAL 1)
+endif(HAVE_SIGNAL_FUNC AND HAVE_SIGNAL_MACRO)
+check_symbol_exists(uname          "${CURL_INCLUDES}" HAVE_UNAME)
+check_symbol_exists(strtoll        "${CURL_INCLUDES}" HAVE_STRTOLL)
+check_symbol_exists(_strtoi64      "${CURL_INCLUDES}" HAVE__STRTOI64)
+check_symbol_exists(strerror_r     "${CURL_INCLUDES}" HAVE_STRERROR_R)
+check_symbol_exists(siginterrupt   "${CURL_INCLUDES}" HAVE_SIGINTERRUPT)
+check_symbol_exists(perror         "${CURL_INCLUDES}" HAVE_PERROR)
+check_symbol_exists(fork           "${CURL_INCLUDES}" HAVE_FORK)
+check_symbol_exists(freeaddrinfo   "${CURL_INCLUDES}" HAVE_FREEADDRINFO)
+check_symbol_exists(freeifaddrs    "${CURL_INCLUDES}" HAVE_FREEIFADDRS)
+check_symbol_exists(pipe           "${CURL_INCLUDES}" HAVE_PIPE)
+check_symbol_exists(ftruncate      "${CURL_INCLUDES}" HAVE_FTRUNCATE)
+check_symbol_exists(getprotobyname "${CURL_INCLUDES}" HAVE_GETPROTOBYNAME)
+check_symbol_exists(getrlimit      "${CURL_INCLUDES}" HAVE_GETRLIMIT)
+check_symbol_exists(idn_free       "${CURL_INCLUDES}" HAVE_IDN_FREE)
+check_symbol_exists(idna_strerror  "${CURL_INCLUDES}" HAVE_IDNA_STRERROR)
+check_symbol_exists(tld_strerror   "${CURL_INCLUDES}" HAVE_TLD_STRERROR)
+check_symbol_exists(setlocale      "${CURL_INCLUDES}" HAVE_SETLOCALE)
+check_symbol_exists(setrlimit      "${CURL_INCLUDES}" HAVE_SETRLIMIT)
+check_symbol_exists(fcntl          "${CURL_INCLUDES}" HAVE_FCNTL)
+check_symbol_exists(ioctl          "${CURL_INCLUDES}" HAVE_IOCTL)
+check_symbol_exists(setsockopt     "${CURL_INCLUDES}" HAVE_SETSOCKOPT)
+
+# symbol exists in win32, but function does not.
+check_function_exists(inet_pton HAVE_INET_PTON)
+
+# sigaction and sigsetjmp are special. Use special mechanism for
+# detecting those, but only if previous attempt failed.
+if(HAVE_SIGNAL_H)
+  check_symbol_exists(sigaction "signal.h" HAVE_SIGACTION)
+endif(HAVE_SIGNAL_H)
+
+if(NOT HAVE_SIGSETJMP)
+  if(HAVE_SETJMP_H)
+    check_symbol_exists(sigsetjmp "setjmp.h" HAVE_MACRO_SIGSETJMP)
+    if(HAVE_MACRO_SIGSETJMP)
+      set(HAVE_SIGSETJMP 1)
+    endif(HAVE_MACRO_SIGSETJMP)
+  endif(HAVE_SETJMP_H)
+endif(NOT HAVE_SIGSETJMP)
+
+# If there is no stricmp(), do not allow LDAP to parse URLs
+if(NOT HAVE_STRICMP)
+  set(HAVE_LDAP_URL_PARSE 1)
+endif(NOT HAVE_STRICMP)
+
+# For other curl specific tests, use this macro.
+macro(CURL_INTERNAL_TEST CURL_TEST)
+  if("${CURL_TEST}" MATCHES "^${CURL_TEST}$")
+    set(MACRO_CHECK_FUNCTION_DEFINITIONS
+      "-D${CURL_TEST} ${CURL_TEST_DEFINES} ${CMAKE_REQUIRED_FLAGS}")
+    if(CMAKE_REQUIRED_LIBRARIES)
+      set(CURL_TEST_ADD_LIBRARIES
+        "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
+    endif(CMAKE_REQUIRED_LIBRARIES)
+
+    message(STATUS "Performing Curl Test ${CURL_TEST}")
+    try_compile(${CURL_TEST}
+      ${CMAKE_BINARY_DIR}
+      ${CMAKE_CURRENT_SOURCE_DIR}/CMake/CurlTests.c
+      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
+      "${CURL_TEST_ADD_LIBRARIES}"
+      OUTPUT_VARIABLE OUTPUT)
+    if(${CURL_TEST})
+      set(${CURL_TEST} 1 CACHE INTERNAL "Curl test ${FUNCTION}")
+      message(STATUS "Performing Curl Test ${CURL_TEST} - Success")
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+        "Performing Curl Test ${CURL_TEST} passed with the following output:\n"
+        "${OUTPUT}\n")
+    else(${CURL_TEST})
+      message(STATUS "Performing Curl Test ${CURL_TEST} - Failed")
+      set(${CURL_TEST} "" CACHE INTERNAL "Curl test ${FUNCTION}")
+      file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+        "Performing Curl Test ${CURL_TEST} failed with the following output:\n"
+        "${OUTPUT}\n")
+    endif(${CURL_TEST})
+  endif("${CURL_TEST}" MATCHES "^${CURL_TEST}$")
+endmacro(CURL_INTERNAL_TEST)
+
+macro(CURL_INTERNAL_TEST_RUN CURL_TEST)
+  if("${CURL_TEST}_COMPILE" MATCHES "^${CURL_TEST}_COMPILE$")
+    set(MACRO_CHECK_FUNCTION_DEFINITIONS
+      "-D${CURL_TEST} ${CMAKE_REQUIRED_FLAGS}")
+    if(CMAKE_REQUIRED_LIBRARIES)
+      set(CURL_TEST_ADD_LIBRARIES
+        "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
+    endif(CMAKE_REQUIRED_LIBRARIES)
+
+    message(STATUS "Performing Curl Test ${CURL_TEST}")
+    try_run(${CURL_TEST} ${CURL_TEST}_COMPILE
+      ${CMAKE_BINARY_DIR}
+      ${CMAKE_CURRENT_SOURCE_DIR}/CMake/CurlTests.c
+      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
+      "${CURL_TEST_ADD_LIBRARIES}"
+      OUTPUT_VARIABLE OUTPUT)
+    if(${CURL_TEST}_COMPILE AND NOT ${CURL_TEST})
+      set(${CURL_TEST} 1 CACHE INTERNAL "Curl test ${FUNCTION}")
+      message(STATUS "Performing Curl Test ${CURL_TEST} - Success")
+    else(${CURL_TEST}_COMPILE AND NOT ${CURL_TEST})
+      message(STATUS "Performing Curl Test ${CURL_TEST} - Failed")
+      set(${CURL_TEST} "" CACHE INTERNAL "Curl test ${FUNCTION}")
+      file(APPEND "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log"
+        "Performing Curl Test ${CURL_TEST} failed with the following output:\n"
+        "${OUTPUT}")
+      if(${CURL_TEST}_COMPILE)
+        file(APPEND
+          "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log"
+          "There was a problem running this test\n")
+      endif(${CURL_TEST}_COMPILE)
+      file(APPEND "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log"
+        "\n\n")
+    endif(${CURL_TEST}_COMPILE AND NOT ${CURL_TEST})
+  endif("${CURL_TEST}_COMPILE" MATCHES "^${CURL_TEST}_COMPILE$")
+endmacro(CURL_INTERNAL_TEST_RUN)
+
+# Do curl specific tests
+foreach(CURL_TEST
+    HAVE_FCNTL_O_NONBLOCK
+    HAVE_IOCTLSOCKET
+    HAVE_IOCTLSOCKET_CAMEL
+    HAVE_IOCTLSOCKET_CAMEL_FIONBIO
+    HAVE_IOCTLSOCKET_FIONBIO
+    HAVE_IOCTL_FIONBIO
+    HAVE_IOCTL_SIOCGIFADDR
+    HAVE_SETSOCKOPT_SO_NONBLOCK
+    HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
+    TIME_WITH_SYS_TIME
+    HAVE_O_NONBLOCK
+    HAVE_GETHOSTBYADDR_R_5
+    HAVE_GETHOSTBYADDR_R_7
+    HAVE_GETHOSTBYADDR_R_8
+    HAVE_GETHOSTBYADDR_R_5_REENTRANT
+    HAVE_GETHOSTBYADDR_R_7_REENTRANT
+    HAVE_GETHOSTBYADDR_R_8_REENTRANT
+    HAVE_GETHOSTBYNAME_R_3
+    HAVE_GETHOSTBYNAME_R_5
+    HAVE_GETHOSTBYNAME_R_6
+    HAVE_GETHOSTBYNAME_R_3_REENTRANT
+    HAVE_GETHOSTBYNAME_R_5_REENTRANT
+    HAVE_GETHOSTBYNAME_R_6_REENTRANT
+    HAVE_SOCKLEN_T
+    HAVE_IN_ADDR_T
+    HAVE_BOOL_T
+    STDC_HEADERS
+    RETSIGTYPE_TEST
+    HAVE_INET_NTOA_R_DECL
+    HAVE_INET_NTOA_R_DECL_REENTRANT
+    HAVE_GETADDRINFO
+    HAVE_FILE_OFFSET_BITS
+    )
+  curl_internal_test(${CURL_TEST})
+endforeach(CURL_TEST)
+if(HAVE_FILE_OFFSET_BITS)
+  set(_FILE_OFFSET_BITS 64)
+endif(HAVE_FILE_OFFSET_BITS)
+foreach(CURL_TEST
+    HAVE_GLIBC_STRERROR_R
+    HAVE_POSIX_STRERROR_R
+    )
+  curl_internal_test_run(${CURL_TEST})
+endforeach(CURL_TEST)
+
+# Check for reentrant
+foreach(CURL_TEST
+    HAVE_GETHOSTBYADDR_R_5
+    HAVE_GETHOSTBYADDR_R_7
+    HAVE_GETHOSTBYADDR_R_8
+    HAVE_GETHOSTBYNAME_R_3
+    HAVE_GETHOSTBYNAME_R_5
+    HAVE_GETHOSTBYNAME_R_6
+    HAVE_INET_NTOA_R_DECL_REENTRANT)
+  if(NOT ${CURL_TEST})
+    if(${CURL_TEST}_REENTRANT)
+      set(NEED_REENTRANT 1)
+    endif(${CURL_TEST}_REENTRANT)
+  endif(NOT ${CURL_TEST})
+endforeach(CURL_TEST)
+
+if(NEED_REENTRANT)
+  foreach(CURL_TEST
+      HAVE_GETHOSTBYADDR_R_5
+      HAVE_GETHOSTBYADDR_R_7
+      HAVE_GETHOSTBYADDR_R_8
+      HAVE_GETHOSTBYNAME_R_3
+      HAVE_GETHOSTBYNAME_R_5
+      HAVE_GETHOSTBYNAME_R_6)
+    set(${CURL_TEST} 0)
+    if(${CURL_TEST}_REENTRANT)
+      set(${CURL_TEST} 1)
+    endif(${CURL_TEST}_REENTRANT)
+  endforeach(CURL_TEST)
+endif(NEED_REENTRANT)
+
+if(HAVE_INET_NTOA_R_DECL_REENTRANT)
+  set(HAVE_INET_NTOA_R_DECL 1)
+  set(NEED_REENTRANT 1)
+endif(HAVE_INET_NTOA_R_DECL_REENTRANT)
+
+# Some other minor tests
+
+if(NOT HAVE_IN_ADDR_T)
+  set(in_addr_t "unsigned long")
+endif(NOT HAVE_IN_ADDR_T)
+
+# Fix libz / zlib.h
+
+if(NOT CURL_SPECIAL_LIBZ)
+  if(NOT HAVE_LIBZ)
+    set(HAVE_ZLIB_H 0)
+  endif(NOT HAVE_LIBZ)
+
+  if(NOT HAVE_ZLIB_H)
+    set(HAVE_LIBZ 0)
+  endif(NOT HAVE_ZLIB_H)
+endif(NOT CURL_SPECIAL_LIBZ)
+
+if(_FILE_OFFSET_BITS)
+  set(_FILE_OFFSET_BITS 64)
+endif(_FILE_OFFSET_BITS)
+set(CMAKE_REQUIRED_FLAGS "-D_FILE_OFFSET_BITS=64")
+set(CMAKE_EXTRA_INCLUDE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/curl/curl.h")
+check_type_size("curl_off_t" SIZEOF_CURL_OFF_T)
+set(CMAKE_EXTRA_INCLUDE_FILES)
+set(CMAKE_REQUIRED_FLAGS)
+
+
+# Check for nonblocking
+set(HAVE_DISABLED_NONBLOCKING 1)
+if(HAVE_FIONBIO OR
+    HAVE_IOCTLSOCKET OR
+    HAVE_IOCTLSOCKET_CASE OR
+    HAVE_O_NONBLOCK)
+  set(HAVE_DISABLED_NONBLOCKING)
+endif(HAVE_FIONBIO OR
+  HAVE_IOCTLSOCKET OR
+  HAVE_IOCTLSOCKET_CASE OR
+  HAVE_O_NONBLOCK)
+
+if(RETSIGTYPE_TEST)
+  set(RETSIGTYPE void)
+else(RETSIGTYPE_TEST)
+  set(RETSIGTYPE int)
+endif(RETSIGTYPE_TEST)
+
+if(CMAKE_COMPILER_IS_GNUCC AND APPLE)
+  include(CheckCCompilerFlag)
+  check_c_compiler_flag(-Wno-long-double HAVE_C_FLAG_Wno_long_double)
+  if(HAVE_C_FLAG_Wno_long_double)
+    # The Mac version of GCC warns about use of long double.  Disable it.
+    get_source_file_property(MPRINTF_COMPILE_FLAGS mprintf.c COMPILE_FLAGS)
+    if(MPRINTF_COMPILE_FLAGS)
+      set(MPRINTF_COMPILE_FLAGS "${MPRINTF_COMPILE_FLAGS} -Wno-long-double")
+    else(MPRINTF_COMPILE_FLAGS)
+      set(MPRINTF_COMPILE_FLAGS "-Wno-long-double")
+    endif(MPRINTF_COMPILE_FLAGS)
+    set_source_files_properties(mprintf.c PROPERTIES
+      COMPILE_FLAGS ${MPRINTF_COMPILE_FLAGS})
+  endif(HAVE_C_FLAG_Wno_long_double)
+endif(CMAKE_COMPILER_IS_GNUCC AND APPLE)
+
+if(HAVE_SOCKLEN_T)
+  set(CURL_TYPEOF_CURL_SOCKLEN_T "socklen_t")
+  if(WIN32)
+    set(CMAKE_EXTRA_INCLUDE_FILES "winsock2.h;ws2tcpip.h")
+  elseif(HAVE_SYS_SOCKET_H)
+    set(CMAKE_EXTRA_INCLUDE_FILES "sys/socket.h")
+  endif()
+  check_type_size("socklen_t" CURL_SIZEOF_CURL_SOCKLEN_T)
+  set(CMAKE_EXTRA_INCLUDE_FILES)
+  if(NOT HAVE_CURL_SIZEOF_CURL_SOCKLEN_T)
+    message(FATAL_ERROR
+     "Check for sizeof socklen_t failed, see CMakeFiles/CMakerror.log")
+  endif()
+else()
+  set(CURL_TYPEOF_CURL_SOCKLEN_T int)
+  set(CURL_SIZEOF_CURL_SOCKLEN_T ${SIZEOF_INT})
+endif()
+
+include(CMake/OtherTests.cmake)
+
+add_definitions(-DHAVE_CONFIG_H)
+
+# For windows, do not allow the compiler to use default target (Vista).
+if(WIN32)
+  add_definitions(-D_WIN32_WINNT=0x0501)
+endif(WIN32)
+
+if(MSVC)
+  add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
+endif(MSVC)
+
+# Sets up the dependencies (zlib, OpenSSL, etc.) of a cURL subproject according to options.
+# TODO This is far to be complete!
+function(SETUP_CURL_DEPENDENCIES TARGET_NAME)
+  if(CURL_ZLIB AND ZLIB_FOUND)
+    include_directories(${ZLIB_INCLUDE_DIR})
+  endif()
+  if(CURL_ZLIB AND ZLIB_FOUND)
+    target_link_libraries(${TARGET_NAME} ${ZLIB_LIBRARIES})
+    #ADD_DEFINITIONS( -DHAVE_ZLIB_H -DHAVE_ZLIB -DHAVE_LIBZ )
+  endif()
+
+  if(CMAKE_USE_OPENSSL AND OPENSSL_FOUND)
+    include_directories(${OPENSSL_INCLUDE_DIR})
+  endif()
+  if(CMAKE_USE_OPENSSL AND CURL_CONFIG_HAS_BEEN_RUN_BEFORE)
+    target_link_libraries(${TARGET_NAME} ${OPENSSL_LIBRARIES})
+    #ADD_DEFINITIONS( -DUSE_SSLEAY )
+  endif()
+endfunction()
+
+# Ugly (but functional) way to include "Makefile.inc" by transforming it (= regenerate it).
+function(TRANSFORM_MAKEFILE_INC INPUT_FILE OUTPUT_FILE)
+  file(READ ${INPUT_FILE} MAKEFILE_INC_TEXT)
+  string(REPLACE "$(top_srcdir)"   "\${CURL_SOURCE_DIR}" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})
+  string(REPLACE "$(top_builddir)" "\${CURL_BINARY_DIR}" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})
+
+  string(REGEX REPLACE "\\\\\n" "§!§" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})
+  string(REGEX REPLACE "([a-zA-Z_][a-zA-Z0-9_]*)[\t ]*=[\t ]*([^\n]*)" "SET(\\1 \\2)" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})
+  string(REPLACE "§!§" "\n" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})
+
+  string(REGEX REPLACE "\\$\\(([a-zA-Z_][a-zA-Z0-9_]*)\\)" "\${\\1}" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})    # Replace $() with ${}
+  string(REGEX REPLACE "@([a-zA-Z_][a-zA-Z0-9_]*)@" "\${\\1}" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})    # Replace @@ with ${}, even if that may not be read by CMake scripts.
+  file(WRITE ${OUTPUT_FILE} ${MAKEFILE_INC_TEXT})
+
+endfunction()
+
+add_subdirectory(lib)
+if(BUILD_CURL_EXE)
+  add_subdirectory(src)
+endif()
+if(BUILD_CURL_TESTS)
+  add_subdirectory(tests)
+endif()
+
+# This needs to be run very last so other parts of the scripts can take advantage of this.
+if(NOT CURL_CONFIG_HAS_BEEN_RUN_BEFORE)
+  set(CURL_CONFIG_HAS_BEEN_RUN_BEFORE 1 CACHE INTERNAL "Flag to track whether this is the first time running CMake or if CMake has been configured before")
+endif()
+
+# Installation.
+# First, install generated curlbuild.h
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/include/curl/curlbuild.h"
+    DESTINATION include/curl )
+# Next, install other headers excluding curlbuild.h
+install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include/curl"
+    DESTINATION include
+    FILES_MATCHING PATTERN "*.h"
+    PATTERN "curlbuild.h" EXCLUDE)
diff --git a/curl-7.25.0/COPYING b/curl-7.25.0/COPYING
new file mode 100644
index 0000000..1bd3e92
--- /dev/null
+++ b/curl-7.25.0/COPYING
@@ -0,0 +1,21 @@
+COPYRIGHT AND PERMISSION NOTICE
+
+Copyright (c) 1996 - 2011, Daniel Stenberg, <daniel@haxx.se>.
+
+All rights reserved.
+
+Permission to use, copy, modify, and distribute this software for any purpose
+with or without fee is hereby granted, provided that the above copyright
+notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN
+NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
+OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder shall not
+be used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization of the copyright holder.
diff --git a/curl-7.25.0/MacOSX-Framework b/curl-7.25.0/MacOSX-Framework
new file mode 100755
index 0000000..0c97acd
--- /dev/null
+++ b/curl-7.25.0/MacOSX-Framework
@@ -0,0 +1,132 @@
+#!/bin/bash
+# This script performs all of the steps needed to build a
+# universal binary libcurl.framework for Mac OS X 10.4 or greater.
+#
+# Hendrik Visage:
+#  Generalizations added since  Snowleopard (10.6) do not include
+# the 10.4u SDK.
+#
+# Also note:
+# 10.5 is the *ONLY* SDK that support PPC64 :( -- 10.6 do not have ppc64 support
+#If you need to have PPC64 support then change below to 1
+PPC64_NEEDED=0
+
+# For me the default is to develop for the platform I am on, and if you
+#desire compatibility with older versions then change USE_OLD to 1 :)
+USE_OLD=0
+
+VERSION=`/usr/bin/sed -ne 's/^#define LIBCURL_VERSION "\(.*\)"/\1/p' include/curl/curlver.h`
+FRAMEWORK_VERSION=Versions/Release-$VERSION
+
+#I also wanted to "copy over" the system, and thus the reason I added the
+# version to Versions/Release-7.20.1 etc.
+# now a simple rsync -vaP libcurl.framework /Library/Frameworks will install it
+# and setup the right paths to this version, leaving the system version
+# "intact", so you can "fix" it later with the links to Versions/A/...
+
+
+OLD_SDK=`ls  /Developer/SDKs|head -1`
+NEW_SDK=`ls -r /Developer/SDKs|head -1`
+
+if test "0"$USE_OLD -gt 0
+then
+ SDK32=$OLD_SDK
+else
+ SDK32=$NEW_SDK
+fi
+
+MACVER=`echo $SDK32|sed -e s/[a-zA-Z]//g -e s/.\$//`
+
+SDK32_DIR='/Developer/SDKs/'$SDK32
+MINVER32='-mmacosx-version-min='$MACVER
+ARCHES32='-arch i386 -arch ppc'
+
+
+if test $PPC64_NEEDED -gt 0
+then
+  SDK64=10.5
+  ARCHES64='-arch x86_64 -arch ppc64'
+  SDK64=`ls  /Developer/SDKs|grep 10.5|head -1`
+else
+ ARCHES64='-arch x86_64'
+ #We "know" that 10.4 and earlier do not support 64bit
+ OLD_SDK64=`ls  /Developer/SDKs|egrep -v "10.[0-4]"|head -1`
+ NEW_SDK64=`ls -r /Developer/SDKs|egrep -v "10.[0-4]"|head -1`
+ if test $USE_OLD -gt 0
+  then
+   SDK64=$OLD_SDK64
+  else
+   SDK64=$NEW_SDK64
+  fi
+fi
+
+SDK64_DIR='/Developer/SDKs/'$SDK64
+MACVER64=`echo $SDK64|sed -e s/[a-zA-Z]//g -e s/.\$//`
+
+MINVER64='-mmacosx-version-min='$MACVER64
+
+if test ! -z $SDK32; then
+  echo "----Configuring libcurl for 32 bit universal framework..."
+  make clean
+  ./configure --disable-dependency-tracking --disable-static --with-gssapi \
+    CFLAGS="-Os -isysroot $SDK32_DIR $ARCHES32 $MINVER32" \
+    LDFLAGS="-Wl,-syslibroot,$SDK32_DIR $ARCHES32 $MINVER32 -Wl,-headerpad_max_install_names" \
+    CC=$CC
+
+  echo "----Building 32 bit libcurl..."
+  make
+
+  echo "----Creating 32 bit framework..."
+  rm -r libcurl.framework
+  mkdir -p libcurl.framework/${FRAMEWORK_VERSION}/Resources
+  cp lib/.libs/libcurl.dylib libcurl.framework/${FRAMEWORK_VERSION}/libcurl
+  install_name_tool -id @executable_path/../Frameworks/libcurl.framework/${FRAMEWORK_VERSION}/libcurl libcurl.framework/${FRAMEWORK_VERSION}/libcurl
+  /usr/bin/sed -e "s/7\.12\.3/$VERSION/" lib/libcurl.plist >libcurl.framework/${FRAMEWORK_VERSION}/Resources/Info.plist
+  mkdir -p libcurl.framework/${FRAMEWORK_VERSION}/Headers/curl
+  cp include/curl/*.h libcurl.framework/${FRAMEWORK_VERSION}/Headers/curl
+  pushd libcurl.framework
+  ln -fs ${FRAMEWORK_VERSION}/libcurl libcurl
+  ln -fs ${FRAMEWORK_VERSION}/Resources Resources
+  ln -fs ${FRAMEWORK_VERSION}/Headers Headers
+  cd Versions
+  ln -fs ${FRAMEWORK_VERSION} Current
+
+  echo TEsting for SDK64
+  if test -d $SDK64_DIR; then
+  echo entering...
+    popd
+    make clean
+    echo "----Configuring libcurl for 64 bit universal framework..."
+    ./configure --disable-dependency-tracking --disable-static --with-gssapi \
+      CFLAGS="-Os -isysroot $SDK64_DIR $ARCHES64 $MINVER64" \
+      LDFLAGS="-Wl,-syslibroot,$SDK64_DIR $ARCHES64 $MINVER64 -Wl,-headerpad_max_install_names" \
+      CC=$CC
+
+    echo "----Building 64 bit libcurl..."
+    make
+
+    echo "----Appending 64 bit framework to 32 bit framework..."
+    cp lib/.libs/libcurl.dylib libcurl.framework/${FRAMEWORK_VERSION}/libcurl64
+    install_name_tool -id @executable_path/../Frameworks/libcurl.framework/${FRAMEWORK_VERSION}/libcurl libcurl.framework/${FRAMEWORK_VERSION}/libcurl64
+    cp libcurl.framework/${FRAMEWORK_VERSION}/libcurl libcurl.framework/${FRAMEWORK_VERSION}/libcurl32
+    pwd
+    lipo libcurl.framework/${FRAMEWORK_VERSION}/libcurl32 libcurl.framework/${FRAMEWORK_VERSION}/libcurl64 -create -output libcurl.framework/${FRAMEWORK_VERSION}/libcurl
+    rm libcurl.framework/${FRAMEWORK_VERSION}/libcurl32 libcurl.framework/${FRAMEWORK_VERSION}/libcurl64
+    cp libcurl.framework/${FRAMEWORK_VERSION}/Headers/curl/curlbuild.h libcurl.framework/${FRAMEWORK_VERSION}/Headers/curl/curlbuild32.h
+    cp include/curl/curlbuild.h libcurl.framework/${FRAMEWORK_VERSION}/Headers/curl/curlbuild64.h
+    cat >libcurl.framework/${FRAMEWORK_VERSION}/Headers/curl/curlbuild.h <<EOF
+#ifdef __LP64__
+#include "curl/curlbuild64.h"
+#else
+#include "curl/curlbuild32.h"
+#endif
+EOF
+  fi
+
+  pwd
+  lipo -info libcurl.framework/${FRAMEWORK_VERSION}/libcurl
+  echo "libcurl.framework is built and can now be included in other projects."
+  echo "Copy libcurl.framework to your bundle's Contents/Frameworks folder, ~/Library/Frameworks or /Library/Frameworks."
+else
+  echo "Building libcurl.framework requires Mac OS X 10.4 or later with the MacOSX10.4/5/6 SDK installed."
+fi
diff --git a/curl-7.25.0/Makefile b/curl-7.25.0/Makefile
new file mode 100644
index 0000000..a4fbef1
--- /dev/null
+++ b/curl-7.25.0/Makefile
@@ -0,0 +1,295 @@
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al.
+#
+# This software is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at http://curl.haxx.se/docs/copyright.html.
+#
+# You may opt to use, copy, modify, merge, publish, distribute and/or sell
+# copies of the Software, and permit persons to whom the Software is
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+###########################################################################
+
+VC=vc6
+
+all:
+	./configure
+	make
+
+ssl:
+	./configure --with-ssl
+	make
+
+borland:
+	cd lib
+	$(MAKE) -f Makefile.b32
+	cd ..\src
+	$(MAKE) -f Makefile.b32
+
+borland-ssl:
+	cd lib
+	$(MAKE) -f Makefile.b32 WITH_SSL=1
+	cd ..\src
+	$(MAKE) -f Makefile.b32 WITH_SSL=1
+
+borland-ssl-zlib:
+	cd lib
+	$(MAKE) -f Makefile.b32 WITH_SSL=1 WITH_ZLIB=1
+	cd ..\src
+	$(MAKE) -f Makefile.b32 WITH_SSL=1 WITH_ZLIB=1
+
+borland-clean:
+	cd lib
+	$(MAKE) -f Makefile.b32 clean
+	cd ..\src
+	$(MAKE) -f Makefile.b32 clean
+
+watcom: .SYMBOLIC
+	cd lib && $(MAKE) -u -f Makefile.Watcom
+	cd src && $(MAKE) -u -f Makefile.Watcom
+
+watcom-clean: .SYMBOLIC
+	cd lib && $(MAKE) -u -f Makefile.Watcom clean
+	cd src && $(MAKE) -u -f Makefile.Watcom clean
+
+watcom-vclean: .SYMBOLIC
+	cd lib && $(MAKE) -u -f Makefile.Watcom vclean
+	cd src && $(MAKE) -u -f Makefile.Watcom vclean
+
+mingw32:
+	$(MAKE) -C lib -f Makefile.m32
+	$(MAKE) -C src -f Makefile.m32
+
+mingw32-clean:
+	$(MAKE) -C lib -f Makefile.m32 clean
+	$(MAKE) -C src -f Makefile.m32 clean
+	$(MAKE) -C docs/examples -f Makefile.m32 clean
+
+mingw32-vclean mingw32-distclean:
+	$(MAKE) -C lib -f Makefile.m32 vclean
+	$(MAKE) -C src -f Makefile.m32 vclean
+	$(MAKE) -C docs/examples -f Makefile.m32 vclean
+
+mingw32-examples%:
+	$(MAKE) -C docs/examples -f Makefile.m32 CFG=$@
+
+mingw32%:
+	$(MAKE) -C lib -f Makefile.m32 CFG=$@
+	$(MAKE) -C src -f Makefile.m32 CFG=$@
+
+vc-clean: $(VC)
+	cd lib
+	nmake -f Makefile.$(VC) clean
+	cd ..\src
+	nmake -f Makefile.$(VC) clean
+
+vc-all: $(VC)
+	cd lib
+	nmake -f Makefile.$(VC) cfg=release
+	nmake -f Makefile.$(VC) cfg=release-ssl
+	nmake -f Makefile.$(VC) cfg=release-zlib
+	nmake -f Makefile.$(VC) cfg=release-ssl-zlib
+	nmake -f Makefile.$(VC) cfg=release-ssl-dll
+	nmake -f Makefile.$(VC) cfg=release-zlib-dll
+	nmake -f Makefile.$(VC) cfg=release-ssl-dll-zlib-dll
+	nmake -f Makefile.$(VC) cfg=release-dll
+	nmake -f Makefile.$(VC) cfg=release-dll-ssl-dll
+	nmake -f Makefile.$(VC) cfg=release-dll-zlib-dll
+	nmake -f Makefile.$(VC) cfg=release-dll-ssl-dll-zlib-dll
+	nmake -f Makefile.$(VC) cfg=debug
+	nmake -f Makefile.$(VC) cfg=debug-ssl
+	nmake -f Makefile.$(VC) cfg=debug-zlib
+	nmake -f Makefile.$(VC) cfg=debug-ssl-zlib
+	nmake -f Makefile.$(VC) cfg=debug-ssl-dll
+	nmake -f Makefile.$(VC) cfg=debug-zlib-dll
+	nmake -f Makefile.$(VC) cfg=debug-ssl-dll-zlib-dll
+	nmake -f Makefile.$(VC) cfg=debug-dll
+	nmake -f Makefile.$(VC) cfg=debug-dll-ssl-dll
+	nmake -f Makefile.$(VC) cfg=debug-dll-zlib-dll
+	nmake -f Makefile.$(VC) cfg=debug-dll-ssl-dll-zlib-dll
+
+vc: $(VC)
+	cd lib
+	nmake /f Makefile.$(VC) cfg=release
+	cd ..\src
+	nmake /f Makefile.$(VC)
+
+vc-x64: $(VC)
+	cd lib
+	nmake /f Makefile.$(VC) MACHINE=x64 cfg=release
+	cd ..\src
+	nmake /f Makefile.$(VC) MACHINE=x64 cfg=release
+
+vc-zlib: $(VC)
+	cd lib
+	nmake /f Makefile.$(VC) cfg=release-zlib
+	cd ..\src
+	nmake /f Makefile.$(VC) cfg=release-zlib
+
+vc-ssl: $(VC)
+	cd lib
+	nmake /f Makefile.$(VC) cfg=release-ssl
+	cd ..\src
+	nmake /f Makefile.$(VC) cfg=release-ssl
+
+vc-ssl-zlib: $(VC)
+	cd lib
+	nmake /f Makefile.$(VC) cfg=release-ssl-zlib
+	cd ..\src
+	nmake /f Makefile.$(VC) cfg=release-ssl-zlib
+
+vc-x64-ssl-zlib: $(VC)
+	cd lib
+	nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl-zlib
+	cd ..\src
+	nmake /f Makefile.$(VC) MACHINE=x64 cfg=release-ssl-zlib
+
+vc-ssl-dll: $(VC)
+	cd lib
+	nmake /f Makefile.$(VC) cfg=release-ssl-dll
+	cd ..\src
+	nmake /f Makefile.$(VC) cfg=release-ssl-dll
+
+vc-dll-ssl-dll: $(VC)
+	cd lib
+	nmake /f Makefile.$(VC) cfg=release-dll-ssl-dll
+	cd ..\src
+	nmake /f Makefile.$(VC) cfg=release-dll-ssl-dll
+
+vc-dll: $(VC)
+	cd lib
+	nmake /f Makefile.$(VC) cfg=release-dll
+	cd ..\src
+	nmake /f Makefile.$(VC) cfg=release-dll
+
+vc-dll-zlib-dll: $(VC)
+	cd lib
+	nmake /f Makefile.$(VC) cfg=release-dll-zlib-dll
+	cd ..\src
+	nmake /f Makefile.$(VC) cfg=release-dll-zlib-dll
+
+vc-dll-ssl-dll-zlib-dll: $(VC)
+	cd lib
+	nmake /f Makefile.$(VC) cfg=release-dll-ssl-dll-zlib-dll
+	cd ..\src
+	nmake /f Makefile.$(VC) cfg=release-dll-ssl-dll-zlib-dll
+
+vc-ssl-dll-zlib-dll: $(VC)
+	cd lib
+	nmake /f Makefile.$(VC) cfg=release-ssl-dll-zlib-dll
+	cd ..\src
+	nmake /f Makefile.$(VC) cfg=release-ssl-dll-zlib-dll
+
+vc-zlib-dll: $(VC)
+	cd lib
+	nmake /f Makefile.$(VC) cfg=release-zlib-dll
+	cd ..\src
+	nmake /f Makefile.$(VC) cfg=release-zlib-dll
+
+vc-sspi: $(VC)
+	cd lib
+	nmake /f Makefile.$(VC) cfg=release WINDOWS_SSPI=1
+	cd ..\src
+	nmake /f Makefile.$(VC) cfg=release WINDOWS_SSPI=1
+
+djgpp:
+	$(MAKE) -C lib -f Makefile.dj
+	$(MAKE) -C src -f Makefile.dj
+
+cygwin:
+	./configure
+	make
+
+cygwin-ssl:
+	./configure --with-ssl
+	make
+
+amiga:
+	cd ./lib && make -f makefile.amiga
+	cd ./src && make -f makefile.amiga
+
+netware:
+	$(MAKE) -C lib -f Makefile.netware
+	$(MAKE) -C src -f Makefile.netware
+
+netware-clean:
+	$(MAKE) -C lib -f Makefile.netware clean
+	$(MAKE) -C src -f Makefile.netware clean
+	$(MAKE) -C docs/examples -f Makefile.netware clean
+
+netware-vclean netware-distclean:
+	$(MAKE) -C lib -f Makefile.netware vclean
+	$(MAKE) -C src -f Makefile.netware vclean
+	$(MAKE) -C docs/examples -f Makefile.netware vclean
+
+netware-install:
+	$(MAKE) -C lib -f Makefile.netware install
+	$(MAKE) -C src -f Makefile.netware install
+
+netware-examples-%:
+	$(MAKE) -C docs/examples -f Makefile.netware CFG=$@
+
+netware-%:
+	$(MAKE) -C lib -f Makefile.netware CFG=$@
+	$(MAKE) -C src -f Makefile.netware CFG=$@
+
+unix: all
+
+unix-ssl: ssl
+
+linux: all
+
+linux-ssl: ssl
+
+# We don't need to do anything for vc6.
+vc6:
+
+vc8: lib/Makefile.vc8 src/Makefile.vc8
+
+lib/Makefile.vc8: lib/Makefile.vc6
+	@echo "generate $@"
+	@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib bufferoverflowu.lib/g" -e "s/VC6/VC8/g" lib/Makefile.vc6 > lib/Makefile.vc8
+
+src/Makefile.vc8: src/Makefile.vc6
+	@echo "generate $@"
+	@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib bufferoverflowu.lib/g" -e "s/VC6/VC8/g" src/Makefile.vc6 > src/Makefile.vc8
+
+# VC9 makefiles are for use with VS2008
+vc9: lib/Makefile.vc9 src/Makefile.vc9
+
+lib/Makefile.vc9: lib/Makefile.vc6
+	@echo "generate $@"
+	@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib/g" -e "s/vc6/vc9/g" -e "s/VC6/VC9/g" lib/Makefile.vc6 > lib/Makefile.vc9
+
+src/Makefile.vc9: src/Makefile.vc6
+	@echo "generate $@"
+	@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib/g" -e "s/vc6/vc9/g" -e "s/VC6/VC9/g" src/Makefile.vc6 > src/Makefile.vc9
+
+# VC10 makefiles are for use with VS2010
+vc10: lib/Makefile.vc10 src/Makefile.vc10
+
+lib/Makefile.vc10: lib/Makefile.vc6
+	@echo "generate $@"
+	@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib/g" -e "s/vc6/vc10/g" -e "s/VC6/VC10/g" lib/Makefile.vc6 > lib/Makefile.vc10
+
+src/Makefile.vc10: src/Makefile.vc6
+	@echo "generate $@"
+	@sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/ws2_32.lib/ws2_32.lib/g" -e "s/vc6/vc10/g" -e "s/VC6/VC10/g" src/Makefile.vc6 > src/Makefile.vc10
+
+ca-bundle: lib/mk-ca-bundle.pl
+	@echo "generate a fresh ca-bundle.crt"
+	@perl $< -b -l -u lib/ca-bundle.crt
+
+ca-firefox: lib/firefox-db2pem.sh
+	@echo "generate a fresh ca-bundle.crt"
+	./lib/firefox-db2pem.sh lib/ca-bundle.crt
diff --git a/curl-7.25.0/Makefile.am b/curl-7.25.0/Makefile.am
new file mode 100644
index 0000000..c2a9cb4
--- /dev/null
+++ b/curl-7.25.0/Makefile.am
@@ -0,0 +1,161 @@
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+#
+# This software is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at http://curl.haxx.se/docs/copyright.html.
+#
+# You may opt to use, copy, modify, merge, publish, distribute and/or sell
+# copies of the Software, and permit persons to whom the Software is
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+###########################################################################
+
+AUTOMAKE_OPTIONS = foreign
+
+ACLOCAL_AMFLAGS = -I m4
+
+CMAKE_DIST = CMakeLists.txt CMake/CMakeConfigurableFile.in		\
+CMake/CurlCheckCSourceCompiles.cmake CMake/CurlCheckCSourceRuns.cmake	\
+CMake/CurlTests.c CMake/FindOpenSSL.cmake CMake/FindZLIB.cmake		\
+CMake/OtherTests.cmake CMake/Platforms/WindowsCache.cmake		\
+CMake/Utilities.cmake include/curl/curlbuild.h.cmake
+
+WINBUILD_DIST = winbuild/BUILD.WINDOWS.txt winbuild/gen_resp_file.bat	\
+winbuild/MakefileBuild.vc winbuild/Makefile.vc
+
+EXTRA_DIST = CHANGES COPYING maketgz Makefile.dist curl-config.in	\
+ curl-style.el sample.emacs RELEASE-NOTES buildconf 	\
+ libcurl.pc.in vc6curl.dsw MacOSX-Framework Android.mk $(CMAKE_DIST)	\
+ Makefile.msvc.names $(WINBUILD_DIST) lib/libcurl.vers.in
+
+bin_SCRIPTS = curl-config
+
+SUBDIRS = lib src include
+DIST_SUBDIRS = $(SUBDIRS) tests packages docs
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = libcurl.pc
+
+dist-hook:
+	rm -rf $(top_builddir)/tests/log
+	find $(distdir) -name "*.dist" -exec rm {} \;
+	(distit=`find $(srcdir) -name "*.dist" | grep -v ./ares/`; \
+	for file in $$distit; do \
+	  strip=`echo $$file | sed -e s/^$(srcdir)// -e s/\.dist//`; \
+	  cp $$file $(distdir)$$strip; \
+	done)
+
+html:
+	cd docs; make html
+
+pdf:
+	cd docs; make pdf
+
+check: test examples
+
+if CROSSCOMPILING
+test-full: test
+test-torture: test
+
+test:
+	@echo "NOTICE: we can't run the tests when cross-compiling!"
+
+else
+
+test:
+	@(cd tests; $(MAKE) all quiet-test)
+
+test-full:
+	@(cd tests; $(MAKE) all full-test)
+
+test-torture:
+	@(cd tests; $(MAKE) all torture-test)
+
+endif
+
+examples:
+	@(cd docs/examples; $(MAKE) check)
+
+clean-local:
+	@(cd tests; $(MAKE) clean)
+	@(cd docs; $(MAKE) clean)
+
+#
+# Build source and binary rpms. For rpm-3.0 and above, the ~/.rpmmacros
+# must contain the following line:
+# %_topdir /home/loic/local/rpm
+# and that /home/loic/local/rpm contains the directory SOURCES, BUILD etc.
+#
+# cd /home/loic/local/rpm ; mkdir -p SOURCES BUILD RPMS/i386 SPECS SRPMS
+#
+# If additional configure flags are needed to build the package, add the
+# following in ~/.rpmmacros
+# %configure CFLAGS="%{optflags}" ./configure %{_target_platform} --prefix=%{_prefix} ${AM_CONFIGFLAGS}
+# and run make rpm in the following way:
+# AM_CONFIGFLAGS='--with-uri=/home/users/loic/local/RedHat-6.2' make rpm
+#
+
+rpms:
+	$(MAKE) RPMDIST=curl rpm
+	$(MAKE) RPMDIST=curl-ssl rpm
+
+rpm:
+	RPM_TOPDIR=`rpm --showrc | $(PERL) -n -e 'print if(s/.*_topdir\s+(.*)/$$1/)'` ; \
+	cp $(srcdir)/packages/Linux/RPM/$(RPMDIST).spec $$RPM_TOPDIR/SPECS ; \
+	cp $(PACKAGE)-$(VERSION).tar.gz $$RPM_TOPDIR/SOURCES ; \
+	rpm -ba --clean --rmsource $$RPM_TOPDIR/SPECS/$(RPMDIST).spec ; \
+	mv $$RPM_TOPDIR/RPMS/i386/$(RPMDIST)-*.rpm . ; \
+	mv $$RPM_TOPDIR/SRPMS/$(RPMDIST)-*.src.rpm .
+
+#
+# Build a Solaris pkgadd format file
+# run 'make pkgadd' once you've done './configure' and 'make' to make a Solaris pkgadd format
+# file (which ends up back in this directory).
+# The pkgadd file is in 'pkgtrans' format, so to install on Solaris, do
+# pkgadd -d ./HAXXcurl-*
+#
+
+# gak - libtool requires an absoulte directory, hence the pwd below...
+pkgadd:
+	umask 022 ; \
+	make install DESTDIR=`/bin/pwd`/packages/Solaris/root ; \
+	cat COPYING > $(srcdir)/packages/Solaris/copyright ; \
+	cd $(srcdir)/packages/Solaris && $(MAKE) package
+
+#
+# Build a cygwin binary tarball installation file
+# resulting .tar.bz2 file will end up at packages/Win32/cygwin
+cygwinbin:
+	$(MAKE) -C packages/Win32/cygwin cygwinbin
+
+# We extend the standard install with a custom hook:
+install-data-hook:
+	cd include && $(MAKE) install
+	cd docs && $(MAKE) install
+
+# We extend the standard uninstall with a custom hook:
+uninstall-hook:
+	cd include && $(MAKE) uninstall
+	cd docs && $(MAKE) uninstall
+
+ca-bundle: lib/mk-ca-bundle.pl
+	@echo "generate a fresh ca-bundle.crt"
+	@perl $< -b -l -u lib/ca-bundle.crt
+
+ca-firefox: lib/firefox-db2pem.sh
+	@echo "generate a fresh ca-bundle.crt"
+	./lib/firefox-db2pem.sh lib/ca-bundle.crt
+
+checksrc:
+	cd lib && $(MAKE) checksrc
+	cd src && $(MAKE) checksrc
diff --git a/curl-7.25.0/Makefile.in b/curl-7.25.0/Makefile.in
new file mode 100644
index 0000000..d30eff0
--- /dev/null
+++ b/curl-7.25.0/Makefile.in
@@ -0,0 +1,916 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+#
+# This software is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at http://curl.haxx.se/docs/copyright.html.
+#
+# You may opt to use, copy, modify, merge, publish, distribute and/or sell
+# copies of the Software, and permit persons to whom the Software is
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+###########################################################################
+
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = .
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in $(srcdir)/curl-config.in \
+	$(srcdir)/libcurl.pc.in $(top_srcdir)/configure COPYING \
+	compile config.guess config.sub depcomp install-sh ltmain.sh \
+	missing mkinstalldirs
+subdir = .
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/curl-compilers.m4 \
+	$(top_srcdir)/m4/curl-confopts.m4 \
+	$(top_srcdir)/m4/curl-functions.m4 \
+	$(top_srcdir)/m4/curl-openssl.m4 \
+	$(top_srcdir)/m4/curl-override.m4 \
+	$(top_srcdir)/m4/curl-reentrant.m4 \
+	$(top_srcdir)/m4/curl-system.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/xc-translit.m4 \
+	$(top_srcdir)/m4/zz50-xc-ovr.m4 $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno configure.status.lineno
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/lib/curl_config.h \
+	$(top_builddir)/src/curl_config.h \
+	$(top_builddir)/include/curl/curlbuild.h
+CONFIG_CLEAN_FILES = curl-config libcurl.pc
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgconfigdir)"
+binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
+SCRIPTS = $(bin_SCRIPTS)
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-exec-recursive install-info-recursive \
+	install-recursive installcheck-recursive installdirs-recursive \
+	pdf-recursive ps-recursive uninstall-info-recursive \
+	uninstall-recursive
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+pkgconfigDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(pkgconfig_DATA)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  { test ! -d $(distdir) \
+    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BUILD_LIBHOSTNAME_FALSE = @BUILD_LIBHOSTNAME_FALSE@
+BUILD_LIBHOSTNAME_TRUE = @BUILD_LIBHOSTNAME_TRUE@
+BUILD_UNITTESTS_FALSE = @BUILD_UNITTESTS_FALSE@
+BUILD_UNITTESTS_TRUE = @BUILD_UNITTESTS_TRUE@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
+CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
+CURLDEBUG_FALSE = @CURLDEBUG_FALSE@
+CURLDEBUG_TRUE = @CURLDEBUG_TRUE@
+CURLVERSION = @CURLVERSION@
+CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
+CURL_CFLAG_EXTRAS = @CURL_CFLAG_EXTRAS@
+CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
+CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
+CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
+CURL_DISABLE_GOPHER = @CURL_DISABLE_GOPHER@
+CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
+CURL_DISABLE_IMAP = @CURL_DISABLE_IMAP@
+CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
+CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
+CURL_DISABLE_POP3 = @CURL_DISABLE_POP3@
+CURL_DISABLE_PROXY = @CURL_DISABLE_PROXY@
+CURL_DISABLE_RTSP = @CURL_DISABLE_RTSP@
+CURL_DISABLE_SMTP = @CURL_DISABLE_SMTP@
+CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
+CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
+CURL_LIBS = @CURL_LIBS@
+CURL_NETWORK_LIBS = @CURL_NETWORK_LIBS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_SHARED = @ENABLE_SHARED@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@
+HAVE_LDAP_SSL = @HAVE_LDAP_SSL@
+HAVE_LIBZ = @HAVE_LIBZ@
+HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
+HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
+HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
+HAVE_SSLEAY_SRP = @HAVE_SSLEAY_SRP@
+IDN_ENABLED = @IDN_ENABLED@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+IPV6_ENABLED = @IPV6_ENABLED@
+KRB4_ENABLED = @KRB4_ENABLED@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBCURL_LIBS = @LIBCURL_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MANOPT = @MANOPT@
+MIMPURE_FALSE = @MIMPURE_FALSE@
+MIMPURE_TRUE = @MIMPURE_TRUE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
+NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
+NROFF = @NROFF@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH = @PATH@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKGADD_NAME = @PKGADD_NAME@
+PKGADD_PKG = @PKGADD_PKG@
+PKGADD_VENDOR = @PKGADD_VENDOR@
+PKGCONFIG = @PKGCONFIG@
+RANDOM_FILE = @RANDOM_FILE@
+RANLIB = @RANLIB@
+REQUIRE_LIB_DEPS = @REQUIRE_LIB_DEPS@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
+SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
+SSL_ENABLED = @SSL_ENABLED@
+STATICLIB_FALSE = @STATICLIB_FALSE@
+STATICLIB_TRUE = @STATICLIB_TRUE@
+STRIP = @STRIP@
+SUPPORT_FEATURES = @SUPPORT_FEATURES@
+SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@
+TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
+USE_ARES = @USE_ARES@
+USE_AXTLS = @USE_AXTLS@
+USE_CYASSL = @USE_CYASSL@
+USE_EMBEDDED_ARES_FALSE = @USE_EMBEDDED_ARES_FALSE@
+USE_EMBEDDED_ARES_TRUE = @USE_EMBEDDED_ARES_TRUE@
+USE_GNUTLS = @USE_GNUTLS@
+USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@
+USE_LIBRTMP = @USE_LIBRTMP@
+USE_LIBSSH2 = @USE_LIBSSH2@
+USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
+USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
+USE_NSS = @USE_NSS@
+USE_OPENLDAP = @USE_OPENLDAP@
+USE_POLARSSL = @USE_POLARSSL@
+USE_SSLEAY = @USE_SSLEAY@
+USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
+VERSION = @VERSION@
+VERSIONED_FLAVOUR = @VERSIONED_FLAVOUR@
+VERSIONED_SYMBOLS_FALSE = @VERSIONED_SYMBOLS_FALSE@
+VERSIONED_SYMBOLS_TRUE = @VERSIONED_SYMBOLS_TRUE@
+VERSIONNUM = @VERSIONNUM@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+libext = @libext@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+subdirs = @subdirs@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+AUTOMAKE_OPTIONS = foreign
+ACLOCAL_AMFLAGS = -I m4
+CMAKE_DIST = CMakeLists.txt CMake/CMakeConfigurableFile.in		\
+CMake/CurlCheckCSourceCompiles.cmake CMake/CurlCheckCSourceRuns.cmake	\
+CMake/CurlTests.c CMake/FindOpenSSL.cmake CMake/FindZLIB.cmake		\
+CMake/OtherTests.cmake CMake/Platforms/WindowsCache.cmake		\
+CMake/Utilities.cmake include/curl/curlbuild.h.cmake
+
+WINBUILD_DIST = winbuild/BUILD.WINDOWS.txt winbuild/gen_resp_file.bat	\
+winbuild/MakefileBuild.vc winbuild/Makefile.vc
+
+EXTRA_DIST = CHANGES COPYING maketgz Makefile.dist curl-config.in	\
+ curl-style.el sample.emacs RELEASE-NOTES buildconf 	\
+ libcurl.pc.in vc6curl.dsw MacOSX-Framework Android.mk $(CMAKE_DIST)	\
+ Makefile.msvc.names $(WINBUILD_DIST) lib/libcurl.vers.in
+
+bin_SCRIPTS = curl-config
+SUBDIRS = lib src include
+DIST_SUBDIRS = $(SUBDIRS) tests packages docs
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = libcurl.pc
+all: all-recursive
+
+.SUFFIXES:
+am--refresh:
+	@:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
+	      cd $(srcdir) && $(AUTOMAKE) --foreign  \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign  Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    echo ' $(SHELL) ./config.status'; \
+	    $(SHELL) ./config.status;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	$(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+curl-config: $(top_builddir)/config.status $(srcdir)/curl-config.in
+	cd $(top_builddir) && $(SHELL) ./config.status $@
+libcurl.pc: $(top_builddir)/config.status $(srcdir)/libcurl.pc.in
+	cd $(top_builddir) && $(SHELL) ./config.status $@
+install-binSCRIPTS: $(bin_SCRIPTS)
+	@$(NORMAL_INSTALL)
+	test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
+	@list='$(bin_SCRIPTS)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  if test -f $$d$$p; then \
+	    f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+	    echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+	    $(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \
+	  else :; fi; \
+	done
+
+uninstall-binSCRIPTS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_SCRIPTS)'; for p in $$list; do \
+	  f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
+	done
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+install-pkgconfigDATA: $(pkgconfig_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(pkgconfigdir)" || $(mkdir_p) "$(DESTDIR)$(pkgconfigdir)"
+	@list='$(pkgconfig_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+	  $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+	done
+
+uninstall-pkgconfigDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pkgconfig_DATA)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+	done
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	$(am__remove_distdir)
+	mkdir $(distdir)
+	$(mkdir_p) $(distdir)/. $(distdir)/CMake $(distdir)/CMake/Platforms $(distdir)/include/curl $(distdir)/lib $(distdir)/m4 $(distdir)/packages/AIX/RPM $(distdir)/packages/EPM $(distdir)/packages/Linux/RPM $(distdir)/winbuild
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d "$(distdir)/$$subdir" \
+	    || $(mkdir_p) "$(distdir)/$$subdir" \
+	    || exit 1; \
+	    distdir=`$(am__cd) $(distdir) && pwd`; \
+	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+	    (cd $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$top_distdir" \
+	        distdir="$$distdir/$$subdir" \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+	$(MAKE) $(AM_MAKEFLAGS) \
+	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
+	  dist-hook
+	-find "$(distdir)" -type d ! -perm -755 \
+		-exec chmod u+rwx,go+rx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+	|| chmod -R a+r $(distdir)
+dist-gzip: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+dist-bzip2: distdir
+	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+dist-tarZ: distdir
+	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+	$(am__remove_distdir)
+
+dist-shar: distdir
+	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+	$(am__remove_distdir)
+
+dist-zip: distdir
+	-rm -f $(distdir).zip
+	zip -rq $(distdir).zip $(distdir)
+	$(am__remove_distdir)
+
+dist dist-all: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+	case '$(DIST_ARCHIVES)' in \
+	*.tar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+	*.tar.bz2*) \
+	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.Z*) \
+	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+	*.shar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+	*.zip*) \
+	  unzip $(distdir).zip ;;\
+	esac
+	chmod -R a-w $(distdir); chmod a+w $(distdir)
+	mkdir $(distdir)/_build
+	mkdir $(distdir)/_inst
+	chmod a-w $(distdir)
+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+	  && cd $(distdir)/_build \
+	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+	  && chmod -R a-w "$$dc_install_base" \
+	  && ({ \
+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+	  && rm -rf $(DIST_ARCHIVES) \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+	$(am__remove_distdir)
+	@(echo "$(distdir) archives ready for distribution: "; \
+	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+	  sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+distuninstallcheck:
+	@cd $(distuninstallcheck_dir) \
+	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+	   || { echo "ERROR: files left after uninstall:" ; \
+	        if test -n "$(DESTDIR)"; then \
+	          echo "  (check DESTDIR support)"; \
+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2
+distcleancheck: distclean
+	@if test '$(srcdir)' = . ; then \
+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+	  exit 1 ; \
+	fi
+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+	  || { echo "ERROR: files left in build directory after distclean:" ; \
+	       $(distcleancheck_listfiles) ; \
+	       exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(SCRIPTS) $(DATA)
+installdirs: installdirs-recursive
+installdirs-am:
+	for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgconfigdir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool \
+	distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-pkgconfigDATA
+	@$(NORMAL_INSTALL)
+	$(MAKE) $(AM_MAKEFLAGS) install-data-hook
+
+install-exec-am: install-binSCRIPTS
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf $(top_srcdir)/autom4te.cache
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-binSCRIPTS uninstall-info-am \
+	uninstall-pkgconfigDATA
+	@$(NORMAL_INSTALL)
+	$(MAKE) $(AM_MAKEFLAGS) uninstall-hook
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
+	check-am clean clean-generic clean-libtool clean-local \
+	clean-recursive ctags ctags-recursive dist dist-all dist-bzip2 \
+	dist-gzip dist-hook dist-shar dist-tarZ dist-zip distcheck \
+	distclean distclean-generic distclean-libtool \
+	distclean-recursive distclean-tags distcleancheck distdir \
+	distuninstallcheck dvi dvi-am html html-am info info-am \
+	install install-am install-binSCRIPTS install-data \
+	install-data-am install-data-hook install-exec install-exec-am \
+	install-info install-info-am install-man install-pkgconfigDATA \
+	install-strip installcheck installcheck-am installdirs \
+	installdirs-am maintainer-clean maintainer-clean-generic \
+	maintainer-clean-recursive mostlyclean mostlyclean-generic \
+	mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
+	tags tags-recursive uninstall uninstall-am \
+	uninstall-binSCRIPTS uninstall-hook uninstall-info-am \
+	uninstall-pkgconfigDATA
+
+
+dist-hook:
+	rm -rf $(top_builddir)/tests/log
+	find $(distdir) -name "*.dist" -exec rm {} \;
+	(distit=`find $(srcdir) -name "*.dist" | grep -v ./ares/`; \
+	for file in $$distit; do \
+	  strip=`echo $$file | sed -e s/^$(srcdir)// -e s/\.dist//`; \
+	  cp $$file $(distdir)$$strip; \
+	done)
+
+html:
+	cd docs; make html
+
+pdf:
+	cd docs; make pdf
+
+check: test examples
+
+@CROSSCOMPILING_TRUE@test-full: test
+@CROSSCOMPILING_TRUE@test-torture: test
+
+@CROSSCOMPILING_TRUE@test:
+@CROSSCOMPILING_TRUE@	@echo "NOTICE: we can't run the tests when cross-compiling!"
+
+@CROSSCOMPILING_FALSE@test:
+@CROSSCOMPILING_FALSE@	@(cd tests; $(MAKE) all quiet-test)
+
+@CROSSCOMPILING_FALSE@test-full:
+@CROSSCOMPILING_FALSE@	@(cd tests; $(MAKE) all full-test)
+
+@CROSSCOMPILING_FALSE@test-torture:
+@CROSSCOMPILING_FALSE@	@(cd tests; $(MAKE) all torture-test)
+
+examples:
+	@(cd docs/examples; $(MAKE) check)
+
+clean-local:
+	@(cd tests; $(MAKE) clean)
+	@(cd docs; $(MAKE) clean)
+
+#
+# Build source and binary rpms. For rpm-3.0 and above, the ~/.rpmmacros
+# must contain the following line:
+# %_topdir /home/loic/local/rpm
+# and that /home/loic/local/rpm contains the directory SOURCES, BUILD etc.
+#
+# cd /home/loic/local/rpm ; mkdir -p SOURCES BUILD RPMS/i386 SPECS SRPMS
+#
+# If additional configure flags are needed to build the package, add the
+# following in ~/.rpmmacros
+# %configure CFLAGS="%{optflags}" ./configure %{_target_platform} --prefix=%{_prefix} ${AM_CONFIGFLAGS}
+# and run make rpm in the following way:
+# AM_CONFIGFLAGS='--with-uri=/home/users/loic/local/RedHat-6.2' make rpm
+#
+
+rpms:
+	$(MAKE) RPMDIST=curl rpm
+	$(MAKE) RPMDIST=curl-ssl rpm
+
+rpm:
+	RPM_TOPDIR=`rpm --showrc | $(PERL) -n -e 'print if(s/.*_topdir\s+(.*)/$$1/)'` ; \
+	cp $(srcdir)/packages/Linux/RPM/$(RPMDIST).spec $$RPM_TOPDIR/SPECS ; \
+	cp $(PACKAGE)-$(VERSION).tar.gz $$RPM_TOPDIR/SOURCES ; \
+	rpm -ba --clean --rmsource $$RPM_TOPDIR/SPECS/$(RPMDIST).spec ; \
+	mv $$RPM_TOPDIR/RPMS/i386/$(RPMDIST)-*.rpm . ; \
+	mv $$RPM_TOPDIR/SRPMS/$(RPMDIST)-*.src.rpm .
+
+#
+# Build a Solaris pkgadd format file
+# run 'make pkgadd' once you've done './configure' and 'make' to make a Solaris pkgadd format
+# file (which ends up back in this directory).
+# The pkgadd file is in 'pkgtrans' format, so to install on Solaris, do
+# pkgadd -d ./HAXXcurl-*
+#
+
+# gak - libtool requires an absoulte directory, hence the pwd below...
+pkgadd:
+	umask 022 ; \
+	make install DESTDIR=`/bin/pwd`/packages/Solaris/root ; \
+	cat COPYING > $(srcdir)/packages/Solaris/copyright ; \
+	cd $(srcdir)/packages/Solaris && $(MAKE) package
+
+#
+# Build a cygwin binary tarball installation file
+# resulting .tar.bz2 file will end up at packages/Win32/cygwin
+cygwinbin:
+	$(MAKE) -C packages/Win32/cygwin cygwinbin
+
+# We extend the standard install with a custom hook:
+install-data-hook:
+	cd include && $(MAKE) install
+	cd docs && $(MAKE) install
+
+# We extend the standard uninstall with a custom hook:
+uninstall-hook:
+	cd include && $(MAKE) uninstall
+	cd docs && $(MAKE) uninstall
+
+ca-bundle: lib/mk-ca-bundle.pl
+	@echo "generate a fresh ca-bundle.crt"
+	@perl $< -b -l -u lib/ca-bundle.crt
+
+ca-firefox: lib/firefox-db2pem.sh
+	@echo "generate a fresh ca-bundle.crt"
+	./lib/firefox-db2pem.sh lib/ca-bundle.crt
+
+checksrc:
+	cd lib && $(MAKE) checksrc
+	cd src && $(MAKE) checksrc
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/curl-7.25.0/Makefile.msvc.names b/curl-7.25.0/Makefile.msvc.names
new file mode 100644
index 0000000..56c81ad
--- /dev/null
+++ b/curl-7.25.0/Makefile.msvc.names
@@ -0,0 +1,81 @@
+#***************************************************************************

+#                                  _   _ ____  _

+#  Project                     ___| | | |  _ \| |

+#                             / __| | | | |_) | |

+#                            | (__| |_| |  _ <| |___

+#                             \___|\___/|_| \_\_____|

+#

+# Copyright (C) 1999 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al.

+#

+# This software is licensed as described in the file COPYING, which

+# you should have received as part of this distribution. The terms

+# are also available at http://curl.haxx.se/docs/copyright.html.

+#

+# You may opt to use, copy, modify, merge, publish, distribute and/or sell

+# copies of the Software, and permit persons to whom the Software is

+# furnished to do so, under the terms of the COPYING file.

+#

+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY

+# KIND, either express or implied.

+#

+#***************************************************************************

+

+#

+# This file is included from MSVC makefiles located in lib and src,

+# providing libcurl common file names required by these makefiles.

+#

+

+# ------------------

+# libcurl base name

+# ------------------

+

+!IF !DEFINED(LIB_NAME) || "$(LIB_NAME)" == ""

+LIB_NAME = libcurl

+!ENDIF

+

+# -------------------------------------------------

+# libcurl static and dynamic libraries common base

+# file names for release and debug configurations

+# -------------------------------------------------

+

+!IF !DEFINED(LIB_NAME_STA_REL) || "$(LIB_NAME_STA_REL)" == ""

+LIB_NAME_STA_REL = $(LIB_NAME)

+!ENDIF

+

+!IF !DEFINED(LIB_NAME_STA_DBG) || "$(LIB_NAME_STA_DBG)" == ""

+LIB_NAME_STA_DBG = $(LIB_NAME_STA_REL)d

+!ENDIF

+

+!IF !DEFINED(LIB_NAME_DYN_REL) || "$(LIB_NAME_DYN_REL)" == ""

+LIB_NAME_DYN_REL = $(LIB_NAME)

+!ENDIF

+

+!IF !DEFINED(LIB_NAME_DYN_DBG) || "$(LIB_NAME_DYN_DBG)" == ""

+LIB_NAME_DYN_DBG = $(LIB_NAME_DYN_REL)d

+!ENDIF

+

+# --------------------------------------------

+# Base names for libcurl DLL import libraries

+# --------------------------------------------

+

+!IF !DEFINED(LIB_NAME_IMP_REL) || "$(LIB_NAME_IMP_REL)" == ""

+LIB_NAME_IMP_REL = $(LIB_NAME_DYN_REL)_imp

+!ENDIF

+

+!IF !DEFINED(LIB_NAME_IMP_DBG) || "$(LIB_NAME_IMP_DBG)" == ""

+LIB_NAME_IMP_DBG = $(LIB_NAME_DYN_DBG)_imp

+!ENDIF

+

+# --------------------------------------

+# File names with extension and no path

+# --------------------------------------

+

+LIBCURL_STA_LIB_REL = $(LIB_NAME_STA_REL).lib

+LIBCURL_STA_LIB_DBG = $(LIB_NAME_STA_DBG).lib

+LIBCURL_DYN_LIB_REL = $(LIB_NAME_DYN_REL).dll

+LIBCURL_DYN_LIB_DBG = $(LIB_NAME_DYN_DBG).dll

+LIBCURL_IMP_LIB_REL = $(LIB_NAME_IMP_REL).lib

+LIBCURL_IMP_LIB_DBG = $(LIB_NAME_IMP_DBG).lib

+LIBCURL_DYN_LIB_PDB = $(LIB_NAME_IMP_DBG).pdb

+

+# End of Makefile.msvc.names

diff --git a/curl-7.25.0/README b/curl-7.25.0/README
new file mode 100644
index 0000000..2ffacc3
--- /dev/null
+++ b/curl-7.25.0/README
@@ -0,0 +1,49 @@
+                                  _   _ ____  _
+                              ___| | | |  _ \| |
+                             / __| | | | |_) | |
+                            | (__| |_| |  _ <| |___
+                             \___|\___/|_| \_\_____|
+
+README
+
+  Curl is a command line tool for transferring data specified with URL
+  syntax. Find out how to use curl by reading the curl.1 man page or the
+  MANUAL document. Find out how to install Curl by reading the INSTALL
+  document.
+
+  libcurl is the library curl is using to do its job. It is readily
+  available to be used by your software. Read the libcurl.3 man page to
+  learn how!
+
+  You find answers to the most frequent questions we get in the FAQ document.
+
+  Study the COPYING file for distribution terms and similar. If you distribute
+  curl binaries or other binaries that involve libcurl, you might enjoy the
+  LICENSE-MIXING document.
+
+CONTACT
+
+  If you have problems, questions, ideas or suggestions, please contact us
+  by posting to a suitable mailing list. See http://curl.haxx.se/mail/
+
+  All contributors to the project are listed in the THANKS document.
+
+WEB SITE
+
+  Visit the curl web site for the latest news and downloads:
+
+        http://curl.haxx.se/
+
+GIT
+
+  To download the very latest source off the GIT server do this:
+
+    git clone git://github.com/bagder/curl.git
+
+  (you'll get a directory named curl created, filled with the source code)
+
+NOTICE
+
+  Curl contains pieces of source code that is Copyright (c) 1998, 1999
+  Kungliga Tekniska Högskolan. This notice is included here to comply with the
+  distribution terms.
diff --git a/curl-7.25.0/RELEASE-NOTES b/curl-7.25.0/RELEASE-NOTES
new file mode 100644
index 0000000..ce68e08
--- /dev/null
+++ b/curl-7.25.0/RELEASE-NOTES
@@ -0,0 +1,86 @@
+Curl and libcurl 7.25.0
+
+ Public curl releases:         127
+ Command line options:         151
+ curl_easy_setopt() options:   199
+ Public functions in libcurl:  58
+ Known libcurl bindings:       39
+ Contributors:                 929
+
+This release includes the following changes:
+
+ o configure: add option disable --libcurl output [1]
+ o --ssl-allow-beast and CURLOPT_SSL_OPTIONS added [2]
+ o Added CURLOPT_TCP_KEEPALIVE, CURLOPT_TCP_KEEPIDLE, CURLOPT_TCP_KEEPINTVL [4]
+ o curl: use new library-side TCP_KEEPALIVE options [5]
+ o Added a new CURLOPT_MAIL_AUTH option [13]
+ o Added support for --mail-auth [14]
+ o --libcurl now also works with -F and more! [15]
+
+This release includes the following bugfixes:
+
+ o --max-redirs: allow negative numbers as option value [3]
+ o parse_proxy: bail out on zero-length proxy names [6]
+ o configure: don't modify LD_LIBRARY_PATH for cross compiles [7]
+ o curl_easy_reset: reset the referer string [8]
+ o curl tool: don't abort glob-loop due to failures [9]
+ o CONNECT: send correct Host: with IPv6 numerical address [10]
+ o Explicitly link to the nettle/gcrypt libraries [11]
+ o more resilient connection times among IP addresses [12]
+ o winbuild: fix IPV6 and IDN options
+ o SMTP: Fixed error when using CURLOPT_CONNECT_ONLY
+ o cyassl: update to CyaSSL 2.0.x API
+ o smtp: Fixed an issue with the EOB checking
+ o pop3: Fixed drop of final CRLF in EOB checking [16]
+ o smtp: Fixed an issue with writing postdata
+ o smtp: Added support for returning SMTP response codes
+ o CONNECT: fix ipv6 address in the Request-Line [17]
+ o curl-config: only provide libraries with --libs
+ o LWIP: don't consider HAVE_ERRNO_H to be winsock [19]
+ o ssh: tunnel through HTTP proxy if requested
+ o cookies: strip off [brackets] from numerical ipv6 host names [20]
+ o libcurl docs: version corrections [18]
+ o cmake: list_spaces_append_once failure [22]
+ o resolve with c-ares: don't resolve IPv6 when not working [21]
+ o smtp: changed error code for EHLO and HELO responses
+ o parsedate: fix a numeric overflow
+
+This release includes the following known bugs:
+
+ o see docs/KNOWN_BUGS (http://curl.haxx.se/docs/knownbugs.html)
+
+This release would not have looked like this without help, code, reports and
+advice from friends like these:
+
+ Colin Hogben, Alessandro Ghedini, Kamil Dudka, Rob Ward, Dave Reisner,
+ Martin Storsjo, Pierre Ynard, Pierre Joye, Yang Tse, Dan Fandrich,
+ Michael Day, Juan Barreto, Chandrakant Bagul, Steve Holme, Todd Ouska,
+ Rich Gray, John Joseph Bachir, Armel Asselin, Andrei Cipu,
+ Maxim Prohorov
+ 
+        Thanks! (and sorry if I forgot to mention someone)
+
+References to bug reports and discussions on issues:
+
+ [1] = http://curl.haxx.se/mail/lib-2012-02/0009.html
+ [2] = http://curl.haxx.se/mail/lib-2012-02/0001.html
+ [3] = http://curl.haxx.se/mail/lib-2012-02/0098.html
+ [4] = http://curl.haxx.se/mail/lib-2012-01/0264.html
+ [5] = http://curl.haxx.se/mail/lib-2012-01/0263.html
+ [6] = http://curl.haxx.se/mail/lib-2012-02/0000.html
+ [7] = http://curl.haxx.se/mail/lib-2012-02/0052.html
+ [8] = http://curl.haxx.se/bug/view.cgi?id=3481551
+ [9] = http://curl.haxx.se/bug/view.cgi?id=3481223
+ [10] = http://curl.haxx.se/bug/view.cgi?id=3482093
+ [11] = http://curl.haxx.se/mail/lib-2012-01/0303.html
+ [12] = http://curl.haxx.se/mail/lib-2012-01/0190.html
+ [13] = http://curl.haxx.se/libcurl/c/curl_easy_setopt.html#CURLOPTMAILAUTH
+ [14] = http://curl.haxx.se/docs/manpage.html#--mail-auth
+ [15] = http://curl.haxx.se/docs/manpage.html#--libcurl
+ [16] = http://curl.haxx.se/mail/lib-2012-02/0051.html
+ [17] = http://curl.haxx.se/bug/view.cgi?id=3493129
+ [18] = http://curl.haxx.se/bug/view.cgi?id=3494091
+ [19] = http://curl.haxx.se/mail/lib-2012-03/0046.html
+ [20] = http://curl.haxx.se/mail/lib-2012-03/0036.html
+ [21] = http://curl.haxx.se/mail/lib-2012-03/0045.html
+ [22] = http://curl.haxx.se/bug/view.cgi?id=3494968
diff --git a/curl-7.25.0/acinclude.m4 b/curl-7.25.0/acinclude.m4
new file mode 100644
index 0000000..3a3122d
--- /dev/null
+++ b/curl-7.25.0/acinclude.m4
@@ -0,0 +1,3302 @@
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+#
+# This software is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at http://curl.haxx.se/docs/copyright.html.
+#
+# You may opt to use, copy, modify, merge, publish, distribute and/or sell
+# copies of the Software, and permit persons to whom the Software is
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+#***************************************************************************
+
+
+dnl CURL_CHECK_DEF (SYMBOL, [INCLUDES], [SILENT])
+dnl -------------------------------------------------
+dnl Use the C preprocessor to find out if the given object-style symbol
+dnl is defined and get its expansion. This macro will not use default
+dnl includes even if no INCLUDES argument is given. This macro will run
+dnl silently when invoked with three arguments. If the expansion would
+dnl result in a set of double-quoted strings the returned expansion will
+dnl actually be a single double-quoted string concatenating all them.
+
+AC_DEFUN([CURL_CHECK_DEF], [
+  AS_VAR_PUSHDEF([ac_HaveDef], [curl_cv_have_def_$1])dnl
+  AS_VAR_PUSHDEF([ac_Def], [curl_cv_def_$1])dnl
+  if test -z "$SED"; then
+    AC_MSG_ERROR([SED not set. Cannot continue without SED being set.])
+  fi
+  if test -z "$GREP"; then
+    AC_MSG_ERROR([GREP not set. Cannot continue without GREP being set.])
+  fi
+  ifelse($3,,[AC_MSG_CHECKING([for preprocessor definition of $1])])
+  tmp_exp=""
+  AC_PREPROC_IFELSE([
+    AC_LANG_SOURCE(
+ifelse($2,,,[$2])[[
+#ifdef $1
+CURL_DEF_TOKEN $1
+#endif
+    ]])
+  ],[
+    tmp_exp=`eval "$ac_cpp conftest.$ac_ext" 2>/dev/null | \
+      "$GREP" CURL_DEF_TOKEN 2>/dev/null | \
+      "$SED" 's/.*CURL_DEF_TOKEN[[ ]][[ ]]*//' 2>/dev/null | \
+      "$SED" 's/[["]][[ ]]*[["]]//g' 2>/dev/null`
+    if test -z "$tmp_exp" || test "$tmp_exp" = "$1"; then
+      tmp_exp=""
+    fi
+  ])
+  if test -z "$tmp_exp"; then
+    AS_VAR_SET(ac_HaveDef, no)
+    ifelse($3,,[AC_MSG_RESULT([no])])
+  else
+    AS_VAR_SET(ac_HaveDef, yes)
+    AS_VAR_SET(ac_Def, $tmp_exp)
+    ifelse($3,,[AC_MSG_RESULT([$tmp_exp])])
+  fi
+  AS_VAR_POPDEF([ac_Def])dnl
+  AS_VAR_POPDEF([ac_HaveDef])dnl
+])
+
+
+dnl CURL_CHECK_DEF_CC (SYMBOL, [INCLUDES], [SILENT])
+dnl -------------------------------------------------
+dnl Use the C compiler to find out only if the given symbol is defined
+dnl or not, this can not find out its expansion. This macro will not use
+dnl default includes even if no INCLUDES argument is given. This macro
+dnl will run silently when invoked with three arguments.
+
+AC_DEFUN([CURL_CHECK_DEF_CC], [
+  AS_VAR_PUSHDEF([ac_HaveDef], [curl_cv_have_def_$1])dnl
+  ifelse($3,,[AC_MSG_CHECKING([for compiler definition of $1])])
+  AC_COMPILE_IFELSE([
+    AC_LANG_SOURCE(
+ifelse($2,,,[$2])[[
+int main (void)
+{
+#ifdef $1
+  return 0;
+#else
+  force compilation error
+#endif
+}
+    ]])
+  ],[
+    tst_symbol_defined="yes"
+  ],[
+    tst_symbol_defined="no"
+  ])
+  if test "$tst_symbol_defined" = "yes"; then
+    AS_VAR_SET(ac_HaveDef, yes)
+    ifelse($3,,[AC_MSG_RESULT([yes])])
+  else
+    AS_VAR_SET(ac_HaveDef, no)
+    ifelse($3,,[AC_MSG_RESULT([no])])
+  fi
+  AS_VAR_POPDEF([ac_HaveDef])dnl
+])
+
+
+dnl CURL_CHECK_LIB_XNET
+dnl -------------------------------------------------
+dnl Verify if X/Open network library is required.
+
+AC_DEFUN([CURL_CHECK_LIB_XNET], [
+  AC_MSG_CHECKING([if X/Open network library is required])
+  tst_lib_xnet_required="no"
+  AC_COMPILE_IFELSE([
+    AC_LANG_SOURCE([[
+int main (void)
+{
+#if defined(__hpux) && defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 600)
+  return 0;
+#elif defined(__hpux) && defined(_XOPEN_SOURCE_EXTENDED)
+  return 0;
+#else
+  force compilation error
+#endif
+}
+    ]])
+  ],[
+    tst_lib_xnet_required="yes"
+    LIBS="$LIBS -lxnet"
+  ])
+  AC_MSG_RESULT([$tst_lib_xnet_required])
+])
+
+
+dnl CURL_CHECK_AIX_ALL_SOURCE
+dnl -------------------------------------------------
+dnl Provides a replacement of traditional AC_AIX with
+dnl an uniform behaviour across all autoconf versions,
+dnl and with our own placement rules.
+
+AC_DEFUN([CURL_CHECK_AIX_ALL_SOURCE], [
+  AH_VERBATIM([_ALL_SOURCE],
+    [/* Define to 1 if OS is AIX. */
+#ifndef _ALL_SOURCE
+#  undef _ALL_SOURCE
+#endif])
+  AC_BEFORE([$0], [AC_SYS_LARGEFILE])dnl
+  AC_BEFORE([$0], [CURL_CONFIGURE_REENTRANT])dnl
+  AC_MSG_CHECKING([if OS is AIX (to define _ALL_SOURCE)])
+  AC_EGREP_CPP([yes_this_is_aix],[
+#ifdef _AIX
+   yes_this_is_aix
+#endif
+  ],[
+    AC_MSG_RESULT([yes])
+    AC_DEFINE(_ALL_SOURCE)
+  ],[
+    AC_MSG_RESULT([no])
+  ])
+])
+
+
+dnl CURL_CHECK_HEADER_WINDOWS
+dnl -------------------------------------------------
+dnl Check for compilable and valid windows.h header
+
+AC_DEFUN([CURL_CHECK_HEADER_WINDOWS], [
+  AC_CACHE_CHECK([for windows.h], [ac_cv_header_windows_h], [
+    AC_COMPILE_IFELSE([
+      AC_LANG_PROGRAM([[
+#undef inline
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+      ]],[[
+#if defined(__CYGWIN__) || defined(__CEGCC__)
+        HAVE_WINDOWS_H shall not be defined.
+#else
+        int dummy=2*WINVER;
+#endif
+      ]])
+    ],[
+      ac_cv_header_windows_h="yes"
+    ],[
+      ac_cv_header_windows_h="no"
+    ])
+  ])
+  case "$ac_cv_header_windows_h" in
+    yes)
+      AC_DEFINE_UNQUOTED(HAVE_WINDOWS_H, 1,
+        [Define to 1 if you have the windows.h header file.])
+      AC_DEFINE_UNQUOTED(WIN32_LEAN_AND_MEAN, 1,
+        [Define to avoid automatic inclusion of winsock.h])
+      ;;
+  esac
+])
+
+
+dnl CURL_CHECK_NATIVE_WINDOWS
+dnl -------------------------------------------------
+dnl Check if building a native Windows target
+
+AC_DEFUN([CURL_CHECK_NATIVE_WINDOWS], [
+  AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl
+  AC_CACHE_CHECK([whether build target is a native Windows one], [ac_cv_native_windows], [
+    if test "$ac_cv_header_windows_h" = "no"; then
+      ac_cv_native_windows="no"
+    else
+      AC_COMPILE_IFELSE([
+        AC_LANG_PROGRAM([[
+        ]],[[
+#if defined(__MINGW32__) || defined(__MINGW32CE__) || \
+   (defined(_MSC_VER) && (defined(_WIN32) || defined(_WIN64)))
+          int dummy=1;
+#else
+          Not a native Windows build target.
+#endif
+        ]])
+      ],[
+        ac_cv_native_windows="yes"
+      ],[
+        ac_cv_native_windows="no"
+      ])
+    fi
+  ])
+  case "$ac_cv_native_windows" in
+    yes)
+      AC_DEFINE_UNQUOTED(NATIVE_WINDOWS, 1,
+        [Define to 1 if you are building a native Windows target.])
+      ;;
+  esac
+])
+
+
+dnl CURL_CHECK_HEADER_WINSOCK
+dnl -------------------------------------------------
+dnl Check for compilable and valid winsock.h header
+
+AC_DEFUN([CURL_CHECK_HEADER_WINSOCK], [
+  AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl
+  AC_CACHE_CHECK([for winsock.h], [ac_cv_header_winsock_h], [
+    AC_COMPILE_IFELSE([
+      AC_LANG_PROGRAM([[
+#undef inline
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#include <winsock.h>
+      ]],[[
+#if defined(__CYGWIN__) || defined(__CEGCC__)
+        HAVE_WINSOCK_H shall not be defined.
+#else
+        int dummy=WSACleanup();
+#endif
+      ]])
+    ],[
+      ac_cv_header_winsock_h="yes"
+    ],[
+      ac_cv_header_winsock_h="no"
+    ])
+  ])
+  case "$ac_cv_header_winsock_h" in
+    yes)
+      AC_DEFINE_UNQUOTED(HAVE_WINSOCK_H, 1,
+        [Define to 1 if you have the winsock.h header file.])
+      ;;
+  esac
+])
+
+
+dnl CURL_CHECK_HEADER_WINSOCK2
+dnl -------------------------------------------------
+dnl Check for compilable and valid winsock2.h header
+
+AC_DEFUN([CURL_CHECK_HEADER_WINSOCK2], [
+  AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl
+  AC_CACHE_CHECK([for winsock2.h], [ac_cv_header_winsock2_h], [
+    AC_COMPILE_IFELSE([
+      AC_LANG_PROGRAM([[
+#undef inline
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#include <winsock2.h>
+      ]],[[
+#if defined(__CYGWIN__) || defined(__CEGCC__) || defined(__MINGW32CE__)
+        HAVE_WINSOCK2_H shall not be defined.
+#else
+        int dummy=2*IPPROTO_ESP;
+#endif
+      ]])
+    ],[
+      ac_cv_header_winsock2_h="yes"
+    ],[
+      ac_cv_header_winsock2_h="no"
+    ])
+  ])
+  case "$ac_cv_header_winsock2_h" in
+    yes)
+      AC_DEFINE_UNQUOTED(HAVE_WINSOCK2_H, 1,
+        [Define to 1 if you have the winsock2.h header file.])
+      ;;
+  esac
+])
+
+
+dnl CURL_CHECK_HEADER_WS2TCPIP
+dnl -------------------------------------------------
+dnl Check for compilable and valid ws2tcpip.h header
+
+AC_DEFUN([CURL_CHECK_HEADER_WS2TCPIP], [
+  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
+  AC_CACHE_CHECK([for ws2tcpip.h], [ac_cv_header_ws2tcpip_h], [
+    AC_COMPILE_IFELSE([
+      AC_LANG_PROGRAM([[
+#undef inline
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#include <winsock2.h>
+#include <ws2tcpip.h>
+      ]],[[
+#if defined(__CYGWIN__) || defined(__CEGCC__) || defined(__MINGW32CE__)
+        HAVE_WS2TCPIP_H shall not be defined.
+#else
+        int dummy=2*IP_PKTINFO;
+#endif
+      ]])
+    ],[
+      ac_cv_header_ws2tcpip_h="yes"
+    ],[
+      ac_cv_header_ws2tcpip_h="no"
+    ])
+  ])
+  case "$ac_cv_header_ws2tcpip_h" in
+    yes)
+      AC_DEFINE_UNQUOTED(HAVE_WS2TCPIP_H, 1,
+        [Define to 1 if you have the ws2tcpip.h header file.])
+      ;;
+  esac
+])
+
+
+dnl CURL_CHECK_HEADER_WINLDAP
+dnl -------------------------------------------------
+dnl Check for compilable and valid winldap.h header
+
+AC_DEFUN([CURL_CHECK_HEADER_WINLDAP], [
+  AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl
+  AC_CACHE_CHECK([for winldap.h], [ac_cv_header_winldap_h], [
+    AC_COMPILE_IFELSE([
+      AC_LANG_PROGRAM([[
+#undef inline
+#ifdef HAVE_WINDOWS_H
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#endif
+#include <winldap.h>
+      ]],[[
+#if defined(__CYGWIN__) || defined(__CEGCC__)
+        HAVE_WINLDAP_H shall not be defined.
+#else
+        LDAP *ldp = ldap_init("dummy", LDAP_PORT);
+        ULONG res = ldap_unbind(ldp);
+#endif
+      ]])
+    ],[
+      ac_cv_header_winldap_h="yes"
+    ],[
+      ac_cv_header_winldap_h="no"
+    ])
+  ])
+  case "$ac_cv_header_winldap_h" in
+    yes)
+      AC_DEFINE_UNQUOTED(HAVE_WINLDAP_H, 1,
+        [Define to 1 if you have the winldap.h header file.])
+      ;;
+  esac
+])
+
+
+dnl CURL_CHECK_HEADER_WINBER
+dnl -------------------------------------------------
+dnl Check for compilable and valid winber.h header
+
+AC_DEFUN([CURL_CHECK_HEADER_WINBER], [
+  AC_REQUIRE([CURL_CHECK_HEADER_WINLDAP])dnl
+  AC_CACHE_CHECK([for winber.h], [ac_cv_header_winber_h], [
+    AC_COMPILE_IFELSE([
+      AC_LANG_PROGRAM([[
+#undef inline
+#ifdef HAVE_WINDOWS_H
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#endif
+#include <winldap.h>
+#include <winber.h>
+      ]],[[
+#if defined(__CYGWIN__) || defined(__CEGCC__)
+        HAVE_WINBER_H shall not be defined.
+#else
+        BERVAL *bvp = NULL;
+        BerElement *bep = ber_init(bvp);
+        ber_free(bep, 1);
+#endif
+      ]])
+    ],[
+      ac_cv_header_winber_h="yes"
+    ],[
+      ac_cv_header_winber_h="no"
+    ])
+  ])
+  case "$ac_cv_header_winber_h" in
+    yes)
+      AC_DEFINE_UNQUOTED(HAVE_WINBER_H, 1,
+        [Define to 1 if you have the winber.h header file.])
+      ;;
+  esac
+])
+
+
+dnl CURL_CHECK_HEADER_LBER
+dnl -------------------------------------------------
+dnl Check for compilable and valid lber.h header,
+dnl and check if it is needed even with ldap.h
+
+AC_DEFUN([CURL_CHECK_HEADER_LBER], [
+  AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl
+  AC_CACHE_CHECK([for lber.h], [ac_cv_header_lber_h], [
+    AC_COMPILE_IFELSE([
+      AC_LANG_PROGRAM([[
+#undef inline
+#ifdef HAVE_WINDOWS_H
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#else
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#endif
+#ifndef NULL
+#define NULL (void *)0
+#endif
+#include <lber.h>
+      ]],[[
+        BerValue *bvp = NULL;
+        BerElement *bep = ber_init(bvp);
+        ber_free(bep, 1);
+      ]])
+    ],[
+      ac_cv_header_lber_h="yes"
+    ],[
+      ac_cv_header_lber_h="no"
+    ])
+  ])
+  if test "$ac_cv_header_lber_h" = "yes"; then
+    AC_DEFINE_UNQUOTED(HAVE_LBER_H, 1,
+      [Define to 1 if you have the lber.h header file.])
+    #
+    AC_COMPILE_IFELSE([
+      AC_LANG_PROGRAM([[
+#undef inline
+#ifdef HAVE_WINDOWS_H
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#else
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#endif
+#ifndef NULL
+#define NULL (void *)0
+#endif
+#ifndef LDAP_DEPRECATED
+#define LDAP_DEPRECATED 1
+#endif
+#include <ldap.h>
+      ]],[[
+        BerValue *bvp = NULL;
+        BerElement *bep = ber_init(bvp);
+        ber_free(bep, 1);
+      ]])
+    ],[
+      curl_cv_need_header_lber_h="no"
+    ],[
+      curl_cv_need_header_lber_h="yes"
+    ])
+    #
+    case "$curl_cv_need_header_lber_h" in
+      yes)
+        AC_DEFINE_UNQUOTED(NEED_LBER_H, 1,
+          [Define to 1 if you need the lber.h header file even with ldap.h])
+        ;;
+    esac
+  fi
+])
+
+
+dnl CURL_CHECK_HEADER_LDAP
+dnl -------------------------------------------------
+dnl Check for compilable and valid ldap.h header
+
+AC_DEFUN([CURL_CHECK_HEADER_LDAP], [
+  AC_REQUIRE([CURL_CHECK_HEADER_LBER])dnl
+  AC_CACHE_CHECK([for ldap.h], [ac_cv_header_ldap_h], [
+    AC_COMPILE_IFELSE([
+      AC_LANG_PROGRAM([[
+#undef inline
+#ifdef HAVE_WINDOWS_H
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#else
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#endif
+#ifndef LDAP_DEPRECATED
+#define LDAP_DEPRECATED 1
+#endif
+#ifdef NEED_LBER_H
+#include <lber.h>
+#endif
+#include <ldap.h>
+      ]],[[
+        LDAP *ldp = ldap_init("dummy", LDAP_PORT);
+        int res = ldap_unbind(ldp);
+      ]])
+    ],[
+      ac_cv_header_ldap_h="yes"
+    ],[
+      ac_cv_header_ldap_h="no"
+    ])
+  ])
+  case "$ac_cv_header_ldap_h" in
+    yes)
+      AC_DEFINE_UNQUOTED(HAVE_LDAP_H, 1,
+        [Define to 1 if you have the ldap.h header file.])
+      ;;
+  esac
+])
+
+
+dnl CURL_CHECK_HEADER_LDAP_SSL
+dnl -------------------------------------------------
+dnl Check for compilable and valid ldap_ssl.h header
+
+AC_DEFUN([CURL_CHECK_HEADER_LDAP_SSL], [
+  AC_REQUIRE([CURL_CHECK_HEADER_LDAP])dnl
+  AC_CACHE_CHECK([for ldap_ssl.h], [ac_cv_header_ldap_ssl_h], [
+    AC_COMPILE_IFELSE([
+      AC_LANG_PROGRAM([[
+#undef inline
+#ifdef HAVE_WINDOWS_H
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#else
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#endif
+#ifndef LDAP_DEPRECATED
+#define LDAP_DEPRECATED 1
+#endif
+#ifdef NEED_LBER_H
+#include <lber.h>
+#endif
+#ifdef HAVE_LDAP_H
+#include <ldap.h>
+#endif
+#include <ldap_ssl.h>
+      ]],[[
+        LDAP *ldp = ldapssl_init("dummy", LDAPS_PORT, 1);
+      ]])
+    ],[
+      ac_cv_header_ldap_ssl_h="yes"
+    ],[
+      ac_cv_header_ldap_ssl_h="no"
+    ])
+  ])
+  case "$ac_cv_header_ldap_ssl_h" in
+    yes)
+      AC_DEFINE_UNQUOTED(HAVE_LDAP_SSL_H, 1,
+        [Define to 1 if you have the ldap_ssl.h header file.])
+      ;;
+  esac
+])
+
+
+dnl CURL_CHECK_HEADER_LDAPSSL
+dnl -------------------------------------------------
+dnl Check for compilable and valid ldapssl.h header
+
+AC_DEFUN([CURL_CHECK_HEADER_LDAPSSL], [
+  AC_REQUIRE([CURL_CHECK_HEADER_LDAP])dnl
+  AC_CACHE_CHECK([for ldapssl.h], [ac_cv_header_ldapssl_h], [
+    AC_COMPILE_IFELSE([
+      AC_LANG_PROGRAM([[
+#undef inline
+#ifdef HAVE_WINDOWS_H
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#else
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#endif
+#ifndef NULL
+#define NULL (void *)0
+#endif
+#ifndef LDAP_DEPRECATED
+#define LDAP_DEPRECATED 1
+#endif
+#ifdef NEED_LBER_H
+#include <lber.h>
+#endif
+#ifdef HAVE_LDAP_H
+#include <ldap.h>
+#endif
+#include <ldapssl.h>
+      ]],[[
+        char *cert_label = NULL;
+        LDAP *ldp = ldap_ssl_init("dummy", LDAPS_PORT, cert_label);
+      ]])
+    ],[
+      ac_cv_header_ldapssl_h="yes"
+    ],[
+      ac_cv_header_ldapssl_h="no"
+    ])
+  ])
+  case "$ac_cv_header_ldapssl_h" in
+    yes)
+      AC_DEFINE_UNQUOTED(HAVE_LDAPSSL_H, 1,
+        [Define to 1 if you have the ldapssl.h header file.])
+      ;;
+  esac
+])
+
+
+dnl CURL_CHECK_LIBS_WINLDAP
+dnl -------------------------------------------------
+dnl Check for libraries needed for WINLDAP support,
+dnl and prepended to LIBS any needed libraries.
+dnl This macro can take an optional parameter with a
+dnl white space separated list of libraries to check
+dnl before the WINLDAP default ones.
+
+AC_DEFUN([CURL_CHECK_LIBS_WINLDAP], [
+  AC_REQUIRE([CURL_CHECK_HEADER_WINBER])dnl
+  #
+  AC_MSG_CHECKING([for WINLDAP libraries])
+  #
+  u_libs=""
+  #
+  ifelse($1,,,[
+    for x_lib in $1; do
+      case "$x_lib" in
+        -l*)
+          l_lib="$x_lib"
+          ;;
+        *)
+          l_lib="-l$x_lib"
+          ;;
+      esac
+      if test -z "$u_libs"; then
+        u_libs="$l_lib"
+      else
+        u_libs="$u_libs $l_lib"
+      fi
+    done
+  ])
+  #
+  curl_cv_save_LIBS="$LIBS"
+  curl_cv_ldap_LIBS="unknown"
+  #
+  for x_nlibs in '' "$u_libs" \
+    '-lwldap32' ; do
+    if test "$curl_cv_ldap_LIBS" = "unknown"; then
+      if test -z "$x_nlibs"; then
+        LIBS="$curl_cv_save_LIBS"
+      else
+        LIBS="$x_nlibs $curl_cv_save_LIBS"
+      fi
+      AC_LINK_IFELSE([
+        AC_LANG_PROGRAM([[
+#undef inline
+#ifdef HAVE_WINDOWS_H
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#ifdef HAVE_WINLDAP_H
+#include <winldap.h>
+#endif
+#ifdef HAVE_WINBER_H
+#include <winber.h>
+#endif
+#endif
+        ]],[[
+          BERVAL *bvp = NULL;
+          BerElement *bep = ber_init(bvp);
+          LDAP *ldp = ldap_init("dummy", LDAP_PORT);
+          ULONG res = ldap_unbind(ldp);
+          ber_free(bep, 1);
+        ]])
+      ],[
+        curl_cv_ldap_LIBS="$x_nlibs"
+      ])
+    fi
+  done
+  #
+  LIBS="$curl_cv_save_LIBS"
+  #
+  case X-"$curl_cv_ldap_LIBS" in
+    X-unknown)
+      AC_MSG_RESULT([cannot find WINLDAP libraries])
+      ;;
+    X-)
+      AC_MSG_RESULT([no additional lib required])
+      ;;
+    *)
+      if test -z "$curl_cv_save_LIBS"; then
+        LIBS="$curl_cv_ldap_LIBS"
+      else
+        LIBS="$curl_cv_ldap_LIBS $curl_cv_save_LIBS"
+      fi
+      AC_MSG_RESULT([$curl_cv_ldap_LIBS])
+      ;;
+  esac
+  #
+])
+
+
+dnl CURL_CHECK_LIBS_LDAP
+dnl -------------------------------------------------
+dnl Check for libraries needed for LDAP support,
+dnl and prepended to LIBS any needed libraries.
+dnl This macro can take an optional parameter with a
+dnl white space separated list of libraries to check
+dnl before the default ones.
+
+AC_DEFUN([CURL_CHECK_LIBS_LDAP], [
+  AC_REQUIRE([CURL_CHECK_HEADER_LDAP])dnl
+  #
+  AC_MSG_CHECKING([for LDAP libraries])
+  #
+  u_libs=""
+  #
+  ifelse($1,,,[
+    for x_lib in $1; do
+      case "$x_lib" in
+        -l*)
+          l_lib="$x_lib"
+          ;;
+        *)
+          l_lib="-l$x_lib"
+          ;;
+      esac
+      if test -z "$u_libs"; then
+        u_libs="$l_lib"
+      else
+        u_libs="$u_libs $l_lib"
+      fi
+    done
+  ])
+  #
+  curl_cv_save_LIBS="$LIBS"
+  curl_cv_ldap_LIBS="unknown"
+  #
+  for x_nlibs in '' "$u_libs" \
+    '-lldap' \
+    '-llber -lldap' \
+    '-lldap -llber' \
+    '-lldapssl -lldapx -lldapsdk' \
+    '-lldapsdk -lldapx -lldapssl' ; do
+    if test "$curl_cv_ldap_LIBS" = "unknown"; then
+      if test -z "$x_nlibs"; then
+        LIBS="$curl_cv_save_LIBS"
+      else
+        LIBS="$x_nlibs $curl_cv_save_LIBS"
+      fi
+      AC_LINK_IFELSE([
+        AC_LANG_PROGRAM([[
+#undef inline
+#ifdef HAVE_WINDOWS_H
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#else
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#endif
+#ifndef NULL
+#define NULL (void *)0
+#endif
+#ifndef LDAP_DEPRECATED
+#define LDAP_DEPRECATED 1
+#endif
+#ifdef NEED_LBER_H
+#include <lber.h>
+#endif
+#ifdef HAVE_LDAP_H
+#include <ldap.h>
+#endif
+        ]],[[
+          BerValue *bvp = NULL;
+          BerElement *bep = ber_init(bvp);
+          LDAP *ldp = ldap_init("dummy", LDAP_PORT);
+          int res = ldap_unbind(ldp);
+          ber_free(bep, 1);
+        ]])
+      ],[
+        curl_cv_ldap_LIBS="$x_nlibs"
+      ])
+    fi
+  done
+  #
+  LIBS="$curl_cv_save_LIBS"
+  #
+  case X-"$curl_cv_ldap_LIBS" in
+    X-unknown)
+      AC_MSG_RESULT([cannot find LDAP libraries])
+      ;;
+    X-)
+      AC_MSG_RESULT([no additional lib required])
+      ;;
+    *)
+      if test -z "$curl_cv_save_LIBS"; then
+        LIBS="$curl_cv_ldap_LIBS"
+      else
+        LIBS="$curl_cv_ldap_LIBS $curl_cv_save_LIBS"
+      fi
+      AC_MSG_RESULT([$curl_cv_ldap_LIBS])
+      ;;
+  esac
+  #
+])
+
+
+dnl CURL_CHECK_HEADER_MALLOC
+dnl -------------------------------------------------
+dnl Check for compilable and valid malloc.h header,
+dnl and check if it is needed even with stdlib.h
+
+AC_DEFUN([CURL_CHECK_HEADER_MALLOC], [
+  AC_CACHE_CHECK([for malloc.h], [ac_cv_header_malloc_h], [
+    AC_COMPILE_IFELSE([
+      AC_LANG_PROGRAM([[
+#include <malloc.h>
+      ]],[[
+        void *p = malloc(10);
+        void *q = calloc(10,10);
+        free(p);
+        free(q);
+      ]])
+    ],[
+      ac_cv_header_malloc_h="yes"
+    ],[
+      ac_cv_header_malloc_h="no"
+    ])
+  ])
+  if test "$ac_cv_header_malloc_h" = "yes"; then
+    AC_DEFINE_UNQUOTED(HAVE_MALLOC_H, 1,
+      [Define to 1 if you have the malloc.h header file.])
+    #
+    AC_COMPILE_IFELSE([
+      AC_LANG_PROGRAM([[
+#include <stdlib.h>
+      ]],[[
+        void *p = malloc(10);
+        void *q = calloc(10,10);
+        free(p);
+        free(q);
+      ]])
+    ],[
+      curl_cv_need_header_malloc_h="no"
+    ],[
+      curl_cv_need_header_malloc_h="yes"
+    ])
+    #
+    case "$curl_cv_need_header_malloc_h" in
+      yes)
+        AC_DEFINE_UNQUOTED(NEED_MALLOC_H, 1,
+          [Define to 1 if you need the malloc.h header file even with stdlib.h])
+        ;;
+    esac
+  fi
+])
+
+
+dnl CURL_CHECK_HEADER_MEMORY
+dnl -------------------------------------------------
+dnl Check for compilable and valid memory.h header,
+dnl and check if it is needed even with stdlib.h for
+dnl memory related functions.
+
+AC_DEFUN([CURL_CHECK_HEADER_MEMORY], [
+  AC_CACHE_CHECK([for memory.h], [ac_cv_header_memory_h], [
+    AC_COMPILE_IFELSE([
+      AC_LANG_PROGRAM([[
+#include <memory.h>
+      ]],[[
+        void *p = malloc(10);
+        void *q = calloc(10,10);
+        free(p);
+        free(q);
+      ]])
+    ],[
+      ac_cv_header_memory_h="yes"
+    ],[
+      ac_cv_header_memory_h="no"
+    ])
+  ])
+  if test "$ac_cv_header_memory_h" = "yes"; then
+    AC_DEFINE_UNQUOTED(HAVE_MEMORY_H, 1,
+      [Define to 1 if you have the memory.h header file.])
+    #
+    AC_COMPILE_IFELSE([
+      AC_LANG_PROGRAM([[
+#include <stdlib.h>
+      ]],[[
+        void *p = malloc(10);
+        void *q = calloc(10,10);
+        free(p);
+        free(q);
+      ]])
+    ],[
+      curl_cv_need_header_memory_h="no"
+    ],[
+      curl_cv_need_header_memory_h="yes"
+    ])
+    #
+    case "$curl_cv_need_header_memory_h" in
+      yes)
+        AC_DEFINE_UNQUOTED(NEED_MEMORY_H, 1,
+          [Define to 1 if you need the memory.h header file even with stdlib.h])
+        ;;
+    esac
+  fi
+])
+
+
+dnl CURL_CHECK_FUNC_GETNAMEINFO
+dnl -------------------------------------------------
+dnl Test if the getnameinfo function is available,
+dnl and check the types of five of its arguments.
+dnl If the function succeeds HAVE_GETNAMEINFO will be
+dnl defined, defining the types of the arguments in
+dnl GETNAMEINFO_TYPE_ARG1, GETNAMEINFO_TYPE_ARG2,
+dnl GETNAMEINFO_TYPE_ARG46 and GETNAMEINFO_TYPE_ARG7,
+dnl and also defining the type qualifier of first
+dnl argument in GETNAMEINFO_QUAL_ARG1.
+
+AC_DEFUN([CURL_CHECK_FUNC_GETNAMEINFO], [
+  AC_REQUIRE([CURL_CHECK_HEADER_WS2TCPIP])dnl
+  AC_CHECK_HEADERS(sys/types.h sys/socket.h netdb.h)
+  #
+  AC_MSG_CHECKING([for getnameinfo])
+  AC_LINK_IFELSE([
+    AC_LANG_FUNC_LINK_TRY([getnameinfo])
+  ],[
+    AC_MSG_RESULT([yes])
+    curl_cv_getnameinfo="yes"
+  ],[
+    AC_MSG_RESULT([no])
+    curl_cv_getnameinfo="no"
+  ])
+  #
+  if test "$curl_cv_getnameinfo" != "yes"; then
+    AC_MSG_CHECKING([deeper for getnameinfo])
+    AC_LINK_IFELSE([
+      AC_LANG_PROGRAM([[
+      ]],[[
+        getnameinfo();
+      ]])
+    ],[
+      AC_MSG_RESULT([yes])
+      curl_cv_getnameinfo="yes"
+    ],[
+      AC_MSG_RESULT([but still no])
+      curl_cv_getnameinfo="no"
+    ])
+  fi
+  #
+  if test "$curl_cv_getnameinfo" != "yes"; then
+    AC_MSG_CHECKING([deeper and deeper for getnameinfo])
+    AC_LINK_IFELSE([
+      AC_LANG_PROGRAM([[
+#undef inline
+#ifdef HAVE_WINDOWS_H
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#ifdef HAVE_WS2TCPIP_H
+#include <ws2tcpip.h>
+#endif
+#endif
+#else
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#ifdef HAVE_NETDB_H
+#include <netdb.h>
+#endif
+#endif
+      ]],[[
+        getnameinfo(0, 0, 0, 0, 0, 0, 0);
+      ]])
+    ],[
+      AC_MSG_RESULT([yes])
+      curl_cv_getnameinfo="yes"
+    ],[
+      AC_MSG_RESULT([but still no])
+      curl_cv_getnameinfo="no"
+    ])
+  fi
+  #
+  if test "$curl_cv_getnameinfo" = "yes"; then
+    AC_CACHE_CHECK([types of arguments for getnameinfo],
+      [curl_cv_func_getnameinfo_args], [
+      curl_cv_func_getnameinfo_args="unknown"
+      for gni_arg1 in 'struct sockaddr *' 'const struct sockaddr *' 'void *'; do
+        for gni_arg2 in 'socklen_t' 'size_t' 'int'; do
+          for gni_arg46 in 'size_t' 'int' 'socklen_t' 'unsigned int' 'DWORD'; do
+            for gni_arg7 in 'int' 'unsigned int'; do
+              if test "$curl_cv_func_getnameinfo_args" = "unknown"; then
+                AC_COMPILE_IFELSE([
+                  AC_LANG_PROGRAM([[
+#undef inline
+#ifdef HAVE_WINDOWS_H
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#if (!defined(_WIN32_WINNT)) || (_WIN32_WINNT < 0x0501)
+#undef _WIN32_WINNT
+#define _WIN32_WINNT 0x0501
+#endif
+#include <windows.h>
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#ifdef HAVE_WS2TCPIP_H
+#include <ws2tcpip.h>
+#endif
+#endif
+#define GNICALLCONV WSAAPI
+#else
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#ifdef HAVE_NETDB_H
+#include <netdb.h>
+#endif
+#define GNICALLCONV
+#endif
+                    extern int GNICALLCONV getnameinfo($gni_arg1, $gni_arg2,
+                                           char *, $gni_arg46,
+                                           char *, $gni_arg46,
+                                           $gni_arg7);
+                  ]],[[
+                    $gni_arg2 salen=0;
+                    $gni_arg46 hostlen=0;
+                    $gni_arg46 servlen=0;
+                    $gni_arg7 flags=0;
+                    int res = getnameinfo(0, salen, 0, hostlen, 0, servlen, flags);
+                  ]])
+                ],[
+                  curl_cv_func_getnameinfo_args="$gni_arg1,$gni_arg2,$gni_arg46,$gni_arg7"
+                ])
+              fi
+            done
+          done
+        done
+      done
+    ]) # AC-CACHE-CHECK
+    if test "$curl_cv_func_getnameinfo_args" = "unknown"; then
+      AC_MSG_WARN([Cannot find proper types to use for getnameinfo args])
+      AC_MSG_WARN([HAVE_GETNAMEINFO will not be defined])
+    else
+      gni_prev_IFS=$IFS; IFS=','
+      set dummy `echo "$curl_cv_func_getnameinfo_args" | sed 's/\*/\*/g'`
+      IFS=$gni_prev_IFS
+      shift
+      #
+      gni_qual_type_arg1=$[1]
+      #
+      AC_DEFINE_UNQUOTED(GETNAMEINFO_TYPE_ARG2, $[2],
+        [Define to the type of arg 2 for getnameinfo.])
+      AC_DEFINE_UNQUOTED(GETNAMEINFO_TYPE_ARG46, $[3],
+        [Define to the type of args 4 and 6 for getnameinfo.])
+      AC_DEFINE_UNQUOTED(GETNAMEINFO_TYPE_ARG7, $[4],
+        [Define to the type of arg 7 for getnameinfo.])
+      #
+      prev_sh_opts=$-
+      #
+      case $prev_sh_opts in
+        *f*)
+          ;;
+        *)
+          set -f
+          ;;
+      esac
+      #
+      case "$gni_qual_type_arg1" in
+        const*)
+          gni_qual_arg1=const
+          gni_type_arg1=`echo $gni_qual_type_arg1 | sed 's/^const //'`
+        ;;
+        *)
+          gni_qual_arg1=
+          gni_type_arg1=$gni_qual_type_arg1
+        ;;
+      esac
+      #
+      AC_DEFINE_UNQUOTED(GETNAMEINFO_QUAL_ARG1, $gni_qual_arg1,
+        [Define to the type qualifier of arg 1 for getnameinfo.])
+      AC_DEFINE_UNQUOTED(GETNAMEINFO_TYPE_ARG1, $gni_type_arg1,
+        [Define to the type of arg 1 for getnameinfo.])
+      #
+      case $prev_sh_opts in
+        *f*)
+          ;;
+        *)
+          set +f
+          ;;
+      esac
+      #
+      AC_DEFINE_UNQUOTED(HAVE_GETNAMEINFO, 1,
+        [Define to 1 if you have the getnameinfo function.])
+      ac_cv_func_getnameinfo="yes"
+    fi
+  fi
+])
+
+
+dnl TYPE_SOCKADDR_STORAGE
+dnl -------------------------------------------------
+dnl Check for struct sockaddr_storage. Most IPv6-enabled
+dnl hosts have it, but AIX 4.3 is one known exception.
+
+AC_DEFUN([TYPE_SOCKADDR_STORAGE],
+[
+   AC_CHECK_TYPE([struct sockaddr_storage],
+        AC_DEFINE(HAVE_STRUCT_SOCKADDR_STORAGE, 1,
+                  [if struct sockaddr_storage is defined]), ,
+   [
+#undef inline
+#ifdef HAVE_WINDOWS_H
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#endif
+#else
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+#ifdef HAVE_ARPA_INET_H
+#include <arpa/inet.h>
+#endif
+#endif
+   ])
+])
+
+
+dnl CURL_CHECK_NI_WITHSCOPEID
+dnl -------------------------------------------------
+dnl Check for working NI_WITHSCOPEID in getnameinfo()
+
+AC_DEFUN([CURL_CHECK_NI_WITHSCOPEID], [
+  AC_REQUIRE([CURL_CHECK_FUNC_GETNAMEINFO])dnl
+  AC_REQUIRE([TYPE_SOCKADDR_STORAGE])dnl
+  AC_CHECK_HEADERS(stdio.h sys/types.h sys/socket.h \
+                   netdb.h netinet/in.h arpa/inet.h)
+  #
+  AC_CACHE_CHECK([for working NI_WITHSCOPEID],
+    [ac_cv_working_ni_withscopeid], [
+    AC_RUN_IFELSE([
+      AC_LANG_PROGRAM([[
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#ifdef HAVE_STDIO_H
+#include <stdio.h>
+#endif
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#ifdef HAVE_NETDB_H
+#include <netdb.h>
+#endif
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+#ifdef HAVE_ARPA_INET_H
+#include <arpa/inet.h>
+#endif
+      ]],[[
+#if defined(NI_WITHSCOPEID) && defined(HAVE_GETNAMEINFO)
+#ifdef HAVE_STRUCT_SOCKADDR_STORAGE
+        struct sockaddr_storage sa;
+#else
+        unsigned char sa[256];
+#endif
+        char hostbuf[NI_MAXHOST];
+        int rc;
+        GETNAMEINFO_TYPE_ARG2 salen = (GETNAMEINFO_TYPE_ARG2)sizeof(sa);
+        GETNAMEINFO_TYPE_ARG46 hostlen = (GETNAMEINFO_TYPE_ARG46)sizeof(hostbuf);
+        GETNAMEINFO_TYPE_ARG7 flags = NI_NUMERICHOST | NI_NUMERICSERV | NI_WITHSCOPEID;
+        int fd = socket(AF_INET6, SOCK_STREAM, 0);
+        if(fd < 0) {
+          perror("socket()");
+          return 1; /* Error creating socket */
+        }
+        rc = getsockname(fd, (GETNAMEINFO_TYPE_ARG1)&sa, &salen);
+        if(rc) {
+          perror("getsockname()");
+          return 2; /* Error retrieving socket name */
+        }
+        rc = getnameinfo((GETNAMEINFO_TYPE_ARG1)&sa, salen, hostbuf, hostlen, NULL, 0, flags);
+        if(rc) {
+          printf("rc = %s\n", gai_strerror(rc));
+          return 3; /* Error translating socket address */
+        }
+        return 0; /* Ok, NI_WITHSCOPEID works */
+#else
+        return 4; /* Error, NI_WITHSCOPEID not defined or no getnameinfo() */
+#endif
+      ]]) # AC-LANG-PROGRAM
+    ],[
+      # Exit code == 0. Program worked.
+      ac_cv_working_ni_withscopeid="yes"
+    ],[
+      # Exit code != 0. Program failed.
+      ac_cv_working_ni_withscopeid="no"
+    ],[
+      # Program is not run when cross-compiling. So we assume
+      # NI_WITHSCOPEID will work if we are able to compile it.
+      AC_COMPILE_IFELSE([
+        AC_LANG_PROGRAM([[
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netdb.h>
+        ]],[[
+          unsigned int dummy= NI_NUMERICHOST | NI_NUMERICSERV | NI_WITHSCOPEID;
+        ]])
+      ],[
+        ac_cv_working_ni_withscopeid="yes"
+      ],[
+        ac_cv_working_ni_withscopeid="no"
+      ]) # AC-COMPILE-IFELSE
+    ]) # AC-RUN-IFELSE
+  ]) # AC-CACHE-CHECK
+  case "$ac_cv_working_ni_withscopeid" in
+    yes)
+      AC_DEFINE(HAVE_NI_WITHSCOPEID, 1,
+        [Define to 1 if NI_WITHSCOPEID exists and works.])
+      ;;
+  esac
+])
+
+
+dnl CURL_CHECK_FUNC_RECV
+dnl -------------------------------------------------
+dnl Test if the socket recv() function is available,
+dnl and check its return type and the types of its
+dnl arguments. If the function succeeds HAVE_RECV
+dnl will be defined, defining the types of the arguments
+dnl in RECV_TYPE_ARG1, RECV_TYPE_ARG2, RECV_TYPE_ARG3
+dnl and RECV_TYPE_ARG4, defining the type of the function
+dnl return value in RECV_TYPE_RETV.
+
+AC_DEFUN([CURL_CHECK_FUNC_RECV], [
+  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK])dnl
+  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
+  AC_CHECK_HEADERS(sys/types.h sys/socket.h)
+  #
+  AC_MSG_CHECKING([for recv])
+  AC_LINK_IFELSE([
+    AC_LANG_PROGRAM([[
+#undef inline
+#ifdef HAVE_WINDOWS_H
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#else
+#ifdef HAVE_WINSOCK_H
+#include <winsock.h>
+#endif
+#endif
+#else
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#endif
+    ]],[[
+      recv(0, 0, 0, 0);
+    ]])
+  ],[
+    AC_MSG_RESULT([yes])
+    curl_cv_recv="yes"
+  ],[
+    AC_MSG_RESULT([no])
+    curl_cv_recv="no"
+  ])
+  #
+  if test "$curl_cv_recv" = "yes"; then
+    AC_CACHE_CHECK([types of args and return type for recv],
+      [curl_cv_func_recv_args], [
+      curl_cv_func_recv_args="unknown"
+      for recv_retv in 'int' 'ssize_t'; do
+        for recv_arg1 in 'int' 'ssize_t' 'SOCKET'; do
+          for recv_arg2 in 'char *' 'void *'; do
+            for recv_arg3 in 'size_t' 'int' 'socklen_t' 'unsigned int'; do
+              for recv_arg4 in 'int' 'unsigned int'; do
+                if test "$curl_cv_func_recv_args" = "unknown"; then
+                  AC_COMPILE_IFELSE([
+                    AC_LANG_PROGRAM([[
+#undef inline
+#ifdef HAVE_WINDOWS_H
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#else
+#ifdef HAVE_WINSOCK_H
+#include <winsock.h>
+#endif
+#endif
+#define RECVCALLCONV PASCAL
+#else
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#define RECVCALLCONV
+#endif
+                      extern $recv_retv RECVCALLCONV
+                      recv($recv_arg1, $recv_arg2, $recv_arg3, $recv_arg4);
+                    ]],[[
+                      $recv_arg1 s=0;
+                      $recv_arg2 buf=0;
+                      $recv_arg3 len=0;
+                      $recv_arg4 flags=0;
+                      $recv_retv res = recv(s, buf, len, flags);
+                    ]])
+                  ],[
+                    curl_cv_func_recv_args="$recv_arg1,$recv_arg2,$recv_arg3,$recv_arg4,$recv_retv"
+                  ])
+                fi
+              done
+            done
+          done
+        done
+      done
+    ]) # AC-CACHE-CHECK
+    if test "$curl_cv_func_recv_args" = "unknown"; then
+      AC_MSG_ERROR([Cannot find proper types to use for recv args])
+    else
+      recv_prev_IFS=$IFS; IFS=','
+      set dummy `echo "$curl_cv_func_recv_args" | sed 's/\*/\*/g'`
+      IFS=$recv_prev_IFS
+      shift
+      #
+      AC_DEFINE_UNQUOTED(RECV_TYPE_ARG1, $[1],
+        [Define to the type of arg 1 for recv.])
+      AC_DEFINE_UNQUOTED(RECV_TYPE_ARG2, $[2],
+        [Define to the type of arg 2 for recv.])
+      AC_DEFINE_UNQUOTED(RECV_TYPE_ARG3, $[3],
+        [Define to the type of arg 3 for recv.])
+      AC_DEFINE_UNQUOTED(RECV_TYPE_ARG4, $[4],
+        [Define to the type of arg 4 for recv.])
+      AC_DEFINE_UNQUOTED(RECV_TYPE_RETV, $[5],
+        [Define to the function return type for recv.])
+      #
+      AC_DEFINE_UNQUOTED(HAVE_RECV, 1,
+        [Define to 1 if you have the recv function.])
+      ac_cv_func_recv="yes"
+    fi
+  else
+    AC_MSG_ERROR([Unable to link function recv])
+  fi
+])
+
+
+dnl CURL_CHECK_FUNC_SEND
+dnl -------------------------------------------------
+dnl Test if the socket send() function is available,
+dnl and check its return type and the types of its
+dnl arguments. If the function succeeds HAVE_SEND
+dnl will be defined, defining the types of the arguments
+dnl in SEND_TYPE_ARG1, SEND_TYPE_ARG2, SEND_TYPE_ARG3
+dnl and SEND_TYPE_ARG4, defining the type of the function
+dnl return value in SEND_TYPE_RETV, and also defining the
+dnl type qualifier of second argument in SEND_QUAL_ARG2.
+
+AC_DEFUN([CURL_CHECK_FUNC_SEND], [
+  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK])dnl
+  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
+  AC_CHECK_HEADERS(sys/types.h sys/socket.h)
+  #
+  AC_MSG_CHECKING([for send])
+  AC_LINK_IFELSE([
+    AC_LANG_PROGRAM([[
+#undef inline
+#ifdef HAVE_WINDOWS_H
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#else
+#ifdef HAVE_WINSOCK_H
+#include <winsock.h>
+#endif
+#endif
+#else
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#endif
+    ]],[[
+      send(0, 0, 0, 0);
+    ]])
+  ],[
+    AC_MSG_RESULT([yes])
+    curl_cv_send="yes"
+  ],[
+    AC_MSG_RESULT([no])
+    curl_cv_send="no"
+  ])
+  #
+  if test "$curl_cv_send" = "yes"; then
+    AC_CACHE_CHECK([types of args and return type for send],
+      [curl_cv_func_send_args], [
+      curl_cv_func_send_args="unknown"
+      for send_retv in 'int' 'ssize_t'; do
+        for send_arg1 in 'int' 'ssize_t' 'SOCKET'; do
+          for send_arg2 in 'char *' 'void *' 'const char *' 'const void *'; do
+            for send_arg3 in 'size_t' 'int' 'socklen_t' 'unsigned int'; do
+              for send_arg4 in 'int' 'unsigned int'; do
+                if test "$curl_cv_func_send_args" = "unknown"; then
+                  AC_COMPILE_IFELSE([
+                    AC_LANG_PROGRAM([[
+#undef inline
+#ifdef HAVE_WINDOWS_H
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#else
+#ifdef HAVE_WINSOCK_H
+#include <winsock.h>
+#endif
+#endif
+#define SENDCALLCONV PASCAL
+#else
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#define SENDCALLCONV
+#endif
+                      extern $send_retv SENDCALLCONV
+                      send($send_arg1, $send_arg2, $send_arg3, $send_arg4);
+                    ]],[[
+                      $send_arg1 s=0;
+                      $send_arg3 len=0;
+                      $send_arg4 flags=0;
+                      $send_retv res = send(s, 0, len, flags);
+                    ]])
+                  ],[
+                    curl_cv_func_send_args="$send_arg1,$send_arg2,$send_arg3,$send_arg4,$send_retv"
+                  ])
+                fi
+              done
+            done
+          done
+        done
+      done
+    ]) # AC-CACHE-CHECK
+    if test "$curl_cv_func_send_args" = "unknown"; then
+      AC_MSG_ERROR([Cannot find proper types to use for send args])
+    else
+      send_prev_IFS=$IFS; IFS=','
+      set dummy `echo "$curl_cv_func_send_args" | sed 's/\*/\*/g'`
+      IFS=$send_prev_IFS
+      shift
+      #
+      send_qual_type_arg2=$[2]
+      #
+      AC_DEFINE_UNQUOTED(SEND_TYPE_ARG1, $[1],
+        [Define to the type of arg 1 for send.])
+      AC_DEFINE_UNQUOTED(SEND_TYPE_ARG3, $[3],
+        [Define to the type of arg 3 for send.])
+      AC_DEFINE_UNQUOTED(SEND_TYPE_ARG4, $[4],
+        [Define to the type of arg 4 for send.])
+      AC_DEFINE_UNQUOTED(SEND_TYPE_RETV, $[5],
+        [Define to the function return type for send.])
+      #
+      prev_sh_opts=$-
+      #
+      case $prev_sh_opts in
+        *f*)
+          ;;
+        *)
+          set -f
+          ;;
+      esac
+      #
+      case "$send_qual_type_arg2" in
+        const*)
+          send_qual_arg2=const
+          send_type_arg2=`echo $send_qual_type_arg2 | sed 's/^const //'`
+        ;;
+        *)
+          send_qual_arg2=
+          send_type_arg2=$send_qual_type_arg2
+        ;;
+      esac
+      #
+      AC_DEFINE_UNQUOTED(SEND_QUAL_ARG2, $send_qual_arg2,
+        [Define to the type qualifier of arg 2 for send.])
+      AC_DEFINE_UNQUOTED(SEND_TYPE_ARG2, $send_type_arg2,
+        [Define to the type of arg 2 for send.])
+      #
+      case $prev_sh_opts in
+        *f*)
+          ;;
+        *)
+          set +f
+          ;;
+      esac
+      #
+      AC_DEFINE_UNQUOTED(HAVE_SEND, 1,
+        [Define to 1 if you have the send function.])
+      ac_cv_func_send="yes"
+    fi
+  else
+    AC_MSG_ERROR([Unable to link function send])
+  fi
+])
+
+
+dnl CURL_CHECK_FUNC_RECVFROM
+dnl -------------------------------------------------
+dnl Test if the socket recvfrom() function is available,
+dnl and check its return type and the types of its
+dnl arguments. If the function succeeds HAVE_RECVFROM
+dnl will be defined, defining the types of the arguments
+dnl in RECVFROM_TYPE_ARG1, RECVFROM_TYPE_ARG2, and so on
+dnl to RECVFROM_TYPE_ARG6, defining also the type of the
+dnl function return value in RECVFROM_TYPE_RETV.
+dnl Notice that the types returned for pointer arguments
+dnl will actually be the type pointed by the pointer.
+
+AC_DEFUN([CURL_CHECK_FUNC_RECVFROM], [
+  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK])dnl
+  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
+  AC_CHECK_HEADERS(sys/types.h sys/socket.h)
+  #
+  AC_MSG_CHECKING([for recvfrom])
+  AC_LINK_IFELSE([
+    AC_LANG_PROGRAM([[
+#undef inline
+#ifdef HAVE_WINDOWS_H
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#else
+#ifdef HAVE_WINSOCK_H
+#include <winsock.h>
+#endif
+#endif
+#else
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#endif
+    ]],[[
+      recvfrom(0, 0, 0, 0, 0, 0);
+    ]])
+  ],[
+    AC_MSG_RESULT([yes])
+    curl_cv_recvfrom="yes"
+  ],[
+    AC_MSG_RESULT([no])
+    curl_cv_recvfrom="no"
+  ])
+  #
+  if test "$curl_cv_recvfrom" = "yes"; then
+    AC_CACHE_CHECK([types of args and return type for recvfrom],
+      [curl_cv_func_recvfrom_args], [
+      curl_cv_func_recvfrom_args="unknown"
+      for recvfrom_retv in 'int' 'ssize_t'; do
+        for recvfrom_arg1 in 'int' 'ssize_t' 'SOCKET'; do
+          for recvfrom_arg2 in 'char *' 'void *'; do
+            for recvfrom_arg3 in 'size_t' 'int' 'socklen_t' 'unsigned int'; do
+              for recvfrom_arg4 in 'int' 'unsigned int'; do
+                for recvfrom_arg5 in 'struct sockaddr *' 'void *' 'const struct sockaddr *'; do
+                  for recvfrom_arg6 in 'socklen_t *' 'int *' 'unsigned int *' 'size_t *' 'void *'; do
+                    if test "$curl_cv_func_recvfrom_args" = "unknown"; then
+                      AC_COMPILE_IFELSE([
+                        AC_LANG_PROGRAM([[
+#undef inline
+#ifdef HAVE_WINDOWS_H
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#else
+#ifdef HAVE_WINSOCK_H
+#include <winsock.h>
+#endif
+#endif
+#define RECVFROMCALLCONV PASCAL
+#else
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#define RECVFROMCALLCONV
+#endif
+                          extern $recvfrom_retv RECVFROMCALLCONV
+                          recvfrom($recvfrom_arg1, $recvfrom_arg2,
+                                   $recvfrom_arg3, $recvfrom_arg4,
+                                   $recvfrom_arg5, $recvfrom_arg6);
+                        ]],[[
+                          $recvfrom_arg1 s=0;
+                          $recvfrom_arg2 buf=0;
+                          $recvfrom_arg3 len=0;
+                          $recvfrom_arg4 flags=0;
+                          $recvfrom_arg5 addr=0;
+                          $recvfrom_arg6 addrlen=0;
+                          $recvfrom_retv res=0;
+                          res = recvfrom(s, buf, len, flags, addr, addrlen);
+                        ]])
+                      ],[
+                        curl_cv_func_recvfrom_args="$recvfrom_arg1,$recvfrom_arg2,$recvfrom_arg3,$recvfrom_arg4,$recvfrom_arg5,$recvfrom_arg6,$recvfrom_retv"
+                      ])
+                    fi
+                  done
+                done
+              done
+            done
+          done
+        done
+      done
+    ]) # AC-CACHE-CHECK
+    # Nearly last minute change for this release starts here
+    AC_DEFINE_UNQUOTED(HAVE_RECVFROM, 1,
+      [Define to 1 if you have the recvfrom function.])
+    ac_cv_func_recvfrom="yes"
+    # Nearly last minute change for this release ends here
+    if test "$curl_cv_func_recvfrom_args" = "unknown"; then
+      AC_MSG_WARN([Cannot find proper types to use for recvfrom args])
+    else
+      recvfrom_prev_IFS=$IFS; IFS=','
+      set dummy `echo "$curl_cv_func_recvfrom_args" | sed 's/\*/\*/g'`
+      IFS=$recvfrom_prev_IFS
+      shift
+      #
+      recvfrom_ptrt_arg2=$[2]
+      recvfrom_qual_ptrt_arg5=$[5]
+      recvfrom_ptrt_arg6=$[6]
+      #
+      AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG1, $[1],
+        [Define to the type of arg 1 for recvfrom.])
+      AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG3, $[3],
+        [Define to the type of arg 3 for recvfrom.])
+      AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG4, $[4],
+        [Define to the type of arg 4 for recvfrom.])
+      AC_DEFINE_UNQUOTED(RECVFROM_TYPE_RETV, $[7],
+        [Define to the function return type for recvfrom.])
+      #
+      prev_sh_opts=$-
+      #
+      case $prev_sh_opts in
+        *f*)
+          ;;
+        *)
+          set -f
+          ;;
+      esac
+      #
+      case "$recvfrom_qual_ptrt_arg5" in
+        const*)
+          recvfrom_qual_arg5=const
+          recvfrom_ptrt_arg5=`echo $recvfrom_qual_ptrt_arg5 | sed 's/^const //'`
+        ;;
+        *)
+          recvfrom_qual_arg5=
+          recvfrom_ptrt_arg5=$recvfrom_qual_ptrt_arg5
+        ;;
+      esac
+      #
+      recvfrom_type_arg2=`echo $recvfrom_ptrt_arg2 | sed 's/ \*//'`
+      recvfrom_type_arg5=`echo $recvfrom_ptrt_arg5 | sed 's/ \*//'`
+      recvfrom_type_arg6=`echo $recvfrom_ptrt_arg6 | sed 's/ \*//'`
+      #
+      AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG2, $recvfrom_type_arg2,
+        [Define to the type pointed by arg 2 for recvfrom.])
+      AC_DEFINE_UNQUOTED(RECVFROM_QUAL_ARG5, $recvfrom_qual_arg5,
+        [Define to the type qualifier pointed by arg 5 for recvfrom.])
+      AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG5, $recvfrom_type_arg5,
+        [Define to the type pointed by arg 5 for recvfrom.])
+      AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG6, $recvfrom_type_arg6,
+        [Define to the type pointed by arg 6 for recvfrom.])
+      #
+      if test "$recvfrom_type_arg2" = "void"; then
+        AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG2_IS_VOID, 1,
+          [Define to 1 if the type pointed by arg 2 for recvfrom is void.])
+      fi
+      if test "$recvfrom_type_arg5" = "void"; then
+        AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG5_IS_VOID, 1,
+          [Define to 1 if the type pointed by arg 5 for recvfrom is void.])
+      fi
+      if test "$recvfrom_type_arg6" = "void"; then
+        AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG6_IS_VOID, 1,
+          [Define to 1 if the type pointed by arg 6 for recvfrom is void.])
+      fi
+      #
+      case $prev_sh_opts in
+        *f*)
+          ;;
+        *)
+          set +f
+          ;;
+      esac
+      #
+      AC_DEFINE_UNQUOTED(HAVE_RECVFROM, 1,
+        [Define to 1 if you have the recvfrom function.])
+      ac_cv_func_recvfrom="yes"
+    fi
+  else
+    AC_MSG_WARN([Unable to link function recvfrom])
+  fi
+])
+
+
+dnl CURL_CHECK_MSG_NOSIGNAL
+dnl -------------------------------------------------
+dnl Check for MSG_NOSIGNAL
+
+AC_DEFUN([CURL_CHECK_MSG_NOSIGNAL], [
+  AC_CHECK_HEADERS(sys/types.h sys/socket.h)
+  AC_CACHE_CHECK([for MSG_NOSIGNAL], [ac_cv_msg_nosignal], [
+    AC_COMPILE_IFELSE([
+      AC_LANG_PROGRAM([[
+#undef inline
+#ifdef HAVE_WINDOWS_H
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#else
+#ifdef HAVE_WINSOCK_H
+#include <winsock.h>
+#endif
+#endif
+#else
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#endif
+      ]],[[
+        int flag=MSG_NOSIGNAL;
+      ]])
+    ],[
+      ac_cv_msg_nosignal="yes"
+    ],[
+      ac_cv_msg_nosignal="no"
+    ])
+  ])
+  case "$ac_cv_msg_nosignal" in
+    yes)
+      AC_DEFINE_UNQUOTED(HAVE_MSG_NOSIGNAL, 1,
+        [Define to 1 if you have the MSG_NOSIGNAL flag.])
+      ;;
+  esac
+])
+
+
+dnl CURL_CHECK_STRUCT_TIMEVAL
+dnl -------------------------------------------------
+dnl Check for timeval struct
+
+AC_DEFUN([CURL_CHECK_STRUCT_TIMEVAL], [
+  AC_REQUIRE([AC_HEADER_TIME])dnl
+  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK])dnl
+  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
+  AC_CHECK_HEADERS(sys/types.h sys/time.h time.h sys/socket.h)
+  AC_CACHE_CHECK([for struct timeval], [ac_cv_struct_timeval], [
+    AC_COMPILE_IFELSE([
+      AC_LANG_PROGRAM([[
+#undef inline
+#ifdef HAVE_WINDOWS_H
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#else
+#ifdef HAVE_WINSOCK_H
+#include <winsock.h>
+#endif
+#endif
+#endif
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#ifdef TIME_WITH_SYS_TIME
+#include <time.h>
+#endif
+#else
+#ifdef HAVE_TIME_H
+#include <time.h>
+#endif
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+      ]],[[
+        struct timeval ts;
+        ts.tv_sec  = 0;
+        ts.tv_usec = 0;
+      ]])
+    ],[
+      ac_cv_struct_timeval="yes"
+    ],[
+      ac_cv_struct_timeval="no"
+    ])
+  ])
+  case "$ac_cv_struct_timeval" in
+    yes)
+      AC_DEFINE_UNQUOTED(HAVE_STRUCT_TIMEVAL, 1,
+        [Define to 1 if you have the timeval struct.])
+      ;;
+  esac
+])
+
+
+dnl TYPE_SIG_ATOMIC_T
+dnl -------------------------------------------------
+dnl Check if the sig_atomic_t type is available, and
+dnl verify if it is already defined as volatile.
+
+AC_DEFUN([TYPE_SIG_ATOMIC_T], [
+  AC_CHECK_HEADERS(signal.h)
+  AC_CHECK_TYPE([sig_atomic_t],[
+    AC_DEFINE(HAVE_SIG_ATOMIC_T, 1,
+      [Define to 1 if sig_atomic_t is an available typedef.])
+  ], ,[
+#ifdef HAVE_SIGNAL_H
+#include <signal.h>
+#endif
+  ])
+  case "$ac_cv_type_sig_atomic_t" in
+    yes)
+      #
+      AC_MSG_CHECKING([if sig_atomic_t is already defined as volatile])
+      AC_LINK_IFELSE([
+        AC_LANG_PROGRAM([[
+#ifdef HAVE_SIGNAL_H
+#include <signal.h>
+#endif
+        ]],[[
+          static volatile sig_atomic_t dummy = 0;
+        ]])
+      ],[
+        AC_MSG_RESULT([no])
+        ac_cv_sig_atomic_t_volatile="no"
+      ],[
+        AC_MSG_RESULT([yes])
+        ac_cv_sig_atomic_t_volatile="yes"
+      ])
+      #
+      if test "$ac_cv_sig_atomic_t_volatile" = "yes"; then
+        AC_DEFINE(HAVE_SIG_ATOMIC_T_VOLATILE, 1,
+          [Define to 1 if sig_atomic_t is already defined as volatile.])
+      fi
+      ;;
+  esac
+])
+
+
+dnl TYPE_IN_ADDR_T
+dnl -------------------------------------------------
+dnl Check for in_addr_t: it is used to receive the return code of inet_addr()
+dnl and a few other things.
+
+AC_DEFUN([TYPE_IN_ADDR_T], [
+  AC_CHECK_TYPE([in_addr_t], ,[
+    dnl in_addr_t not available
+    AC_CACHE_CHECK([for in_addr_t equivalent],
+      [curl_cv_in_addr_t_equiv], [
+      curl_cv_in_addr_t_equiv="unknown"
+      for t in "unsigned long" int size_t unsigned long; do
+        if test "$curl_cv_in_addr_t_equiv" = "unknown"; then
+          AC_LINK_IFELSE([
+            AC_LANG_PROGRAM([[
+#undef inline
+#ifdef HAVE_WINDOWS_H
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#else
+#ifdef HAVE_WINSOCK_H
+#include <winsock.h>
+#endif
+#endif
+#else
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+#ifdef HAVE_ARPA_INET_H
+#include <arpa/inet.h>
+#endif
+#endif
+            ]],[[
+              $t data = inet_addr ("1.2.3.4");
+            ]])
+          ],[
+            curl_cv_in_addr_t_equiv="$t"
+          ])
+        fi
+      done
+    ])
+    case "$curl_cv_in_addr_t_equiv" in
+      unknown)
+        AC_MSG_ERROR([Cannot find a type to use in place of in_addr_t])
+        ;;
+      *)
+        AC_DEFINE_UNQUOTED(in_addr_t, $curl_cv_in_addr_t_equiv,
+          [Type to use in place of in_addr_t when system does not provide it.])
+        ;;
+    esac
+  ],[
+#undef inline
+#ifdef HAVE_WINDOWS_H
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#else
+#ifdef HAVE_WINSOCK_H
+#include <winsock.h>
+#endif
+#endif
+#else
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+#ifdef HAVE_ARPA_INET_H
+#include <arpa/inet.h>
+#endif
+#endif
+  ])
+])
+
+
+dnl CURL_CHECK_FUNC_CLOCK_GETTIME_MONOTONIC
+dnl -------------------------------------------------
+dnl Check if monotonic clock_gettime is available.
+
+AC_DEFUN([CURL_CHECK_FUNC_CLOCK_GETTIME_MONOTONIC], [
+  AC_REQUIRE([AC_HEADER_TIME])dnl
+  AC_CHECK_HEADERS(sys/types.h sys/time.h time.h)
+  AC_MSG_CHECKING([for monotonic clock_gettime])
+  AC_COMPILE_IFELSE([
+    AC_LANG_PROGRAM([[
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#ifdef TIME_WITH_SYS_TIME
+#include <time.h>
+#endif
+#else
+#ifdef HAVE_TIME_H
+#include <time.h>
+#endif
+#endif
+    ]],[[
+      struct timespec ts;
+      (void)clock_gettime(CLOCK_MONOTONIC, &ts);
+    ]])
+  ],[
+    AC_MSG_RESULT([yes])
+    ac_cv_func_clock_gettime="yes"
+  ],[
+    AC_MSG_RESULT([no])
+    ac_cv_func_clock_gettime="no"
+  ])
+  dnl Definition of HAVE_CLOCK_GETTIME_MONOTONIC is intentionally postponed
+  dnl until library linking and run-time checks for clock_gettime succeed.
+])
+
+
+dnl CURL_CHECK_LIBS_CLOCK_GETTIME_MONOTONIC
+dnl -------------------------------------------------
+dnl If monotonic clock_gettime is available then,
+dnl check and prepended to LIBS any needed libraries.
+
+AC_DEFUN([CURL_CHECK_LIBS_CLOCK_GETTIME_MONOTONIC], [
+  AC_REQUIRE([CURL_CHECK_FUNC_CLOCK_GETTIME_MONOTONIC])dnl
+  #
+  if test "$ac_cv_func_clock_gettime" = "yes"; then
+    #
+    AC_MSG_CHECKING([for clock_gettime in libraries])
+    #
+    curl_cv_save_LIBS="$LIBS"
+    curl_cv_gclk_LIBS="unknown"
+    #
+    for x_xlibs in '' '-lrt' '-lposix4' ; do
+      if test "$curl_cv_gclk_LIBS" = "unknown"; then
+        if test -z "$x_xlibs"; then
+          LIBS="$curl_cv_save_LIBS"
+        else
+          LIBS="$x_xlibs $curl_cv_save_LIBS"
+        fi
+        AC_LINK_IFELSE([
+          AC_LANG_PROGRAM([[
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#ifdef TIME_WITH_SYS_TIME
+#include <time.h>
+#endif
+#else
+#ifdef HAVE_TIME_H
+#include <time.h>
+#endif
+#endif
+          ]],[[
+            struct timespec ts;
+            (void)clock_gettime(CLOCK_MONOTONIC, &ts);
+          ]])
+        ],[
+          curl_cv_gclk_LIBS="$x_xlibs"
+        ])
+      fi
+    done
+    #
+    LIBS="$curl_cv_save_LIBS"
+    #
+    case X-"$curl_cv_gclk_LIBS" in
+      X-unknown)
+        AC_MSG_RESULT([cannot find clock_gettime])
+        AC_MSG_WARN([HAVE_CLOCK_GETTIME_MONOTONIC will not be defined])
+        ac_cv_func_clock_gettime="no"
+        ;;
+      X-)
+        AC_MSG_RESULT([no additional lib required])
+        ac_cv_func_clock_gettime="yes"
+        ;;
+      *)
+        if test -z "$curl_cv_save_LIBS"; then
+          LIBS="$curl_cv_gclk_LIBS"
+        else
+          LIBS="$curl_cv_gclk_LIBS $curl_cv_save_LIBS"
+        fi
+        CURL_LIBS="$CURL_LIBS $curl_cv_gclk_LIBS"
+        AC_MSG_RESULT([$curl_cv_gclk_LIBS])
+        ac_cv_func_clock_gettime="yes"
+        ;;
+    esac
+    #
+    dnl only do runtime verification when not cross-compiling
+    if test "x$cross_compiling" != "xyes" &&
+      test "$ac_cv_func_clock_gettime" = "yes"; then
+      AC_MSG_CHECKING([if monotonic clock_gettime works])
+      AC_RUN_IFELSE([
+        AC_LANG_PROGRAM([[
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#ifdef TIME_WITH_SYS_TIME
+#include <time.h>
+#endif
+#else
+#ifdef HAVE_TIME_H
+#include <time.h>
+#endif
+#endif
+        ]],[[
+          struct timespec ts;
+          if (0 == clock_gettime(CLOCK_MONOTONIC, &ts))
+            exit(0);
+          else
+            exit(1);
+        ]])
+      ],[
+        AC_MSG_RESULT([yes])
+      ],[
+        AC_MSG_RESULT([no])
+        AC_MSG_WARN([HAVE_CLOCK_GETTIME_MONOTONIC will not be defined])
+        ac_cv_func_clock_gettime="no"
+        LIBS="$curl_cv_save_LIBS"
+      ])
+    fi
+    #
+    case "$ac_cv_func_clock_gettime" in
+      yes)
+        AC_DEFINE_UNQUOTED(HAVE_CLOCK_GETTIME_MONOTONIC, 1,
+          [Define to 1 if you have the clock_gettime function and monotonic timer.])
+        ;;
+    esac
+    #
+  fi
+  #
+])
+
+
+dnl CURL_CHECK_LIBS_CONNECT
+dnl -------------------------------------------------
+dnl Verify if network connect function is already available
+dnl using current libraries or if another one is required.
+
+AC_DEFUN([CURL_CHECK_LIBS_CONNECT], [
+  AC_REQUIRE([CURL_INCLUDES_WINSOCK2])dnl
+  AC_MSG_CHECKING([for connect in libraries])
+  tst_connect_save_LIBS="$LIBS"
+  tst_connect_need_LIBS="unknown"
+  for tst_lib in '' '-lsocket' ; do
+    if test "$tst_connect_need_LIBS" = "unknown"; then
+      LIBS="$tst_lib $tst_connect_save_LIBS"
+      AC_LINK_IFELSE([
+        AC_LANG_PROGRAM([[
+          $curl_includes_winsock2
+          #ifndef HAVE_WINDOWS_H
+            int connect(int, void*, int);
+          #endif
+        ]],[[
+          if(0 != connect(0, 0, 0))
+            return 1;
+        ]])
+      ],[
+        tst_connect_need_LIBS="$tst_lib"
+      ])
+    fi
+  done
+  LIBS="$tst_connect_save_LIBS"
+  #
+  case X-"$tst_connect_need_LIBS" in
+    X-unknown)
+      AC_MSG_RESULT([cannot find connect])
+      AC_MSG_ERROR([cannot find connect function in libraries.])
+      ;;
+    X-)
+      AC_MSG_RESULT([yes])
+      ;;
+    *)
+      AC_MSG_RESULT([$tst_connect_need_LIBS])
+      LIBS="$tst_connect_need_LIBS $tst_connect_save_LIBS"
+      ;;
+  esac
+])
+
+
+dnl CURL_DEFINE_UNQUOTED (VARIABLE, [VALUE])
+dnl -------------------------------------------------
+dnl Like AC_DEFINE_UNQUOTED this macro will define a C preprocessor
+dnl symbol that can be further used in custom template configuration
+dnl files. This macro, unlike AC_DEFINE_UNQUOTED, does not use a third
+dnl argument for the description. Symbol definitions done with this
+dnl macro are intended to be exclusively used in handcrafted *.h.in
+dnl template files. Contrary to what AC_DEFINE_UNQUOTED does, this one
+dnl prevents autoheader generation and insertion of symbol template
+dnl stub and definition into the first configuration header file. Do
+dnl not use this macro as a replacement for AC_DEFINE_UNQUOTED, each
+dnl one serves different functional needs.
+
+AC_DEFUN([CURL_DEFINE_UNQUOTED], [
+cat >>confdefs.h <<_EOF
+[@%:@define] $1 ifelse($#, 2, [$2], 1)
+_EOF
+])
+
+
+dnl CURL_CONFIGURE_LONG
+dnl -------------------------------------------------
+dnl Find out the size of long as reported by sizeof() and define
+dnl CURL_SIZEOF_LONG as appropriate to be used in template file
+dnl include/curl/curlbuild.h.in to properly configure the library.
+dnl The size of long is a build time characteristic and as such
+dnl must be recorded in curlbuild.h
+
+AC_DEFUN([CURL_CONFIGURE_LONG], [
+  if test -z "$ac_cv_sizeof_long" ||
+    test "$ac_cv_sizeof_long" -eq "0"; then
+    AC_MSG_ERROR([cannot find out size of long.])
+  fi
+  CURL_DEFINE_UNQUOTED([CURL_SIZEOF_LONG], [$ac_cv_sizeof_long])
+])
+
+
+dnl CURL_CONFIGURE_CURL_SOCKLEN_T
+dnl -------------------------------------------------
+dnl Find out suitable curl_socklen_t data type definition and size, making
+dnl appropriate definitions for template file include/curl/curlbuild.h.in
+dnl to properly configure and use the library.
+dnl
+dnl The need for the curl_socklen_t definition arises mainly to properly
+dnl interface HP-UX systems which on one hand have a typedef'ed socklen_t
+dnl data type which is 32 or 64-Bit wide depending on the data model being
+dnl used, and that on the other hand is only actually used when interfacing
+dnl the X/Open sockets provided in the xnet library.
+
+AC_DEFUN([CURL_CONFIGURE_CURL_SOCKLEN_T], [
+  AC_REQUIRE([CURL_INCLUDES_WS2TCPIP])dnl
+  AC_REQUIRE([CURL_INCLUDES_SYS_SOCKET])dnl
+  AC_REQUIRE([CURL_PREPROCESS_CALLCONV])dnl
+  #
+  AC_MSG_CHECKING([for curl_socklen_t data type])
+  curl_typeof_curl_socklen_t="unknown"
+  for arg1 in int SOCKET; do
+    for arg2 in 'struct sockaddr' void; do
+      for t in socklen_t int size_t 'unsigned int' long 'unsigned long' void; do
+        if test "$curl_typeof_curl_socklen_t" = "unknown"; then
+          AC_COMPILE_IFELSE([
+            AC_LANG_PROGRAM([[
+              $curl_includes_ws2tcpip
+              $curl_includes_sys_socket
+              $curl_preprocess_callconv
+              extern int FUNCALLCONV getpeername($arg1, $arg2 *, $t *);
+            ]],[[
+              $t *lenptr = 0;
+              if(0 != getpeername(0, 0, lenptr))
+                return 1;
+            ]])
+          ],[
+            curl_typeof_curl_socklen_t="$t"
+          ])
+        fi
+      done
+    done
+  done
+  for t in socklen_t int; do
+    if test "$curl_typeof_curl_socklen_t" = "void"; then
+      AC_COMPILE_IFELSE([
+        AC_LANG_PROGRAM([[
+          $curl_includes_sys_socket
+          typedef $t curl_socklen_t;
+        ]],[[
+          curl_socklen_t dummy;
+        ]])
+      ],[
+        curl_typeof_curl_socklen_t="$t"
+      ])
+    fi
+  done
+  AC_MSG_RESULT([$curl_typeof_curl_socklen_t])
+  if test "$curl_typeof_curl_socklen_t" = "void" ||
+    test "$curl_typeof_curl_socklen_t" = "unknown"; then
+    AC_MSG_ERROR([cannot find data type for curl_socklen_t.])
+  fi
+  #
+  AC_MSG_CHECKING([size of curl_socklen_t])
+  curl_sizeof_curl_socklen_t="unknown"
+  curl_pull_headers_socklen_t="unknown"
+  if test "$ac_cv_header_ws2tcpip_h" = "yes"; then
+    tst_pull_header_checks='none ws2tcpip'
+    tst_size_checks='4'
+  else
+    tst_pull_header_checks='none systypes syssocket'
+    tst_size_checks='4 8 2'
+  fi
+  for tst_size in $tst_size_checks; do
+    for tst_pull_headers in $tst_pull_header_checks; do
+      if test "$curl_sizeof_curl_socklen_t" = "unknown"; then
+        case $tst_pull_headers in
+          ws2tcpip)
+            tmp_includes="$curl_includes_ws2tcpip"
+            ;;
+          systypes)
+            tmp_includes="$curl_includes_sys_types"
+            ;;
+          syssocket)
+            tmp_includes="$curl_includes_sys_socket"
+            ;;
+          *)
+            tmp_includes=""
+            ;;
+        esac
+        AC_COMPILE_IFELSE([
+          AC_LANG_PROGRAM([[
+            $tmp_includes
+            typedef $curl_typeof_curl_socklen_t curl_socklen_t;
+            typedef char dummy_arr[sizeof(curl_socklen_t) == $tst_size ? 1 : -1];
+          ]],[[
+            curl_socklen_t dummy;
+          ]])
+        ],[
+          curl_sizeof_curl_socklen_t="$tst_size"
+          curl_pull_headers_socklen_t="$tst_pull_headers"
+        ])
+      fi
+    done
+  done
+  AC_MSG_RESULT([$curl_sizeof_curl_socklen_t])
+  if test "$curl_sizeof_curl_socklen_t" = "unknown"; then
+    AC_MSG_ERROR([cannot find out size of curl_socklen_t.])
+  fi
+  #
+  case $curl_pull_headers_socklen_t in
+    ws2tcpip)
+      CURL_DEFINE_UNQUOTED([CURL_PULL_WS2TCPIP_H])
+      ;;
+    systypes)
+      CURL_DEFINE_UNQUOTED([CURL_PULL_SYS_TYPES_H])
+      ;;
+    syssocket)
+      CURL_DEFINE_UNQUOTED([CURL_PULL_SYS_TYPES_H])
+      CURL_DEFINE_UNQUOTED([CURL_PULL_SYS_SOCKET_H])
+      ;;
+  esac
+  CURL_DEFINE_UNQUOTED([CURL_TYPEOF_CURL_SOCKLEN_T], [$curl_typeof_curl_socklen_t])
+  CURL_DEFINE_UNQUOTED([CURL_SIZEOF_CURL_SOCKLEN_T], [$curl_sizeof_curl_socklen_t])
+])
+
+
+dnl CURL_CHECK_FUNC_SELECT
+dnl -------------------------------------------------
+dnl Test if the socket select() function is available,
+dnl and check its return type and the types of its
+dnl arguments. If the function succeeds HAVE_SELECT
+dnl will be defined, defining the types of the
+dnl arguments in SELECT_TYPE_ARG1, SELECT_TYPE_ARG234
+dnl and SELECT_TYPE_ARG5, defining the type of the
+dnl function return value in SELECT_TYPE_RETV, and
+dnl also defining the type qualifier of fifth argument
+dnl in SELECT_QUAL_ARG5.
+
+AC_DEFUN([CURL_CHECK_FUNC_SELECT], [
+  AC_REQUIRE([CURL_CHECK_STRUCT_TIMEVAL])dnl
+  AC_CHECK_HEADERS(sys/select.h sys/socket.h)
+  #
+  AC_MSG_CHECKING([for select])
+  AC_LINK_IFELSE([
+    AC_LANG_PROGRAM([[
+#undef inline
+#ifdef HAVE_WINDOWS_H
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#else
+#ifdef HAVE_WINSOCK_H
+#include <winsock.h>
+#endif
+#endif
+#endif
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#ifdef TIME_WITH_SYS_TIME
+#include <time.h>
+#endif
+#else
+#ifdef HAVE_TIME_H
+#include <time.h>
+#endif
+#endif
+#ifndef HAVE_WINDOWS_H
+#ifdef HAVE_SYS_SELECT_H
+#include <sys/select.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#endif
+    ]],[[
+      select(0, 0, 0, 0, 0);
+    ]])
+  ],[
+    AC_MSG_RESULT([yes])
+    curl_cv_select="yes"
+  ],[
+    AC_MSG_RESULT([no])
+    curl_cv_select="no"
+  ])
+  #
+  if test "$curl_cv_select" = "yes"; then
+    AC_CACHE_CHECK([types of args and return type for select],
+      [curl_cv_func_select_args], [
+      curl_cv_func_select_args="unknown"
+      for sel_retv in 'int' 'ssize_t'; do
+        for sel_arg1 in 'int' 'ssize_t' 'size_t' 'unsigned long int' 'unsigned int'; do
+          for sel_arg234 in 'fd_set *' 'int *' 'void *'; do
+            for sel_arg5 in 'struct timeval *' 'const struct timeval *'; do
+              if test "$curl_cv_func_select_args" = "unknown"; then
+                AC_COMPILE_IFELSE([
+                  AC_LANG_PROGRAM([[
+#undef inline
+#ifdef HAVE_WINDOWS_H
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include <windows.h>
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#else
+#ifdef HAVE_WINSOCK_H
+#include <winsock.h>
+#endif
+#endif
+#define SELECTCALLCONV PASCAL
+#endif
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#ifdef TIME_WITH_SYS_TIME
+#include <time.h>
+#endif
+#else
+#ifdef HAVE_TIME_H
+#include <time.h>
+#endif
+#endif
+#ifndef HAVE_WINDOWS_H
+#ifdef HAVE_SYS_SELECT_H
+#include <sys/select.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#define SELECTCALLCONV
+#endif
+#ifndef HAVE_STRUCT_TIMEVAL
+                    struct timeval {
+                      long tv_sec;
+                      long tv_usec;
+                    };
+#endif
+                    extern $sel_retv SELECTCALLCONV select($sel_arg1,
+                                                           $sel_arg234,
+                                                           $sel_arg234,
+                                                           $sel_arg234,
+                                                           $sel_arg5);
+                  ]],[[
+                    $sel_arg1   nfds=0;
+                    $sel_arg234 rfds=0;
+                    $sel_arg234 wfds=0;
+                    $sel_arg234 efds=0;
+                    $sel_retv res = select(nfds, rfds, wfds, efds, 0);
+                  ]])
+                ],[
+                  curl_cv_func_select_args="$sel_arg1,$sel_arg234,$sel_arg5,$sel_retv"
+                ])
+              fi
+            done
+          done
+        done
+      done
+    ]) # AC-CACHE-CHECK
+    if test "$curl_cv_func_select_args" = "unknown"; then
+      AC_MSG_WARN([Cannot find proper types to use for select args])
+      AC_MSG_WARN([HAVE_SELECT will not be defined])
+    else
+      select_prev_IFS=$IFS; IFS=','
+      set dummy `echo "$curl_cv_func_select_args" | sed 's/\*/\*/g'`
+      IFS=$select_prev_IFS
+      shift
+      #
+      sel_qual_type_arg5=$[3]
+      #
+      AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG1, $[1],
+        [Define to the type of arg 1 for select.])
+      AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG234, $[2],
+        [Define to the type of args 2, 3 and 4 for select.])
+      AC_DEFINE_UNQUOTED(SELECT_TYPE_RETV, $[4],
+        [Define to the function return type for select.])
+      #
+      prev_sh_opts=$-
+      #
+      case $prev_sh_opts in
+        *f*)
+          ;;
+        *)
+          set -f
+          ;;
+      esac
+      #
+      case "$sel_qual_type_arg5" in
+        const*)
+          sel_qual_arg5=const
+          sel_type_arg5=`echo $sel_qual_type_arg5 | sed 's/^const //'`
+        ;;
+        *)
+          sel_qual_arg5=
+          sel_type_arg5=$sel_qual_type_arg5
+        ;;
+      esac
+      #
+      AC_DEFINE_UNQUOTED(SELECT_QUAL_ARG5, $sel_qual_arg5,
+        [Define to the type qualifier of arg 5 for select.])
+      AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG5, $sel_type_arg5,
+        [Define to the type of arg 5 for select.])
+      #
+      case $prev_sh_opts in
+        *f*)
+          ;;
+        *)
+          set +f
+          ;;
+      esac
+      #
+      AC_DEFINE_UNQUOTED(HAVE_SELECT, 1,
+        [Define to 1 if you have the select function.])
+      ac_cv_func_select="yes"
+    fi
+  fi
+])
+
+
+# This is only a temporary fix. This macro is here to replace the broken one
+# delivered by the automake project (including the 1.9.6 release). As soon as
+# they ship a working version we SHOULD remove this work-around.
+
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} \"$am_aux_dir/missing\""
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+
+dnl CURL_VERIFY_RUNTIMELIBS
+dnl -------------------------------------------------
+dnl Verify that the shared libs found so far can be used when running
+dnl programs, since otherwise the situation will create odd configure errors
+dnl that are misleading people.
+dnl
+dnl Make sure this test is run BEFORE the first test in the script that
+dnl runs anything, which at the time of this writing is the AC_CHECK_SIZEOF
+dnl macro. It must also run AFTER all lib-checking macros are complete.
+
+AC_DEFUN([CURL_VERIFY_RUNTIMELIBS], [
+
+  dnl this test is of course not sensible if we are cross-compiling!
+  if test "x$cross_compiling" != xyes; then
+
+    dnl just run a program to verify that the libs checked for previous to this
+    dnl point also is available run-time!
+    AC_MSG_CHECKING([run-time libs availability])
+    AC_TRY_RUN([
+main()
+{
+  return 0;
+}
+],
+    AC_MSG_RESULT([fine]),
+    AC_MSG_RESULT([failed])
+    AC_MSG_ERROR([one or more libs available at link-time are not available run-time. Libs used at link-time: $LIBS])
+    )
+
+    dnl if this test fails, configure has already stopped
+  fi
+])
+
+
+dnl CURL_CHECK_VARIADIC_MACROS
+dnl -------------------------------------------------
+dnl Check compiler support of variadic macros
+
+AC_DEFUN([CURL_CHECK_VARIADIC_MACROS], [
+  AC_CACHE_CHECK([for compiler support of C99 variadic macro style],
+    [curl_cv_variadic_macros_c99], [
+    AC_COMPILE_IFELSE([
+      AC_LANG_PROGRAM([[
+#define c99_vmacro3(first, ...) fun3(first, __VA_ARGS__)
+#define c99_vmacro2(first, ...) fun2(first, __VA_ARGS__)
+        int fun3(int arg1, int arg2, int arg3);
+        int fun2(int arg1, int arg2);
+        int fun3(int arg1, int arg2, int arg3)
+        { return arg1 + arg2 + arg3; }
+        int fun2(int arg1, int arg2)
+        { return arg1 + arg2; }
+      ]],[[
+        int res3 = c99_vmacro3(1, 2, 3);
+        int res2 = c99_vmacro2(1, 2);
+      ]])
+    ],[
+      curl_cv_variadic_macros_c99="yes"
+    ],[
+      curl_cv_variadic_macros_c99="no"
+    ])
+  ])
+  case "$curl_cv_variadic_macros_c99" in
+    yes)
+      AC_DEFINE_UNQUOTED(HAVE_VARIADIC_MACROS_C99, 1,
+        [Define to 1 if compiler supports C99 variadic macro style.])
+      ;;
+  esac
+  AC_CACHE_CHECK([for compiler support of old gcc variadic macro style],
+    [curl_cv_variadic_macros_gcc], [
+    AC_COMPILE_IFELSE([
+      AC_LANG_PROGRAM([[
+#define gcc_vmacro3(first, args...) fun3(first, args)
+#define gcc_vmacro2(first, args...) fun2(first, args)
+        int fun3(int arg1, int arg2, int arg3);
+        int fun2(int arg1, int arg2);
+        int fun3(int arg1, int arg2, int arg3)
+        { return arg1 + arg2 + arg3; }
+        int fun2(int arg1, int arg2)
+        { return arg1 + arg2; }
+      ]],[[
+        int res3 = gcc_vmacro3(1, 2, 3);
+        int res2 = gcc_vmacro2(1, 2);
+      ]])
+    ],[
+      curl_cv_variadic_macros_gcc="yes"
+    ],[
+      curl_cv_variadic_macros_gcc="no"
+    ])
+  ])
+  case "$curl_cv_variadic_macros_gcc" in
+    yes)
+      AC_DEFINE_UNQUOTED(HAVE_VARIADIC_MACROS_GCC, 1,
+        [Define to 1 if compiler supports old gcc variadic macro style.])
+      ;;
+  esac
+])
+
+
+dnl CURL_CHECK_CA_BUNDLE
+dnl -------------------------------------------------
+dnl Check if a default ca-bundle should be used
+dnl
+dnl regarding the paths this will scan:
+dnl /etc/ssl/certs/ca-certificates.crt Debian systems
+dnl /etc/pki/tls/certs/ca-bundle.crt Redhat and Mandriva
+dnl /usr/share/ssl/certs/ca-bundle.crt old(er) Redhat
+dnl /usr/local/share/certs/ca-root.crt FreeBSD
+dnl /etc/ssl/cert.pem OpenBSD
+dnl /etc/ssl/certs/ (ca path) SUSE
+
+AC_DEFUN([CURL_CHECK_CA_BUNDLE], [
+
+  AC_MSG_CHECKING([default CA cert bundle/path])
+
+  AC_ARG_WITH(ca-bundle,
+AC_HELP_STRING([--with-ca-bundle=FILE], [File name to use as CA bundle])
+AC_HELP_STRING([--without-ca-bundle], [Don't use a default CA bundle]),
+  [
+    want_ca="$withval"
+    if test "x$want_ca" = "xyes"; then
+      AC_MSG_ERROR([--with-ca-bundle=FILE requires a path to the CA bundle])
+    fi
+  ],
+  [ want_ca="unset" ])
+  AC_ARG_WITH(ca-path,
+AC_HELP_STRING([--with-ca-path=DIRECTORY], [Directory to use as CA path])
+AC_HELP_STRING([--without-ca-path], [Don't use a default CA path]),
+  [
+    want_capath="$withval"
+    if test "x$want_capath" = "xyes"; then
+      AC_MSG_ERROR([--with-ca-path=DIRECTORY requires a path to the CA path directory])
+    fi
+  ],
+  [ want_capath="unset"])
+
+  if test "x$want_ca" != "xno" -a "x$want_ca" != "xunset" -a \
+          "x$want_capath" != "xno" -a "x$want_capath" != "xunset"; then
+    dnl both given
+    AC_MSG_ERROR([Can't specify both --with-ca-bundle and --with-ca-path.])
+  elif test "x$want_ca" != "xno" -a "x$want_ca" != "xunset"; then
+    dnl --with-ca-bundle given
+    ca="$want_ca"
+    capath="no"
+  elif test "x$want_capath" != "xno" -a "x$want_capath" != "xunset"; then
+    dnl --with-ca-path given
+    if test "x$OPENSSL_ENABLED" != "x1"; then
+      AC_MSG_ERROR([--with-ca-path only works with openSSL])
+    fi
+    capath="$want_capath"
+    ca="no"
+  else
+    dnl neither of --with-ca-* given
+    dnl first try autodetecting a CA bundle , then a CA path
+    dnl both autodetections can be skipped by --without-ca-*
+    ca="no"
+    capath="no"
+    if test "x$want_ca" = "xunset"; then
+      dnl the path we previously would have installed the curl ca bundle
+      dnl to, and thus we now check for an already existing cert in that place
+      dnl in case we find no other
+      if test "x$prefix" != xNONE; then
+        cac="${prefix}/share/curl/curl-ca-bundle.crt"
+      else
+        cac="$ac_default_prefix/share/curl/curl-ca-bundle.crt"
+      fi
+
+      for a in /etc/ssl/certs/ca-certificates.crt \
+               /etc/pki/tls/certs/ca-bundle.crt \
+               /usr/share/ssl/certs/ca-bundle.crt \
+               /usr/local/share/certs/ca-root.crt \
+               /etc/ssl/cert.pem \
+               "$cac"; do
+        if test -f "$a"; then
+          ca="$a"
+          break
+        fi
+      done
+    fi
+    if test "x$want_capath" = "xunset" -a "x$ca" = "xno" -a \
+            "x$OPENSSL_ENABLED" = "x1"; then
+      for a in /etc/ssl/certs/; do
+        if test -d "$a" && ls "$a"/[[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]].0 >/dev/null 2>/dev/null; then
+          capath="$a"
+          break
+        fi
+      done
+    fi
+  fi
+
+
+
+  if test "x$ca" != "xno"; then
+    CURL_CA_BUNDLE='"'$ca'"'
+    AC_DEFINE_UNQUOTED(CURL_CA_BUNDLE, "$ca", [Location of default ca bundle])
+    AC_SUBST(CURL_CA_BUNDLE)
+    AC_MSG_RESULT([$ca])
+  elif test "x$capath" != "xno"; then
+    CURL_CA_PATH="\"$capath\""
+    AC_DEFINE_UNQUOTED(CURL_CA_PATH, "$capath", [Location of default ca path])
+    AC_MSG_RESULT([$capath (capath)])
+  else
+    AC_MSG_RESULT([no])
+  fi
+])
+
+
+dnl DO_CURL_OFF_T_CHECK (TYPE, SIZE)
+dnl -------------------------------------------------
+dnl Internal macro for CURL_CONFIGURE_CURL_OFF_T
+
+AC_DEFUN([DO_CURL_OFF_T_CHECK], [
+  AC_REQUIRE([CURL_INCLUDES_INTTYPES])dnl
+  if test "$curl_typeof_curl_off_t" = "unknown" && test ! -z "$1"; then
+    tmp_includes=""
+    tmp_source=""
+    tmp_fmt=""
+    case XC_SH_TR_SH([$1]) in
+      int64_t)
+        tmp_includes="$curl_includes_inttypes"
+        tmp_source="char f@<:@@:>@ = PRId64;"
+        tmp_fmt="PRId64"
+        ;;
+      int32_t)
+        tmp_includes="$curl_includes_inttypes"
+        tmp_source="char f@<:@@:>@ = PRId32;"
+        tmp_fmt="PRId32"
+        ;;
+      int16_t)
+        tmp_includes="$curl_includes_inttypes"
+        tmp_source="char f@<:@@:>@ = PRId16;"
+        tmp_fmt="PRId16"
+        ;;
+    esac
+    AC_COMPILE_IFELSE([
+      AC_LANG_PROGRAM([[
+        $tmp_includes
+        typedef $1 curl_off_t;
+        typedef char dummy_arr[sizeof(curl_off_t) == $2 ? 1 : -1];
+      ]],[[
+        $tmp_source
+        curl_off_t dummy;
+      ]])
+    ],[
+      if test -z "$tmp_fmt"; then
+        curl_typeof_curl_off_t="$1"
+        curl_sizeof_curl_off_t="$2"
+      else
+        CURL_CHECK_DEF([$tmp_fmt], [$curl_includes_inttypes], [silent])
+        AS_VAR_PUSHDEF([tmp_HaveFmtDef], [curl_cv_have_def_$tmp_fmt])dnl
+        AS_VAR_PUSHDEF([tmp_FmtDef], [curl_cv_def_$tmp_fmt])dnl
+        if test AS_VAR_GET(tmp_HaveFmtDef) = "yes"; then
+          curl_format_curl_off_t=AS_VAR_GET(tmp_FmtDef)
+          curl_typeof_curl_off_t="$1"
+          curl_sizeof_curl_off_t="$2"
+        fi
+        AS_VAR_POPDEF([tmp_FmtDef])dnl
+        AS_VAR_POPDEF([tmp_HaveFmtDef])dnl
+      fi
+    ])
+  fi
+])
+
+
+dnl DO_CURL_OFF_T_SUFFIX_CHECK (TYPE)
+dnl -------------------------------------------------
+dnl Internal macro for CURL_CONFIGURE_CURL_OFF_T
+
+AC_DEFUN([DO_CURL_OFF_T_SUFFIX_CHECK], [
+  AC_REQUIRE([CURL_INCLUDES_INTTYPES])dnl
+  AC_MSG_CHECKING([constant suffix string for curl_off_t])
+  #
+  curl_suffix_curl_off_t="unknown"
+  curl_suffix_curl_off_tu="unknown"
+  #
+  case XC_SH_TR_SH([$1]) in
+    long_long | __longlong | __longlong_t)
+      tst_suffixes="LL::"
+      ;;
+    long)
+      tst_suffixes="L::"
+      ;;
+    int)
+      tst_suffixes="::"
+      ;;
+    __int64 | int64_t)
+      tst_suffixes="LL:i64::"
+      ;;
+    __int32 | int32_t)
+      tst_suffixes="L:i32::"
+      ;;
+    __int16 | int16_t)
+      tst_suffixes="L:i16::"
+      ;;
+    *)
+      AC_MSG_ERROR([unexpected data type $1])
+      ;;
+  esac
+  #
+  old_IFS=$IFS; IFS=':'
+  for tmp_ssuf in $tst_suffixes ; do
+    IFS=$old_IFS
+    if test "x$curl_suffix_curl_off_t" = "xunknown"; then
+      case $tmp_ssuf in
+        i64 | i32 | i16)
+          tmp_usuf="u$tmp_ssuf"
+          ;;
+        LL | L)
+          tmp_usuf="U$tmp_ssuf"
+          ;;
+        *)
+          tmp_usuf=""
+          ;;
+      esac
+      AC_COMPILE_IFELSE([
+        AC_LANG_PROGRAM([[
+          $curl_includes_inttypes
+          typedef $1 new_t;
+        ]],[[
+          new_t s1;
+          new_t s2;
+          s1 = -10$tmp_ssuf ;
+          s2 =  20$tmp_ssuf ;
+          if(s1 > s2)
+            return 1;
+        ]])
+      ],[
+        curl_suffix_curl_off_t="$tmp_ssuf"
+        curl_suffix_curl_off_tu="$tmp_usuf"
+      ])
+    fi
+  done
+  IFS=$old_IFS
+  #
+  if test "x$curl_suffix_curl_off_t" = "xunknown"; then
+    AC_MSG_ERROR([cannot find constant suffix string for curl_off_t.])
+  else
+    AC_MSG_RESULT([$curl_suffix_curl_off_t])
+    AC_MSG_CHECKING([constant suffix string for unsigned curl_off_t])
+    AC_MSG_RESULT([$curl_suffix_curl_off_tu])
+  fi
+  #
+])
+
+
+dnl CURL_CONFIGURE_CURL_OFF_T
+dnl -------------------------------------------------
+dnl Find out suitable curl_off_t data type definition and associated
+dnl items, and make the appropriate definitions used in template file
+dnl include/curl/curlbuild.h.in to properly configure the library.
+
+AC_DEFUN([CURL_CONFIGURE_CURL_OFF_T], [
+  AC_REQUIRE([CURL_INCLUDES_INTTYPES])dnl
+  #
+  AC_BEFORE([$0],[AC_SYS_LARGEFILE])dnl
+  AC_BEFORE([$0],[CURL_CONFIGURE_REENTRANT])dnl
+  AC_BEFORE([$0],[CURL_CHECK_AIX_ALL_SOURCE])dnl
+  #
+  if test -z "$SED"; then
+    AC_MSG_ERROR([SED not set. Cannot continue without SED being set.])
+  fi
+  #
+  AC_CHECK_SIZEOF(long)
+  AC_CHECK_SIZEOF(void*)
+  #
+  if test -z "$ac_cv_sizeof_long" ||
+    test "$ac_cv_sizeof_long" -eq "0"; then
+    AC_MSG_ERROR([cannot find out size of long.])
+  fi
+  if test -z "$ac_cv_sizeof_voidp" ||
+     test "$ac_cv_sizeof_voidp" -eq "0"; then
+    AC_MSG_ERROR([cannot find out size of void*.])
+  fi
+  #
+  x_LP64_long=""
+  x_LP32_long=""
+  x_LP16_long=""
+  #
+  if test "$ac_cv_sizeof_long" -eq "8" &&
+     test "$ac_cv_sizeof_voidp" -ge "8"; then
+    x_LP64_long="long"
+  elif test "$ac_cv_sizeof_long" -eq "4" &&
+       test "$ac_cv_sizeof_voidp" -ge "4"; then
+    x_LP32_long="long"
+  elif test "$ac_cv_sizeof_long" -eq "2" &&
+       test "$ac_cv_sizeof_voidp" -ge "2"; then
+    x_LP16_long="long"
+  fi
+  #
+  dnl DO_CURL_OFF_T_CHECK results are stored in next 3 vars
+  #
+  curl_typeof_curl_off_t="unknown"
+  curl_sizeof_curl_off_t="unknown"
+  curl_format_curl_off_t="unknown"
+  curl_format_curl_off_tu="unknown"
+  #
+  if test "$curl_typeof_curl_off_t" = "unknown"; then
+    AC_MSG_CHECKING([for 64-bit curl_off_t data type])
+    for t8 in          \
+      "$x_LP64_long"   \
+      'int64_t'        \
+      '__int64'        \
+      'long long'      \
+      '__longlong'     \
+      '__longlong_t'   ; do
+      DO_CURL_OFF_T_CHECK([$t8], [8])
+    done
+    AC_MSG_RESULT([$curl_typeof_curl_off_t])
+  fi
+  if test "$curl_typeof_curl_off_t" = "unknown"; then
+    AC_MSG_CHECKING([for 32-bit curl_off_t data type])
+    for t4 in          \
+      "$x_LP32_long"   \
+      'int32_t'        \
+      '__int32'        \
+      'int'            ; do
+      DO_CURL_OFF_T_CHECK([$t4], [4])
+    done
+    AC_MSG_RESULT([$curl_typeof_curl_off_t])
+  fi
+  if test "$curl_typeof_curl_off_t" = "unknown"; then
+    AC_MSG_CHECKING([for 16-bit curl_off_t data type])
+    for t2 in          \
+      "$x_LP16_long"   \
+      'int16_t'        \
+      '__int16'        \
+      'int'            ; do
+      DO_CURL_OFF_T_CHECK([$t2], [2])
+    done
+    AC_MSG_RESULT([$curl_typeof_curl_off_t])
+  fi
+  if test "$curl_typeof_curl_off_t" = "unknown"; then
+    AC_MSG_ERROR([cannot find data type for curl_off_t.])
+  fi
+  #
+  AC_MSG_CHECKING([size of curl_off_t])
+  AC_MSG_RESULT([$curl_sizeof_curl_off_t])
+  #
+  AC_MSG_CHECKING([formatting string directive for curl_off_t])
+  if test "$curl_format_curl_off_t" != "unknown"; then
+    x_pull_headers="yes"
+    curl_format_curl_off_t=`echo "$curl_format_curl_off_t" | "$SED" 's/[["]]//g'`
+    curl_format_curl_off_tu=`echo "$curl_format_curl_off_t" | "$SED" 's/i$/u/'`
+    curl_format_curl_off_tu=`echo "$curl_format_curl_off_tu" | "$SED" 's/d$/u/'`
+    curl_format_curl_off_tu=`echo "$curl_format_curl_off_tu" | "$SED" 's/D$/U/'`
+  else
+    x_pull_headers="no"
+    case XC_SH_TR_SH([$curl_typeof_curl_off_t]) in
+      long_long | __longlong | __longlong_t)
+        curl_format_curl_off_t="lld"
+        curl_format_curl_off_tu="llu"
+        ;;
+      long)
+        curl_format_curl_off_t="ld"
+        curl_format_curl_off_tu="lu"
+        ;;
+      int)
+        curl_format_curl_off_t="d"
+        curl_format_curl_off_tu="u"
+        ;;
+      __int64)
+        curl_format_curl_off_t="I64d"
+        curl_format_curl_off_tu="I64u"
+        ;;
+      __int32)
+        curl_format_curl_off_t="I32d"
+        curl_format_curl_off_tu="I32u"
+        ;;
+      __int16)
+        curl_format_curl_off_t="I16d"
+        curl_format_curl_off_tu="I16u"
+        ;;
+      *)
+        AC_MSG_ERROR([cannot find print format string for curl_off_t.])
+        ;;
+    esac
+  fi
+  AC_MSG_RESULT(["$curl_format_curl_off_t"])
+  #
+  AC_MSG_CHECKING([formatting string directive for unsigned curl_off_t])
+  AC_MSG_RESULT(["$curl_format_curl_off_tu"])
+  #
+  DO_CURL_OFF_T_SUFFIX_CHECK([$curl_typeof_curl_off_t])
+  #
+  if test "$x_pull_headers" = "yes"; then
+    if test "x$ac_cv_header_sys_types_h" = "xyes"; then
+      CURL_DEFINE_UNQUOTED([CURL_PULL_SYS_TYPES_H])
+    fi
+    if test "x$ac_cv_header_stdint_h" = "xyes"; then
+      CURL_DEFINE_UNQUOTED([CURL_PULL_STDINT_H])
+    fi
+    if test "x$ac_cv_header_inttypes_h" = "xyes"; then
+      CURL_DEFINE_UNQUOTED([CURL_PULL_INTTYPES_H])
+    fi
+  fi
+  #
+  CURL_DEFINE_UNQUOTED([CURL_TYPEOF_CURL_OFF_T], [$curl_typeof_curl_off_t])
+  CURL_DEFINE_UNQUOTED([CURL_FORMAT_CURL_OFF_T], ["$curl_format_curl_off_t"])
+  CURL_DEFINE_UNQUOTED([CURL_FORMAT_CURL_OFF_TU], ["$curl_format_curl_off_tu"])
+  CURL_DEFINE_UNQUOTED([CURL_FORMAT_OFF_T], ["%$curl_format_curl_off_t"])
+  CURL_DEFINE_UNQUOTED([CURL_SIZEOF_CURL_OFF_T], [$curl_sizeof_curl_off_t])
+  CURL_DEFINE_UNQUOTED([CURL_SUFFIX_CURL_OFF_T], [$curl_suffix_curl_off_t])
+  CURL_DEFINE_UNQUOTED([CURL_SUFFIX_CURL_OFF_TU], [$curl_suffix_curl_off_tu])
+  #
+])
+
+
+dnl CURL_CHECK_WIN32_LARGEFILE
+dnl -------------------------------------------------
+dnl Check if curl's WIN32 large file will be used
+
+AC_DEFUN([CURL_CHECK_WIN32_LARGEFILE], [
+  AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl
+  AC_MSG_CHECKING([whether build target supports WIN32 file API])
+  curl_win32_file_api="no"
+  if test "$ac_cv_header_windows_h" = "yes"; then
+    if test x"$enable_largefile" != "xno"; then
+      AC_COMPILE_IFELSE([
+        AC_LANG_PROGRAM([[
+        ]],[[
+#if !defined(_WIN32_WCE) && \
+    (defined(__MINGW32__) || \
+    (defined(_MSC_VER) && (defined(_WIN32) || defined(_WIN64))))
+          int dummy=1;
+#else
+          WIN32 large file API not supported.
+#endif
+        ]])
+      ],[
+        curl_win32_file_api="win32_large_files"
+      ])
+    fi
+    if test "$curl_win32_file_api" = "no"; then
+      AC_COMPILE_IFELSE([
+        AC_LANG_PROGRAM([[
+        ]],[[
+#if defined(_WIN32_WCE) || defined(__MINGW32__) || defined(_MSC_VER)
+          int dummy=1;
+#else
+          WIN32 small file API not supported.
+#endif
+        ]])
+      ],[
+        curl_win32_file_api="win32_small_files"
+      ])
+    fi
+  fi
+  case "$curl_win32_file_api" in
+    win32_large_files)
+      AC_MSG_RESULT([yes (large file enabled)])
+      AC_DEFINE_UNQUOTED(USE_WIN32_LARGE_FILES, 1,
+        [Define to 1 if you are building a Windows target with large file support.])
+      ;;
+    win32_small_files)
+      AC_MSG_RESULT([yes (large file disabled)])
+      AC_DEFINE_UNQUOTED(USE_WIN32_SMALL_FILES, 1,
+        [Define to 1 if you are building a Windows target without large file support.])
+      ;;
+    *)
+      AC_MSG_RESULT([no])
+      ;;
+  esac
+])
+
+dnl CURL_EXPORT_PCDIR ($pcdir)
+dnl ------------------------
+dnl if $pcdir is not empty, set PKG_CONFIG_LIBDIR to $pcdir and export
+dnl
+dnl we need this macro since pkg-config distinguishes among empty and unset
+dnl variable while checking PKG_CONFIG_LIBDIR
+dnl
+
+AC_DEFUN([CURL_EXPORT_PCDIR], [
+    if test -n "$1"; then
+      PKG_CONFIG_LIBDIR="$1"
+      export PKG_CONFIG_LIBDIR
+    fi
+])
+
+dnl CURL_CHECK_PKGCONFIG ($module, [$pcdir])
+dnl ------------------------
+dnl search for the pkg-config tool (if not cross-compiling). Set the PKGCONFIG
+dnl variable to hold the path to it, or 'no' if not found/present.
+dnl
+dnl If pkg-config is present, check that it has info about the $module or
+dnl return "no" anyway!
+dnl
+dnl Optionally PKG_CONFIG_LIBDIR may be given as $pcdir.
+dnl
+
+AC_DEFUN([CURL_CHECK_PKGCONFIG], [
+
+    PKGCONFIG="no"
+
+    if test x$cross_compiling = xyes; then
+      dnl see if there's a pkg-specific for this host setup
+      AC_PATH_PROG( PKGCONFIG, ${host}-pkg-config, no,
+                    $PATH:/usr/bin:/usr/local/bin)
+    fi
+
+    if test x$PKGCONFIG = xno; then
+      AC_PATH_PROG( PKGCONFIG, pkg-config, no, $PATH:/usr/bin:/usr/local/bin)
+    fi
+
+    if test x$PKGCONFIG != xno; then
+      AC_MSG_CHECKING([for $1 options with pkg-config])
+      dnl ask pkg-config about $1
+      itexists=`CURL_EXPORT_PCDIR([$2]) dnl
+        $PKGCONFIG --exists $1 >/dev/null 2>&1 && echo 1`
+
+      if test -z "$itexists"; then
+        dnl pkg-config does not have info about the given module! set the
+        dnl variable to 'no'
+        PKGCONFIG="no"
+        AC_MSG_RESULT([no])
+      else
+        AC_MSG_RESULT([found])
+      fi
+    fi
+])
+
+
+dnl CURL_GENERATE_CONFIGUREHELP_PM
+dnl -------------------------------------------------
+dnl Generate test harness configurehelp.pm module, defining and
+dnl initializing some perl variables with values which are known
+dnl when the configure script runs. For portability reasons, test
+dnl harness needs information on how to run the C preprocessor.
+
+AC_DEFUN([CURL_GENERATE_CONFIGUREHELP_PM], [
+  AC_REQUIRE([AC_PROG_CPP])dnl
+  tmp_cpp=`eval echo "$ac_cpp" 2>/dev/null`
+  if test -z "$tmp_cpp"; then
+    tmp_cpp='cpp'
+  fi
+  cat >./tests/configurehelp.pm <<_EOF
+[@%:@] This is a generated file.  Do not edit.
+
+package configurehelp;
+
+use strict;
+use warnings;
+use Exporter;
+
+use vars qw(
+    @ISA
+    @EXPORT_OK
+    \$Cpreprocessor
+    );
+
+@ISA = qw(Exporter);
+
+@EXPORT_OK = qw(
+    \$Cpreprocessor
+    );
+
+\$Cpreprocessor = '$tmp_cpp';
+
+1;
+_EOF
+])
diff --git a/curl-7.25.0/aclocal.m4 b/curl-7.25.0/aclocal.m4
new file mode 100644
index 0000000..5305ee2
--- /dev/null
+++ b/curl-7.25.0/aclocal.m4
@@ -0,0 +1,906 @@
+# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005  Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+# Copyright (C) 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION so it can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+	 [AM_AUTOMAKE_VERSION([1.9.6])])
+
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory.  The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run.  This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+#    fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+#    fails if $ac_aux_dir is absolute,
+#    fails when called from a subdirectory in a VPATH build with
+#          a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir.  In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
+#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+#   MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH.  The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL                                            -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 7
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])
+AC_SUBST([$1_FALSE])
+if $2; then
+  $1_TRUE=
+  $1_FALSE='#'
+else
+  $1_TRUE='#'
+  $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+  AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery.  Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
+       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
+       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                   [depcc="$$1"   am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+               [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_$1_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_$1_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])
+])
+
+# Generate code to set up dependency tracking.              -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 3
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[for mf in $CONFIG_FILES; do
+  # Strip MF so we end up with the name of the file.
+  mf=`echo "$mf" | sed -e 's/:.*$//'`
+  # Check whether this is an Automake generated Makefile or not.
+  # We used to match only the files named `Makefile.in', but
+  # some people rename them; so instead we look at the file content.
+  # Grep'ing the first line is not enough: some people post-process
+  # each Makefile.in and add a new line on top of each file to say so.
+  # So let's grep whole file.
+  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+    dirpart=`AS_DIRNAME("$mf")`
+  else
+    continue
+  fi
+  # Extract the definition of DEPDIR, am__include, and am__quote
+  # from the Makefile without running `make'.
+  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+  test -z "$DEPDIR" && continue
+  am__include=`sed -n 's/^am__include = //p' < "$mf"`
+  test -z "am__include" && continue
+  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+  # When using ansi2knr, U may be empty or an underscore; expand it
+  U=`sed -n 's/^U = //p' < "$mf"`
+  # Find all dependency output files, they are included files with
+  # $(DEPDIR) in their names.  We invoke sed twice because it is the
+  # simplest approach to changing $(DEPDIR) to its actual value in the
+  # expansion.
+  for file in `sed -n "
+    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+    # Make sure the directory exists.
+    test -f "$dirpart/$file" && continue
+    fdir=`AS_DIRNAME(["$file"])`
+    AS_MKDIR_P([$dirpart/$fdir])
+    # echo "creating $dirpart/$file"
+    echo '# dummy' > "$dirpart/$file"
+  done
+done
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled.  FIXME.  This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# AM_CONFIG_HEADER is obsolete.  It has been replaced by AC_CONFIG_HEADERS.
+AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
+
+# Do all the work for Automake.                             -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 12
+
+# This macro actually does too much.  Some checks are only needed if
+# your package does certain things.  But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out.  PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition.  After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.58])dnl
+dnl Autoconf wants to disallow AM_ names.  We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+   test -f $srcdir/config.status; then
+  AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+	      		     [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+                  [_AM_DEPENDENCIES(CC)],
+                  [define([AC_PROG_CC],
+                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+                  [_AM_DEPENDENCIES(CXX)],
+                  [define([AC_PROG_CXX],
+                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated.  The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $1 | $1:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot.  For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+AC_DEFUN([AM_MAINTAINER_MODE],
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+  dnl maintainer-mode is disabled by default
+  AC_ARG_ENABLE(maintainer-mode,
+[  --enable-maintainer-mode  enable make rules and dependencies not useful
+			  (and sometimes confusing) to the casual installer],
+      USE_MAINTAINER_MODE=$enableval,
+      USE_MAINTAINER_MODE=no)
+  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+  AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
+  MAINT=$MAINTAINER_MODE_TRUE
+  AC_SUBST(MAINT)dnl
+]
+)
+
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+
+# Check to see how 'make' treats includes.	            -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+   am__include=include
+   am__quote=
+   _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+      am__include=.include
+      am__quote="\""
+      _am_result=BSD
+   fi
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
+#
+# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
+# created by `make install' are always world readable, even if the
+# installer happens to have an overly restrictive umask (e.g. 077).
+# This was a mistake.  There are at least two reasons why we must not
+# use `-m 0755':
+#   - it causes special bits like SGID to be ignored,
+#   - it may be too restrictive (some setups expect 775 directories).
+#
+# Do not use -m 0755 and let people choose whatever they expect by
+# setting umask.
+#
+# We cannot accept any implementation of `mkdir' that recognizes `-p'.
+# Some implementations (such as Solaris 8's) are not thread-safe: if a
+# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
+# concurrently, both version can detect that a/ is missing, but only
+# one can create it and the other will error out.  Consequently we
+# restrict ourselves to GNU make (using the --version option ensures
+# this.)
+AC_DEFUN([AM_PROG_MKDIR_P],
+[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+  # We used to keeping the `.' as first argument, in order to
+  # allow $(mkdir_p) to be used without argument.  As in
+  #   $(mkdir_p) $(somedir)
+  # where $(somedir) is conditionally defined.  However this is wrong
+  # for two reasons:
+  #  1. if the package is installed by a user who cannot write `.'
+  #     make install will fail,
+  #  2. the above comment should most certainly read
+  #     $(mkdir_p) $(DESTDIR)$(somedir)
+  #     so it does not work when $(somedir) is undefined and
+  #     $(DESTDIR) is not.
+  #  To support the latter case, we have to write
+  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+  #  so the `.' trick is pointless.
+  mkdir_p='mkdir -p --'
+else
+  # On NextStep and OpenStep, the `mkdir' command does not
+  # recognize any option.  It will interpret all options as
+  # directories to create, and then abort because `.' already
+  # exists.
+  for d in ./-p ./--version;
+  do
+    test -d $d && rmdir $d
+  done
+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+  if test -f "$ac_aux_dir/mkinstalldirs"; then
+    mkdir_p='$(mkinstalldirs)'
+  else
+    mkdir_p='$(install_sh) -d'
+  fi
+fi
+AC_SUBST([mkdir_p])])
+
+# Helper functions for option handling.                     -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME.  Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$[*]" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$[*]" != "X $srcdir/configure conftest.file" \
+      && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+alias in your environment])
+   fi
+
+   test "$[2]" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries.  This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+  AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Check how to create a tarball.                            -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+#     tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+#     $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [m4_case([$1], [ustar],, [pax],,
+              [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      AM_RUN_LOG([$_am_tar --version]) && break
+    done
+    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x $1 -w "$$tardir"'
+    am__tar_='pax -L -x $1 -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+    am__untar='cpio -i -H $1 -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_$1}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    AM_RUN_LOG([$am__untar <conftest.tar])
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([m4/curl-compilers.m4])
+m4_include([m4/curl-confopts.m4])
+m4_include([m4/curl-functions.m4])
+m4_include([m4/curl-openssl.m4])
+m4_include([m4/curl-override.m4])
+m4_include([m4/curl-reentrant.m4])
+m4_include([m4/curl-system.m4])
+m4_include([m4/libtool.m4])
+m4_include([m4/ltoptions.m4])
+m4_include([m4/ltsugar.m4])
+m4_include([m4/ltversion.m4])
+m4_include([m4/lt~obsolete.m4])
+m4_include([m4/xc-translit.m4])
+m4_include([m4/zz50-xc-ovr.m4])
+m4_include([acinclude.m4])
diff --git a/curl-7.25.0/buildconf b/curl-7.25.0/buildconf
new file mode 100755
index 0000000..da596fa
--- /dev/null
+++ b/curl-7.25.0/buildconf
@@ -0,0 +1,464 @@
+#!/bin/sh
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+#
+# This software is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at http://curl.haxx.se/docs/copyright.html.
+#
+# You may opt to use, copy, modify, merge, publish, distribute and/or sell
+# copies of the Software, and permit persons to whom the Software is
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+###########################################################################
+
+#--------------------------------------------------------------------------
+# die prints argument string to stdout and exits this shell script.
+#
+die(){
+  echo "buildconf: $@"
+  exit 1
+}
+
+#--------------------------------------------------------------------------
+# findtool works as 'which' but we use a different name to make it more
+# obvious we aren't using 'which'! ;-)
+#
+findtool(){
+  file="$1"
+
+  if { echo "$file" | grep "/" >/dev/null 2>&1; } then
+    # when file is given with a path check it first
+    if test -f "$file"; then
+      echo "$file"
+      return
+    fi
+  fi
+
+  old_IFS=$IFS; IFS=':'
+  for path in $PATH
+  do
+    IFS=$old_IFS
+    # echo "checks for $file in $path" >&2
+    if test -f "$path/$file"; then
+      echo "$path/$file"
+      return
+    fi
+  done
+  IFS=$old_IFS
+}
+
+#--------------------------------------------------------------------------
+# removethis() removes all files and subdirectories with the given name,
+# inside and below the current subdirectory at invocation time.
+#
+removethis(){
+  if test "$#" = "1"; then
+    find . -depth -name $1 -print > buildconf.tmp.$$
+    while read fdname
+    do
+      if test -f "$fdname"; then
+        rm -f "$fdname"
+      elif test -d "$fdname"; then
+        rm -f -r "$fdname"
+      fi
+    done < buildconf.tmp.$$
+    rm -f buildconf.tmp.$$
+  fi
+}
+
+#--------------------------------------------------------------------------
+# Ensure that buildconf runs from the subdirectory where configure.ac lives
+#
+if test ! -f configure.ac ||
+  test ! -f src/tool_main.c ||
+  test ! -f lib/urldata.h ||
+  test ! -f include/curl/curl.h ||
+  test ! -f m4/curl-functions.m4; then
+  echo "Can not run buildconf from outside of curl's source subdirectory!"
+  echo "Change to the subdirectory where buildconf is found, and try again."
+  exit 1
+fi
+
+#--------------------------------------------------------------------------
+# autoconf 2.57 or newer. Unpatched version 2.67 does not generate proper
+# configure script. Unpatched version 2.68 is simply unusable, we should
+# disallow 2.68 usage.
+#
+need_autoconf="2.57"
+ac_version=`${AUTOCONF:-autoconf} --version 2>/dev/null|head -n 1| sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'`
+if test -z "$ac_version"; then
+  echo "buildconf: autoconf not found."
+  echo "            You need autoconf version $need_autoconf or newer installed."
+  exit 1
+fi
+old_IFS=$IFS; IFS='.'; set $ac_version; IFS=$old_IFS
+if test "$1" = "2" -a "$2" -lt "57" || test "$1" -lt "2"; then
+  echo "buildconf: autoconf version $ac_version found."
+  echo "            You need autoconf version $need_autoconf or newer installed."
+  echo "            If you have a sufficient autoconf installed, but it"
+  echo "            is not named 'autoconf', then try setting the"
+  echo "            AUTOCONF environment variable."
+  exit 1
+fi
+
+if test "$1" = "2" -a "$2" -eq "67"; then
+  echo "buildconf: autoconf version $ac_version (BAD)"
+  echo "            Unpatched version generates broken configure script."
+elif test "$1" = "2" -a "$2" -eq "68"; then
+  echo "buildconf: autoconf version $ac_version (BAD)"
+  echo "            Unpatched version generates unusable configure script."
+else
+  echo "buildconf: autoconf version $ac_version (ok)"
+fi
+
+am4te_version=`${AUTOM4TE:-autom4te} --version 2>/dev/null|head -n 1| sed -e 's/autom4te\(.*\)/\1/' -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'`
+if test -z "$am4te_version"; then
+  echo "buildconf: autom4te not found. Weird autoconf installation!"
+  exit 1
+fi
+if test "$am4te_version" = "$ac_version"; then
+  echo "buildconf: autom4te version $am4te_version (ok)"
+else
+  echo "buildconf: autom4te version $am4te_version (ERROR: does not match autoconf version)"
+  exit 1
+fi
+
+#--------------------------------------------------------------------------
+# autoheader 2.50 or newer
+#
+ah_version=`${AUTOHEADER:-autoheader} --version 2>/dev/null|head -n 1| sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'`
+if test -z "$ah_version"; then
+  echo "buildconf: autoheader not found."
+  echo "            You need autoheader version 2.50 or newer installed."
+  exit 1
+fi
+old_IFS=$IFS; IFS='.'; set $ah_version; IFS=$old_IFS
+if test "$1" = "2" -a "$2" -lt "50" || test "$1" -lt "2"; then
+  echo "buildconf: autoheader version $ah_version found."
+  echo "            You need autoheader version 2.50 or newer installed."
+  echo "            If you have a sufficient autoheader installed, but it"
+  echo "            is not named 'autoheader', then try setting the"
+  echo "            AUTOHEADER environment variable."
+  exit 1
+fi
+
+echo "buildconf: autoheader version $ah_version (ok)"
+
+#--------------------------------------------------------------------------
+# automake 1.7 or newer
+#
+need_automake="1.7"
+am_version=`${AUTOMAKE:-automake} --version 2>/dev/null|head -n 1| sed -e 's/^.* \([0-9]\)/\1/' -e 's/[a-z]* *$//' -e 's/\(.*\)\(-p.*\)/\1/'`
+if test -z "$am_version"; then
+  echo "buildconf: automake not found."
+  echo "            You need automake version $need_automake or newer installed."
+  exit 1
+fi
+old_IFS=$IFS; IFS='.'; set $am_version; IFS=$old_IFS
+if test "$1" = "1" -a "$2" -lt "7" || test "$1" -lt "1"; then
+  echo "buildconf: automake version $am_version found."
+  echo "            You need automake version $need_automake or newer installed."
+  echo "            If you have a sufficient automake installed, but it"
+  echo "            is not named 'automake', then try setting the"
+  echo "            AUTOMAKE environment variable."
+  exit 1
+fi
+
+echo "buildconf: automake version $am_version (ok)"
+
+acloc_version=`${ACLOCAL:-aclocal} --version 2>/dev/null|head -n 1| sed -e 's/^.* \([0-9]\)/\1/' -e 's/[a-z]* *$//' -e 's/\(.*\)\(-p.*\)/\1/'`
+if test -z "$acloc_version"; then
+  echo "buildconf: aclocal not found. Weird automake installation!"
+  exit 1
+fi
+if test "$acloc_version" = "$am_version"; then
+  echo "buildconf: aclocal version $acloc_version (ok)"
+else
+  echo "buildconf: aclocal version $acloc_version (ERROR: does not match automake version)"
+  exit 1
+fi
+
+#--------------------------------------------------------------------------
+# GNU libtool preliminary check
+#
+want_lt_major=1
+want_lt_minor=4
+want_lt_patch=2
+want_lt_version=1.4.2
+
+# This approach that tries 'glibtool' first is intended for systems that
+# have GNU libtool named as 'glibtool' and libtool not being GNU's.
+
+libtool=`findtool glibtool 2>/dev/null`
+if test ! -x "$libtool"; then
+  libtool=`findtool ${LIBTOOL:-libtool}`
+fi
+if test -z "$libtool"; then
+  echo "buildconf: libtool not found."
+  echo "            You need GNU libtool $want_lt_version or newer installed."
+  exit 1
+fi
+
+lt_pver=`$libtool --version 2>/dev/null|head -n 1`
+lt_qver=`echo $lt_pver|sed -e "s/([^)]*)//g" -e "s/^[^0-9]*//g"`
+lt_version=`echo $lt_qver|sed -e "s/[- ].*//" -e "s/\([a-z]*\)$//"`
+if test -z "$lt_version"; then
+  echo "buildconf: libtool not found."
+  echo "            You need GNU libtool $want_lt_version or newer installed."
+  exit 1
+fi
+old_IFS=$IFS; IFS='.'; set $lt_version; IFS=$old_IFS
+lt_major=$1
+lt_minor=$2
+lt_patch=$3
+
+if test -z "$lt_major"; then
+  lt_status="bad"
+elif test "$lt_major" -gt "$want_lt_major"; then
+  lt_status="good"
+elif test "$lt_major" -lt "$want_lt_major"; then
+  lt_status="bad"
+elif test -z "$lt_minor"; then
+  lt_status="bad"
+elif test "$lt_minor" -gt "$want_lt_minor"; then
+  lt_status="good"
+elif test "$lt_minor" -lt "$want_lt_minor"; then
+  lt_status="bad"
+elif test -z "$lt_patch"; then
+  lt_status="bad"
+elif test "$lt_patch" -gt "$want_lt_patch"; then
+  lt_status="good"
+elif test "$lt_patch" -lt "$want_lt_patch"; then
+  lt_status="bad"
+else
+  lt_status="good"
+fi
+if test "$lt_status" != "good"; then
+  echo "buildconf: libtool version $lt_version found."
+  echo "            You need GNU libtool $want_lt_version or newer installed."
+  exit 1
+fi
+
+echo "buildconf: libtool version $lt_version (ok)"
+
+#--------------------------------------------------------------------------
+# GNU libtoolize check
+#
+if test -z "$LIBTOOLIZE"; then
+  # use (g)libtoolize from same location as (g)libtool
+  libtoolize="${libtool}ize"
+else
+  libtoolize=`findtool $LIBTOOLIZE`
+fi
+if test ! -f "$libtoolize"; then
+  echo "buildconf: libtoolize not found."
+  echo "            You need GNU libtoolize $want_lt_version or newer installed."
+  exit 1
+fi
+
+#--------------------------------------------------------------------------
+# m4 check
+#
+m4=`(${M4:-m4} --version || ${M4:-gm4} --version) 2>/dev/null | head -n 1`;
+m4_version=`echo $m4 | sed -e 's/^.* \([0-9]\)/\1/' -e 's/[a-z]* *$//'`
+
+if { echo $m4 | grep "GNU" >/dev/null 2>&1; } then
+  echo "buildconf: GNU m4 version $m4_version (ok)"
+else
+  if test -z "$m4"; then
+    echo "buildconf: m4 version not recognized. You need a GNU m4 installed!"
+  else
+    echo "buildconf: m4 version $m4 found. You need a GNU m4 installed!"
+  fi
+  exit 1
+fi
+
+#--------------------------------------------------------------------------
+# perl check
+#
+PERL=`findtool ${PERL:-perl}`
+if test -z "$PERL"; then
+  echo "buildconf: perl not found"
+  exit 1
+fi
+
+#--------------------------------------------------------------------------
+# Remove files generated on previous buildconf/configure run.
+#
+for fname in .deps \
+    .libs \
+    *.la \
+    *.lo \
+    *.a \
+    *.o \
+    Makefile \
+    Makefile.in \
+    aclocal.m4 \
+    aclocal.m4.bak \
+    ares_build.h \
+    ares_config.h \
+    ares_config.h.in \
+    autom4te.cache \
+    compile \
+    config.guess \
+    curl_config.h \
+    curl_config.h.in \
+    config.log \
+    config.lt \
+    config.status \
+    config.sub \
+    configure \
+    configurehelp.pm \
+    curl-config \
+    curlbuild.h \
+    depcomp \
+    libcares.pc \
+    libcurl.pc \
+    libtool \
+    libtool.m4 \
+    libtool.m4.tmp \
+    ltmain.sh \
+    ltoptions.m4 \
+    ltsugar.m4 \
+    ltversion.m4 \
+    lt~obsolete.m4 \
+    stamp-h1 \
+    stamp-h2 \
+    stamp-h3 ; do
+  removethis "$fname"
+done
+
+#--------------------------------------------------------------------------
+# run the correct scripts now
+#
+
+echo "buildconf: running libtoolize"
+${libtoolize} --copy --automake --force || die "libtoolize command failed"
+
+# When using libtool 1.5.X (X < 26) we copy libtool.m4 to our local m4
+# subdirectory and this local copy is patched to fix some warnings that
+# are triggered when running aclocal and using autoconf 2.62 or later.
+
+if test "$lt_major" = "1" && test "$lt_minor" = "5"; then
+  if test -z "$lt_patch" || test "$lt_patch" -lt "26"; then
+    echo "buildconf: copying libtool.m4 to local m4 subdir"
+    ac_dir=`${ACLOCAL:-aclocal} --print-ac-dir`
+    if test -f $ac_dir/libtool.m4; then
+      cp -f $ac_dir/libtool.m4 m4/libtool.m4
+    else
+      echo "buildconf: $ac_dir/libtool.m4 not found"
+    fi
+    if test -f m4/libtool.m4; then
+      echo "buildconf: renaming some variables in local m4/libtool.m4"
+      $PERL -i.tmp -pe \
+        's/lt_prog_compiler_pic_works/lt_cv_prog_compiler_pic_works/g; \
+         s/lt_prog_compiler_static_works/lt_cv_prog_compiler_static_works/g;' \
+        m4/libtool.m4
+      rm -f m4/libtool.m4.tmp
+    fi
+  fi
+fi
+
+if test -f m4/libtool.m4; then
+  echo "buildconf: converting all mv to mv -f in local m4/libtool.m4"
+  $PERL -i.tmp -pe 's/\bmv +([^-\s])/mv -f $1/g' m4/libtool.m4
+  rm -f m4/libtool.m4.tmp
+fi
+
+echo "buildconf: running aclocal"
+${ACLOCAL:-aclocal} -I m4 $ACLOCAL_FLAGS || die "aclocal command failed"
+
+echo "buildconf: converting all mv to mv -f in local aclocal.m4"
+$PERL -i.bak -pe 's/\bmv +([^-\s])/mv -f $1/g' aclocal.m4
+
+echo "buildconf: running autoheader"
+${AUTOHEADER:-autoheader} || die "autoheader command failed"
+
+echo "buildconf: cp lib/curl_config.h.in src/curl_config.h.in"
+cp lib/curl_config.h.in src/curl_config.h.in
+
+echo "buildconf: running autoconf"
+${AUTOCONF:-autoconf} || die "autoconf command failed"
+
+if test -d ares; then
+  cd ares
+  echo "buildconf: running in ares"
+  ./buildconf
+  cd ..
+fi
+
+echo "buildconf: running automake"
+${AUTOMAKE:-automake} --add-missing --copy || die "automake command failed"
+
+#--------------------------------------------------------------------------
+# GNU libtool complementary check
+#
+# Depending on the libtool and automake versions being used, config.guess
+# might not be installed in the subdirectory until automake has finished.
+# So we can not attempt to use it until this very last buildconf stage.
+#
+if test ! -f ./config.guess; then
+  echo "buildconf: config.guess not found"
+else
+  buildhost=`./config.guess 2>/dev/null|head -n 1`
+  case $buildhost in
+    *-*-darwin*)
+      need_lt_major=1
+      need_lt_minor=5
+      need_lt_patch=26
+      need_lt_check="yes"
+      ;;
+    *-*-hpux*)
+      need_lt_major=1
+      need_lt_minor=5
+      need_lt_patch=24
+      need_lt_check="yes"
+      ;;
+  esac
+  if test ! -z "$need_lt_check"; then
+    if test -z "$lt_major"; then
+      lt_status="bad"
+    elif test "$lt_major" -gt "$need_lt_major"; then
+      lt_status="good"
+    elif test "$lt_major" -lt "$need_lt_major"; then
+      lt_status="bad"
+    elif test -z "$lt_minor"; then
+      lt_status="bad"
+    elif test "$lt_minor" -gt "$need_lt_minor"; then
+      lt_status="good"
+    elif test "$lt_minor" -lt "$need_lt_minor"; then
+      lt_status="bad"
+    elif test -z "$lt_patch"; then
+      lt_status="bad"
+    elif test "$lt_patch" -gt "$need_lt_patch"; then
+      lt_status="good"
+    elif test "$lt_patch" -lt "$need_lt_patch"; then
+      lt_status="bad"
+    else
+      lt_status="good"
+    fi
+    if test "$lt_status" != "good"; then
+      need_lt_version="$need_lt_major.$need_lt_minor.$need_lt_patch"
+      echo "buildconf: libtool version $lt_version found."
+      echo "            $buildhost requires GNU libtool $need_lt_version or newer installed."
+      rm -f configure
+      exit 1
+    fi
+  fi
+fi
+
+#--------------------------------------------------------------------------
+# Finished successfully.
+#
+echo "buildconf: OK"
+exit 0
diff --git a/curl-7.25.0/compile b/curl-7.25.0/compile
new file mode 100755
index 0000000..1b1d232
--- /dev/null
+++ b/curl-7.25.0/compile
@@ -0,0 +1,142 @@
+#! /bin/sh
+# Wrapper for compilers which do not understand `-c -o'.
+
+scriptversion=2005-05-14.22
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
+# Written by Tom Tromey <tromey@cygnus.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+case $1 in
+  '')
+     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     exit 1;
+     ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand `-c -o'.
+Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file `INSTALL'.
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "compile $scriptversion"
+    exit $?
+    ;;
+esac
+
+ofile=
+cfile=
+eat=
+
+for arg
+do
+  if test -n "$eat"; then
+    eat=
+  else
+    case $1 in
+      -o)
+	# configure might choose to run compile as `compile cc -o foo foo.c'.
+	# So we strip `-o arg' only if arg is an object.
+	eat=1
+	case $2 in
+	  *.o | *.obj)
+	    ofile=$2
+	    ;;
+	  *)
+	    set x "$@" -o "$2"
+	    shift
+	    ;;
+	esac
+	;;
+      *.c)
+	cfile=$1
+	set x "$@" "$1"
+	shift
+	;;
+      *)
+	set x "$@" "$1"
+	shift
+	;;
+    esac
+  fi
+  shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+  # If no `-o' option was seen then we might have been invoked from a
+  # pattern rule where we don't need one.  That is ok -- this is a
+  # normal compilation that the losing compiler can handle.  If no
+  # `.c' file was seen then we are probably linking.  That is also
+  # ok.
+  exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
+
+# Create the lock directory.
+# Note: use `[/.-]' here to ensure that we don't use the same name
+# that we are using for the .o file.  Also, base the name on the expected
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
+while true; do
+  if mkdir "$lockdir" >/dev/null 2>&1; then
+    break
+  fi
+  sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+  mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+  mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/curl-7.25.0/config.guess b/curl-7.25.0/config.guess
new file mode 100755
index 0000000..d622a44
--- /dev/null
+++ b/curl-7.25.0/config.guess
@@ -0,0 +1,1530 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+#   2011, 2012 Free Software Foundation, Inc.
+
+timestamp='2012-02-10'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner.  Please send patches (context
+# diff format) to <config-patches@gnu.org> and include a ChangeLog
+# entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub.  If it succeeds, it prints the system name on stdout, and
+# exits with 0.  Otherwise, it exits with 1.
+#
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+    * )
+       break ;;
+  esac
+done
+
+if test $# != 0; then
+  echo "$me: too many arguments$help" >&2
+  exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int x;" > $dummy.c ;
+	for c in cc gcc c89 c99 ; do
+	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+	     CC_FOR_BUILD="$c"; break ;
+	  fi ;
+	done ;
+	if test x"$CC_FOR_BUILD" = x ; then
+	  CC_FOR_BUILD=no_compiler_found ;
+	fi
+	;;
+ ,,*)   CC_FOR_BUILD=$CC ;;
+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+	PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:NetBSD:*:*)
+	# NetBSD (nbsd) targets should (where applicable) match one or
+	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
+	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+	# switched to ELF, *-*-netbsd* would select the old
+	# object file format.  This provides both forward
+	# compatibility and a consistent mechanism for selecting the
+	# object file format.
+	#
+	# Note: NetBSD doesn't particularly care about the vendor
+	# portion of the name.  We always set it to "unknown".
+	sysctl="sysctl -n hw.machine_arch"
+	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+	case "${UNAME_MACHINE_ARCH}" in
+	    armeb) machine=armeb-unknown ;;
+	    arm*) machine=arm-unknown ;;
+	    sh3el) machine=shl-unknown ;;
+	    sh3eb) machine=sh-unknown ;;
+	    sh5el) machine=sh5le-unknown ;;
+	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+	esac
+	# The Operating System including object format, if it has switched
+	# to ELF recently, or will in the future.
+	case "${UNAME_MACHINE_ARCH}" in
+	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+		eval $set_cc_for_build
+		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+			| grep -q __ELF__
+		then
+		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+		    # Return netbsd for either.  FIX?
+		    os=netbsd
+		else
+		    os=netbsdelf
+		fi
+		;;
+	    *)
+		os=netbsd
+		;;
+	esac
+	# The OS release
+	# Debian GNU/NetBSD machines have a different userland, and
+	# thus, need a distinct triplet. However, they do not need
+	# kernel version information, so it can be replaced with a
+	# suitable tag, in the style of linux-gnu.
+	case "${UNAME_VERSION}" in
+	    Debian*)
+		release='-gnu'
+		;;
+	    *)
+		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+		;;
+	esac
+	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+	# contains redundant information, the shorter form:
+	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+	echo "${machine}-${os}${release}"
+	exit ;;
+    *:OpenBSD:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+	exit ;;
+    *:ekkoBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+	exit ;;
+    *:SolidBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+	exit ;;
+    macppc:MirBSD:*:*)
+	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    *:MirBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    alpha:OSF1:*:*)
+	case $UNAME_RELEASE in
+	*4.0)
+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+		;;
+	*5.*)
+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+		;;
+	esac
+	# According to Compaq, /usr/sbin/psrinfo has been available on
+	# OSF/1 and Tru64 systems produced since 1995.  I hope that
+	# covers most systems running today.  This code pipes the CPU
+	# types through head -n 1, so we only detect the type of CPU 0.
+	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+	case "$ALPHA_CPU_TYPE" in
+	    "EV4 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV4.5 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "LCA4 (21066/21068)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV5 (21164)")
+		UNAME_MACHINE="alphaev5" ;;
+	    "EV5.6 (21164A)")
+		UNAME_MACHINE="alphaev56" ;;
+	    "EV5.6 (21164PC)")
+		UNAME_MACHINE="alphapca56" ;;
+	    "EV5.7 (21164PC)")
+		UNAME_MACHINE="alphapca57" ;;
+	    "EV6 (21264)")
+		UNAME_MACHINE="alphaev6" ;;
+	    "EV6.7 (21264A)")
+		UNAME_MACHINE="alphaev67" ;;
+	    "EV6.8CB (21264C)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8AL (21264B)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8CX (21264D)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.9A (21264/EV69A)")
+		UNAME_MACHINE="alphaev69" ;;
+	    "EV7 (21364)")
+		UNAME_MACHINE="alphaev7" ;;
+	    "EV7.9 (21364A)")
+		UNAME_MACHINE="alphaev79" ;;
+	esac
+	# A Pn.n version is a patched version.
+	# A Vn.n version is a released version.
+	# A Tn.n version is a released field test version.
+	# A Xn.n version is an unreleased experimental baselevel.
+	# 1.2 uses "1.2" for uname -r.
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+	exitcode=$?
+	trap '' 0
+	exit $exitcode ;;
+    Alpha\ *:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# Should we change UNAME_MACHINE based on the output of uname instead
+	# of the specific Alpha model?
+	echo alpha-pc-interix
+	exit ;;
+    21064:Windows_NT:50:3)
+	echo alpha-dec-winnt3.5
+	exit ;;
+    Amiga*:UNIX_System_V:4.0:*)
+	echo m68k-unknown-sysv4
+	exit ;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-amigaos
+	exit ;;
+    *:[Mm]orph[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-morphos
+	exit ;;
+    *:OS/390:*:*)
+	echo i370-ibm-openedition
+	exit ;;
+    *:z/VM:*:*)
+	echo s390-ibm-zvmoe
+	exit ;;
+    *:OS400:*:*)
+	echo powerpc-ibm-os400
+	exit ;;
+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+	echo arm-acorn-riscix${UNAME_RELEASE}
+	exit ;;
+    arm:riscos:*:*|arm:RISCOS:*:*)
+	echo arm-unknown-riscos
+	exit ;;
+    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+	echo hppa1.1-hitachi-hiuxmpp
+	exit ;;
+    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+	if test "`(/bin/universe) 2>/dev/null`" = att ; then
+		echo pyramid-pyramid-sysv3
+	else
+		echo pyramid-pyramid-bsd
+	fi
+	exit ;;
+    NILE*:*:*:dcosx)
+	echo pyramid-pyramid-svr4
+	exit ;;
+    DRS?6000:unix:4.0:6*)
+	echo sparc-icl-nx6
+	exit ;;
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+	case `/usr/bin/uname -p` in
+	    sparc) echo sparc-icl-nx7; exit ;;
+	esac ;;
+    s390x:SunOS:*:*)
+	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4H:SunOS:5.*:*)
+	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+	echo i386-pc-auroraux${UNAME_RELEASE}
+	exit ;;
+    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+	eval $set_cc_for_build
+	SUN_ARCH="i386"
+	# If there is a compiler, see if it is configured for 64-bit objects.
+	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+	# This test works for both compilers.
+	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		grep IS_64BIT_ARCH >/dev/null
+	    then
+		SUN_ARCH="x86_64"
+	    fi
+	fi
+	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:6*:*)
+	# According to config.sub, this is the proper way to canonicalize
+	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+	# it's likely to be more like Solaris than SunOS4.
+	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:*:*)
+	case "`/usr/bin/arch -k`" in
+	    Series*|S4*)
+		UNAME_RELEASE=`uname -v`
+		;;
+	esac
+	# Japanese Language versions have a version number like `4.1.3-JL'.
+	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+	exit ;;
+    sun3*:SunOS:*:*)
+	echo m68k-sun-sunos${UNAME_RELEASE}
+	exit ;;
+    sun*:*:4.2BSD:*)
+	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+	case "`/bin/arch`" in
+	    sun3)
+		echo m68k-sun-sunos${UNAME_RELEASE}
+		;;
+	    sun4)
+		echo sparc-sun-sunos${UNAME_RELEASE}
+		;;
+	esac
+	exit ;;
+    aushp:SunOS:*:*)
+	echo sparc-auspex-sunos${UNAME_RELEASE}
+	exit ;;
+    # The situation for MiNT is a little confusing.  The machine name
+    # can be virtually everything (everything which is not
+    # "atarist" or "atariste" at least should have a processor
+    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
+    # to the lowercase version "mint" (or "freemint").  Finally
+    # the system name "TOS" denotes a system which is actually not
+    # MiNT.  But MiNT is downward compatible to TOS, so this should
+    # be no problem.
+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+	echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+	echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+	echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+	echo m68k-milan-mint${UNAME_RELEASE}
+	exit ;;
+    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+	echo m68k-hades-mint${UNAME_RELEASE}
+	exit ;;
+    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+	echo m68k-unknown-mint${UNAME_RELEASE}
+	exit ;;
+    m68k:machten:*:*)
+	echo m68k-apple-machten${UNAME_RELEASE}
+	exit ;;
+    powerpc:machten:*:*)
+	echo powerpc-apple-machten${UNAME_RELEASE}
+	exit ;;
+    RISC*:Mach:*:*)
+	echo mips-dec-mach_bsd4.3
+	exit ;;
+    RISC*:ULTRIX:*:*)
+	echo mips-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    VAX*:ULTRIX*:*:*)
+	echo vax-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    2020:CLIX:*:* | 2430:CLIX:*:*)
+	echo clipper-intergraph-clix${UNAME_RELEASE}
+	exit ;;
+    mips:*:*:UMIPS | mips:*:*:RISCos)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+	int main (int argc, char *argv[]) {
+#else
+	int main (argc, argv) int argc; char *argv[]; {
+#endif
+	#if defined (host_mips) && defined (MIPSEB)
+	#if defined (SYSTYPE_SYSV)
+	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_SVR4)
+	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+	#endif
+	#endif
+	  exit (-1);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c &&
+	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+	  SYSTEM_NAME=`$dummy $dummyarg` &&
+	    { echo "$SYSTEM_NAME"; exit; }
+	echo mips-mips-riscos${UNAME_RELEASE}
+	exit ;;
+    Motorola:PowerMAX_OS:*:*)
+	echo powerpc-motorola-powermax
+	exit ;;
+    Motorola:*:4.3:PL8-*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:Power_UNIX:*:*)
+	echo powerpc-harris-powerunix
+	exit ;;
+    m88k:CX/UX:7*:*)
+	echo m88k-harris-cxux7
+	exit ;;
+    m88k:*:4*:R4*)
+	echo m88k-motorola-sysv4
+	exit ;;
+    m88k:*:3*:R3*)
+	echo m88k-motorola-sysv3
+	exit ;;
+    AViiON:dgux:*:*)
+	# DG/UX returns AViiON for all architectures
+	UNAME_PROCESSOR=`/usr/bin/uname -p`
+	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+	then
+	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+	       [ ${TARGET_BINARY_INTERFACE}x = x ]
+	    then
+		echo m88k-dg-dgux${UNAME_RELEASE}
+	    else
+		echo m88k-dg-dguxbcs${UNAME_RELEASE}
+	    fi
+	else
+	    echo i586-dg-dgux${UNAME_RELEASE}
+	fi
+	exit ;;
+    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
+	echo m88k-dolphin-sysv3
+	exit ;;
+    M88*:*:R3*:*)
+	# Delta 88k system running SVR3
+	echo m88k-motorola-sysv3
+	exit ;;
+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+	echo m88k-tektronix-sysv3
+	exit ;;
+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+	echo m68k-tektronix-bsd
+	exit ;;
+    *:IRIX*:*:*)
+	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+	exit ;;
+    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
+	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
+    i*86:AIX:*:*)
+	echo i386-ibm-aix
+	exit ;;
+    ia64:AIX:*:*)
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:2:3)
+	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+		eval $set_cc_for_build
+		sed 's/^		//' << EOF >$dummy.c
+		#include <sys/systemcfg.h>
+
+		main()
+			{
+			if (!__power_pc())
+				exit(1);
+			puts("powerpc-ibm-aix3.2.5");
+			exit(0);
+			}
+EOF
+		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+		then
+			echo "$SYSTEM_NAME"
+		else
+			echo rs6000-ibm-aix3.2.5
+		fi
+	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+		echo rs6000-ibm-aix3.2.4
+	else
+		echo rs6000-ibm-aix3.2
+	fi
+	exit ;;
+    *:AIX:*:[4567])
+	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+		IBM_ARCH=rs6000
+	else
+		IBM_ARCH=powerpc
+	fi
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:*:*)
+	echo rs6000-ibm-aix
+	exit ;;
+    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+	echo romp-ibm-bsd4.4
+	exit ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+	exit ;;                             # report: romp-ibm BSD 4.3
+    *:BOSX:*:*)
+	echo rs6000-bull-bosx
+	exit ;;
+    DPX/2?00:B.O.S.:*:*)
+	echo m68k-bull-sysv3
+	exit ;;
+    9000/[34]??:4.3bsd:1.*:*)
+	echo m68k-hp-bsd
+	exit ;;
+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+	echo m68k-hp-bsd4.4
+	exit ;;
+    9000/[34678]??:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	case "${UNAME_MACHINE}" in
+	    9000/31? )            HP_ARCH=m68000 ;;
+	    9000/[34]?? )         HP_ARCH=m68k ;;
+	    9000/[678][0-9][0-9])
+		if [ -x /usr/bin/getconf ]; then
+		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+		    case "${sc_cpu_version}" in
+		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+		      532)                      # CPU_PA_RISC2_0
+			case "${sc_kernel_bits}" in
+			  32) HP_ARCH="hppa2.0n" ;;
+			  64) HP_ARCH="hppa2.0w" ;;
+			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+			esac ;;
+		    esac
+		fi
+		if [ "${HP_ARCH}" = "" ]; then
+		    eval $set_cc_for_build
+		    sed 's/^		//' << EOF >$dummy.c
+
+		#define _HPUX_SOURCE
+		#include <stdlib.h>
+		#include <unistd.h>
+
+		int main ()
+		{
+		#if defined(_SC_KERNEL_BITS)
+		    long bits = sysconf(_SC_KERNEL_BITS);
+		#endif
+		    long cpu  = sysconf (_SC_CPU_VERSION);
+
+		    switch (cpu)
+			{
+			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+			case CPU_PA_RISC2_0:
+		#if defined(_SC_KERNEL_BITS)
+			    switch (bits)
+				{
+				case 64: puts ("hppa2.0w"); break;
+				case 32: puts ("hppa2.0n"); break;
+				default: puts ("hppa2.0"); break;
+				} break;
+		#else  /* !defined(_SC_KERNEL_BITS) */
+			    puts ("hppa2.0"); break;
+		#endif
+			default: puts ("hppa1.0"); break;
+			}
+		    exit (0);
+		}
+EOF
+		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+		    test -z "$HP_ARCH" && HP_ARCH=hppa
+		fi ;;
+	esac
+	if [ ${HP_ARCH} = "hppa2.0w" ]
+	then
+	    eval $set_cc_for_build
+
+	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
+	    # generating 64-bit code.  GNU and HP use different nomenclature:
+	    #
+	    # $ CC_FOR_BUILD=cc ./config.guess
+	    # => hppa2.0w-hp-hpux11.23
+	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+	    # => hppa64-hp-hpux11.23
+
+	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+		grep -q __LP64__
+	    then
+		HP_ARCH="hppa2.0w"
+	    else
+		HP_ARCH="hppa64"
+	    fi
+	fi
+	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+	exit ;;
+    ia64:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	echo ia64-hp-hpux${HPUX_REV}
+	exit ;;
+    3050*:HI-UX:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <unistd.h>
+	int
+	main ()
+	{
+	  long cpu = sysconf (_SC_CPU_VERSION);
+	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
+	     results, however.  */
+	  if (CPU_IS_PA_RISC (cpu))
+	    {
+	      switch (cpu)
+		{
+		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+		  default: puts ("hppa-hitachi-hiuxwe2"); break;
+		}
+	    }
+	  else if (CPU_IS_HP_MC68K (cpu))
+	    puts ("m68k-hitachi-hiuxwe2");
+	  else puts ("unknown-hitachi-hiuxwe2");
+	  exit (0);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+		{ echo "$SYSTEM_NAME"; exit; }
+	echo unknown-hitachi-hiuxwe2
+	exit ;;
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+	echo hppa1.1-hp-bsd
+	exit ;;
+    9000/8??:4.3bsd:*:*)
+	echo hppa1.0-hp-bsd
+	exit ;;
+    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+	echo hppa1.0-hp-mpeix
+	exit ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+	echo hppa1.1-hp-osf
+	exit ;;
+    hp8??:OSF1:*:*)
+	echo hppa1.0-hp-osf
+	exit ;;
+    i*86:OSF1:*:*)
+	if [ -x /usr/sbin/sysversion ] ; then
+	    echo ${UNAME_MACHINE}-unknown-osf1mk
+	else
+	    echo ${UNAME_MACHINE}-unknown-osf1
+	fi
+	exit ;;
+    parisc*:Lites*:*:*)
+	echo hppa1.1-hp-lites
+	exit ;;
+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+	echo c1-convex-bsd
+	exit ;;
+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+	exit ;;
+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+	echo c34-convex-bsd
+	exit ;;
+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+	echo c38-convex-bsd
+	exit ;;
+    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+	echo c4-convex-bsd
+	exit ;;
+    CRAY*Y-MP:*:*:*)
+	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*[A-Z]90:*:*:*)
+	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+	      -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*TS:*:*:*)
+	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*T3E:*:*:*)
+	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*SV1:*:*:*)
+	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    *:UNICOS/mp:*:*)
+	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	exit ;;
+    5000:UNIX_System_V:4.*:*)
+	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	exit ;;
+    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+	exit ;;
+    sparc*:BSD/OS:*:*)
+	echo sparc-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:BSD/OS:*:*)
+	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:FreeBSD:*:*)
+	UNAME_PROCESSOR=`/usr/bin/uname -p`
+	case ${UNAME_PROCESSOR} in
+	    amd64)
+		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+	    *)
+		echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+	esac
+	exit ;;
+    i*:CYGWIN*:*)
+	echo ${UNAME_MACHINE}-pc-cygwin
+	exit ;;
+    *:MINGW*:*)
+	echo ${UNAME_MACHINE}-pc-mingw32
+	exit ;;
+    i*:MSYS*:*)
+	echo ${UNAME_MACHINE}-pc-msys
+	exit ;;
+    i*:windows32*:*)
+	# uname -m includes "-pc" on this system.
+	echo ${UNAME_MACHINE}-mingw32
+	exit ;;
+    i*:PW*:*)
+	echo ${UNAME_MACHINE}-pc-pw32
+	exit ;;
+    *:Interix*:*)
+	case ${UNAME_MACHINE} in
+	    x86)
+		echo i586-pc-interix${UNAME_RELEASE}
+		exit ;;
+	    authenticamd | genuineintel | EM64T)
+		echo x86_64-unknown-interix${UNAME_RELEASE}
+		exit ;;
+	    IA64)
+		echo ia64-unknown-interix${UNAME_RELEASE}
+		exit ;;
+	esac ;;
+    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+	echo i${UNAME_MACHINE}-pc-mks
+	exit ;;
+    8664:Windows_NT:*)
+	echo x86_64-pc-mks
+	exit ;;
+    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+	# UNAME_MACHINE based on the output of uname instead of i386?
+	echo i586-pc-interix
+	exit ;;
+    i*:UWIN*:*)
+	echo ${UNAME_MACHINE}-pc-uwin
+	exit ;;
+    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+	echo x86_64-unknown-cygwin
+	exit ;;
+    p*:CYGWIN*:*)
+	echo powerpcle-unknown-cygwin
+	exit ;;
+    prep*:SunOS:5.*:*)
+	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    *:GNU:*:*)
+	# the GNU system
+	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+	exit ;;
+    *:GNU/*:*:*)
+	# other systems with GNU libc and userland
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+	exit ;;
+    i*86:Minix:*:*)
+	echo ${UNAME_MACHINE}-pc-minix
+	exit ;;
+    aarch64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    aarch64_be:Linux:*:*)
+	UNAME_MACHINE=aarch64_be
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    alpha:Linux:*:*)
+	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+	  EV5)   UNAME_MACHINE=alphaev5 ;;
+	  EV56)  UNAME_MACHINE=alphaev56 ;;
+	  PCA56) UNAME_MACHINE=alphapca56 ;;
+	  PCA57) UNAME_MACHINE=alphapca56 ;;
+	  EV6)   UNAME_MACHINE=alphaev6 ;;
+	  EV67)  UNAME_MACHINE=alphaev67 ;;
+	  EV68*) UNAME_MACHINE=alphaev68 ;;
+	esac
+	objdump --private-headers /bin/sh | grep -q ld.so.1
+	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+	exit ;;
+    arm*:Linux:*:*)
+	eval $set_cc_for_build
+	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+	    | grep -q __ARM_EABI__
+	then
+	    echo ${UNAME_MACHINE}-unknown-linux-gnu
+	else
+	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+		| grep -q __ARM_PCS_VFP
+	    then
+		echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+	    else
+		echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
+	    fi
+	fi
+	exit ;;
+    avr32*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    cris:Linux:*:*)
+	echo ${UNAME_MACHINE}-axis-linux-gnu
+	exit ;;
+    crisv32:Linux:*:*)
+	echo ${UNAME_MACHINE}-axis-linux-gnu
+	exit ;;
+    frv:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    hexagon:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    i*86:Linux:*:*)
+	LIBC=gnu
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#ifdef __dietlibc__
+	LIBC=dietlibc
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+	exit ;;
+    ia64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    m32r*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    m68*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    mips:Linux:*:* | mips64:Linux:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef ${UNAME_MACHINE}
+	#undef ${UNAME_MACHINE}el
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=${UNAME_MACHINE}el
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=${UNAME_MACHINE}
+	#else
+	CPU=
+	#endif
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+	;;
+    or32:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    padre:Linux:*:*)
+	echo sparc-unknown-linux-gnu
+	exit ;;
+    parisc64:Linux:*:* | hppa64:Linux:*:*)
+	echo hppa64-unknown-linux-gnu
+	exit ;;
+    parisc:Linux:*:* | hppa:Linux:*:*)
+	# Look for CPU level
+	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
+	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
+	  *)    echo hppa-unknown-linux-gnu ;;
+	esac
+	exit ;;
+    ppc64:Linux:*:*)
+	echo powerpc64-unknown-linux-gnu
+	exit ;;
+    ppc:Linux:*:*)
+	echo powerpc-unknown-linux-gnu
+	exit ;;
+    s390:Linux:*:* | s390x:Linux:*:*)
+	echo ${UNAME_MACHINE}-ibm-linux
+	exit ;;
+    sh64*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    sh*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    sparc:Linux:*:* | sparc64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    tile*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    vax:Linux:*:*)
+	echo ${UNAME_MACHINE}-dec-linux-gnu
+	exit ;;
+    x86_64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    xtensa*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    i*86:DYNIX/ptx:4*:*)
+	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+	# earlier versions are messed up and put the nodename in both
+	# sysname and nodename.
+	echo i386-sequent-sysv4
+	exit ;;
+    i*86:UNIX_SV:4.2MP:2.*)
+	# Unixware is an offshoot of SVR4, but it has its own version
+	# number series starting with 2...
+	# I am not positive that other SVR4 systems won't match this,
+	# I just have to hope.  -- rms.
+	# Use sysv4.2uw... so that sysv4* matches it.
+	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+	exit ;;
+    i*86:OS/2:*:*)
+	# If we were able to find `uname', then EMX Unix compatibility
+	# is probably installed.
+	echo ${UNAME_MACHINE}-pc-os2-emx
+	exit ;;
+    i*86:XTS-300:*:STOP)
+	echo ${UNAME_MACHINE}-unknown-stop
+	exit ;;
+    i*86:atheos:*:*)
+	echo ${UNAME_MACHINE}-unknown-atheos
+	exit ;;
+    i*86:syllable:*:*)
+	echo ${UNAME_MACHINE}-pc-syllable
+	exit ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+	echo i386-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    i*86:*DOS:*:*)
+	echo ${UNAME_MACHINE}-pc-msdosdjgpp
+	exit ;;
+    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+	else
+		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+	fi
+	exit ;;
+    i*86:*:5:[678]*)
+	# UnixWare 7.x, OpenUNIX and OpenServer 6.
+	case `/bin/uname -X | grep "^Machine"` in
+	    *486*)	     UNAME_MACHINE=i486 ;;
+	    *Pentium)	     UNAME_MACHINE=i586 ;;
+	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+	esac
+	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+	exit ;;
+    i*86:*:3.2:*)
+	if test -f /usr/options/cb.name; then
+		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+	elif /bin/uname -X 2>/dev/null >/dev/null ; then
+		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+			&& UNAME_MACHINE=i586
+		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+	else
+		echo ${UNAME_MACHINE}-pc-sysv32
+	fi
+	exit ;;
+    pc:*:*:*)
+	# Left here for compatibility:
+	# uname -m prints for DJGPP always 'pc', but it prints nothing about
+	# the processor, so we play safe by assuming i586.
+	# Note: whatever this is, it MUST be the same as what config.sub
+	# prints for the "djgpp" host, or else GDB configury will decide that
+	# this is a cross-build.
+	echo i586-pc-msdosdjgpp
+	exit ;;
+    Intel:Mach:3*:*)
+	echo i386-pc-mach3
+	exit ;;
+    paragon:*:*:*)
+	echo i860-intel-osf1
+	exit ;;
+    i860:*:4.*:*) # i860-SVR4
+	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+	else # Add other i860-SVR4 vendors below as they are discovered.
+	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+	fi
+	exit ;;
+    mini*:CTIX:SYS*5:*)
+	# "miniframe"
+	echo m68010-convergent-sysv
+	exit ;;
+    mc68k:UNIX:SYSTEM5:3.51m)
+	echo m68k-convergent-sysv
+	exit ;;
+    M680?0:D-NIX:5.3:*)
+	echo m68k-diab-dnix
+	exit ;;
+    M68*:*:R3V[5678]*:*)
+	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+	OS_REL=''
+	test -r /etc/.relid \
+	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	  && { echo i486-ncr-sysv4; exit; } ;;
+    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+	OS_REL='.3'
+	test -r /etc/.relid \
+	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+	echo m68k-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    mc68030:UNIX_System_V:4.*:*)
+	echo m68k-atari-sysv4
+	exit ;;
+    TSUNAMI:LynxOS:2.*:*)
+	echo sparc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    rs6000:LynxOS:2.*:*)
+	echo rs6000-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+	echo powerpc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    SM[BE]S:UNIX_SV:*:*)
+	echo mips-dde-sysv${UNAME_RELEASE}
+	exit ;;
+    RM*:ReliantUNIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    RM*:SINIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    *:SINIX-*:*:*)
+	if uname -p 2>/dev/null >/dev/null ; then
+		UNAME_MACHINE=`(uname -p) 2>/dev/null`
+		echo ${UNAME_MACHINE}-sni-sysv4
+	else
+		echo ns32k-sni-sysv
+	fi
+	exit ;;
+    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+			# says <Richard.M.Bartel@ccMail.Census.GOV>
+	echo i586-unisys-sysv4
+	exit ;;
+    *:UNIX_System_V:4*:FTX*)
+	# From Gerald Hewes <hewes@openmarket.com>.
+	# How about differentiating between stratus architectures? -djm
+	echo hppa1.1-stratus-sysv4
+	exit ;;
+    *:*:*:FTX*)
+	# From seanf@swdc.stratus.com.
+	echo i860-stratus-sysv4
+	exit ;;
+    i*86:VOS:*:*)
+	# From Paul.Green@stratus.com.
+	echo ${UNAME_MACHINE}-stratus-vos
+	exit ;;
+    *:VOS:*:*)
+	# From Paul.Green@stratus.com.
+	echo hppa1.1-stratus-vos
+	exit ;;
+    mc68*:A/UX:*:*)
+	echo m68k-apple-aux${UNAME_RELEASE}
+	exit ;;
+    news*:NEWS-OS:6*:*)
+	echo mips-sony-newsos6
+	exit ;;
+    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+	if [ -d /usr/nec ]; then
+		echo mips-nec-sysv${UNAME_RELEASE}
+	else
+		echo mips-unknown-sysv${UNAME_RELEASE}
+	fi
+	exit ;;
+    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
+	echo powerpc-be-beos
+	exit ;;
+    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
+	echo powerpc-apple-beos
+	exit ;;
+    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
+	echo i586-pc-beos
+	exit ;;
+    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
+	echo i586-pc-haiku
+	exit ;;
+    SX-4:SUPER-UX:*:*)
+	echo sx4-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-5:SUPER-UX:*:*)
+	echo sx5-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-6:SUPER-UX:*:*)
+	echo sx6-nec-superux${UNAME_RELEASE}<