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}<