diff options
author | Karl Berry <karl@freefriends.org> | 2008-02-05 19:30:40 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-02-05 19:30:40 +0000 |
commit | 208b4e0cc96ff0d8307f7b59cb66d52527123029 (patch) | |
tree | ca5cd5e76e75b7d62080bb1147908828d0e7d0df /Build/source/libs | |
parent | ceb93ecb2a3619e7e7ac0bb06016821e27bf4171 (diff) |
remove curl, was old attempt on windows only
git-svn-id: svn://tug.org/texlive/trunk@6508 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs')
375 files changed, 200 insertions, 89102 deletions
diff --git a/Build/source/libs/EXTRA.LIB b/Build/source/libs/EXTRA.LIB deleted file mode 100644 index 3a7dcfa7556..00000000000 --- a/Build/source/libs/EXTRA.LIB +++ /dev/null @@ -1,2 +0,0 @@ -Extra libraries that are used by programs in the texk directory and -outside of it. diff --git a/Build/source/libs/README b/Build/source/libs/README index e83f23f3f97..aba3485766a 100644 --- a/Build/source/libs/README +++ b/Build/source/libs/README @@ -5,3 +5,203 @@ Libraries we compile for TeX Live. libpng 1.2.8 - http://www.libpng.org zlib 1.2.3 - http://www.zlib.net/ + + +This info used to be in a howto/ subdirectory; it was written a long +time ago, by Sebastian and/or Thomas Esser, I think. + +==> freetype <== +The following files have been added: + freeetype.ac withenable.ac + +Modifications: + configure.in: + disable AM_DISABLE_STATIC + add AM_DISABLE_SHARED + +==> freetype2 <== +The freetype2 directory contains Freetype 2.2.1 sources from: + + http://download.savannah.gnu.org/releases/freetype/freetype-2.2.1.tar.bz2 + +The following files have been added: + + freetype2.ac + withenable.ac + +Modifications: + + freetype2/builds/unix/configure + - edited to ignore the --srcdir argument, as this doesn't work properly + in the tex-live build + + +==> icu-xetex <== +The icu-xetex directory contains a *MODIFIED* copy of ICU release 3.4, +used in building xetex. + +The following files have been added: + + icu-xetex.ac + withenable.ac + +See libs/icu-xetex/README for more information. + +==> libpng <== +Downloading: + http://www.libpng.org/ + http://libpng.sourceforge.net/ + +libpng is the original distribution, but with added + Makefile.in libpng.ac withenable.ac + +The directories + contrib projects scripts +are not needed for teTeX and can be removed. + +libpng is configured by libs/configure, so the (original) +libs/libpng/configure is not used by teTeX. + +==> libtiff <== +Downloading: + http://www.libtiff.org/ + http://freshmeat.net/projects/libtiff/ + +Which files are in libtiff: + from the original distribution: + COPYRIGHT RELEASE-DATE VERSION libtiff/* dist/tiff.alpha + + added for teTeX: + acconfig.h aclocal.m4 configure.in libtiff.ac withenable.ac port.h + Makefile.in (replacing the original file) + added for fpTeX: + win32 win32.mak + +Generated files: + the commands + autoheader -m ../../texk/etc/autoconf + autoconf -m ../../texk/etc/autoconf + have generated + c-auto.in configure + + by make depend: + depend.mak + +==> ncurses <== +Downloading: + http://www.gnu.org/software/ncurses/ncurses.html + ftp://ftp.gnu.org/pub/gnu/ncurses/ + ftp://dickey.his.com/ncurses/ + +The ncurses directory contains the original distribution except: + Ada95 c++ doc form menu misc panel progs tack test + +The following files have been added: + ncurses.ac withenable.ac + +Modifications: + Makefile.in: + remove install from the list in the end. Create an empty install:: + target somewhere earlier in the file. + + protect "test ... || ..." in Makefile.in with - + + aclocal.m4, remove the following lines (thus disabling misc test + c++ subdirs): + SRC_SUBDIRS="$SRC_SUBDIRS test" + test -z "$MAKE_TERMINFO" && SRC_SUBDIRS="$SRC_SUBDIRS misc" + test "$cf_with_cxx_binding" != no && SRC_SUBDIRS="$SRC_SUBDIRS c++" + + include/Makefile.in + add symlink to AUTO_SRC variable + add a rule + symlink: + @test -d ncurses || ln -s . ncurses + add the line + -rm -f ncurses + to the clean:: target + + configure.in: + remove that ldconfig stuff + remove that cxx stuff + remove that ada stuff + cf_with_progs=no (instead of yes) + remove the line + modules_to_build="$modules_to_build panel menu form" + with_debug=no (instead of yes) + move one line below (after CF_DIRS_TO_MAKE): + CF_SRC_MODULES($modules_to_build) + remove the line + test "$use_database" = yes && SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in" + +Run autoconf with version 2.52.20011227. Patch available at + http://invisible-island.net/autoconf/ + +==> ncurses-fix <== +#!/bin/sh + +mv aclocal.m4 aclocal.m4-$$ +sed \ + -e "s/: .{BUILD_\(.*\):='\(.*\)'}/: \${BUILD_\1=\`echo '\2'\`}/" \ + -e "s/\`echo ''\`//" < aclocal.m4-$$ > aclocal.m4 +rm -f aclocal.m4-$$ + +==> t1lib <== +Downloading: + ftp://sunsite.unc.edu/pub/Linux/libs/graphics/t1lib-5.0.2.tar.gz + +==> teckit <== +The teckit directory contains the source of the TECkit (Text Encoding Conversion +toolkit) library and tools. See http://scripts.sil.org/teckit. + +The TECkit library is needed to build xetex. + +The subtrees teckit/source/teckitjni and teckit/perl_binaries have been removed +as these are not relevant to building xetex or using the basic TECkit library. +The copy of zlib source code found in the teckit tree has also been removed. + +The following files have been added: + + teckit.ac + withenable.ac (currently empty) + +==> xpdf <== +Downloading: + http://www.foolabs.com/xpdf/download.html + +Files in xpdf directory: + the files of the xpdf distribution, except + ltk misc/hello.pdf + +Replaced files: + Makefile.in + configure.in + xpdf/Makefile.in + goo/Makefile.in + +Added files: + libxpdf.ac + +==> zlib <== +Downloading: + http://www.gzip.org/zlib/ + +Files in zlib: + From the distribution: + everything, except: + INDEX Make_vms.com Makefile Makefile.riscos algorithm.txt amiga + configure descrip.mms msdos nt os2 zlib.html + + Replaced file: + Makefile.in + + Added for teTeX: + withenable.ac zlib.ac + + Added for fpTeX: + win32.mak + contrib/minizip/win32.mak + contrib/untgz/win32.mak + + Automatically generated: + depend.mak diff --git a/Build/source/libs/curl/CHANGES b/Build/source/libs/curl/CHANGES deleted file mode 100644 index 198873b2a3e..00000000000 --- a/Build/source/libs/curl/CHANGES +++ /dev/null @@ -1,436 +0,0 @@ - _ _ ____ _ - ___| | | | _ \| | - / __| | | | |_) | | - | (__| |_| | _ <| |___ - \___|\___/|_| \_\_____| - - History of Changes - - -Version 7.9.5 - -Daniel (7 March 2002) -- Added docs/KNOWN_BUGS to the release archive. - -Daniel (6 March 2002) -- Kevin Roth corrected a flaw in the curl client globbing code that made it - mess up backslashes. This was most notable on windows (cygwin) machines when - using file://. - -- Brad provided another fix for building outside the source-tree. - -- Ralph Mitchell patched away a few compiler warnings in tests/server/sws.c - -Daniel (5 March 2002) -- I noticed that the typedef in curl.h for the progress callback prototype was - wrong and thus applications that used it would not get the proper input - data. It used size_t where the implementation actually uses doubles! - - I wish I could blame someone else, but this was my fault. Again. - -Version 7.9.5-pre6 - -Daniel (4 March 2002) -- Cut off the changes done during 2001 from this changelog file and put them - in a separate file (CHANGES.2001), available from CVS of course. - -- I removed the multi directory. The example sources were moved to the - docs/examples directory where they belong. - -- Wrote 7 new man pages for the current functions in the new multi interface. - They're all still pretty basic, but we can use them as a start and add more - contents to them when we figure out what to write. The large amount of man - pages for libcurl now present made me decide to put them in a new separate - subdirectory in the docs directory. Named libcurl. - -- Giuseppe Corbelli provided a template file for the EPM package manager, it - gets generated nicely by the configure script now. - -Version 7.9.5-pre5 - -Daniel (1 March 2002) -- Moved the memanalyze.pl script into the tests/ dir and added it to the - release archives. It was previously only present in the CVS tree. - -- Modified the February 17th Host: fix, as bug report #523718 pointed out that - it caused crashes! - -- Nico Baggus added more error codes to the VMS stuff. - -- Wesley Laxton brought the code that introduced the new CURLOPT_PREQUOTE - option. It is just another FTP quote option that allows the user to specify - a list of FTP commands to issue *just before* the transfer command (RETR or - STOR etc). It has turned up a few systems that really need this. - - The curl command line tool can also take advantage of this by prefixing the - quote commands with a plus (+) in similar style that post transfer quote - commands are specified. - - This is not yet documented. There is no test case for this yet. - -Daniel (28 February 2002) -- Ralph Mitchell made some serious efforts and put a lot of sweat in setting - up scripts and things for me to be able to repeat his problems, and I - finally could. I found a problem with the header byte counter that wasn't - increased properly and thus we could return CURLE_GOT_NOTHING when we in - fact had received data. - -Daniel (27 February 2002) -- I had to revert the non-space parsing cookie fix I posted to the mailing - list. Expire dates do have spaces and still need to get parsed properly! - Instead we just ignore trailing white space and it seems to work... - -Daniel (26 February 2002) -- Made the cookie property 'Max-Age' work, just since we already tried to - support it, it is better to do it right. No one uses this anyway. - -- The cookie parser could crash if a really weird (illegal) cookie line was - received. I also made it better discard really oddly formatted lines better. - - Made the cookie jar store the second field from the left using the syntax - that Netscape and Mozilla probably like. Curl itself ignores it. - - Added test case 31 for these cases. - - Clay Loveless' email regarding some cookie issues started my cleanup. - -- Kevin Roth pointed out that my automake fiddles broke the ability to build - outside the source-tree and I posted a patch to the mailing list that brings - this ability back. - -Version 7.9.5-pre4 - -Daniel (25 February 2002) -- Fiddled with the automake files to make all source files in the lib - directory not have ../src in the include path, and the src sources shouldn't - have ../lib! - -- All 79 test cases ran OK under Linux and Solaris using the new HTTP server - in the test suite. The new HTTP server was first donated by Georg Horn and - subsequently modified to work with the test suite. It is currently still not - portable enough to run on "all over" but this is a start and I can run all - curl tests on my machines. This is an important requirement for the upcoming - public release. - -- Using -d and -I on the same command line now reports an error, as it implies - two different HTTP requests that can't be mixed. - -- Jeffrey Pohlmeyer provided a patch that made the -w/--write-out option - support %{content_type} to get the content type of the recent download. - -- Kevin Roth reported that pre2 and pre3 didn't compile properly on cygwin, - and this was because I used #ifdef HAVE_WINSOCK_H in lib/multi.h to figure - out if we could include winsock.h which turns out not to be a wise choice to - do on cygwin since it has the file but can't include it! - -Daniel (22 February 2002) -- Added src/config-vms.h to the release archive. - -- Fixed the connection timeout value again, the change from February 18 wasn't - complete. - -Version 7.9.5-pre3 - -Daniel (21 February 2002) -- Kevin Roth and Andrés García both found out that lib/config.h.in was missing - in the pre-release archive and thus the configure script failed. - -Version 7.9.5-pre2 - -Daniel (20 February 2002) -- Andrés García provided a solution to bug report #515228. the total time - counter was not set correctly when -I was used during some conditions (all - headers were read in one single read). - -- Nico Baggus provided a huge patch with minor tweaks all over to make curl - compile nicely on VMS. - -Daniel (19 February 2002) -- Rick Richardson found out that by replacing PF_UNSPEC with PF_INET in the - getaddrinfo() calls, he could speed up some name resolving calls with an - order of magnitudes on his Redhat Linux 7.2. - -- Philip Gladstone found a second INADDR_NONE problem where we used long - intead of in_addr_t which caused 64bit problemos. We really shouldn't define - that on two different places. - -Daniel (18 February 2002) -- Philip Gladstone found a problem in how HTTP requests were sent if the - request couldn't be sent all at once. - -- Emil found and corrected a bad connection timeout comparison that made curl - use the longest of connect-timeout and timout as a timeout value, instead of - the shortest as it was supposed to! - -- Aron Roberts provided updated information about LDAP URL syntax to go into - the manual as a replacement for the old references. - -Daniel (17 February 2002) -- Philip Gladstone pointed out two missing include files that made curl core - dump on 64bit architectures. We need to pay more attention on these details. - It is *lethal* to for example forget the malloc() prototype, as 'int' is - 32bit and malloc() must return a 64bit pointer on these platforms. - -- Giaslas Georgios fixed a problem with Host: headers on repeated requests on - the same handle using a proxy. - -Daniel (8 February 2002) -- Hanno L. Kranzhoff accurately found out that disabling the Expect: header - when doing multipart formposts didn't work very well. It disabled other - parts of the request header too, resulting in a broken header. When I fixed - this, I also noticed that the Content-Type wasn't possible to disable. It is - now, even though it probably is really stupid to try to do this (because of - the boundary string that is included in the internally generated header, - used as form part separator.) - -Daniel (7 February 2002) -- I moved the config*.h files from the root directory to the lib/ directory. - -- I've added the new test suite HTTP server to the CVS repository, It seems to - work pretty good now, but we must make it get used by the test scripts - properly and then we need to make sure that it compiles, builds and runs on - most operating systems. - -Version 7.9.5-pre1 - -Daniel (6 February 2002) -- Miklos Nemeth provided updated windows makefiles and INSTALL docs. - -- Mr Larry Fahnoe found a problem with formposts and I managed to track down - and patch this bug. This was actually two bugs, as the posted size was also - said to be two bytes too large. - -- Brent Beardsley found out and brought a correction for the - CURLINFO_CONTENT_TYPE parser that was off one byte. This was my fault, I - accidentaly broke Giaslas Georgios' patch. - -Daniel (5 February 2002) -- Kevin Roth found yet another SSL download problem. - -Version 7.9.4 - -- no changes since pre-release - -Version 7.9.4-pre2 - -Daniel (3 February 2002) -- Eric Melville provided a few spelling corrections in the curl man page. - -Daniel (1 February 2002) -- Andreas Damm corrected the unconditional use of gmtime() in getdate, it now - uses gmtime_r() on all hosts that have it. - -Daniel (31 January 2002) -- An anonymous bug report identified a problem in the DNS caching which made it - sometimes allocate one byte too little to store the cache entry in. This - happened when the port number started with 1! - -- Albert Chin provided a patch that improves the gethostbyname_r() configure - check on HP-UX 11.00. - -Version 7.9.4-pre1 - -Daniel (30 January 2002) -- Georg Horn found another way the SSL reading failed due to the non-blocking - state of the sockets! I fixed. - -Daniel (29 January 2002) -- Multipart formposts now send the full request properly, including the CRLF. - They were previously treated as part of the post data. - -- The upload byte counter bugged. - -- T. Bharath pointed out that we seed SSL on every connect, which is a time- - consuming operation that should only be needed to do once. We patched - libcurl to now only seed on the first connect when unseeded. The seeded - status is global so it'll now only happen once during a program's life time. - - If the random_file or egdsocket is set, the seed will be re-made though. - -- Giaslas Georgios introduced CURLINFO_CONTENT_TYPE that lets - curl_easy_getinfo() read the content-type from the previous request. - -Daniel (28 January 2002) -- Kjetil Jacobsen found a way to crash curl and after much debugging, it - turned out it was a IPv4-linux only problem introduced in 7.9.3 related to - name resolving. - -- Andreas Damm posted a huge patch that made the curl_getdate() function fully - reentrant! - -- Steve Marx pointed out that you couldn't mix CURLOPT_CUSTOMREQUEST with - CURLOPT_POSTFIELDS. You can now! - -Daniel (25 January 2002) -- Krishnendu Majumdar pointed out that the header length counter was not reset - between multiple requests on the same handle. - -- Pedro Neves rightfully questioned why curl always append \r\n to the data - that is sent in HTTP POST requests. Unfortunately, this broke the test suite - as the test HTTP server is lame enough not to deal with this... :-O - -- Following Location: headers when the connection didn't close didn't work as - libcurl didn't properly stop reading. This problem was added in 7.9.3 due to - the restructured internals. 'Frank' posted a bug report about this. - -Daniel (24 January 2002) -- Kevin Roth very quickly spotted that we wrongly installed the example - programs that were built in the multi directory, when 'make install' was - used. :-/ - -Version 7.9.3 - -Daniel (23 January 2002) -- Andrés García found a persistancy problem when doing HTTP HEAD, that made - curl "hang" until the connection was closed by the server. This problem has - been introduced in 7.9.3 due to internal rewrites, this was not present in - 7.9.2. - -Version 7.9.3-pre4 - -Daniel (19 January 2002) -- Antonio filed bug report #505514 and provided a fix! When doing multipart - formposts, libcurl would include an error text in the actual post if a - specified file wasn't found. This is not libcurl's job. Instead we add an - empty part. - -Daniel (18 January 2002) -- Played around with stricter compiler warnings for gcc (when ./configure - --enable-debug is used) and changed some minor things to stop the warnings. - -- Commented out the 'long long' and 'long double' checks in configure.in, as - we don't currently use them anyway and the code in lib/mprintf.c that use - them causes warnings. - -- Saul Good and jonatan pointed out Mac OS X build problems with pre3 and how - to correct them. Two compiler warnings were removed as well. - -- Andrés García fixed two minor mingw32 building problems. - -Version 7.9.3-pre3 - -Daniel (17 January 2002) -- docs/libcurl-the-guide is a new tutorial for our libcurl programming - friends. - -- Richard Archer brought back the ability to compile and build with OpenSSL - versions before 0.9.5. - [http://sourceforge.net/tracker/?func=detail&atid=100976&aid=504163&group_id=976] - -- The DNS cache code didn't take the port number into account, which made it - work rather bad on IPv6-enabled hosts (especially when doing passive - FTP). Sterling fixed it. - -Daniel (16 January 2002) -- Georg Horn could make a transfer time-out without error text. I found it and - corrected it. - -- SSL writes didn't work, they return an uninitialized value that caused - havoc all over. Georg Horn experienced this. - -- Kevin Roth patched the curl_version() function to use the proper OpenSSL - function for version information. This way, curl will report the version of - the SSL library actually running right now, not the one that had its headers - installed when libcurl was built. Mainly intersting when running with shared - OpenSSL libraries. - -Version 7.9.3-pre2 - -Daniel (16 January 2002) -- Mofied the main transfer loop and related stuff to deal with non-blocking - sockets in the upload section. While doing this, I've now separated the - connection oriented buffers to have one for downloads and one for uploads - (as two can happen simultaneously). I also shrunk the buffers to 20K - each. As we have a scratch buffer twice the size of the upload buffer, we - arrived at 80K for buffers compared with the previous 150K. - -- Added the --cc option to curl-config command as it enables so very cool - one-liners. Have a go a this one, building the simple.c example: - - $ `curl-config --cc --cflags --libs` -o example simple.c - -Daniel (14 January 2002) -- I made all socket reads (recv) handle EWOULDBLOCK. I hope nicely. Now we - only need to address all writes (send) too and then I'm ready for another - pre-release... - -- Stoned Elipot patched the in_addr_t configure test to make it work better on - more platforms. - -Daniel (9 January 2002) -- Cris Bailiff found out that filling up curl's SSL session cache caused a - crash! - -- Posted the curl questionnaire on the web site. If you haven't posted your - opinions there yet, go there and do it now while it is still there: - - http://curl.haxx.se/q/ - -- Georg Horn quickly found out that the SSL reading no longer worked as - supposed since the switch to non-blocking sockets. I've made a quick patch - (for reading only) but we should improve it even further. - -Version 7.9.3-pre1 - -Daniel (7 January 2002) -- I made the 'bool' typedef use an "unsigned char". It makes it the same on - all platforms, no matter what the platform thinks the default format for - char is. This was noticed since we made a silly comparison involving such a - bool variable, and only one compiler/platform combination (on Debian Linux) - complained about it (that happened to have its char unsigned by default). - -- Bug report #495290 identified a cookie parsing problem that was corrected. - When a Set-Cookie: line is received without a trailing semicolon, libcurl - didn't read the last "name=value" pair of the line, leading to confusions... - -- Sterling committed his updated DNS cache code. - -- I worked with Georg Horn and comments from Götz Babin-Ebell and switched - curl's socket operations completely over to non-blocking for the entire - operation (previously we used non-blocking only for the connection phase). - We had to do this to make the SSL connection phase timeout properly without - the use of signals. A little extra code to deal with this was added. - -- T. Bharath pointed out a slightly obscure cookie engine flaw. - -- Pete Su pointed out that libcurl didn't treat HTTP code 204 as it should. - 204-replies never provides a response-body. This resulted in bad persistant - behavior when 204 was received. - -Daniel (5 January 2002) -- SM updated the VC++ library Makefiles for the new source files. - -Daniel (4 January 2002) -- I discovered that we wrongly used inet_ntoa() (instead of inet_ntoa_r() in - two places in the source code). One happened with VERBOSE set on connects, - and the other when VERBOSE was on and krb4 over nat was used... I honestly - don't think anyone has suffered from these mistakes. - -- I replaced a lot of silly occurances of printf() to instead use the more - appropriate Curl_infof() or Curl_failf(). The krb4 and telnet code were - affected. - -- Philip Gladstone found a few more problems with 64-bit archs (the 64-bit - sparc on solaris 8). - -- After discussions on the libcurl list with Raoul Cridlig, I just made FTP - response lines get passed to the header callback if such a one is - registered. It'll make it possible for any application to get all the - responses an FTP server sends to libcurl. - -Daniel (3 January 2002) -- Sterling Hughes brought a few buckets of code. Now, libcurl will - automatically cache DNS lookups and re-use the previous results first if any - such is available. It greatly improves speed when doing many repeated - operations to the same host. - -- As the test case uses --include and then --head, I had to modify src/main.c - to deal with this situation slightly better than previously. When done, we - have 100% good tests again in the main branch. - -Daniel (2 January 2002) -- Made test case 25 run again in the multi-dev branch. But it seems that the - changes done on dec-20 made test case 104 cease to work (in both branches). - -- Philip Gladstone pointed out a few portability problems in the source code - that didn't compile on 64-bit sparcs using Sun's native
\ No newline at end of file diff --git a/Build/source/libs/curl/LEGAL b/Build/source/libs/curl/LEGAL deleted file mode 100644 index e561c12a925..00000000000 --- a/Build/source/libs/curl/LEGAL +++ /dev/null @@ -1,25 +0,0 @@ - Copyright (C) 1998-2001, Daniel Stenberg, <daniel@haxx.se>, et al. - - Everyone is permitted to copy and distribute verbatim copies of this license - document, but changing it is not allowed. - - In order to be useful for every potential user, the curl and libcurl are - dual-licensed under the MPL and the MIT/X-derivate licenses. - - 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 MPL or the MIT/X-derivate licenses. You may - pick one of these licenses. The files MITX.txt and MPL-1.1.txt contain the - license texts. - - As a courtesy to the open-source and free software community, we ask you to - dual-license any modifications that you make as well, under the terms of this - document. - - Please remember to always keep the licensing information included in - individual source files up-to-date, so as to avoid misleading anyone as to - the status of these files. - - I will use a submission policy according to which I will only enter - contributions into the CVS tree if the contributor agrees to both licenses - and this dual-license approach. diff --git a/Build/source/libs/curl/MITX.txt b/Build/source/libs/curl/MITX.txt deleted file mode 100644 index 60811f7b647..00000000000 --- a/Build/source/libs/curl/MITX.txt +++ /dev/null @@ -1,27 +0,0 @@ -COPYRIGHT AND PERMISSION NOTICE - -Copyright (c) 1996 - 2001, Daniel Stenberg, <daniel@haxx.se>. - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, and/or sell copies of the -Software, and to permit persons to whom the Software is furnished to do so, -provided that the above copyright notice(s) and this permission notice appear -in all copies of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN -NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE -LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY -DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN -CONNECTION WITH THE USE OR PERFORMANCE OF THIS 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/Build/source/libs/curl/MPL-1.1.txt b/Build/source/libs/curl/MPL-1.1.txt deleted file mode 100644 index 7714141d154..00000000000 --- a/Build/source/libs/curl/MPL-1.1.txt +++ /dev/null @@ -1,470 +0,0 @@ - MOZILLA PUBLIC LICENSE - Version 1.1 - - --------------- - -1. Definitions. - - 1.0.1. "Commercial Use" means distribution or otherwise making the - Covered Code available to a third party. - - 1.1. "Contributor" means each entity that creates or contributes to - the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the Original - Code, prior Modifications used by a Contributor, and the Modifications - made by that particular Contributor. - - 1.3. "Covered Code" means the Original Code or Modifications or the - combination of the Original Code and Modifications, in each case - including portions thereof. - - 1.4. "Electronic Distribution Mechanism" means a mechanism generally - accepted in the software development community for the electronic - transfer of data. - - 1.5. "Executable" means Covered Code in any form other than Source - Code. - - 1.6. "Initial Developer" means the individual or entity identified - as the Initial Developer in the Source Code notice required by Exhibit - A. - - 1.7. "Larger Work" means a work which combines Covered Code or - portions thereof with code not governed by the terms of this License. - - 1.8. "License" means this document. - - 1.8.1. "Licensable" means having the right to grant, to the maximum - extent possible, whether at the time of the initial grant or - subsequently acquired, any and all of the rights conveyed herein. - - 1.9. "Modifications" means any addition to or deletion from the - substance or structure of either the Original Code or any previous - Modifications. When Covered Code is released as a series of files, a - Modification is: - A. Any addition to or deletion from the contents of a file - containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or - previous Modifications. - - 1.10. "Original Code" means Source Code of computer software code - which is described in the Source Code notice required by Exhibit A as - Original Code, and which, at the time of its release under this - License is not already Covered Code governed by this License. - - 1.10.1. "Patent Claims" means any patent claim(s), now owned or - hereafter acquired, including without limitation, method, process, - and apparatus claims, in any patent Licensable by grantor. - - 1.11. "Source Code" means the preferred form of the Covered Code for - making modifications to it, including all modules it contains, plus - any associated interface definition files, scripts used to control - compilation and installation of an Executable, or source code - differential comparisons against either the Original Code or another - well known, available Covered Code of the Contributor's choice. The - Source Code can be in a compressed or archival form, provided the - appropriate decompression or de-archiving software is widely available - for no charge. - - 1.12. "You" (or "Your") means an individual or a legal entity - exercising rights under, and complying with all of the terms of, this - License or a future version of this License issued under Section 6.1. - For legal entities, "You" includes any entity which controls, is - controlled by, or is under common control with You. For purposes of - this definition, "control" means (a) the power, direct or indirect, - to cause the direction or management of such entity, whether by - contract or otherwise, or (b) ownership of more than fifty percent - (50%) of the outstanding shares or beneficial ownership of such - entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, - non-exclusive license, subject to third party intellectual property - claims: - (a) under intellectual property rights (other than patent or - trademark) Licensable by Initial Developer to use, reproduce, - modify, display, perform, sublicense and distribute the Original - Code (or portions thereof) with or without Modifications, and/or - as part of a Larger Work; and - - (b) under Patents Claims infringed by the making, using or - selling of Original Code, to make, have made, use, practice, - sell, and offer for sale, and/or otherwise dispose of the - Original Code (or portions thereof). - - (c) the licenses granted in this Section 2.1(a) and (b) are - effective on the date Initial Developer first distributes - Original Code under the terms of this License. - - (d) Notwithstanding Section 2.1(b) above, no patent license is - granted: 1) for code that You delete from the Original Code; 2) - separate from the Original Code; or 3) for infringements caused - by: i) the modification of the Original Code or ii) the - combination of the Original Code with other software or devices. - - 2.2. Contributor Grant. - Subject to third party intellectual property claims, each Contributor - hereby grants You a world-wide, royalty-free, non-exclusive license - - (a) under intellectual property rights (other than patent or - trademark) Licensable by Contributor, to use, reproduce, modify, - display, perform, sublicense and distribute the Modifications - created by such Contributor (or portions thereof) either on an - unmodified basis, with other Modifications, as Covered Code - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, using, or - selling of Modifications made by that Contributor either alone - and/or in combination with its Contributor Version (or portions - of such combination), to make, use, sell, offer for sale, have - made, and/or otherwise dispose of: 1) Modifications made by that - Contributor (or portions thereof); and 2) the combination of - Modifications made by that Contributor with its Contributor - Version (or portions of such combination). - - (c) the licenses granted in Sections 2.2(a) and 2.2(b) are - effective on the date Contributor first makes Commercial Use of - the Covered Code. - - (d) Notwithstanding Section 2.2(b) above, no patent license is - granted: 1) for any code that Contributor has deleted from the - Contributor Version; 2) separate from the Contributor Version; - 3) for infringements caused by: i) third party modifications of - Contributor Version or ii) the combination of Modifications made - by that Contributor with other software (except as part of the - Contributor Version) or other devices; or 4) under Patent Claims - infringed by Covered Code in the absence of Modifications made by - that Contributor. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are - governed by the terms of this License, including without limitation - Section 2.2. The Source Code version of Covered Code may be - distributed only under the terms of this License or a future version - of this License released under Section 6.1, and You must include a - copy of this License with every copy of the Source Code You - distribute. You may not offer or impose any terms on any Source Code - version that alters or restricts the applicable version of this - License or the recipients' rights hereunder. However, You may include - an additional document offering the additional rights described in - Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be - made available in Source Code form under the terms of this License - either on the same media as an Executable version or via an accepted - Electronic Distribution Mechanism to anyone to whom you made an - Executable version available; and if made available via Electronic - Distribution Mechanism, must remain available for at least twelve (12) - months after the date it initially became available, or at least six - (6) months after a subsequent version of that particular Modification - has been made available to such recipients. You are responsible for - ensuring that the Source Code version remains available even if the - Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which You contribute to contain a - file documenting the changes You made to create that Covered Code and - the date of any change. You must include a prominent statement that - the Modification is derived, directly or indirectly, from Original - Code provided by the Initial Developer and including the name of the - Initial Developer in (a) the Source Code, and (b) in any notice in an - Executable version or related documentation in which You describe the - origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - (a) Third Party Claims. - If Contributor has knowledge that a license under a third party's - intellectual property rights is required to exercise the rights - granted by such Contributor under Sections 2.1 or 2.2, - Contributor must include a text file with the Source Code - distribution titled "LEGAL" which describes the claim and the - party making the claim in sufficient detail that a recipient will - know whom to contact. If Contributor obtains such knowledge after - the Modification is made available as described in Section 3.2, - Contributor shall promptly modify the LEGAL file in all copies - Contributor makes available thereafter and shall take other steps - (such as notifying appropriate mailing lists or newsgroups) - reasonably calculated to inform those who received the Covered - Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Contributor's Modifications include an application programming - interface and Contributor has knowledge of patent licenses which - are reasonably necessary to implement that API, Contributor must - also include this information in the LEGAL file. - - (c) Representations. - Contributor represents that, except as disclosed pursuant to - Section 3.4(a) above, Contributor believes that Contributor's - Modifications are Contributor's original creation(s) and/or - Contributor has sufficient rights to grant the rights conveyed by - this License. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source - Code. If it is not possible to put such notice in a particular Source - Code file due to its structure, then You must include such notice in a - location (such as a relevant directory) where a user would be likely - to look for such a notice. If You created one or more Modification(s) - You may add your name as a Contributor to the notice described in - Exhibit A. You must also duplicate this License in any documentation - for the Source Code where You describe recipients' rights or ownership - rights relating to Covered Code. You may choose to offer, and to - charge a fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Code. However, You - may do so only on Your own behalf, and not on behalf of the Initial - Developer or any Contributor. You must make it absolutely clear than - any such warranty, support, indemnity or liability obligation is - offered by You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred by the - Initial Developer or such Contributor as a result of warranty, - support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the - requirements of Section 3.1-3.5 have been met for that Covered Code, - and if You include a notice stating that the Source Code version of - the Covered Code is available under the terms of this License, - including a description of how and where You have fulfilled the - obligations of Section 3.2. The notice must be conspicuously included - in any notice in an Executable version, related documentation or - collateral in which You describe recipients' rights relating to the - Covered Code. You may distribute the Executable version of Covered - Code or ownership rights under a license of Your choice, which may - contain terms different from this License, provided that You are in - compliance with the terms of this License and that the license for the - Executable version does not attempt to limit or alter the recipient's - rights in the Source Code version from the rights set forth in this - License. If You distribute the Executable version under a different - license You must make it absolutely clear that any terms which differ - from this License are offered by You alone, not by the Initial - Developer or any Contributor. You hereby agree to indemnify the - Initial Developer and every Contributor for any liability incurred by - the Initial Developer or such Contributor as a result of any such - terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code - not governed by the terms of this License and distribute the Larger - Work as a single product. In such a case, You must make sure the - requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this - License with respect to some or all of the Covered Code due to - statute, judicial order, or regulation then You must: (a) comply with - the terms of this License to the maximum extent possible; and (b) - describe the limitations and the code they affect. Such description - must be included in the LEGAL file described in Section 3.4 and must - be included with all distributions of the Source Code. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has - attached the notice in Exhibit A and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation ("Netscape") may publish revised - and/or new versions of the License from time to time. Each version - will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the - License, You may always continue to use it under the terms of that - version. You may also choose to use such Covered Code under the terms - of any subsequent version of the License published by Netscape. No one - other than Netscape has the right to modify the terms applicable to - Covered Code created under this License. - - 6.3. Derivative Works. - If You create or use a modified version of this License (which you may - only do in order to apply it to code which is not already Covered Code - governed by this License), You must (a) rename Your license so that - the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", - "MPL", "NPL" or any confusingly similar phrase do not appear in your - license (except to note that your license differs from this License) - and (b) otherwise make it clear that Your version of the license - contains terms which differ from the Mozilla Public License and - Netscape Public License. (Filling in the name of the Initial - Developer, Original Code or Contributor in the notice described in - Exhibit A shall not of themselves be deemed to be modifications of - this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF - DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. - THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE - IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, - YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE - COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER - OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - 8.1. This License and the rights granted hereunder will terminate - automatically if You fail to comply with terms herein and fail to cure - such breach within 30 days of becoming aware of the breach. All - sublicenses to the Covered Code which are properly granted shall - survive any termination of this License. Provisions which, by their - nature, must remain in effect beyond the termination of this License - shall survive. - - 8.2. If You initiate litigation by asserting a patent infringement - claim (excluding declatory judgment actions) against Initial Developer - or a Contributor (the Initial Developer or Contributor against whom - You file such action is referred to as "Participant") alleging that: - - (a) such Participant's Contributor Version directly or indirectly - infringes any patent, then any and all rights granted by such - Participant to You under Sections 2.1 and/or 2.2 of this License - shall, upon 60 days notice from Participant terminate prospectively, - unless if within 60 days after receipt of notice You either: (i) - agree in writing to pay Participant a mutually agreeable reasonable - royalty for Your past and future use of Modifications made by such - Participant, or (ii) withdraw Your litigation claim with respect to - the Contributor Version against such Participant. If within 60 days - of notice, a reasonable royalty and payment arrangement are not - mutually agreed upon in writing by the parties or the litigation claim - is not withdrawn, the rights granted by Participant to You under - Sections 2.1 and/or 2.2 automatically terminate at the expiration of - the 60 day notice period specified above. - - (b) any software, hardware, or device, other than such Participant's - Contributor Version, directly or indirectly infringes any patent, then - any rights granted to You by such Participant under Sections 2.1(b) - and 2.2(b) are revoked effective as of the date You first made, used, - sold, distributed, or had made, Modifications made by that - Participant. - - 8.3. If You assert a patent infringement claim against Participant - alleging that such Participant's Contributor Version directly or - indirectly infringes any patent where such claim is resolved (such as - by license or settlement) prior to the initiation of patent - infringement litigation, then the reasonable value of the licenses - granted by such Participant under Sections 2.1 or 2.2 shall be taken - into account in determining the amount or value of any payment or - license. - - 8.4. In the event of termination under Sections 8.1 or 8.2 above, - all end user license agreements (excluding distributors and resellers) - which have been validly granted by You or any distributor hereunder - prior to termination shall survive termination. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL - DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, - OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR - ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY - CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, - WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY - RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW - PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE - EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO - THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a "commercial item," as that term is defined in - 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer - software" and "commercial computer software documentation," as such - terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 - C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), - all U.S. Government End Users acquire Covered Code with only those - rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. This License shall be governed by - California law provisions (except to the extent applicable law, if - any, provides otherwise), excluding its conflict-of-law provisions. - With respect to disputes in which at least one party is a citizen of, - or an entity chartered or registered to do business in the United - States of America, any litigation relating to this License shall be - subject to the jurisdiction of the Federal Courts of the Northern - District of California, with venue lying in Santa Clara County, - California, with the losing party responsible for costs, including - without limitation, court costs and reasonable attorneys' fees and - expenses. The application of the United Nations Convention on - Contracts for the International Sale of Goods is expressly excluded. - Any law or regulation which provides that the language of a contract - shall be construed against the drafter shall not apply to this - License. - -12. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or indirectly, - out of its utilization of rights under this License and You agree to - work with Initial Developer and Contributors to distribute such - responsibility on an equitable basis. Nothing herein is intended or - shall be deemed to constitute any admission of liability. - -13. MULTIPLE-LICENSED CODE. - - Initial Developer may designate portions of the Covered Code as - "Multiple-Licensed". "Multiple-Licensed" means that the Initial - Developer permits you to utilize portions of the Covered Code under - Your choice of the NPL or the alternative licenses, if any, specified - by the Initial Developer in the file described in Exhibit A. - -EXHIBIT A -Mozilla Public License. - - ``The contents of this file are subject to the Mozilla Public License - Version 1.1 (the "License"); you may not use this file except in - compliance with the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the - License for the specific language governing rights and limitations - under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. - Portions created by ______________________ are Copyright (C) ______ - _______________________. All Rights Reserved. - - Contributor(s): ______________________________________. - - Alternatively, the contents of this file may be used under the terms - of the _____ license (the "[___] License"), in which case the - provisions of [______] License are applicable instead of those - above. If you wish to allow use of your version of this file only - under the terms of the [____] License and not to allow others to use - your version of this file under the MPL, indicate your decision by - deleting the provisions above and replace them with the notice and - other provisions required by the [___] License. If you do not delete - the provisions above, a recipient may use your version of this file - under either the MPL or the [___] License." - - [NOTE: The text of this Exhibit A may differ slightly from the text of - the notices in the Source Code files of the Original Code. You should - use the text of this Exhibit A rather than the text found in the - Original Code Source Code for Your Modifications.] - diff --git a/Build/source/libs/curl/Makefile b/Build/source/libs/curl/Makefile deleted file mode 100644 index 74e0c301315..00000000000 --- a/Build/source/libs/curl/Makefile +++ /dev/null @@ -1,76 +0,0 @@ -############################################################################# -# _ _ ____ _ -# Project ___| | | | _ \| | -# / __| | | | |_) | | -# | (__| |_| | _ <| |___ -# \___|\___/|_| \_\_____| -# -# Copyright (C) 2002, Daniel Stenberg, <daniel@haxx.se>, et al. -# -# In order to be useful for every potential user, curl and libcurl are -# dual-licensed under the MPL and the MIT/X-derivate licenses. -# -# 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 MPL or the MIT/X-derivate -# licenses. You may pick one of these licenses. -# -# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY -# KIND, either express or implied. -# -# $Id: Makefile.dist,v 1.11 2002/02/25 13:25:33 bagder Exp $ -############################################################################# - -all: - ./configure - make - -ssl: - ./configure --with-ssl - make - -borland: - cd lib & make -f Makefile.b32 - cd src & make -f Makefile.b32 - -mingw32: - cd lib & make -f Makefile.m32 - cd src & make -f Makefile.m32 - -mingw32-ssl: - cd lib & make -f Makefile.m32 SSL=1 - cd src & make -f Makefile.m32 SSL=1 - -vc: - cd lib - nmake -f Makefile.vc6 cfg=release - cd ..\src - nmake -f Makefile.vc6 - -vc-ssl: - cd lib - nmake -f Makefile.vc6 cfg=release-ssl - cd ..\src - nmake -f Makefile.vc6 cfg=release-ssl - -vc-ssl-dll: - cd lib - nmake -f Makefile.vc6 cfg=release-ssl-dll - cd ..\src - nmake -f Makefile.vc6 - -cygwin: - ./configure - make - -cygwin-ssl: - ./configure --with-ssl - make - -unix: all - -unix-ssl: ssl - -linux: all - -linux-ssl: ssl diff --git a/Build/source/libs/curl/Makefile.am b/Build/source/libs/curl/Makefile.am deleted file mode 100644 index a7c6097b397..00000000000 --- a/Build/source/libs/curl/Makefile.am +++ /dev/null @@ -1,73 +0,0 @@ -# -# $Id: Makefile.am,v 1.31 2002/03/04 10:15:12 bagder Exp $ -# - -AUTOMAKE_OPTIONS = foreign - -EXTRA_DIST = \ - CHANGES LEGAL maketgz MITX.txt MPL-1.1.txt \ - reconf Makefile.dist curl-config.in build_vms.com curl-mode.el - -bin_SCRIPTS = curl-config - -SUBDIRS = docs lib src include tests packages - -# create a root makefile in the distribution: -dist-hook: - cp $(srcdir)/Makefile.dist $(distdir)/Makefile - -html: - cd docs; make html - -check: test - -test: - @(cd tests; $(MAKE) quiet-test) - -# -# 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 pkkgadd 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 LEGAL MITX.txt MPL-1.1.txt > $(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 diff --git a/Build/source/libs/curl/Makefile.dist b/Build/source/libs/curl/Makefile.dist deleted file mode 100644 index 74e0c301315..00000000000 --- a/Build/source/libs/curl/Makefile.dist +++ /dev/null @@ -1,76 +0,0 @@ -############################################################################# -# _ _ ____ _ -# Project ___| | | | _ \| | -# / __| | | | |_) | | -# | (__| |_| | _ <| |___ -# \___|\___/|_| \_\_____| -# -# Copyright (C) 2002, Daniel Stenberg, <daniel@haxx.se>, et al. -# -# In order to be useful for every potential user, curl and libcurl are -# dual-licensed under the MPL and the MIT/X-derivate licenses. -# -# 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 MPL or the MIT/X-derivate -# licenses. You may pick one of these licenses. -# -# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY -# KIND, either express or implied. -# -# $Id: Makefile.dist,v 1.11 2002/02/25 13:25:33 bagder Exp $ -############################################################################# - -all: - ./configure - make - -ssl: - ./configure --with-ssl - make - -borland: - cd lib & make -f Makefile.b32 - cd src & make -f Makefile.b32 - -mingw32: - cd lib & make -f Makefile.m32 - cd src & make -f Makefile.m32 - -mingw32-ssl: - cd lib & make -f Makefile.m32 SSL=1 - cd src & make -f Makefile.m32 SSL=1 - -vc: - cd lib - nmake -f Makefile.vc6 cfg=release - cd ..\src - nmake -f Makefile.vc6 - -vc-ssl: - cd lib - nmake -f Makefile.vc6 cfg=release-ssl - cd ..\src - nmake -f Makefile.vc6 cfg=release-ssl - -vc-ssl-dll: - cd lib - nmake -f Makefile.vc6 cfg=release-ssl-dll - cd ..\src - nmake -f Makefile.vc6 - -cygwin: - ./configure - make - -cygwin-ssl: - ./configure --with-ssl - make - -unix: all - -unix-ssl: ssl - -linux: all - -linux-ssl: ssl diff --git a/Build/source/libs/curl/Makefile.in b/Build/source/libs/curl/Makefile.in deleted file mode 100644 index 111a6cd41c3..00000000000 --- a/Build/source/libs/curl/Makefile.in +++ /dev/null @@ -1,503 +0,0 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# 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@ - -# -# $Id: Makefile.am,v 1.31 2002/03/04 10:15:12 bagder Exp $ -# - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = . - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_alias = @host_alias@ -host_triplet = @host@ -AMTAR = @AMTAR@ -AS = @AS@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -EXEEXT = @EXEEXT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -IPV6_ENABLED = @IPV6_ENABLED@ -KRB4_ENABLED = @KRB4_ENABLED@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -NROFF = @NROFF@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_ENABLED = @OPENSSL_ENABLED@ -PACKAGE = @PACKAGE@ -PERL = @PERL@ -PKGADD_NAME = @PKGADD_NAME@ -PKGADD_PKG = @PKGADD_PKG@ -PKGADD_VENDOR = @PKGADD_VENDOR@ -RANDOM_FILE = @RANDOM_FILE@ -RANLIB = @RANLIB@ -STRIP = @STRIP@ -VERSION = @VERSION@ -VERSIONNUM = @VERSIONNUM@ -YACC = @YACC@ -am__include = @am__include@ -am__quote = @am__quote@ -install_sh = @install_sh@ - -AUTOMAKE_OPTIONS = foreign - -EXTRA_DIST = \ - CHANGES LEGAL maketgz MITX.txt MPL-1.1.txt \ - reconf Makefile.dist curl-config.in build_vms.com curl-mode.el - - -bin_SCRIPTS = curl-config - -SUBDIRS = docs lib src include tests packages -subdir = . -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/lib/config.h \ - $(top_builddir)/src/config.h \ - $(top_builddir)/tests/server/config.h -CONFIG_CLEAN_FILES = curl-config -SCRIPTS = $(bin_SCRIPTS) - -DIST_SOURCES = - -RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ - uninstall-info-recursive all-recursive install-data-recursive \ - install-exec-recursive installdirs-recursive install-recursive \ - uninstall-recursive check-recursive installcheck-recursive -DIST_COMMON = README Makefile.am Makefile.in acconfig.h acinclude.m4 \ - aclocal.m4 config.guess config.sub configure configure.in \ - curl-config.in depcomp install-sh ltmain.sh missing \ - mkinstalldirs -DIST_SUBDIRS = $(SUBDIRS) -all: all-recursive - -.SUFFIXES: - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$@ $(SHELL) ./config.status - -$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck -$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) - cd $(srcdir) && $(AUTOCONF) - -$(ACLOCAL_M4): configure.in acinclude.m4 - cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -curl-config: $(top_builddir)/config.status curl-config.in - cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status -install-binSCRIPTS: $(bin_SCRIPTS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(bindir) - @list='$(bin_SCRIPTS)'; for p in $$list; do \ - f="`echo $$p|sed '$(transform)'`"; \ - if test -f $$p; then \ - echo " $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/$$f"; \ - $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/$$f; \ - elif test -f $(srcdir)/$$p; then \ - echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/$$f"; \ - $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/$$f; \ - else :; fi; \ - done - -uninstall-binSCRIPTS: - @$(NORMAL_UNINSTALL) - @list='$(bin_SCRIPTS)'; for p in $$list; do \ - f="`echo $$p|sed '$(transform)'`"; \ - echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ - rm -f $(DESTDIR)$(bindir)/$$f; \ - done -uninstall-info-am: - -# 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): - @set fnord $(MAKEFLAGS); amf=$$2; \ - 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) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - 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: - @set fnord $(MAKEFLAGS); amf=$$2; \ - 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) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(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 $(LISP) - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(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 "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) - -GTAGS: - here=`CDPATH=: && cd $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = . -# Avoid unsightly `./'. -distdir = $(PACKAGE)-$(VERSION) - -GZIP_ENV = --best - -distdir: $(DISTFILES) - -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) - mkdir $(distdir) - $(mkinstalldirs) $(distdir)/. $(distdir)/packages/EPM $(distdir)/packages/Linux/RPM - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - for subdir in $(SUBDIRS); do \ - if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ - || exit 1; \ - (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 -777 -exec chmod a+rwx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r $(distdir) -dist: distdir - $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(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 - -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir) - GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - - chmod -R a-w $(distdir); chmod a+w $(distdir) - mkdir $(distdir)/=build - mkdir $(distdir)/=inst - chmod a-w $(distdir) - dc_install_base=`CDPATH=: && cd $(distdir)/=inst && pwd` \ - && cd $(distdir)/=build \ - && ../configure --srcdir=.. --prefix=$$dc_install_base \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && (test `find $$dc_install_base -type f -print | wc -l` -le 1 \ - || (echo "Error: files left after uninstall" 1>&2; \ - exit 1) ) \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && $(MAKE) $(AM_MAKEFLAGS) distclean \ - && rm -f $(distdir).tar.gz \ - && (test `find . -type f -print | wc -l` -eq 0 \ - || (echo "Error: files left after distclean" 1>&2; \ - exit 1) ) - -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir) - @echo "$(distdir).tar.gz is ready for distribution" | \ - sed 'h;s/./=/g;p;x;p;x' -check-am: all-am -check: check-recursive -all-am: Makefile $(SCRIPTS) -installdirs: installdirs-recursive -installdirs-am: - $(mkinstalldirs) $(DESTDIR)$(bindir) - -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)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -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 mostlyclean-am - -dist-all: distdir - $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) -distclean: distclean-recursive - -rm -f config.status config.cache config.log -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-exec-am: install-binSCRIPTS - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -uninstall-am: uninstall-binSCRIPTS uninstall-info-am - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-recursive dist dist-all \ - distcheck distclean distclean-generic distclean-libtool \ - distclean-recursive distclean-tags distdir dvi dvi-am \ - dvi-recursive info info-am info-recursive install install-am \ - install-binSCRIPTS install-data install-data-am \ - install-data-recursive install-exec install-exec-am \ - install-exec-recursive install-info install-info-am \ - install-info-recursive install-man install-recursive \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am installdirs-recursive maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive mostlyclean \ - mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ - tags tags-recursive uninstall uninstall-am uninstall-binSCRIPTS \ - uninstall-info-am uninstall-info-recursive uninstall-recursive - - -# create a root makefile in the distribution: -dist-hook: - cp $(srcdir)/Makefile.dist $(distdir)/Makefile - -html: - cd docs; make html - -check: test - -test: - @(cd tests; $(MAKE) quiet-test) - -# -# 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 pkkgadd 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 LEGAL MITX.txt MPL-1.1.txt > $(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 -# 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/Build/source/libs/curl/README b/Build/source/libs/curl/README deleted file mode 100644 index 5b707653c4d..00000000000 --- a/Build/source/libs/curl/README +++ /dev/null @@ -1,48 +0,0 @@ - _ _ ____ _ - ___| | | | _ \| | - / __| | | | |_) | | - | (__| |_| | _ <| |___ - \___|\___/|_| \_\_____| - -README - - Curl is a command line tool for transfering 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 a library that Curl is using to do its job. It is readily - available to be used by your software. Read the libcurl.3 man page to - find out how! - - You find answers to the most frequent questions we get in the FAQ document. - - Study the LEGAL file for distribution terms and similar. - - Always try the Curl web site for the latest news: - - http://curl.haxx.se - - The official download mirror sites are: - - Sweden -- ftp://ftp.sunet.se/pub/www/utilities/curl/ - Sweden -- http://cool.haxx.se/curl/ - Germany -- ftp://ftp.fu-berlin.de/pub/unix/network/curl/ - - To download the very latest source off the CVS server do this: - - cvs -d :pserver:anonymous@cvs.curl.sourceforge.net:/cvsroot/curl login - - (just press enter when asked for password) - - cvs -d :pserver:anonymous@cvs.curl.sourceforge.net:/cvsroot/curl co curl - - (you'll get a directory named curl created, filled with the source code) - - cvs -d :pserver:anonymous@cvs.curl.sourceforge.net:/cvsroot/curl logout - - (you're off the hook!) - - 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/Build/source/libs/curl/acconfig.h b/Build/source/libs/curl/acconfig.h deleted file mode 100644 index 8eb30326527..00000000000 --- a/Build/source/libs/curl/acconfig.h +++ /dev/null @@ -1,66 +0,0 @@ -/* Name of this package! */ -#undef PACKAGE - -/* Version number of this archive. */ -#undef VERSION - -/* Define if you have the getpass function. */ -#undef HAVE_GETPASS - -/* Define cpu-machine-OS */ -#undef OS - -/* Define if you have the gethostbyaddr_r() function with 5 arguments */ -#undef HAVE_GETHOSTBYADDR_R_5 - -/* Define if you have the gethostbyaddr_r() function with 7 arguments */ -#undef HAVE_GETHOSTBYADDR_R_7 - -/* Define if you have the gethostbyaddr_r() function with 8 arguments */ -#undef HAVE_GETHOSTBYADDR_R_8 - -/* Define if you have the gethostbyname_r() function with 3 arguments */ -#undef HAVE_GETHOSTBYNAME_R_3 - -/* Define if you have the gethostbyname_r() function with 5 arguments */ -#undef HAVE_GETHOSTBYNAME_R_5 - -/* Define if you have the gethostbyname_r() function with 6 arguments */ -#undef HAVE_GETHOSTBYNAME_R_6 - -/* Define if you have the inet_ntoa_r function declared. */ -#undef HAVE_INET_NTOA_R_DECL - -/* Define if you need the _REENTRANT define for some functions */ -#undef NEED_REENTRANT - -/* Define if you have the Kerberos4 libraries (including -ldes) */ -#undef KRB4 - -/* Define if you want to enable IPv6 support */ -#undef ENABLE_IPV6 - -/* Define this to 'int' if ssize_t is not an available typedefed type */ -#undef ssize_t - -/* Define this to 'int' if socklen_t is not an available typedefed type */ -#undef socklen_t - -/* Define this as a suitable file to read random data from */ -#undef RANDOM_FILE - -/* Define this to your Entropy Gathering Daemon socket pathname */ -#undef EGD_SOCKET - -/* Define if you have a working OpenSSL installation */ -#undef OPENSSL_ENABLED - -/* Define the one correct non-blocking socket method below */ -#undef HAVE_FIONBIO -#undef HAVE_IOCTLSOCKET -#undef HAVE_IOCTLSOCKET_CASE -#undef HAVE_O_NONBLOCK -#undef HAVE_DISABLED_NONBLOCKING - -/* Define this to 'int' if in_addr_t is not an available typedefed type */ -#undef in_addr_t diff --git a/Build/source/libs/curl/acinclude.m4 b/Build/source/libs/curl/acinclude.m4 deleted file mode 100644 index 3b7ab69f080..00000000000 --- a/Build/source/libs/curl/acinclude.m4 +++ /dev/null @@ -1,447 +0,0 @@ -dnl Check for how to set a socket to non-blocking state. There seems to exist -dnl four known different ways, with the one used almost everywhere being POSIX -dnl and XPG3, while the other different ways for different systems (old BSD, -dnl Windows and Amiga). -dnl -dnl There are two known platforms (AIX 3.x and SunOS 4.1.x) where the -dnl O_NONBLOCK define is found but does not work. This condition is attempted -dnl to get caught in this script by using an excessive number of #ifdefs... -dnl -AC_DEFUN(CURL_CHECK_NONBLOCKING_SOCKET, -[ - AC_MSG_CHECKING([non-blocking sockets style]) - - AC_TRY_COMPILE([ -/* headers for O_NONBLOCK test */ -#include <sys/types.h> -#include <unistd.h> -#include <fcntl.h> -],[ -/* try to compile O_NONBLOCK */ - -#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(_AIX4) -# define PLATFORM_AIX_V3 -#endif - -#if defined(PLATFORM_SUNOS4) || defined(PLATFORM_AIX_V3) -#error "O_NONBLOCK does not work on this platform" -#endif - int socket; - int flags = fcntl(socket, F_SETFL, flags | O_NONBLOCK); -],[ -dnl the O_NONBLOCK test was fine -nonblock="O_NONBLOCK" -AC_DEFINE(HAVE_O_NONBLOCK) -],[ -dnl the code was bad, try a different program now, test 2 - - AC_TRY_COMPILE([ -/* headers for FIONBIO test */ -#include <unistd.h> -#include <stropts.h> -],[ -/* FIONBIO source test */ - int flags = ioctl(socket, FIONBIO, &flags); -],[ -dnl FIONBIO test was good -nonblock="FIONBIO" -AC_DEFINE(HAVE_FIONBIO) -],[ -dnl FIONBIO test was also bad -dnl the code was bad, try a different program now, test 3 - - AC_TRY_COMPILE([ -/* headers for ioctlsocket test (cygwin?) */ -#include <windows.h> -],[ -/* ioctlsocket source code */ - int flags = ioctlsocket(socket, FIONBIO, &flags); -],[ -dnl ioctlsocket test was good -nonblock="ioctlsocket" -AC_DEFINE(HAVE_IOCTLSOCKET) -],[ -dnl ioctlsocket didnt compile! - - AC_TRY_COMPILE([ -/* headers for IoctlSocket test (Amiga?) */ -#include <sys/ioctl.h> -],[ -/* IoctlSocket source code */ - int flags = IoctlSocket(socket, FIONBIO, (long)1); -],[ -dnl ioctlsocket test was good -nonblock="IoctlSocket" -AC_DEFINE(HAVE_IOCTLSOCKET_CASE) -],[ -dnl ioctlsocket didnt compile! -nonblock="nada" -AC_DEFINE(HAVE_DISABLED_NONBLOCKING) -]) -dnl end of forth test - -]) -dnl end of third test - -]) -dnl end of second test - -]) -dnl end of non-blocking try-compile test - AC_MSG_RESULT($nonblock) - - if test "$nonblock" = "nada"; then - AC_MSG_WARN([non-block sockets disabled]) - fi -]) - -dnl Check for socklen_t: historically on BSD it is an int, and in -dnl POSIX 1g it is a type of its own, but some platforms use different -dnl types for the argument to getsockopt, getpeername, etc. So we -dnl have to test to find something that will work. -AC_DEFUN([TYPE_SOCKLEN_T], -[ - AC_CHECK_TYPE([socklen_t], ,[ - AC_MSG_CHECKING([for socklen_t equivalent]) - AC_CACHE_VAL([curl_cv_socklen_t_equiv], - [ - # Systems have either "struct sockaddr *" or - # "void *" as the second argument to getpeername - curl_cv_socklen_t_equiv= - for arg2 in "struct sockaddr" void; do - for t in int size_t unsigned long "unsigned long"; do - AC_TRY_COMPILE([ - #include <sys/types.h> - #include <sys/socket.h> - - int getpeername (int, $arg2 *, $t *); - ],[ - $t len; - getpeername(0,0,&len); - ],[ - curl_cv_socklen_t_equiv="$t" - break - ]) - done - done - - if test "x$curl_cv_socklen_t_equiv" = x; then - AC_MSG_ERROR([Cannot find a type to use in place of socklen_t]) - fi - ]) - AC_MSG_RESULT($curl_cv_socklen_t_equiv) - AC_DEFINE_UNQUOTED(socklen_t, $curl_cv_socklen_t_equiv, - [type to use in place of socklen_t if not defined])], - [#include <sys/types.h> -#include <sys/socket.h>]) -]) - -dnl Check for in_addr_t: it is used to receive the return code of inet_addr() -dnl and a few other things. If not found, we set it to unsigned int, as even -dnl 64-bit implementations use to set it to a 32-bit type. -AC_DEFUN([TYPE_IN_ADDR_T], -[ - AC_CHECK_TYPE([in_addr_t], ,[ - AC_MSG_CHECKING([for in_addr_t equivalent]) - AC_CACHE_VAL([curl_cv_in_addr_t_equiv], - [ - # Systems have either "struct sockaddr *" or - # "void *" as the second argument to getpeername - curl_cv_in_addr_t_equiv= - for t in int size_t unsigned long "unsigned long"; do - AC_TRY_COMPILE([ - #include <sys/types.h> - #include <sys/socket.h> - #include <arpa/inet.h> - ],[ - $t data = inet_addr ("1.2.3.4"); - ],[ - curl_cv_in_addr_t_equiv="$t" - break - ]) - done - - if test "x$curl_cv_in_addr_t_equiv" = x; then - AC_MSG_ERROR([Cannot find a type to use in place of in_addr_t]) - fi - ]) - AC_MSG_RESULT($curl_cv_in_addr_t_equiv) - AC_DEFINE_UNQUOTED(in_addr_t, $curl_cv_in_addr_t_equiv, - [type to use in place of in_addr_t if not defined])], - [#include <sys/types.h> -#include <sys/socket.h> -#include <arpa/inet.h>]) -]) - -dnl ************************************************************ -dnl check for "localhost", if it doesn't exist, we can't do the -dnl gethostbyname_r tests! -dnl - -AC_DEFUN(CURL_CHECK_WORKING_RESOLVER,[ -AC_MSG_CHECKING([if "localhost" resolves]) -AC_TRY_RUN([ -#include <string.h> -#include <sys/types.h> -#include <netdb.h> - -int -main () { -struct hostent *h; -h = gethostbyname("localhost"); -exit (h == NULL ? 1 : 0); }],[ - AC_MSG_RESULT(yes)],[ - AC_MSG_RESULT(no) - AC_MSG_ERROR([can't figure out gethostbyname_r() since localhost doesn't resolve]) - - ] -) -]) - -dnl ************************************************************ -dnl check for working getaddrinfo() -dnl -AC_DEFUN(CURL_CHECK_WORKING_GETADDRINFO,[ - AC_CACHE_CHECK(for working getaddrinfo, ac_cv_working_getaddrinfo,[ - AC_TRY_RUN( [ -#include <netdb.h> -#include <sys/types.h> -#include <sys/socket.h> - -void main(void) { - struct addrinfo hints, *ai; - int error; - - memset(&hints, 0, sizeof(hints)); - hints.ai_family = AF_UNSPEC; - hints.ai_socktype = SOCK_STREAM; - error = getaddrinfo("127.0.0.1", "8080", &hints, &ai); - if (error) { - exit(1); - } - else { - exit(0); - } -} -],[ - ac_cv_working_getaddrinfo="yes" -],[ - ac_cv_working_getaddrinfo="no" -],[ - ac_cv_working_getaddrinfo="yes" -])]) -if test "$ac_cv_working_getaddrinfo" = "yes"; then - AC_DEFINE(HAVE_GETADDRINFO, 1, [Define if getaddrinfo exists and works]) - AC_DEFINE(ENABLE_IPV6, 1, [Define if you want to enable IPv6 support]) - - IPV6_ENABLED=1 - AC_SUBST(IPV6_ENABLED) -fi -]) - - -AC_DEFUN(CURL_CHECK_LOCALTIME_R, -[ - dnl check for a few thread-safe functions - AC_CHECK_FUNCS(localtime_r,[ - AC_MSG_CHECKING(whether localtime_r is declared) - AC_EGREP_CPP(localtime_r,[ -#include <time.h>],[ - AC_MSG_RESULT(yes)],[ - AC_MSG_RESULT(no) - AC_MSG_CHECKING(whether localtime_r with -D_REENTRANT is declared) - AC_EGREP_CPP(localtime_r,[ -#define _REENTRANT -#include <time.h>],[ - AC_DEFINE(NEED_REENTRANT) - AC_MSG_RESULT(yes)], - AC_MSG_RESULT(no))])]) -]) - -AC_DEFUN(CURL_CHECK_INET_NTOA_R, -[ - dnl determine if function definition for inet_ntoa_r exists. - AC_CHECK_FUNCS(inet_ntoa_r,[ - AC_MSG_CHECKING(whether inet_ntoa_r is declared) - AC_EGREP_CPP(inet_ntoa_r,[ -#include <arpa/inet.h>],[ - AC_DEFINE(HAVE_INET_NTOA_R_DECL) - AC_MSG_RESULT(yes)],[ - AC_MSG_RESULT(no) - AC_MSG_CHECKING(whether inet_ntoa_r with -D_REENTRANT is declared) - AC_EGREP_CPP(inet_ntoa_r,[ -#define _REENTRANT -#include <arpa/inet.h>],[ - AC_DEFINE(HAVE_INET_NTOA_R_DECL) - AC_DEFINE(NEED_REENTRANT) - AC_MSG_RESULT(yes)], - AC_MSG_RESULT(no))])]) -]) - -AC_DEFUN(CURL_CHECK_GETHOSTBYADDR_R, -[ - dnl check for number of arguments to gethostbyaddr_r. it might take - dnl either 5, 7, or 8 arguments. - AC_CHECK_FUNCS(gethostbyaddr_r,[ - AC_MSG_CHECKING(if gethostbyaddr_r takes 5 arguments) - AC_TRY_COMPILE([ -#include <sys/types.h> -#include <netdb.h>],[ -char * address; -int length; -int type; -struct hostent h; -struct hostent_data hdata; -int rc; -rc = gethostbyaddr_r(address, length, type, &h, &hdata);],[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_GETHOSTBYADDR_R_5) - ac_cv_gethostbyaddr_args=5],[ - AC_MSG_RESULT(no) - AC_MSG_CHECKING(if gethostbyaddr_r with -D_REENTRANT takes 5 arguments) - AC_TRY_COMPILE([ -#define _REENTRANT -#include <sys/types.h> -#include <netdb.h>],[ -char * address; -int length; -int type; -struct hostent h; -struct hostent_data hdata; -int rc; -rc = gethostbyaddr_r(address, length, type, &h, &hdata);],[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_GETHOSTBYADDR_R_5) - AC_DEFINE(NEED_REENTRANT) - ac_cv_gethostbyaddr_args=5],[ - AC_MSG_RESULT(no) - AC_MSG_CHECKING(if gethostbyaddr_r takes 7 arguments) - AC_TRY_COMPILE([ -#include <sys/types.h> -#include <netdb.h>],[ -char * address; -int length; -int type; -struct hostent h; -char buffer[8192]; -int h_errnop; -struct hostent * hp; - -hp = gethostbyaddr_r(address, length, type, &h, - buffer, 8192, &h_errnop);],[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_GETHOSTBYADDR_R_7) - ac_cv_gethostbyaddr_args=7],[ - AC_MSG_RESULT(no) - AC_MSG_CHECKING(if gethostbyaddr_r takes 8 arguments) - AC_TRY_COMPILE([ -#include <sys/types.h> -#include <netdb.h>],[ -char * address; -int length; -int type; -struct hostent h; -char buffer[8192]; -int h_errnop; -struct hostent * hp; -int rc; - -rc = gethostbyaddr_r(address, length, type, &h, - buffer, 8192, &hp, &h_errnop);],[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_GETHOSTBYADDR_R_8) - ac_cv_gethostbyaddr_args=8],[ - AC_MSG_RESULT(no) - have_missing_r_funcs="$have_missing_r_funcs gethostbyaddr_r"])])])])]) -]) - -AC_DEFUN(CURL_CHECK_GETHOSTBYNAME_R, -[ - dnl check for number of arguments to gethostbyname_r. it might take - dnl either 3, 5, or 6 arguments. - AC_CHECK_FUNCS(gethostbyname_r,[ - AC_MSG_CHECKING([if gethostbyname_r takes 3 arguments]) - AC_TRY_COMPILE([ -#include <string.h> -#include <sys/types.h> -#include <netdb.h> -#undef NULL -#define NULL (void *)0 - -int -gethostbyname_r(const char *, struct hostent *, struct hostent_data *);],[ -struct hostent_data data; -gethostbyname_r(NULL, NULL, NULL);],[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_GETHOSTBYNAME_R_3) - ac_cv_gethostbyname_args=3],[ - AC_MSG_RESULT(no) - AC_MSG_CHECKING([if gethostbyname_r with -D_REENTRANT takes 3 arguments]) - AC_TRY_COMPILE([ -#define _REENTRANT - -#include <string.h> -#include <sys/types.h> -#include <netdb.h> -#undef NULL -#define NULL (void *)0 - -int -gethostbyname_r(const char *,struct hostent *, struct hostent_data *);],[ -struct hostent_data data; -gethostbyname_r(NULL, NULL, NULL);],[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_GETHOSTBYNAME_R_3) - AC_DEFINE(NEED_REENTRANT) - ac_cv_gethostbyname_args=3],[ - AC_MSG_RESULT(no) - AC_MSG_CHECKING([if gethostbyname_r takes 5 arguments]) - AC_TRY_COMPILE([ -#include <sys/types.h> -#include <netdb.h> -#undef NULL -#define NULL (void *)0 - -struct hostent * -gethostbyname_r(const char *, struct hostent *, char *, int, int *);],[ -gethostbyname_r(NULL, NULL, NULL, 0, NULL);],[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_GETHOSTBYNAME_R_5) - ac_cv_gethostbyname_args=5],[ - AC_MSG_RESULT(no) - AC_MSG_CHECKING([if gethostbyname_r takes 6 arguments]) - AC_TRY_COMPILE([ -#include <sys/types.h> -#include <netdb.h> -#undef NULL -#define NULL (void *)0 - -int -gethostbyname_r(const char *, struct hostent *, char *, size_t, -struct hostent **, int *);],[ -gethostbyname_r(NULL, NULL, NULL, 0, NULL, NULL);],[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_GETHOSTBYNAME_R_6) - ac_cv_gethostbyname_args=6],[ - AC_MSG_RESULT(no) - have_missing_r_funcs="$have_missing_r_funcs gethostbyname_r"], - [ac_cv_gethostbyname_args=0])], - [ac_cv_gethostbyname_args=0])], - [ac_cv_gethostbyname_args=0])], - [ac_cv_gethostbyname_args=0])]) - -if test "$ac_cv_func_gethostbyname_r" = "yes"; then - if test "$ac_cv_gethostbyname_args" = "0"; then - dnl there's a gethostbyname_r() function, but we don't know how - dnl many arguments it wants! - AC_MSG_ERROR([couldn't figure out how to use gethostbyname_r()]) - fi -fi -]) diff --git a/Build/source/libs/curl/aclocal.m4 b/Build/source/libs/curl/aclocal.m4 deleted file mode 100644 index d3b81272ff7..00000000000 --- a/Build/source/libs/curl/aclocal.m4 +++ /dev/null @@ -1,4500 +0,0 @@ -# aclocal.m4 generated automatically by aclocal 1.5 - -# Copyright 1996, 1997, 1998, 1999, 2000, 2001 -# 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. - -dnl Check for how to set a socket to non-blocking state. There seems to exist -dnl four known different ways, with the one used almost everywhere being POSIX -dnl and XPG3, while the other different ways for different systems (old BSD, -dnl Windows and Amiga). -dnl -dnl There are two known platforms (AIX 3.x and SunOS 4.1.x) where the -dnl O_NONBLOCK define is found but does not work. This condition is attempted -dnl to get caught in this script by using an excessive number of #ifdefs... -dnl -AC_DEFUN(CURL_CHECK_NONBLOCKING_SOCKET, -[ - AC_MSG_CHECKING([non-blocking sockets style]) - - AC_TRY_COMPILE([ -/* headers for O_NONBLOCK test */ -#include <sys/types.h> -#include <unistd.h> -#include <fcntl.h> -],[ -/* try to compile O_NONBLOCK */ - -#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(_AIX4) -# define PLATFORM_AIX_V3 -#endif - -#if defined(PLATFORM_SUNOS4) || defined(PLATFORM_AIX_V3) -#error "O_NONBLOCK does not work on this platform" -#endif - int socket; - int flags = fcntl(socket, F_SETFL, flags | O_NONBLOCK); -],[ -dnl the O_NONBLOCK test was fine -nonblock="O_NONBLOCK" -AC_DEFINE(HAVE_O_NONBLOCK) -],[ -dnl the code was bad, try a different program now, test 2 - - AC_TRY_COMPILE([ -/* headers for FIONBIO test */ -#include <unistd.h> -#include <stropts.h> -],[ -/* FIONBIO source test */ - int flags = ioctl(socket, FIONBIO, &flags); -],[ -dnl FIONBIO test was good -nonblock="FIONBIO" -AC_DEFINE(HAVE_FIONBIO) -],[ -dnl FIONBIO test was also bad -dnl the code was bad, try a different program now, test 3 - - AC_TRY_COMPILE([ -/* headers for ioctlsocket test (cygwin?) */ -#include <windows.h> -],[ -/* ioctlsocket source code */ - int flags = ioctlsocket(socket, FIONBIO, &flags); -],[ -dnl ioctlsocket test was good -nonblock="ioctlsocket" -AC_DEFINE(HAVE_IOCTLSOCKET) -],[ -dnl ioctlsocket didnt compile! - - AC_TRY_COMPILE([ -/* headers for IoctlSocket test (Amiga?) */ -#include <sys/ioctl.h> -],[ -/* IoctlSocket source code */ - int flags = IoctlSocket(socket, FIONBIO, (long)1); -],[ -dnl ioctlsocket test was good -nonblock="IoctlSocket" -AC_DEFINE(HAVE_IOCTLSOCKET_CASE) -],[ -dnl ioctlsocket didnt compile! -nonblock="nada" -AC_DEFINE(HAVE_DISABLED_NONBLOCKING) -]) -dnl end of forth test - -]) -dnl end of third test - -]) -dnl end of second test - -]) -dnl end of non-blocking try-compile test - AC_MSG_RESULT($nonblock) - - if test "$nonblock" = "nada"; then - AC_MSG_WARN([non-block sockets disabled]) - fi -]) - -dnl Check for socklen_t: historically on BSD it is an int, and in -dnl POSIX 1g it is a type of its own, but some platforms use different -dnl types for the argument to getsockopt, getpeername, etc. So we -dnl have to test to find something that will work. -AC_DEFUN([TYPE_SOCKLEN_T], -[ - AC_CHECK_TYPE([socklen_t], ,[ - AC_MSG_CHECKING([for socklen_t equivalent]) - AC_CACHE_VAL([curl_cv_socklen_t_equiv], - [ - # Systems have either "struct sockaddr *" or - # "void *" as the second argument to getpeername - curl_cv_socklen_t_equiv= - for arg2 in "struct sockaddr" void; do - for t in int size_t unsigned long "unsigned long"; do - AC_TRY_COMPILE([ - #include <sys/types.h> - #include <sys/socket.h> - - int getpeername (int, $arg2 *, $t *); - ],[ - $t len; - getpeername(0,0,&len); - ],[ - curl_cv_socklen_t_equiv="$t" - break - ]) - done - done - - if test "x$curl_cv_socklen_t_equiv" = x; then - AC_MSG_ERROR([Cannot find a type to use in place of socklen_t]) - fi - ]) - AC_MSG_RESULT($curl_cv_socklen_t_equiv) - AC_DEFINE_UNQUOTED(socklen_t, $curl_cv_socklen_t_equiv, - [type to use in place of socklen_t if not defined])], - [#include <sys/types.h> -#include <sys/socket.h>]) -]) - -dnl Check for in_addr_t: it is used to receive the return code of inet_addr() -dnl and a few other things. If not found, we set it to unsigned int, as even -dnl 64-bit implementations use to set it to a 32-bit type. -AC_DEFUN([TYPE_IN_ADDR_T], -[ - AC_CHECK_TYPE([in_addr_t], ,[ - AC_MSG_CHECKING([for in_addr_t equivalent]) - AC_CACHE_VAL([curl_cv_in_addr_t_equiv], - [ - # Systems have either "struct sockaddr *" or - # "void *" as the second argument to getpeername - curl_cv_in_addr_t_equiv= - for t in int size_t unsigned long "unsigned long"; do - AC_TRY_COMPILE([ - #include <sys/types.h> - #include <sys/socket.h> - #include <arpa/inet.h> - ],[ - $t data = inet_addr ("1.2.3.4"); - ],[ - curl_cv_in_addr_t_equiv="$t" - break - ]) - done - - if test "x$curl_cv_in_addr_t_equiv" = x; then - AC_MSG_ERROR([Cannot find a type to use in place of in_addr_t]) - fi - ]) - AC_MSG_RESULT($curl_cv_in_addr_t_equiv) - AC_DEFINE_UNQUOTED(in_addr_t, $curl_cv_in_addr_t_equiv, - [type to use in place of in_addr_t if not defined])], - [#include <sys/types.h> -#include <sys/socket.h> -#include <arpa/inet.h>]) -]) - -dnl ************************************************************ -dnl check for "localhost", if it doesn't exist, we can't do the -dnl gethostbyname_r tests! -dnl - -AC_DEFUN(CURL_CHECK_WORKING_RESOLVER,[ -AC_MSG_CHECKING([if "localhost" resolves]) -AC_TRY_RUN([ -#include <string.h> -#include <sys/types.h> -#include <netdb.h> - -int -main () { -struct hostent *h; -h = gethostbyname("localhost"); -exit (h == NULL ? 1 : 0); }],[ - AC_MSG_RESULT(yes)],[ - AC_MSG_RESULT(no) - AC_MSG_ERROR([can't figure out gethostbyname_r() since localhost doesn't resolve]) - - ] -) -]) - -dnl ************************************************************ -dnl check for working getaddrinfo() -dnl -AC_DEFUN(CURL_CHECK_WORKING_GETADDRINFO,[ - AC_CACHE_CHECK(for working getaddrinfo, ac_cv_working_getaddrinfo,[ - AC_TRY_RUN( [ -#include <netdb.h> -#include <sys/types.h> -#include <sys/socket.h> - -void main(void) { - struct addrinfo hints, *ai; - int error; - - memset(&hints, 0, sizeof(hints)); - hints.ai_family = AF_UNSPEC; - hints.ai_socktype = SOCK_STREAM; - error = getaddrinfo("127.0.0.1", "8080", &hints, &ai); - if (error) { - exit(1); - } - else { - exit(0); - } -} -],[ - ac_cv_working_getaddrinfo="yes" -],[ - ac_cv_working_getaddrinfo="no" -],[ - ac_cv_working_getaddrinfo="yes" -])]) -if test "$ac_cv_working_getaddrinfo" = "yes"; then - AC_DEFINE(HAVE_GETADDRINFO, 1, [Define if getaddrinfo exists and works]) - AC_DEFINE(ENABLE_IPV6, 1, [Define if you want to enable IPv6 support]) - - IPV6_ENABLED=1 - AC_SUBST(IPV6_ENABLED) -fi -]) - - -AC_DEFUN(CURL_CHECK_LOCALTIME_R, -[ - dnl check for a few thread-safe functions - AC_CHECK_FUNCS(localtime_r,[ - AC_MSG_CHECKING(whether localtime_r is declared) - AC_EGREP_CPP(localtime_r,[ -#include <time.h>],[ - AC_MSG_RESULT(yes)],[ - AC_MSG_RESULT(no) - AC_MSG_CHECKING(whether localtime_r with -D_REENTRANT is declared) - AC_EGREP_CPP(localtime_r,[ -#define _REENTRANT -#include <time.h>],[ - AC_DEFINE(NEED_REENTRANT) - AC_MSG_RESULT(yes)], - AC_MSG_RESULT(no))])]) -]) - -AC_DEFUN(CURL_CHECK_INET_NTOA_R, -[ - dnl determine if function definition for inet_ntoa_r exists. - AC_CHECK_FUNCS(inet_ntoa_r,[ - AC_MSG_CHECKING(whether inet_ntoa_r is declared) - AC_EGREP_CPP(inet_ntoa_r,[ -#include <arpa/inet.h>],[ - AC_DEFINE(HAVE_INET_NTOA_R_DECL) - AC_MSG_RESULT(yes)],[ - AC_MSG_RESULT(no) - AC_MSG_CHECKING(whether inet_ntoa_r with -D_REENTRANT is declared) - AC_EGREP_CPP(inet_ntoa_r,[ -#define _REENTRANT -#include <arpa/inet.h>],[ - AC_DEFINE(HAVE_INET_NTOA_R_DECL) - AC_DEFINE(NEED_REENTRANT) - AC_MSG_RESULT(yes)], - AC_MSG_RESULT(no))])]) -]) - -AC_DEFUN(CURL_CHECK_GETHOSTBYADDR_R, -[ - dnl check for number of arguments to gethostbyaddr_r. it might take - dnl either 5, 7, or 8 arguments. - AC_CHECK_FUNCS(gethostbyaddr_r,[ - AC_MSG_CHECKING(if gethostbyaddr_r takes 5 arguments) - AC_TRY_COMPILE([ -#include <sys/types.h> -#include <netdb.h>],[ -char * address; -int length; -int type; -struct hostent h; -struct hostent_data hdata; -int rc; -rc = gethostbyaddr_r(address, length, type, &h, &hdata);],[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_GETHOSTBYADDR_R_5) - ac_cv_gethostbyaddr_args=5],[ - AC_MSG_RESULT(no) - AC_MSG_CHECKING(if gethostbyaddr_r with -D_REENTRANT takes 5 arguments) - AC_TRY_COMPILE([ -#define _REENTRANT -#include <sys/types.h> -#include <netdb.h>],[ -char * address; -int length; -int type; -struct hostent h; -struct hostent_data hdata; -int rc; -rc = gethostbyaddr_r(address, length, type, &h, &hdata);],[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_GETHOSTBYADDR_R_5) - AC_DEFINE(NEED_REENTRANT) - ac_cv_gethostbyaddr_args=5],[ - AC_MSG_RESULT(no) - AC_MSG_CHECKING(if gethostbyaddr_r takes 7 arguments) - AC_TRY_COMPILE([ -#include <sys/types.h> -#include <netdb.h>],[ -char * address; -int length; -int type; -struct hostent h; -char buffer[8192]; -int h_errnop; -struct hostent * hp; - -hp = gethostbyaddr_r(address, length, type, &h, - buffer, 8192, &h_errnop);],[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_GETHOSTBYADDR_R_7) - ac_cv_gethostbyaddr_args=7],[ - AC_MSG_RESULT(no) - AC_MSG_CHECKING(if gethostbyaddr_r takes 8 arguments) - AC_TRY_COMPILE([ -#include <sys/types.h> -#include <netdb.h>],[ -char * address; -int length; -int type; -struct hostent h; -char buffer[8192]; -int h_errnop; -struct hostent * hp; -int rc; - -rc = gethostbyaddr_r(address, length, type, &h, - buffer, 8192, &hp, &h_errnop);],[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_GETHOSTBYADDR_R_8) - ac_cv_gethostbyaddr_args=8],[ - AC_MSG_RESULT(no) - have_missing_r_funcs="$have_missing_r_funcs gethostbyaddr_r"])])])])]) -]) - -AC_DEFUN(CURL_CHECK_GETHOSTBYNAME_R, -[ - dnl check for number of arguments to gethostbyname_r. it might take - dnl either 3, 5, or 6 arguments. - AC_CHECK_FUNCS(gethostbyname_r,[ - AC_MSG_CHECKING([if gethostbyname_r takes 3 arguments]) - AC_TRY_COMPILE([ -#include <string.h> -#include <sys/types.h> -#include <netdb.h> -#undef NULL -#define NULL (void *)0 - -int -gethostbyname_r(const char *, struct hostent *, struct hostent_data *);],[ -struct hostent_data data; -gethostbyname_r(NULL, NULL, NULL);],[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_GETHOSTBYNAME_R_3) - ac_cv_gethostbyname_args=3],[ - AC_MSG_RESULT(no) - AC_MSG_CHECKING([if gethostbyname_r with -D_REENTRANT takes 3 arguments]) - AC_TRY_COMPILE([ -#define _REENTRANT - -#include <string.h> -#include <sys/types.h> -#include <netdb.h> -#undef NULL -#define NULL (void *)0 - -int -gethostbyname_r(const char *,struct hostent *, struct hostent_data *);],[ -struct hostent_data data; -gethostbyname_r(NULL, NULL, NULL);],[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_GETHOSTBYNAME_R_3) - AC_DEFINE(NEED_REENTRANT) - ac_cv_gethostbyname_args=3],[ - AC_MSG_RESULT(no) - AC_MSG_CHECKING([if gethostbyname_r takes 5 arguments]) - AC_TRY_COMPILE([ -#include <sys/types.h> -#include <netdb.h> -#undef NULL -#define NULL (void *)0 - -struct hostent * -gethostbyname_r(const char *, struct hostent *, char *, int, int *);],[ -gethostbyname_r(NULL, NULL, NULL, 0, NULL);],[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_GETHOSTBYNAME_R_5) - ac_cv_gethostbyname_args=5],[ - AC_MSG_RESULT(no) - AC_MSG_CHECKING([if gethostbyname_r takes 6 arguments]) - AC_TRY_COMPILE([ -#include <sys/types.h> -#include <netdb.h> -#undef NULL -#define NULL (void *)0 - -int -gethostbyname_r(const char *, struct hostent *, char *, size_t, -struct hostent **, int *);],[ -gethostbyname_r(NULL, NULL, NULL, 0, NULL, NULL);],[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_GETHOSTBYNAME_R_6) - ac_cv_gethostbyname_args=6],[ - AC_MSG_RESULT(no) - have_missing_r_funcs="$have_missing_r_funcs gethostbyname_r"], - [ac_cv_gethostbyname_args=0])], - [ac_cv_gethostbyname_args=0])], - [ac_cv_gethostbyname_args=0])], - [ac_cv_gethostbyname_args=0])]) - -if test "$ac_cv_func_gethostbyname_r" = "yes"; then - if test "$ac_cv_gethostbyname_args" = "0"; then - dnl there's a gethostbyname_r() function, but we don't know how - dnl many arguments it wants! - AC_MSG_ERROR([couldn't figure out how to use gethostbyname_r()]) - fi -fi -]) - -# Like AC_CONFIG_HEADER, but automatically create stamp file. - -# serial 3 - -# 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. We must strip everything past the first ":", -# and everything past the last "/". - -AC_PREREQ([2.12]) - -AC_DEFUN([AM_CONFIG_HEADER], -[ifdef([AC_FOREACH],dnl - [dnl init our file count if it isn't already - m4_ifndef([_AM_Config_Header_Index], m4_define([_AM_Config_Header_Index], [0])) - dnl prepare to store our destination file list for use in config.status - AC_FOREACH([_AM_File], [$1], - [m4_pushdef([_AM_Dest], m4_patsubst(_AM_File, [:.*])) - m4_define([_AM_Config_Header_Index], m4_incr(_AM_Config_Header_Index)) - dnl and add it to the list of files AC keeps track of, along - dnl with our hook - AC_CONFIG_HEADERS(_AM_File, -dnl COMMANDS, [, INIT-CMDS] -[# update the timestamp -echo timestamp >"AS_ESCAPE(_AM_DIRNAME(]_AM_Dest[))/stamp-h]_AM_Config_Header_Index[" -][$2]m4_ifval([$3], [, [$3]]))dnl AC_CONFIG_HEADERS - m4_popdef([_AM_Dest])])],dnl -[AC_CONFIG_HEADER([$1]) - AC_OUTPUT_COMMANDS( - ifelse(patsubst([$1], [[^ ]], []), - [], - [test -z "$CONFIG_HEADERS" || echo timestamp >dnl - patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),dnl -[am_indx=1 -for am_file in $1; do - case " \$CONFIG_HEADERS " in - *" \$am_file "*) - am_dir=\`echo \$am_file |sed 's%:.*%%;s%[^/]*\$%%'\` - if test -n "\$am_dir"; then - am_tmpdir=\`echo \$am_dir |sed 's%^\(/*\).*\$%\1%'\` - for am_subdir in \`echo \$am_dir |sed 's%/% %'\`; do - am_tmpdir=\$am_tmpdir\$am_subdir/ - if test ! -d \$am_tmpdir; then - mkdir \$am_tmpdir - fi - done - fi - echo timestamp > "\$am_dir"stamp-h\$am_indx - ;; - esac - am_indx=\`expr \$am_indx + 1\` -done]) -])]) # AM_CONFIG_HEADER - -# _AM_DIRNAME(PATH) -# ----------------- -# Like AS_DIRNAME, only do it during macro expansion -AC_DEFUN([_AM_DIRNAME], - [m4_if(m4_regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1, - m4_if(m4_regexp([$1], [^//\([^/]\|$\)]), -1, - m4_if(m4_regexp([$1], [^/.*]), -1, - [.], - m4_patsubst([$1], [^\(/\).*], [\1])), - m4_patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])), - m4_patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl -]) # _AM_DIRNAME - -# Do all the work for Automake. 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. - -# serial 5 - -# 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... - - -# We require 2.13 because we rely on SHELL being computed by configure. -AC_PREREQ([2.13]) - -# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) -# ----------------------------------------------------------- -# If MACRO-NAME is provided do IF-PROVIDED, else IF-NOT-PROVIDED. -# The purpose of this macro is to provide the user with a means to -# check macros which are provided without letting her know how the -# information is coded. -# If this macro is not defined by Autoconf, define it here. -ifdef([AC_PROVIDE_IFELSE], - [], - [define([AC_PROVIDE_IFELSE], - [ifdef([AC_PROVIDE_$1], - [$2], [$3])])]) - - -# AM_INIT_AUTOMAKE(PACKAGE,VERSION, [NO-DEFINE]) -# ---------------------------------------------- -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_REQUIRE([AC_PROG_INSTALL])dnl -# test to see if srcdir already configured -if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" && - test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run \"make distclean\" there first]) -fi - -# Define the identity of the package. -PACKAGE=$1 -AC_SUBST(PACKAGE)dnl -VERSION=$2 -AC_SUBST(VERSION)dnl -ifelse([$3],, -[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) -AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])]) - -# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow -# the ones we care about. -ifdef([m4_pattern_allow], - [m4_pattern_allow([^AM_[A-Z]+FLAGS])])dnl - -# Autoconf 2.50 always computes EXEEXT. However we need to be -# compatible with 2.13, for now. So we always define EXEEXT, but we -# don't compute it. -AC_SUBST(EXEEXT) -# Similar for OBJEXT -- only we only use OBJEXT if the user actually -# requests that it be used. This is a bit dumb. -: ${OBJEXT=o} -AC_SUBST(OBJEXT) - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG(ACLOCAL, aclocal) -AM_MISSING_PROG(AUTOCONF, autoconf) -AM_MISSING_PROG(AUTOMAKE, automake) -AM_MISSING_PROG(AUTOHEADER, autoheader) -AM_MISSING_PROG(MAKEINFO, makeinfo) -AM_MISSING_PROG(AMTAR, tar) -AM_PROG_INSTALL_SH -AM_PROG_INSTALL_STRIP -# 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_DEP_TRACK])dnl -AC_REQUIRE([AM_SET_DEPDIR])dnl -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 -]) - -# -# Check to make sure that the build environment is sane. -# - -# serial 3 - -# 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)]) - - -# serial 2 - -# 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= - am_backtick='`' - AC_MSG_WARN([${am_backtick}missing' script is too old or missing]) -fi -]) - -# AM_AUX_DIR_EXPAND - -# 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], [ -# expand $ac_aux_dir to an absolute path -am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd` -]) - -# 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)]) - -# 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 -INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# serial 4 -*- Autoconf -*- - - - -# 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" 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 - - 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 - # 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. - echo '#include "conftest.h"' > conftest.c - echo 'int i;' > conftest.h - echo "${am__include} ${am__quote}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=conftest.c object=conftest.o \ - depfile=conftest.Po tmpdepfile=conftest.TPo \ - $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && - grep conftest.h conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - am_cv_$1_dependencies_compiler_type=$depmode - break - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_$1_dependencies_compiler_type=none -fi -]) -$1DEPMODE="depmode=$am_cv_$1_dependencies_compiler_type" -AC_SUBST([$1DEPMODE]) -]) - - -# AM_SET_DEPDIR -# ------------- -# Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES -AC_DEFUN([AM_SET_DEPDIR], -[rm -f .deps 2>/dev/null -mkdir .deps 2>/dev/null -if test -d .deps; then - DEPDIR=.deps -else - # MS-DOS does not allow filenames that begin with a dot. - DEPDIR=_deps -fi -rmdir .deps 2>/dev/null -AC_SUBST(DEPDIR) -]) - - -# AM_DEP_TRACK -# ------------ -AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE(dependency-tracking, -[ --disable-dependency-tracking Speeds up one-time builds - --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]) -pushdef([subst], defn([AC_SUBST])) -subst(AMDEPBACKSLASH) -popdef([subst]) -]) - -# Generate code to set up dependency tracking. -# This macro should only be invoked once -- use via AC_REQUIRE. -# Usage: -# AM_OUTPUT_DEPENDENCY_COMMANDS - -# -# 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_OUTPUT_COMMANDS([ -test x"$AMDEP_TRUE" != x"" || -for mf in $CONFIG_FILES; do - case "$mf" in - Makefile) dirpart=.;; - */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;; - *) continue;; - esac - grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue - # Extract the definition of DEP_FILES from the Makefile without - # running `make'. - DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` - test -z "$DEPDIR" && continue - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n -e '/^U = / s///p' < "$mf"` - test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" - # 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 -e ' - /^DEP_FILES = .*\\\\$/ { - s/^DEP_FILES = // - :loop - s/\\\\$// - p - n - /\\\\$/ b loop - p - } - /^DEP_FILES = / s/^DEP_FILES = //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=`echo "$file" | sed -e 's|/[^/]*$||'` - $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1 - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done -done -], [AMDEP_TRUE="$AMDEP_TRUE" -ac_aux_dir="$ac_aux_dir"])]) - -# AM_MAKE_INCLUDE() -# ----------------- -# Check to see how make treats includes. -AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' -doit: - @echo done -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 | fgrep -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 -]) - -# serial 3 - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -# -# FIXME: Once using 2.50, use this: -# m4_match([$1], [^TRUE\|FALSE$], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_DEFUN([AM_CONDITIONAL], -[ifelse([$1], [TRUE], - [errprint(__file__:__line__: [$0: invalid condition: $1 -])dnl -m4exit(1)])dnl -ifelse([$1], [FALSE], - [errprint(__file__:__line__: [$0: invalid condition: $1 -])dnl -m4exit(1)])dnl -AC_SUBST([$1_TRUE]) -AC_SUBST([$1_FALSE]) -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi]) - -# libtool.m4 - Configure libtool for the host system. -*-Shell-script-*- - -# serial 46 AC_PROG_LIBTOOL - -AC_DEFUN([AC_PROG_LIBTOOL], -[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -# Prevent multiple expansion -define([AC_PROG_LIBTOOL], []) -]) - -AC_DEFUN([AC_LIBTOOL_SETUP], -[AC_PREREQ(2.13)dnl -AC_REQUIRE([AC_ENABLE_SHARED])dnl -AC_REQUIRE([AC_ENABLE_STATIC])dnl -AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_LD])dnl -AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl -AC_REQUIRE([AC_PROG_NM])dnl -AC_REQUIRE([AC_PROG_LN_S])dnl -AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl -AC_REQUIRE([AC_OBJEXT])dnl -AC_REQUIRE([AC_EXEEXT])dnl -dnl - -_LT_AC_PROG_ECHO_BACKSLASH -# Only perform the check for file, if the check method requires it -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - AC_PATH_MAGIC - fi - ;; -esac - -AC_CHECK_TOOL(RANLIB, ranlib, :) -AC_CHECK_TOOL(STRIP, strip, :) - -ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) -ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], -enable_win32_dll=yes, enable_win32_dll=no) - -AC_ARG_ENABLE(libtool-lock, - [ --disable-libtool-lock avoid locking (might break parallel builds)]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line __oline__ "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_SAVE - AC_LANG_C - AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_RESTORE]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; - -ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], -[*-*-cygwin* | *-*-mingw* | *-*-pw32*) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - - # recent cygwin and mingw systems supply a stub DllMain which the user - # can override, but on older systems we have to supply one - AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain, - [AC_TRY_LINK([], - [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*); - DllMain (0, 0, 0);], - [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])]) - - case $host/$CC in - *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*) - # old mingw systems require "-dll" to link a DLL, while more recent ones - # require "-mdll" - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -mdll" - AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch, - [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])]) - CFLAGS="$SAVE_CFLAGS" ;; - *-*-cygwin* | *-*-pw32*) - # cygwin systems need to pass --dll to the linker, and not link - # crt.o which will require a WinMain@16 definition. - lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;; - esac - ;; - ]) -esac - -_LT_AC_LTCONFIG_HACK - -]) - -# AC_LIBTOOL_HEADER_ASSERT -# ------------------------ -AC_DEFUN([AC_LIBTOOL_HEADER_ASSERT], -[AC_CACHE_CHECK([whether $CC supports assert without backlinking], - [lt_cv_func_assert_works], - [case $host in - *-*-solaris*) - if test "$GCC" = yes && test "$with_gnu_ld" != yes; then - case `$CC --version 2>/dev/null` in - [[12]].*) lt_cv_func_assert_works=no ;; - *) lt_cv_func_assert_works=yes ;; - esac - fi - ;; - esac]) - -if test "x$lt_cv_func_assert_works" = xyes; then - AC_CHECK_HEADERS(assert.h) -fi -])# AC_LIBTOOL_HEADER_ASSERT - -# _LT_AC_CHECK_DLFCN -# -------------------- -AC_DEFUN([_LT_AC_CHECK_DLFCN], -[AC_CHECK_HEADERS(dlfcn.h) -])# _LT_AC_CHECK_DLFCN - -# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE -# --------------------------------- -AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], -[AC_REQUIRE([AC_CANONICAL_HOST]) -AC_REQUIRE([AC_PROG_NM]) -AC_REQUIRE([AC_OBJEXT]) -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [dnl - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Transform the above into a raw symbol and a C symbol. -symxfrm='\1 \2\3 \3' - -# Transform an extracted symbol line into a proper C declaration -lt_cv_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) # Its linker distinguishes data from code symbols - lt_cv_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - ;; -irix*) - symcode='[[BCDEGRST]]' - ;; -solaris* | sysv5*) - symcode='[[BDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# Handle CRLF in mingw tool chain -opt_cr= -case $host_os in -mingw*) - opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then - symcode='[[ABCDGISTW]]' -fi - -# Try without a prefix undercore, then with it. -for ac_symprfx in "" "_"; do - - # Write the raw and C identifiers. -lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" - - # Check to see that the pipe works correctly. - pipe_works=no - rm -f conftest* - cat > conftest.$ac_ext <<EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -EOF - - if AC_TRY_EVAL(ac_compile); then - # Now try to grab the symbols. - nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if egrep ' nm_test_var$' "$nlist" >/dev/null; then - if egrep ' nm_test_func$' "$nlist" >/dev/null; then - cat <<EOF > conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -EOF - # Now generate the symbol file. - eval "$lt_cv_global_symbol_to_cdecl"' < "$nlist" >> conftest.$ac_ext' - - cat <<EOF >> conftest.$ac_ext -#if defined (__STDC__) && __STDC__ -# define lt_ptr void * -#else -# define lt_ptr char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr address; -} -lt_preloaded_symbols[[]] = -{ -EOF - sed "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr) \&\2},/" < "$nlist" >> conftest.$ac_ext - cat <<\EOF >> conftest.$ac_ext - {0, (lt_ptr) 0} -}; - -#ifdef __cplusplus -} -#endif -EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - save_LIBS="$LIBS" - save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$no_builtin_flag" - if AC_TRY_EVAL(ac_link) && test -s conftest; then - pipe_works=yes - fi - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&AC_FD_CC - fi - else - echo "cannot find nm_test_var in $nlist" >&AC_FD_CC - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AC_FD_CC - fi - else - echo "$progname: failed program was:" >&AC_FD_CC - cat conftest.$ac_ext >&5 - fi - rm -f conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -global_symbol_pipe="$lt_cv_sys_global_symbol_pipe" -if test -z "$lt_cv_sys_global_symbol_pipe"; then - global_symbol_to_cdecl= - global_symbol_to_c_name_address= -else - global_symbol_to_cdecl="$lt_cv_global_symbol_to_cdecl" - global_symbol_to_c_name_address="$lt_cv_global_symbol_to_c_name_address" -fi -if test -z "$global_symbol_pipe$global_symbol_to_cdec$global_symbol_to_c_name_address"; -then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi -]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE - -# _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR -# --------------------------------- -AC_DEFUN([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR], -[# Find the correct PATH separator. Usually this is `:', but -# DJGPP uses `;' like DOS. -if test "X${PATH_SEPARATOR+set}" != Xset; then - UNAME=${UNAME-`uname 2>/dev/null`} - case X$UNAME in - *-DOS) lt_cv_sys_path_separator=';' ;; - *) lt_cv_sys_path_separator=':' ;; - esac - PATH_SEPARATOR=$lt_cv_sys_path_separator -fi -])# _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR - -# _LT_AC_PROG_ECHO_BACKSLASH -# -------------------------- -# Add some code to the start of the generated configure script which -# will find an echo command which doesn't interpret backslashes. -AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], -[ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], - [AC_DIVERT_PUSH(NOTICE)]) -_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR - -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` - ;; -esac - -echo=${ECHO-echo} -if test "X[$]1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X[$]1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then - # Yippee, $echo works! - : -else - # Restart under the correct shell. - exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} -fi - -if test "X[$]1" = X--fallback-echo; then - # used as fallback echo - shift - cat <<EOF -$* -EOF - exit 0 -fi - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi - -if test -z "$ECHO"; then -if test "X${echo_test_string+set}" != Xset; then -# find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if (echo_test_string="`eval $cmd`") 2>/dev/null && - echo_test_string="`eval $cmd`" && - (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null - then - break - fi - done -fi - -if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : -else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - IFS="${IFS= }"; save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$dir/echo" - break - fi - done - IFS="$save_ifs" - - if test "X$echo" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - echo='print -r' - elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} - else - # Try using printf. - echo='printf %s\n' - if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - echo="$CONFIG_SHELL [$]0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$CONFIG_SHELL [$]0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do - if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "[$]0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} - else - # Oops. We lost completely, so just stick with echo. - echo=echo - fi - fi - fi - fi -fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -ECHO=$echo -if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then - ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" -fi - -AC_SUBST(ECHO) -AC_DIVERT_POP -])# _LT_AC_PROG_ECHO_BACKSLASH - -# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# ------------------------------------------------------------------ -AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], -[if test "$cross_compiling" = yes; then : - [$4] -else - AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<EOF -[#line __oline__ "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include <dlfcn.h> -#endif - -#include <stdio.h> - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - - exit (status); -}] -EOF - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_unknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_AC_TRY_DLOPEN_SELF - -# AC_LIBTOOL_DLOPEN_SELF -# ------------------- -AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], -[if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - cygwin* | mingw* | pw32*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_AC_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test "x$lt_cv_dlopen_self" = xyes; then - LDFLAGS="$LDFLAGS $link_static_flag" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_AC_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -])# AC_LIBTOOL_DLOPEN_SELF - -AC_DEFUN([_LT_AC_LTCONFIG_HACK], -[AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])dnl -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e s/^X//' -sed_quote_subst='s/\([[\\"\\`$\\\\]]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([[\\"\\`\\\\]]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Constants: -rm="rm -f" - -# Global variables: -default_ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except M$VC, -# which needs '.lib'). -libext=a -ltmain="$ac_aux_dir/ltmain.sh" -ofile="$default_ofile" -with_gnu_ld="$lt_cv_prog_gnu_ld" -need_locks="$enable_libtool_lock" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -test -z "$AS" && AS=as -test -z "$CC" && CC=cc -test -z "$DLLTOOL" && DLLTOOL=dlltool -test -z "$LD" && LD=ld -test -z "$LN_S" && LN_S="ln -s" -test -z "$MAGIC_CMD" && MAGIC_CMD=file -test -z "$NM" && NM=nm -test -z "$OBJDUMP" && OBJDUMP=objdump -test -z "$RANLIB" && RANLIB=: -test -z "$STRIP" && STRIP=: -test -z "$ac_objext" && ac_objext=o - -if test x"$host" != x"$build"; then - ac_tool_prefix=${host_alias}- -else - ac_tool_prefix= -fi - -# Transform linux* to *-*-linux-gnu*, to support old configure scripts. -case $host_os in -linux-gnu*) ;; -linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` -esac - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" - ;; - *) - old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - -# Allow CC to be a program name with arguments. -set dummy $CC -compiler="[$]2" - -AC_MSG_CHECKING([for objdir]) -rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - objdir=_libs -fi -rmdir .libs 2>/dev/null -AC_MSG_RESULT($objdir) - - -AC_ARG_WITH(pic, -[ --with-pic try to use only PIC/non-PIC objects [default=use both]], -pic_mode="$withval", pic_mode=default) -test -z "$pic_mode" && pic_mode=default - -# We assume here that the value for lt_cv_prog_cc_pic will not be cached -# in isolation, and that seeing it set (from the cache) indicates that -# the associated values are set (in the cache) correctly too. -AC_MSG_CHECKING([for $compiler option to produce PIC]) -AC_CACHE_VAL(lt_cv_prog_cc_pic, -[ lt_cv_prog_cc_pic= - lt_cv_prog_cc_shlib= - lt_cv_prog_cc_wl= - lt_cv_prog_cc_static= - lt_cv_prog_cc_no_builtin= - lt_cv_prog_cc_can_build_shared=$can_build_shared - - if test "$GCC" = yes; then - lt_cv_prog_cc_wl='-Wl,' - lt_cv_prog_cc_static='-static' - - case $host_os in - aix*) - # Below there is a dirty hack to force normal static linking with -ldl - # The problem is because libdl dynamically linked with both libc and - # libC (AIX C++ library), which obviously doesn't included in libraries - # list by gcc. This cause undefined symbols with -static flags. - # This hack allows C programs to be linked with "-static -ldl", but - # not sure about C++ programs. - lt_cv_prog_cc_static="$lt_cv_prog_cc_static ${lt_cv_prog_cc_wl}-lC" - ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4' - ;; - beos* | irix5* | irix6* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_cv_prog_cc_pic='-fno-common' - ;; - cygwin* | mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_cv_prog_cc_pic='-DDLL_EXPORT' - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_cv_prog_cc_pic=-Kconform_pic - fi - ;; - *) - lt_cv_prog_cc_pic='-fPIC' - ;; - esac - else - # PORTME Check for PIC flags for the system compiler. - case $host_os in - aix3* | aix4* | aix5*) - lt_cv_prog_cc_wl='-Wl,' - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_cv_prog_cc_static='-Bstatic' - else - lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - hpux9* | hpux10* | hpux11*) - # Is there a better lt_cv_prog_cc_static that works with the bundled CC? - lt_cv_prog_cc_wl='-Wl,' - lt_cv_prog_cc_static="${lt_cv_prog_cc_wl}-a ${lt_cv_prog_cc_wl}archive" - lt_cv_prog_cc_pic='+Z' - ;; - - irix5* | irix6*) - lt_cv_prog_cc_wl='-Wl,' - lt_cv_prog_cc_static='-non_shared' - # PIC (with -KPIC) is the default. - ;; - - cygwin* | mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_cv_prog_cc_pic='-DDLL_EXPORT' - ;; - - newsos6) - lt_cv_prog_cc_pic='-KPIC' - lt_cv_prog_cc_static='-Bstatic' - ;; - - osf3* | osf4* | osf5*) - # All OSF/1 code is PIC. - lt_cv_prog_cc_wl='-Wl,' - lt_cv_prog_cc_static='-non_shared' - ;; - - sco3.2v5*) - lt_cv_prog_cc_pic='-Kpic' - lt_cv_prog_cc_static='-dn' - lt_cv_prog_cc_shlib='-belf' - ;; - - solaris*) - lt_cv_prog_cc_pic='-KPIC' - lt_cv_prog_cc_static='-Bstatic' - lt_cv_prog_cc_wl='-Wl,' - ;; - - sunos4*) - lt_cv_prog_cc_pic='-PIC' - lt_cv_prog_cc_static='-Bstatic' - lt_cv_prog_cc_wl='-Qoption ld ' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - lt_cv_prog_cc_pic='-KPIC' - lt_cv_prog_cc_static='-Bstatic' - if test "x$host_vendor" = xsni; then - lt_cv_prog_cc_wl='-LD' - else - lt_cv_prog_cc_wl='-Wl,' - fi - ;; - - uts4*) - lt_cv_prog_cc_pic='-pic' - lt_cv_prog_cc_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_cv_prog_cc_pic='-Kconform_pic' - lt_cv_prog_cc_static='-Bstatic' - fi - ;; - - *) - lt_cv_prog_cc_can_build_shared=no - ;; - esac - fi -]) -if test -z "$lt_cv_prog_cc_pic"; then - AC_MSG_RESULT([none]) -else - AC_MSG_RESULT([$lt_cv_prog_cc_pic]) - - # Check to make sure the pic_flag actually works. - AC_MSG_CHECKING([if $compiler PIC flag $lt_cv_prog_cc_pic works]) - AC_CACHE_VAL(lt_cv_prog_cc_pic_works, [dnl - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $lt_cv_prog_cc_pic -DPIC" - AC_TRY_COMPILE([], [], [dnl - case $host_os in - hpux9* | hpux10* | hpux11*) - # On HP-UX, both CC and GCC only warn that PIC is supported... then - # they create non-PIC objects. So, if there were any warnings, we - # assume that PIC is not supported. - if test -s conftest.err; then - lt_cv_prog_cc_pic_works=no - else - lt_cv_prog_cc_pic_works=yes - fi - ;; - *) - lt_cv_prog_cc_pic_works=yes - ;; - esac - ], [dnl - lt_cv_prog_cc_pic_works=no - ]) - CFLAGS="$save_CFLAGS" - ]) - - if test "X$lt_cv_prog_cc_pic_works" = Xno; then - lt_cv_prog_cc_pic= - lt_cv_prog_cc_can_build_shared=no - else - lt_cv_prog_cc_pic=" $lt_cv_prog_cc_pic" - fi - - AC_MSG_RESULT([$lt_cv_prog_cc_pic_works]) -fi - -# Check for any special shared library compilation flags. -if test -n "$lt_cv_prog_cc_shlib"; then - AC_MSG_WARN([\`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries]) - if echo "$old_CC $old_CFLAGS " | egrep -e "[[ ]]$lt_cv_prog_cc_shlib[[ ]]" >/dev/null; then : - else - AC_MSG_WARN([add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure]) - lt_cv_prog_cc_can_build_shared=no - fi -fi - -AC_MSG_CHECKING([if $compiler static flag $lt_cv_prog_cc_static works]) -AC_CACHE_VAL([lt_cv_prog_cc_static_works], [dnl - lt_cv_prog_cc_static_works=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_cv_prog_cc_static" - AC_TRY_LINK([], [], [lt_cv_prog_cc_static_works=yes]) - LDFLAGS="$save_LDFLAGS" -]) - -# Belt *and* braces to stop my trousers falling down: -test "X$lt_cv_prog_cc_static_works" = Xno && lt_cv_prog_cc_static= -AC_MSG_RESULT([$lt_cv_prog_cc_static_works]) - -pic_flag="$lt_cv_prog_cc_pic" -special_shlib_compile_flags="$lt_cv_prog_cc_shlib" -wl="$lt_cv_prog_cc_wl" -link_static_flag="$lt_cv_prog_cc_static" -no_builtin_flag="$lt_cv_prog_cc_no_builtin" -can_build_shared="$lt_cv_prog_cc_can_build_shared" - - -# Check to see if options -o and -c are simultaneously supported by compiler -AC_MSG_CHECKING([if $compiler supports -c -o file.$ac_objext]) -AC_CACHE_VAL([lt_cv_compiler_c_o], [ -$rm -r conftest 2>/dev/null -mkdir conftest -cd conftest -echo "int some_variable = 0;" > conftest.$ac_ext -mkdir out -# According to Tom Tromey, Ian Lance Taylor reported there are C compilers -# that will create temporary files in the current directory regardless of -# the output directory. Thus, making CWD read-only will cause this test -# to fail, enabling locking or at least warning the user not to do parallel -# builds. -chmod -w . -save_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS -o out/conftest2.$ac_objext" -compiler_c_o=no -if { (eval echo configure:__oline__: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s out/conftest.err; then - lt_cv_compiler_c_o=no - else - lt_cv_compiler_c_o=yes - fi -else - # Append any errors to the config.log. - cat out/conftest.err 1>&AC_FD_CC - lt_cv_compiler_c_o=no -fi -CFLAGS="$save_CFLAGS" -chmod u+w . -$rm conftest* out/* -rmdir out -cd .. -rmdir conftest -$rm -r conftest 2>/dev/null -]) -compiler_c_o=$lt_cv_compiler_c_o -AC_MSG_RESULT([$compiler_c_o]) - -if test x"$compiler_c_o" = x"yes"; then - # Check to see if we can write to a .lo - AC_MSG_CHECKING([if $compiler supports -c -o file.lo]) - AC_CACHE_VAL([lt_cv_compiler_o_lo], [ - lt_cv_compiler_o_lo=no - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -c -o conftest.lo" - save_objext="$ac_objext" - ac_objext=lo - AC_TRY_COMPILE([], [int some_variable = 0;], [dnl - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - lt_cv_compiler_o_lo=no - else - lt_cv_compiler_o_lo=yes - fi - ]) - ac_objext="$save_objext" - CFLAGS="$save_CFLAGS" - ]) - compiler_o_lo=$lt_cv_compiler_o_lo - AC_MSG_RESULT([$compiler_o_lo]) -else - compiler_o_lo=no -fi - -# Check to see if we can do hard links to lock some files if needed -hard_links="nottested" -if test "$compiler_c_o" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([\`$CC' does not support \`-c -o', so \`make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi - -if test "$GCC" = yes; then - # Check to see if options -fno-rtti -fno-exceptions are supported by compiler - AC_MSG_CHECKING([if $compiler supports -fno-rtti -fno-exceptions]) - echo "int some_variable = 0;" > conftest.$ac_ext - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext" - compiler_rtti_exceptions=no - AC_TRY_COMPILE([], [int some_variable = 0;], [dnl - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - compiler_rtti_exceptions=no - else - compiler_rtti_exceptions=yes - fi - ]) - CFLAGS="$save_CFLAGS" - AC_MSG_RESULT([$compiler_rtti_exceptions]) - - if test "$compiler_rtti_exceptions" = "yes"; then - no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions' - else - no_builtin_flag=' -fno-builtin' - fi -fi - -# See if the linker supports building shared libraries. -AC_MSG_CHECKING([whether the linker ($LD) supports shared libraries]) - -allow_undefined_flag= -no_undefined_flag= -need_lib_prefix=unknown -need_version=unknown -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -archive_cmds= -archive_expsym_cmds= -old_archive_from_new_cmds= -old_archive_from_expsyms_cmds= -export_dynamic_flag_spec= -whole_archive_flag_spec= -thread_safe_flag_spec= -hardcode_into_libs=no -hardcode_libdir_flag_spec= -hardcode_libdir_separator= -hardcode_direct=no -hardcode_minus_L=no -hardcode_shlibpath_var=unsupported -runpath_var= -link_all_deplibs=unknown -always_export_symbols=no -export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' -# include_expsyms should be a list of space-separated symbols to be *always* -# included in the symbol list -include_expsyms= -# exclude_expsyms can be an egrep regular expression of symbols to exclude -# it will be wrapped by ` (' and `)$', so one must not match beginning or -# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', -# as well as any symbol that contains `d'. -exclude_expsyms="_GLOBAL_OFFSET_TABLE_" -# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out -# platforms (ab)use it in PIC code, but their linkers get confused if -# the symbol is explicitly referenced. Since portable code cannot -# rely on this symbol name, it's probably fine to never include it in -# preloaded symbol tables. -extract_expsyms_cmds= - -case $host_os in -cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; -openbsd*) - with_gnu_ld=no - ;; -esac - -ld_shlibs=yes -if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX, the GNU linker is very broken - # Note:Check GNU linker on AIX 5-IA64 when/if it becomes available. - ld_shlibs=no - cat <<EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - ;; - - amigaos*) - archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - - # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can use - # them. - ld_shlibs=no - ;; - - beos*) - if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach <jrb3@best.com> says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32*) - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - allow_undefined_flag=unsupported - always_export_symbols=yes - - extract_expsyms_cmds='test -f $output_objdir/impgen.c || \ - sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~ - test -f $output_objdir/impgen.exe || (cd $output_objdir && \ - if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \ - else $CC -o impgen impgen.c ; fi)~ - $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def' - - old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib' - - # cygwin and mingw dlls have different entry points and sets of symbols - # to exclude. - # FIXME: what about values for MSVC? - dll_entry=__cygwin_dll_entry@12 - dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~ - case $host_os in - mingw*) - # mingw values - dll_entry=_DllMainCRTStartup@12 - dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~ - ;; - esac - - # mingw and cygwin differ, and it's simplest to just exclude the union - # of the two symbol sets. - dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12 - - # recent cygwin and mingw systems supply a stub DllMain which the user - # can override, but on older systems we have to supply one (in ltdll.c) - if test "x$lt_cv_need_dllmain" = "xyes"; then - ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext " - ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $''0 > $output_objdir/$soname-ltdll.c~ - test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~' - else - ltdll_obj= - ltdll_cmds= - fi - - # Extract the symbol export list from an `--export-all' def file, - # then regenerate the def file from the symbol export list, so that - # the compiled dll only exports the symbol export list. - # Be careful not to strip the DATA tag left be newer dlltools. - export_symbols_cmds="$ltdll_cmds"' - $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~ - sed -e "1,/EXPORTS/d" -e "s/ @ [[0-9]]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols' - - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is. - # If DATA tags from a recent dlltool are present, honour them! - archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname-def; - else - echo EXPORTS > $output_objdir/$soname-def; - _lt_hint=1; - cat $export_symbols | while read symbol; do - set dummy \$symbol; - case \[$]# in - 2) echo " \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;; - *) echo " \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;; - esac; - _lt_hint=`expr 1 + \$_lt_hint`; - done; - fi~ - '"$ltdll_cmds"' - $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ - $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~ - $CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ - $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp --output-lib $output_objdir/$libname.dll.a~ - $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags' - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris* | sysv5*) - if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <<EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test "$ld_shlibs" = yes; then - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' - case $host_os in - cygwin* | mingw* | pw32*) - # dlltool doesn't understand --whole-archive et. al. - whole_archive_flag_spec= - ;; - *) - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec= - fi - ;; - esac - fi -else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes && test -z "$link_static_flag"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - hardcode_direct=yes - archive_cmds='' - hardcode_libdir_separator=':' - if test "$GCC" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - hardcode_direct=yes - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - esac - - shared_flag='-shared' - else - # not using gcc - if test "$host_cpu" = ia64; then - shared_flag='${wl}-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall can do strange things, so it is better to - # generate a list of symbols to export. - always_export_symbols=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib' - archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" - else - hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib' - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='${wl}-berok' - # This is a bit strange, but is similar to how AIX traditionally builds - # it's shared libraries. - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname' - fi - fi - ;; - - amigaos*) - archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # see comment about different semantics on the GNU ld section - ld_shlibs=no - ;; - - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path='`cygpath -w "$srcfile"`' - ;; - - darwin* | rhapsody*) - case "$host_os" in - rhapsody* | darwin1.[[012]]) - allow_undefined_flag='-undefined suppress' - ;; - *) # Darwin 1.3 on - allow_undefined_flag='-flat_namespace -undefined suppress' - ;; - esac - # FIXME: Relying on posixy $() will cause problems for - # cross-compilation, but unfortunately the echo tests do not - # yet detect zsh echo's removal of \ escapes. - archive_cmds='$nonopt $(test "x$module" = xyes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linker_flags -install_name $rpath/$soname $verstring' - # We need to add '_' to the symbols in $export_symbols first - #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols' - hardcode_direct=yes - hardcode_shlibpath_var=no - whole_archive_flag_spec='-all_load $convenience' - ;; - - freebsd1*) - ld_shlibs=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd*) - archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9* | hpux10* | hpux11*) - case $host_os in - hpux9*) archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;; - *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;; - esac - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_minus_L=yes # Not in the search PATH, but as the default - # location of the library. - export_dynamic_flag_spec='${wl}-E' - ;; - - irix5* | irix6*) - if test "$GCC" = yes; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - link_all_deplibs=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - openbsd*) - hardcode_direct=yes - hardcode_shlibpath_var=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - else - case "$host_os" in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' - - #Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - hardcode_libdir_separator=: - ;; - - sco3.2v5*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - export_dynamic_flag_spec='${wl}-Bexport' - ;; - - solaris*) - # gcc --version < 3.0 without binutils cannot create self contained - # shared libraries reliably, requiring libgcc.a to resolve some of - # the object symbols generated in some cases. Libraries that use - # assert need libgcc.a to resolve __eprintf, for example. Linking - # a copy of libgcc.a into every shared library to guarantee resolving - # such symbols causes other problems: According to Tim Van Holder - # <tim.van.holder@pandora.be>, C++ libraries end up with a separate - # (to the application) exception stack for one thing. - no_undefined_flag=' -z defs' - if test "$GCC" = yes; then - case `$CC --version 2>/dev/null` in - [[12]].*) - cat <<EOF 1>&2 - -*** Warning: Releases of GCC earlier than version 3.0 cannot reliably -*** create self contained shared libraries on Solaris systems, without -*** introducing a dependency on libgcc.a. Therefore, libtool is disabling -*** -no-undefined support, which will at least allow you to build shared -*** libraries. However, you may find that when you link such libraries -*** into an application without using GCC, you have to manually add -*** \`gcc --print-libgcc-file-name\` to the link command. We urge you to -*** upgrade to a newer version of GCC. Another option is to rebuild your -*** current GCC to use the GNU linker from GNU binutils 2.9.1 or newer. - -EOF - no_undefined_flag= - ;; - esac - fi - # $CC -shared without GNU ld will not create a library from C++ - # object files and a static libstdc++, better avoid it by now - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - if test "x$host_vendor" = xsno; then - archive_cmds='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - else - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - fi - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv5*) - no_undefined_flag=' -z text' - # $CC -shared without GNU ld will not create a library from C++ - # object files and a static libstdc++, better avoid it by now - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - hardcode_libdir_flag_spec= - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4.2uw2*) - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=no - hardcode_shlibpath_var=no - hardcode_runpath_var=yes - runpath_var=LD_RUN_PATH - ;; - - sysv5uw7* | unixware7*) - no_undefined_flag='${wl}-z ${wl}text' - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac -fi -AC_MSG_RESULT([$ld_shlibs]) -test "$ld_shlibs" = no && can_build_shared=no - -# Check hardcoding attributes. -AC_MSG_CHECKING([how to hardcode library paths into programs]) -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || \ - test -n "$runpath_var"; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$hardcode_shlibpath_var" != no && - test "$hardcode_minus_L" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -AC_MSG_RESULT([$hardcode_action]) - -striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else - AC_MSG_RESULT([no]) -fi - -reload_cmds='$LD$reload_flag -o $output$reload_objs' -test -z "$deplibs_check_method" && deplibs_check_method=unknown - -# PORTME Fill in your ld.so characteristics -AC_MSG_CHECKING([dynamic linker characteristics]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}.so$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}.so$major' - ;; - -aix4* | aix5*) - version_type=linux - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix $libname.so' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can - # not hardcode correct soname into executable. Probably we can - # add versioning support to collect2, so additional links can - # be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib<name>.so - # instead of lib<name>.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}.so$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}.so' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi4*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - export_dynamic_flag_spec=-rdynamic - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - need_version=no - need_lib_prefix=no - case $GCC,$host_os in - yes,cygwin*) - library_names_spec='$libname.dll.a' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll' - postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog .libs/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - ;; - yes,mingw*) - library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"` - ;; - yes,pw32*) - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll' - ;; - *) - library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - # FIXME: Relying on posixy $() will cause problems for - # cross-compilation, but unfortunately the echo tests do not - # yet detect zsh echo's removal of \ escapes. - library_names_spec='${libname}${release}${versuffix}.$(test .$module = .yes && echo so || echo dylib) ${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib) ${libname}.$(test .$module = .yes && echo so || echo dylib)' - soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - *) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - dynamic_linker="$host_os dld.sl" - version_type=sunos - need_lib_prefix=no - need_version=no - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl' - soname_spec='${libname}${release}.sl$major' - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -irix5* | irix6*) - version_type=irix - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}.so$major' - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so' - case $host_os in - irix5*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux-gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so' - soname_spec='${libname}${release}.so$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case "$host_os" in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - ;; - -os2*) - libname_spec='$name' - need_lib_prefix=no - library_names_spec='$libname.dll $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_version=no - soname_spec='${libname}${release}.so' - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -sco3.2v5*) - version_type=osf - soname_spec='${libname}${release}.so$major' - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - shlibpath_var=LD_LIBRARY_PATH - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - version_type=linux - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' - soname_spec='$libname.so.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no - -# Report the final consequences. -AC_MSG_CHECKING([if libtool supports shared libraries]) -AC_MSG_RESULT([$can_build_shared]) - -AC_MSG_CHECKING([whether to build shared libraries]) -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case "$host_os" in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - -aix4*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -AC_MSG_RESULT([$enable_shared]) - -AC_MSG_CHECKING([whether to build static libraries]) -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -AC_MSG_RESULT([$enable_static]) - -if test "$hardcode_action" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -AC_LIBTOOL_DLOPEN_SELF - -if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_MSG_CHECKING([whether -lc should be explicitly linked in]) - AC_CACHE_VAL([lt_cv_archive_cmds_need_lc], - [$rm conftest* - echo 'static int dummy;' > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile); then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_cv_prog_cc_wl - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if AC_TRY_EVAL(archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) - then - lt_cv_archive_cmds_need_lc=no - else - lt_cv_archive_cmds_need_lc=yes - fi - allow_undefined_flag=$save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi]) - AC_MSG_RESULT([$lt_cv_archive_cmds_need_lc]) - ;; - esac -fi -need_lc=${lt_cv_archive_cmds_need_lc-yes} - -# The second clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - : -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - test -f Makefile && make "$ltmain" -fi - -if test -f "$ltmain"; then - trap "$rm \"${ofile}T\"; exit 1" 1 2 15 - $rm -f "${ofile}T" - - echo creating $ofile - - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS \ - AR AR_FLAGS CC LD LN_S NM SHELL \ - reload_flag reload_cmds wl \ - pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \ - thread_safe_flag_spec whole_archive_flag_spec libname_spec \ - library_names_spec soname_spec \ - RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \ - old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds \ - postuninstall_cmds extract_expsyms_cmds old_archive_from_expsyms_cmds \ - old_striplib striplib file_magic_cmd export_symbols_cmds \ - deplibs_check_method allow_undefined_flag no_undefined_flag \ - finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \ - global_symbol_to_c_name_address \ - hardcode_libdir_flag_spec hardcode_libdir_separator \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do - - case $var in - reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - export_symbols_cmds | archive_cmds | archive_expsym_cmds | \ - extract_expsyms_cmds | old_archive_from_expsyms_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - cat <<__EOF__ > "${ofile}T" -#! $SHELL - -# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996-2000 Free Software Foundation, Inc. -# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="sed -e s/^X//" - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi - -# ### BEGIN LIBTOOL CONFIG - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$need_lc - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# The default C compiler. -CC=$lt_CC - -# Is the compiler the GNU C compiler? -with_gcc=$GCC - -# The linker used to build libraries. -LD=$lt_LD - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_wl - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_pic_flag -pic_mode=$pic_mode - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_compiler_c_o - -# Can we write directly to a .lo ? -compiler_o_lo=$lt_compiler_o_lo - -# Must we lock files when doing compilation ? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_link_static_flag - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_no_builtin_flag - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path" - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# ### END LIBTOOL CONFIG - -__EOF__ - - case $host_os in - aix3*) - cat <<\EOF >> "${ofile}T" - -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -EOF - ;; - esac - - case $host_os in - cygwin* | mingw* | pw32* | os2*) - cat <<'EOF' >> "${ofile}T" - # This is a source program that is used to create dlls on Windows - # Don't remove nor modify the starting and closing comments -# /* ltdll.c starts here */ -# #define WIN32_LEAN_AND_MEAN -# #include <windows.h> -# #undef WIN32_LEAN_AND_MEAN -# #include <stdio.h> -# -# #ifndef __CYGWIN__ -# # ifdef __CYGWIN32__ -# # define __CYGWIN__ __CYGWIN32__ -# # endif -# #endif -# -# #ifdef __cplusplus -# extern "C" { -# #endif -# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); -# #ifdef __cplusplus -# } -# #endif -# -# #ifdef __CYGWIN__ -# #include <cygwin/cygwin_dll.h> -# DECLARE_CYGWIN_DLL( DllMain ); -# #endif -# HINSTANCE __hDllInstance_base; -# -# BOOL APIENTRY -# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) -# { -# __hDllInstance_base = hInst; -# return TRUE; -# } -# /* ltdll.c ends here */ - # This is a source program that is used to create import libraries - # on Windows for dlls which lack them. Don't remove nor modify the - # starting and closing comments -# /* impgen.c starts here */ -# /* Copyright (C) 1999-2000 Free Software Foundation, Inc. -# -# This file is part of GNU libtool. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# */ -# -# #include <stdio.h> /* for printf() */ -# #include <unistd.h> /* for open(), lseek(), read() */ -# #include <fcntl.h> /* for O_RDONLY, O_BINARY */ -# #include <string.h> /* for strdup() */ -# -# /* O_BINARY isn't required (or even defined sometimes) under Unix */ -# #ifndef O_BINARY -# #define O_BINARY 0 -# #endif -# -# static unsigned int -# pe_get16 (fd, offset) -# int fd; -# int offset; -# { -# unsigned char b[2]; -# lseek (fd, offset, SEEK_SET); -# read (fd, b, 2); -# return b[0] + (b[1]<<8); -# } -# -# static unsigned int -# pe_get32 (fd, offset) -# int fd; -# int offset; -# { -# unsigned char b[4]; -# lseek (fd, offset, SEEK_SET); -# read (fd, b, 4); -# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); -# } -# -# static unsigned int -# pe_as32 (ptr) -# void *ptr; -# { -# unsigned char *b = ptr; -# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); -# } -# -# int -# main (argc, argv) -# int argc; -# char *argv[]; -# { -# int dll; -# unsigned long pe_header_offset, opthdr_ofs, num_entries, i; -# unsigned long export_rva, export_size, nsections, secptr, expptr; -# unsigned long name_rvas, nexp; -# unsigned char *expdata, *erva; -# char *filename, *dll_name; -# -# filename = argv[1]; -# -# dll = open(filename, O_RDONLY|O_BINARY); -# if (dll < 1) -# return 1; -# -# dll_name = filename; -# -# for (i=0; filename[i]; i++) -# if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':') -# dll_name = filename + i +1; -# -# pe_header_offset = pe_get32 (dll, 0x3c); -# opthdr_ofs = pe_header_offset + 4 + 20; -# num_entries = pe_get32 (dll, opthdr_ofs + 92); -# -# if (num_entries < 1) /* no exports */ -# return 1; -# -# export_rva = pe_get32 (dll, opthdr_ofs + 96); -# export_size = pe_get32 (dll, opthdr_ofs + 100); -# nsections = pe_get16 (dll, pe_header_offset + 4 +2); -# secptr = (pe_header_offset + 4 + 20 + -# pe_get16 (dll, pe_header_offset + 4 + 16)); -# -# expptr = 0; -# for (i = 0; i < nsections; i++) -# { -# char sname[8]; -# unsigned long secptr1 = secptr + 40 * i; -# unsigned long vaddr = pe_get32 (dll, secptr1 + 12); -# unsigned long vsize = pe_get32 (dll, secptr1 + 16); -# unsigned long fptr = pe_get32 (dll, secptr1 + 20); -# lseek(dll, secptr1, SEEK_SET); -# read(dll, sname, 8); -# if (vaddr <= export_rva && vaddr+vsize > export_rva) -# { -# expptr = fptr + (export_rva - vaddr); -# if (export_rva + export_size > vaddr + vsize) -# export_size = vsize - (export_rva - vaddr); -# break; -# } -# } -# -# expdata = (unsigned char*)malloc(export_size); -# lseek (dll, expptr, SEEK_SET); -# read (dll, expdata, export_size); -# erva = expdata - export_rva; -# -# nexp = pe_as32 (expdata+24); -# name_rvas = pe_as32 (expdata+32); -# -# printf ("EXPORTS\n"); -# for (i = 0; i<nexp; i++) -# { -# unsigned long name_rva = pe_as32 (erva+name_rvas+i*4); -# printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i); -# } -# -# return 0; -# } -# /* impgen.c ends here */ - -EOF - ;; - esac - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "${ofile}T" || (rm -f "${ofile}T"; exit 1) - - mv -f "${ofile}T" "$ofile" || \ - (rm -f "$ofile" && cp "${ofile}T" "$ofile" && rm -f "${ofile}T") - chmod +x "$ofile" -fi - -])# _LT_AC_LTCONFIG_HACK - -# AC_LIBTOOL_DLOPEN - enable checks for dlopen support -AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])]) - -# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's -AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])]) - -# AC_ENABLE_SHARED - implement the --enable-shared flag -# Usage: AC_ENABLE_SHARED[(DEFAULT)] -# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to -# `yes'. -AC_DEFUN([AC_ENABLE_SHARED], -[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE(shared, -changequote(<<, >>)dnl -<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT], -changequote([, ])dnl -[p=${PACKAGE-default} -case $enableval in -yes) enable_shared=yes ;; -no) enable_shared=no ;; -*) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$ac_save_ifs" - ;; -esac], -enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl -]) - -# AC_DISABLE_SHARED - set the default shared flag to --disable-shared -AC_DEFUN([AC_DISABLE_SHARED], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_SHARED(no)]) - -# AC_ENABLE_STATIC - implement the --enable-static flag -# Usage: AC_ENABLE_STATIC[(DEFAULT)] -# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to -# `yes'. -AC_DEFUN([AC_ENABLE_STATIC], -[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE(static, -changequote(<<, >>)dnl -<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT], -changequote([, ])dnl -[p=${PACKAGE-default} -case $enableval in -yes) enable_static=yes ;; -no) enable_static=no ;; -*) - enable_static=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$ac_save_ifs" - ;; -esac], -enable_static=AC_ENABLE_STATIC_DEFAULT)dnl -]) - -# AC_DISABLE_STATIC - set the default static flag to --disable-static -AC_DEFUN([AC_DISABLE_STATIC], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_STATIC(no)]) - - -# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag -# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)] -# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to -# `yes'. -AC_DEFUN([AC_ENABLE_FAST_INSTALL], -[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE(fast-install, -changequote(<<, >>)dnl -<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT], -changequote([, ])dnl -[p=${PACKAGE-default} -case $enableval in -yes) enable_fast_install=yes ;; -no) enable_fast_install=no ;; -*) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$ac_save_ifs" - ;; -esac], -enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl -]) - -# AC_DISABLE_FAST_INSTALL - set the default to --disable-fast-install -AC_DEFUN([AC_DISABLE_FAST_INSTALL], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_FAST_INSTALL(no)]) - -# AC_LIBTOOL_PICMODE - implement the --with-pic flag -# Usage: AC_LIBTOOL_PICMODE[(MODE)] -# Where MODE is either `yes' or `no'. If omitted, it defaults to -# `both'. -AC_DEFUN([AC_LIBTOOL_PICMODE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -pic_mode=ifelse($#,1,$1,default)]) - - -# AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library -AC_DEFUN([AC_PATH_TOOL_PREFIX], -[AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in - /*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; - ?:/*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path. - ;; - *) - ac_save_MAGIC_CMD="$MAGIC_CMD" - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="ifelse([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - egrep "$file_magic_regex" > /dev/null; then - : - else - cat <<EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac - fi - break - fi - done - IFS="$ac_save_ifs" - MAGIC_CMD="$ac_save_MAGIC_CMD" - ;; -esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -]) - - -# AC_PATH_MAGIC - find a file program which can recognise a shared library -AC_DEFUN([AC_PATH_MAGIC], -[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl -AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH) - else - MAGIC_CMD=: - fi -fi -]) - - -# AC_PROG_LD - find the path to the GNU or non-GNU linker -AC_DEFUN([AC_PROG_LD], -[AC_ARG_WITH(gnu-ld, -[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], -test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by GCC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | [[A-Za-z]]:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then - test "$with_gnu_ld" != no && break - else - test "$with_gnu_ld" != yes && break - fi - fi - done - IFS="$ac_save_ifs" -else - lt_cv_path_LD="$LD" # Let the user override the test with a path. -fi]) -LD="$lt_cv_path_LD" -if test -n "$LD"; then - AC_MSG_RESULT($LD) -else - AC_MSG_RESULT(no) -fi -test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) -AC_PROG_LD_GNU -]) - -# AC_PROG_LD_GNU - -AC_DEFUN([AC_PROG_LD_GNU], -[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, -[# I'd rather use --version here, but apparently some GNU ld's only accept -v. -if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then - lt_cv_prog_gnu_ld=yes -else - lt_cv_prog_gnu_ld=no -fi]) -with_gnu_ld=$lt_cv_prog_gnu_ld -]) - -# AC_PROG_LD_RELOAD_FLAG - find reload flag for linker -# -- PORTME Some linkers may need a different reload flag. -AC_DEFUN([AC_PROG_LD_RELOAD_FLAG], -[AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag, -[lt_cv_ld_reload_flag='-r']) -reload_flag=$lt_cv_ld_reload_flag -test -n "$reload_flag" && reload_flag=" $reload_flag" -]) - -# AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies -# -- PORTME fill in with the dynamic library characteristics -AC_DEFUN([AC_DEPLIBS_CHECK_METHOD], -[AC_CACHE_CHECK([how to recognise dependant libraries], -lt_cv_deplibs_check_method, -[lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given egrep regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. - -case $host_os in -aix4* | aix5*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi4*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin* | mingw* | pw32*) - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library' - lt_cv_file_magic_cmd='/usr/bin/file -L' - case "$host_os" in - rhapsody* | darwin1.[[012]]) - lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1` - ;; - *) # Darwin 1.3 on - lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' - ;; - esac - ;; - -freebsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20*|hpux11*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - -irix5* | irix6*) - case $host_os in - irix5*) - # this will be overridden with pass_all, but let us keep it just in case - lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" - ;; - *) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - # this will be overridden with pass_all, but let us keep it just in case - lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1" - ;; - esac - lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux-gnu*) - case $host_cpu in - alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* ) - lt_cv_deplibs_check_method=pass_all ;; - *) - # glibc up to 2.1.1 does not perform some relocations on ARM - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; - esac - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so\.[[0-9]]+\.[[0-9]]+$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -openbsd*) - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object' - else - lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library' - fi - ;; - -osf3* | osf4* | osf5*) - # this will be overridden with pass_all, but let us keep it just in case - lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' - lt_cv_file_magic_test_file=/shlib/libc.so - lt_cv_deplibs_check_method=pass_all - ;; - -sco3.2v5*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - lt_cv_file_magic_test_file=/lib/libc.so - ;; - -sysv5uw[[78]]* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - esac - ;; -esac -]) -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -]) - - -# AC_PROG_NM - find the path to a BSD-compatible name lister -AC_DEFUN([AC_PROG_NM], -[AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl -AC_MSG_CHECKING([for BSD-compatible nm]) -AC_CACHE_VAL(lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do - test -z "$ac_dir" && ac_dir=. - tmp_nm=$ac_dir/${ac_tool_prefix}nm - if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then - lt_cv_path_NM="$tmp_nm -B" - break - elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - lt_cv_path_NM="$tmp_nm -p" - break - else - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - fi - fi - done - IFS="$ac_save_ifs" - test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm -fi]) -NM="$lt_cv_path_NM" -AC_MSG_RESULT([$NM]) -]) - -# AC_CHECK_LIBM - check for math library -AC_DEFUN([AC_CHECK_LIBM], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cygwin* | *-*-pw32*) - # These system don't have libm - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, main, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, main, LIBM="-lm") - ;; -esac -]) - -# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for -# the libltdl convenience library and INCLTDL to the include flags for -# the libltdl header and adds --enable-ltdl-convenience to the -# configure arguments. Note that LIBLTDL and INCLTDL are not -# AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If DIR is not -# provided, it is assumed to be `libltdl'. LIBLTDL will be prefixed -# with '${top_builddir}/' and INCLTDL will be prefixed with -# '${top_srcdir}/' (note the single quotes!). If your package is not -# flat and you're not using automake, define top_builddir and -# top_srcdir appropriately in the Makefiles. -AC_DEFUN([AC_LIBLTDL_CONVENIENCE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - case $enable_ltdl_convenience in - no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; - "") enable_ltdl_convenience=yes - ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; - esac - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la - INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) -]) - -# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for -# the libltdl installable library and INCLTDL to the include flags for -# the libltdl header and adds --enable-ltdl-install to the configure -# arguments. Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is -# AC_CONFIG_SUBDIRS called. If DIR is not provided and an installed -# libltdl is not found, it is assumed to be `libltdl'. LIBLTDL will -# be prefixed with '${top_builddir}/' and INCLTDL will be prefixed -# with '${top_srcdir}/' (note the single quotes!). If your package is -# not flat and you're not using automake, define top_builddir and -# top_srcdir appropriately in the Makefiles. -# In the future, this macro may have to be called after AC_PROG_LIBTOOL. -AC_DEFUN([AC_LIBLTDL_INSTALLABLE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - AC_CHECK_LIB(ltdl, main, - [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], - [if test x"$enable_ltdl_install" = xno; then - AC_MSG_WARN([libltdl not installed, but installation disabled]) - else - enable_ltdl_install=yes - fi - ]) - if test x"$enable_ltdl_install" = x"yes"; then - ac_configure_args="$ac_configure_args --enable-ltdl-install" - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la - INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) - else - ac_configure_args="$ac_configure_args --enable-ltdl-install=no" - LIBLTDL="-lltdl" - INCLTDL= - fi -]) - -# old names -AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) -AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) -AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) -AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) -AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) - -# This is just to silence aclocal about the macro not being used -ifelse([AC_DISABLE_FAST_INSTALL]) - diff --git a/Build/source/libs/curl/build_vms.com b/Build/source/libs/curl/build_vms.com deleted file mode 100755 index 644d2a64334..00000000000 --- a/Build/source/libs/curl/build_vms.com +++ /dev/null @@ -1,69 +0,0 @@ -$! -$ -$ on control_y then goto Common_Exit! -$ orig = f$environment("DEFAULT") -$ loc = f$environment("PROCEDURE") -$ def = f$parse("X.X;1",loc) - "X.X;1" -$ -$ set def 'def' -$ cc_qual = "/define=HAVE_CONFIG_H=1/include=(""../include/"",""../"",""../../openssl-0_9_6c/include/"")" -$ if p1 .eqs. "LISTING" then cc_qual = cc_qual + "/LIST/MACHINE" -$ if p1 .eqs. "DEBUG" then cc_qual = cc_qual + "/LIST/MACHINE/DEBUG" -$ msg_qual = "" -$ call build "[.lib]" "*.c" -$ call build "[.src]" "*.c" -$ call build "[.src]" "*.msg" -$ link /exe=curl.exe [.src]curl/lib/include=main,[.lib]curl/lib, - - [-.openssl-0_9_6c.axp.exe.ssl]libssl/lib, - - [-.openssl-0_9_6c.axp.exe.crypto]libcrypto/lib -$ -$ -$ goto Common_Exit -$build: subroutine -$ set noon -$ set default 'p1' -$ search = p2 -$ reset = f$search("reset") -$ if f$search("CURL.OLB") .eqs. "" -$ then -$ LIB/CREATE/OBJECT CURL.OLB -$ endif -$ reset = f$search("reset",1) -$Loop: -$ file = f$search(search,1) -$ if file .eqs. "" then goto EndLoop -$ obj = f$search(f$parse(".OBJ;",file),2) -$ if (obj .nes. "") -$ then -$ if (f$cvtime(f$file(file,"rdt")) .gts. f$cvtime(f$file(obj,"rdt"))) -$ then -$ call compile 'file' -$ lib/object curl.OLB 'f$parse(".obj;",file)' -$ else -$! write sys$output "File: ''file' is up to date" -$ endif -$ else -$! write sys$output "Object for file: ''file' does not exist" -$ call compile 'file' -$ lib/object curl.OLB 'f$parse(".obj;",file)' -$ endif -$ goto Loop -$EndLoop: -$ purge -$ set def 'def' -$ endsubroutine ! Build -$ -$compile: subroutine -$ set noon -$ file = p1 -$ qual = p2+p3+p4+p5+p6+p7+p8 -$ typ = f$parse(file,,,"TYPE") - "." -$ cmd_c = "CC "+cc_qual -$ cmd_msg = "MESSAGE "+msg_qual -$ x = cmd_'typ' -$ 'x' 'file' -$ ENDSUBROUTINE ! Compile -$ -$Common_Exit: -$ set default 'orig' -$ exit diff --git a/Build/source/libs/curl/config.guess b/Build/source/libs/curl/config.guess deleted file mode 100644 index 6cc26cd3df1..00000000000 --- a/Build/source/libs/curl/config.guess +++ /dev/null @@ -1,1513 +0,0 @@ -#! /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 Free Software Foundation, -# Inc. - -timestamp='2007-01-15' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner <per@bothner.com>. -# Please send patches to <config-patches@gnu.org>. Submit a context -# diff and a properly formatted ChangeLog entry. -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to <config-patches@gnu.org>." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:SunOS:5.*:*) - echo i386-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:*:[45]) - 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 __LP64__ >/dev/null - then - HP_ARCH="hppa2.0w" - else - HP_ARCH="hppa64" - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include <unistd.h> - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - case ${UNAME_MACHINE} in - pc98) - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - esac - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - x86:Interix*:[3456]*) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - EM64T:Interix*:[3456]* | authenticamd:Interix*:[3456]*) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-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 ;; - arm*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - cris:Linux:*:*) - echo cris-axis-linux-gnu - exit ;; - crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu - exit ;; - frv:Linux:*:*) - echo frv-unknown-linux-gnu - 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:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips - #undef mipsel - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips64 - #undef mips64el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mips64el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips64 - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - or32:Linux:*:*) - echo or32-unknown-linux-gnu - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; - ppc64:Linux:*:*) - echo powerpc64-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 ld.so.1 >/dev/null - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - 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 ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-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 ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu - exit ;; - x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu - exit ;; - xtensa:Linux:*:*) - echo xtensa-unknown-linux-gnu - exit ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit ;; - coff-i386) - echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include <features.h> - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^LIBC/{ - s: ::g - p - }'`" - test x"${LIBC}" != x && { - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit - } - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; 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.0*:*) - 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 i386. - echo i386-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; } ;; - 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.0*:*) - 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 ;; - 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} - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - unknown) UNAME_PROCESSOR=powerpc ;; - esac - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NSE-?:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' - exit ;; - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; -esac - -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - -eval $set_cc_for_build -cat >$dummy.c <<EOF -#ifdef _SEQUENT_ -# include <sys/types.h> -# include <sys/utsname.h> -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include <sys/param.h> - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix\n"); exit (0); -#endif - -#if defined (hp300) && !defined (hpux) - printf ("m68k-hp-bsd\n"); exit (0); -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); - -#endif - -#if defined (vax) -# if !defined (ultrix) -# include <sys/param.h> -# if defined (BSD) -# if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -# else -# if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# endif -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# else - printf ("vax-dec-ultrix\n"); exit (0); -# endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } - -# Convex versions that predate uname can use getsysinfo(1) - -if [ -x /usr/convex/getsysinfo ] -then - case `getsysinfo -f cpu_type` in - c1*) - echo c1-convex-bsd - exit ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - c34*) - echo c34-convex-bsd - exit ;; - c38*) - echo c38-convex-bsd - exit ;; - c4*) - echo c4-convex-bsd - exit ;; - esac -fi - -cat >&2 <<EOF -$0: unable to guess system type - -This script, last modified $timestamp, has failed to recognize -the operating system you are using. It is advised that you -download the most up to date version of the config scripts from - - http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess -and - http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub - -If the version you run ($0) is already up to date, please -send the following data and any information you think might be -pertinent to <config-patches@gnu.org> in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/Build/source/libs/curl/config.sub b/Build/source/libs/curl/config.sub deleted file mode 100644 index 5defff65a6e..00000000000 --- a/Build/source/libs/curl/config.sub +++ /dev/null @@ -1,1622 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, -# Inc. - -timestamp='2007-01-18' - -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Please send patches to <config-patches@gnu.org>. Submit a context -# diff and a properly formatted ChangeLog entry. -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -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.sub ($timestamp) - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -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" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ - uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) - os= - basic_machine=$1 - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ - | bfin \ - | c4x | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | fido | fr30 | frv \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64vr | mips64vrel \ - | mips64orion | mips64orionel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | mt \ - | msp430 \ - | nios | nios2 \ - | ns16k | ns32k \ - | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ - | pyramid \ - | score \ - | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu | strongarm \ - | tahoe | thumb | tic4x | tic80 | tron \ - | v850 | v850e \ - | we32k \ - | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k) - basic_machine=$basic_machine-unknown - ;; - m6811 | m68hc11 | m6812 | m68hc12) - # Motorola 68HC11/12. - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - ms1) - basic_machine=mt-unknown - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ - | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nios-* | nios2-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ - | pyramid-* \ - | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tron-* \ - | v850-* | v850e-* | vax-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa-* \ - | ymp-* \ - | z8k-*) - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16c) - basic_machine=cr16c-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc) basic_machine=powerpc-unknown - ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sde) - basic_machine=mipsisa32-sde - os=-elf - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh5el) - basic_machine=sh5le-unknown - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tic55x | c55x*) - basic_machine=tic55x-unknown - os=-coff - ;; - tic6x | c6x*) - basic_machine=tic6x-unknown - os=-coff - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -openbsd* | -solidbsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -kaos*) - os=-kaos - ;; - -zvmoe) - os=-zvmoe - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - score-*) - os=-elf - ;; - spu-*) - os=-elf - ;; - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 - ;; - m68*-cisco) - os=-aout - ;; - mep-*) - os=-elf - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-haiku) - os=-haiku - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/Build/source/libs/curl/configure b/Build/source/libs/curl/configure deleted file mode 100755 index c99b2d93e6e..00000000000 --- a/Build/source/libs/curl/configure +++ /dev/null @@ -1,13410 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by Autoconf 2.52. -# -# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. - -# Find the correct PATH separator. Usually this is `:', but -# DJGPP uses `;' like DOS. -if test "X${PATH_SEPARATOR+set}" != Xset; then - UNAME=${UNAME-`uname 2>/dev/null`} - case X$UNAME in - *-DOS) lt_cv_sys_path_separator=';' ;; - *) lt_cv_sys_path_separator=':' ;; - esac - PATH_SEPARATOR=$lt_cv_sys_path_separator -fi - -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` - ;; -esac - -echo=${ECHO-echo} -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then - # Yippee, $echo works! - : -else - # Restart under the correct shell. - exec $SHELL "$0" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat <<EOF - -EOF - exit 0 -fi - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi - -if test -z "$ECHO"; then -if test "X${echo_test_string+set}" != Xset; then -# find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if (echo_test_string="`eval $cmd`") 2>/dev/null && - echo_test_string="`eval $cmd`" && - (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null - then - break - fi - done -fi - -if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : -else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - IFS="${IFS= }"; save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$dir/echo" - break - fi - done - IFS="$save_ifs" - - if test "X$echo" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - echo='print -r' - elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} - else - # Try using printf. - echo='printf %s\n' - if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - echo="$CONFIG_SHELL $0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$CONFIG_SHELL $0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do - if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "$0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} - else - # Oops. We lost completely, so just stick with echo. - echo=echo - fi - fi - fi - fi -fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -ECHO=$echo -if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then - ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" -fi - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" - -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix -fi - -# Name of the executable. -as_me=`echo "$0" |sed 's,.*[\\/],,'` - -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else - as_ln_s='ln -s' - fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.file - -as_executable_p="test -f" - -# Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - -# NLS nuisances. -$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; } -$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; } -$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; } -$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; } -$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; } -$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; } -$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; } -$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; } - -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; } - -# Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -exec 6>&1 - -# -# Initializations. -# -ac_default_prefix=/usr/local -cross_compiling=no -subdirs= -MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} - -# Maximum number of lines to put in a shell here document. -# This variable seems obsolete. It should probably be removed, and -# only ac_max_sed_lines should be used. -: ${ac_max_here_lines=38} - -ac_unique_file="lib/urldata.h" -# Factoring default headers for most tests. -ac_includes_default="\ -#include <stdio.h> -#if HAVE_SYS_TYPES_H -# include <sys/types.h> -#endif -#if HAVE_SYS_STAT_H -# include <sys/stat.h> -#endif -#if STDC_HEADERS -# include <stdlib.h> -# include <stddef.h> -#else -# if HAVE_STDLIB_H -# include <stdlib.h> -# endif -#endif -#if HAVE_STRING_H -# if !STDC_HEADERS && HAVE_MEMORY_H -# include <memory.h> -# endif -# include <string.h> -#endif -#if HAVE_STRINGS_H -# include <strings.h> -#endif -#if HAVE_INTTYPES_H -# include <inttypes.h> -#else -# if HAVE_STDINT_H -# include <stdint.h> -# endif -#endif -#if HAVE_UNISTD_H -# include <unistd.h> -#endif" - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - -# Identity of this package. -PACKAGE_NAME= -PACKAGE_TARNAME= -PACKAGE_VERSION= -PACKAGE_STRING= -PACKAGE_BUGREPORT= - -ac_prev= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_option in - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - eval "enable_$ac_feature=no" ;; - - -enable-* | --enable-*) - ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) ac_optarg=yes ;; - esac - eval "enable_$ac_feature='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package| sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) ac_optarg=yes ;; - esac - eval "with_$ac_package='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package | sed 's/-/_/g'` - eval "with_$ac_package=no" ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) { echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } - ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` - eval "$ac_envvar='$ac_optarg'" - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } -fi - -# Be sure to have absolute paths. -for ac_var in exec_prefix prefix -do - eval ac_val=$`echo $ac_var` - case $ac_val in - [\\/$]* | ?:[\\/]* | NONE | '' ) ;; - *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; - esac -done - -# Be sure to have absolute paths. -for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ - localstatedir libdir includedir oldincludedir infodir mandir -do - eval ac_val=$`echo $ac_var` - case $ac_val in - [\\/$]* | ?:[\\/]* ) ;; - *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; - esac -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: should be removed in autoconf 3.0. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo "$ac_prog" | sed 's%[\\/][^\\/][^\\/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. - srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "$as_me: error: cannot find sources in $ac_confdir or .." >&2 - { (exit 1); exit 1; }; } - else - { echo "$as_me: error: cannot find sources in $srcdir" >&2 - { (exit 1); exit 1; }; } - fi -fi -srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` -ac_env_build_alias_set=${build_alias+set} -ac_env_build_alias_value=$build_alias -ac_cv_env_build_alias_set=${build_alias+set} -ac_cv_env_build_alias_value=$build_alias -ac_env_host_alias_set=${host_alias+set} -ac_env_host_alias_value=$host_alias -ac_cv_env_host_alias_set=${host_alias+set} -ac_cv_env_host_alias_value=$host_alias -ac_env_target_alias_set=${target_alias+set} -ac_env_target_alias_value=$target_alias -ac_cv_env_target_alias_set=${target_alias+set} -ac_cv_env_target_alias_value=$target_alias -ac_env_CC_set=${CC+set} -ac_env_CC_value=$CC -ac_cv_env_CC_set=${CC+set} -ac_cv_env_CC_value=$CC -ac_env_CFLAGS_set=${CFLAGS+set} -ac_env_CFLAGS_value=$CFLAGS -ac_cv_env_CFLAGS_set=${CFLAGS+set} -ac_cv_env_CFLAGS_value=$CFLAGS -ac_env_LDFLAGS_set=${LDFLAGS+set} -ac_env_LDFLAGS_value=$LDFLAGS -ac_cv_env_LDFLAGS_set=${LDFLAGS+set} -ac_cv_env_LDFLAGS_value=$LDFLAGS -ac_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_env_CPPFLAGS_value=$CPPFLAGS -ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_cv_env_CPPFLAGS_value=$CPPFLAGS -ac_env_CPP_set=${CPP+set} -ac_env_CPP_value=$CPP -ac_cv_env_CPP_set=${CPP+set} -ac_cv_env_CPP_value=$CPP - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<EOF -\`configure' configures this package to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -EOF - - cat <<EOF -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data [PREFIX/share] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --infodir=DIR info documentation [PREFIX/info] - --mandir=DIR man documentation [PREFIX/man] -EOF - - cat <<\EOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST build programs to run on HOST [BUILD] -EOF -fi - -if test -n "$ac_init_help"; then - - cat <<\EOF - -Optional Features: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --disable-dependency-tracking Speeds up one-time builds - --enable-dependency-tracking Do not reject slow dependency extractors - --disable-largefile omit support for large files - --enable-shared=PKGS build shared libraries default=yes - --enable-static=PKGS build static libraries default=yes - --enable-fast-install=PKGS optimize for fast installation default=yes - --disable-libtool-lock avoid locking (might break parallel builds) - --enable-debug Enable pedantic debug options - --disable-debug Disable debug options - --enable-ipv6 Enable ipv6 (with ipv4) support - --disable-ipv6 Disable ipv6 support - --enable-nonblocking Makes the script detect how to do it - --disable-nonblocking Makes the script disable non-blocking sockets - --disable-thread tell configure to not look for thread-safe functions - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-gnu-ld assume the C compiler uses GNU ld default=no - --with-pic try to use only PIC/non-PIC objects default=use both - --with-egd-socket=FILE Entropy Gathering Daemon socket pathname - --with-random=FILE read randomness from FILE (default=/dev/urandom) - --with-krb4-includes=DIR Specify location of kerberos4 headers - --with-krb4-libs=DIR Specify location of kerberos4 libs - --with-krb4=DIR where to look for Kerberos4 - --with-ssl=DIR where to look for SSL compiler/linker default paths - DIR points to the SSL installation /usr/local/ssl - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a - nonstandard directory <lib dir> - CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have - headers in a nonstandard directory <include dir> - CPP C preprocessor - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -EOF -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - ac_popdir=`pwd` - for ac_subdir in : $ac_subdirs_all; do test "x$ac_subdir" = x: && continue - cd $ac_subdir - # A "../" for each directory in /$ac_subdir. - ac_dots=`echo $ac_subdir | - sed 's,^\./,,;s,[^/]$,&/,;s,[^/]*/,../,g'` - - case $srcdir in - .) # No --srcdir option. We are building in place. - ac_sub_srcdir=$srcdir ;; - [\\/]* | ?:[\\/]* ) # Absolute path. - ac_sub_srcdir=$srcdir/$ac_subdir ;; - *) # Relative path. - ac_sub_srcdir=$ac_dots$srcdir/$ac_subdir ;; - esac - - # Check for guested configure; otherwise get Cygnus style configure. - if test -f $ac_sub_srcdir/configure.gnu; then - echo - $SHELL $ac_sub_srcdir/configure.gnu --help=recursive - elif test -f $ac_sub_srcdir/configure; then - echo - $SHELL $ac_sub_srcdir/configure --help=recursive - elif test -f $ac_sub_srcdir/configure.ac || - test -f $ac_sub_srcdir/configure.in; then - echo - $ac_configure --help - else - echo "$as_me: WARNING: no configuration information is in $ac_subdir" >&2 - fi - cd $ac_popdir - done -fi - -test -n "$ac_init_help" && exit 0 -if $ac_init_version; then - cat <<\EOF - -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -EOF - exit 0 -fi -exec 5>config.log -cat >&5 <<EOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by $as_me, which was -generated by GNU Autoconf 2.52. Invocation command line was - - $ $0 $@ - -EOF -{ -cat <<_ASUNAME -## ---------- ## -## Platform. ## -## ---------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -hostinfo = `(hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -PATH = $PATH - -_ASUNAME -} >&5 - -cat >&5 <<EOF -## ------------ ## -## Core tests. ## -## ------------ ## - -EOF - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell meta-characters. -ac_configure_args= -ac_sep= -for ac_arg -do - case $ac_arg in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` - ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" - ac_sep=" " ;; - *) ac_configure_args="$ac_configure_args$ac_sep$ac_arg" - ac_sep=" " ;; - esac - # Get rid of the leading space. -done - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - echo >&5 - echo "## ----------------- ##" >&5 - echo "## Cache variables. ##" >&5 - echo "## ----------------- ##" >&5 - echo >&5 - # The following way of writing the cache mishandles newlines in values, -{ - (set) 2>&1 | - case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in - *ac_space=\ *) - sed -n \ - "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" - ;; - *) - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" - ;; - esac; -} >&5 - sed "/^$/d" confdefs.h >conftest.log - if test -s conftest.log; then - echo >&5 - echo "## ------------ ##" >&5 - echo "## confdefs.h. ##" >&5 - echo "## ------------ ##" >&5 - echo >&5 - cat conftest.log >&5 - fi - (echo; echo) >&5 - test "$ac_signal" != 0 && - echo "$as_me: caught signal $ac_signal" >&5 - echo "$as_me: exit $exit_status" >&5 - rm -rf conftest* confdefs* core core.* *.core conf$$* $ac_clean_files && - exit $exit_status - ' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo >confdefs.h - -# Let the site file select an alternate cache file if it wants to. -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - { echo "$as_me:1051: loading site script $ac_site_file" >&5 -echo "$as_me: loading site script $ac_site_file" >&6;} - cat "$ac_site_file" >&5 - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { echo "$as_me:1062: loading cache $cache_file" >&5 -echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . $cache_file;; - *) . ./$cache_file;; - esac - fi -else - { echo "$as_me:1070: creating cache $cache_file" >&5 -echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in `(set) 2>&1 | - sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val="\$ac_cv_env_${ac_var}_value" - eval ac_new_val="\$ac_env_${ac_var}_value" - case $ac_old_set,$ac_new_set in - set,) - { echo "$as_me:1086: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { echo "$as_me:1090: error: \`$ac_var' was not set in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:1096: error: \`$ac_var' has changed since the previous run:" >&5 -echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:1098: former value: $ac_old_val" >&5 -echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:1100: current value: $ac_new_val" >&5 -echo "$as_me: current value: $ac_new_val" >&2;} - ac_cache_corrupted=: - fi;; - esac - # Pass precious variables to config.status. It doesn't matter if - # we pass some twice (in addition to the command line arguments). - if test "$ac_new_set" = set; then - case $ac_new_val in - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` - ac_configure_args="$ac_configure_args '$ac_arg'" - ;; - *) ac_configure_args="$ac_configure_args $ac_var=$ac_new_val" - ;; - esac - fi -done -if $ac_cache_corrupted; then - { echo "$as_me:1119: error: changes in the environment can compromise the build" >&5 -echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { echo "$as_me:1121: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; -esac -echo "#! $SHELL" >conftest.sh -echo "exit 0" >>conftest.sh -chmod +x conftest.sh -if { (echo "$as_me:1141: PATH=\".;.\"; conftest.sh") >&5 - (PATH=".;."; conftest.sh) 2>&5 - ac_status=$? - echo "$as_me:1144: \$? = $ac_status" >&5 - (exit $ac_status); }; then - ac_path_separator=';' -else - ac_path_separator=: -fi -PATH_SEPARATOR="$ac_path_separator" -rm -f conftest.sh - - ac_config_headers="$ac_config_headers lib/config.h" - - ac_config_headers="$ac_config_headers src/config.h" - - ac_config_headers="$ac_config_headers tests/server/config.h" - -VERSION=`sed -ne 's/^#define LIBCURL_VERSION "\(.*\)"/\1/p' ${srcdir}/include/curl/curl.h` -ac_aux_dir= -for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f $ac_dir/shtool; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { { echo "$as_me:1177: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 -echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} - { (exit 1); exit 1; }; } -fi -ac_config_guess="$SHELL $ac_aux_dir/config.guess" -ac_config_sub="$SHELL $ac_aux_dir/config.sub" -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# ./install, which can be erroneously created by make from ./install.sh. -echo "$as_me:1197: checking for a BSD compatible install" >&5 -echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6 -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_save_IFS=$IFS; IFS=$ac_path_separator - for ac_dir in $PATH; do - IFS=$ac_save_IFS - # Account for people who put trailing slashes in PATH elements. - case $ac_dir/ in - / | ./ | .// | /cC/* \ - | /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* \ - | /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - if $as_executable_p "$ac_dir/$ac_prog"; then - if test $ac_prog = install && - grep dspmsg "$ac_dir/$ac_prog" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$ac_dir/$ac_prog" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - ac_cv_path_install="$ac_dir/$ac_prog -c" - break 2 - fi - fi - done - ;; - esac - done - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. We don't cache a - # path for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the path is relative. - INSTALL=$ac_install_sh - fi -fi -echo "$as_me:1246: result: $INSTALL" >&5 -echo "${ECHO_T}$INSTALL" >&6 - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -echo "$as_me:1257: checking whether build environment is sane" >&5 -echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 -# 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". - { { echo "$as_me:1281: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&5 -echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&2;} - { (exit 1); exit 1; }; } - fi - - test "$2" = conftest.file - ) -then - # Ok. - : -else - { { echo "$as_me:1294: error: newly created file is older than distributed files! -Check your system clock" >&5 -echo "$as_me: error: newly created file is older than distributed files! -Check your system clock" >&2;} - { (exit 1); exit 1; }; } -fi -echo "$as_me:1300: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -test "$program_prefix" != NONE && - program_transform_name="s,^,$program_prefix,;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s,\$,$program_suffix,;$program_transform_name" -# Double any \ or $. echo might interpret backslashes. -# By default was `s,x,x', remove it if useless. -cat <<\_ACEOF >conftest.sed -s/[\\$]/&&/g;s/;s,x,x,$// -_ACEOF -program_transform_name=`echo $program_transform_name | sed -f conftest.sed` -rm conftest.sed - -# expand $ac_aux_dir to an absolute path -am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd` - -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= - am_backtick='`' - { echo "$as_me:1325: WARNING: ${am_backtick}missing' script is too old or missing" >&5 -echo "$as_me: WARNING: ${am_backtick}missing' script is too old or missing" >&2;} -fi - -for ac_prog in mawk gawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:1333: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_AWK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_AWK="$ac_prog" -echo "$as_me:1348: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - echo "$as_me:1356: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6 -else - echo "$as_me:1359: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$AWK" && break -done - -echo "$as_me:1366: checking whether ${MAKE-make} sets \${MAKE}" >&5 -echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` -if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.make <<\EOF -all: - @echo 'ac_maketemp="${MAKE}"' -EOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` -if test -n "$ac_maketemp"; then - eval ac_cv_prog_make_${ac_make}_set=yes -else - eval ac_cv_prog_make_${ac_make}_set=no -fi -rm -f conftest.make -fi -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then - echo "$as_me:1386: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - SET_MAKE= -else - echo "$as_me:1390: result: no" >&5 -echo "${ECHO_T}no" >&6 - SET_MAKE="MAKE=${MAKE-make}" -fi - -# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then - enableval="$enable_dependency_tracking" - -fi; -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' -fi - -if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - -rm -f .deps 2>/dev/null -mkdir .deps 2>/dev/null -if test -d .deps; then - DEPDIR=.deps -else - # MS-DOS does not allow filenames that begin with a dot. - DEPDIR=_deps -fi -rmdir .deps 2>/dev/null - -# test to see if srcdir already configured -if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" && - test -f $srcdir/config.status; then - { { echo "$as_me:1426: error: source directory already configured; run \"make distclean\" there first" >&5 -echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} - { (exit 1); exit 1; }; } -fi - -# Define the identity of the package. -PACKAGE=curl -VERSION=$VERSION - -cat >>confdefs.h <<EOF -#define PACKAGE "$PACKAGE" -EOF - -cat >>confdefs.h <<EOF -#define VERSION "$VERSION" -EOF - -# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow -# the ones we care about. - -# Autoconf 2.50 always computes EXEEXT. However we need to be -# compatible with 2.13, for now. So we always define EXEEXT, but we -# don't compute it. - -# Similar for OBJEXT -- only we only use OBJEXT if the user actually -# requests that it be used. This is a bit dumb. -: ${OBJEXT=o} - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal"} - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake"} - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -AMTAR=${AMTAR-"${am_missing_run}tar"} - -install_sh=${install_sh-"$am_aux_dir/install-sh"} - -INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" - -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. - -VERSIONNUM=`sed -ne 's/^#define LIBCURL_VERSION_NUM 0x\(.*\)/\1/p' ${srcdir}/include/curl/curl.h` - -PKGADD_PKG="HAXXcurl" -PKGADD_NAME="cURL - a client that groks URLs" -PKGADD_VENDOR="curl.haxx.se" - -# Make sure we can run config.sub. -$ac_config_sub sun4 >/dev/null 2>&1 || - { { echo "$as_me:1483: error: cannot run $ac_config_sub" >&5 -echo "$as_me: error: cannot run $ac_config_sub" >&2;} - { (exit 1); exit 1; }; } - -echo "$as_me:1487: checking build system type" >&5 -echo $ECHO_N "checking build system type... $ECHO_C" >&6 -if test "${ac_cv_build+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_build_alias=$build_alias -test -z "$ac_cv_build_alias" && - ac_cv_build_alias=`$ac_config_guess` -test -z "$ac_cv_build_alias" && - { { echo "$as_me:1496: error: cannot guess build type; you must specify one" >&5 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;} - { (exit 1); exit 1; }; } -ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || - { { echo "$as_me:1500: error: $ac_config_sub $ac_cv_build_alias failed." >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed." >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:1505: result: $ac_cv_build" >&5 -echo "${ECHO_T}$ac_cv_build" >&6 -build=$ac_cv_build -build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -echo "$as_me:1512: checking host system type" >&5 -echo $ECHO_N "checking host system type... $ECHO_C" >&6 -if test "${ac_cv_host+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_host_alias=$host_alias -test -z "$ac_cv_host_alias" && - ac_cv_host_alias=$ac_cv_build_alias -ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || - { { echo "$as_me:1521: error: $ac_config_sub $ac_cv_host_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:1526: result: $ac_cv_host" >&5 -echo "${ECHO_T}$ac_cv_host" >&6 -host=$ac_cv_host -host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -cat >>confdefs.h <<EOF -#define OS "${host}" -EOF - -ac_config_commands="$ac_config_commands default-1" - -am_make=${MAKE-make} -cat > confinc << 'END' -doit: - @echo done -END -# If we don't find an include directive, just comment out the code. -echo "$as_me:1545: checking for style of include used by $am_make" >&5 -echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 -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 | fgrep -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 - -echo "$as_me:1572: result: $_am_result" >&5 -echo "${ECHO_T}$_am_result" >&6 -rm -f confinc confmf - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -echo "$as_me:1584: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_CC="${ac_tool_prefix}gcc" -echo "$as_me:1599: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:1607: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:1610: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -echo "$as_me:1619: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_CC="gcc" -echo "$as_me:1634: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:1642: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:1645: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -echo "$as_me:1658: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_CC="${ac_tool_prefix}cc" -echo "$as_me:1673: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:1681: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:1684: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:1693: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_CC="cc" -echo "$as_me:1708: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:1716: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:1719: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -fi - -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:1732: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue -fi -ac_cv_prog_CC="cc" -echo "$as_me:1752: found $ac_dir/$ac_word" >&5 -break -done - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - set dummy "$ac_dir/$ac_word" ${1+"$@"} - shift - ac_cv_prog_CC="$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:1774: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:1777: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:1788: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_CC="$ac_tool_prefix$ac_prog" -echo "$as_me:1803: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:1811: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:1814: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:1827: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_CC="$ac_prog" -echo "$as_me:1842: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:1850: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:1853: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$ac_ct_CC" && break -done - - CC=$ac_ct_CC -fi - -fi - -test -z "$CC" && { { echo "$as_me:1865: error: no acceptable cc found in \$PATH" >&5 -echo "$as_me: error: no acceptable cc found in \$PATH" >&2;} - { (exit 1); exit 1; }; } - -# Provide some information about the compiler. -echo "$as_me:1870:" \ - "checking for C compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:1873: \"$ac_compiler --version </dev/null >&5\"") >&5 - (eval $ac_compiler --version </dev/null >&5) 2>&5 - ac_status=$? - echo "$as_me:1876: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:1878: \"$ac_compiler -v </dev/null >&5\"") >&5 - (eval $ac_compiler -v </dev/null >&5) 2>&5 - ac_status=$? - echo "$as_me:1881: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:1883: \"$ac_compiler -V </dev/null >&5\"") >&5 - (eval $ac_compiler -V </dev/null >&5) 2>&5 - ac_status=$? - echo "$as_me:1886: \$? = $ac_status" >&5 - (exit $ac_status); } - -cat >conftest.$ac_ext <<_ACEOF -#line 1890 "configure" -#include "confdefs.h" - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.exe" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -echo "$as_me:1906: checking for C compiler default output" >&5 -echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 -ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -if { (eval echo "$as_me:1909: \"$ac_link_default\"") >&5 - (eval $ac_link_default) 2>&5 - ac_status=$? - echo "$as_me:1912: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Find the output, starting from the most likely. This scheme is -# not robust to junk in `.', hence go to wildcards (a.*) only as a last -# resort. -for ac_file in `ls a.exe conftest.exe 2>/dev/null; - ls a.out conftest 2>/dev/null; - ls a.* conftest.* 2>/dev/null`; do - case $ac_file in - *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; - a.out ) # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - # FIXME: I believe we export ac_cv_exeext for Libtool --akim. - export ac_cv_exeext - break;; - * ) break;; - esac -done -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -{ { echo "$as_me:1935: error: C compiler cannot create executables" >&5 -echo "$as_me: error: C compiler cannot create executables" >&2;} - { (exit 77); exit 77; }; } -fi - -ac_exeext=$ac_cv_exeext -echo "$as_me:1941: result: $ac_file" >&5 -echo "${ECHO_T}$ac_file" >&6 - -# Check the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -echo "$as_me:1946: checking whether the C compiler works" >&5 -echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (eval echo "$as_me:1952: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1955: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { echo "$as_me:1962: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'." >&5 -echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'." >&2;} - { (exit 1); exit 1; }; } - fi - fi -fi -echo "$as_me:1970: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - -rm -f a.out a.exe conftest$ac_cv_exeext -ac_clean_files=$ac_clean_files_save -# Check the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -echo "$as_me:1977: checking whether we are cross compiling" >&5 -echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 -echo "$as_me:1979: result: $cross_compiling" >&5 -echo "${ECHO_T}$cross_compiling" >&6 - -echo "$as_me:1982: checking for executable suffix" >&5 -echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6 -if { (eval echo "$as_me:1984: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:1987: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in `(ls conftest.exe; ls conftest; ls conftest.*) 2>/dev/null`; do - case $ac_file in - *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - export ac_cv_exeext - break;; - * ) break;; - esac -done -else - { { echo "$as_me:2003: error: cannot compute EXEEXT: cannot compile and link" >&5 -echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f conftest$ac_cv_exeext -echo "$as_me:2009: result: $ac_cv_exeext" >&5 -echo "${ECHO_T}$ac_cv_exeext" >&6 - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -echo "$as_me:2015: checking for object suffix" >&5 -echo $ECHO_N "checking for object suffix... $ECHO_C" >&6 -if test "${ac_cv_objext+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 2021 "configure" -#include "confdefs.h" - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { (eval echo "$as_me:2033: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2036: \$? = $ac_status" >&5 - (exit $ac_status); }; then - for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -{ { echo "$as_me:2048: error: cannot compute OBJEXT: cannot compile" >&5 -echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -echo "$as_me:2055: result: $ac_cv_objext" >&5 -echo "${ECHO_T}$ac_cv_objext" >&6 -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -echo "$as_me:2059: checking whether we are using the GNU C compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 -if test "${ac_cv_c_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 2065 "configure" -#include "confdefs.h" - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:2080: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2083: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2086: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2089: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_compiler_gnu=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -echo "$as_me:2101: result: $ac_cv_c_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 -GCC=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -CFLAGS="-g" -echo "$as_me:2107: checking whether $CC accepts -g" >&5 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 2113 "configure" -#include "confdefs.h" - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:2125: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2128: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2131: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2134: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_prog_cc_g=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:2144: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -# Some people use a C++ compiler to compile C. Since we use `exit', -# in C++ we need to declare it. In case someone uses the same compiler -# for both compiling C and C++ we need to have the C++ compiler decide -# the declaration of exit, since it's the most demanding environment. -cat >conftest.$ac_ext <<_ACEOF -#ifndef __cplusplus - choke me -#endif -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:2171: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2174: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2177: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2180: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - for ac_declaration in \ - ''\ - '#include <stdlib.h>' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -#line 2192 "configure" -#include "confdefs.h" -#include <stdlib.h> -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:2205: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2208: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2211: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2214: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -continue -fi -rm -f conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -#line 2224 "configure" -#include "confdefs.h" -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:2236: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2239: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2242: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2245: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h -fi - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CC" am_compiler_list= - -echo "$as_me:2274: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - 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 - - am_cv_CC_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 - # 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. - echo '#include "conftest.h"' > conftest.c - echo 'int i;' > conftest.h - echo "${am__include} ${am__quote}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=conftest.c object=conftest.o \ - depfile=conftest.Po tmpdepfile=conftest.TPo \ - $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && - grep conftest.h conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -echo "$as_me:2336: result: $am_cv_CC_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 -CCDEPMODE="depmode=$am_cv_CC_dependencies_compiler_type" - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -echo "$as_me:2345: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -#line 2366 "configure" -#include "confdefs.h" -#include <assert.h> - Syntax error -_ACEOF -if { (eval echo "$as_me:2371: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2377: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -#line 2400 "configure" -#include "confdefs.h" -#include <ac_nonexistent.h> -_ACEOF -if { (eval echo "$as_me:2404: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2410: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -echo "$as_me:2447: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6 -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -#line 2457 "configure" -#include "confdefs.h" -#include <assert.h> - Syntax error -_ACEOF -if { (eval echo "$as_me:2462: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2468: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -#line 2491 "configure" -#include "confdefs.h" -#include <ac_nonexistent.h> -_ACEOF -if { (eval echo "$as_me:2495: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2501: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { echo "$as_me:2529: error: C preprocessor \"$CPP\" fails sanity check" >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -echo "$as_me:2540: checking for AIX" >&5 -echo $ECHO_N "checking for AIX... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line 2543 "configure" -#include "confdefs.h" -#ifdef _AIX - yes -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "yes" >/dev/null 2>&1; then - echo "$as_me:2552: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -cat >>confdefs.h <<\EOF -#define _ALL_SOURCE 1 -EOF - -else - echo "$as_me:2559: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi -rm -f conftest* - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -echo "$as_me:2572: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_CC="${ac_tool_prefix}gcc" -echo "$as_me:2587: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:2595: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:2598: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -echo "$as_me:2607: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_CC="gcc" -echo "$as_me:2622: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:2630: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:2633: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -echo "$as_me:2646: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_CC="${ac_tool_prefix}cc" -echo "$as_me:2661: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:2669: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:2672: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:2681: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_CC="cc" -echo "$as_me:2696: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:2704: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:2707: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -fi - -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:2720: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue -fi -ac_cv_prog_CC="cc" -echo "$as_me:2740: found $ac_dir/$ac_word" >&5 -break -done - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - set dummy "$ac_dir/$ac_word" ${1+"$@"} - shift - ac_cv_prog_CC="$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:2762: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:2765: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:2776: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_CC="$ac_tool_prefix$ac_prog" -echo "$as_me:2791: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:2799: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:2802: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:2815: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_CC="$ac_prog" -echo "$as_me:2830: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:2838: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:2841: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$ac_ct_CC" && break -done - - CC=$ac_ct_CC -fi - -fi - -test -z "$CC" && { { echo "$as_me:2853: error: no acceptable cc found in \$PATH" >&5 -echo "$as_me: error: no acceptable cc found in \$PATH" >&2;} - { (exit 1); exit 1; }; } - -# Provide some information about the compiler. -echo "$as_me:2858:" \ - "checking for C compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:2861: \"$ac_compiler --version </dev/null >&5\"") >&5 - (eval $ac_compiler --version </dev/null >&5) 2>&5 - ac_status=$? - echo "$as_me:2864: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:2866: \"$ac_compiler -v </dev/null >&5\"") >&5 - (eval $ac_compiler -v </dev/null >&5) 2>&5 - ac_status=$? - echo "$as_me:2869: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:2871: \"$ac_compiler -V </dev/null >&5\"") >&5 - (eval $ac_compiler -V </dev/null >&5) 2>&5 - ac_status=$? - echo "$as_me:2874: \$? = $ac_status" >&5 - (exit $ac_status); } - -echo "$as_me:2877: checking whether we are using the GNU C compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 -if test "${ac_cv_c_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 2883 "configure" -#include "confdefs.h" - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:2898: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2901: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2904: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2907: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_compiler_gnu=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -echo "$as_me:2919: result: $ac_cv_c_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 -GCC=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -CFLAGS="-g" -echo "$as_me:2925: checking whether $CC accepts -g" >&5 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 2931 "configure" -#include "confdefs.h" - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:2943: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2946: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2949: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2952: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_prog_cc_g=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:2962: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -# Some people use a C++ compiler to compile C. Since we use `exit', -# in C++ we need to declare it. In case someone uses the same compiler -# for both compiling C and C++ we need to have the C++ compiler decide -# the declaration of exit, since it's the most demanding environment. -cat >conftest.$ac_ext <<_ACEOF -#ifndef __cplusplus - choke me -#endif -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:2989: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2992: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2995: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2998: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - for ac_declaration in \ - ''\ - '#include <stdlib.h>' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -#line 3010 "configure" -#include "confdefs.h" -#include <stdlib.h> -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:3023: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:3026: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:3029: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:3032: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -continue -fi -rm -f conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -#line 3042 "configure" -#include "confdefs.h" -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:3054: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:3057: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:3060: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:3063: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h -fi - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CC" am_compiler_list= - -echo "$as_me:3092: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - 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 - - am_cv_CC_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 - # 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. - echo '#include "conftest.h"' > conftest.c - echo 'int i;' > conftest.h - echo "${am__include} ${am__quote}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=conftest.c object=conftest.o \ - depfile=conftest.Po tmpdepfile=conftest.TPo \ - $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && - grep conftest.h conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -echo "$as_me:3154: result: $am_cv_CC_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 -CCDEPMODE="depmode=$am_cv_CC_dependencies_compiler_type" - -# Check whether --enable-largefile or --disable-largefile was given. -if test "${enable_largefile+set}" = set; then - enableval="$enable_largefile" - -fi; -if test "$enable_largefile" != no; then - - echo "$as_me:3165: checking for special C compiler options needed for large files" >&5 -echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6 -if test "${ac_cv_sys_largefile_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_sys_largefile_CC=no - if test "$GCC" != yes; then - ac_save_CC=$CC - while :; do - # IRIX 6.2 and later do not support large files by default, - # so use the C compiler's -n32 option if that helps. - cat >conftest.$ac_ext <<_ACEOF -#line 3177 "configure" -#include "confdefs.h" -#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; -} -_ACEOF - rm -f conftest.$ac_objext -if { (eval echo "$as_me:3197: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:3200: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:3203: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:3206: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext - CC="$CC -n32" - rm -f conftest.$ac_objext -if { (eval echo "$as_me:3216: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:3219: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:3222: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:3225: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sys_largefile_CC=' -n32'; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext - break - done - CC=$ac_save_CC - rm -f conftest.$ac_ext - fi -fi -echo "$as_me:3239: result: $ac_cv_sys_largefile_CC" >&5 -echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6 - if test "$ac_cv_sys_largefile_CC" != no; then - CC=$CC$ac_cv_sys_largefile_CC - fi - - echo "$as_me:3245: checking for _FILE_OFFSET_BITS value needed for large files" >&5 -echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6 -if test "${ac_cv_sys_file_offset_bits+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - while :; do - ac_cv_sys_file_offset_bits=no - cat >conftest.$ac_ext <<_ACEOF -#line 3253 "configure" -#include "confdefs.h" -#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; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:3273: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:3276: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:3279: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:3282: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -#line 3291 "configure" -#include "confdefs.h" -#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; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:3312: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:3315: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:3318: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:3321: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sys_file_offset_bits=64; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext - break -done -fi -echo "$as_me:3332: result: $ac_cv_sys_file_offset_bits" >&5 -echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6 -if test "$ac_cv_sys_file_offset_bits" != no; then - -cat >>confdefs.h <<EOF -#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits -EOF - -fi -rm -f conftest* - echo "$as_me:3342: checking for _LARGE_FILES value needed for large files" >&5 -echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6 -if test "${ac_cv_sys_large_files+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - while :; do - ac_cv_sys_large_files=no - cat >conftest.$ac_ext <<_ACEOF -#line 3350 "configure" -#include "confdefs.h" -#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; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:3370: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:3373: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:3376: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:3379: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -#line 3388 "configure" -#include "confdefs.h" -#define _LARGE_FILES 1 -#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; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:3409: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:3412: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:3415: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:3418: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sys_large_files=1; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext - break -done -fi -echo "$as_me:3429: result: $ac_cv_sys_large_files" >&5 -echo "${ECHO_T}$ac_cv_sys_large_files" >&6 -if test "$ac_cv_sys_large_files" != no; then - -cat >>confdefs.h <<EOF -#define _LARGE_FILES $ac_cv_sys_large_files -EOF - -fi -rm -f conftest* -fi - -# Check whether --enable-shared or --disable-shared was given. -if test "${enable_shared+set}" = set; then - enableval="$enable_shared" - p=${PACKAGE-default} -case $enableval in -yes) enable_shared=yes ;; -no) enable_shared=no ;; -*) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$ac_save_ifs" - ;; -esac -else - enable_shared=yes -fi; -# Check whether --enable-static or --disable-static was given. -if test "${enable_static+set}" = set; then - enableval="$enable_static" - p=${PACKAGE-default} -case $enableval in -yes) enable_static=yes ;; -no) enable_static=no ;; -*) - enable_static=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$ac_save_ifs" - ;; -esac -else - enable_static=yes -fi; -# Check whether --enable-fast-install or --disable-fast-install was given. -if test "${enable_fast_install+set}" = set; then - enableval="$enable_fast_install" - p=${PACKAGE-default} -case $enableval in -yes) enable_fast_install=yes ;; -no) enable_fast_install=no ;; -*) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$ac_save_ifs" - ;; -esac -else - enable_fast_install=yes -fi; -# Find the correct PATH separator. Usually this is `:', but -# DJGPP uses `;' like DOS. -if test "X${PATH_SEPARATOR+set}" != Xset; then - UNAME=${UNAME-`uname 2>/dev/null`} - case X$UNAME in - *-DOS) lt_cv_sys_path_separator=';' ;; - *) lt_cv_sys_path_separator=':' ;; - esac - PATH_SEPARATOR=$lt_cv_sys_path_separator -fi - -# Check whether --with-gnu-ld or --without-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then - withval="$with_gnu_ld" - test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi; -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - echo "$as_me:3528: checking for ld used by GCC" >&5 -echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6 - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | [A-Za-z]:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - echo "$as_me:3558: checking for GNU ld" >&5 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 -else - echo "$as_me:3561: checking for non-GNU ld" >&5 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 -fi -if test "${lt_cv_path_LD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then - test "$with_gnu_ld" != no && break - else - test "$with_gnu_ld" != yes && break - fi - fi - done - IFS="$ac_save_ifs" -else - lt_cv_path_LD="$LD" # Let the user override the test with a path. -fi -fi - -LD="$lt_cv_path_LD" -if test -n "$LD"; then - echo "$as_me:3591: result: $LD" >&5 -echo "${ECHO_T}$LD" >&6 -else - echo "$as_me:3594: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi -test -z "$LD" && { { echo "$as_me:3597: error: no acceptable ld found in \$PATH" >&5 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -echo "$as_me:3600: checking if the linker ($LD) is GNU ld" >&5 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 -if test "${lt_cv_prog_gnu_ld+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # I'd rather use --version here, but apparently some GNU ld's only accept -v. -if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then - lt_cv_prog_gnu_ld=yes -else - lt_cv_prog_gnu_ld=no -fi -fi -echo "$as_me:3612: result: $lt_cv_prog_gnu_ld" >&5 -echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6 -with_gnu_ld=$lt_cv_prog_gnu_ld - -echo "$as_me:3616: checking for $LD option to reload object files" >&5 -echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6 -if test "${lt_cv_ld_reload_flag+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_ld_reload_flag='-r' -fi -echo "$as_me:3623: result: $lt_cv_ld_reload_flag" >&5 -echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6 -reload_flag=$lt_cv_ld_reload_flag -test -n "$reload_flag" && reload_flag=" $reload_flag" - -echo "$as_me:3628: checking for BSD-compatible nm" >&5 -echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6 -if test "${lt_cv_path_NM+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do - test -z "$ac_dir" && ac_dir=. - tmp_nm=$ac_dir/${ac_tool_prefix}nm - if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then - lt_cv_path_NM="$tmp_nm -B" - break - elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - lt_cv_path_NM="$tmp_nm -p" - break - else - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - fi - fi - done - IFS="$ac_save_ifs" - test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm -fi -fi - -NM="$lt_cv_path_NM" -echo "$as_me:3664: result: $NM" >&5 -echo "${ECHO_T}$NM" >&6 - -echo "$as_me:3667: checking whether ln -s works" >&5 -echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6 -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - echo "$as_me:3671: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - echo "$as_me:3674: result: no, using $LN_S" >&5 -echo "${ECHO_T}no, using $LN_S" >&6 -fi - -echo "$as_me:3678: checking how to recognise dependant libraries" >&5 -echo $ECHO_N "checking how to recognise dependant libraries... $ECHO_C" >&6 -if test "${lt_cv_deplibs_check_method+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given egrep regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. - -case $host_os in -aix4* | aix5*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi4*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin* | mingw* | pw32*) - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library' - lt_cv_file_magic_cmd='/usr/bin/file -L' - case "$host_os" in - rhapsody* | darwin1.[012]) - lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1` - ;; - *) # Darwin 1.3 on - lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' - ;; - esac - ;; - -freebsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20*|hpux11*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - -irix5* | irix6*) - case $host_os in - irix5*) - # this will be overridden with pass_all, but let us keep it just in case - lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" - ;; - *) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - # this will be overridden with pass_all, but let us keep it just in case - lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1" - ;; - esac - lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux-gnu*) - case $host_cpu in - alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* ) - lt_cv_deplibs_check_method=pass_all ;; - *) - # glibc up to 2.1.1 does not perform some relocations on ARM - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; - esac - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -openbsd*) - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object' - else - lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library' - fi - ;; - -osf3* | osf4* | osf5*) - # this will be overridden with pass_all, but let us keep it just in case - lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' - lt_cv_file_magic_test_file=/shlib/libc.so - lt_cv_deplibs_check_method=pass_all - ;; - -sco3.2v5*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - lt_cv_file_magic_test_file=/lib/libc.so - ;; - -sysv5uw[78]* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - esac - ;; -esac - -fi -echo "$as_me:3856: result: $lt_cv_deplibs_check_method" >&5 -echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6 -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method - -# Check for command to grab the raw symbol name followed by C symbol from nm. -echo "$as_me:3862: checking command to parse $NM output" >&5 -echo $ECHO_N "checking command to parse $NM output... $ECHO_C" >&6 -if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Transform the above into a raw symbol and a C symbol. -symxfrm='\1 \2\3 \3' - -# Transform an extracted symbol line into a proper C declaration -lt_cv_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32*) - symcode='[ABCDGISTW]' - ;; -hpux*) # Its linker distinguishes data from code symbols - lt_cv_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - ;; -irix*) - symcode='[BCDEGRST]' - ;; -solaris* | sysv5*) - symcode='[BDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# Handle CRLF in mingw tool chain -opt_cr= -case $host_os in -mingw*) - opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then - symcode='[ABCDGISTW]' -fi - -# Try without a prefix undercore, then with it. -for ac_symprfx in "" "_"; do - - # Write the raw and C identifiers. -lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" - - # Check to see that the pipe works correctly. - pipe_works=no - rm -f conftest* - cat > conftest.$ac_ext <<EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -EOF - - if { (eval echo "$as_me:3943: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:3946: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { (eval echo "$as_me:3950: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 - (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 - ac_status=$? - echo "$as_me:3953: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if egrep ' nm_test_var$' "$nlist" >/dev/null; then - if egrep ' nm_test_func$' "$nlist" >/dev/null; then - cat <<EOF > conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -EOF - # Now generate the symbol file. - eval "$lt_cv_global_symbol_to_cdecl"' < "$nlist" >> conftest.$ac_ext' - - cat <<EOF >> conftest.$ac_ext -#if defined (__STDC__) && __STDC__ -# define lt_ptr void * -#else -# define lt_ptr char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr address; -} -lt_preloaded_symbols[] = -{ -EOF - sed "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr) \&\2},/" < "$nlist" >> conftest.$ac_ext - cat <<\EOF >> conftest.$ac_ext - {0, (lt_ptr) 0} -}; - -#ifdef __cplusplus -} -#endif -EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - save_LIBS="$LIBS" - save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$no_builtin_flag" - if { (eval echo "$as_me:4005: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:4008: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest; then - pipe_works=yes - fi - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -f conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -global_symbol_pipe="$lt_cv_sys_global_symbol_pipe" -if test -z "$lt_cv_sys_global_symbol_pipe"; then - global_symbol_to_cdecl= - global_symbol_to_c_name_address= -else - global_symbol_to_cdecl="$lt_cv_global_symbol_to_cdecl" - global_symbol_to_c_name_address="$lt_cv_global_symbol_to_c_name_address" -fi -if test -z "$global_symbol_pipe$global_symbol_to_cdec$global_symbol_to_c_name_address"; -then - echo "$as_me:4049: result: failed" >&5 -echo "${ECHO_T}failed" >&6 -else - echo "$as_me:4052: result: ok" >&5 -echo "${ECHO_T}ok" >&6 -fi - -for ac_header in dlfcn.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:4059: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 4065 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:4069: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:4075: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_ext -fi -echo "$as_me:4094: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -EOF - -fi -done - -# Only perform the check for file, if the check method requires it -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - echo "$as_me:4108: checking for ${ac_tool_prefix}file" >&5 -echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6 -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $MAGIC_CMD in - /*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; - ?:/*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path. - ;; - *) - ac_save_MAGIC_CMD="$MAGIC_CMD" - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="/usr/bin:$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/${ac_tool_prefix}file; then - lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - egrep "$file_magic_regex" > /dev/null; then - : - else - cat <<EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac - fi - break - fi - done - IFS="$ac_save_ifs" - MAGIC_CMD="$ac_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - echo "$as_me:4163: result: $MAGIC_CMD" >&5 -echo "${ECHO_T}$MAGIC_CMD" >&6 -else - echo "$as_me:4166: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - echo "$as_me:4172: checking for file" >&5 -echo $ECHO_N "checking for file... $ECHO_C" >&6 -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $MAGIC_CMD in - /*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; - ?:/*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path. - ;; - *) - ac_save_MAGIC_CMD="$MAGIC_CMD" - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="/usr/bin:$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/file; then - lt_cv_path_MAGIC_CMD="$ac_dir/file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - egrep "$file_magic_regex" > /dev/null; then - : - else - cat <<EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac - fi - break - fi - done - IFS="$ac_save_ifs" - MAGIC_CMD="$ac_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - echo "$as_me:4227: result: $MAGIC_CMD" >&5 -echo "${ECHO_T}$MAGIC_CMD" >&6 -else - echo "$as_me:4230: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -echo "$as_me:4246: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" -echo "$as_me:4261: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - echo "$as_me:4269: result: $RANLIB" >&5 -echo "${ECHO_T}$RANLIB" >&6 -else - echo "$as_me:4272: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -echo "$as_me:4281: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_RANLIB="ranlib" -echo "$as_me:4296: found $ac_dir/$ac_word" >&5 -break -done - - test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - echo "$as_me:4305: result: $ac_ct_RANLIB" >&5 -echo "${ECHO_T}$ac_ct_RANLIB" >&6 -else - echo "$as_me:4308: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - RANLIB=$ac_ct_RANLIB -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -echo "$as_me:4320: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_STRIP="${ac_tool_prefix}strip" -echo "$as_me:4335: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - echo "$as_me:4343: result: $STRIP" >&5 -echo "${ECHO_T}$STRIP" >&6 -else - echo "$as_me:4346: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -echo "$as_me:4355: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_STRIP="strip" -echo "$as_me:4370: found $ac_dir/$ac_word" >&5 -break -done - - test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - echo "$as_me:4379: result: $ac_ct_STRIP" >&5 -echo "${ECHO_T}$ac_ct_STRIP" >&6 -else - echo "$as_me:4382: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - STRIP=$ac_ct_STRIP -else - STRIP="$ac_cv_prog_STRIP" -fi - -enable_dlopen=no -enable_win32_dll=yes - -# Check whether --enable-libtool-lock or --disable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then - enableval="$enable_libtool_lock" - -fi; -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -*-*-irix6*) - # Find out which ABI we are using. - echo '#line 4406 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:4407: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4410: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - echo "$as_me:4431: checking whether the C compiler needs -belf" >&5 -echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6 -if test "${lt_cv_cc_needs_belf+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - cat >conftest.$ac_ext <<_ACEOF -#line 4444 "configure" -#include "confdefs.h" - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:4456: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:4459: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:4462: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4465: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - lt_cv_cc_needs_belf=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -lt_cv_cc_needs_belf=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -echo "$as_me:4481: result: $lt_cv_cc_needs_belf" >&5 -echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6 - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; - -*-*-cygwin* | *-*-mingw* | *-*-pw32*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -echo "$as_me:4493: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_DLLTOOL+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" -echo "$as_me:4508: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - echo "$as_me:4516: result: $DLLTOOL" >&5 -echo "${ECHO_T}$DLLTOOL" >&6 -else - echo "$as_me:4519: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -echo "$as_me:4528: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_DLLTOOL="dlltool" -echo "$as_me:4543: found $ac_dir/$ac_word" >&5 -break -done - - test -z "$ac_cv_prog_ac_ct_DLLTOOL" && ac_cv_prog_ac_ct_DLLTOOL="false" -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - echo "$as_me:4552: result: $ac_ct_DLLTOOL" >&5 -echo "${ECHO_T}$ac_ct_DLLTOOL" >&6 -else - echo "$as_me:4555: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - DLLTOOL=$ac_ct_DLLTOOL -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. -set dummy ${ac_tool_prefix}as; ac_word=$2 -echo "$as_me:4567: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_AS+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$AS"; then - ac_cv_prog_AS="$AS" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_AS="${ac_tool_prefix}as" -echo "$as_me:4582: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -AS=$ac_cv_prog_AS -if test -n "$AS"; then - echo "$as_me:4590: result: $AS" >&5 -echo "${ECHO_T}$AS" >&6 -else - echo "$as_me:4593: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_AS"; then - ac_ct_AS=$AS - # Extract the first word of "as", so it can be a program name with args. -set dummy as; ac_word=$2 -echo "$as_me:4602: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_AS+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_AS"; then - ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_AS="as" -echo "$as_me:4617: found $ac_dir/$ac_word" >&5 -break -done - - test -z "$ac_cv_prog_ac_ct_AS" && ac_cv_prog_ac_ct_AS="false" -fi -fi -ac_ct_AS=$ac_cv_prog_ac_ct_AS -if test -n "$ac_ct_AS"; then - echo "$as_me:4626: result: $ac_ct_AS" >&5 -echo "${ECHO_T}$ac_ct_AS" >&6 -else - echo "$as_me:4629: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - AS=$ac_ct_AS -else - AS="$ac_cv_prog_AS" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -echo "$as_me:4641: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_OBJDUMP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" -echo "$as_me:4656: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - echo "$as_me:4664: result: $OBJDUMP" >&5 -echo "${ECHO_T}$OBJDUMP" >&6 -else - echo "$as_me:4667: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -echo "$as_me:4676: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_OBJDUMP="objdump" -echo "$as_me:4691: found $ac_dir/$ac_word" >&5 -break -done - - test -z "$ac_cv_prog_ac_ct_OBJDUMP" && ac_cv_prog_ac_ct_OBJDUMP="false" -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - echo "$as_me:4700: result: $ac_ct_OBJDUMP" >&5 -echo "${ECHO_T}$ac_ct_OBJDUMP" >&6 -else - echo "$as_me:4703: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - OBJDUMP=$ac_ct_OBJDUMP -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - - # recent cygwin and mingw systems supply a stub DllMain which the user - # can override, but on older systems we have to supply one - echo "$as_me:4714: checking if libtool should supply DllMain function" >&5 -echo $ECHO_N "checking if libtool should supply DllMain function... $ECHO_C" >&6 -if test "${lt_cv_need_dllmain+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 4720 "configure" -#include "confdefs.h" - -int -main () -{ -extern int __attribute__((__stdcall__)) DllMain(void*, int, void*); - DllMain (0, 0, 0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:4733: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:4736: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:4739: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4742: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - lt_cv_need_dllmain=no -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -lt_cv_need_dllmain=yes -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:4752: result: $lt_cv_need_dllmain" >&5 -echo "${ECHO_T}$lt_cv_need_dllmain" >&6 - - case $host/$CC in - *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*) - # old mingw systems require "-dll" to link a DLL, while more recent ones - # require "-mdll" - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -mdll" - echo "$as_me:4761: checking how to link DLLs" >&5 -echo $ECHO_N "checking how to link DLLs... $ECHO_C" >&6 -if test "${lt_cv_cc_dll_switch+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 4767 "configure" -#include "confdefs.h" - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:4779: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:4782: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:4785: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4788: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - lt_cv_cc_dll_switch=-mdll -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -lt_cv_cc_dll_switch=-dll -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:4798: result: $lt_cv_cc_dll_switch" >&5 -echo "${ECHO_T}$lt_cv_cc_dll_switch" >&6 - CFLAGS="$SAVE_CFLAGS" ;; - *-*-cygwin* | *-*-pw32*) - # cygwin systems need to pass --dll to the linker, and not link - # crt.o which will require a WinMain@16 definition. - lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;; - esac - ;; - -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e s/^X//' -sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Constants: -rm="rm -f" - -# Global variables: -default_ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except M$VC, -# which needs '.lib'). -libext=a -ltmain="$ac_aux_dir/ltmain.sh" -ofile="$default_ofile" -with_gnu_ld="$lt_cv_prog_gnu_ld" -need_locks="$enable_libtool_lock" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -test -z "$AS" && AS=as -test -z "$CC" && CC=cc -test -z "$DLLTOOL" && DLLTOOL=dlltool -test -z "$LD" && LD=ld -test -z "$LN_S" && LN_S="ln -s" -test -z "$MAGIC_CMD" && MAGIC_CMD=file -test -z "$NM" && NM=nm -test -z "$OBJDUMP" && OBJDUMP=objdump -test -z "$RANLIB" && RANLIB=: -test -z "$STRIP" && STRIP=: -test -z "$ac_objext" && ac_objext=o - -if test x"$host" != x"$build"; then - ac_tool_prefix=${host_alias}- -else - ac_tool_prefix= -fi - -# Transform linux* to *-*-linux-gnu*, to support old configure scripts. -case $host_os in -linux-gnu*) ;; -linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` -esac - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" - ;; - *) - old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - -# Allow CC to be a program name with arguments. -set dummy $CC -compiler="$2" - -echo "$as_me:4900: checking for objdir" >&5 -echo $ECHO_N "checking for objdir... $ECHO_C" >&6 -rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - objdir=_libs -fi -rmdir .libs 2>/dev/null -echo "$as_me:4911: result: $objdir" >&5 -echo "${ECHO_T}$objdir" >&6 - -# Check whether --with-pic or --without-pic was given. -if test "${with_pic+set}" = set; then - withval="$with_pic" - pic_mode="$withval" -else - pic_mode=default -fi; -test -z "$pic_mode" && pic_mode=default - -# We assume here that the value for lt_cv_prog_cc_pic will not be cached -# in isolation, and that seeing it set (from the cache) indicates that -# the associated values are set (in the cache) correctly too. -echo "$as_me:4926: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 -if test "${lt_cv_prog_cc_pic+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_cc_pic= - lt_cv_prog_cc_shlib= - lt_cv_prog_cc_wl= - lt_cv_prog_cc_static= - lt_cv_prog_cc_no_builtin= - lt_cv_prog_cc_can_build_shared=$can_build_shared - - if test "$GCC" = yes; then - lt_cv_prog_cc_wl='-Wl,' - lt_cv_prog_cc_static='-static' - - case $host_os in - aix*) - # Below there is a dirty hack to force normal static linking with -ldl - # The problem is because libdl dynamically linked with both libc and - # libC (AIX C++ library), which obviously doesn't included in libraries - # list by gcc. This cause undefined symbols with -static flags. - # This hack allows C programs to be linked with "-static -ldl", but - # not sure about C++ programs. - lt_cv_prog_cc_static="$lt_cv_prog_cc_static ${lt_cv_prog_cc_wl}-lC" - ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4' - ;; - beos* | irix5* | irix6* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_cv_prog_cc_pic='-fno-common' - ;; - cygwin* | mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_cv_prog_cc_pic='-DDLL_EXPORT' - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_cv_prog_cc_pic=-Kconform_pic - fi - ;; - *) - lt_cv_prog_cc_pic='-fPIC' - ;; - esac - else - # PORTME Check for PIC flags for the system compiler. - case $host_os in - aix3* | aix4* | aix5*) - lt_cv_prog_cc_wl='-Wl,' - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_cv_prog_cc_static='-Bstatic' - else - lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - hpux9* | hpux10* | hpux11*) - # Is there a better lt_cv_prog_cc_static that works with the bundled CC? - lt_cv_prog_cc_wl='-Wl,' - lt_cv_prog_cc_static="${lt_cv_prog_cc_wl}-a ${lt_cv_prog_cc_wl}archive" - lt_cv_prog_cc_pic='+Z' - ;; - - irix5* | irix6*) - lt_cv_prog_cc_wl='-Wl,' - lt_cv_prog_cc_static='-non_shared' - # PIC (with -KPIC) is the default. - ;; - - cygwin* | mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_cv_prog_cc_pic='-DDLL_EXPORT' - ;; - - newsos6) - lt_cv_prog_cc_pic='-KPIC' - lt_cv_prog_cc_static='-Bstatic' - ;; - - osf3* | osf4* | osf5*) - # All OSF/1 code is PIC. - lt_cv_prog_cc_wl='-Wl,' - lt_cv_prog_cc_static='-non_shared' - ;; - - sco3.2v5*) - lt_cv_prog_cc_pic='-Kpic' - lt_cv_prog_cc_static='-dn' - lt_cv_prog_cc_shlib='-belf' - ;; - - solaris*) - lt_cv_prog_cc_pic='-KPIC' - lt_cv_prog_cc_static='-Bstatic' - lt_cv_prog_cc_wl='-Wl,' - ;; - - sunos4*) - lt_cv_prog_cc_pic='-PIC' - lt_cv_prog_cc_static='-Bstatic' - lt_cv_prog_cc_wl='-Qoption ld ' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - lt_cv_prog_cc_pic='-KPIC' - lt_cv_prog_cc_static='-Bstatic' - if test "x$host_vendor" = xsni; then - lt_cv_prog_cc_wl='-LD' - else - lt_cv_prog_cc_wl='-Wl,' - fi - ;; - - uts4*) - lt_cv_prog_cc_pic='-pic' - lt_cv_prog_cc_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_cv_prog_cc_pic='-Kconform_pic' - lt_cv_prog_cc_static='-Bstatic' - fi - ;; - - *) - lt_cv_prog_cc_can_build_shared=no - ;; - esac - fi - -fi - -if test -z "$lt_cv_prog_cc_pic"; then - echo "$as_me:5073: result: none" >&5 -echo "${ECHO_T}none" >&6 -else - echo "$as_me:5076: result: $lt_cv_prog_cc_pic" >&5 -echo "${ECHO_T}$lt_cv_prog_cc_pic" >&6 - - # Check to make sure the pic_flag actually works. - echo "$as_me:5080: checking if $compiler PIC flag $lt_cv_prog_cc_pic works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_cv_prog_cc_pic works... $ECHO_C" >&6 - if test "${lt_cv_prog_cc_pic_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $lt_cv_prog_cc_pic -DPIC" - cat >conftest.$ac_ext <<_ACEOF -#line 5088 "configure" -#include "confdefs.h" - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:5100: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5103: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:5106: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5109: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - case $host_os in - hpux9* | hpux10* | hpux11*) - # On HP-UX, both CC and GCC only warn that PIC is supported... then - # they create non-PIC objects. So, if there were any warnings, we - # assume that PIC is not supported. - if test -s conftest.err; then - lt_cv_prog_cc_pic_works=no - else - lt_cv_prog_cc_pic_works=yes - fi - ;; - *) - lt_cv_prog_cc_pic_works=yes - ;; - esac - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - lt_cv_prog_cc_pic_works=no - -fi -rm -f conftest.$ac_objext conftest.$ac_ext - CFLAGS="$save_CFLAGS" - -fi - - if test "X$lt_cv_prog_cc_pic_works" = Xno; then - lt_cv_prog_cc_pic= - lt_cv_prog_cc_can_build_shared=no - else - lt_cv_prog_cc_pic=" $lt_cv_prog_cc_pic" - fi - - echo "$as_me:5145: result: $lt_cv_prog_cc_pic_works" >&5 -echo "${ECHO_T}$lt_cv_prog_cc_pic_works" >&6 -fi - -# Check for any special shared library compilation flags. -if test -n "$lt_cv_prog_cc_shlib"; then - { echo "$as_me:5151: WARNING: \`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries" >&5 -echo "$as_me: WARNING: \`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries" >&2;} - if echo "$old_CC $old_CFLAGS " | egrep -e "[ ]$lt_cv_prog_cc_shlib[ ]" >/dev/null; then : - else - { echo "$as_me:5155: WARNING: add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&5 -echo "$as_me: WARNING: add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&2;} - lt_cv_prog_cc_can_build_shared=no - fi -fi - -echo "$as_me:5161: checking if $compiler static flag $lt_cv_prog_cc_static works" >&5 -echo $ECHO_N "checking if $compiler static flag $lt_cv_prog_cc_static works... $ECHO_C" >&6 -if test "${lt_cv_prog_cc_static_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_cc_static_works=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_cv_prog_cc_static" - cat >conftest.$ac_ext <<_ACEOF -#line 5170 "configure" -#include "confdefs.h" - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:5182: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:5185: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:5188: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5191: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - lt_cv_prog_cc_static_works=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" - -fi - -# Belt *and* braces to stop my trousers falling down: -test "X$lt_cv_prog_cc_static_works" = Xno && lt_cv_prog_cc_static= -echo "$as_me:5205: result: $lt_cv_prog_cc_static_works" >&5 -echo "${ECHO_T}$lt_cv_prog_cc_static_works" >&6 - -pic_flag="$lt_cv_prog_cc_pic" -special_shlib_compile_flags="$lt_cv_prog_cc_shlib" -wl="$lt_cv_prog_cc_wl" -link_static_flag="$lt_cv_prog_cc_static" -no_builtin_flag="$lt_cv_prog_cc_no_builtin" -can_build_shared="$lt_cv_prog_cc_can_build_shared" - -# Check to see if options -o and -c are simultaneously supported by compiler -echo "$as_me:5216: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6 -if test "${lt_cv_compiler_c_o+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -$rm -r conftest 2>/dev/null -mkdir conftest -cd conftest -echo "int some_variable = 0;" > conftest.$ac_ext -mkdir out -# According to Tom Tromey, Ian Lance Taylor reported there are C compilers -# that will create temporary files in the current directory regardless of -# the output directory. Thus, making CWD read-only will cause this test -# to fail, enabling locking or at least warning the user not to do parallel -# builds. -chmod -w . -save_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS -o out/conftest2.$ac_objext" -compiler_c_o=no -if { (eval echo configure:5236: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s out/conftest.err; then - lt_cv_compiler_c_o=no - else - lt_cv_compiler_c_o=yes - fi -else - # Append any errors to the config.log. - cat out/conftest.err 1>&5 - lt_cv_compiler_c_o=no -fi -CFLAGS="$save_CFLAGS" -chmod u+w . -$rm conftest* out/* -rmdir out -cd .. -rmdir conftest -$rm -r conftest 2>/dev/null - -fi - -compiler_c_o=$lt_cv_compiler_c_o -echo "$as_me:5260: result: $compiler_c_o" >&5 -echo "${ECHO_T}$compiler_c_o" >&6 - -if test x"$compiler_c_o" = x"yes"; then - # Check to see if we can write to a .lo - echo "$as_me:5265: checking if $compiler supports -c -o file.lo" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.lo... $ECHO_C" >&6 - if test "${lt_cv_compiler_o_lo+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - lt_cv_compiler_o_lo=no - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -c -o conftest.lo" - save_objext="$ac_objext" - ac_objext=lo - cat >conftest.$ac_ext <<_ACEOF -#line 5277 "configure" -#include "confdefs.h" - -int -main () -{ -int some_variable = 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:5289: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5292: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:5295: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5298: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - lt_cv_compiler_o_lo=no - else - lt_cv_compiler_o_lo=yes - fi - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext - ac_objext="$save_objext" - CFLAGS="$save_CFLAGS" - -fi - - compiler_o_lo=$lt_cv_compiler_o_lo - echo "$as_me:5319: result: $compiler_o_lo" >&5 -echo "${ECHO_T}$compiler_o_lo" >&6 -else - compiler_o_lo=no -fi - -# Check to see if we can do hard links to lock some files if needed -hard_links="nottested" -if test "$compiler_c_o" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - echo "$as_me:5329: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6 - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - echo "$as_me:5337: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6 - if test "$hard_links" = no; then - { echo "$as_me:5340: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - -if test "$GCC" = yes; then - # Check to see if options -fno-rtti -fno-exceptions are supported by compiler - echo "$as_me:5350: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6 - echo "int some_variable = 0;" > conftest.$ac_ext - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext" - compiler_rtti_exceptions=no - cat >conftest.$ac_ext <<_ACEOF -#line 5357 "configure" -#include "confdefs.h" - -int -main () -{ -int some_variable = 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:5369: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5372: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:5375: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5378: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - compiler_rtti_exceptions=no - else - compiler_rtti_exceptions=yes - fi - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext - CFLAGS="$save_CFLAGS" - echo "$as_me:5394: result: $compiler_rtti_exceptions" >&5 -echo "${ECHO_T}$compiler_rtti_exceptions" >&6 - - if test "$compiler_rtti_exceptions" = "yes"; then - no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions' - else - no_builtin_flag=' -fno-builtin' - fi -fi - -# See if the linker supports building shared libraries. -echo "$as_me:5405: checking whether the linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the linker ($LD) supports shared libraries... $ECHO_C" >&6 - -allow_undefined_flag= -no_undefined_flag= -need_lib_prefix=unknown -need_version=unknown -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -archive_cmds= -archive_expsym_cmds= -old_archive_from_new_cmds= -old_archive_from_expsyms_cmds= -export_dynamic_flag_spec= -whole_archive_flag_spec= -thread_safe_flag_spec= -hardcode_into_libs=no -hardcode_libdir_flag_spec= -hardcode_libdir_separator= -hardcode_direct=no -hardcode_minus_L=no -hardcode_shlibpath_var=unsupported -runpath_var= -link_all_deplibs=unknown -always_export_symbols=no -export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' -# include_expsyms should be a list of space-separated symbols to be *always* -# included in the symbol list -include_expsyms= -# exclude_expsyms can be an egrep regular expression of symbols to exclude -# it will be wrapped by ` (' and `)$', so one must not match beginning or -# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', -# as well as any symbol that contains `d'. -exclude_expsyms="_GLOBAL_OFFSET_TABLE_" -# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out -# platforms (ab)use it in PIC code, but their linkers get confused if -# the symbol is explicitly referenced. Since portable code cannot -# rely on this symbol name, it's probably fine to never include it in -# preloaded symbol tables. -extract_expsyms_cmds= - -case $host_os in -cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; -openbsd*) - with_gnu_ld=no - ;; -esac - -ld_shlibs=yes -if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX, the GNU linker is very broken - # Note:Check GNU linker on AIX 5-IA64 when/if it becomes available. - ld_shlibs=no - cat <<EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - ;; - - amigaos*) - archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - - # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can use - # them. - ld_shlibs=no - ;; - - beos*) - if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach <jrb3@best.com> says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32*) - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - allow_undefined_flag=unsupported - always_export_symbols=yes - - extract_expsyms_cmds='test -f $output_objdir/impgen.c || \ - sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~ - test -f $output_objdir/impgen.exe || (cd $output_objdir && \ - if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \ - else $CC -o impgen impgen.c ; fi)~ - $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def' - - old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib' - - # cygwin and mingw dlls have different entry points and sets of symbols - # to exclude. - # FIXME: what about values for MSVC? - dll_entry=__cygwin_dll_entry@12 - dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~ - case $host_os in - mingw*) - # mingw values - dll_entry=_DllMainCRTStartup@12 - dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~ - ;; - esac - - # mingw and cygwin differ, and it's simplest to just exclude the union - # of the two symbol sets. - dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12 - - # recent cygwin and mingw systems supply a stub DllMain which the user - # can override, but on older systems we have to supply one (in ltdll.c) - if test "x$lt_cv_need_dllmain" = "xyes"; then - ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext " - ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $''0 > $output_objdir/$soname-ltdll.c~ - test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~' - else - ltdll_obj= - ltdll_cmds= - fi - - # Extract the symbol export list from an `--export-all' def file, - # then regenerate the def file from the symbol export list, so that - # the compiled dll only exports the symbol export list. - # Be careful not to strip the DATA tag left be newer dlltools. - export_symbols_cmds="$ltdll_cmds"' - $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~ - sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols' - - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is. - # If DATA tags from a recent dlltool are present, honour them! - archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname-def; - else - echo EXPORTS > $output_objdir/$soname-def; - _lt_hint=1; - cat $export_symbols | while read symbol; do - set dummy \$symbol; - case \$# in - 2) echo " \$2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;; - *) echo " \$2 @ \$_lt_hint \$3 ; " >> $output_objdir/$soname-def;; - esac; - _lt_hint=`expr 1 + \$_lt_hint`; - done; - fi~ - '"$ltdll_cmds"' - $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ - $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~ - $CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ - $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp --output-lib $output_objdir/$libname.dll.a~ - $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags' - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris* | sysv5*) - if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <<EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test "$ld_shlibs" = yes; then - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' - case $host_os in - cygwin* | mingw* | pw32*) - # dlltool doesn't understand --whole-archive et. al. - whole_archive_flag_spec= - ;; - *) - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec= - fi - ;; - esac - fi -else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes && test -z "$link_static_flag"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - hardcode_direct=yes - archive_cmds='' - hardcode_libdir_separator=':' - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - hardcode_direct=yes - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - esac - - shared_flag='-shared' - else - # not using gcc - if test "$host_cpu" = ia64; then - shared_flag='${wl}-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall can do strange things, so it is better to - # generate a list of symbols to export. - always_export_symbols=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib' - archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" - else - hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib' - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='${wl}-berok' - # This is a bit strange, but is similar to how AIX traditionally builds - # it's shared libraries. - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname' - fi - fi - ;; - - amigaos*) - archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # see comment about different semantics on the GNU ld section - ld_shlibs=no - ;; - - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path='`cygpath -w "$srcfile"`' - ;; - - darwin* | rhapsody*) - case "$host_os" in - rhapsody* | darwin1.[012]) - allow_undefined_flag='-undefined suppress' - ;; - *) # Darwin 1.3 on - allow_undefined_flag='-flat_namespace -undefined suppress' - ;; - esac - # FIXME: Relying on posixy $() will cause problems for - # cross-compilation, but unfortunately the echo tests do not - # yet detect zsh echo's removal of \ escapes. - archive_cmds='$nonopt $(test "x$module" = xyes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linker_flags -install_name $rpath/$soname $verstring' - # We need to add '_' to the symbols in $export_symbols first - #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols' - hardcode_direct=yes - hardcode_shlibpath_var=no - whole_archive_flag_spec='-all_load $convenience' - ;; - - freebsd1*) - ld_shlibs=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd*) - archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9* | hpux10* | hpux11*) - case $host_os in - hpux9*) archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;; - *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;; - esac - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_minus_L=yes # Not in the search PATH, but as the default - # location of the library. - export_dynamic_flag_spec='${wl}-E' - ;; - - irix5* | irix6*) - if test "$GCC" = yes; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - link_all_deplibs=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - openbsd*) - hardcode_direct=yes - hardcode_shlibpath_var=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - else - case "$host_os" in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' - - #Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - hardcode_libdir_separator=: - ;; - - sco3.2v5*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - export_dynamic_flag_spec='${wl}-Bexport' - ;; - - solaris*) - # gcc --version < 3.0 without binutils cannot create self contained - # shared libraries reliably, requiring libgcc.a to resolve some of - # the object symbols generated in some cases. Libraries that use - # assert need libgcc.a to resolve __eprintf, for example. Linking - # a copy of libgcc.a into every shared library to guarantee resolving - # such symbols causes other problems: According to Tim Van Holder - # <tim.van.holder@pandora.be>, C++ libraries end up with a separate - # (to the application) exception stack for one thing. - no_undefined_flag=' -z defs' - if test "$GCC" = yes; then - case `$CC --version 2>/dev/null` in - [12].*) - cat <<EOF 1>&2 - -*** Warning: Releases of GCC earlier than version 3.0 cannot reliably -*** create self contained shared libraries on Solaris systems, without -*** introducing a dependency on libgcc.a. Therefore, libtool is disabling -*** -no-undefined support, which will at least allow you to build shared -*** libraries. However, you may find that when you link such libraries -*** into an application without using GCC, you have to manually add -*** \`gcc --print-libgcc-file-name\` to the link command. We urge you to -*** upgrade to a newer version of GCC. Another option is to rebuild your -*** current GCC to use the GNU linker from GNU binutils 2.9.1 or newer. - -EOF - no_undefined_flag= - ;; - esac - fi - # $CC -shared without GNU ld will not create a library from C++ - # object files and a static libstdc++, better avoid it by now - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - if test "x$host_vendor" = xsno; then - archive_cmds='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - else - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - fi - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv5*) - no_undefined_flag=' -z text' - # $CC -shared without GNU ld will not create a library from C++ - # object files and a static libstdc++, better avoid it by now - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - hardcode_libdir_flag_spec= - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4.2uw2*) - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=no - hardcode_shlibpath_var=no - hardcode_runpath_var=yes - runpath_var=LD_RUN_PATH - ;; - - sysv5uw7* | unixware7*) - no_undefined_flag='${wl}-z ${wl}text' - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac -fi -echo "$as_me:6085: result: $ld_shlibs" >&5 -echo "${ECHO_T}$ld_shlibs" >&6 -test "$ld_shlibs" = no && can_build_shared=no - -# Check hardcoding attributes. -echo "$as_me:6090: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || \ - test -n "$runpath_var"; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$hardcode_shlibpath_var" != no && - test "$hardcode_minus_L" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -echo "$as_me:6114: result: $hardcode_action" >&5 -echo "${ECHO_T}$hardcode_action" >&6 - -striplib= -old_striplib= -echo "$as_me:6119: checking whether stripping libraries is possible" >&5 -echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6 -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - echo "$as_me:6124: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - echo "$as_me:6127: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -reload_cmds='$LD$reload_flag -o $output$reload_objs' -test -z "$deplibs_check_method" && deplibs_check_method=unknown - -# PORTME Fill in your ld.so characteristics -echo "$as_me:6135: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6 -library_names_spec= -libname_spec='lib$name' -soname_spec= -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}.so$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}.so$major' - ;; - -aix4* | aix5*) - version_type=linux - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix $libname.so' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can - # not hardcode correct soname into executable. Probably we can - # add versioning support to collect2, so additional links can - # be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib<name>.so - # instead of lib<name>.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}.so$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}.so' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi4*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - export_dynamic_flag_spec=-rdynamic - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - need_version=no - need_lib_prefix=no - case $GCC,$host_os in - yes,cygwin*) - library_names_spec='$libname.dll.a' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll' - postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog .libs/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - ;; - yes,mingw*) - library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"` - ;; - yes,pw32*) - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/./-/g'`${versuffix}.dll' - ;; - *) - library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - # FIXME: Relying on posixy $() will cause problems for - # cross-compilation, but unfortunately the echo tests do not - # yet detect zsh echo's removal of \ escapes. - library_names_spec='${libname}${release}${versuffix}.$(test .$module = .yes && echo so || echo dylib) ${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib) ${libname}.$(test .$module = .yes && echo so || echo dylib)' - soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - *) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - dynamic_linker="$host_os dld.sl" - version_type=sunos - need_lib_prefix=no - need_version=no - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl' - soname_spec='${libname}${release}.sl$major' - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -irix5* | irix6*) - version_type=irix - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}.so$major' - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so' - case $host_os in - irix5*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux-gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so' - soname_spec='${libname}${release}.so$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case "$host_os" in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - ;; - -os2*) - libname_spec='$name' - need_lib_prefix=no - library_names_spec='$libname.dll $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_version=no - soname_spec='${libname}${release}.so' - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -sco3.2v5*) - version_type=osf - soname_spec='${libname}${release}.so$major' - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - shlibpath_var=LD_LIBRARY_PATH - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - version_type=linux - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' - soname_spec='$libname.so.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -*) - dynamic_linker=no - ;; -esac -echo "$as_me:6528: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6 -test "$dynamic_linker" = no && can_build_shared=no - -# Report the final consequences. -echo "$as_me:6533: checking if libtool supports shared libraries" >&5 -echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6 -echo "$as_me:6535: result: $can_build_shared" >&5 -echo "${ECHO_T}$can_build_shared" >&6 - -echo "$as_me:6538: checking whether to build shared libraries" >&5 -echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6 -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case "$host_os" in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - -aix4*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -echo "$as_me:6559: result: $enable_shared" >&5 -echo "${ECHO_T}$enable_shared" >&6 - -echo "$as_me:6562: checking whether to build static libraries" >&5 -echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6 -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -echo "$as_me:6566: result: $enable_static" >&5 -echo "${ECHO_T}$enable_static" >&6 - -if test "$hardcode_action" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - cygwin* | mingw* | pw32*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - *) - echo "$as_me:6604: checking for shl_load" >&5 -echo $ECHO_N "checking for shl_load... $ECHO_C" >&6 -if test "${ac_cv_func_shl_load+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 6610 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char shl_load (); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char shl_load (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_shl_load) || defined (__stub___shl_load) -choke me -#else -f = shl_load; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:6641: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6644: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:6647: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6650: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_shl_load=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_func_shl_load=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:6660: result: $ac_cv_func_shl_load" >&5 -echo "${ECHO_T}$ac_cv_func_shl_load" >&6 -if test $ac_cv_func_shl_load = yes; then - lt_cv_dlopen="shl_load" -else - echo "$as_me:6665: checking for shl_load in -ldld" >&5 -echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6 -if test "${ac_cv_lib_dld_shl_load+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 6673 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char shl_load (); -int -main () -{ -shl_load (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:6692: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6695: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:6698: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6701: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dld_shl_load=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_dld_shl_load=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:6712: result: $ac_cv_lib_dld_shl_load" >&5 -echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6 -if test $ac_cv_lib_dld_shl_load = yes; then - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" -else - echo "$as_me:6717: checking for dlopen" >&5 -echo $ECHO_N "checking for dlopen... $ECHO_C" >&6 -if test "${ac_cv_func_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 6723 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char dlopen (); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_dlopen) || defined (__stub___dlopen) -choke me -#else -f = dlopen; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:6754: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6757: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:6760: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6763: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_func_dlopen=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:6773: result: $ac_cv_func_dlopen" >&5 -echo "${ECHO_T}$ac_cv_func_dlopen" >&6 -if test $ac_cv_func_dlopen = yes; then - lt_cv_dlopen="dlopen" -else - echo "$as_me:6778: checking for dlopen in -ldl" >&5 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 6786 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -int -main () -{ -dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:6805: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6808: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:6811: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6814: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dl_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_dl_dlopen=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:6825: result: $ac_cv_lib_dl_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 -if test $ac_cv_lib_dl_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - echo "$as_me:6830: checking for dlopen in -lsvld" >&5 -echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6 -if test "${ac_cv_lib_svld_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 6838 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -int -main () -{ -dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:6857: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6860: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:6863: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6866: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_svld_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_svld_dlopen=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:6877: result: $ac_cv_lib_svld_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6 -if test $ac_cv_lib_svld_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" -else - echo "$as_me:6882: checking for dld_link in -ldld" >&5 -echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6 -if test "${ac_cv_lib_dld_dld_link+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 6890 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dld_link (); -int -main () -{ -dld_link (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:6909: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6912: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:6915: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6918: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dld_dld_link=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_dld_dld_link=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:6929: result: $ac_cv_lib_dld_dld_link" >&5 -echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6 -if test $ac_cv_lib_dld_dld_link = yes; then - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" -fi - -fi - -fi - -fi - -fi - -fi - - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - echo "$as_me:6965: checking whether a program can dlopen itself" >&5 -echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6 -if test "${lt_cv_dlopen_self+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<EOF -#line 6976 "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include <dlfcn.h> -#endif - -#include <stdio.h> - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - - exit (status); -} -EOF - if { (eval echo "$as_me:7037: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:7040: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_unknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - -fi -echo "$as_me:7057: result: $lt_cv_dlopen_self" >&5 -echo "${ECHO_T}$lt_cv_dlopen_self" >&6 - - if test "x$lt_cv_dlopen_self" = xyes; then - LDFLAGS="$LDFLAGS $link_static_flag" - echo "$as_me:7062: checking whether a statically linked program can dlopen itself" >&5 -echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6 -if test "${lt_cv_dlopen_self_static+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<EOF -#line 7073 "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include <dlfcn.h> -#endif - -#include <stdio.h> - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - - exit (status); -} -EOF - if { (eval echo "$as_me:7134: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:7137: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - -fi -echo "$as_me:7154: result: $lt_cv_dlopen_self_static" >&5 -echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6 - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - -if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - echo "$as_me:7184: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6 - if test "${lt_cv_archive_cmds_need_lc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - $rm conftest* - echo 'static int dummy;' > conftest.$ac_ext - - if { (eval echo "$as_me:7192: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:7195: \$? = $ac_status" >&5 - (exit $ac_status); }; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_cv_prog_cc_wl - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { (eval echo "$as_me:7209: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:7212: \$? = $ac_status" >&5 - (exit $ac_status); } - then - lt_cv_archive_cmds_need_lc=no - else - lt_cv_archive_cmds_need_lc=yes - fi - allow_undefined_flag=$save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi -fi - - echo "$as_me:7225: result: $lt_cv_archive_cmds_need_lc" >&5 -echo "${ECHO_T}$lt_cv_archive_cmds_need_lc" >&6 - ;; - esac -fi -need_lc=${lt_cv_archive_cmds_need_lc-yes} - -# The second clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - : -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - test -f Makefile && make "$ltmain" -fi - -if test -f "$ltmain"; then - trap "$rm \"${ofile}T\"; exit 1" 1 2 15 - $rm -f "${ofile}T" - - echo creating $ofile - - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS \ - AR AR_FLAGS CC LD LN_S NM SHELL \ - reload_flag reload_cmds wl \ - pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \ - thread_safe_flag_spec whole_archive_flag_spec libname_spec \ - library_names_spec soname_spec \ - RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \ - old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds \ - postuninstall_cmds extract_expsyms_cmds old_archive_from_expsyms_cmds \ - old_striplib striplib file_magic_cmd export_symbols_cmds \ - deplibs_check_method allow_undefined_flag no_undefined_flag \ - finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \ - global_symbol_to_c_name_address \ - hardcode_libdir_flag_spec hardcode_libdir_separator \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do - - case $var in - reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - export_symbols_cmds | archive_cmds | archive_expsym_cmds | \ - extract_expsyms_cmds | old_archive_from_expsyms_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - cat <<__EOF__ > "${ofile}T" -#! $SHELL - -# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996-2000 Free Software Foundation, Inc. -# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="sed -e s/^X//" - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi - -# ### BEGIN LIBTOOL CONFIG - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$need_lc - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# The default C compiler. -CC=$lt_CC - -# Is the compiler the GNU C compiler? -with_gcc=$GCC - -# The linker used to build libraries. -LD=$lt_LD - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_wl - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_pic_flag -pic_mode=$pic_mode - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_compiler_c_o - -# Can we write directly to a .lo ? -compiler_o_lo=$lt_compiler_o_lo - -# Must we lock files when doing compilation ? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_link_static_flag - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_no_builtin_flag - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path" - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# ### END LIBTOOL CONFIG - -__EOF__ - - case $host_os in - aix3*) - cat <<\EOF >> "${ofile}T" - -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -EOF - ;; - esac - - case $host_os in - cygwin* | mingw* | pw32* | os2*) - cat <<'EOF' >> "${ofile}T" - # This is a source program that is used to create dlls on Windows - # Don't remove nor modify the starting and closing comments -# /* ltdll.c starts here */ -# #define WIN32_LEAN_AND_MEAN -# #include <windows.h> -# #undef WIN32_LEAN_AND_MEAN -# #include <stdio.h> -# -# #ifndef __CYGWIN__ -# # ifdef __CYGWIN32__ -# # define __CYGWIN__ __CYGWIN32__ -# # endif -# #endif -# -# #ifdef __cplusplus -# extern "C" { -# #endif -# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); -# #ifdef __cplusplus -# } -# #endif -# -# #ifdef __CYGWIN__ -# #include <cygwin/cygwin_dll.h> -# DECLARE_CYGWIN_DLL( DllMain ); -# #endif -# HINSTANCE __hDllInstance_base; -# -# BOOL APIENTRY -# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) -# { -# __hDllInstance_base = hInst; -# return TRUE; -# } -# /* ltdll.c ends here */ - # This is a source program that is used to create import libraries - # on Windows for dlls which lack them. Don't remove nor modify the - # starting and closing comments -# /* impgen.c starts here */ -# /* Copyright (C) 1999-2000 Free Software Foundation, Inc. -# -# This file is part of GNU libtool. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# */ -# -# #include <stdio.h> /* for printf() */ -# #include <unistd.h> /* for open(), lseek(), read() */ -# #include <fcntl.h> /* for O_RDONLY, O_BINARY */ -# #include <string.h> /* for strdup() */ -# -# /* O_BINARY isn't required (or even defined sometimes) under Unix */ -# #ifndef O_BINARY -# #define O_BINARY 0 -# #endif -# -# static unsigned int -# pe_get16 (fd, offset) -# int fd; -# int offset; -# { -# unsigned char b[2]; -# lseek (fd, offset, SEEK_SET); -# read (fd, b, 2); -# return b[0] + (b[1]<<8); -# } -# -# static unsigned int -# pe_get32 (fd, offset) -# int fd; -# int offset; -# { -# unsigned char b[4]; -# lseek (fd, offset, SEEK_SET); -# read (fd, b, 4); -# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); -# } -# -# static unsigned int -# pe_as32 (ptr) -# void *ptr; -# { -# unsigned char *b = ptr; -# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); -# } -# -# int -# main (argc, argv) -# int argc; -# char *argv[]; -# { -# int dll; -# unsigned long pe_header_offset, opthdr_ofs, num_entries, i; -# unsigned long export_rva, export_size, nsections, secptr, expptr; -# unsigned long name_rvas, nexp; -# unsigned char *expdata, *erva; -# char *filename, *dll_name; -# -# filename = argv[1]; -# -# dll = open(filename, O_RDONLY|O_BINARY); -# if (dll < 1) -# return 1; -# -# dll_name = filename; -# -# for (i=0; filename[i]; i++) -# if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':') -# dll_name = filename + i +1; -# -# pe_header_offset = pe_get32 (dll, 0x3c); -# opthdr_ofs = pe_header_offset + 4 + 20; -# num_entries = pe_get32 (dll, opthdr_ofs + 92); -# -# if (num_entries < 1) /* no exports */ -# return 1; -# -# export_rva = pe_get32 (dll, opthdr_ofs + 96); -# export_size = pe_get32 (dll, opthdr_ofs + 100); -# nsections = pe_get16 (dll, pe_header_offset + 4 +2); -# secptr = (pe_header_offset + 4 + 20 + -# pe_get16 (dll, pe_header_offset + 4 + 16)); -# -# expptr = 0; -# for (i = 0; i < nsections; i++) -# { -# char sname[8]; -# unsigned long secptr1 = secptr + 40 * i; -# unsigned long vaddr = pe_get32 (dll, secptr1 + 12); -# unsigned long vsize = pe_get32 (dll, secptr1 + 16); -# unsigned long fptr = pe_get32 (dll, secptr1 + 20); -# lseek(dll, secptr1, SEEK_SET); -# read(dll, sname, 8); -# if (vaddr <= export_rva && vaddr+vsize > export_rva) -# { -# expptr = fptr + (export_rva - vaddr); -# if (export_rva + export_size > vaddr + vsize) -# export_size = vsize - (export_rva - vaddr); -# break; -# } -# } -# -# expdata = (unsigned char*)malloc(export_size); -# lseek (dll, expptr, SEEK_SET); -# read (dll, expdata, export_size); -# erva = expdata - export_rva; -# -# nexp = pe_as32 (expdata+24); -# name_rvas = pe_as32 (expdata+32); -# -# printf ("EXPORTS\n"); -# for (i = 0; i<nexp; i++) -# { -# unsigned long name_rva = pe_as32 (erva+name_rvas+i*4); -# printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i); -# } -# -# return 0; -# } -# /* impgen.c ends here */ - -EOF - ;; - esac - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "${ofile}T" || (rm -f "${ofile}T"; exit 1) - - mv -f "${ofile}T" "$ofile" || \ - (rm -f "$ofile" && cp "${ofile}T" "$ofile" && rm -f "${ofile}T") - chmod +x "$ofile" -fi - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - -# Prevent multiple expansion - -echo "$as_me:7790: checking whether ${MAKE-make} sets \${MAKE}" >&5 -echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` -if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.make <<\EOF -all: - @echo 'ac_maketemp="${MAKE}"' -EOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` -if test -n "$ac_maketemp"; then - eval ac_cv_prog_make_${ac_make}_set=yes -else - eval ac_cv_prog_make_${ac_make}_set=no -fi -rm -f conftest.make -fi -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then - echo "$as_me:7810: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - SET_MAKE= -else - echo "$as_me:7814: result: no" >&5 -echo "${ECHO_T}no" >&6 - SET_MAKE="MAKE=${MAKE-make}" -fi - -echo "$as_me:7819: checking whether to enable debug options" >&5 -echo $ECHO_N "checking whether to enable debug options... $ECHO_C" >&6 -# Check whether --enable-debug or --disable-debug was given. -if test "${enable_debug+set}" = set; then - enableval="$enable_debug" - case "$enableval" in - no) - echo "$as_me:7826: result: no" >&5 -echo "${ECHO_T}no" >&6 - ;; - *) echo "$as_me:7829: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - - CPPFLAGS="$CPPFLAGS -DMALLOCDEBUG" - CFLAGS="-W -Wall -Wwrite-strings -pedantic -Wundef -Wpointer-arith -Wcast-align -Wnested-externs -g" - ;; - esac -else - echo "$as_me:7837: result: no" >&5 -echo "${ECHO_T}no" >&6 - -fi; - -echo "$as_me:7842: checking whether to enable ipv6" >&5 -echo $ECHO_N "checking whether to enable ipv6... $ECHO_C" >&6 -# Check whether --enable-ipv6 or --disable-ipv6 was given. -if test "${enable_ipv6+set}" = set; then - enableval="$enable_ipv6" - case "$enableval" in - no) - echo "$as_me:7849: result: no" >&5 -echo "${ECHO_T}no" >&6 - ipv6=no - ;; - *) echo "$as_me:7853: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - ipv6=yes - ;; - esac -else - if test "$cross_compiling" = yes; then - echo "$as_me:7860: result: no" >&5 -echo "${ECHO_T}no" >&6 - ipv6=no - -else - cat >conftest.$ac_ext <<_ACEOF -#line 7866 "configure" -#include "confdefs.h" - /* is AF_INET6 available? */ -#include <sys/types.h> -#include <sys/socket.h> -main() -{ - if (socket(AF_INET6, SOCK_STREAM, 0) < 0) - exit(1); - else - exit(0); -} - -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:7881: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:7884: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:7886: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7889: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "$as_me:7891: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - ipv6=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -echo "$as_me:7898: result: no" >&5 -echo "${ECHO_T}no" >&6 - ipv6=no -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi; - -if test "$ipv6" = "yes"; then - - echo "$as_me:7908: checking for working getaddrinfo" >&5 -echo $ECHO_N "checking for working getaddrinfo... $ECHO_C" >&6 -if test "${ac_cv_working_getaddrinfo+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - if test "$cross_compiling" = yes; then - - ac_cv_working_getaddrinfo="yes" - -else - cat >conftest.$ac_ext <<_ACEOF -#line 7920 "configure" -#include "confdefs.h" - -#include <netdb.h> -#include <sys/types.h> -#include <sys/socket.h> - -void main(void) { - struct addrinfo hints, *ai; - int error; - - memset(&hints, 0, sizeof(hints)); - hints.ai_family = AF_UNSPEC; - hints.ai_socktype = SOCK_STREAM; - error = getaddrinfo("127.0.0.1", "8080", &hints, &ai); - if (error) { - exit(1); - } - else { - exit(0); - } -} - -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:7945: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:7948: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:7950: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7953: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - - ac_cv_working_getaddrinfo="yes" - -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - - ac_cv_working_getaddrinfo="no" - -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -echo "$as_me:7969: result: $ac_cv_working_getaddrinfo" >&5 -echo "${ECHO_T}$ac_cv_working_getaddrinfo" >&6 -if test "$ac_cv_working_getaddrinfo" = "yes"; then - -cat >>confdefs.h <<\EOF -#define HAVE_GETADDRINFO 1 -EOF - -cat >>confdefs.h <<\EOF -#define ENABLE_IPV6 1 -EOF - - IPV6_ENABLED=1 - -fi - -fi - -echo "$as_me:7987: checking for gethostbyname" >&5 -echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6 -if test "${ac_cv_func_gethostbyname+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 7993 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char gethostbyname (); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char gethostbyname (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname) -choke me -#else -f = gethostbyname; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8024: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8027: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8030: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8033: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_gethostbyname=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_func_gethostbyname=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:8043: result: $ac_cv_func_gethostbyname" >&5 -echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6 -if test $ac_cv_func_gethostbyname = yes; then - : -else - -echo "$as_me:8049: checking for gethostbyname in -lnsl" >&5 -echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6 -if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lnsl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 8057 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char gethostbyname (); -int -main () -{ -gethostbyname (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8076: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8079: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8082: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8085: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_nsl_gethostbyname=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_nsl_gethostbyname=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:8096: result: $ac_cv_lib_nsl_gethostbyname" >&5 -echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6 -if test $ac_cv_lib_nsl_gethostbyname = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBNSL 1 -EOF - - LIBS="-lnsl $LIBS" - -fi - -fi - -if test "$ac_cv_lib_nsl_gethostbyname" != "yes" -a "$ac_cv_func_gethostbyname" != "yes"; then - echo "$as_me:8110: checking for gethostbyname" >&5 -echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6 -if test "${ac_cv_func_gethostbyname+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 8116 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char gethostbyname (); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char gethostbyname (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname) -choke me -#else -f = gethostbyname; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8147: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8150: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8153: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8156: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_gethostbyname=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_func_gethostbyname=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:8166: result: $ac_cv_func_gethostbyname" >&5 -echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6 -if test $ac_cv_func_gethostbyname = yes; then - : -else - -echo "$as_me:8172: checking for gethostbyname in -lsocket" >&5 -echo $ECHO_N "checking for gethostbyname in -lsocket... $ECHO_C" >&6 -if test "${ac_cv_lib_socket_gethostbyname+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsocket $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 8180 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char gethostbyname (); -int -main () -{ -gethostbyname (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8199: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8202: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8205: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8208: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_socket_gethostbyname=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_socket_gethostbyname=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:8219: result: $ac_cv_lib_socket_gethostbyname" >&5 -echo "${ECHO_T}$ac_cv_lib_socket_gethostbyname" >&6 -if test $ac_cv_lib_socket_gethostbyname = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBSOCKET 1 -EOF - - LIBS="-lsocket $LIBS" - -fi - -fi - -fi - -if test "$ac_cv_lib_nsl_gethostbyname" = "$ac_cv_func_gethostbyname"; then - echo "$as_me:8235: checking trying both nsl and socket libs" >&5 -echo $ECHO_N "checking trying both nsl and socket libs... $ECHO_C" >&6 - my_ac_save_LIBS=$LIBS - LIBS="-lnsl -lsocket $LIBS" - cat >conftest.$ac_ext <<_ACEOF -#line 8240 "configure" -#include "confdefs.h" - -int -main () -{ -gethostbyname(); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8252: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8255: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8258: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8261: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - my_ac_link_result=success -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -my_ac_link_result=failure -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - - if test "$my_ac_link_result" = "failure"; then - echo "$as_me:8272: result: no" >&5 -echo "${ECHO_T}no" >&6 - { { echo "$as_me:8274: error: couldn't find libraries for gethostbyname()" >&5 -echo "$as_me: error: couldn't find libraries for gethostbyname()" >&2;} - { (exit 1); exit 1; }; } - LIBS=$my_ac_save_LIBS - else - echo "$as_me:8279: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - fi -fi - -echo "$as_me:8284: checking for strcasecmp" >&5 -echo $ECHO_N "checking for strcasecmp... $ECHO_C" >&6 -if test "${ac_cv_func_strcasecmp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 8290 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char strcasecmp (); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char strcasecmp (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_strcasecmp) || defined (__stub___strcasecmp) -choke me -#else -f = strcasecmp; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8321: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8324: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8327: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8330: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_strcasecmp=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_func_strcasecmp=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:8340: result: $ac_cv_func_strcasecmp" >&5 -echo "${ECHO_T}$ac_cv_func_strcasecmp" >&6 -if test $ac_cv_func_strcasecmp = yes; then - : -else - -echo "$as_me:8346: checking for strcasecmp in -lresolve" >&5 -echo $ECHO_N "checking for strcasecmp in -lresolve... $ECHO_C" >&6 -if test "${ac_cv_lib_resolve_strcasecmp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lresolve $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 8354 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char strcasecmp (); -int -main () -{ -strcasecmp (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8373: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8376: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8379: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8382: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_resolve_strcasecmp=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_resolve_strcasecmp=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:8393: result: $ac_cv_lib_resolve_strcasecmp" >&5 -echo "${ECHO_T}$ac_cv_lib_resolve_strcasecmp" >&6 -if test $ac_cv_lib_resolve_strcasecmp = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBRESOLVE 1 -EOF - - LIBS="-lresolve $LIBS" - -fi - -fi - -if test "$ac_cv_lib_resolve_strcasecmp" = "$ac_cv_func_strcasecmp"; then - echo "$as_me:8407: checking for strcasecmp in -lresolve" >&5 -echo $ECHO_N "checking for strcasecmp in -lresolve... $ECHO_C" >&6 -if test "${ac_cv_lib_resolve_strcasecmp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lresolve -lnsl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 8415 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char strcasecmp (); -int -main () -{ -strcasecmp (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8434: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8437: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8440: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8443: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_resolve_strcasecmp=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_resolve_strcasecmp=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:8454: result: $ac_cv_lib_resolve_strcasecmp" >&5 -echo "${ECHO_T}$ac_cv_lib_resolve_strcasecmp" >&6 -if test $ac_cv_lib_resolve_strcasecmp = yes; then - LIBS="-lresolve $LIBS" -fi - -fi - -echo "$as_me:8462: checking for connect" >&5 -echo $ECHO_N "checking for connect... $ECHO_C" >&6 -if test "${ac_cv_func_connect+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 8468 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char connect (); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char connect (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_connect) || defined (__stub___connect) -choke me -#else -f = connect; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8499: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8502: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8505: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8508: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_connect=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_func_connect=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:8518: result: $ac_cv_func_connect" >&5 -echo "${ECHO_T}$ac_cv_func_connect" >&6 -if test $ac_cv_func_connect = yes; then - : -else - -echo "$as_me:8524: checking for connect in -lsocket" >&5 -echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6 -if test "${ac_cv_lib_socket_connect+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsocket $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 8532 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char connect (); -int -main () -{ -connect (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8551: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8554: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8557: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8560: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_socket_connect=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_socket_connect=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:8571: result: $ac_cv_lib_socket_connect" >&5 -echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6 -if test $ac_cv_lib_socket_connect = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBSOCKET 1 -EOF - - LIBS="-lsocket $LIBS" - -fi - -fi - -echo "$as_me:8584: checking for gethostname" >&5 -echo $ECHO_N "checking for gethostname... $ECHO_C" >&6 -if test "${ac_cv_func_gethostname+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 8590 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char gethostname (); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char gethostname (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_gethostname) || defined (__stub___gethostname) -choke me -#else -f = gethostname; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8621: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8624: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8627: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8630: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_gethostname=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_func_gethostname=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:8640: result: $ac_cv_func_gethostname" >&5 -echo "${ECHO_T}$ac_cv_func_gethostname" >&6 -if test $ac_cv_func_gethostname = yes; then - : -else - -echo "$as_me:8646: checking for gethostname in -lucb" >&5 -echo $ECHO_N "checking for gethostname in -lucb... $ECHO_C" >&6 -if test "${ac_cv_lib_ucb_gethostname+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lucb $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 8654 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char gethostname (); -int -main () -{ -gethostname (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8673: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8676: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8679: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8682: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_ucb_gethostname=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_ucb_gethostname=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:8693: result: $ac_cv_lib_ucb_gethostname" >&5 -echo "${ECHO_T}$ac_cv_lib_ucb_gethostname" >&6 -if test $ac_cv_lib_ucb_gethostname = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBUCB 1 -EOF - - LIBS="-lucb $LIBS" - -fi - -fi - -echo "$as_me:8706: checking for dlclose" >&5 -echo $ECHO_N "checking for dlclose... $ECHO_C" >&6 -if test "${ac_cv_func_dlclose+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 8712 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char dlclose (); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlclose (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_dlclose) || defined (__stub___dlclose) -choke me -#else -f = dlclose; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8743: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8746: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8749: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8752: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_dlclose=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_func_dlclose=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:8762: result: $ac_cv_func_dlclose" >&5 -echo "${ECHO_T}$ac_cv_func_dlclose" >&6 -if test $ac_cv_func_dlclose = yes; then - : -else - -echo "$as_me:8768: checking for dlopen in -ldl" >&5 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 8776 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -int -main () -{ -dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8795: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8798: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8801: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8804: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dl_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_dl_dlopen=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:8815: result: $ac_cv_lib_dl_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 -if test $ac_cv_lib_dl_dlopen = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBDL 1 -EOF - - LIBS="-ldl $LIBS" - -fi - -fi - -# Check whether --enable-nonblocking or --disable-nonblocking was given. -if test "${enable_nonblocking+set}" = set; then - enableval="$enable_nonblocking" - - if test "$enableval" = "no" ; then - { echo "$as_me:8833: WARNING: non-blocking sockets disabled" >&5 -echo "$as_me: WARNING: non-blocking sockets disabled" >&2;} - cat >>confdefs.h <<\EOF -#define HAVE_DISABLED_NONBLOCKING 1 -EOF - - else - - echo "$as_me:8841: checking non-blocking sockets style" >&5 -echo $ECHO_N "checking non-blocking sockets style... $ECHO_C" >&6 - - cat >conftest.$ac_ext <<_ACEOF -#line 8845 "configure" -#include "confdefs.h" - -/* headers for O_NONBLOCK test */ -#include <sys/types.h> -#include <unistd.h> -#include <fcntl.h> - -int -main () -{ - -/* try to compile O_NONBLOCK */ - -#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(_AIX4) -# define PLATFORM_AIX_V3 -#endif - -#if defined(PLATFORM_SUNOS4) || defined(PLATFORM_AIX_V3) -#error "O_NONBLOCK does not work on this platform" -#endif - int socket; - int flags = fcntl(socket, F_SETFL, flags | O_NONBLOCK); - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:8881: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:8884: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:8887: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8890: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -nonblock="O_NONBLOCK" -cat >>confdefs.h <<\EOF -#define HAVE_O_NONBLOCK 1 -EOF - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -#line 8903 "configure" -#include "confdefs.h" - -/* headers for FIONBIO test */ -#include <unistd.h> -#include <stropts.h> - -int -main () -{ - -/* FIONBIO source test */ - int flags = ioctl(socket, FIONBIO, &flags); - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:8922: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:8925: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:8928: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8931: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -nonblock="FIONBIO" -cat >>confdefs.h <<\EOF -#define HAVE_FIONBIO 1 -EOF - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -#line 8944 "configure" -#include "confdefs.h" - -/* headers for ioctlsocket test (cygwin?) */ -#include <windows.h> - -int -main () -{ - -/* ioctlsocket source code */ - int flags = ioctlsocket(socket, FIONBIO, &flags); - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:8962: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:8965: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:8968: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8971: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -nonblock="ioctlsocket" -cat >>confdefs.h <<\EOF -#define HAVE_IOCTLSOCKET 1 -EOF - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -#line 8984 "configure" -#include "confdefs.h" - -/* headers for IoctlSocket test (Amiga?) */ -#include <sys/ioctl.h> - -int -main () -{ - -/* IoctlSocket source code */ - int flags = IoctlSocket(socket, FIONBIO, (long)1); - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:9002: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:9005: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:9008: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9011: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -nonblock="IoctlSocket" -cat >>confdefs.h <<\EOF -#define HAVE_IOCTLSOCKET_CASE 1 -EOF - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - -nonblock="nada" -cat >>confdefs.h <<\EOF -#define HAVE_DISABLED_NONBLOCKING 1 -EOF - -fi -rm -f conftest.$ac_objext conftest.$ac_ext - -fi -rm -f conftest.$ac_objext conftest.$ac_ext - -fi -rm -f conftest.$ac_objext conftest.$ac_ext - -fi -rm -f conftest.$ac_objext conftest.$ac_ext - echo "$as_me:9039: result: $nonblock" >&5 -echo "${ECHO_T}$nonblock" >&6 - - if test "$nonblock" = "nada"; then - { echo "$as_me:9043: WARNING: non-block sockets disabled" >&5 -echo "$as_me: WARNING: non-block sockets disabled" >&2;} - fi - - fi - -else - - echo "$as_me:9051: checking non-blocking sockets style" >&5 -echo $ECHO_N "checking non-blocking sockets style... $ECHO_C" >&6 - - cat >conftest.$ac_ext <<_ACEOF -#line 9055 "configure" -#include "confdefs.h" - -/* headers for O_NONBLOCK test */ -#include <sys/types.h> -#include <unistd.h> -#include <fcntl.h> - -int -main () -{ - -/* try to compile O_NONBLOCK */ - -#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(_AIX4) -# define PLATFORM_AIX_V3 -#endif - -#if defined(PLATFORM_SUNOS4) || defined(PLATFORM_AIX_V3) -#error "O_NONBLOCK does not work on this platform" -#endif - int socket; - int flags = fcntl(socket, F_SETFL, flags | O_NONBLOCK); - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:9091: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:9094: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:9097: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9100: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -nonblock="O_NONBLOCK" -cat >>confdefs.h <<\EOF -#define HAVE_O_NONBLOCK 1 -EOF - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -#line 9113 "configure" -#include "confdefs.h" - -/* headers for FIONBIO test */ -#include <unistd.h> -#include <stropts.h> - -int -main () -{ - -/* FIONBIO source test */ - int flags = ioctl(socket, FIONBIO, &flags); - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:9132: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:9135: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:9138: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9141: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -nonblock="FIONBIO" -cat >>confdefs.h <<\EOF -#define HAVE_FIONBIO 1 -EOF - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -#line 9154 "configure" -#include "confdefs.h" - -/* headers for ioctlsocket test (cygwin?) */ -#include <windows.h> - -int -main () -{ - -/* ioctlsocket source code */ - int flags = ioctlsocket(socket, FIONBIO, &flags); - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:9172: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:9175: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:9178: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9181: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -nonblock="ioctlsocket" -cat >>confdefs.h <<\EOF -#define HAVE_IOCTLSOCKET 1 -EOF - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -#line 9194 "configure" -#include "confdefs.h" - -/* headers for IoctlSocket test (Amiga?) */ -#include <sys/ioctl.h> - -int -main () -{ - -/* IoctlSocket source code */ - int flags = IoctlSocket(socket, FIONBIO, (long)1); - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:9212: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:9215: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:9218: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9221: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -nonblock="IoctlSocket" -cat >>confdefs.h <<\EOF -#define HAVE_IOCTLSOCKET_CASE 1 -EOF - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - -nonblock="nada" -cat >>confdefs.h <<\EOF -#define HAVE_DISABLED_NONBLOCKING 1 -EOF - -fi -rm -f conftest.$ac_objext conftest.$ac_ext - -fi -rm -f conftest.$ac_objext conftest.$ac_ext - -fi -rm -f conftest.$ac_objext conftest.$ac_ext - -fi -rm -f conftest.$ac_objext conftest.$ac_ext - echo "$as_me:9249: result: $nonblock" >&5 -echo "${ECHO_T}$nonblock" >&6 - - if test "$nonblock" = "nada"; then - { echo "$as_me:9253: WARNING: non-block sockets disabled" >&5 -echo "$as_me: WARNING: non-block sockets disabled" >&2;} - fi - -fi; - -# Check whether --with-egd-socket or --without-egd-socket was given. -if test "${with_egd_socket+set}" = set; then - withval="$with_egd_socket" - EGD_SOCKET="$withval" - -fi; -if test -n "$EGD_SOCKET" ; then - cat >>confdefs.h <<EOF -#define EGD_SOCKET "$EGD_SOCKET" -EOF - -fi - -# Check whether --with-random or --without-random was given. -if test "${with_random+set}" = set; then - withval="$with_random" - RANDOM_FILE="$withval" -else - - echo "$as_me:9278: checking for \"/dev/urandom\"" >&5 -echo $ECHO_N "checking for \"/dev/urandom\"... $ECHO_C" >&6 -if test "${ac_cv_file___dev_urandom_+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - test "$cross_compiling" = yes && - { { echo "$as_me:9284: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } -if test -r ""/dev/urandom""; then - ac_cv_file___dev_urandom_=yes -else - ac_cv_file___dev_urandom_=no -fi -fi -echo "$as_me:9293: result: $ac_cv_file___dev_urandom_" >&5 -echo "${ECHO_T}$ac_cv_file___dev_urandom_" >&6 -if test $ac_cv_file___dev_urandom_ = yes; then - - RANDOM_FILE="/dev/urandom"; - -fi - -fi; -if test -n "$RANDOM_FILE" ; then - - cat >>confdefs.h <<EOF -#define RANDOM_FILE "$RANDOM_FILE" -EOF - -fi - -# Check whether --with-krb4-includes or --without-krb4-includes was given. -if test "${with_krb4_includes+set}" = set; then - withval="$with_krb4_includes" - - CPPFLAGS="$CPPFLAGS -I$withval" - KRB4INC="$withval" - want_krb4=yes - -fi; - -# Check whether --with-krb4-libs or --without-krb4-libs was given. -if test "${with_krb4_libs+set}" = set; then - withval="$with_krb4_libs" - - LDFLAGS="$LDFLAGS -L$withval" - KRB4LIB="$withval" - want_krb4=yes - -fi; - -OPT_KRB4=off - -# Check whether --with-krb4 or --without-krb4 was given. -if test "${with_krb4+set}" = set; then - withval="$with_krb4" - - OPT_KRB4="$withval" - if test X"$OPT_KRB4" != Xyes - then - LDFLAGS="$LDFLAGS -L$OPT_KRB4/lib" - KRB4LIB="$OPT_KRB4/lib" - CPPFLAGS="$CPPFLAGS -I$OPT_KRB4/include" - KRB4INC="$OPT_KRB4/include" - fi - want_krb4="yes" - -fi; - -echo "$as_me:9348: checking if Kerberos4 support is requested" >&5 -echo $ECHO_N "checking if Kerberos4 support is requested... $ECHO_C" >&6 - -if test "$want_krb4" = yes -then - if test "$ipv6" = "yes"; then - echo krb4 is not compatible with IPv6 - exit 1 - fi - echo "$as_me:9357: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - - echo "$as_me:9360: checking where to look for Kerberos4" >&5 -echo $ECHO_N "checking where to look for Kerberos4... $ECHO_C" >&6 - if test X"$OPT_KRB4" = Xyes - then - echo "$as_me:9364: result: defaults" >&5 -echo "${ECHO_T}defaults" >&6 - else - echo "$as_me:9367: result: libs in $KRB4LIB, headers in $KRB4INC" >&5 -echo "${ECHO_T}libs in $KRB4LIB, headers in $KRB4INC" >&6 - fi - - echo "$as_me:9371: checking for des_pcbc_encrypt in -ldes" >&5 -echo $ECHO_N "checking for des_pcbc_encrypt in -ldes... $ECHO_C" >&6 -if test "${ac_cv_lib_des_des_pcbc_encrypt+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldes $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 9379 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char des_pcbc_encrypt (); -int -main () -{ -des_pcbc_encrypt (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9398: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9401: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9404: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9407: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_des_des_pcbc_encrypt=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_des_des_pcbc_encrypt=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:9418: result: $ac_cv_lib_des_des_pcbc_encrypt" >&5 -echo "${ECHO_T}$ac_cv_lib_des_des_pcbc_encrypt" >&6 -if test $ac_cv_lib_des_des_pcbc_encrypt = yes; then - -for ac_header in des.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:9425: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 9431 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:9435: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:9441: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_ext -fi -echo "$as_me:9460: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -EOF - -fi -done - - echo "$as_me:9470: checking for res_search" >&5 -echo $ECHO_N "checking for res_search... $ECHO_C" >&6 -if test "${ac_cv_func_res_search+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 9476 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char res_search (); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char res_search (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_res_search) || defined (__stub___res_search) -choke me -#else -f = res_search; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9507: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9510: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9513: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9516: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_res_search=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_func_res_search=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:9526: result: $ac_cv_func_res_search" >&5 -echo "${ECHO_T}$ac_cv_func_res_search" >&6 -if test $ac_cv_func_res_search = yes; then - : -else - -echo "$as_me:9532: checking for res_search in -lresolv" >&5 -echo $ECHO_N "checking for res_search in -lresolv... $ECHO_C" >&6 -if test "${ac_cv_lib_resolv_res_search+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lresolv $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 9540 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char res_search (); -int -main () -{ -res_search (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9559: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9562: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9565: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9568: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_resolv_res_search=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_resolv_res_search=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:9579: result: $ac_cv_lib_resolv_res_search" >&5 -echo "${ECHO_T}$ac_cv_lib_resolv_res_search" >&6 -if test $ac_cv_lib_resolv_res_search = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBRESOLV 1 -EOF - - LIBS="-lresolv $LIBS" - -fi - -fi - - echo "$as_me:9592: checking for krb_net_read in -lkrb" >&5 -echo $ECHO_N "checking for krb_net_read in -lkrb... $ECHO_C" >&6 -if test "${ac_cv_lib_krb_krb_net_read+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lkrb $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 9600 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char krb_net_read (); -int -main () -{ -krb_net_read (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9619: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9622: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9625: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9628: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_krb_krb_net_read=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_krb_krb_net_read=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:9639: result: $ac_cv_lib_krb_krb_net_read" >&5 -echo "${ECHO_T}$ac_cv_lib_krb_krb_net_read" >&6 -if test $ac_cv_lib_krb_krb_net_read = yes; then - -for ac_header in krb.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:9646: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 9652 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:9656: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:9662: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_ext -fi -echo "$as_me:9681: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -EOF - -fi -done - - LIBS="-lkrb -ldes $LIBS" - -for ac_func in krb_get_our_ip_for_realm -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:9696: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 9702 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9733: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9736: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9739: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9742: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:9752: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -EOF - -fi -done - - cat >>confdefs.h <<\EOF -#define KRB4 1 -EOF - - KRB4_ENABLED=1 - -for ac_func in strlcpy -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:9771: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 9777 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9808: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9811: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9814: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9817: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:9827: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -EOF - -fi -done - -fi - -fi - -else - echo "$as_me:9842: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -OPT_SSL=off - -# Check whether --with-ssl or --without-ssl was given. -if test "${with_ssl+set}" = set; then - withval="$with_ssl" - OPT_SSL=$withval - -fi; - -if test X"$OPT_SSL" = Xno -then - { echo "$as_me:9857: WARNING: SSL/https support disabled" >&5 -echo "$as_me: WARNING: SSL/https support disabled" >&2;} -else - - CLEANLDFLAGS="$LDFLAGS" - CLEANCPPFLAGS="$CPPFLAGS" - - case "$OPT_SSL" in - yes) - EXTRA_SSL=/usr/local/ssl ;; - off) - EXTRA_SSL= ;; - *) - EXTRA_SSL=$OPT_SSL - LDFLAGS="$LDFLAGS -L$EXTRA_SSL/lib" - CPPFLAGS="$CPPFLAGS -I$EXTRA_SSL/include/openssl -I$EXTRA_SSL/include" - ;; - esac - - echo "$as_me:9876: checking for CRYPTO_lock in -lcrypto" >&5 -echo $ECHO_N "checking for CRYPTO_lock in -lcrypto... $ECHO_C" >&6 -if test "${ac_cv_lib_crypto_CRYPTO_lock+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcrypto $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 9884 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char CRYPTO_lock (); -int -main () -{ -CRYPTO_lock (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9903: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9906: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9909: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9912: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_crypto_CRYPTO_lock=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_crypto_CRYPTO_lock=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:9923: result: $ac_cv_lib_crypto_CRYPTO_lock" >&5 -echo "${ECHO_T}$ac_cv_lib_crypto_CRYPTO_lock" >&6 -if test $ac_cv_lib_crypto_CRYPTO_lock = yes; then - - HAVECRYPTO="yes" - -else - - OLDLDFLAGS="$LDFLAGS" - OLDCPPFLAGS="$CPPFLAGS" - LDFLAGS="$CLEANLDFLAGS -L$EXTRA_SSL/lib" - CPPFLAGS="$CLEANCPPFLAGS -I$EXTRA_SSL/include/openssl -I$EXTRA_SSL/include" - echo "$as_me:9935: checking for CRYPTO_add_lock in -lcrypto" >&5 -echo $ECHO_N "checking for CRYPTO_add_lock in -lcrypto... $ECHO_C" >&6 -if test "${ac_cv_lib_crypto_CRYPTO_add_lock+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcrypto $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 9943 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char CRYPTO_add_lock (); -int -main () -{ -CRYPTO_add_lock (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9962: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9965: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9968: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9971: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_crypto_CRYPTO_add_lock=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_crypto_CRYPTO_add_lock=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:9982: result: $ac_cv_lib_crypto_CRYPTO_add_lock" >&5 -echo "${ECHO_T}$ac_cv_lib_crypto_CRYPTO_add_lock" >&6 -if test $ac_cv_lib_crypto_CRYPTO_add_lock = yes; then - - HAVECRYPTO="yes" -else - - LDFLAGS="$OLDLDFLAGS" - CPPFLAGS="$OLDCPPFLAGS" - -fi - -fi - - if test "$HAVECRYPTO" = "yes"; then - -echo "$as_me:9998: checking for CRYPTO_add_lock in -lcrypto" >&5 -echo $ECHO_N "checking for CRYPTO_add_lock in -lcrypto... $ECHO_C" >&6 -if test "${ac_cv_lib_crypto_CRYPTO_add_lock+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcrypto $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 10006 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char CRYPTO_add_lock (); -int -main () -{ -CRYPTO_add_lock (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10025: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10028: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10031: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10034: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_crypto_CRYPTO_add_lock=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_crypto_CRYPTO_add_lock=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:10045: result: $ac_cv_lib_crypto_CRYPTO_add_lock" >&5 -echo "${ECHO_T}$ac_cv_lib_crypto_CRYPTO_add_lock" >&6 -if test $ac_cv_lib_crypto_CRYPTO_add_lock = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBCRYPTO 1 -EOF - - LIBS="-lcrypto $LIBS" - -fi - -echo "$as_me:10056: checking for SSL_connect in -lssl" >&5 -echo $ECHO_N "checking for SSL_connect in -lssl... $ECHO_C" >&6 -if test "${ac_cv_lib_ssl_SSL_connect+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lssl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 10064 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char SSL_connect (); -int -main () -{ -SSL_connect (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10083: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10086: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10089: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10092: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_ssl_SSL_connect=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_ssl_SSL_connect=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:10103: result: $ac_cv_lib_ssl_SSL_connect" >&5 -echo "${ECHO_T}$ac_cv_lib_ssl_SSL_connect" >&6 -if test $ac_cv_lib_ssl_SSL_connect = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBSSL 1 -EOF - - LIBS="-lssl $LIBS" - -fi - - if test "$ac_cv_lib_ssl_SSL_connect" != yes; then - echo "$as_me:10115: checking for ssl with RSAglue/rsaref libs in use" >&5 -echo $ECHO_N "checking for ssl with RSAglue/rsaref libs in use... $ECHO_C" >&6; - OLIBS=$LIBS - LIBS="$LIBS -lRSAglue -lrsaref" - -echo "$as_me:10120: checking for SSL_connect in -lssl" >&5 -echo $ECHO_N "checking for SSL_connect in -lssl... $ECHO_C" >&6 -if test "${ac_cv_lib_ssl_SSL_connect+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lssl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 10128 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char SSL_connect (); -int -main () -{ -SSL_connect (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10147: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10150: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10153: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10156: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_ssl_SSL_connect=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_ssl_SSL_connect=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:10167: result: $ac_cv_lib_ssl_SSL_connect" >&5 -echo "${ECHO_T}$ac_cv_lib_ssl_SSL_connect" >&6 -if test $ac_cv_lib_ssl_SSL_connect = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBSSL 1 -EOF - - LIBS="-lssl $LIBS" - -fi - - if test "$ac_cv_lib_ssl_SSL_connect" != yes; then - echo "$as_me:10179: result: no" >&5 -echo "${ECHO_T}no" >&6 - LIBS=$OLIBS - else - echo "$as_me:10183: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - fi - fi - -for ac_header in openssl/x509.h openssl/rsa.h openssl/crypto.h \ - openssl/pem.h openssl/ssl.h openssl/err.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:10192: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10198 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:10202: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:10208: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_ext -fi -echo "$as_me:10227: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -EOF - OPENSSL_ENABLED=1 -fi -done - - if test $ac_cv_header_openssl_x509_h = no; then - -for ac_header in x509.h rsa.h crypto.h pem.h ssl.h err.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:10242: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10248 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:10252: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:10258: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_ext -fi -echo "$as_me:10277: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -EOF - OPENSSL_ENABLED=1 -fi -done - - fi - -for ac_header in openssl/engine.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:10292: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10298 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:10302: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:10308: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_ext -fi -echo "$as_me:10327: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -EOF - -fi -done - - fi - - if test X"$OPT_SSL" != Xoff && - test "$OPENSSL_ENABLED" != "1"; then - { { echo "$as_me:10341: error: OpenSSL libs and/or directories were not found where specified!" >&5 -echo "$as_me: error: OpenSSL libs and/or directories were not found where specified!" >&2;} - { (exit 1); exit 1; }; } - fi - -for ac_func in RAND_status \ - RAND_screen \ - RAND_egd -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:10351: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10357 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10388: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10391: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10394: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10397: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:10407: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -EOF - -fi -done - -fi - -OPT_THREAD=on -# Check whether --enable-thread or --disable-thread was given. -if test "${enable_thread+set}" = set; then - enableval="$enable_thread" - OPT_THREAD=off - -fi; - -if test X"$OPT_THREAD" = Xoff -then - { echo "$as_me:10429: WARNING: libcurl will not get built using thread-safe functions" >&5 -echo "$as_me: WARNING: libcurl will not get built using thread-safe functions" >&2;} - -cat >>confdefs.h <<\EOF -#define DISABLED_THREADSAFE 1 -EOF - -else - -for ac_func in gethostbyname_r -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:10441: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10447 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10478: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10481: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10484: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10487: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:10497: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -EOF - - echo "$as_me:10504: checking if gethostbyname_r takes 3 arguments" >&5 -echo $ECHO_N "checking if gethostbyname_r takes 3 arguments... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -#line 10507 "configure" -#include "confdefs.h" - -#include <string.h> -#include <sys/types.h> -#include <netdb.h> -#undef NULL -#define NULL (void *)0 - -int -gethostbyname_r(const char *, struct hostent *, struct hostent_data *); -int -main () -{ - -struct hostent_data data; -gethostbyname_r(NULL, NULL, NULL); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:10529: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:10532: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:10535: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10538: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - - echo "$as_me:10541: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF -#define HAVE_GETHOSTBYNAME_R_3 1 -EOF - - ac_cv_gethostbyname_args=3 -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - - echo "$as_me:10552: result: no" >&5 -echo "${ECHO_T}no" >&6 - echo "$as_me:10554: checking if gethostbyname_r with -D_REENTRANT takes 3 arguments" >&5 -echo $ECHO_N "checking if gethostbyname_r with -D_REENTRANT takes 3 arguments... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -#line 10557 "configure" -#include "confdefs.h" - -#define _REENTRANT - -#include <string.h> -#include <sys/types.h> -#include <netdb.h> -#undef NULL -#define NULL (void *)0 - -int -gethostbyname_r(const char *,struct hostent *, struct hostent_data *); -int -main () -{ - -struct hostent_data data; -gethostbyname_r(NULL, NULL, NULL); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:10581: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:10584: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:10587: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10590: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - - echo "$as_me:10593: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF -#define HAVE_GETHOSTBYNAME_R_3 1 -EOF - - cat >>confdefs.h <<\EOF -#define NEED_REENTRANT 1 -EOF - - ac_cv_gethostbyname_args=3 -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - - echo "$as_me:10608: result: no" >&5 -echo "${ECHO_T}no" >&6 - echo "$as_me:10610: checking if gethostbyname_r takes 5 arguments" >&5 -echo $ECHO_N "checking if gethostbyname_r takes 5 arguments... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -#line 10613 "configure" -#include "confdefs.h" - -#include <sys/types.h> -#include <netdb.h> -#undef NULL -#define NULL (void *)0 - -struct hostent * -gethostbyname_r(const char *, struct hostent *, char *, int, int *); -int -main () -{ - -gethostbyname_r(NULL, NULL, NULL, 0, NULL); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:10633: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:10636: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:10639: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10642: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - - echo "$as_me:10645: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF -#define HAVE_GETHOSTBYNAME_R_5 1 -EOF - - ac_cv_gethostbyname_args=5 -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - - echo "$as_me:10656: result: no" >&5 -echo "${ECHO_T}no" >&6 - echo "$as_me:10658: checking if gethostbyname_r takes 6 arguments" >&5 -echo $ECHO_N "checking if gethostbyname_r takes 6 arguments... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -#line 10661 "configure" -#include "confdefs.h" - -#include <sys/types.h> -#include <netdb.h> -#undef NULL -#define NULL (void *)0 - -int -gethostbyname_r(const char *, struct hostent *, char *, size_t, -struct hostent **, int *); -int -main () -{ - -gethostbyname_r(NULL, NULL, NULL, 0, NULL, NULL); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:10682: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:10685: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:10688: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10691: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - - echo "$as_me:10694: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF -#define HAVE_GETHOSTBYNAME_R_6 1 -EOF - - ac_cv_gethostbyname_args=6 -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - - echo "$as_me:10705: result: no" >&5 -echo "${ECHO_T}no" >&6 - have_missing_r_funcs="$have_missing_r_funcs gethostbyname_r" -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -done - -if test "$ac_cv_func_gethostbyname_r" = "yes"; then - if test "$ac_cv_gethostbyname_args" = "0"; then - { { echo "$as_me:10721: error: couldn't figure out how to use gethostbyname_r()" >&5 -echo "$as_me: error: couldn't figure out how to use gethostbyname_r()" >&2;} - { (exit 1); exit 1; }; } - fi -fi - -for ac_func in gethostbyaddr_r -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:10730: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10736 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10767: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10770: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10773: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10776: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:10786: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -EOF - - echo "$as_me:10793: checking if gethostbyaddr_r takes 5 arguments" >&5 -echo $ECHO_N "checking if gethostbyaddr_r takes 5 arguments... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -#line 10796 "configure" -#include "confdefs.h" - -#include <sys/types.h> -#include <netdb.h> -int -main () -{ - -char * address; -int length; -int type; -struct hostent h; -struct hostent_data hdata; -int rc; -rc = gethostbyaddr_r(address, length, type, &h, &hdata); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:10817: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:10820: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:10823: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10826: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - - echo "$as_me:10829: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF -#define HAVE_GETHOSTBYADDR_R_5 1 -EOF - - ac_cv_gethostbyaddr_args=5 -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - - echo "$as_me:10840: result: no" >&5 -echo "${ECHO_T}no" >&6 - echo "$as_me:10842: checking if gethostbyaddr_r with -D_REENTRANT takes 5 arguments" >&5 -echo $ECHO_N "checking if gethostbyaddr_r with -D_REENTRANT takes 5 arguments... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -#line 10845 "configure" -#include "confdefs.h" - -#define _REENTRANT -#include <sys/types.h> -#include <netdb.h> -int -main () -{ - -char * address; -int length; -int type; -struct hostent h; -struct hostent_data hdata; -int rc; -rc = gethostbyaddr_r(address, length, type, &h, &hdata); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:10867: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:10870: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:10873: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10876: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - - echo "$as_me:10879: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF -#define HAVE_GETHOSTBYADDR_R_5 1 -EOF - - cat >>confdefs.h <<\EOF -#define NEED_REENTRANT 1 -EOF - - ac_cv_gethostbyaddr_args=5 -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - - echo "$as_me:10894: result: no" >&5 -echo "${ECHO_T}no" >&6 - echo "$as_me:10896: checking if gethostbyaddr_r takes 7 arguments" >&5 -echo $ECHO_N "checking if gethostbyaddr_r takes 7 arguments... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -#line 10899 "configure" -#include "confdefs.h" - -#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; - -hp = gethostbyaddr_r(address, length, type, &h, - buffer, 8192, &h_errnop); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:10923: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:10926: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:10929: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10932: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - - echo "$as_me:10935: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF -#define HAVE_GETHOSTBYADDR_R_7 1 -EOF - - ac_cv_gethostbyaddr_args=7 -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - - echo "$as_me:10946: result: no" >&5 -echo "${ECHO_T}no" >&6 - echo "$as_me:10948: checking if gethostbyaddr_r takes 8 arguments" >&5 -echo $ECHO_N "checking if gethostbyaddr_r takes 8 arguments... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -#line 10951 "configure" -#include "confdefs.h" - -#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; - -rc = gethostbyaddr_r(address, length, type, &h, - buffer, 8192, &hp, &h_errnop); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:10976: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:10979: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:10982: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10985: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - - echo "$as_me:10988: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF -#define HAVE_GETHOSTBYADDR_R_8 1 -EOF - - ac_cv_gethostbyaddr_args=8 -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - - echo "$as_me:10999: result: no" >&5 -echo "${ECHO_T}no" >&6 - have_missing_r_funcs="$have_missing_r_funcs gethostbyaddr_r" -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -done - -for ac_func in inet_ntoa_r -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:11016: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11022 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11053: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11056: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11059: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11062: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:11072: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -EOF - - echo "$as_me:11079: checking whether inet_ntoa_r is declared" >&5 -echo $ECHO_N "checking whether inet_ntoa_r is declared... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -#line 11082 "configure" -#include "confdefs.h" - -#include <arpa/inet.h> -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "inet_ntoa_r" >/dev/null 2>&1; then - - cat >>confdefs.h <<\EOF -#define HAVE_INET_NTOA_R_DECL 1 -EOF - - echo "$as_me:11094: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - - echo "$as_me:11098: result: no" >&5 -echo "${ECHO_T}no" >&6 - echo "$as_me:11100: checking whether inet_ntoa_r with -D_REENTRANT is declared" >&5 -echo $ECHO_N "checking whether inet_ntoa_r with -D_REENTRANT is declared... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -#line 11103 "configure" -#include "confdefs.h" - -#define _REENTRANT -#include <arpa/inet.h> -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "inet_ntoa_r" >/dev/null 2>&1; then - - cat >>confdefs.h <<\EOF -#define HAVE_INET_NTOA_R_DECL 1 -EOF - - cat >>confdefs.h <<\EOF -#define NEED_REENTRANT 1 -EOF - - echo "$as_me:11120: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - echo "$as_me:11123: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi -rm -f conftest* - -fi -rm -f conftest* - -fi -done - -for ac_func in localtime_r -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:11137: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11143 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11174: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11177: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11180: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11183: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:11193: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -EOF - - echo "$as_me:11200: checking whether localtime_r is declared" >&5 -echo $ECHO_N "checking whether localtime_r is declared... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -#line 11203 "configure" -#include "confdefs.h" - -#include <time.h> -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "localtime_r" >/dev/null 2>&1; then - - echo "$as_me:11211: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - - echo "$as_me:11215: result: no" >&5 -echo "${ECHO_T}no" >&6 - echo "$as_me:11217: checking whether localtime_r with -D_REENTRANT is declared" >&5 -echo $ECHO_N "checking whether localtime_r with -D_REENTRANT is declared... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -#line 11220 "configure" -#include "confdefs.h" - -#define _REENTRANT -#include <time.h> -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "localtime_r" >/dev/null 2>&1; then - - cat >>confdefs.h <<\EOF -#define NEED_REENTRANT 1 -EOF - - echo "$as_me:11233: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - echo "$as_me:11236: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi -rm -f conftest* - -fi -rm -f conftest* - -fi -done - -for ac_func in gmtime_r -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:11250: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11256 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11287: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11290: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11293: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11296: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:11306: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -EOF - -fi -done - -fi - -echo "$as_me:11318: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11324 "configure" -#include "confdefs.h" -#include <stdlib.h> -#include <stdarg.h> -#include <string.h> -#include <float.h> - -_ACEOF -if { (eval echo "$as_me:11332: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:11338: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_cv_header_stdc=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_cv_header_stdc=no -fi -rm -f conftest.err conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -#line 11360 "configure" -#include "confdefs.h" -#include <string.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -#line 11378 "configure" -#include "confdefs.h" -#include <stdlib.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -#line 11399 "configure" -#include "confdefs.h" -#include <ctype.h> -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - exit(2); - exit (0); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:11425: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11428: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:11430: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11433: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_header_stdc=no -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -fi -echo "$as_me:11446: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6 -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\EOF -#define STDC_HEADERS 1 -EOF - -fi - -for ac_header in \ - unistd.h \ - malloc.h \ - stdlib.h \ - arpa/inet.h \ - net/if.h \ - netinet/in.h \ - netinet/if_ether.h \ - netdb.h \ - sys/select.h \ - sys/socket.h \ - sys/sockio.h \ - sys/stat.h \ - sys/types.h \ - sys/time.h \ - sys/param.h \ - termios.h \ - termio.h \ - sgtty.h \ - fcntl.h \ - dlfcn.h \ - alloca.h \ - winsock.h \ - time.h \ - io.h \ - pwd.h \ - utime.h \ - sys/utime.h - -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:11487: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11493 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:11497: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:11503: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_ext -fi -echo "$as_me:11522: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -EOF - -fi -done - -echo "$as_me:11532: checking for $CC option to accept ANSI C" >&5 -echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_prog_cc_stdc=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -#line 11540 "configure" -#include "confdefs.h" -#include <stdarg.h> -#include <stdio.h> -#include <sys/types.h> -#include <sys/stat.h> -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -# Don't try gcc -ansi; that turns off useful extensions and -# breaks some systems' header files. -# AIX -qlanglvl=ansi -# Ultrix and OSF/1 -std1 -# HP-UX 10.20 and later -Ae -# HP-UX older versions -Aa -D_HPUX_SOURCE -# SVR4 -Xc -D__EXTENSIONS__ -for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (eval echo "$as_me:11589: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:11592: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:11595: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11598: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cc_stdc=$ac_arg -break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext -done -rm -f conftest.$ac_ext conftest.$ac_objext -CC=$ac_save_CC - -fi - -case "x$ac_cv_prog_cc_stdc" in - x|xno) - echo "$as_me:11615: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6 ;; - *) - echo "$as_me:11618: result: $ac_cv_prog_cc_stdc" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 - CC="$CC $ac_cv_prog_cc_stdc" ;; -esac - -echo "$as_me:11623: checking for an ANSI C-conforming const" >&5 -echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 -if test "${ac_cv_c_const+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11629 "configure" -#include "confdefs.h" - -int -main () -{ -/* FIXME: Include the comments suggested by Paul. */ -#ifndef __cplusplus - /* Ultrix mips cc rejects this. */ - typedef int charset[2]; - const charset x; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *ccp; - char **p; - /* NEC SVR4.0.2 mips cc rejects this. */ - struct point {int x, y;}; - static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in - an arm of an if-expression whose if-part is not a constant - expression */ - const char *g = "string"; - ccp = &g + (g ? g-g : 0); - /* HPUX 7.0 cc rejects these. */ - ++ccp; - p = (char**) ccp; - ccp = (char const *const *) p; - { /* SCO 3.2v4 cc rejects this. */ - char *t; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; - } - { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; - } - { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; - } - { /* AIX XL C 1.02.0.0 rejects this saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; - } -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:11687: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:11690: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:11693: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11696: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_c_const=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_c_const=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:11706: result: $ac_cv_c_const" >&5 -echo "${ECHO_T}$ac_cv_c_const" >&6 -if test $ac_cv_c_const = no; then - -cat >>confdefs.h <<\EOF -#define const -EOF - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. - -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:11722: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11728 "configure" -#include "confdefs.h" -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:11734: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:11737: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:11740: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11743: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_Header=no" -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:11753: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -EOF - -fi -done - -echo "$as_me:11763: checking for size_t" >&5 -echo $ECHO_N "checking for size_t... $ECHO_C" >&6 -if test "${ac_cv_type_size_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11769 "configure" -#include "confdefs.h" -$ac_includes_default -int -main () -{ -if ((size_t *) 0) - return 0; -if (sizeof (size_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:11784: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:11787: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:11790: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11793: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_size_t=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_size_t=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:11803: result: $ac_cv_type_size_t" >&5 -echo "${ECHO_T}$ac_cv_type_size_t" >&6 -if test $ac_cv_type_size_t = yes; then - : -else - -cat >>confdefs.h <<EOF -#define size_t unsigned -EOF - -fi - -echo "$as_me:11815: checking whether time.h and sys/time.h may both be included" >&5 -echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 -if test "${ac_cv_header_time+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11821 "configure" -#include "confdefs.h" -#include <sys/types.h> -#include <sys/time.h> -#include <time.h> - -int -main () -{ -if ((struct tm *) 0) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:11837: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:11840: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:11843: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11846: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_header_time=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_header_time=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:11856: result: $ac_cv_header_time" >&5 -echo "${ECHO_T}$ac_cv_header_time" >&6 -if test $ac_cv_header_time = yes; then - -cat >>confdefs.h <<\EOF -#define TIME_WITH_SYS_TIME 1 -EOF - -fi - -# mprintf() checks: - -# check for 'long double' -# AC_CHECK_SIZEOF(long double, 8) -# check for 'long long' -# AC_CHECK_SIZEOF(long long, 4) - -# check for ssize_t -echo "$as_me:11874: checking for ssize_t" >&5 -echo $ECHO_N "checking for ssize_t... $ECHO_C" >&6 -if test "${ac_cv_type_ssize_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11880 "configure" -#include "confdefs.h" -$ac_includes_default -int -main () -{ -if ((ssize_t *) 0) - return 0; -if (sizeof (ssize_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:11895: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:11898: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:11901: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11904: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_ssize_t=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_ssize_t=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:11914: result: $ac_cv_type_ssize_t" >&5 -echo "${ECHO_T}$ac_cv_type_ssize_t" >&6 -if test $ac_cv_type_ssize_t = yes; then - : -else - -cat >>confdefs.h <<EOF -#define ssize_t int -EOF - -fi - - echo "$as_me:11926: checking for socklen_t" >&5 -echo $ECHO_N "checking for socklen_t... $ECHO_C" >&6 -if test "${ac_cv_type_socklen_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11932 "configure" -#include "confdefs.h" -#include <sys/types.h> -#include <sys/socket.h> - -int -main () -{ -if ((socklen_t *) 0) - return 0; -if (sizeof (socklen_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:11949: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:11952: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:11955: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11958: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_socklen_t=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_socklen_t=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:11968: result: $ac_cv_type_socklen_t" >&5 -echo "${ECHO_T}$ac_cv_type_socklen_t" >&6 -if test $ac_cv_type_socklen_t = yes; then - : -else - - echo "$as_me:11974: checking for socklen_t equivalent" >&5 -echo $ECHO_N "checking for socklen_t equivalent... $ECHO_C" >&6 - if test "${curl_cv_socklen_t_equiv+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - # Systems have either "struct sockaddr *" or - # "void *" as the second argument to getpeername - curl_cv_socklen_t_equiv= - for arg2 in "struct sockaddr" void; do - for t in int size_t unsigned long "unsigned long"; do - cat >conftest.$ac_ext <<_ACEOF -#line 11986 "configure" -#include "confdefs.h" - - #include <sys/types.h> - #include <sys/socket.h> - - int getpeername (int, $arg2 *, $t *); - -int -main () -{ - - $t len; - getpeername(0,0,&len); - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:12006: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:12009: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:12012: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12015: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - - curl_cv_socklen_t_equiv="$t" - break - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext - done - done - - if test "x$curl_cv_socklen_t_equiv" = x; then - { { echo "$as_me:12030: error: Cannot find a type to use in place of socklen_t" >&5 -echo "$as_me: error: Cannot find a type to use in place of socklen_t" >&2;} - { (exit 1); exit 1; }; } - fi - -fi - - echo "$as_me:12037: result: $curl_cv_socklen_t_equiv" >&5 -echo "${ECHO_T}$curl_cv_socklen_t_equiv" >&6 - -cat >>confdefs.h <<EOF -#define socklen_t $curl_cv_socklen_t_equiv -EOF - -fi - - echo "$as_me:12046: checking for in_addr_t" >&5 -echo $ECHO_N "checking for in_addr_t... $ECHO_C" >&6 -if test "${ac_cv_type_in_addr_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 12052 "configure" -#include "confdefs.h" -#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; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:12070: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:12073: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:12076: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12079: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_in_addr_t=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_in_addr_t=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:12089: result: $ac_cv_type_in_addr_t" >&5 -echo "${ECHO_T}$ac_cv_type_in_addr_t" >&6 -if test $ac_cv_type_in_addr_t = yes; then - : -else - - echo "$as_me:12095: checking for in_addr_t equivalent" >&5 -echo $ECHO_N "checking for in_addr_t equivalent... $ECHO_C" >&6 - if test "${curl_cv_in_addr_t_equiv+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - # Systems have either "struct sockaddr *" or - # "void *" as the second argument to getpeername - curl_cv_in_addr_t_equiv= - for t in int size_t unsigned long "unsigned long"; do - cat >conftest.$ac_ext <<_ACEOF -#line 12106 "configure" -#include "confdefs.h" - - #include <sys/types.h> - #include <sys/socket.h> - #include <arpa/inet.h> - -int -main () -{ - - $t data = inet_addr ("1.2.3.4"); - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:12124: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:12127: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:12130: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12133: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - - curl_cv_in_addr_t_equiv="$t" - break - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext - done - - if test "x$curl_cv_in_addr_t_equiv" = x; then - { { echo "$as_me:12147: error: Cannot find a type to use in place of in_addr_t" >&5 -echo "$as_me: error: Cannot find a type to use in place of in_addr_t" >&2;} - { (exit 1); exit 1; }; } - fi - -fi - - echo "$as_me:12154: result: $curl_cv_in_addr_t_equiv" >&5 -echo "${ECHO_T}$curl_cv_in_addr_t_equiv" >&6 - -cat >>confdefs.h <<EOF -#define in_addr_t $curl_cv_in_addr_t_equiv -EOF - -fi - -echo "$as_me:12163: checking return type of signal handlers" >&5 -echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6 -if test "${ac_cv_type_signal+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 12169 "configure" -#include "confdefs.h" -#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 () -{ -int i; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:12191: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:12194: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:12197: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12200: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_signal=void -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_signal=int -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:12210: result: $ac_cv_type_signal" >&5 -echo "${ECHO_T}$ac_cv_type_signal" >&6 - -cat >>confdefs.h <<EOF -#define RETSIGTYPE $ac_cv_type_signal -EOF - -for ac_func in socket \ - select \ - strdup \ - strstr \ - strtok_r \ - strftime \ - uname \ - strcasecmp \ - stricmp \ - strcmpi \ - gethostname \ - gethostbyaddr \ - gettimeofday \ - inet_addr \ - inet_ntoa \ - tcsetattr \ - tcgetattr \ - perror \ - closesocket \ - setvbuf \ - sigaction \ - signal \ - getpass_r \ - strlcat \ - getpwuid \ - geteuid \ - dlopen \ - utime - -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:12248: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 12254 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:12285: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:12288: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:12291: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12294: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:12304: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -EOF - -fi -done - -if test "$ac_cv_func_select" != "yes"; then - { { echo "$as_me:12315: error: Can't work without an existing select() function" >&5 -echo "$as_me: error: Can't work without an existing select() function" >&2;} - { (exit 1); exit 1; }; } -fi -if test "$ac_cv_func_socket" != "yes"; then - { { echo "$as_me:12320: error: Can't work without an existing socket() function" >&5 -echo "$as_me: error: Can't work without an existing socket() function" >&2;} - { (exit 1); exit 1; }; } -fi - -# Extract the first word of "perl", so it can be a program name with args. -set dummy perl; ac_word=$2 -echo "$as_me:12327: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PERL+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $PERL in - [\\/]* | ?:[\\/]*) - ac_cv_path_PERL="$PERL" # Let the user override the test with a path. - ;; - *) - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH:/usr/local/bin/perl:/usr/bin/:/usr/local/bin " -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - if $as_executable_p "$ac_dir/$ac_word"; then - ac_cv_path_PERL="$ac_dir/$ac_word" - echo "$as_me:12344: found $ac_dir/$ac_word" >&5 - break -fi -done - - ;; -esac -fi -PERL=$ac_cv_path_PERL - -if test -n "$PERL"; then - echo "$as_me:12355: result: $PERL" >&5 -echo "${ECHO_T}$PERL" >&6 -else - echo "$as_me:12358: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -for ac_prog in gnroff nroff -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:12366: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_NROFF+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $NROFF in - [\\/]* | ?:[\\/]*) - ac_cv_path_NROFF="$NROFF" # Let the user override the test with a path. - ;; - *) - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH:/usr/bin/:/usr/local/bin " -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - if $as_executable_p "$ac_dir/$ac_word"; then - ac_cv_path_NROFF="$ac_dir/$ac_word" - echo "$as_me:12383: found $ac_dir/$ac_word" >&5 - break -fi -done - - ;; -esac -fi -NROFF=$ac_cv_path_NROFF - -if test -n "$NROFF"; then - echo "$as_me:12394: result: $NROFF" >&5 -echo "${ECHO_T}$NROFF" >&6 -else - echo "$as_me:12397: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$NROFF" && break -done - -for ac_prog in 'bison -y' byacc -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:12408: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_YACC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$YACC"; then - ac_cv_prog_YACC="$YACC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_YACC="$ac_prog" -echo "$as_me:12423: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -YACC=$ac_cv_prog_YACC -if test -n "$YACC"; then - echo "$as_me:12431: result: $YACC" >&5 -echo "${ECHO_T}$YACC" >&6 -else - echo "$as_me:12434: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$YACC" && break -done -test -n "$YACC" || YACC="yacc" - -ac_config_files="$ac_config_files Makefile docs/Makefile docs/examples/Makefile docs/libcurl/Makefile include/Makefile include/curl/Makefile src/Makefile lib/Makefile tests/Makefile tests/data/Makefile tests/server/Makefile packages/Makefile packages/Win32/Makefile packages/Win32/cygwin/Makefile packages/Linux/Makefile packages/Linux/RPM/Makefile packages/Linux/RPM/curl.spec packages/Linux/RPM/curl-ssl.spec packages/Solaris/Makefile packages/EPM/curl.list packages/EPM/Makefile curl-config" - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overriden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -{ - (set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" - ;; - esac; -} | - sed ' - t clear - : clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - : end' >>confcache -if cmp -s $cache_file confcache; then :; else - if test -w $cache_file; then - test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" - cat confcache >$cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/; -s/:*\${srcdir}:*/:/; -s/:*@srcdir@:*/:/; -s/^\([^=]*=[ ]*\):*/\1/; -s/:*$//; -s/^[^=]*=[ ]*$//; -}' -fi - -DEFS=-DHAVE_CONFIG_H - -: ${CONFIG_STATUS=./config.status} -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ echo "$as_me:12523: creating $CONFIG_STATUS" >&5 -echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF -#! $SHELL -# Generated automatically by configure. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -SHELL=\${CONFIG_SHELL-$SHELL} -ac_cs_invocation="\$0 \$@" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix -fi - -# Name of the executable. -as_me=`echo "$0" |sed 's,.*[\\/],,'` - -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else - as_ln_s='ln -s' - fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.file - -as_executable_p="test -f" - -# Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - -# NLS nuisances. -$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; } -$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; } -$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; } -$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; } -$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; } -$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; } -$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; } -$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; } - -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; } - -exec 6>&1 - -_ACEOF - -# Files that config.status was made for. -if test -n "$ac_config_files"; then - echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_headers"; then - echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_links"; then - echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_commands"; then - echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS -fi - -cat >>$CONFIG_STATUS <<\EOF - -ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. - -Usage: $0 [OPTIONS] [FILE]... - - -h, --help print this help, then exit - -V, --version print version number, then exit - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to <bug-autoconf@gnu.org>." -EOF - -cat >>$CONFIG_STATUS <<EOF -ac_cs_version="\\ -config.status -configured by $0, generated by GNU Autoconf 2.52, - with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" - -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." -srcdir=$srcdir -INSTALL="$INSTALL" -EOF - -cat >>$CONFIG_STATUS <<\EOF -# If no file are specified by the user, then we need to provide default -# value. By we need to know if files were specified by the user. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=*) - ac_option=`expr "x$1" : 'x\([^=]*\)='` - ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` - shift - set dummy "$ac_option" "$ac_optarg" ${1+"$@"} - shift - ;; - -*);; - *) # This is not an option, so the user has probably given explicit - # arguments. - ac_need_defaults=false;; - esac - - case $1 in - # Handling of the options. -EOF -cat >>$CONFIG_STATUS <<EOF - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion" - exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;; -EOF -cat >>$CONFIG_STATUS <<\EOF - --version | --vers* | -V ) - echo "$ac_cs_version"; exit 0 ;; - --he | --h) - # Conflict between --help and --header - { { echo "$as_me:12699: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; };; - --help | --hel | -h ) - echo "$ac_cs_usage"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - shift - CONFIG_FILES="$CONFIG_FILES $1" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - shift - CONFIG_HEADERS="$CONFIG_HEADERS $1" - ac_need_defaults=false;; - - # This is an error. - -*) { { echo "$as_me:12718: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; } ;; - - *) ac_config_targets="$ac_config_targets $1" ;; - - esac - shift -done - -exec 5>>config.log -cat >&5 << _ACEOF - -## ----------------------- ## -## Running config.status. ## -## ----------------------- ## - -This file was extended by $as_me 2.52, executed with - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - > $ac_cs_invocation -on `(hostname || uname -n) 2>/dev/null | sed 1q` - -_ACEOF -EOF - -cat >>$CONFIG_STATUS <<EOF -# -# INIT-COMMANDS section. -# - -AMDEP_TRUE="$AMDEP_TRUE" -ac_aux_dir="$ac_aux_dir" - -EOF - -cat >>$CONFIG_STATUS <<\EOF -for ac_config_target in $ac_config_targets -do - case "$ac_config_target" in - # Handling of arguments. - "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "docs/Makefile" ) CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;; - "docs/examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES docs/examples/Makefile" ;; - "docs/libcurl/Makefile" ) CONFIG_FILES="$CONFIG_FILES docs/libcurl/Makefile" ;; - "include/Makefile" ) CONFIG_FILES="$CONFIG_FILES include/Makefile" ;; - "include/curl/Makefile" ) CONFIG_FILES="$CONFIG_FILES include/curl/Makefile" ;; - "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; - "lib/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;; - "tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; - "tests/data/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/data/Makefile" ;; - "tests/server/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/server/Makefile" ;; - "packages/Makefile" ) CONFIG_FILES="$CONFIG_FILES packages/Makefile" ;; - "packages/Win32/Makefile" ) CONFIG_FILES="$CONFIG_FILES packages/Win32/Makefile" ;; - "packages/Win32/cygwin/Makefile" ) CONFIG_FILES="$CONFIG_FILES packages/Win32/cygwin/Makefile" ;; - "packages/Linux/Makefile" ) CONFIG_FILES="$CONFIG_FILES packages/Linux/Makefile" ;; - "packages/Linux/RPM/Makefile" ) CONFIG_FILES="$CONFIG_FILES packages/Linux/RPM/Makefile" ;; - "packages/Linux/RPM/curl.spec" ) CONFIG_FILES="$CONFIG_FILES packages/Linux/RPM/curl.spec" ;; - "packages/Linux/RPM/curl-ssl.spec" ) CONFIG_FILES="$CONFIG_FILES packages/Linux/RPM/curl-ssl.spec" ;; - "packages/Solaris/Makefile" ) CONFIG_FILES="$CONFIG_FILES packages/Solaris/Makefile" ;; - "packages/EPM/curl.list" ) CONFIG_FILES="$CONFIG_FILES packages/EPM/curl.list" ;; - "packages/EPM/Makefile" ) CONFIG_FILES="$CONFIG_FILES packages/EPM/Makefile" ;; - "curl-config" ) CONFIG_FILES="$CONFIG_FILES curl-config" ;; - "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; - "lib/config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS lib/config.h" ;; - "src/config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS src/config.h" ;; - "tests/server/config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS tests/server/config.h" ;; - *) { { echo "$as_me:12789: error: invalid argument: $ac_config_target" >&5 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; - esac -done - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Create a temporary directory, and hook for its removal unless debugging. -$debug || -{ - trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 -} - -# Create a (secure) tmp directory for tmp files. -: ${TMPDIR=/tmp} -{ - tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=$TMPDIR/cs$$-$RANDOM - (umask 077 && mkdir $tmp) -} || -{ - echo "$me: cannot create a temporary directory in $TMPDIR" >&2 - { (exit 1); exit 1; } -} - -EOF - -cat >>$CONFIG_STATUS <<EOF - -# -# CONFIG_FILES section. -# - -# No need to generate the scripts if there are no CONFIG_FILES. -# This happens for instance when ./config.status config.h -if test -n "\$CONFIG_FILES"; then - # Protect against being on the right side of a sed subst in config.status. - sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; - s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF -s,@SHELL@,$SHELL,;t t -s,@exec_prefix@,$exec_prefix,;t t -s,@prefix@,$prefix,;t t -s,@program_transform_name@,$program_transform_name,;t t -s,@bindir@,$bindir,;t t -s,@sbindir@,$sbindir,;t t -s,@libexecdir@,$libexecdir,;t t -s,@datadir@,$datadir,;t t -s,@sysconfdir@,$sysconfdir,;t t -s,@sharedstatedir@,$sharedstatedir,;t t -s,@localstatedir@,$localstatedir,;t t -s,@libdir@,$libdir,;t t -s,@includedir@,$includedir,;t t -s,@oldincludedir@,$oldincludedir,;t t -s,@infodir@,$infodir,;t t -s,@mandir@,$mandir,;t t -s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t -s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t -s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t -s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t -s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t -s,@build_alias@,$build_alias,;t t -s,@host_alias@,$host_alias,;t t -s,@target_alias@,$target_alias,;t t -s,@ECHO_C@,$ECHO_C,;t t -s,@ECHO_N@,$ECHO_N,;t t -s,@ECHO_T@,$ECHO_T,;t t -s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t -s,@DEFS@,$DEFS,;t t -s,@LIBS@,$LIBS,;t t -s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t -s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t -s,@INSTALL_DATA@,$INSTALL_DATA,;t t -s,@PACKAGE@,$PACKAGE,;t t -s,@VERSION@,$VERSION,;t t -s,@EXEEXT@,$EXEEXT,;t t -s,@OBJEXT@,$OBJEXT,;t t -s,@ACLOCAL@,$ACLOCAL,;t t -s,@AUTOCONF@,$AUTOCONF,;t t -s,@AUTOMAKE@,$AUTOMAKE,;t t -s,@AUTOHEADER@,$AUTOHEADER,;t t -s,@MAKEINFO@,$MAKEINFO,;t t -s,@AMTAR@,$AMTAR,;t t -s,@install_sh@,$install_sh,;t t -s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t -s,@AWK@,$AWK,;t t -s,@SET_MAKE@,$SET_MAKE,;t t -s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t -s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t -s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t -s,@DEPDIR@,$DEPDIR,;t t -s,@VERSIONNUM@,$VERSIONNUM,;t t -s,@PKGADD_PKG@,$PKGADD_PKG,;t t -s,@PKGADD_NAME@,$PKGADD_NAME,;t t -s,@PKGADD_VENDOR@,$PKGADD_VENDOR,;t t -s,@build@,$build,;t t -s,@build_cpu@,$build_cpu,;t t -s,@build_vendor@,$build_vendor,;t t -s,@build_os@,$build_os,;t t -s,@host@,$host,;t t -s,@host_cpu@,$host_cpu,;t t -s,@host_vendor@,$host_vendor,;t t -s,@host_os@,$host_os,;t t -s,@CC@,$CC,;t t -s,@CFLAGS@,$CFLAGS,;t t -s,@LDFLAGS@,$LDFLAGS,;t t -s,@CPPFLAGS@,$CPPFLAGS,;t t -s,@ac_ct_CC@,$ac_ct_CC,;t t -s,@am__include@,$am__include,;t t -s,@am__quote@,$am__quote,;t t -s,@CCDEPMODE@,$CCDEPMODE,;t t -s,@CPP@,$CPP,;t t -s,@LN_S@,$LN_S,;t t -s,@ECHO@,$ECHO,;t t -s,@RANLIB@,$RANLIB,;t t -s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t -s,@STRIP@,$STRIP,;t t -s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t -s,@DLLTOOL@,$DLLTOOL,;t t -s,@ac_ct_DLLTOOL@,$ac_ct_DLLTOOL,;t t -s,@AS@,$AS,;t t -s,@ac_ct_AS@,$ac_ct_AS,;t t -s,@OBJDUMP@,$OBJDUMP,;t t -s,@ac_ct_OBJDUMP@,$ac_ct_OBJDUMP,;t t -s,@LIBTOOL@,$LIBTOOL,;t t -s,@IPV6_ENABLED@,$IPV6_ENABLED,;t t -s,@RANDOM_FILE@,$RANDOM_FILE,;t t -s,@KRB4_ENABLED@,$KRB4_ENABLED,;t t -s,@OPENSSL_ENABLED@,$OPENSSL_ENABLED,;t t -s,@PERL@,$PERL,;t t -s,@NROFF@,$NROFF,;t t -s,@YACC@,$YACC,;t t -CEOF - -EOF - - cat >>$CONFIG_STATUS <<\EOF - # Split the substitutions into bite-sized pieces for seds with - # small command number limits, like on Digital OSF/1 and HP-UX. - ac_max_sed_lines=48 - ac_sed_frag=1 # Number of current file. - ac_beg=1 # First line for current file. - ac_end=$ac_max_sed_lines # Line after last line for current file. - ac_more_lines=: - ac_sed_cmds= - while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - else - sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - fi - if test ! -s $tmp/subs.frag; then - ac_more_lines=false - else - # The purpose of the label and of the branching condition is to - # speed up the sed processing (if there are no `@' at all, there - # is no need to browse any of the substitutions). - # These are the two extra sed commands mentioned above. - (echo ':t - /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" - else - ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" - fi - ac_sed_frag=`expr $ac_sed_frag + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_lines` - fi - done - if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat - fi -fi # test -n "$CONFIG_FILES" - -EOF -cat >>$CONFIG_STATUS <<\EOF -for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; - esac - - # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. - ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - { case "$ac_dir" in - [\\/]* | ?:[\\/]* ) as_incr_dir=;; - *) as_incr_dir=.;; -esac -as_dummy="$ac_dir" -for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do - case $as_mkdir_dir in - # Skip DOS drivespec - ?:) as_incr_dir=$as_mkdir_dir ;; - *) - as_incr_dir=$as_incr_dir/$as_mkdir_dir - test -d "$as_incr_dir" || mkdir "$as_incr_dir" - ;; - esac -done; } - - ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'` - else - ac_dir_suffix= ac_dots= - fi - - case $srcdir in - .) ac_srcdir=. - if test -z "$ac_dots"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_dots$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_dots$srcdir ;; - esac - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_dots$INSTALL ;; - esac - - if test x"$ac_file" != x-; then - { echo "$as_me:13047: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - rm -f "$ac_file" - fi - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated automatically by config.status. */ - configure_input="Generated automatically from `echo $ac_file_in | - sed 's,.*/,,'` by configure." - - # First look for the input files in the build tree, otherwise in the - # src tree. - ac_file_inputs=`IFS=: - for f in $ac_file_in; do - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:13065: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - echo $f;; - *) # Relative - if test -f "$f"; then - # Build tree - echo $f - elif test -f "$srcdir/$f"; then - # Source tree - echo $srcdir/$f - else - # /dev/null tree - { { echo "$as_me:13078: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - done` || { (exit 1); exit 1; } -EOF -cat >>$CONFIG_STATUS <<EOF - sed "$ac_vpsub -$extrasub -EOF -cat >>$CONFIG_STATUS <<\EOF -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s,@configure_input@,$configure_input,;t t -s,@srcdir@,$ac_srcdir,;t t -s,@top_srcdir@,$ac_top_srcdir,;t t -s,@INSTALL@,$ac_INSTALL,;t t -" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out - rm -f $tmp/stdin - if test x"$ac_file" != x-; then - mv $tmp/out $ac_file - else - cat $tmp/out - rm -f $tmp/out - fi - -done -EOF -cat >>$CONFIG_STATUS <<\EOF - -# -# CONFIG_HEADER section. -# - -# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where -# NAME is the cpp macro being defined and VALUE is the value it is being given. -# -# ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='[ ].*$,\1#\2' -ac_dC=' ' -ac_dD=',;t' -# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_uB='$,\1#\2define\3' -ac_uC=' ' -ac_uD=',;t' - -for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; - esac - - test x"$ac_file" != x- && { echo "$as_me:13139: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - - # First look for the input files in the build tree, otherwise in the - # src tree. - ac_file_inputs=`IFS=: - for f in $ac_file_in; do - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:13150: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - echo $f;; - *) # Relative - if test -f "$f"; then - # Build tree - echo $f - elif test -f "$srcdir/$f"; then - # Source tree - echo $srcdir/$f - else - # /dev/null tree - { { echo "$as_me:13163: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - done` || { (exit 1); exit 1; } - # Remove the trailing spaces. - sed 's/[ ]*$//' $ac_file_inputs >$tmp/in - -EOF - -# Transform confdefs.h into two sed scripts, `conftest.defines' and -# `conftest.undefs', that substitutes the proper values into -# config.h.in to produce config.h. The first handles `#define' -# templates, and the second `#undef' templates. -# And first: Protect against being on the right side of a sed subst in -# config.status. Protect against being in an unquoted here document -# in config.status. -rm -f conftest.defines conftest.undefs -# Using a here document instead of a string reduces the quoting nightmare. -# Putting comments in sed scripts is not portable. -# -# `end' is used to avoid that the second main sed command (meant for -# 0-ary CPP macros) applies to n-ary macro definitions. -# See the Autoconf documentation for `clear'. -cat >confdef2sed.sed <<\EOF -s/[\\&,]/\\&/g -s,[\\$`],\\&,g -t clear -: clear -s,^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$,${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD},gp -t end -s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp -: end -EOF -# If some macros were called several times there might be several times -# the same #defines, which is useless. Nevertheless, we may not want to -# sort them, since we want the *last* AC-DEFINE to be honored. -uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines -sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs -rm -f confdef2sed.sed - -# This sed command replaces #undef with comments. This is necessary, for -# example, in the case of _POSIX_SOURCE, which is predefined and required -# on some systems where configure will not decide to define it. -cat >>conftest.undefs <<\EOF -s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, -EOF - -# Break up conftest.defines because some shells have a limit on the size -# of here documents, and old seds have small limits too (100 cmds). -echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS -echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS -echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS -echo ' :' >>$CONFIG_STATUS -rm -f conftest.tail -while grep . conftest.defines >/dev/null -do - # Write a limited-size here document to $tmp/defines.sed. - echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS - # Speed up: don't consider the non `#define' lines. - echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS - # Work around the forget-to-reset-the-flag bug. - echo 't clr' >>$CONFIG_STATUS - echo ': clr' >>$CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS - echo 'CEOF - sed -f $tmp/defines.sed $tmp/in >$tmp/out - rm -f $tmp/in - mv $tmp/out $tmp/in -' >>$CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail - rm -f conftest.defines - mv conftest.tail conftest.defines -done -rm -f conftest.defines -echo ' fi # egrep' >>$CONFIG_STATUS -echo >>$CONFIG_STATUS - -# Break up conftest.undefs because some shells have a limit on the size -# of here documents, and old seds have small limits too (100 cmds). -echo ' # Handle all the #undef templates' >>$CONFIG_STATUS -rm -f conftest.tail -while grep . conftest.undefs >/dev/null -do - # Write a limited-size here document to $tmp/undefs.sed. - echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS - # Speed up: don't consider the non `#undef' - echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS - # Work around the forget-to-reset-the-flag bug. - echo 't clr' >>$CONFIG_STATUS - echo ': clr' >>$CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS - echo 'CEOF - sed -f $tmp/undefs.sed $tmp/in >$tmp/out - rm -f $tmp/in - mv $tmp/out $tmp/in -' >>$CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail - rm -f conftest.undefs - mv conftest.tail conftest.undefs -done -rm -f conftest.undefs - -cat >>$CONFIG_STATUS <<\EOF - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated automatically by config.status. */ - if test x"$ac_file" = x-; then - echo "/* Generated automatically by configure. */" >$tmp/config.h - else - echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h - fi - cat $tmp/in >>$tmp/config.h - rm -f $tmp/in - if test x"$ac_file" != x-; then - if cmp -s $ac_file $tmp/config.h 2>/dev/null; then - { echo "$as_me:13280: $ac_file is unchanged" >&5 -echo "$as_me: $ac_file is unchanged" >&6;} - else - ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - { case "$ac_dir" in - [\\/]* | ?:[\\/]* ) as_incr_dir=;; - *) as_incr_dir=.;; -esac -as_dummy="$ac_dir" -for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do - case $as_mkdir_dir in - # Skip DOS drivespec - ?:) as_incr_dir=$as_mkdir_dir ;; - *) - as_incr_dir=$as_incr_dir/$as_mkdir_dir - test -d "$as_incr_dir" || mkdir "$as_incr_dir" - ;; - esac -done; } - - fi - rm -f $ac_file - mv $tmp/config.h $ac_file - fi - else - cat $tmp/config.h - rm -f $tmp/config.h - fi - # Run the commands associated with the file. - case $ac_file in - lib/config.h ) # update the timestamp -echo timestamp >"lib/stamp-h1" - ;; - src/config.h ) # update the timestamp -echo timestamp >"src/stamp-h2" - ;; - tests/server/config.h ) # update the timestamp -echo timestamp >"tests/server/stamp-h3" - ;; - esac -done -EOF -cat >>$CONFIG_STATUS <<\EOF - -# -# CONFIG_COMMANDS section. -# -for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue - ac_dest=`echo "$ac_file" | sed 's,:.*,,'` - ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` - - case $ac_dest in - default-1 ) -test x"$AMDEP_TRUE" != x"" || -for mf in $CONFIG_FILES; do - case "$mf" in - Makefile) dirpart=.;; - */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;; - *) continue;; - esac - grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue - # Extract the definition of DEP_FILES from the Makefile without - # running `make'. - DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` - test -z "$DEPDIR" && continue - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n -e '/^U = / s///p' < "$mf"` - test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" - # 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 -e ' - /^DEP_FILES = .*\\\\$/ { - s/^DEP_FILES = // - :loop - s/\\\\$// - p - n - /\\\\$/ b loop - p - } - /^DEP_FILES = / s/^DEP_FILES = //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=`echo "$file" | sed -e 's|/[^/]*$||'` - $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1 - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done -done - ;; - esac -done -EOF - -cat >>$CONFIG_STATUS <<\EOF - -{ (exit 0); exit 0; } -EOF -chmod +x $CONFIG_STATUS -ac_clean_files=$ac_clean_files_save - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - exec 5>/dev/null - $SHELL $CONFIG_STATUS || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || { (exit 1); exit 1; } -fi - diff --git a/Build/source/libs/curl/configure.in b/Build/source/libs/curl/configure.in deleted file mode 100644 index dc31cd853bf..00000000000 --- a/Build/source/libs/curl/configure.in +++ /dev/null @@ -1,618 +0,0 @@ -dnl $Id: configure.in,v 1.97 2002/03/04 10:28:02 bagder Exp $ -dnl Process this file with autoconf to produce a configure script. - -dnl Ensure that this file is processed with autoconf 2.50 or newer -dnl Don't even think about removing this check! -AC_PREREQ(2.50) - -dnl First some basic init macros -AC_INIT -AC_CONFIG_SRCDIR([lib/urldata.h]) -AM_CONFIG_HEADER(lib/config.h src/config.h tests/server/config.h) - -dnl figure out the libcurl version -VERSION=`sed -ne 's/^#define LIBCURL_VERSION "\(.*\)"/\1/p' ${srcdir}/include/curl/curl.h` -AM_INIT_AUTOMAKE(curl,$VERSION) - -dnl -dnl we extract the numerical version for curl-config only -VERSIONNUM=`sed -ne 's/^#define LIBCURL_VERSION_NUM 0x\(.*\)/\1/p' ${srcdir}/include/curl/curl.h` -AC_SUBST(VERSIONNUM) - -dnl Solaris pkgadd support definitions -PKGADD_PKG="HAXXcurl" -PKGADD_NAME="cURL - a client that groks URLs" -PKGADD_VENDOR="curl.haxx.se" -AC_SUBST(PKGADD_PKG) -AC_SUBST(PKGADD_NAME) -AC_SUBST(PKGADD_VENDOR) - - -dnl -dnl Detect the canonical host and target build environment -dnl - -AC_CANONICAL_HOST -dnl Get system canonical name -AC_DEFINE_UNQUOTED(OS, "${host}") - -dnl Check for AIX weirdos -AC_AIX - -dnl Checks for programs. -AC_PROG_CC - -dnl check for how to do large files -AC_SYS_LARGEFILE - -dnl check for cygwin stuff -AC_LIBTOOL_WIN32_DLL - -dnl libtool setup -AM_PROG_LIBTOOL - -dnl The install stuff has already been taken care of by the automake stuff -dnl AC_PROG_INSTALL -AC_PROG_MAKE_SET - -dnl ************************************************************ -dnl lame option to switch on debug options -dnl -AC_MSG_CHECKING([whether to enable debug options]) -AC_ARG_ENABLE(debug, -[ --enable-debug Enable pedantic debug options - --disable-debug Disable debug options], -[ case "$enableval" in - no) - AC_MSG_RESULT(no) - ;; - *) AC_MSG_RESULT(yes) - - CPPFLAGS="$CPPFLAGS -DMALLOCDEBUG" - CFLAGS="-W -Wall -Wwrite-strings -pedantic -Wundef -Wpointer-arith -Wcast-align -Wnested-externs -g" - ;; - esac ], - AC_MSG_RESULT(no) -) - -dnl ********************************************************************** -dnl Checks for IPv6 -dnl ********************************************************************** - -AC_MSG_CHECKING([whether to enable ipv6]) -AC_ARG_ENABLE(ipv6, -[ --enable-ipv6 Enable ipv6 (with ipv4) support - --disable-ipv6 Disable ipv6 support], -[ case "$enableval" in - no) - AC_MSG_RESULT(no) - ipv6=no - ;; - *) AC_MSG_RESULT(yes) - ipv6=yes - ;; - esac ], - - AC_TRY_RUN([ /* is AF_INET6 available? */ -#include <sys/types.h> -#include <sys/socket.h> -main() -{ - if (socket(AF_INET6, SOCK_STREAM, 0) < 0) - exit(1); - else - exit(0); -} -], - AC_MSG_RESULT(yes) - ipv6=yes, - AC_MSG_RESULT(no) - ipv6=no, - AC_MSG_RESULT(no) - ipv6=no -)) - -if test "$ipv6" = "yes"; then - CURL_CHECK_WORKING_GETADDRINFO -fi - - -dnl ********************************************************************** -dnl Checks for libraries. -dnl ********************************************************************** - -dnl gethostbyname in the nsl lib? -AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, gethostbyname)) - -if test "$ac_cv_lib_nsl_gethostbyname" != "yes" -a "$ac_cv_func_gethostbyname" != "yes"; then - dnl gethostbyname in the socket lib? - AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(socket, gethostbyname)) -fi - -dnl At least one system has been identified to require BOTH nsl and -dnl socket libs to link properly. -if test "$ac_cv_lib_nsl_gethostbyname" = "$ac_cv_func_gethostbyname"; then - AC_MSG_CHECKING([trying both nsl and socket libs]) - my_ac_save_LIBS=$LIBS - LIBS="-lnsl -lsocket $LIBS" - AC_TRY_LINK( , - [gethostbyname();], - my_ac_link_result=success, - my_ac_link_result=failure ) - - if test "$my_ac_link_result" = "failure"; then - AC_MSG_RESULT([no]) - AC_MSG_ERROR([couldn't find libraries for gethostbyname()]) - dnl restore LIBS - LIBS=$my_ac_save_LIBS - else - AC_MSG_RESULT([yes]) - fi -fi - -dnl resolve lib? -AC_CHECK_FUNC(strcasecmp, , AC_CHECK_LIB(resolve, strcasecmp)) - -if test "$ac_cv_lib_resolve_strcasecmp" = "$ac_cv_func_strcasecmp"; then - AC_CHECK_LIB(resolve, strcasecmp, - [LIBS="-lresolve $LIBS"], - , - -lnsl) -fi - -dnl socket lib? -AC_CHECK_FUNC(connect, , AC_CHECK_LIB(socket, connect)) - -dnl ucb lib? -AC_CHECK_FUNC(gethostname, , AC_CHECK_LIB(ucb, gethostname)) - -dnl dl lib? -AC_CHECK_FUNC(dlclose, , AC_CHECK_LIB(dl, dlopen)) - -dnl ********************************************************************** -dnl Check how non-blocking sockets are set -dnl ********************************************************************** -AC_ARG_ENABLE(nonblocking, -[ --enable-nonblocking Makes the script detect how to do it - --disable-nonblocking Makes the script disable non-blocking sockets], -[ - if test "$enableval" = "no" ; then - AC_MSG_WARN([non-blocking sockets disabled]) - AC_DEFINE(HAVE_DISABLED_NONBLOCKING) - else - CURL_CHECK_NONBLOCKING_SOCKET - fi -], -[ - CURL_CHECK_NONBLOCKING_SOCKET -]) - -dnl ********************************************************************** -dnl Check for the random seed preferences -dnl ********************************************************************** - -AC_ARG_WITH(egd-socket, - [ --with-egd-socket=FILE Entropy Gathering Daemon socket pathname], - [ EGD_SOCKET="$withval" ] -) -if test -n "$EGD_SOCKET" ; then - AC_DEFINE_UNQUOTED(EGD_SOCKET, "$EGD_SOCKET") -fi - -dnl Check for user-specified random device -AC_ARG_WITH(random, - [ --with-random=FILE read randomness from FILE (default=/dev/urandom)], - [ RANDOM_FILE="$withval" ], - [ - dnl Check for random device - AC_CHECK_FILE("/dev/urandom", - [ - RANDOM_FILE="/dev/urandom"; - ] - ) - ] -) -if test -n "$RANDOM_FILE" ; then - AC_SUBST(RANDOM_FILE) - AC_DEFINE_UNQUOTED(RANDOM_FILE, "$RANDOM_FILE") -fi - -dnl ********************************************************************** -dnl Check for the presence of Kerberos4 libraries and headers -dnl ********************************************************************** - -AC_ARG_WITH(krb4-includes, - [ --with-krb4-includes[=DIR] Specify location of kerberos4 headers],[ - CPPFLAGS="$CPPFLAGS -I$withval" - KRB4INC="$withval" - want_krb4=yes - ]) - -AC_ARG_WITH(krb4-libs, - [ --with-krb4-libs[=DIR] Specify location of kerberos4 libs],[ - LDFLAGS="$LDFLAGS -L$withval" - KRB4LIB="$withval" - want_krb4=yes - ]) - - -OPT_KRB4=off -AC_ARG_WITH(krb4,dnl -[ --with-krb4[=DIR] where to look for Kerberos4],[ - OPT_KRB4="$withval" - if test X"$OPT_KRB4" != Xyes - then - LDFLAGS="$LDFLAGS -L$OPT_KRB4/lib" - KRB4LIB="$OPT_KRB4/lib" - CPPFLAGS="$CPPFLAGS -I$OPT_KRB4/include" - KRB4INC="$OPT_KRB4/include" - fi - want_krb4="yes" - ]) - -AC_MSG_CHECKING([if Kerberos4 support is requested]) - -if test "$want_krb4" = yes -then - if test "$ipv6" = "yes"; then - echo krb4 is not compatible with IPv6 - exit 1 - fi - AC_MSG_RESULT(yes) - - dnl Check for & handle argument to --with-krb4 - - AC_MSG_CHECKING(where to look for Kerberos4) - if test X"$OPT_KRB4" = Xyes - then - AC_MSG_RESULT([defaults]) - else - AC_MSG_RESULT([libs in $KRB4LIB, headers in $KRB4INC]) - fi - - dnl Check for DES library - AC_CHECK_LIB(des, des_pcbc_encrypt, - [ - AC_CHECK_HEADERS(des.h) - - dnl resolv lib? - AC_CHECK_FUNC(res_search, , AC_CHECK_LIB(resolv, res_search)) - - dnl Check for the Kerberos4 library - AC_CHECK_LIB(krb, krb_net_read, - [ - dnl Check for header files - AC_CHECK_HEADERS(krb.h) - - dnl we found the required libraries, add to LIBS - LIBS="-lkrb -ldes $LIBS" - - dnl Check for function krb_get_our_ip_for_realm - dnl this is needed for NAT networks - AC_CHECK_FUNCS(krb_get_our_ip_for_realm) - - dnl add define KRB4 - AC_DEFINE(KRB4) - - dnl substitute it too! - KRB4_ENABLED=1 - AC_SUBST(KRB4_ENABLED) - - dnl the krb4 stuff needs a strlcpy() - AC_CHECK_FUNCS(strlcpy) - - ]) - ]) -else - AC_MSG_RESULT(no) -fi - - -dnl ********************************************************************** -dnl Check for the presence of SSL libraries and headers -dnl ********************************************************************** - -dnl Default to compiler & linker defaults for SSL files & libraries. -OPT_SSL=off -AC_ARG_WITH(ssl,dnl -[ --with-ssl[=DIR] where to look for SSL [compiler/linker default paths] - DIR points to the SSL installation [/usr/local/ssl]], - OPT_SSL=$withval -) - -if test X"$OPT_SSL" = Xno -then - AC_MSG_WARN(SSL/https support disabled) -else - - dnl Check for and handle argument to --with-ssl. - - dnl save the pre-ssl check flags for a while - CLEANLDFLAGS="$LDFLAGS" - CLEANCPPFLAGS="$CPPFLAGS" - - case "$OPT_SSL" in - yes) - EXTRA_SSL=/usr/local/ssl ;; - off) - EXTRA_SSL= ;; - *) - dnl check the given spot right away! - EXTRA_SSL=$OPT_SSL - LDFLAGS="$LDFLAGS -L$EXTRA_SSL/lib" - CPPFLAGS="$CPPFLAGS -I$EXTRA_SSL/include/openssl -I$EXTRA_SSL/include" - ;; - esac - - AC_CHECK_LIB(crypto, CRYPTO_lock,[ - HAVECRYPTO="yes" - ],[ - OLDLDFLAGS="$LDFLAGS" - OLDCPPFLAGS="$CPPFLAGS" - LDFLAGS="$CLEANLDFLAGS -L$EXTRA_SSL/lib" - CPPFLAGS="$CLEANCPPFLAGS -I$EXTRA_SSL/include/openssl -I$EXTRA_SSL/include" - AC_CHECK_LIB(crypto, CRYPTO_add_lock,[ - HAVECRYPTO="yes" ], [ - LDFLAGS="$OLDLDFLAGS" - CPPFLAGS="$OLDCPPFLAGS" - ]) - ]) - - - if test "$HAVECRYPTO" = "yes"; then - dnl This is only reasonable to do if crypto actually is there: check for - dnl SSL libs NOTE: it is important to do this AFTER the crypto lib - - AC_CHECK_LIB(crypto, CRYPTO_add_lock) - AC_CHECK_LIB(ssl, SSL_connect) - - if test "$ac_cv_lib_ssl_SSL_connect" != yes; then - dnl we didn't find the SSL lib, try the RSAglue/rsaref stuff - AC_MSG_CHECKING(for ssl with RSAglue/rsaref libs in use); - OLIBS=$LIBS - LIBS="$LIBS -lRSAglue -lrsaref" - AC_CHECK_LIB(ssl, SSL_connect) - if test "$ac_cv_lib_ssl_SSL_connect" != yes; then - dnl still no SSL_connect - AC_MSG_RESULT(no) - LIBS=$OLIBS - else - AC_MSG_RESULT(yes) - fi - fi - - - dnl Check for SSLeay headers - AC_CHECK_HEADERS(openssl/x509.h openssl/rsa.h openssl/crypto.h \ - openssl/pem.h openssl/ssl.h openssl/err.h, - OPENSSL_ENABLED=1) - - if test $ac_cv_header_openssl_x509_h = no; then - AC_CHECK_HEADERS(x509.h rsa.h crypto.h pem.h ssl.h err.h, - OPENSSL_ENABLED=1) - fi - - dnl Check for the OpenSSL engine header, it is kind of "separated" - dnl from the main SSL check - AC_CHECK_HEADERS(openssl/engine.h) - - AC_SUBST(OPENSSL_ENABLED) - - fi - - if test X"$OPT_SSL" != Xoff && - test "$OPENSSL_ENABLED" != "1"; then - AC_MSG_ERROR([OpenSSL libs and/or directories were not found where specified!]) - fi - - - dnl these can only exist if openssl exists - - AC_CHECK_FUNCS( RAND_status \ - RAND_screen \ - RAND_egd ) - -fi - -dnl ********************************************************************** -dnl Check for the presence of ZLIB libraries and headers -dnl ********************************************************************** - -dnl Default to compiler & linker defaults for files & libraries. -dnl OPT_ZLIB=no -dnl AC_ARG_WITH(zlib,dnl -dnl [ --with-zlib[=DIR] where to look for ZLIB [compiler/linker default paths] -dnl DIR points to the ZLIB installation prefix [/usr/local]], -dnl OPT_ZLIB=$withval, -dnl ) - -dnl Check for & handle argument to --with-zlib. -dnl -dnl NOTE: We *always* look for ZLIB headers & libraries, all this option -dnl does is change where we look (by adjusting LIBS and CPPFLAGS.) -dnl - -dnl AC_MSG_CHECKING(where to look for ZLIB) -dnl if test X"$OPT_ZLIB" = Xno -dnl then -dnl AC_MSG_RESULT([defaults (or given in environment)]) -dnl else -dnl test X"$OPT_ZLIB" = Xyes && OPT_ZLIB=/usr/local -dnl LIBS="$LIBS -L$OPT_ZLIB/lib" -dnl CPPFLAGS="$CPPFLAGS -I$OPT_ZLIB/include" -dnl AC_MSG_RESULT([$OPT_ZLIB]) -dnl fi - -dnl z lib? -dnl AC_CHECK_FUNC(gzread, , AC_CHECK_LIB(z, gzread)) - - -dnl Default is to try the thread-safe versions of a few functions -OPT_THREAD=on -AC_ARG_ENABLE(thread,dnl -[ --disable-thread tell configure to not look for thread-safe functions], - OPT_THREAD=off -) - -if test X"$OPT_THREAD" = Xoff -then - AC_MSG_WARN(libcurl will not get built using thread-safe functions) - AC_DEFINE(DISABLED_THREADSAFE, 1, \ -Set to explicitly specify we don't want to use thread-safe functions) -else - - dnl dig around for gethostbyname_r() - CURL_CHECK_GETHOSTBYNAME_R() - - dnl dig around for gethostbyaddr_r() - CURL_CHECK_GETHOSTBYADDR_R() - - dnl poke around for inet_ntoa_r() - CURL_CHECK_INET_NTOA_R() - - dnl is there a localtime_r() - CURL_CHECK_LOCALTIME_R() - - AC_CHECK_FUNCS( gmtime_r ) - -fi - -dnl ********************************************************************** -dnl Back to "normal" configuring -dnl ********************************************************************** - -dnl Checks for header files. -AC_HEADER_STDC -AC_CHECK_HEADERS( \ - unistd.h \ - malloc.h \ - stdlib.h \ - arpa/inet.h \ - net/if.h \ - netinet/in.h \ - netinet/if_ether.h \ - netdb.h \ - sys/select.h \ - sys/socket.h \ - sys/sockio.h \ - sys/stat.h \ - sys/types.h \ - sys/time.h \ - sys/param.h \ - termios.h \ - termio.h \ - sgtty.h \ - fcntl.h \ - dlfcn.h \ - alloca.h \ - winsock.h \ - time.h \ - io.h \ - pwd.h \ - utime.h \ - sys/utime.h -) - -dnl Check for libz header -dnl AC_CHECK_HEADERS(zlib.h) - -dnl Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST -AC_TYPE_SIZE_T -AC_HEADER_TIME - -# mprintf() checks: - -# check for 'long double' -# AC_CHECK_SIZEOF(long double, 8) -# check for 'long long' -# AC_CHECK_SIZEOF(long long, 4) - -# check for ssize_t -AC_CHECK_TYPE(ssize_t, int) - -TYPE_SOCKLEN_T -TYPE_IN_ADDR_T - -dnl Checks for library functions. -dnl AC_PROG_GCC_TRADITIONAL -AC_TYPE_SIGNAL -dnl AC_FUNC_VPRINTF -AC_CHECK_FUNCS( socket \ - select \ - strdup \ - strstr \ - strtok_r \ - strftime \ - uname \ - strcasecmp \ - stricmp \ - strcmpi \ - gethostname \ - gethostbyaddr \ - gettimeofday \ - inet_addr \ - inet_ntoa \ - tcsetattr \ - tcgetattr \ - perror \ - closesocket \ - setvbuf \ - sigaction \ - signal \ - getpass_r \ - strlcat \ - getpwuid \ - geteuid \ - dlopen \ - utime -) - -dnl removed 'getpass' check on October 26, 2000 - -if test "$ac_cv_func_select" != "yes"; then - AC_MSG_ERROR(Can't work without an existing select() function) -fi -if test "$ac_cv_func_socket" != "yes"; then - AC_MSG_ERROR(Can't work without an existing socket() function) -fi - -AC_PATH_PROG( PERL, perl, , - $PATH:/usr/local/bin/perl:/usr/bin/:/usr/local/bin ) -AC_SUBST(PERL) - -AC_PATH_PROGS( NROFF, gnroff nroff, , - $PATH:/usr/bin/:/usr/local/bin ) -AC_SUBST(NROFF) - -AC_PROG_YACC - -dnl AC_PATH_PROG( RANLIB, ranlib, /usr/bin/ranlib, -dnl $PATH:/usr/bin/:/usr/local/bin ) -dnl AC_SUBST(RANLIB) - -AC_CONFIG_FILES([Makefile \ - docs/Makefile \ - docs/examples/Makefile \ - docs/libcurl/Makefile \ - include/Makefile \ - include/curl/Makefile \ - src/Makefile \ - lib/Makefile \ - tests/Makefile \ - tests/data/Makefile \ - tests/server/Makefile \ - packages/Makefile \ - packages/Win32/Makefile \ - packages/Win32/cygwin/Makefile \ - packages/Linux/Makefile \ - packages/Linux/RPM/Makefile \ - packages/Linux/RPM/curl.spec \ - packages/Linux/RPM/curl-ssl.spec \ - packages/Solaris/Makefile \ - packages/EPM/curl.list \ - packages/EPM/Makefile \ - curl-config -]) -AC_OUTPUT - diff --git a/Build/source/libs/curl/curl-config.in b/Build/source/libs/curl/curl-config.in deleted file mode 100644 index a4f011785b6..00000000000 --- a/Build/source/libs/curl/curl-config.in +++ /dev/null @@ -1,97 +0,0 @@ -#! /bin/sh -# -# The idea to this kind of setup info script was stolen from numerous -# other packages, such as neon, libxml and gnome. -# -# $Id: curl-config.in,v 1.12 2002/01/16 14:20:06 bagder Exp $ -# -prefix=@prefix@ -exec_prefix=@exec_prefix@ -includedir=@includedir@ - -usage() -{ - cat <<EOF -Usage: curl-config [OPTION] - -Available values for OPTION include: - - --cc compiler - --cflags pre-processor and compiler flags - --feature newline separated list of enabled features - --help display this help and exit - --libs library linking information - --prefix curl install prefix - --version output version information - --vernum output the version information as a number (hexadecimal) -EOF - - exit $1 -} - -if test $# -eq 0; then - usage 1 -fi - -while test $# -gt 0; do - case "$1" in - # this deals with options in the style - # --option=value and extracts the value part - # [not currently used] - -*=*) value=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) value= ;; - esac - - case "$1" in - --cc) - echo @CC@ - ;; - - --prefix) - echo $prefix - ;; - - --feature) - if test "@OPENSSL_ENABLED@" = "1"; then - echo "SSL" - fi - if test "@KRB4_ENABLED@" = "1"; then - echo "KRB4" - fi - if test "@IPV6_ENABLED@" = "1"; then - echo "IPv6" - fi - ;; - - --version) - echo libcurl @VERSION@ - exit 0 - ;; - - --vernum) - echo @VERSIONNUM@ - exit 0 - ;; - - --help) - usage 0 - ;; - - --cflags) - echo -I@includedir@ - ;; - - --libs) - echo -L@libdir@ -lcurl @LDFLAGS@ @LIBS@ - ;; - - *) - echo "unknown option: $1" - usage - exit 1 - ;; - esac - shift -done - -exit 0 diff --git a/Build/source/libs/curl/curl-mode.el b/Build/source/libs/curl/curl-mode.el deleted file mode 100644 index 6a51708b9cb..00000000000 --- a/Build/source/libs/curl/curl-mode.el +++ /dev/null @@ -1,21 +0,0 @@ -;;;; Emacs Lisp help for writing curl code. ;;;; - -;;; In C files, put something like this to load this file automatically: -;; -;; /* ----------------------------------------------------------------- -;; * local variables: -;; * eval: (load-file "../curl-mode.el") -;; * end: -;; */ -;; -;; (note: make sure to get the path right in the argument to load-file). - - -;;; The curl hacker's C conventions - -;;; we use intent-level 2 -(setq c-basic-offset 2) -;;; never ever use tabs to indent! -(setq indent-tabs-mode nil) -;;; I like this, stolen from Subversion! ;-) -(setq angry-mob-with-torches-and-pitchforks t) diff --git a/Build/source/libs/curl/depcomp b/Build/source/libs/curl/depcomp deleted file mode 100644 index 65899658ee7..00000000000 --- a/Build/source/libs/curl/depcomp +++ /dev/null @@ -1,411 +0,0 @@ -#! /bin/sh - -# depcomp - compile a program generating dependencies as side-effects -# Copyright 1999, 2000 Free Software Foundation, Inc. - -# 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., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>. - -if test -z "$depmode" || test -z "$source" || test -z "$object"; then - echo "depcomp: Variables source, object and depmode must be set" 1>&2 - exit 1 -fi -# `libtool' can also be set to `yes' or `no'. - -depfile=${depfile-`echo "$object" | sed 's,\([^/]*\)$,.deps/\1,;s/\.\([^.]*\)$/.P\1/'`} -tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} - -rm -f "$tmpdepfile" - -# Some modes work just like other modes, but use different flags. We -# parameterize here, but still list the modes in the big case below, -# to make depend.m4 easier to write. Note that we *cannot* use a case -# here, because this file can only contain one case statement. -if test "$depmode" = hp; then - # HP compiler uses -M and no extra arg. - gccflag=-M - depmode=gcc -fi - -if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout -fi - -case "$depmode" in -gcc3) -## gcc 3 implements dependency tracking that does exactly what -## we want. Yay! Note: for some reason libtool 1.4 doesn't like -## it if -MD -MP comes after the -MF stuff. Hmm. - "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - mv "$tmpdepfile" "$depfile" - ;; - -gcc) -## There are various ways to get dependency output from gcc. Here's -## why we pick this rather obscure method: -## - Don't want to use -MD because we'd like the dependencies to end -## up in a subdir. Having to rename by hand is ugly. -## (We might end up doing this anyway to support other compilers.) -## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). -## - Using -M directly means running the compiler twice (even worse -## than renaming). - if test -z "$gccflag"; then - gccflag=-MD, - fi - "$@" -Wp,"$gccflag$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -## The second -e expression handles DOS-style file names with drive letters. - sed -e 's/^[^:]*: / /' \ - -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the `deleted header file' problem. -## The problem is that when a header file which appears in a .P file -## is deleted, the dependency causes make to die (because there is -## typically no way to rebuild the header). We avoid this by adding -## dummy dependencies for each header file. Too bad gcc doesn't do -## this for us directly. - tr ' ' ' -' < "$tmpdepfile" | -## Some versions of gcc put a space before the `:'. On the theory -## that the space means something, we add a space to the output as -## well. -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -sgi) - if test "$libtool" = yes; then - "$@" "-Wp,-MDupdate,$tmpdepfile" - else - "$@" -MDupdate "$tmpdepfile" - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - - if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files - echo "$object : \\" > "$depfile" - - # Clip off the initial element (the dependent). Don't try to be - # clever and replace this with sed code, as IRIX sed won't handle - # lines with more than a fixed number of characters (4096 in - # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like `#:fec' to the end of the - # dependency line. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ - tr ' -' ' ' >> $depfile - echo >> $depfile - - # The second pass generates a dummy entry for each header file. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> $depfile - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -aix) - # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. This file always lives in the current directory. - # Also, the AIX compiler puts `$object:' at the start of each line; - # $object doesn't have directory information. - stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'` - tmpdepfile="$stripped.u" - outname="$stripped.o" - if test "$libtool" = yes; then - "$@" -Wc,-M - else - "$@" -M - fi - - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - - if test -f "$tmpdepfile"; then - # Each line is of the form `foo.o: dependent.h'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" - sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -tru64) - # The Tru64 AIX compiler uses -MD to generate dependencies as a side - # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in `foo.d' instead, so we check for that too. - # Subdirectories are respected. - - tmpdepfile1="$object.d" - tmpdepfile2=`echo "$object" | sed -e 's/.o$/.d/'` - if test "$libtool" = yes; then - "$@" -Wc,-MD - else - "$@" -MD - fi - - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" - exit $stat - fi - - if test -f "$tmpdepfile1"; then - tmpdepfile="$tmpdepfile1" - else - tmpdepfile="$tmpdepfile2" - fi - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a space and a tab in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -#nosideeffect) - # This comment above is used by automake to tell side-effect - # dependency tracking mechanisms from slower ones. - -dashmstdout) - # Important note: in order to support this mode, a compiler *must* - # always write the proprocessed file to stdout, regardless of -o, - # because we must use -o when running libtool. - test -z "$dashmflag" && dashmflag=-M - ( IFS=" " - case " $* " in - *" --mode=compile "*) # this is libtool, let us make it quiet - for arg - do # cycle over the arguments - case "$arg" in - "--mode=compile") - # insert --quiet before "--mode=compile" - set fnord "$@" --quiet - shift # fnord - ;; - esac - set fnord "$@" "$arg" - shift # fnord - shift # "$arg" - done - ;; - esac - "$@" $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" - ) & - proc=$! - "$@" - stat=$? - wait "$proc" - if test "$stat" != 0; then exit $stat; fi - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - tr ' ' ' -' < "$tmpdepfile" | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -dashXmstdout) - # This case only exists to satisfy depend.m4. It is never actually - # run, as this mode is specially recognized in the preamble. - exit 1 - ;; - -makedepend) - # X makedepend - ( - shift - cleared=no - for arg in "$@"; do - case $cleared in no) - set ""; shift - cleared=yes - esac - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift;; - -*) - ;; - *) - set fnord "$@" "$arg"; shift;; - esac - done - obj_suffix="`echo $object | sed 's/^.*\././'`" - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} 2>/dev/null -o"$obj_suffix" -f"$tmpdepfile" "$@" - ) & - proc=$! - "$@" - stat=$? - wait "$proc" - if test "$stat" != 0; then exit $stat; fi - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - tail +3 "$tmpdepfile" | tr ' ' ' -' | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" "$tmpdepfile".bak - ;; - -cpp) - # Important note: in order to support this mode, a compiler *must* - # always write the proprocessed file to stdout, regardless of -o, - # because we must use -o when running libtool. - ( IFS=" " - case " $* " in - *" --mode=compile "*) - for arg - do # cycle over the arguments - case $arg in - "--mode=compile") - # insert --quiet before "--mode=compile" - set fnord "$@" --quiet - shift # fnord - ;; - esac - set fnord "$@" "$arg" - shift # fnord - shift # "$arg" - done - ;; - esac - "$@" -E | - sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | - sed '$ s: \\$::' > "$tmpdepfile" - ) & - proc=$! - "$@" - stat=$? - wait "$proc" - if test "$stat" != 0; then exit $stat; fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - cat < "$tmpdepfile" >> "$depfile" - sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvisualcpp) - # Important note: in order to support this mode, a compiler *must* - # always write the proprocessed file to stdout, regardless of -o, - # because we must use -o when running libtool. - ( IFS=" " - case " $* " in - *" --mode=compile "*) - for arg - do # cycle over the arguments - case $arg in - "--mode=compile") - # insert --quiet before "--mode=compile" - set fnord "$@" --quiet - shift # fnord - ;; - esac - set fnord "$@" "$arg" - shift # fnord - shift # "$arg" - done - ;; - esac - "$@" -E | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" - ) & - proc=$! - "$@" - stat=$? - wait "$proc" - if test "$stat" != 0; then exit $stat; fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" - echo " " >> "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -none) - exec "$@" - ;; - -*) - echo "Unknown depmode $depmode" 1>&2 - exit 1 - ;; -esac - -exit 0 diff --git a/Build/source/libs/curl/docs/BUGS b/Build/source/libs/curl/docs/BUGS deleted file mode 100644 index c4f52cf72bf..00000000000 --- a/Build/source/libs/curl/docs/BUGS +++ /dev/null @@ -1,63 +0,0 @@ -$Id: BUGS,v 1.4 2002/01/10 07:38:53 bagder Exp $ - _ _ ____ _ - ___| | | | _ \| | - / __| | | | |_) | | - | (__| |_| | _ <| |___ - \___|\___/|_| \_\_____| - -BUGS - - Curl and libcurl have grown substantially since the beginning. At the time - of writing (mid March 2001), there are 23000 lines of source code, and by - the time you read this it has probably grown even more. - - Of course there are lots of bugs left. And lots of misfeatures. - - To help us make curl the stable and solid product we want it to be, we need - bug reports and bug fixes. If you can't fix a bug yourself and submit a fix - for it, try to report an as detailed report as possible to the curl mailing - list to allow one of us to have a go at a solution. You should also post - your bug/problem at curl's bug tracking system over at - - http://sourceforge.net/bugs/?group_id=976 - - When reporting a bug, you should include information that will help us - understand what's wrong, what you expected to happen and how to repeat the - bad behavior. You therefore need to supply your operating system's name and - version number (uname -a under a unix is fine), what version of curl you're - using (curl -V is fine), what URL you were working with and anything else - you think matters. - - Since curl deals with networks, it often helps us a lot if you include a - protocol debug dump with your bug report. The output you get by using the -v - flag. Usually, you also get more info by using -i so that is likely to be - useful when reporting bugs as well. - - If curl crashed, causing a core dump (in unix), there is hardly any use to - send that huge file to anyone of us. Unless we have an exact same system - setup as you, we can't do much with it. What we instead ask of you is to get - a stack trace and send that (much smaller) output to us instead! - - The address and how to subscribe to the mailing list is detailed in the - MANUAL file. - -HOW TO GET A STACK TRACE - - First, you must make sure that you compile all sources with -g and that you - don't 'strip' the final executable. Try to avoid optimizing the code as - well, remove -O, -O2 etc from the compiler options. - - Run the program until it dumps core. - - Run your debugger on the core file, like '<debugger> curl core'. <debugger> - should be replaced with the name of your debugger, in most cases that will - be 'gdb', but 'dbx' and others also occur. - - When the debugger has finished loading the core file and presents you a - prompt, enter 'where' (without the quotes) and press return. - - The list that is presented is the stack trace. If everything worked, it is - supposed to contain the chain of functions that were called when curl - crashed. Include the stack trace with your detailed bug report. It'll help a - lot. - diff --git a/Build/source/libs/curl/docs/CONTRIBUTE b/Build/source/libs/curl/docs/CONTRIBUTE deleted file mode 100644 index 242927a7b0d..00000000000 --- a/Build/source/libs/curl/docs/CONTRIBUTE +++ /dev/null @@ -1,113 +0,0 @@ - _ _ ____ _ - ___| | | | _ \| | - / __| | | | |_) | | - | (__| |_| | _ <| |___ - \___|\___/|_| \_\_____| - -To Think About When Contributing Source Code - - This document is intended to offer some guidelines that can be useful to keep - in mind when you decide to write a contribution to the project. This concerns - new features as well as corrections to existing flaws or bugs. - -Join the Community - - Skip over to http://curl.haxx.se/mail/ and join the appropriate mailing - list(s). Read up on details before you post questions. Read this file before - you start sending patches! - -The License Issue - - When contributing with code, you agree to put your changes and new code under - the same license curl and libcurl is already using unless stated otherwise. - - If you add a larger piece of code, you can opt to make that file or set of - files to use a different license as long as they don't enforce any changes to - the rest of the package and they make sense. Such "separate parts" can not be - GPL (as we don't want the GPL virus to attack users of libcurl) but they must - use "GPL compatible" licenses. - -What To Read - - Source code, the man pages, the INTERALS document, the TODO, the most recent - CHANGES. Just lurking on the libcurl mailing list is gonna give you a lot of - insights on what's going on right now. - -Naming - - Try using a non-confusing naming scheme for your new functions and variable - names. It doesn't necessarily have to mean that you should use the same as in - other places of the code, just that the names should be logical, - understandable and be named according to what they're used for. File-local - functions should be made static. - -Indenting - - Please try using the same indenting levels and bracing method as all the - other code already does. It makes the source code a lot easier to follow if - all of it is written using the same style. We don't ask you to like it, we - just ask you to follow the tradition! ;-) - -Commenting - - Comment your source code extensively. Commented code is quality code and - enables future modifications much more. Uncommented code much more risk being - completely replaced when someone wants to extend things, since other persons' - source code can get quite hard to read. - -General Style - - Keep your functions small. If they're small you avoid a lot of mistakes and - you don't accidentally mix up variables. - -Non-clobbering All Over - - When you write new functionality or fix bugs, it is important that you don't - fiddle all over the source files and functions. Remember that it is likely - that other people have done changes in the same source files as you have and - possibly even in the same functions. If you bring completely new - functionality, try writing it in a new source file. If you fix bugs, try to - fix one bug at a time and send them as separate patches. - -Separate Patches Doing Different Things - - It is annoying when you get a huge patch from someone that is said to fix 511 - odd problems, but discussions and opinions don't agree with 510 of them - or - 509 of them were already fixed in a different way. Then the patcher needs to - extract the single interesting patch from somewhere within the huge pile of - source, and that gives a lot of extra work. Preferably, all fixes that - correct different problems should be in their own patch with an attached - description exactly what they correct so that all patches can be selectively - applied by the maintainer or other interested parties. - -Patch Against Recent Sources - - Please try to get the latest available sources to make your patches - against. It makes the life of the developers so much easier. The very best is - if you get the most up-to-date sources from the CVS repository, but the - latest release archive is quite OK as well! - -Document - - Writing docs is dead boring and one of the big problems with many open source - projects. Someone's gotta do it. It makes it a lot easier if you submit a - small description of your fix or your new features with every contribution so - that it can be swiftly added to the package documentation. - -Write Access to CVS Repository - - If you are a frequent contributor, or have another good reason, you can of - course get write access to the CVS repository and then you'll be able to - check-in all your changes straight into the CVS tree instead of sending all - changes by mail as patches. Just ask if this is what you'd want. You will be - required to have posted a few quality patches first, before you can be - granted write access. - -Test Cases - - Since the introduction of the test suite, we can quickly verify that the main - features are working as they're supposed to. To maintain this situation and - improve it, all new features and functions that are added need to be tested - in the test suite. Every feature that is added should get at least one valid - test case that verifies that it works as documented. If every submitter also - post a few test cases, it won't end up as a heavy burden on a single person! diff --git a/Build/source/libs/curl/docs/FAQ b/Build/source/libs/curl/docs/FAQ deleted file mode 100644 index dce534f2e41..00000000000 --- a/Build/source/libs/curl/docs/FAQ +++ /dev/null @@ -1,669 +0,0 @@ -Updated: January 22, 2002 (http://curl.haxx.se/docs/faq.shtml) - _ _ ____ _ - ___| | | | _ \| | - / __| | | | |_) | | - | (__| |_| | _ <| |___ - \___|\___/|_| \_\_____| - -FAQ - - 1. Philosophy - 1.1 What is cURL? - 1.2 What is libcurl? - 1.3 What is cURL not? - 1.4 When will you make curl do XXXX ? - 1.5 Who makes cURL? - 1.6 What do you get for making cURL? - 1.7 What about CURL from curl.com? - - 2. Install Related Problems - 2.1 configure doesn't find OpenSSL even when it is installed - 2.1.1. native linker doesn't find openssl - 2.1.2. only the libssl lib is missing - 2.2 Does curl work/build with other SSL libraries? - 2.3 Where can I find a copy of LIBEAY32.DLL? - 2.4 Does cURL support Socks (RFC 1928) ? - - 3. Usage Problems - 3.1 curl: (1) SSL is disabled, https: not supported - 3.2 How do I tell curl to resume a transfer? - 3.3 Why doesn't my posting using -F work? - 3.4 How do I tell curl to run custom FTP commands? - 3.5 How can I disable the Pragma: nocache header? - 3.6 Does curl support javascript, ASP, XML, XHTML or HTML version Y? - 3.7 Can I use curl to delete/rename a file through FTP? - 3.8 How do I tell curl to follow HTTP redirects? - 3.9 How do I use curl in my favourite programming language? - 3.10 What about SOAP, WebDAV, XML-RPC or similar protocols over HTTP? - 3.11 How do I POST with a different Content-Type? - 3.12 Why do FTP specific features over HTTP proxy fail? - - 4. Running Problems - 4.1 Problems connecting to SSL servers. - 4.2 Why do I get problems when I use & or % in the URL? - 4.3 How can I use {, }, [ or ] to specify multiple URLs? - 4.4 Why do I get downloaded data even though the web page doesn't exist? - 4.5 Why do I get return code XXX from a HTTP server? - 4.5.1 "400 Bad Request" - 4.5.2 "401 Unauthorized" - 4.5.3 "403 Forbidden" - 4.5.4 "404 Not Found" - 4.5.5 "405 Method Not Allowed" - 4.5.6 "301 Moved Permanently" - 4.6 Can you tell me what error code 142 means? - 4.7 How do I keep user names and passwords secret in Curl command lines? - 4.8 I found a bug! - 4.9 Curl can't authenticate to the server that requires NTLM? - - 5. libcurl Issues - 5.1 Is libcurl thread-safe? - 5.2 How can I receive all data into a large memory chunk? - 5.3 How do I fetch multiple files with libcurl? - 5.4 Does libcurl do Winsock initing on win32 systems? - 5.5 Does CURLOPT_FILE and CURLOPT_INFILE work on win32 ? - 5.6 What about Keep-Alive or persistent connections? - - 6. License Issues - 6.1 I have a GPL program, can I use the libcurl library? - 6.2 I have a closed-source program, can I use the libcurl library? - 6.3 I have a BSD licensed program, can I use the libcurl library? - 6.4 I have a program that uses LGPL libraries, can I use libcurl? - 6.5 Can I modify curl/libcurl for my program and keep the changes secret? - 6.6 Can you please change the curl/libcurl license to XXXX? - -============================================================================== - -1. Philosophy - - 1.1 What is cURL? - - cURL (or simply just 'curl') is a command line tool for getting or sending - files using URL syntax. The name is a play on 'Client for URLs', originally - with URL spelled in uppercase to make it obvious it deals with URLs. The - fact it can also be pronounced 'see URL' also helped. - - Curl supports a range of common Internet protocols, currently including - HTTP, HTTPS, FTP, FTPS, GOPHER, LDAP, DICT, TELNET and FILE. - - We spell it cURL or just curl. We pronounce it with an initial k sound: - [kurl]. - - 1.2 What is libcurl? - - libcurl is a reliable and portable library which provides you with an easy - interface to a range of common Internet protocols. - - You can use libcurl for free in your application even if it is commercial - or closed-source. - - 1.3 What is cURL not? - - Curl is *not* a wget clone even though that is a very common misconception. - Never, during curl's development, have we intended curl to replace wget or - compete on its market. Curl is targeted at single-shot file transfers. - - Curl is not a web site mirroring program. If you wanna use curl to mirror - something: fine, go ahead and write a script that wraps around curl to make - it reality (like curlmirror.pl does). - - Curl is not an FTP site mirroring program. Sure, get and send FTP with curl - but if you want systematic and sequential behavior you should write a - script (or write a new program that interfaces libcurl) and do it. - - Curl is not a PHP tool, even though it works perfectly well when used from - or with PHP. - - Curl is not a single-OS program. Curl exists, compiles, builds and runs - under a wide range of operating systems, including all modern Unixes (and a - bunch of older ones too), Windows, Amiga, BeOS, OS/2, OS X, QNX etc. - - 1.4 When will you make curl do XXXX ? - - We love suggestions of what to change in order to make curl and libcurl - better. We do however believe in a few rules when it comes to the future of - curl: - - * Curl is to remain a command line tool. If you want GUIs or fancy scripting - capabilities, you're free to write another tool that uses libcurl and that - offers this. There's no point in having a single tool that does every - imaginable thing. That's also one of the great advantages of having the - core of curl as a library. - - * We do not add things to curl that other small and available tools already - do very fine at the side. Curl's output is fine to pipe into another - program or redirect to another file for the next program to interpret. - - * We focus on protocol related issues and improvements. If you wanna do more - magic with the supported protocols than curl currently does, chances are - big we will agree. If you wanna add more protocols, we may very well - agree. - - * If you want someone else to make all the work while you wait for us to - implement it for you, that is not a very friendly attitude. We spend a - considerable time already on maintaining and developing curl. In order to - get more out of us, you should consider trading in some of your time and - efforts in return. - - * If you write the code, chances are bigger that it will get into curl - faster. - - 1.5 Who makes cURL? - - cURL and libcurl are not made by any single individual. Sure, Daniel - Stenberg writes the major parts, but various people's submissions are - important and crucial. Anyone can post their changes and improvements and - have them inserted in the main sources (of course on the condition that - developers agree on that the fixes are good). - - The list of contributors in the docs/THANKS file is only a small part of all - the people that every day provide us with bug reports, suggestions, ideas - and source code. - - curl is developed by a community, with Daniel at the wheel. - - 1.6 What do you get for making cURL? - - Project cURL is entirely free and open. No person gets paid in any way for - developing curl. We all do this voluntarily on our spare time. - - We get some help from companies. Contactor Data hosts the curl web site and - the main mailing list, Haxx owns the curl web site's domain and - sourceforge.net hosts several project tools we take advantage from like the - bug tracker, mailing lists and more. - - If you want to support our project with a donation or similar, one way of - doing that would be to buy "gift certificates" at useful online shopping - sites, such as amazon.com or thinkgeek.com. Another way would be to sponsor - us through a banner-program or by simply helping us coding, documenting, - testing etc. - - 1.7 What about CURL from curl.com? - - During the summer 2001, curl.com has been busy advertising their client-side - programming language for the web, named CURL. - - We are in no way associated with curl.com or their CURL programming - language. - - Our project name curl has been in effective use since 1998. We were not the - first computer related project to use the name "curl" and do not claim any - first-hand rights to the name. - - We recognize that we will be living in parallel with curl.com and wish them - every success. - -2. Install Related Problems - - 2.1. configure doesn't find OpenSSL even when it is installed - - This may be because of several reasons. - - 2.1.1. native linker doesn't find openssl - - Affected platforms: - Solaris (native cc compiler) - HPUX (native cc compiler) - SGI IRIX (native cc compiler) - SCO UNIX (native cc compiler) - - When configuring curl, I specify --with-ssl. OpenSSL is installed in - /usr/local/ssl Configure reports SSL in /usr/local/ssl, but fails to find - CRYPTO_lock in -lcrypto - - Cause: The cc for this test places the -L/usr/local/ssl/lib AFTER - -lcrypto, so ld can't find the library. This is due to a bug in the GNU - autoconf tool. - - Workaround: Specifying "LDFLAGS=-L/usr/local/ssl/lib" in front of - ./configure places the -L/usr/local/ssl/lib early enough in the command - line to make things work - - Solution submitted by: Bob Allison <allisonb@users.sourceforge.net> - - 2.1.2. only the libssl lib is missing - - If all include files and the libcrypto lib is present, with only the - libssl being missing according to configure, this is mostly likely because - a few functions are left out from the libssl. - - If the function names missing include RSA or RSAREF you can be certain - that this is because libssl requires the RSA and RSAREF libs to build. - - See the INSTALL file section that explains how to add those libs to - configure. Make sure that you remove the config.cache file before you - rerun configure with the new flags. - - 2.2. Does curl work/build with other SSL libraries? - - Curl has been written to use OpenSSL, although there should not be much - problems using a different library. If anyone does "port" curl to use a - different SSL library, we are of course very interested in getting the - patch! - - 2.3. Where can I find a copy of LIBEAY32.DLL? - - That is an OpenSSL binary built for Windows. - - Curl uses OpenSSL to do the SSL stuff. The LIBEAY32.DLL is what curl needs - on a windows machine to do https://. Check out the curl web site to find - accurate and up-to-date pointers to recent OpenSSL DLLs and other binary - packages. - - 2.4. Does cURL support Socks (RFC 1928) ? - - No. Nobody has wanted it that badly yet. We appreciate patches that bring - this functionality. - - -3. Usage problems - - 3.1. curl: (1) SSL is disabled, https: not supported - - If you get this output when trying to get anything from a https:// server, - it means that the configure script couldn't find all libs and include files - it requires for SSL to work. If the configure script fails to find them, - curl is simply built without SSL support. - - To get the https:// support into a curl that was previously built but that - reports that https:// is not supported, you should dig through the document - and logs and check out why the configure script doesn't find the SSL libs - and/or include files. - - Also, check out the other paragraph in this FAQ labeled "configure doesn't - find OpenSSL even when it is installed". - - 3.2. How do I tell curl to resume a transfer? - - Curl supports resumed transfers both ways on both FTP and HTTP. - - Try the -C option. - - 3.3. Why doesn't my posting using -F work? - - You can't simply use -F or -d at your choice. The web server that will - receive your post assumes one of the formats. If the form you're trying to - "fake" sets the type to 'multipart/form-data', then and only then you must - use the -F type. In all the most common cases, you should use -d which then - causes a posting with the type 'application/x-www-form-urlencoded'. - - This is described in some detail in the MANUAL and TheArtOfHttpScripting - documents, and if you don't understand it the first time, read it again - before you post questions about this to the mailing list. Also, try reading - through the mailing list archives for old postings and questions regarding - this. - - 3.4. How do I tell curl to run custom FTP commands? - - You can tell curl to perform optional commands both before and/or after a - file transfer. Study the -Q/--quote option. - - Since curl is used for file transfers, you don't use curl to just perform - FTP commands without transferring anything. Therefore you must always specify - a URL to transfer to/from even when doing custom FTP commands. - - 3.5. How can I disable the Pragma: nocache header? - - You can change all internally generated headers by adding a replacement with - the -H/--header option. By adding a header with empty contents you safely - disable that one. Use -H "Pragma:" to disable that specific header. - - 3.6. Does curl support javascript, ASP, XML, XHTML or HTML version Y? - - To curl, all contents are alike. It doesn't matter how the page was - generated. It may be ASP, PHP, Perl, shell-script, SSI or plain - HTML-files. There's no difference to curl and it doesn't even know what kind - of language that generated the page. - - Javascript is slightly different since that is code embedded in the HTML - that is sent for the client to interpret and curl has no javascript - interpreter. - - 3.7. Can I use curl to delete/rename a file through FTP? - - Yes. You specify custom FTP commands with -Q/--quote. - - One example would be to delete a file after you have downloaded it: - - curl -O ftp://download.com/coolfile -Q '-DELE coolfile' - - 3.8 How do I tell curl to follow HTTP redirects? - - Curl does not follow so-called redirects by default. The Location: header - that informs the client about this is only interpreted if you're using the - -L/--location option. As in: - - curl -L http://redirector.com - - 3.9 How do I use curl in my favourite programming language? - - There exist many language interfaces/bindings for curl that integrates it - better with various languages. If you are fluid in a script language, you - may very well opt to use such an interface instead of using the command line - tool. - - At the time of writing, there are bindings for the five language mentioned - above, but chances are there are even more by the time you read this. Or you - may be able you write your own wrapper for a not-yet supported language! - - Find out more about which languages that support curl directly, and how to - install and use them, in the libcurl section of the curl web site: - - http://curl.haxx.se/libcurl/ - - In December 2001, there are interfaces available for the following - languages: C/C++, Cocoa, Dylan, Java, Perl, PHP, Python, Rexx, Ruby, Scheme - and Tcl. By the time you read this, additional ones may have appeared! - - 3.10 What about SOAP, WebDAV, XML-RPC or similar protocols over HTTP? - - Curl adheres to the HTTP spec, which basically means you can play with *any* - protocol that is built on top of HTTP. Protocols such as SOAP, WEBDAV and - XML-RPC are all such ones. You can use -X to set custom requests and -H to - set custom headers (or replace internally generated ones). - - Using libcurl or PHP's curl modules is just as fine and you'd just use the - proper library options to do the same. - - 3.11 How do I POST with a different Content-Type? - - You can always replace the internally generated headers with -H/--header. - To make a simple HTTP POST with text/xml as content-type, do something like: - - curl -d "datatopost" -H "Content-Type: text/xml" [URL] - - 3.12 Why do FTP specific features over HTTP proxy fail? - - Because when you use a HTTP proxy, the protocol spoken on the network will - be HTTP, even if you specify a FTP URL. This effectively means that you - normally can't use FTP specific features such as ftp upload and ftp quote - etc. - - There is one exception to this rule, and that is if you can "tunnel through" - the given HTTP proxy. Proxy tunneling is enabled with a special option (-p) - and is generally not available as proxy admins usually disable tunneling to - other ports than 443 (which is used for HTTPS access through proxies). - -4. Running Problems - - 4.1. Problems connecting to SSL servers. - - It took a very long time before we could sort out why curl had problems to - connect to certain SSL servers when using SSLeay or OpenSSL v0.9+. The - error sometimes showed up similar to: - - 16570:error:1407D071:SSL routines:SSL2_READ:bad mac decode:s2_pkt.c:233: - - It turned out to be because many older SSL servers don't deal with SSLv3 - requests properly. To correct this problem, tell curl to select SSLv2 from - the command line (-2/--sslv2). - - There has also been examples where the remote server didn't like the SSLv2 - request and instead you had to force curl to use SSLv3 with -3/--sslv3. - - 4.2. Why do I get problems when I use & or % in the URL? - - In general unix shells, the & letter is treated special and when used, it - runs the specified command in the background. To safely send the & as a part - of a URL, you should quote the entire URL by using single (') or double (") - quotes around it. - - An example that would invoke a remote CGI that uses &-letters could be: - - curl 'http://www.altavista.com/cgi-bin/query?text=yes&q=curl' - - In win32, the standard DOS shell treats the %-letter specially and you may - need to quote the string properly when % is used in it. - - Also note that if you want the literal %-letter to be part of the data you - pass in a POST using -d/--data you must encode it as '%25'. - - 4.3. How can I use {, }, [ or ] to specify multiple URLs? - - Because those letters have a special meaning to the shell, and to be used in - a URL specified to curl you must quote them. - - An example that downloads two URLs (sequentially) would do: - - curl '{curl,www}.haxx.se' - - To be able to use those letters as actual parts of the URL (without using - them for the curl URL "globbing" system), use the -g/--globoff option (curl - 7.6 and later): - - curl -g 'www.site.com/weirdname[].html' - - 4.4. Why do I get downloaded data even though the web page doesn't exist? - - Curl asks remote servers for the page you specify. If the page doesn't exist - at the server, the HTTP protocol defines how the server should respond and - that means that headers and a "page" will be returned. That's simply how - HTTP works. - - By using the --fail option you can tell curl explicitly to not get any data - if the HTTP return code doesn't say success. - - 4.5 Why do I get return code XXX from a HTTP server? - - RFC2616 clearly explains the return codes. This is a short transcript. Go - read the RFC for exact details: - - 4.5.1 "400 Bad Request" - - The request could not be understood by the server due to malformed - syntax. The client SHOULD NOT repeat the request without modifications. - - 4.5.2 "401 Unauthorized" - - The request requires user authentication. - - 4.5.3 "403 Forbidden" - - The server understood the request, but is refusing to fulfill it. - Authorization will not help and the request SHOULD NOT be repeated. - - 4.5.4 "404 Not Found" - - The server has not found anything matching the Request-URI. No indication - is given of whether the condition is temporary or permanent. - - 4.5.5 "405 Method Not Allowed" - - The method specified in the Request-Line is not allowed for the resource - identified by the Request-URI. The response MUST include an Allow header - containing a list of valid methods for the requested resource. - - 4.5.6 "301 Moved Permanently" - - If you get this return code and an HTML outpt similar to this: - - <H1>Moved Permanently</H1> The document has moved <A - HREF="http://same_url_now_with_a_trailing_slash/">here</A>. - - it might be because you request a directory URL but without the trailing - slash. Try the same operation again _with_ the trailing URL, or use the - -L/--location option to follow the redirection. - - 4.6. Can you tell me what error code 142 means? - - All error codes that are larger than the highest documented error code means - that curl has exited due to a crash. This is a serious error, and we - appreciate a detailed bug report from you that describes how we could go - ahead and repeat this! - - 4.7. How do I keep user names and passwords secret in Curl command lines? - - This problem has two sides: - - The first part is to avoid having clear-text passwords in the command line - so that they don't appear in 'ps' outputs and similar. That is easily - avoided by using the "-K" option to tell curl to read parameters from a - file or stdin to which you can pass the secret info. - - To keep the passwords in your account secret from the rest of the world is - not a task that curl addresses. You could of course encrypt them somehow to - at least hide them from being read by human eyes, but that is not what - anyone would call security. - - Also note that regular HTTP and FTP passwords are sent in clear across the - network. All it takes for anyone to fetch them is to listen on the network. - Eavesdropping is very easy. - - 4.8 I found a bug! - - It is not a bug if the behavior is documented. Read the docs first. - - If it is a problem with a binary you've downloaded or a package for your - particular platform, try contacting the person who built the package/archive - you have. - - If there is a bug, post a bug report in the Curl Bug Track System over at - http://sourceforge.net/bugs/?group_id=976 - - Always include as many details you can think of, including curl version, - operating system name and version and complete instructions how to repeat - the bug. - - 4.9. Curl can't authenticate to the server that requires NTLM? - - NTLM is a Microsoft proprietary protocol. Unfortunately, curl does not - currently support that. Proprietary formats are evil. You should not use - such ones. - -5. libcurl Issues - - 5.1. Is libcurl thread-safe? - - Yes. - - We have written the libcurl code specificly adjusted for multi-threaded - programs. libcurl will use thread-safe functions instead of non-safe ones if - your system has such. - - We would appreciate some kind of report or README file from those who have - used libcurl in a threaded environment. - - 5.2 How can I receive all data into a large memory chunk? - - [ See also the examples/getinmemory.c source ] - - You are in full control of the callback function that gets called every time - there is data received from the remote server. You can make that callback do - whatever you want. You do not have to write the received data to a file. - - One solution to this problem could be to have a pointer to a struct that you - pass to the callback function. You set the pointer using the - curl_easy_setopt(CURLOPT_FILE) function. Then that pointer will be passed to - the callback instead of a FILE * to a file: - - /* imaginary struct */ - struct MemoryStruct { - char *memory; - size_t size; - }; - - /* imaginary callback function */ - size_t - WriteMemoryCallback(void *ptr, size_t size, size_t nmemb, void *data) - { - register int realsize = size * nmemb; - struct MemoryStruct *mem = (struct MemoryStruct *)data; - - mem->memory = (char *)realloc(mem->memory, mem->size + realsize + 1); - if (mem->memory) { - memcpy(&(mem->memory[mem->size]), ptr, realsize); - mem->size += realsize; - mem->memory[mem->size] = 0; - } - return realsize; - } - - 5.3 How do I fetch multiple files with libcurl? - - Starting with version 7.7, curl and libcurl will have excellent support for - transferring multiple files. You should just repeatedly set new URLs with - curl_easy_setopt() and then transfer it with curl_easy_perform(). The handle - you get from curl_easy_init() is not only reusable starting with libcurl - 7.7, but also you're encouraged to reuse it if you can, as that will enable - libcurl to use persistent connections. - - For libcurl prior to 7.7, there was no multiple file support. The only - available way to do multiple requests was to init/perform/cleanup for each - transfer. - - 5.4 Does libcurl do Winsock initialization on win32 systems? - - Yes (since 7.8.1) if told to in the curl_global_init() call. - - 5.5 Does CURLOPT_FILE and CURLOPT_INFILE work on win32 ? - - Yes, but you cannot open a FILE * and pass the pointer to a DLL and have - that DLL use the FILE *. If you set CURLOPT_FILE you must also use - CURLOPT_WRITEFUNCTION as well to set a function that writes the file, even - if that simply writes the data to the specified FILE*. Similarly, if you use - CURLOPT_INFILE you must also specify CURLOPT_READFUNCTION. - - (Provided by Joel DeYoung and Bob Schader) - - 5.6 What about Keep-Alive or persistent connections? - - Starting with version 7.7, curl and libcurl will have excellent support for - persistent connections when transferring several files from the same server. - Curl will attempt to reuse connections for all URLs specified on the same - command line/config file, and libcurl will reuse connections for all - transfers that are made using the same libcurl handle. - - Previous versions had no persistent connection support. - -6. License Issues - - Curl and libcurl are released under a MIT/X derivate license *or* the MPL, - the Mozilla Public License. To get a really good answer to your license - conflict questions, you should study the MPL and MIT/X licenses and the - license you are about to use and check for clashes yourself. This section is - just a brief summary for the cases we get the most questions. (Parts of this - section was much enhanced by Bjorn Reese.) - - 6.1. I have a GPL program, can I use the libcurl library? - - Yes! - - Since libcurl may be distributed under the MIT/X derivate license, it can be - used together with GPL in any software. - - 6.2. I have a closed-source program, can I use the libcurl library? - - Yes! - - libcurl does not put any restrictions on the program that uses the library. - - 6.3. I have a BSD licensed program, can I use the libcurl library? - - Yes! - - libcurl does not put any restrictions on the program that uses the library. - - 6.4. I have a program that uses LGPL libraries, can I use libcurl? - - Yes! - - The LGPL license doesn't clash with other licenses. - - 6.5. Can I modify curl/libcurl for my program and keep the changes secret? - - Yes! - - The MIT/X derivate license practically allows you to do almost anything with - the sources, on the condition that the copyright texts in the sources are - left intact. - - 6.6. Can you please change the curl/libcurl license to XXXX? - - No. - - We have carefully picked this license after years of development and - discussions and a large amount of people have contributed with source code - knowing that this is the license we use. This license puts the restrictions - we want on curl/libcurl and it does not spread to other programs or - libraries that use it. The recent dual license modification should make it - possible for everyone to use libcurl or curl in their projects, no matter - what license they already have in use. diff --git a/Build/source/libs/curl/docs/FEATURES b/Build/source/libs/curl/docs/FEATURES deleted file mode 100644 index 2bdbba6d645..00000000000 --- a/Build/source/libs/curl/docs/FEATURES +++ /dev/null @@ -1,94 +0,0 @@ - _ _ ____ _ - ___| | | | _ \| | - / __| | | | |_) | | - | (__| |_| | _ <| |___ - \___|\___/|_| \_\_____| - -FEATURES - -Misc - - full URL syntax - - custom maximum download time - - custom least download speed acceptable - - custom output result after completion - - multiple URLs - - guesses protocol from host name unless specified - - uses .netrc - - progress bar/time specs while downloading - - "standard" proxy environment variables support - - config file support - - compiles on win32 (reported built on 29 operating systems) - - redirectable stderr - - use selected network interface for outgoing traffic - - IPv6 support - - persistant connections - -HTTP - - HTTP/1.1 compliant - - GET - - PUT - - HEAD - - POST - - multipart POST - - authentication - - resume (both GET and PUT) - - follow redirects - - maximum amount of redirects to follow - - custom HTTP request - - cookie get/send fully parsed - - understands the netscape cookie file format - - custom headers (that can replace/remove internally generated headers) - - custom user-agent string - - custom referer string - - range - - proxy authentication - - time conditions - - via http-proxy - - retrieve file modification date - -HTTPS (*1) - - (all the HTTP features) - - using certificates - - verify server certificate - - via http-proxy - -FTP - - download - - authentication - - kerberos security - - active/passive using PORT, EPRT, PASV or EPSV - - single file size information (compare to HTTP HEAD) - - 'type=' URL support - - dir listing - - dir listing names-only - - upload - - upload append - - upload via http-proxy as HTTP PUT - - download resume - - upload resume - - custom ftp commands (before and/or after the transfer) - - simple "range" support - - via http-proxy - - all operations can be tunneled through a http-proxy - - customizable to retrieve file modification date - -TELNET - - connection negotiation - - custom telnet options - - stdin/stdout I/O - -LDAP (*2) - - full LDAP URL support - -DICT - - extended DICT URL support - -GOPHER - - GET - - via http-proxy - -FILE - - URL support - - *1 = requires OpenSSL - *2 = requires OpenLDAP diff --git a/Build/source/libs/curl/docs/INSTALL b/Build/source/libs/curl/docs/INSTALL deleted file mode 100644 index 7d8ce5c1489..00000000000 --- a/Build/source/libs/curl/docs/INSTALL +++ /dev/null @@ -1,466 +0,0 @@ - _ _ ____ _ - ___| | | | _ \| | - / __| | | | |_) | | - | (__| |_| | _ <| |___ - \___|\___/|_| \_\_____| - - How To Compile - -Curl has been compiled and built on numerous different operating systems. - -Most systems build curl the same way (unix-style). Continue reading below for -more details if you're one of them. - -If you're using Windows (95/98/NT/ME/2000/XP or similar), VMS, RISC OS or OS/2 -or cross-compile, you should continue reading from one the paragraphs further -down. - -UNIX -==== - - A normal unix installation is made in three or four steps (after you've - unpacked the source archive): - - ./configure - make - make test (optional) - make install - - You probably need to be root when doing the last command. - - If you want to install curl in a different file hierarchy than /usr/local, - you need to specify that already when running configure: - - ./configure --prefix=/path/to/curl/tree - - The configure script always tries to find a working SSL library unless - explicitly told not to. If you have OpenSSL installed in the default search - path for your compiler/linker, you don't need to do anything special. If - you have OpenSSL installed in /usr/local/ssl, you can run configure like: - - ./configure --with-ssl - - If you have OpenSSL installed somewhere else (for example, /opt/OpenSSL,) - you can run configure like this: - - ./configure --with-ssl=/opt/OpenSSL - - If you insist on forcing a build without SSL support, even though you may - have OpenSSL installed in your system, you can run configure like this: - - ./configure --without-ssl - - If you have OpenSSL installed, but with the libraries in one place and the - header files somewhere else, you have to set the LDFLAGS and CPPFLAGS - environment variables prior to running configure. Something like this - should work: - - (with the Bourne shell and its clones): - - CPPFLAGS="-I/path/to/ssl/include" LDFLAGS="-L/path/to/ssl/lib" \ - ./configure - - (with csh, tcsh and their clones): - - env CPPFLAGS="-I/path/to/ssl/include" LDFLAGS="-L/path/to/ssl/lib" \ - ./configure - - If your SSL library was compiled with rsaref (usually for use in the United - States), you may also need to set: - - LIBS=-lRSAglue -lrsaref - (as suggested by Doug Kaufman) - - KNOWN PROBLEMS (these ones should not happen anymore) - - If you happen to have autoconf installed, but a version older than 2.12 - you will get into trouble. Then you can still build curl by issuing these - commands (note that this requires curl to be built staticly): (from Ralph - Beckmann) - - ./configure [...] - cd lib; make; cd .. - cd src; make; cd .. - cp src/curl elsewhere/bin/ - - As suggested by David West, you can make a faked version of autoconf and - autoheader: - - ----start of autoconf---- - #!/bin/bash - #fake autoconf for building curl - if [ "$1" = "--version" ] then - echo "Autoconf version 2.13" - fi - ----end of autoconf---- - - Then make autoheader a symbolic link to the same script and make sure - they're executable and set to appear in the path *BEFORE* the actual (but - obsolete) autoconf and autoheader scripts. - - MORE OPTIONS - - To force configure to use the standard cc compiler if both cc and gcc are - present, run configure like - - CC=cc ./configure - or - env Cc=cc ./configure - - To force a static library compile, disable the shared library creation - by running configure like: - - ./configure --disable-shared - - To tell the configure script to skip searching for thread-safe functions, - add an option like: - - ./configure --disable-thread - - To build curl with kerberos4 support enabled, curl requires the krb4 libs - and headers installed. You can then use a set of options to tell - configure where those are: - - --with-krb4-includes[=DIR] Specify location of kerberos4 headers - --with-krb4-libs[=DIR] Specify location of kerberos4 libs - --with-krb4[=DIR] where to look for Kerberos4 - - In most cases, /usr/athena is the install prefix and then it works with - - ./configure --with-krb4=/usr/athena - - If you're a curl developer and use gcc, you might want to enable more - debug options with the --enable-debug option. - -Win32 -===== - - Without SSL: - - MingW32 (GCC-2.95) style - ------------------------ - Run the 'mingw32.bat' file to get the proper environment variables - set, then run 'make mingw32' in the root dir. - - If you have any problems linking libraries or finding header files, be - sure to verify that the provided "Makefile.m32" files use the proper - paths, and adjust as necessary. - - Cygwin style - ------------ - Almost identical to the unix installation. Run the configure script in - the curl root with 'sh configure'. Make sure you have the sh - executable in /bin/ or you'll see the configure fail towards the end. - - Run 'make' - - Microsoft command line style - ---------------------------- - Run the 'vcvars32.bat' file to get the proper environment variables - set, then run 'nmake vc' in the root dir. - - The vcvars32.bat file is part of the Microsoft development - environment. - - IDE-style - ------------------------- - If you use VC++, Borland or similar compilers. Include all lib source - files in a static lib "project" (all .c and .h files that is). - (you should name it libcurl or similar) - - Make the sources in the src/ drawer be a "win32 console application" - project. Name it curl. - - With VC++, add 'ws2_32.lib' to the link libs when you build curl! - Borland seems to do that itself magically. Of course you have to make - sure it links with the libcurl too! - - For VC++ 6, there's an included Makefile.vc6 that should be possible - to use out-of-the-box. - - Microsoft note: add /Zm200 to the compiler options to increase the - compiler's memory allocation limit, as the hugehelp.c won't compile - due to "too long puts string". - - - With SSL: - - MingW32 (GCC-2.95) style - ------------------------ - Run the 'mingw32.bat' file to get the proper environment variables - set, then run 'make mingw32-ssl' in the root dir. - - If you have any problems linking libraries or finding header files, be - sure to look at the provided "Makefile.m32" files for the proper - paths, and adjust as necessary. - - Cygwin style - ------------ - Haven't done, nor got any reports on how to do. It should although be - identical to the unix setup for the same purpose. See above. - - Microsoft command line style - ---------------------------- - Please read the OpenSSL documentation on how to compile and install - the OpenSSL library. This generates the libeay32.dll and ssleay32.dll - files in the out32dll subdirectory in the OpenSSL home directory. If - you compiled OpenSSL static libraries (libeay32.lib, ssleay32.lib, - RSAglue.lib) they are created in the out32 subdirectory. - - Run the 'vcvars32.bat' file to get the proper environment variables - set. The vcvars32.bat file is part of the Microsoft development - environment and you may find it in 'C:\Program Files\Microsoft Visual - Studio\vc98\bin' if you installed Visual C/C++ 6 in the default - directory. - - Before running nmake define the OPENSSL_PATH environment variable with - the root/base directory of OpenSSL, for example: - - set OPENSSL_PATH=c:\openssl-0.9.6b - - Then run 'nmake vc-ssl' or 'nmake vc-ssl-dll' in the curl's root - directory. 'nmake vc-ssl' will create a libcurl static and dynamic - libraries in the lib subdirectory, as well as a statically linked - version of curl.exe in the scr subdirectory. This statically linked - version is a standalone executable not requiring any DLL at - runtime. This making method requires that you have build the static - libraries of OpenSSL available in OpenSSL's out32 subdirectory. - 'nmake vc-ssl-dll' creates the libcurl dynamic library and - links curl.exe against libcurl and OpenSSL dynamically. - This executables requires libcurl.dll and the OpenSSL DLLs - at runtime. - - Microsoft / Borland style - ------------------------- - If you have OpenSSL, and want curl to take advantage of it, edit your - project properties to use the SSL include path, link with the SSL libs - and define the USE_SSLEAY symbol. - - -IBM OS/2 -======== - - Building under OS/2 is not much different from building under unix. - You need: - - - emx 0.9d - - GNU make - - GNU patch - - ksh - - GNU bison - - GNU file utilities - - GNU sed - - autoconf 2.13 - - If you want to build with OpenSSL or OpenLDAP support, you'll need to - download those libraries, too. Dirk Ohme has done some work to port SSL - libraries under OS/2, but it looks like he doesn't care about emx. You'll - find his patches on: http://come.to/Dirk_Ohme - - If during the linking you get an error about _errno being an undefined - symbol referenced from the text segment, you need to add -D__ST_MT_ERRNO__ - in your definitions. - - If everything seems to work fine but there's no curl.exe, you need to add - -Zexe to your linker flags. - - If you're getting huge binaries, probably your makefiles have the -g in - CFLAGS. - -VMS -=== - (The VMS section is in whole contributed by the friendly Nico Baggus) - - This is the first attempt at porting cURL to VMS. - - Curl seems to work with FTP & HTTP other protocols are not tested. (the - perl http/ftp testing server supplied as testing too cannot work on VMS - because vms has no concept of fork(). [ I tried to give it a whack, but - thats of no use. - - SSL stuff has not been ported. - - Telnet has about the same issues as for Win32. When the changes for Win32 - are clear maybe they'l work for VMS too. The basic problem is that select - ONLY works for sockets. - - Marked instances of fopen/[f]stat that might become a problem, especially - for non stream files. In this regard, the files opened for writing will be - created stream/lf and will thus be safe. Just keep in mind that non-binary - read/wring from/to files will have a records size limit of 32767 bytes - imposed. - - Stat to get the size of the files is again only safe for stream files & - fixed record files without implied CC. - - -- My guess is that only allowing access to stream files is the quickest - way to get around the most issues. Therefore all files need to to be - checked to be sure they will be stream/lf before processing them. This is - the easiest way out, I know. The reason for this is that code that needs to - report the filesize will become a pain in the ass otherwise. - - Exit status.... Well we needed something done here, - - VMS has a structured exist status: - | 3 | 2 | 1 | 0| - |1098|765432109876|5432109876543|210| - +----+------------+-------------+---+ - |Ctrl| Facility | Error code |sev| - +----+------------+-------------+---+ - - With the Ctrl-bits an application can tell if part or the whole message has - allready been printed from the program, DCL doesn't need to print it again. - - Facility - basicaly the program ID. A code assigned to the program - the name can be fetched from external or internal message libraries - Errorcode - the errodes assigned by the application - Sev. - severity: Even = error, off = non error - 0 = Warning - 1 = Success - 2 = Error - 3 = Information - 4 = Fatal - <5-7> reserved. - - This all presents itself with: - %<FACILITY>-<SeV>-<Errorname>, <Error message> - - See also the src/curlmsg.msg file, it has the source for the messages In - src/main.c a section is devoted to message status values, the globalvalues - create symbols with certain values, referenced from a compiled message - file. Have all exit function use a exit status derived from a translation - table with the compiled message codes. - - This was all compiled with: - - Compaq C V6.2-003 on OpenVMS Alpha V7.1-1H2 - - So far for porting notes as of: - 13-jul-2001 - N. Baggus - -QNX -=== - (This section was graciously brought to us by David Bentham) - - As QNX is targetted for resource constrained environments, the QNX headers - set conservative limits. This includes the FD_SETSIZE macro, set by default - to 32. Socket descriptors returned within the CURL library may exceed this, - resulting in memory faults/SIGSEGV crashes when passed into select(..) - calls using fd_set macros. - - A good all-round solution to this is to override the default when building - libcurl, by overriding CFLAGS during configure, example - # configure CFLAGS='-DFD_SETSIZE=64 -g -O2' - -CROSS COMPILE -============= - - (This section was graciously brought to us by Jim Duey, 23-oct-2001) - - Download and unpack the cURL package. Version should be 7.9.1 or later. - - 'cd' to the new directory. (ie. curl-7.9.1-pre4) - - Set environment variables to point to the cross-compile toolchain and call - configure with any options you need. Be sure and specify the '--host' and - '--build' parameters at configuration time. The following script is an - example of cross-compiling for the IBM 405GP PowerPC processor using the - toolchain from MonteVista for Hardhat Linux. - - (begin script) - - #! /bin/sh - - export PATH=$PATH:/opt/hardhat/devkit/ppc/405/bin - export CPPFLAGS="-I/opt/hardhat/devkit/ppc/405/target/usr/include" - export AR=ppc_405-ar - export AS=ppc_405-as - export LD=ppc_405-ld - export RANLIB=ppc_405-ranlib - export CC=ppc_405-gcc - export NM=ppc_405-nm - - configure --target=powerpc-hardhat-linux \ - --host=powerpc-hardhat-linux \ - --build=i586-pc-linux-gnu \ - --prefix=/opt/hardhat/devkit/ppc/405/target/usr/local \ - --exec-prefix=/usr/local - - (end script) - - The '--prefix' parameter specifies where cURL will be installed. If - 'configure' completes successfully, do 'make' and 'make install' as usual. - -PORTS -===== - This is a probably incomplete list of known hardware and operating systems - that curl has been compiled for. If you know one system curl compiles and - runs on, that isn't listed, please let us know! - - - Alpha DEC OSF 4 - - Alpha Digital UNIX v3.2 - - Alpha FreeBSD 4.1 - - Alpha Linux 2.2.16 - - Alpha OpenVMS V7.1-1H2 - - Alpha Tru64 v5.0 5.1 - - HP-PA HP-UX 9.X 10.X 11.X - - HP-PA Linux - - MIPS IRIX 6.2, 6.5 - - MIPS Linux - - Pocket PC/Win CE 3.0 - - Power AIX 4.2, 4.3.1, 4.3.2 - - PowerPC Darwin 1.0 - - PowerPC Linux - - PowerPC Mac OS 9 - - PowerPC Mac OS X - - SINIX-Z v5 - - Sparc Linux - - Sparc Solaris 2.4, 2.5, 2.5.1, 2.6, 7, 8 - - Sparc SunOS 4.1.X - - StrongARM (and other ARM) RISC OS 3.1, 4.02 - - StrongARM Linux 2.4 - - StrongARM NetBSD 1.4.1 - - Ultrix 4.3a - - i386 BeOS - - i386 FreeBSD - - i386 HURD - - i386 Linux 1.3, 2.0, 2.2, 2.3, 2.4 - - i386 NetBSD - - i386 OS/2 - - i386 OpenBSD - - i386 SCO unix - - i386 Solaris 2.7 - - i386 Windows 95, 98, ME, NT, 2000 - - ia64 Linux 2.3.99 - - m68k AmigaOS 3 - - m68k Linux - - m68k OpenBSD - - s390 Linux - -OpenSSL -======= - - You'll find OpenSSL information at: - - http://www.openssl.org - - -MingW32/Cygwin -============== - - You'll find MingW32 and Cygwin information at: - - http://www.mingw.org - -OpenLDAP -======== - - You'll find OpenLDAP information at: - - http://www.openldap.org - - You need to install it with shared libraries, which is enabled when running - the ldap configure script with "--enable-shared". With my linux 2.0.36 - kernel I also had to disable using threads (with --without-threads), - because the configure script couldn't figure out my system. diff --git a/Build/source/libs/curl/docs/INTERNALS b/Build/source/libs/curl/docs/INTERNALS deleted file mode 100644 index 42ac4508bb6..00000000000 --- a/Build/source/libs/curl/docs/INTERNALS +++ /dev/null @@ -1,381 +0,0 @@ - Updated for curl 7.9.1 on November 2, 2001 - _ _ ____ _ - ___| | | | _ \| | - / __| | | | |_) | | - | (__| |_| | _ <| |___ - \___|\___/|_| \_\_____| - -INTERNALS - - The project is split in two. The library and the client. The client part uses - the library, but the library is designed to allow other applications to use - it. - - The largest amount of code and complexity is in the library part. - -CVS -=== - All changes to the sources are committed to the CVS repository as soon as - they're somewhat verified to work. Changes shall be commited as independently - as possible so that individual changes can be easier spotted and tracked - afterwards. - - Tagging shall be used extensively, and by the time we release new archives we - should tag the sources with a name similar to the released version number. - -Windows vs Unix -=============== - - There are a few differences in how to program curl the unix way compared to - the Windows way. The four perhaps most notable details are: - - 1. Different function names for socket operations. - - In curl, this is solved with defines and macros, so that the source looks - the same at all places except for the header file that defines them. The - macros in use are sclose(), sread() and swrite(). - - 2. Windows requires a couple of init calls for the socket stuff. - - Those must be made by the application that uses libcurl, in curl that means - src/main.c has some code #ifdef'ed to do just that. - - 3. The file descriptors for network communication and file operations are - not easily interchangable as in unix. - - We avoid this by not trying any funny tricks on file descriptors. - - 4. When writing data to stdout, Windows makes end-of-lines the DOS way, thus - destroying binary data, although you do want that conversion if it is - text coming through... (sigh) - - We set stdout to binary under windows - - Inside the source code, We make an effort to avoid '#ifdef [Your OS]'. All - conditionals that deal with features *should* instead be in the format - '#ifdef HAVE_THAT_WEIRD_FUNCTION'. Since Windows can't run configure scripts, - we maintain two config-win32.h files (one in lib/ and one in src/) that are - supposed to look exactly as a config.h file would have looked like on a - Windows machine! - - Generally speaking: always remember that this will be compiled on dozens of - operating systems. Don't walk on the edge. - -Library -======= - - There are plenty of entry points to the library, namely each publicly defined - function that libcurl offers to applications. All of those functions are - rather small and easy-to-follow. All the ones prefixed with 'curl_easy' are - put in the lib/easy.c file. - - curl_global_init_() and curl_global_cleanup() should be called by the - application to initialize and clean up global stuff in the library. As of - today, it can handle the global SSL initing if SSL is enabled and it can init - the socket layer on windows machines. libcurl itself has no "global" scope. - - All printf()-style functions use the supplied clones in lib/mprintf.c. This - makes sure we stay absolutely platform independent. - - curl_easy_init() allocates an internal struct and makes some initializations. - The returned handle does not reveal internals. This is the 'SessionHandle' - struct which works as an "anchor" struct for all curl_easy functions. All - connections performed will get connect-specific data allocated that should be - used for things related to particular connections/requests. - - curl_easy_setopt() takes three arguments, where the option stuff must be - passed in pairs: the parameter-ID and the parameter-value. The list of - options is documented in the man page. This function mainly sets things in - the 'SessionHandle' struct. - - curl_easy_perform() does a whole lot of things: - - It starts off in the lib/easy.c file by calling Curl_perform() and the main - work then continues in lib/url.c. The flow continues with a call to - Curl_connect() to connect to the remote site. - - o Curl_connect() - - ... analyzes the URL, it separates the different components and connects to - the remote host. This may involve using a proxy and/or using SSL. The - Curl_gethost() function in lib/hostip.c is used for looking up host names. - - When Curl_connect is done, we are connected to the remote site. Then it is - time to tell the server to get a document/file. Curl_do() arranges this. - - This function makes sure there's an allocated and initiated 'connectdata' - struct that is used for this particular connection only (although there may - be several requests performed on the same connect). A bunch of things are - inited/inherited from the SessionHandle struct. - - o Curl_do() - - Curl_do() makes sure the proper protocol-specific function is called. The - functions are named after the protocols they handle. Curl_ftp(), - Curl_http(), Curl_dict(), etc. They all reside in their respective files - (ftp.c, http.c and dict.c). HTTPS is handled by Curl_http() and FTPS by - Curl_ftp(). - - The protocol-specific functions of course deal with protocol-specific - negotiations and setup. They have access to the Curl_sendf() (from - lib/sendf.c) function to send printf-style formatted data to the remote - host and when they're ready to make the actual file transfer they call the - Curl_Transfer() function (in lib/transfer.c) to setup the transfer and - returns. - - Starting in 7.9.1, if this DO function fails and the connection is being - re-used, libcurl will then close this connection, setup a new connection - and re-issue the DO request on that. This is because there is no way to be - perfectly sure that we have discovered a dead connection before the DO - function and thus we might wrongly be re-using a connection that was closed - by the remote peer. - - o Transfer() - - Curl_perform() then calls Transfer() in lib/transfer.c that performs - the entire file transfer. - - During transfer, the progress functions in lib/progress.c are called at a - frequent interval (or at the user's choice, a specified callback might get - called). The speedcheck functions in lib/speedcheck.c are also used to - verify that the transfer is as fast as required. - - o Curl_done() - - Called after a transfer is done. This function takes care of everything - that has to be done after a transfer. This function attempts to leave - matters in a state so that Curl_do() should be possible to call again on - the same connection (in a persistent connection case). It might also soon - be closed with Curl_disconnect(). - - o Curl_disconnect() - - When doing normal connections and transfers, no one ever tries to close any - connections so this is not normally called when curl_easy_perform() is - used. This function is only used when we are certain that no more transfers - is going to be made on the connection. It can be also closed by force, or - it can be called to make sure that libcurl doesn't keep too many - connections alive at the same time (there's a default amount of 5 but that - can be changed with the CURLOPT_MAXCONNECTS option). - - This function cleans up all resources that are associated with a single - connection. - - Curl_perform() is the function that does the main "connect - do - transfer - - done" loop. It loops if there's a Location: to follow. - - When completed, the curl_easy_cleanup() should be called to free up used - resources. It runs Curl_disconnect() on all open connectons. - - A quick roundup on internal function sequences (many of these call - protocol-specific function-pointers): - - curl_connect - connects to a remote site and does initial connect fluff - This also checks for an existing connection to the requested site and uses - that one if it is possible. - - curl_do - starts a transfer - curl_transfer() - transfers data - curl_done - ends a transfer - - curl_disconnect - disconnects from a remote site. This is called when the - disconnect is really requested, which doesn't necessarily have to be - exactly after curl_done in case we want to keep the connection open for - a while. - - HTTP(S) - - HTTP offers a lot and is the protocol in curl that uses the most lines of - code. There is a special file (lib/formdata.c) that offers all the multipart - post functions. - - base64-functions for user+password stuff (and more) is in (lib/base64.c) and - all functions for parsing and sending cookies are found in (lib/cookie.c). - - HTTPS uses in almost every means the same procedure as HTTP, with only two - exceptions: the connect procedure is different and the function used to read - or write from the socket is different, although the latter fact is hidden in - the source by the use of curl_read() for reading and curl_write() for writing - data to the remote server. - - http_chunks.c contains functions that understands HTTP 1.1 chunked transfer - encoding. - - An interesting detail with the HTTP(S) request, is the add_buffer() series of - functions we use. They append data to one single buffer, and when the - building is done the entire request is sent off in one single write. This is - done this way to overcome problems with flawed firewalls and lame servers. - - FTP - - The Curl_if2ip() function can be used for getting the IP number of a - specified network interface, and it resides in lib/if2ip.c. - - Curl_ftpsendf() is used for sending FTP commands to the remote server. It was - made a separate function to prevent us programmers from forgetting that they - must be CRLF terminated. They must also be sent in one single write() to make - firewalls and similar happy. - - Kerberos - - The kerberos support is mainly in lib/krb4.c and lib/security.c. - - TELNET - - Telnet is implemented in lib/telnet.c. - - FILE - - The file:// protocol is dealt with in lib/file.c. - - LDAP - - Everything LDAP is in lib/ldap.c. - - GENERAL - - URL encoding and decoding, called escaping and unescaping in the source code, - is found in lib/escape.c. - - While transfering data in Transfer() a few functions might get - used. curl_getdate() in lib/getdate.c is for HTTP date comparisons (and - more). - - lib/getenv.c offers curl_getenv() which is for reading environment variables - in a neat platform independent way. That's used in the client, but also in - lib/url.c when checking the proxy environment variables. Note that contrary - to the normal unix getenv(), this returns an allocated buffer that must be - free()ed after use. - - lib/netrc.c holds the .netrc parser - - lib/timeval.c features replacement functions for systems that don't have - gettimeofday() and a few support functions for timeval convertions. - - A function named curl_version() that returns the full curl version string is - found in lib/version.c. - - If authentication is requested but no password is given, a getpass_r() clone - exists in lib/getpass.c. libcurl offers a custom callback that can be used - instead of this, but it doesn't change much to us. - -Persistent Connections -====================== - - The persistent connection support in libcurl requires some considerations on - how to do things inside of the library. - - o The 'SessionHandle' struct returned in the curl_easy_init() call must never - hold connection-oriented data. It is meant to hold the root data as well as - all the options etc that the library-user may choose. - o The 'SessionHandle' struct holds the "connection cache" (an array of - pointers to 'connectdata' structs). There's one connectdata struct - allocated for each connection that libcurl knows about. - o This also enables the 'curl handle' to be reused on subsequent transfers, - something that was illegal before libcurl 7.7. - o When we are about to perform a transfer with curl_easy_perform(), we first - check for an already existing connection in the cache that we can use, - otherwise we create a new one and add to the cache. If the cache is full - already when we add a new connection, we close one of the present ones. We - select which one to close dependent on the close policy that may have been - previously set. - o When the transfer operation is complete, we try to leave the connection - open. Particular options may tell us not to, and protocols may signal - closure on connections and then we don't keep it open of course. - o When curl_easy_cleanup() is called, we close all still opened connections. - - You do realize that the curl handle must be re-used in order for the - persistent connections to work. - -Library Symbols -=============== - - All symbols used internally in libcurl must use a 'Curl_' prefix if they're - used in more than a single file. Single-file symbols must be made static. - Public ("exported") symbols must use a 'curl_' prefix. (There are exceptions, - but they are to be changed to follow this pattern in future versions.) - -Return Codes and Informationals -=============================== - - I've made things simple. Almost every function in libcurl returns a CURLcode, - that must be CURLE_OK if everything is OK or otherwise a suitable error code - as the curl/curl.h include file defines. The very spot that detects an error - must use the Curl_failf() function to set the human-readable error - description. - - In aiding the user to understand what's happening and to debug curl usage, we - must supply a fair amount of informational messages by using the Curl_infof() - function. Those messages are only displayed when the user explicitly asks for - them. They are best used when revealing information that isn't otherwise - obvious. - -Client -====== - - main() resides in src/main.c together with most of the client code. - - src/hugehelp.c is automatically generated by the mkhelp.pl perl script to - display the complete "manual" and the src/urlglob.c file holds the functions - used for the URL-"globbing" support. Globbing in the sense that the {} and [] - expansion stuff is there. - - The client mostly messes around to setup its 'config' struct properly, then - it calls the curl_easy_*() functions of the library and when it gets back - control after the curl_easy_perform() it cleans up the library, checks status - and exits. - - When the operation is done, the ourWriteOut() function in src/writeout.c may - be called to report about the operation. That function is using the - curl_easy_getinfo() function to extract useful information from the curl - session. - - Recent versions may loop and do all this several times if many URLs were - specified on the command line or config file. - -Memory Debugging -================ - - The file lib/memdebug.c contains debug-versions of a few functions. Functions - such as malloc, free, fopen, fclose, etc that somehow deal with resources - that might give us problems if we "leak" them. The functions in the memdebug - system do nothing fancy, they do their normal function and then log - information about what they just did. The logged data can then be analyzed - after a complete session, - - memanalyze.pl is the perl script present only present in CVS (not part of the - release archives) that analyzes a log file generated by the memdebug - system. It detects if resources are allocated but never freed and other kinds - of errors related to resource management. - - Use -DMALLOCDEBUG when compiling to enable memory debugging, this is also - switched on by running configure with --enable-debug. - -Test Suite -========== - - Since November 2000, a test suite has evolved. It is placed in its own - subdirectory directly off the root in the curl archive tree, and it contains - a bunch of scripts and a lot of test case data. - - The main test script is runtests.pl that will invoke the two servers - httpserver.pl and ftpserver.pl before all the test cases are performed. The - test suite currently only runs on unix-like platforms. - - You'll find a complete description of the test case data files in the - tests/README file. - - The test suite automatically detects if curl was built with the memory - debugging enabled, and if it was it will detect memory leaks too. - -Building Releases -================= - - There's no magic to this. When you consider everything stable enough to be - released, run the 'maketgz' script (using 'make distcheck' will give you a - pretty good view on the status of the current sources). maketgz prompts for - version number of the client and the library before it creates a release - archive. maketgz uses 'make dist' for the actual archive building, why you - need to fill in the Makefile.am files properly for which files that should - be included in the release archives. - diff --git a/Build/source/libs/curl/docs/KNOWN_BUGS b/Build/source/libs/curl/docs/KNOWN_BUGS deleted file mode 100644 index ed389b590e7..00000000000 --- a/Build/source/libs/curl/docs/KNOWN_BUGS +++ /dev/null @@ -1,14 +0,0 @@ -These are problems known to exist at the time of this release. Feel free to -join in and help us correct one or more of these! Also be sure to check the -changelog of the current development status, as one or more of these problems -may have been fixed since this was written! - -* curl_formadd() fails on OSF1. Why? Fix! Need help from OSF1 dudes. - https://sourceforge.net/tracker/index.php?func=detail&aid=524433&group_id=976&atid=100976 - -* Running 'make test' on Mac OS X gives 4 errors. This seems to be related - to some kind of libtool problem: - http://curl.haxx.se/mail/archive-2002-03/0029.html and - http://curl.haxx.se/mail/archive-2002-03/0033.html - -* libcurl does not deal nicely with files larger than 2GB
\ No newline at end of file diff --git a/Build/source/libs/curl/docs/MANUAL b/Build/source/libs/curl/docs/MANUAL deleted file mode 100644 index 8a66d134207..00000000000 --- a/Build/source/libs/curl/docs/MANUAL +++ /dev/null @@ -1,818 +0,0 @@ -LATEST VERSION - - You always find news about what's going on as well as the latest versions - from the curl web pages, located at: - - http://curl.haxx.se - -SIMPLE USAGE - - Get the main page from netscape's web-server: - - curl http://www.netscape.com/ - - Get the root README file from funet's ftp-server: - - curl ftp://ftp.funet.fi/README - - Get a web page from a server using port 8000: - - curl http://www.weirdserver.com:8000/ - - Get a list of the root directory of an FTP site: - - curl ftp://cool.haxx.se/ - - Get a gopher document from funet's gopher server: - - curl gopher://gopher.funet.fi - - Get the definition of curl from a dictionary: - - curl dict://dict.org/m:curl - - Fetch two documents at once: - - curl ftp://cool.haxx.se/ http://www.weirdserver.com:8000/ - -DOWNLOAD TO A FILE - - Get a web page and store in a local file: - - curl -o thatpage.html http://www.netscape.com/ - - Get a web page and store in a local file, make the local file get the name - of the remote document (if no file name part is specified in the URL, this - will fail): - - curl -O http://www.netscape.com/index.html - - Fetch two files and store them with their remote names: - - curl -O www.haxx.se/index.html -O curl.haxx.se/download.html - -USING PASSWORDS - - FTP - - To ftp files using name+passwd, include them in the URL like: - - curl ftp://name:passwd@machine.domain:port/full/path/to/file - - or specify them with the -u flag like - - curl -u name:passwd ftp://machine.domain:port/full/path/to/file - - HTTP - - The HTTP URL doesn't support user and password in the URL string. Curl - does support that anyway to provide a ftp-style interface and thus you can - pick a file like: - - curl http://name:passwd@machine.domain/full/path/to/file - - or specify user and password separately like in - - curl -u name:passwd http://machine.domain/full/path/to/file - - NOTE! Since HTTP URLs don't support user and password, you can't use that - style when using Curl via a proxy. You _must_ use the -u style fetch - during such circumstances. - - HTTPS - - Probably most commonly used with private certificates, as explained below. - - GOPHER - - Curl features no password support for gopher. - -PROXY - - Get an ftp file using a proxy named my-proxy that uses port 888: - - curl -x my-proxy:888 ftp://ftp.leachsite.com/README - - Get a file from a HTTP server that requires user and password, using the - same proxy as above: - - curl -u user:passwd -x my-proxy:888 http://www.get.this/ - - Some proxies require special authentication. Specify by using -U as above: - - curl -U user:passwd -x my-proxy:888 http://www.get.this/ - - See also the environment variables Curl support that offer further proxy - control. - -RANGES - - With HTTP 1.1 byte-ranges were introduced. Using this, a client can request - to get only one or more subparts of a specified document. Curl supports - this with the -r flag. - - Get the first 100 bytes of a document: - - curl -r 0-99 http://www.get.this/ - - Get the last 500 bytes of a document: - - curl -r -500 http://www.get.this/ - - Curl also supports simple ranges for FTP files as well. Then you can only - specify start and stop position. - - Get the first 100 bytes of a document using FTP: - - curl -r 0-99 ftp://www.get.this/README - -UPLOADING - - FTP - - Upload all data on stdin to a specified ftp site: - - curl -T - ftp://ftp.upload.com/myfile - - Upload data from a specified file, login with user and password: - - curl -T uploadfile -u user:passwd ftp://ftp.upload.com/myfile - - Upload a local file to the remote site, and use the local file name remote - too: - - curl -T uploadfile -u user:passwd ftp://ftp.upload.com/ - - Upload a local file to get appended to the remote file using ftp: - - curl -T localfile -a ftp://ftp.upload.com/remotefile - - Curl also supports ftp upload through a proxy, but only if the proxy is - configured to allow that kind of tunneling. If it does, you can run curl in - a fashion similar to: - - curl --proxytunnel -x proxy:port -T localfile ftp.upload.com - - HTTP - - Upload all data on stdin to a specified http site: - - curl -T - http://www.upload.com/myfile - - Note that the http server must've been configured to accept PUT before this - can be done successfully. - - For other ways to do http data upload, see the POST section below. - -VERBOSE / DEBUG - - If curl fails where it isn't supposed to, if the servers don't let you - in, if you can't understand the responses: use the -v flag to get VERBOSE - fetching. Curl will output lots of info and all data it sends and - receives in order to let the user see all client-server interaction. - - curl -v ftp://ftp.upload.com/ - -DETAILED INFORMATION - - Different protocols provide different ways of getting detailed information - about specific files/documents. To get curl to show detailed information - about a single file, you should use -I/--head option. It displays all - available info on a single file for HTTP and FTP. The HTTP information is a - lot more extensive. - - For HTTP, you can get the header information (the same as -I would show) - shown before the data by using -i/--include. Curl understands the - -D/--dump-header option when getting files from both FTP and HTTP, and it - will then store the headers in the specified file. - - Store the HTTP headers in a separate file (headers.txt in the example): - - curl --dump-header headers.txt curl.haxx.se - - Note that headers stored in a separate file can be very useful at a later - time if you want curl to use cookies sent by the server. More about that in - the cookies section. - -POST (HTTP) - - It's easy to post data using curl. This is done using the -d <data> - option. The post data must be urlencoded. - - Post a simple "name" and "phone" guestbook. - - curl -d "name=Rafael%20Sagula&phone=3320780" \ - http://www.where.com/guest.cgi - - How to post a form with curl, lesson #1: - - Dig out all the <input> tags in the form that you want to fill in. (There's - a perl program called formfind.pl on the curl site that helps with this). - - If there's a "normal" post, you use -d to post. -d takes a full "post - string", which is in the format - - <variable1>=<data1>&<variable2>=<data2>&... - - The 'variable' names are the names set with "name=" in the <input> tags, and - the data is the contents you want to fill in for the inputs. The data *must* - be properly URL encoded. That means you replace space with + and that you - write weird letters with %XX where XX is the hexadecimal representation of - the letter's ASCII code. - - Example: - - (page located at http://www.formpost.com/getthis/ - - <form action="post.cgi" method="post"> - <input name=user size=10> - <input name=pass type=password size=10> - <input name=id type=hidden value="blablabla"> - <input name=ding value="submit"> - </form> - - We want to enter user 'foobar' with password '12345'. - - To post to this, you enter a curl command line like: - - curl -d "user=foobar&pass=12345&id=blablabla&dig=submit" (continues) - http://www.formpost.com/getthis/post.cgi - - - While -d uses the application/x-www-form-urlencoded mime-type, generally - understood by CGI's and similar, curl also supports the more capable - multipart/form-data type. This latter type supports things like file upload. - - -F accepts parameters like -F "name=contents". If you want the contents to - be read from a file, use <@filename> as contents. When specifying a file, - you can also specify the file content type by appending ';type=<mime type>' - to the file name. You can also post the contents of several files in one - field. For example, the field name 'coolfiles' is used to send three files, - with different content types using the following syntax: - - curl -F "coolfiles=@fil1.gif;type=image/gif,fil2.txt,fil3.html" \ - http://www.post.com/postit.cgi - - If the content-type is not specified, curl will try to guess from the file - extension (it only knows a few), or use the previously specified type (from - an earlier file if several files are specified in a list) or else it will - using the default type 'text/plain'. - - Emulate a fill-in form with -F. Let's say you fill in three fields in a - form. One field is a file name which to post, one field is your name and one - field is a file description. We want to post the file we have written named - "cooltext.txt". To let curl do the posting of this data instead of your - favourite browser, you have to read the HTML source of the form page and - find the names of the input fields. In our example, the input field names - are 'file', 'yourname' and 'filedescription'. - - curl -F "file=@cooltext.txt" -F "yourname=Daniel" \ - -F "filedescription=Cool text file with cool text inside" \ - http://www.post.com/postit.cgi - - To send two files in one post you can do it in two ways: - - 1. Send multiple files in a single "field" with a single field name: - - curl -F "pictures=@dog.gif,cat.gif" - - 2. Send two fields with two field names: - - curl -F "docpicture=@dog.gif" -F "catpicture=@cat.gif" - -REFERRER - - A HTTP request has the option to include information about which address - that referred to actual page. Curl allows you to specify the - referrer to be used on the command line. It is especially useful to - fool or trick stupid servers or CGI scripts that rely on that information - being available or contain certain data. - - curl -e www.coolsite.com http://www.showme.com/ - - NOTE: The referer field is defined in the HTTP spec to be a full URL. - -USER AGENT - - A HTTP request has the option to include information about the browser - that generated the request. Curl allows it to be specified on the command - line. It is especially useful to fool or trick stupid servers or CGI - scripts that only accept certain browsers. - - Example: - - curl -A 'Mozilla/3.0 (Win95; I)' http://www.nationsbank.com/ - - Other common strings: - 'Mozilla/3.0 (Win95; I)' Netscape Version 3 for Windows 95 - 'Mozilla/3.04 (Win95; U)' Netscape Version 3 for Windows 95 - 'Mozilla/2.02 (OS/2; U)' Netscape Version 2 for OS/2 - 'Mozilla/4.04 [en] (X11; U; AIX 4.2; Nav)' NS for AIX - 'Mozilla/4.05 [en] (X11; U; Linux 2.0.32 i586)' NS for Linux - - Note that Internet Explorer tries hard to be compatible in every way: - 'Mozilla/4.0 (compatible; MSIE 4.01; Windows 95)' MSIE for W95 - - Mozilla is not the only possible User-Agent name: - 'Konqueror/1.0' KDE File Manager desktop client - 'Lynx/2.7.1 libwww-FM/2.14' Lynx command line browser - -COOKIES - - Cookies are generally used by web servers to keep state information at the - client's side. The server sets cookies by sending a response line in the - headers that looks like 'Set-Cookie: <data>' where the data part then - typically contains a set of NAME=VALUE pairs (separated by semicolons ';' - like "NAME1=VALUE1; NAME2=VALUE2;"). The server can also specify for what - path the "cookie" should be used for (by specifying "path=value"), when the - cookie should expire ("expire=DATE"), for what domain to use it - ("domain=NAME") and if it should be used on secure connections only - ("secure"). - - If you've received a page from a server that contains a header like: - Set-Cookie: sessionid=boo123; path="/foo"; - - it means the server wants that first pair passed on when we get anything in - a path beginning with "/foo". - - Example, get a page that wants my name passed in a cookie: - - curl -b "name=Daniel" www.sillypage.com - - Curl also has the ability to use previously received cookies in following - sessions. If you get cookies from a server and store them in a file in a - manner similar to: - - curl --dump-header headers www.example.com - - ... you can then in a second connect to that (or another) site, use the - cookies from the 'headers' file like: - - curl -b headers www.example.com - - Note that by specifying -b you enable the "cookie awareness" and with -L - you can make curl follow a location: (which often is used in combination - with cookies). So that if a site sends cookies and a location, you can - use a non-existing file to trigger the cookie awareness like: - - curl -L -b empty.txt www.example.com - - The file to read cookies from must be formatted using plain HTTP headers OR - as netscape's cookie file. Curl will determine what kind it is based on the - file contents. In the above command, curl will parse the header and store - the cookies received from www.example.com. curl will send to the server the - stored cookies which match the request as it follows the location. The - file "empty.txt" may be a non-existant file. - - -PROGRESS METER - - The progress meter exists to show a user that something actually is - happening. The different fields in the output have the following meaning: - - % Total % Received % Xferd Average Speed Time Curr. - Dload Upload Total Current Left Speed - 0 151M 0 38608 0 0 9406 0 4:41:43 0:00:04 4:41:39 9287 - - From left-to-right: - % - percentage completed of the whole transfer - Total - total size of the whole expected transfer - % - percentage completed of the download - Received - currently downloaded amount of bytes - % - percentage completed of the upload - Xferd - currently uploaded amount of bytes - Average Speed - Dload - the average transfer speed of the download - Average Speed - Upload - the average transfer speed of the upload - Time Total - expected time to complete the operation - Time Current - time passed since the invoke - Time Left - expected time left to completetion - Curr.Speed - the average transfer speed the last 5 seconds (the first - 5 seconds of a transfer is based on less time of course.) - - The -# option will display a totally different progress bar that doesn't - need much explanation! - -SPEED LIMIT - - Curl allows the user to set the transfer speed conditions that must be met - to let the transfer keep going. By using the switch -y and -Y you - can make curl abort transfers if the transfer speed is below the specified - lowest limit for a specified time. - - To have curl abort the download if the speed is slower than 3000 bytes per - second for 1 minute, run: - - curl -y 3000 -Y 60 www.far-away-site.com - - This can very well be used in combination with the overall time limit, so - that the above operatioin must be completed in whole within 30 minutes: - - curl -m 1800 -y 3000 -Y 60 www.far-away-site.com - -CONFIG FILE - - Curl automatically tries to read the .curlrc file (or _curlrc file on win32 - systems) from the user's home dir on startup. - - The config file could be made up with normal command line switches, but you - can also specify the long options without the dashes to make it more - readable. You can separate the options and the parameter with spaces, or - with = or :. Comments can be used within the file. If the first letter on a - line is a '#'-letter the rest of the line is treated as a comment. - - If you want the parameter to contain spaces, you must inclose the entire - parameter within double quotes ("). Within those quotes, you specify a - quote as \". - - NOTE: You must specify options and their arguments on the same line. - - Example, set default time out and proxy in a config file: - - # We want a 30 minute timeout: - -m 1800 - # ... and we use a proxy for all accesses: - proxy = proxy.our.domain.com:8080 - - White spaces ARE significant at the end of lines, but all white spaces - leading up to the first characters of each line are ignored. - - Prevent curl from reading the default file by using -q as the first command - line parameter, like: - - curl -q www.thatsite.com - - Force curl to get and display a local help page in case it is invoked - without URL by making a config file similar to: - - # default url to get - url = "http://help.with.curl.com/curlhelp.html" - - You can specify another config file to be read by using the -K/--config - flag. If you set config file name to "-" it'll read the config from stdin, - which can be handy if you want to hide options from being visible in process - tables etc: - - echo "user = user:passwd" | curl -K - http://that.secret.site.com - -EXTRA HEADERS - - When using curl in your own very special programs, you may end up needing - to pass on your own custom headers when getting a web page. You can do - this by using the -H flag. - - Example, send the header "X-you-and-me: yes" to the server when getting a - page: - - curl -H "X-you-and-me: yes" www.love.com - - This can also be useful in case you want curl to send a different text in a - header than it normally does. The -H header you specify then replaces the - header curl would normally send. If you replace an internal header with an - empty one, you prevent that header from being sent. To prevent the Host: - header from being used: - - curl -H "Host:" www.server.com - -FTP and PATH NAMES - - Do note that when getting files with the ftp:// URL, the given path is - relative the directory you enter. To get the file 'README' from your home - directory at your ftp site, do: - - curl ftp://user:passwd@my.site.com/README - - But if you want the README file from the root directory of that very same - site, you need to specify the absolute file name: - - curl ftp://user:passwd@my.site.com//README - - (I.e with an extra slash in front of the file name.) - -FTP and firewalls - - The FTP protocol requires one of the involved parties to open a second - connction as soon as data is about to get transfered. There are two ways to - do this. - - The default way for curl is to issue the PASV command which causes the - server to open another port and await another connection performed by the - client. This is good if the client is behind a firewall that don't allow - incoming connections. - - curl ftp.download.com - - If the server for example, is behind a firewall that don't allow connections - on other ports than 21 (or if it just doesn't support the PASV command), the - other way to do it is to use the PORT command and instruct the server to - connect to the client on the given (as parameters to the PORT command) IP - number and port. - - The -P flag to curl supports a few different options. Your machine may have - several IP-addresses and/or network interfaces and curl allows you to select - which of them to use. Default address can also be used: - - curl -P - ftp.download.com - - Download with PORT but use the IP address of our 'le0' interface (this does - not work on windows): - - curl -P le0 ftp.download.com - - Download with PORT but use 192.168.0.10 as our IP address to use: - - curl -P 192.168.0.10 ftp.download.com - -NETWORK INTERFACE - - Get a web page from a server using a specified port for the interface: - - curl --interface eth0:1 http://www.netscape.com/ - - or - - curl --interface 192.168.1.10 http://www.netscape.com/ - -HTTPS - - Secure HTTP requires SSL libraries to be installed and used when curl is - built. If that is done, curl is capable of retrieving and posting documents - using the HTTPS procotol. - - Example: - - curl https://www.secure-site.com - - Curl is also capable of using your personal certificates to get/post files - from sites that require valid certificates. The only drawback is that the - certificate needs to be in PEM-format. PEM is a standard and open format to - store certificates with, but it is not used by the most commonly used - browsers (Netscape and MSEI both use the so called PKCS#12 format). If you - want curl to use the certificates you use with your (favourite) browser, you - may need to download/compile a converter that can convert your browser's - formatted certificates to PEM formatted ones. This kind of converter is - included in recent versions of OpenSSL, and for older versions Dr Stephen - N. Henson has written a patch for SSLeay that adds this functionality. You - can get his patch (that requires an SSLeay installation) from his site at: - http://www.drh-consultancy.demon.co.uk/ - - Example on how to automatically retrieve a document using a certificate with - a personal password: - - curl -E /path/to/cert.pem:password https://secure.site.com/ - - If you neglect to specify the password on the command line, you will be - prompted for the correct password before any data can be received. - - Many older SSL-servers have problems with SSLv3 or TLS, that newer versions - of OpenSSL etc is using, therefore it is sometimes useful to specify what - SSL-version curl should use. Use -3 or -2 to specify that exact SSL version - to use: - - curl -2 https://secure.site.com/ - - Otherwise, curl will first attempt to use v3 and then v2. - - To use OpenSSL to convert your favourite browser's certificate into a PEM - formatted one that curl can use, do something like this (assuming netscape, - but IE is likely to work similarly): - - You start with hitting the 'security' menu button in netscape. - - Select 'certificates->yours' and then pick a certificate in the list - - Press the 'export' button - - enter your PIN code for the certs - - select a proper place to save it - - Run the 'openssl' application to convert the certificate. If you cd to the - openssl installation, you can do it like: - - # ./apps/openssl pkcs12 -in [file you saved] -clcerts -out [PEMfile] - - -RESUMING FILE TRANSFERS - - To continue a file transfer where it was previously aborted, curl supports - resume on http(s) downloads as well as ftp uploads and downloads. - - Continue downloading a document: - - curl -C - -o file ftp://ftp.server.com/path/file - - Continue uploading a document(*1): - - curl -C - -T file ftp://ftp.server.com/path/file - - Continue downloading a document from a web server(*2): - - curl -C - -o file http://www.server.com/ - - (*1) = This requires that the ftp server supports the non-standard command - SIZE. If it doesn't, curl will say so. - - (*2) = This requires that the web server supports at least HTTP/1.1. If it - doesn't, curl will say so. - -TIME CONDITIONS - - HTTP allows a client to specify a time condition for the document it - requests. It is If-Modified-Since or If-Unmodified-Since. Curl allow you to - specify them with the -z/--time-cond flag. - - For example, you can easily make a download that only gets performed if the - remote file is newer than a local copy. It would be made like: - - curl -z local.html http://remote.server.com/remote.html - - Or you can download a file only if the local file is newer than the remote - one. Do this by prepending the date string with a '-', as in: - - curl -z -local.html http://remote.server.com/remote.html - - You can specify a "free text" date as condition. Tell curl to only download - the file if it was updated since yesterday: - - curl -z yesterday http://remote.server.com/remote.html - - Curl will then accept a wide range of date formats. You always make the date - check the other way around by prepending it with a dash '-'. - -DICT - - For fun try - - curl dict://dict.org/m:curl - curl dict://dict.org/d:heisenbug:jargon - curl dict://dict.org/d:daniel:web1913 - - Aliases for 'm' are 'match' and 'find', and aliases for 'd' are 'define' - and 'lookup'. For example, - - curl dict://dict.org/find:curl - - Commands that break the URL description of the RFC (but not the DICT - protocol) are - - curl dict://dict.org/show:db - curl dict://dict.org/show:strat - - Authentication is still missing (but this is not required by the RFC) - -LDAP - - If you have installed the OpenLDAP library, curl can take advantage of it - and offer ldap:// support. - - LDAP is a complex thing and writing an LDAP query is not an easy task. I do - advice you to dig up the syntax description for that elsewhere. Two places - that might suit you are: - - Netscape's "Netscape Directory SDK 3.0 for C Programmer's Guide Chapter 10: - Working with LDAP URLs": - http://developer.netscape.com/docs/manuals/dirsdk/csdk30/url.htm - - RFC 2255, "The LDAP URL Format" http://www.rfc-editor.org/rfc/rfc2255.txt - - To show you an example, this is now I can get all people from my local LDAP - server that has a certain sub-domain in their email address: - - curl -B "ldap://ldap.frontec.se/o=frontec??sub?mail=*sth.frontec.se" - - If I want the same info in HTML format, I can get it by not using the -B - (enforce ASCII) flag. - -ENVIRONMENT VARIABLES - - Curl reads and understands the following environment variables: - - HTTP_PROXY, HTTPS_PROXY, FTP_PROXY, GOPHER_PROXY - - They should be set for protocol-specific proxies. General proxy should be - set with - - ALL_PROXY - - A comma-separated list of host names that shouldn't go through any proxy is - set in (only an asterisk, '*' matches all hosts) - - NO_PROXY - - If a tail substring of the domain-path for a host matches one of these - strings, transactions with that node will not be proxied. - - - The usage of the -x/--proxy flag overrides the environment variables. - -NETRC - - Unix introduced the .netrc concept a long time ago. It is a way for a user - to specify name and password for commonly visited ftp sites in a file so - that you don't have to type them in each time you visit those sites. You - realize this is a big security risk if someone else gets hold of your - passwords, so therefor most unix programs won't read this file unless it is - only readable by yourself (curl doesn't care though). - - Curl supports .netrc files if told so (using the -n/--netrc option). This is - not restricted to only ftp, but curl can use it for all protocols where - authentication is used. - - A very simple .netrc file could look something like: - - machine curl.haxx.se login iamdaniel password mysecret - -CUSTOM OUTPUT - - To better allow script programmers to get to know about the progress of - curl, the -w/--write-out option was introduced. Using this, you can specify - what information from the previous transfer you want to extract. - - To display the amount of bytes downloaded together with some text and an - ending newline: - - curl -w 'We downloaded %{size_download} bytes\n' www.download.com - -KERBEROS4 FTP TRANSFER - - Curl supports kerberos4 for FTP transfers. You need the kerberos package - installed and used at curl build time for it to be used. - - First, get the krb-ticket the normal way, like with the kauth tool. Then use - curl in way similar to: - - curl --krb4 private ftp://krb4site.com -u username:fakepwd - - There's no use for a password on the -u switch, but a blank one will make - curl ask for one and you already entered the real password to kauth. - -TELNET - - The curl telnet support is basic and very easy to use. Curl passes all data - passed to it on stdin to the remote server. Connect to a remote telnet - server using a command line similar to: - - curl telnet://remote.server.com - - And enter the data to pass to the server on stdin. The result will be sent - to stdout or to the file you specify with -o. - - You might want the -N/--no-buffer option to switch off the buffered output - for slow connections or similar. - - Pass options to the telnet protocol negotiation, by using the -t option. To - tell the server we use a vt100 terminal, try something like: - - curl -tTTYPE=vt100 telnet://remote.server.com - - Other interesting options for it -t include: - - - XDISPLOC=<X display> Sets the X display location. - - - NEW_ENV=<var,val> Sets an environment variable. - - NOTE: the telnet protocol does not specify any way to login with a specified - user and password so curl can't do that automatically. To do that, you need - to track when the login prompt is received and send the username and - password accordingly. - -PERSISTANT CONNECTIONS - - Specifying multiple files on a single command line will make curl transfer - all of them, one after the other in the specified order. - - libcurl will attempt to use persistant connections for the transfers so that - the second transfer to the same host can use the same connection that was - already initiated and was left open in the previous transfer. This greatly - decreases connection time for all but the first transfer and it makes a far - better use of the network. - - Note that curl cannot use persistant connections for transfers that are used - in subsequence curl invokes. Try to stuff as many URLs as possible on the - same command line if they are using the same host, as that'll make the - transfers faster. If you use a http proxy for file transfers, practicly - all transfers will be persistant. - - Persistant connections were introduced in curl 7.7. - -MAILING LISTS - - For your convenience, we have several open mailing lists to discuss curl, - its development and things relevant to this. - - To subscribe to the main curl list, mail curl-request@contactor.se with - "subscribe <fill in your email address>" in the body. - - To subscribe to the curl-library users/deverlopers list, follow the - instructions at http://curl.haxx.se/mail/ - - To subscribe to the curl-announce list, to only get information about new - releases, follow the instructions at http://curl.haxx.se/mail/ - - To subscribe to the curl-and-PHP list in which curl using with PHP is - discussed, follow the instructions at http://curl.haxx.se/mail/ - - Please direct curl questions, feature requests and trouble reports to one of - these mailing lists instead of mailing any individual. diff --git a/Build/source/libs/curl/docs/Makefile.am b/Build/source/libs/curl/docs/Makefile.am deleted file mode 100644 index fd477dabb80..00000000000 --- a/Build/source/libs/curl/docs/Makefile.am +++ /dev/null @@ -1,32 +0,0 @@ -# -# $Id: Makefile.am,v 1.19 2002/03/07 08:29:24 bagder Exp $ -# - -AUTOMAKE_OPTIONS = foreign no-dependencies - -man_MANS = \ - curl.1 \ - curl-config.1 - -HTMLPAGES = \ - curl.html \ - curl-config.html - -SUBDIRS = examples libcurl - -EXTRA_DIST = MANUAL BUGS CONTRIBUTE FAQ FEATURES INTERNALS \ - README.win32 RESOURCES TODO TheArtOfHttpScripting THANKS \ - VERSIONS KNOWN_BUGS $(man_MANS) $(HTMLPAGES) - -MAN2HTML= gnroff -man $< | man2html >$@ - -SUFFIXES = .1 .3 .html - -html: $(HTMLPAGES) - cd libcurl; make html - -.3.html: - $(MAN2HTML) - -.1.html: - $(MAN2HTML) diff --git a/Build/source/libs/curl/docs/Makefile.in b/Build/source/libs/curl/docs/Makefile.in deleted file mode 100644 index 0616c5b883e..00000000000 --- a/Build/source/libs/curl/docs/Makefile.in +++ /dev/null @@ -1,430 +0,0 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# 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@ - -# -# $Id: Makefile.am,v 1.19 2002/03/07 08:29:24 bagder Exp $ -# - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_alias = @host_alias@ -host_triplet = @host@ -AMTAR = @AMTAR@ -AS = @AS@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -EXEEXT = @EXEEXT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -IPV6_ENABLED = @IPV6_ENABLED@ -KRB4_ENABLED = @KRB4_ENABLED@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -NROFF = @NROFF@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_ENABLED = @OPENSSL_ENABLED@ -PACKAGE = @PACKAGE@ -PERL = @PERL@ -PKGADD_NAME = @PKGADD_NAME@ -PKGADD_PKG = @PKGADD_PKG@ -PKGADD_VENDOR = @PKGADD_VENDOR@ -RANDOM_FILE = @RANDOM_FILE@ -RANLIB = @RANLIB@ -STRIP = @STRIP@ -VERSION = @VERSION@ -VERSIONNUM = @VERSIONNUM@ -YACC = @YACC@ -am__include = @am__include@ -am__quote = @am__quote@ -install_sh = @install_sh@ - -AUTOMAKE_OPTIONS = foreign no-dependencies - -man_MANS = \ - curl.1 \ - curl-config.1 - - -HTMLPAGES = \ - curl.html \ - curl-config.html - - -SUBDIRS = examples libcurl - -EXTRA_DIST = MANUAL BUGS CONTRIBUTE FAQ FEATURES INTERNALS \ - README.win32 RESOURCES TODO TheArtOfHttpScripting THANKS \ - VERSIONS KNOWN_BUGS $(man_MANS) $(HTMLPAGES) - - -MAN2HTML = gnroff -man $< | man2html >$@ - -SUFFIXES = .1 .3 .html -subdir = docs -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/lib/config.h \ - $(top_builddir)/src/config.h \ - $(top_builddir)/tests/server/config.h -CONFIG_CLEAN_FILES = -depcomp = -CFLAGS = @CFLAGS@ -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ - $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -DIST_SOURCES = - -NROFF = nroff -MANS = $(man_MANS) - -RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ - uninstall-info-recursive all-recursive install-data-recursive \ - install-exec-recursive installdirs-recursive install-recursive \ - uninstall-recursive check-recursive installcheck-recursive -DIST_COMMON = INSTALL Makefile.am Makefile.in THANKS TODO -DIST_SUBDIRS = $(SUBDIRS) -all: all-recursive - -.SUFFIXES: -.SUFFIXES: .1 .3 .html - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign docs/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -uninstall-info-am: - -man1dir = $(mandir)/man1 -install-man1: $(man1_MANS) $(man_MANS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(man1dir) - @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ - l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ - for i in $$l2; do \ - case "$$i" in \ - *.1*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed -e 's/^.*\///'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \ - $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \ - done -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ - l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ - for i in $$l2; do \ - case "$$i" in \ - *.1*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed -e 's/^.*\///'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \ - rm -f $(DESTDIR)$(man1dir)/$$inst; \ - 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): - @set fnord $(MAKEFLAGS); amf=$$2; \ - 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) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - 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: - @set fnord $(MAKEFLAGS); amf=$$2; \ - 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) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(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 $(LISP) - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(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 "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) - -GTAGS: - here=`CDPATH=: && cd $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = .. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - for subdir in $(SUBDIRS); do \ - if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ - || exit 1; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile $(MANS) -installdirs: installdirs-recursive -installdirs-am: - $(mkinstalldirs) $(DESTDIR)$(man1dir) - -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)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -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 mostlyclean-am - -distclean: distclean-recursive - -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -info: info-recursive - -info-am: - -install-data-am: install-man - -install-exec-am: - -install-info: install-info-recursive - -install-man: install-man1 - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -uninstall-am: uninstall-info-am uninstall-man - -uninstall-info: uninstall-info-recursive - -uninstall-man: uninstall-man1 - -.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-recursive distclean \ - distclean-generic distclean-libtool distclean-recursive \ - distclean-tags distdir dvi dvi-am dvi-recursive info info-am \ - info-recursive install install-am install-data install-data-am \ - install-data-recursive install-exec install-exec-am \ - install-exec-recursive install-info install-info-am \ - install-info-recursive install-man install-man1 \ - install-recursive install-strip installcheck installcheck-am \ - installdirs installdirs-am installdirs-recursive \ - maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-libtool mostlyclean-recursive tags tags-recursive \ - uninstall uninstall-am uninstall-info-am \ - uninstall-info-recursive uninstall-man uninstall-man1 \ - uninstall-recursive - - -html: $(HTMLPAGES) - cd libcurl; make html - -.3.html: - $(MAN2HTML) - -.1.html: - $(MAN2HTML) -# 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/Build/source/libs/curl/docs/README.win32 b/Build/source/libs/curl/docs/README.win32 deleted file mode 100644 index 5b6db308775..00000000000 --- a/Build/source/libs/curl/docs/README.win32 +++ /dev/null @@ -1,22 +0,0 @@ - _ _ ____ _ - ___| | | | _ \| | - / __| | | | |_) | | - | (__| |_| | _ <| |___ - \___|\___/|_| \_\_____| - -README.win32 - - Read the README file first. - - Curl has been compiled, built and run on all sorts of Windows and win32 - systems. While not being the main develop target, a fair share of curl users - are win32-based. - - The unix-style man pages are tricky to read on windows, so therefore are all - those pages also converted to HTML and those are also included in the - release archives. - - The main curl.1 man page is also "built-in" in the command line tool. Use a - command line similar to this in order to extract a separate text file: - - curl -M >manual.txt diff --git a/Build/source/libs/curl/docs/RESOURCES b/Build/source/libs/curl/docs/RESOURCES deleted file mode 100644 index 05cef4228d2..00000000000 --- a/Build/source/libs/curl/docs/RESOURCES +++ /dev/null @@ -1,125 +0,0 @@ - _ _ ____ _ - Project ___| | | | _ \| | - / __| | | | |_) | | - | (__| |_| | _ <| |___ - \___|\___/|_| \_\_____| - - -This document has been introduced in order to let you find documents that -specify standards used by curl, software that extends curl, web pages with -"competing" utilities and information pages that describe some of the tools -that we use to build/compile/develop curl. - -Standards ---------- - - RFC 959 - Defines how FTP works - - RFC 1635 - How to Use Anonymous FTP - - RFC 1738 - Uniform Resource Locators - - RFC 1777 - defines the LDAP protocol - - RFC 1808 - Relative Uniform Resource Locators - - RFC 1867 - Form-based File Upload in HTML - - RFC 1950 - ZLIB Compressed Data Format Specification - - RFC 1951 - DEFLATE Compressed Data Format Specification - - RFC 1952 - gzip compression format - - RFC 1959 - LDAP URL syntax - - RFC 2045-2049 - Everything you need to know about MIME! (needed for form - based upload) - - RFC 2068 - HTTP 1.1 (obsoleted by RFC 2616) - - RFC 2109 - HTTP State Management Mechanism (cookie stuff) - - Also, read Netscape's specification at - http://curl.haxx.se/rfc/cookie_spec.html - - RFC 2183 - The Content-Disposition Header Field - - RFC 2229 - A Dictionary Server Protocol - - RFC 2255 - Newer LDAP URL syntax document. - - RFC 2231 - MIME Parameter Value and Encoded Word Extensions: - Character Sets, Languages, and Continuations - - RFC 2388 - "Returning Values from Forms: multipart/form-data" - Use this as an addition to the RFC1867 - - RFC 2396 - "Uniform Resource Identifiers: Generic Syntax and Semantics" This - one obsoletes RFC 1738, but since RFC 1738 is often mentioned - I've left it in this list. - - RFC 2428 - FTP Extensions for IPv6 and NATs - - RFC 2577 - FTP Security Considerations - - RFC 2616 - HTTP 1.1, the latest - - RFC 2617 - HTTP Authentication - - RFC 2718 - Guidelines for new URL Schemes - - RFC 2732 - Format for Literal IPv6 Addresses in URL's - - RFC 2818 - HTTP Over TLS (TLS is the successor to SSL) - - RFC 2964 - Use of HTTP State Management - - RFC 2965 - HTTP State Management Mechanism. Cookies. Obsoletes RFC2109 - -Compilers ---------- - MingW32 - http://www.mingw.org/ - - gcc - http://www.gnu.org/software/gcc/gcc.html - -Software --------- - OpenSSL - http://www.openssl.org/ - - OpenLDAP - http://www.openldap.org/ - - zlib - http://www.cdrom.com/pub/infozip/zlib/ - -Similar Tools -------------- - wget - http://sunsite.dk/wget/ - - snarf - http://www.xach.com/snarf/ - - lynx - http://lynx.browser.org/ (well at least when -dump is used) - - swebget - http://www.uni-hildesheim.de/~smol0075/swebget/ - - Kermit - http://www.columbia.edu/kermit/ftpclient - - Pavuk - http://www.idata.sk/~ondrej/pavuk/ - - httpr - http://zwolak.dhs.org/httpr/ - - puf - http://www.inf.tu-dresden.de/~ob6/sw/puf.html - -Related Software ----------------- - ftpparse - http://cr.yp.to/ftpparse.html parses FTP LIST responses - - autoconf - http://www.gnu.org/software/autoconf/autoconf.html - - automake - http://www.gnu.org/software/automake/automake.html - - bison - http://www.gnu.org/software/bison/bison.html - - gzip - http://www.gnu.org/software/gzip/gzip.html - - tar - http://www.gnu.org/software/tar/tar.html - - libtool - http://www.gnu.org/software/libtool/libtool.html diff --git a/Build/source/libs/curl/docs/THANKS b/Build/source/libs/curl/docs/THANKS deleted file mode 100644 index f2e84fc57b4..00000000000 --- a/Build/source/libs/curl/docs/THANKS +++ /dev/null @@ -1,81 +0,0 @@ -This project has been alive for several years. Countless people have provided -feedback that have improved curl. Here follows a (incomplete) list of people -that have contributed with non-trivial parts: - - - Daniel Stenberg <daniel@haxx.se> - - Rafael Sagula <sagula@inf.ufrgs.br> - - Sampo Kellomaki <sampo@iki.fi> - - Linas Vepstas <linas@linas.org> - - Bjorn Reese <breese@mail1.stofanet.dk> - - Johan Anderson <johan@homemail.com> - - Kjell Ericson <Kjell.Ericson@haxx.se> - - Troy Engel <tengel@sonic.net> - - Ryan Nelson <ryan@inch.com> - - Björn Stenberg <bjorn@haxx.se> - - Angus Mackay <amackay@gus.ml.org> - - Eric Young <eay@cryptsoft.com> - - Simon Dick <simond@totally.irrelevant.org> - - Oren Tirosh <oren@monty.hishome.net> - - Steven G. Johnson <stevenj@alum.mit.edu> - - Gilbert Ramirez Jr. <gram@verdict.uthscsa.edu> - - Andrés García <ornalux@redestb.es> - - Douglas E. Wegscheid <wegscd@whirlpool.com> - - Mark Butler <butlerm@xmission.com> - - Eric Thelin <eric@generation-i.com> - - Marc Boucher <marc@mbsi.ca> - - Greg Onufer <Greg.Onufer@Eng.Sun.COM> - - Doug Kaufman <dkaufman@rahul.net> - - David Eriksson <david@2good.com> - - Ralph Beckmann <rabe@uni-paderborn.de> - - T. Yamada <tai@imasy.or.jp> - - Lars J. Aas <larsa@sim.no> - - Jörn Hartroth <Joern.Hartroth@computer.org> - - Matthew Clarke <clamat@van.maves.ca> - - Linus Nielsen Feltzing <linus@haxx.se> - - Felix von Leitner <felix@convergence.de> - - Dan Zitter <dzitter@zitter.net> - - Jongki Suwandi <Jongki.Suwandi@eng.sun.com> - - Chris Maltby <chris@aurema.com> - - Ron Zapp <rzapper@yahoo.com> - - Paul Marquis <pmarquis@iname.com> - - Ellis Pritchard <ellis@citria.com> - - Damien Adant <dams@usa.net> - - Chris <cbayliss@csc.come> - - Marco G. Salvagno <mgs@whiz.cjb.net> - - Paul Marquis <pmarquis@iname.com> - - David LeBlanc <dleblanc@qnx.com> - - Rich Gray at Plus Technologies - - Luong Dinh Dung <u8luong@lhsystems.hu> - - Torsten Foertsch <torsten.foertsch@gmx.net> - - Kristian Köhntopp <kris@koehntopp.de> - - Fred Noz <FNoz@siac.com> - - Caolan McNamara <caolan@csn.ul.ie> - - Albert Chin-A-Young <china@thewrittenword.com> - - Stephen Kick <skick@epicrealm.com> - - Martin Hedenfalk <mhe@stacken.kth.se> - - Richard Prescott <rip at step.polymtl.ca> - - Jason S. Priebe <priebe@wral-tv.com> - - T. Bharath <TBharath@responsenetworks.com> - - Alexander Kourakos <awk@users.sourceforge.net> - - James Griffiths <griffiths_james@yahoo.com> - - Loic Dachary <loic@senga.org> - - Robert Weaver <robert.weaver@sabre.com> - - Ingo Ralf Blum <ingoralfblum@ingoralfblum.com> - - Jun-ichiro itojun Hagino <itojun@iijlab.net> - - Frederic Lepied <flepied@mandrakesoft.com> - - Georg Horn <horn@koblenz-net.de> - - Cris Bailiff <c.bailiff@awayweb.com> - - Sterling Hughes <sterling@designmultimedia.com> - - S. Moonesamy - - Ingo Wilken <iw@WWW.Ecce-Terram.DE> - - Pawel A. Gajda <mis@k2.net.pl> - - Patrick Bihan-Faou - - Nico Baggus <Nico.Baggus@mail.ing.nl> - - Sergio Ballestrero - - Andrew Francis <locust@familyhealth.com.au> - - Tomasz Lacki <Tomasz.Lacki@primark.pl> - - Georg Huettenegger <georg@ist.org> - - John Lask <johnlask@hotmail.com> - - Eric Lavigne <erlavigne@wanadoo.fr> - - Marcus Webster <marcus.webster@phocis.com> - - Götz Babin-Ebell <babinebell@trustcenter.de> diff --git a/Build/source/libs/curl/docs/TODO b/Build/source/libs/curl/docs/TODO deleted file mode 100644 index 53bbc154704..00000000000 --- a/Build/source/libs/curl/docs/TODO +++ /dev/null @@ -1,204 +0,0 @@ - _ _ ____ _ - ___| | | | _ \| | - / __| | | | |_) | | - | (__| |_| | _ <| |___ - \___|\___/|_| \_\_____| - -TODO - - Things to do in project cURL. Please tell me what you think, contribute and - send me patches that improve things! Also check the http://curl.haxx.se/dev - web section for various development notes. - - LIBCURL - - * Consider an interface to libcurl that allows applications to easier get to - know what cookies that are sent back in the response headers. - - * Make content encoding/decoding internally be made using a filter system. - - * The new 'multi' interface is being designed. Work out the details, start - implementing and write test applications! - [http://curl.haxx.se/lxr/source/lib/multi.h] - - * Introduce another callback interface for upload/download that makes one - less copy of data and thus a faster operation. - [http://curl.haxx.se/dev/no_copy_callbacks.txt] - - * Add configure options that disables certain protocols in libcurl to - decrease footprint. '--disable-[protocol]' where protocol is http, ftp, - telnet, ldap, dict or file. - - * Add asynchronous name resolving. http://curl.haxx.se/dev/async-resolver.txt - This should be made to work on most of the supported platforms, or - otherwise it isn't really interesting. - - * Data sharing. Tell which easy handles within a multi handle that should - share cookies, connection cache, dns cache, ssl session cache. - - * Mutexes. By adding mutex callback support, the 'data sharing' mentioned - above can be made between several easy handles running in different threads - too. The actual mutex implementations will be left for the application to - implement, libcurl will merely call 'getmutex' and 'leavemutex' callbacks. - - * No-faster-then-this transfers. Many people have limited bandwidth and they - want the ability to make sure their transfers never use more bandwith than - they think is good. - - * Set the SO_KEEPALIVE socket option to make libcurl notice and disconnect - very long time idle connections. - - * Make sure we don't ever loop because of non-blocking sockets return - EWOULDBLOCK or similar. This concerns the HTTP request sending (and - especially regular HTTP POST), the FTP command sending etc. - - * Go through the code and verify that libcurl deals with big files >2GB and - >4GB all over. Bug reports indicate that it doesn't currently work - properly. - - DOCUMENTATION - - * Document all CURLcode error codes, why they happen and what most likely - will make them not happen again. In a libcurl point of view. - - FTP - - * FTP ASCII upload does not follow RFC959 section 3.1.1.1: "The sender - converts the data from an internal character representation to the standard - 8-bit NVT-ASCII representation (see the Telnet specification). The - receiver will convert the data from the standard form to his own internal - form." - - * An option to only download remote FTP files if they're newer than the local - one is a good idea, and it would fit right into the same syntax as the - already working http dito works. It of course requires that 'MDTM' works, - and it isn't a standard FTP command. - - * Add FTPS support with SSL for the data connection too. - - HTTP - - * Make it possible to supply normal POST data through the ordinary read data - callback. - - * HTTP PUT for files passed on stdin *OR* when the --crlf option is - used. Requires libcurl to send the file with chunked content - encoding. [http://curl.haxx.se/dev/HTTP-PUT-stdin.txt] When the filter - system mentioned above gets real, it'll be a piece of cake to add. - - * Pass a list of host name to libcurl to which we allow the user name and - password to get sent to. Currently, it only get sent to the host name that - the first URL uses (to prevent others from being able to read it), but this - also prevents the authentication info from getting sent when following - locations to legitimate other host names. - - * "Content-Encoding: compress/gzip/zlib" HTTP 1.1 clearly defines how to get - and decode compressed documents. There is the zlib that is pretty good at - decompressing stuff. This work was started in October 1999 but halted again - since it proved more work than we thought. It is still a good idea to - implement though. This requires the filter system mentioned above. - - * Authentication: NTLM. Support for that MS crap called NTLM - authentication. MS proxies and servers sometime require that. Since that - protocol is a proprietary one, it involves reverse engineering and network - sniffing. This should however be a library-based functionality. There are a - few different efforts "out there" to make open source HTTP clients support - this and it should be possible to take advantage of other people's hard - work. http://modntlm.sourceforge.net/ is one. There's a web page at - http://www.innovation.ch/java/ntlm.html that contains detailed reverse- - engineered info. - - * RFC2617 compliance, "Digest Access Authentication" A valid test page seem - to exist at: http://hopf.math.nwu.edu/testpage/digest/ And some friendly - person's server source code is available at - http://hopf.math.nwu.edu/digestauth/index.html Then there's the Apache - mod_digest source code too of course. It seems as if Netscape doesn't - support this, and not many servers do. Although this is a lot better - authentication method than the more common "Basic". Basic sends the - password in cleartext over the network, this "Digest" method uses a - challange-response protocol which increases security quite a lot. - - * Pipelining. Sending multiple requests before the previous one(s) are done. - This could possibly be implemented using the multi interface to queue - requests and the response data. - - TELNET - - * Make TELNET work on windows98! - - * Reading input (to send to the remote server) on stdin is a crappy solution - for library purposes. We need to invent a good way for the application to - be able to provide the data to send. - - * Move the telnet support's network select() loop go away and merge the code - into the main transfer loop. Until this is done, the multi interface won't - work for telnet. - - SSL - - * If you really want to improve the SSL situation, you should probably have a - look at SSL cafile loading as well - quick traces look to me like these are - done on every request as well, when they should only be necessary once per - ssl context (or once per handle). Even better would be to support the SSL - CAdir option - instead of loading all of the root CA certs for every - request, this option allows you to only read the CA chain that is actually - required (into the cache)... - - * Add an interface to libcurl that enables "session IDs" to get - exported/imported. Cris Bailiff said: "OpenSSL has functions which can - serialise the current SSL state to a buffer of your choice, and - recover/reset the state from such a buffer at a later date - this is used - by mod_ssl for apache to implement and SSL session ID cache". This whole - idea might become moot if we enable the 'data sharing' as mentioned in the - LIBCURL label above. - - * OpenSSL supports a callback for customised verification of the peer - certificate, but this doesn't seem to be exposed in the libcurl APIs. Could - it be? There's so much that could be done if it were! (brought by Chris - Clark) - - * Make curl's SSL layer option capable of using other free SSL libraries. - Such as the Mozilla Security Services - (http://www.mozilla.org/projects/security/pki/nss/) and GNUTLS - (http://gnutls.hellug.gr/) - - LDAP - - * Look over the implementation. The looping will have to "go away" from the - lib/ldap.c source file and get moved to the main network code so that the - multi interface and friends will work for LDAP as well. - - CLIENT - - * "curl ftp://site.com/*.txt" - - * Several URLs can be specified to get downloaded. We should be able to use - the same syntax to specify several files to get uploaded (using the same - persistant connection), using -T. - - * When the multi interface has been implemented and proved to work, the - client could be told to use maximum N simultaneous transfers and then just - make sure that happens. It should of course not make more than one - connection to the same remote host. - - * Extending the capabilities of the multipart formposting. How about leaving - the ';type=foo' syntax as it is and adding an extra tag (headers) which - works like this: curl -F "coolfiles=@fil1.txt;headers=@fil1.hdr" where - fil1.hdr contains extra headers like - - Content-Type: text/plain; charset=KOI8-R" - Content-Transfer-Encoding: base64 - X-User-Comment: Please don't use browser specific HTML code - - which should overwrite the program reasonable defaults (plain/text, - 8bit...) (Idea brough to us by kromJx) - - TEST SUITE - - * Extend the test suite to include more protocols. The telnet could just do - ftp or http operations (for which we have test servers). - - * Make the test suite work on more platforms. OpenBSD and Mac OS. Remove - fork()s and it should become even more portable. - - * Introduce a test suite that tests libcurl better and more explicitly. diff --git a/Build/source/libs/curl/docs/TheArtOfHttpScripting b/Build/source/libs/curl/docs/TheArtOfHttpScripting deleted file mode 100644 index c85fe9220b5..00000000000 --- a/Build/source/libs/curl/docs/TheArtOfHttpScripting +++ /dev/null @@ -1,378 +0,0 @@ -Online: http://curl.haxx.se/docs/httpscripting.shtml -Author: Daniel Stenberg <daniel@haxx.se> -Date: October 31, 2001 -Version: 0.5 - - The Art Of Scripting HTTP Requests Using Curl - ============================================= - - This document will assume that you're familiar with HTML and general - networking. - - The possibility to write scripts is essential to make a good computer - system. Unix' capability to be extended by shell scripts and various tools to - run various automated commands and scripts is one reason why it has succeeded - so well. - - The increasing amount of applications moving to the web has made "HTTP - Scripting" more frequently requested and wanted. To be able to automatically - extract information from the web, to fake users, to post or upload data to - web servers are all important tasks today. - - Curl is a command line tool for doing all sorts of URL manipulations and - transfers, but this particular document will focus on how to use it when - doing HTTP requests for fun and profit. I'll assume that you know how to - invoke 'curl --help' or 'curl --manual' to get basic information about it. - - Curl is not written to do everything for you. It makes the requests, it gets - the data, it sends data and it retrieves the information. You probably need - to glue everything together using some kind of script language or repeated - manual invokes. - -1. The HTTP Protocol - - HTTP is the protocol used to fetch data from web servers. It is a very simple - protocol that is built upon TCP/IP. The protocol also allows information to - get sent to the server from the client using a few different methods, as will - be shown here. - - HTTP is plain ASCII text lines being sent by the client to a server to - request a particular action, and then the server replies a few text lines - before the actual requested content is sent to the client. - - Using curl's option -v will display what kind of commands curl sends to the - server, as well as a few other informational texts. -v is the single most - useful option when it comes to debug or even understand the curl<->server - interaction. - -2. URL - - The Uniform Resource Locator format is how you specify the address of a - particular resource on the Internet. You know these, you've seen URLs like - http://curl.haxx.se or https://yourbank.com a million times. - -3. GET a page - - The simplest and most common request/operation made using HTTP is to get a - URL. The URL could itself refer to a web page, an image or a file. The client - issues a GET request to the server and receives the document it asked for. - If you issue the command line - - curl http://curl.haxx.se - - you get a web page returned in your terminal window. The entire HTML document - that that URL holds. - - All HTTP replies contain a set of headers that are normally hidden, use - curl's -i option to display them as well as the rest of the document. You can - also ask the remote server for ONLY the headers by using the -I option. - -4. Forms - - Forms are the general way a web site can present a HTML page with fields for - the user to enter data in, and then press some kind of 'OK' or 'submit' - button to get that data sent to the server. The server then typically uses - the posted data to decide how to act. Like using the entered words to search - in a database, or to add the info in a bug track system, display the entered - address on a map or using the info as a login-prompt verifying that the user - is allowed to see what it is about to see. - - Of course there has to be some kind of program in the server end to receive - the data you send. You cannot just invent something out of the air. - - 4.1 GET - - A GET-form uses the method GET, as specified in HTML like: - - <form method="GET" action="junk.cgi"> - <input type=text name="birthyear"> - <input type=submit name=press value="OK"> - </form> - - In your favorite browser, this form will appear with a text box to fill in - and a press-button labeled "OK". If you fill in '1905' and press the OK - button, your browser will then create a new URL to get for you. The URL will - get "junk.cgi?birthyear=1905&press=OK" appended to the path part of the - previous URL. - - If the original form was seen on the page "www.hotmail.com/when/birth.html", - the second page you'll get will become - "www.hotmail.com/when/junk.cgi?birthyear=1905&press=OK". - - Most search engines work this way. - - To make curl do the GET form post for you, just enter the expected created - URL: - - curl "www.hotmail.com/when/junk.cgi?birthyear=1905&press=OK" - - 4.2 POST - - The GET method makes all input field names get displayed in the URL field of - your browser. That's generally a good thing when you want to be able to - bookmark that page with your given data, but it is an obvious disadvantage - if you entered secret information in one of the fields or if there are a - large amount of fields creating a very long and unreadable URL. - - The HTTP protocol then offers the POST method. This way the client sends the - data separated from the URL and thus you won't see any of it in the URL - address field. - - The form would look very similar to the previous one: - - <form method="POST" action="junk.cgi"> - <input type=text name="birthyear"> - <input type=submit name=press value="OK"> - </form> - - And to use curl to post this form with the same data filled in as before, we - could do it like: - - curl -d "birthyear=1905&press=OK" www.hotmail.com/when/junk.cgi - - This kind of POST will use the Content-Type - application/x-www-form-urlencoded and is the most widely used POST kind. - - 4.3 FILE UPLOAD POST - - Back in late 1995 they defined a new way to post data over HTTP. It was - documented in the RFC 1867, why this method sometimes is referred to as - a RFC1867-posting. - - This method is mainly designed to better support file uploads. A form that - allows a user to upload a file could be written like this in HTML: - - <form method="POST" enctype='multipart/form-data' action="upload.cgi"> - <input type=file name=upload> - <input type=submit name=press value="OK"> - </form> - - This clearly shows that the Content-Type about to be sent is - multipart/form-data. - - To post to a form like this with curl, you enter a command line like: - - curl -F upload=@localfilename -F press=OK [URL] - - 4.4 HIDDEN FIELDS - - A very common way for HTML based application to pass state information - between pages is to add hidden fields to the forms. Hidden fields are - already filled in, they aren't displayed to the user and they get passed - along just as all the other fields. - - A similar example form with one visible field, one hidden field and one - submit button could look like: - - <form method="POST" action="foobar.cgi"> - <input type=text name="birthyear"> - <input type=hidden name="person" value="daniel"> - <input type=submit name="press" value="OK"> - </form> - - To post this with curl, you won't have to think about if the fields are - hidden or not. To curl they're all the same: - - curl -d "birthyear=1905&press=OK&person=daniel" [URL] - - 4.5 FIGURE OUT WHAT A POST LOOKS LIKE - - When you're about fill in a form and send to a server by using curl instead - of a browser, you're of course very interested in sending a POST exactly the - way your browser does. - - An easy way to get to see this, is to save the HTML page with the form on - your local disk, modify the 'method' to a GET, and press the submit button - (you could also change the action URL if you want to). - - You will then clearly see the data get appended to the URL, separated with a - '?'-letter as GET forms are supposed to. - -5. PUT - - The perhaps best way to upload data to a HTTP server is to use PUT. Then - again, this of course requires that someone put a program or script on the - server end that knows how to receive a HTTP PUT stream. - - Put a file to a HTTP server with curl: - - curl -T uploadfile www.uploadhttp.com/receive.cgi - -6. AUTHENTICATION - - Authentication is the ability to tell the server your username and password - so that it can verify that you're allowed to do the request you're doing. The - basic authentication used in HTTP is *plain* *text* based, which means it - sends username and password only slightly obfuscated, but still fully - readable by anyone that sniffs on the network between you and the remote - server. - - To tell curl to use a user and password for authentication: - - curl -u name:password www.secrets.com - - Sometimes your HTTP access is only available through the use of a HTTP - proxy. This seems to be especially common at various companies. A HTTP proxy - may require its own user and password to allow the client to get through to - the Internet. To specify those with curl, run something like: - - curl -U proxyuser:proxypassword curl.haxx.se - - If you use any one these user+password options but leave out the password - part, curl will prompt for the password interactively. - - Do note that when a program is run, its parameters are possible to see when - listing the running processes of the system. Thus, other users may be able to - watch your passwords if you pass them as plain command line options. There - are ways to circumvent this. - -7. REFERER - - A HTTP request may include a 'referer' field, which can be used to tell from - which URL the client got to this particular resource. Some programs/scripts - check the referer field of requests to verify that this wasn't arriving from - an external site or an unknown page. While this is a stupid way to check - something so easily forged, many scripts still do it. Using curl, you can put - anything you want in the referer-field and thus more easily be able to fool - the server into serving your request. - - Use curl to set the referer field with: - - curl -e http://curl.haxx.se daniel.haxx.se - -8. USER AGENT - - Very similar to the referer field, all HTTP requests may set the User-Agent - field. It names what user agent (client) that is being used. Many - applications use this information to decide how to display pages. Silly web - programmers try to make different pages for users of different browsers to - make them look the best possible for their particular browsers. They usually - also do different kinds of javascript, vbscript etc. - - At times, you will see that getting a page with curl will not return the same - page that you see when getting the page with your browser. Then you know it - is time to set the User Agent field to fool the server into thinking you're - one of those browsers. - - To make curl look like Internet Explorer on a Windows 2000 box: - - curl -A "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" [URL] - - Or why not look like you're using Netscape 4.73 on a Linux (PIII) box: - - curl -A "Mozilla/4.73 [en] (X11; U; Linux 2.2.15 i686)" [URL] - -9. REDIRECTS - - When a resource is requested from a server, the reply from the server may - include a hint about where the browser should go next to find this page, or a - new page keeping newly generated output. The header that tells the browser - to redirect is Location:. - - Curl does not follow Location: headers by default, but will simply display - such pages in the same manner it display all HTTP replies. It does however - feature an option that will make it attempt to follow the Location: pointers. - - To tell curl to follow a Location: - - curl -L www.sitethatredirects.com - - If you use curl to POST to a site that immediately redirects you to another - page, you can safely use -L and -d/-F together. Curl will only use POST in - the first request, and then revert to GET in the following operations. - -10. COOKIES - - The way the web browsers do "client side state control" is by using - cookies. Cookies are just names with associated contents. The cookies are - sent to the client by the server. The server tells the client for what path - and host name it wants the cookie sent back, and it also sends an expiration - date and a few more properties. - - When a client communicates with a server with a name and path as previously - specified in a received cookie, the client sends back the cookies and their - contents to the server, unless of course they are expired. - - Many applications and servers use this method to connect a series of requests - into a single logical session. To be able to use curl in such occasions, we - must be able to record and send back cookies the way the web application - expects them. The same way browsers deal with them. - - The simplest way to send a few cookies to the server when getting a page with - curl is to add them on the command line like: - - curl -b "name=Daniel" www.cookiesite.com - - Cookies are sent as common HTTP headers. This is practical as it allows curl - to record cookies simply by recording headers. Record cookies with curl by - using the -D option like: - - curl -D headers_and_cookies www.cookiesite.com - - Curl has a full blown cookie parsing engine built-in that comes to use if you - want to reconnect to a server and use cookies that were stored from a - previous connection (or handicrafted manually to fool the server into - believing you had a previous connection). To use previously stored cookies, - you run curl like: - - curl -b stored_cookies_in_file www.cookiesite.com - - Curl's "cookie engine" gets enabled when you use the -b option. If you only - want curl to understand received cookies, use -b with a file that doesn't - exist. Example, if you want to let curl understand cookies from a page and - follow a location (and thus possibly send back cookies it received), you can - invoke it like: - - curl -b nada -L www.cookiesite.com - - Curl has the ability to read and write cookie files that use the same file - format that Netscape and Mozilla do. It is a convenient way to share cookies - between browsers and automatic scripts. The -b switch automatically detects - if a given file is such a cookie file and parses it, and by using the - -c/--cookie-jar option you'll make curl write a new cookie file at the end of - an operation: - - curl -b cookies.txt -c newcookies.txt www.cookiesite.com - -11. HTTPS - - There are a few ways to do secure HTTP transfers. The by far most common - protocol for doing this is what is generally known as HTTPS, HTTP over - SSL. SSL encrypts all the data that is sent and received over the network and - thus makes it harder for attackers to spy on sensitive information. - - SSL (or TLS as the latest version of the standard is called) offers a - truckload of advanced features to allow all those encryptions and key - infrastructure mechanisms encrypted HTTP requires. - - Curl supports encrypted fetches thanks to the freely available OpenSSL - libraries. To get a page from a HTTPS server, simply run curl like: - - curl https://that.secure.server.com - - 11.1 CERTIFICATES - - In the HTTPS world, you use certificates to validate that you are the one - you you claim to be, as an addition to normal passwords. Curl supports - client-side certificates. All certificates are locked with a PIN-code, why - you need to enter the unlock-code before the certificate can be used by - curl. The PIN-code can be specified on the command line or if not, entered - interactively when curl queries for it. Use a certificate with curl on a - HTTPS server like: - - curl -E mycert.pem https://that.secure.server.com - -12. REFERENCES - - RFC 2616 is a must to read if you want in-depth understanding of the HTTP - protocol. - - RFC 2396 explains the URL syntax. - - RFC 2109 defines how cookies are supposed to work. - - RFC 1867 defines the HTTP post upload format. - - http://www.openssl.org is the home of the OpenSSL project - - http://curl.haxx.se is the home of the cURL project diff --git a/Build/source/libs/curl/docs/VERSIONS b/Build/source/libs/curl/docs/VERSIONS deleted file mode 100644 index 01455717e89..00000000000 --- a/Build/source/libs/curl/docs/VERSIONS +++ /dev/null @@ -1,64 +0,0 @@ - _ _ ____ _ - ___| | | | _ \| | - / __| | | | |_) | | - | (__| |_| | _ <| |___ - \___|\___/|_| \_\_____| - -Version Numbers and Releases - - Curl is not only curl. Curl is also libcurl. They're actually individually - versioned, but they mostly follow each other rather closely. - - The version numbering is always built up using the same system: - - X.Y[.Z][-preN] - - Where - X is main version number - Y is release number - Z is patch number - N is pre-release number - - One of these numbers will get bumped in each new release. The numbers to the - right of a bumped number will be reset to zero. If Z is zero, it is not - included in the version number. The pre release number is only included in - pre releases (they're never used in public, official, releases). - - The main version number will get bumped when *really* big, world colliding - changes are made. The release number is bumped when big changes are - performed. The patch number is bumped when the changes are mere bugfixes and - only minor feature changes. The pre-release is a counter, to identify which - pre-release a certain release is. - - When reaching the end of a pre-release period, the version without the - pre-release part will be released as a public release. - - It means that after release 1.2.3, we can release 2.0 if something really big - has been made, 1.3 if not that big changes were made or 1.2.4 if mostly bugs - were fixed. Before 1.2.4 is released, we might release a 1.2.4-pre1 release - for the brave people to try before the actual release. - - Bumping, as in increasing the number with 1, is unconditionally only - affecting one of the numbers (except the ones to the right of it, that may be - set to zero). 1 becomes 2, 3 becomes 4, 9 becomes 10, 88 becomes 89 and 99 - becomes 100. So, after 1.2.9 comes 1.2.10. After 3.99.3, 3.100 might come. - - All original curl source release archives are named according to the libcurl - version (not according to the curl client version that, as said before, might - differ). - - As a service to any application that might want to support new libcurl - features while still being able to build with older versions, all releases - have the libcurl version stored in the curl/curl.h file using a static - numbering scheme that can be used for comparison. The version number is - defined as: - - #define LIBCURL_VERSION_NUM 0xXXYYZZ - - Where XX, YY and ZZ are the main version, release and patch numbers in - hexadecimal. All three numbers are always represented using two digits. 1.2 - would appear as "0x010200" while version 9.11.7 appears as "0x090b07". - - This 6-digit hexadecimal number does not show pre-release number, and it is - always a greater number in a more recent release. It makes comparisons with - greater than and less than work. diff --git a/Build/source/libs/curl/docs/curl-config.1 b/Build/source/libs/curl/docs/curl-config.1 deleted file mode 100644 index 5533abf15aa..00000000000 --- a/Build/source/libs/curl/docs/curl-config.1 +++ /dev/null @@ -1,62 +0,0 @@ -.\" You can view this file with: -.\" nroff -man curl-config.1 -.\" Written by Daniel Stenberg -.\" -.TH curl-config 1 "21 January 2002" "Curl 7.9.3" "curl-config manual" -.SH NAME -curl-config \- Get information about a libcurl installation -.SH SYNOPSIS -.B curl-config [options] -.SH DESCRIPTION -.B curl-config -displays information about a previous curl and libcurl installation. -.SH OPTIONS -.IP "--cc" -Displays the compiler used to build libcurl. -.IP "--cflags" -Set of compiler options (CFLAGS) to use when compiling files that use -libcurl. Currently that is only thw include path to the curl include files. -.IP "--feature" -Lists what particular main features the installed libcurl was built with. At -the time of writing, this list may include SSL, KRB4 or IPv6. Do not assume -any particular order. The keywords will be separated by newlines. There may be -none, one or several keywords in the list. -.IP "--help" -Displays the available options. -.IP "--libs" -Shows the complete set of libs and other linker options you will need in order -to link your application with libcurl. -.IP "--prefix" -This is the prefix used when libcurl was installed. Libcurl is then installed -in $prefix/lib and its header files are installed in $prefix/include and so -on. The prefix is set with "configure --prefix". -.IP "--version" -Outputs version information about the installed libcurl. -.IP "--vernum" -Outputs version information about the installed libcurl, in numerical mode. -This outputs the version number, in hexadecimal, with 8 bits for each part; -major, minor, patch. So that libcurl 7.7.4 would appear as 070704 and libcurl -12.13.14 would appear as 0c0d0e... -.SH "EXAMPLES" -What linker options do I need when I link with libcurl? - - $ curl-config --libs - -What compiler options do I need when I compile using libcurl functions? - - $ curl-config --cflags - -How do I know if libcurl was built with SSL support? - - $ curl-config --feature | grep SSL - -What's the installed libcurl version? - - $ curl-config --version - -How do I build a single file with a one-line command? - - $ `curl-config --cc --cflags --libs` -o example example.c - -.SH "SEE ALSO" -.BR curl (1) diff --git a/Build/source/libs/curl/docs/curl-config.html b/Build/source/libs/curl/docs/curl-config.html deleted file mode 100644 index 7f20fd51f1f..00000000000 --- a/Build/source/libs/curl/docs/curl-config.html +++ /dev/null @@ -1,128 +0,0 @@ -<HTML> -<BODY> -<PRE> -<!-- Manpage converted by man2html 3.0.1 --> - -</PRE> -<H2>NAME</H2><PRE> - curl-config - Get information about a libcurl installation - - -</PRE> -<H2>SYNOPSIS</H2><PRE> - <B>curl-config</B> <B>[options]</B> - - -</PRE> -<H2>DESCRIPTION</H2><PRE> - <B>curl-config</B> displays information about a previous curl and - libcurl installation. - - -</PRE> -<H2>OPTIONS</H2><PRE> - --cc Displays the compiler used to build libcurl. - - --cflags - Set of compiler options (CFLAGS) to use when compiling - files that use libcurl. Currently that is only thw - include path to the curl include files. - - --feature - Lists what particular main features the installed - libcurl was built with. At the time of writing, this - list may include SSL, KRB4 or IPv6. Do not assume any - particular order. The keywords will be separated by - newlines. There may be none, one or several keywords in - the list. - - --help - Displays the available options. - - --libs - Shows the complete set of libs and other linker options - you will need in order to link your application with - libcurl. - - --prefix - This is the prefix used when libcurl was installed. - Libcurl is then installed in $prefix/lib and its header - files are installed in $prefix/include and so on. The - prefix is set with "configure --prefix". - - --version - Outputs version information about the installed - libcurl. - - --vernum - Outputs version information about the installed - libcurl, in numerical mode. This outputs the version - number, in hexadecimal, with 8 bits for each part; - major, minor, patch. So that libcurl 7.7.4 would appear - as 070704 and libcurl 12.13.14 would appear as - 0c0d0e... - - -</PRE> -<H2>EXAMPLES</H2><PRE> - What linker options do I need when I link with libcurl? - - $ curl-config --libs - - What compiler options do I need when I compile using libcurl - functions? - - $ curl-config --cflags - - How do I know if libcurl was built with SSL support? - - $ curl-config --feature | grep SSL - - What's the installed libcurl version? - - $ curl-config --version - - How do I build a single file with a one-line command? - - $ `curl-config --cc --cflags --libs` -o example example.c - - - -</PRE> -<H2>SEE ALSO</H2><PRE> - <B>curl(1)</B> - - - - - - - - - - - - - - - - - - - - - - - - - - - -</PRE> -<HR> -<ADDRESS> -Man(1) output converted with -<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> -</ADDRESS> -</BODY> -</HTML> diff --git a/Build/source/libs/curl/docs/curl.1 b/Build/source/libs/curl/docs/curl.1 deleted file mode 100644 index 574db94c271..00000000000 --- a/Build/source/libs/curl/docs/curl.1 +++ /dev/null @@ -1,820 +0,0 @@ -.\" You can view this file with: -.\" nroff -man curl.1 -.\" Written by Daniel Stenberg -.\" -.TH curl 1 "25 Feb 2002" "Curl 7.9.5" "Curl Manual" -.SH NAME -curl \- transfer a URL -.SH SYNOPSIS -.B curl [options] -.I [URL...] -.SH DESCRIPTION -.B curl -is a client to get documents/files from or send documents to a server, using -any of the supported protocols (HTTP, HTTPS, FTP, GOPHER, DICT, TELNET, LDAP -or FILE). The command is designed to work without user interaction or any kind -of interactivity. - -curl offers a busload of useful tricks like proxy support, user -authentication, ftp upload, HTTP post, SSL (https:) connections, cookies, file -transfer resume and more. -.SH URL -The URL syntax is protocol dependent. You'll find a detailed description in -RFC 2396. - -You can specify multiple URLs or parts of URLs by writing part sets within -braces as in: - - http://site.{one,two,three}.com - -or you can get sequences of alphanumeric series by using [] as in: - - ftp://ftp.numericals.com/file[1-100].txt - ftp://ftp.numericals.com/file[001-100].txt (with leading zeros) - ftp://ftp.letters.com/file[a-z].txt - -It is possible to specify up to 9 sets or series for a URL, but no nesting is -supported at the moment: - - http://www.any.org/archive[1996-1999]/volume[1-4]part{a,b,c,index}.html - -You can specify any amount of URLs on the command line. They will be fetched -in a sequential manner in the specified order. - -Curl will attempt to re-use connections for multiple file transfers, so that -getting many files from the same server will not do multiple connects / -handshakes. This improves speed. Of course this is only done on files -specified on a single command line and cannot be used between separate curl -invokes. -.SH OPTIONS -.IP "-a/--append" -(FTP) -When used in a ftp upload, this will tell curl to append to the target -file instead of overwriting it. If the file doesn't exist, it will -be created. - -If this option is used twice, the second one will disable append mode again. -.IP "-A/--user-agent <agent string>" -(HTTP) -Specify the User-Agent string to send to the HTTP server. Some badly done CGIs -fail if its not set to "Mozilla/4.0". To encode blanks in the string, -surround the string with single quote marks. This can also be set with the --H/--header flag of course. - -If this option is set more than once, the last one will be the one that's -used. -.IP "-b/--cookie <name=data>" -(HTTP) -Pass the data to the HTTP server as a cookie. It is supposedly the -data previously received from the server in a "Set-Cookie:" line. -The data should be in the format "NAME1=VALUE1; NAME2=VALUE2". - -If no '=' letter is used in the line, it is treated as a filename to use to -read previously stored cookie lines from, which should be used in this session -if they match. Using this method also activates the "cookie parser" which will -make curl record incoming cookies too, which may be handy if you're using this -in combination with the -L/--location option. The file format of the file to -read cookies from should be plain HTTP headers or the Netscape/Mozilla cookie -file format. - -.B NOTE -that the file specified with -b/--cookie is only used as input. No cookies -will be stored in the file. To store cookies, save the HTTP headers to a file -using -D/--dump-header! - -If this option is set more than once, the last one will be the one that's -used. -.IP "-B/--use-ascii" -Use ASCII transfer when getting an FTP file or LDAP info. For FTP, this can -also be enforced by using an URL that ends with ";type=A". This option causes -data sent to stdout to be in text mode for win32 systems. - -If this option is used twice, the second one will disable ASCII usage. -.IP "--ciphers <list of ciphers>" -(SSL) Specifies which ciphers to use in the connection. The list of ciphers -must be using valid ciphers. Read up on SSL cipher list details on this URL: -.I http://www.openssl.org/docs/apps/ciphers.html (Option added in curl 7.9) - -If this option is used severl times, the last one will override the others. -.IP "--connect-timeout <seconds>" -Maximum time in seconds that you allow the connection to the server to take. -This only limits the connection phase, once curl has connected this option is -of no more use. This option didn't work in win32 systems until 7.7.2. See -also the -.I "--max-time" -option. - -If this option is used several times, the last one will be used. -.IP "-c/--cookie-jar <file name>" -Specify to which file you want curl to write all cookies after a completed -operation. Curl writes all cookies previously read from a specified file as -well as all cookies received from remote server(s). If no cookies are known, -no file will be written. The file will be written using the Netscape cookie -file format. If you set the file name to a single dash, "-", the cookies will -be written to stdout. (Option added in curl 7.9) - -If this option is used several times, the last specfied file name will be -used. -.IP "-C/--continue-at <offset>" -Continue/Resume a previous file transfer at the given offset. The given offset -is the exact number of bytes that will be skipped counted from the beginning -of the source file before it is transfered to the destination. If used with -uploads, the ftp server command SIZE will not be used by curl. - -Use "-C -" to tell curl to automatically find out where/how to resume the -transfer. It then uses the given output/input files to figure that out. - -If this option is used several times, the last one will be used. -.IP "-d/--data <data>" -(HTTP) Sends the specified data in a POST request to the HTTP server, in a way -that can emulate as if a user has filled in a HTML form and pressed the submit -button. Note that the data is sent exactly as specified with no extra -processing (with all newlines cut off). The data is expected to be -"url-encoded". This will cause curl to pass the data to the server using the -content-type application/x-www-form-urlencoded. Compare to -F. If more than -one -d/--data option is used on the same command line, the data pieces -specified will be merged together with a separating &-letter. Thus, using '-d -name=daniel -d skill=lousy' would generate a post chunk that looks like -\&'name=daniel&skill=lousy'. - -If you start the data with the letter @, the rest should be a file name to -read the data from, or - if you want curl to read the data from stdin. The -contents of the file must already be url-encoded. Multiple files can also be -specified. Posting data from a file named 'foobar' would thus be done with -"--data @foobar". - -To post data purely binary, you should instead use the --data-binary option. - --d/--data is the same as --data-ascii. - -If this option is used several times, the ones following the first will -append data. -.IP "--data-ascii <data>" -(HTTP) This is an alias for the -d/--data option. - -If this option is used several times, the ones following the first will -append data. -.IP "--data-binary <data>" -(HTTP) This posts data in a similar manner as --data-ascii does, although when -using this option the entire context of the posted data is kept as-is. If you -want to post a binary file without the strip-newlines feature of the ---data-ascii option, this is for you. - -If this option is used several times, the ones following the first will -append data. -.IP "--disable-epsv" -(FTP) Tell curl to disable the use of the EPSV command when doing passive FTP -downloads. Curl will normally always first attempt to use EPSV before PASV, -but with this option, it will not try using EPSV. - -IF this option is used several times, each occurrence will toggle this on/off. -.IP "-D/--dump-header <file>" -(HTTP/FTP) -Write the HTTP headers to this file. Write the FTP file info to this -file if -I/--head is used. - -This option is handy to use when you want to store the cookies that a HTTP -site sends to you. The cookies could then be read in a second curl invoke by -using the -b/--cookie option! - -If this option is used several times, the last one will be used. -.IP "-e/--referer <URL>" -(HTTP) Sends the "Referer Page" information to the HTTP server. This can also -be set with the -H/--header flag of course. When used with -.I -L/--location -you can append ";auto" to the referer URL to make curl automatically set the -previous URL when it follows a Location: header. The ";auto" string can be -used alone, even if you don't set an initial referer. - -If this option is used several times, the last one will be used. -.IP "--egd-file <file>" -(HTTPS) Specify the path name to the Entropy Gathering Daemon socket. The -socket is used to seed the random engine for SSL connections. See also the -.I "--random-file" -option. -.IP "-E/--cert <certificate[:password]>" -(HTTPS) -Tells curl to use the specified certificate file when getting a file -with HTTPS. The certificate must be in PEM format. -If the optional password isn't specified, it will be queried for on -the terminal. Note that this certificate is the private key and the private -certificate concatenated! - -If this option is used several times, the last one will be used. -.IP "--cacert <CA certificate>" -(HTTPS) Tells curl to use the specified certificate file to verify the -peer. The certificate must be in PEM format. - -If this option is used several times, the last one will be used. -.IP "-f/--fail" -(HTTP) -Fail silently (no output at all) on server errors. This is mostly done -like this to better enable scripts etc to better deal with failed -attempts. In normal cases when a HTTP server fails to deliver a -document, it returns a HTML document stating so (which often also -describes why and more). This flag will prevent curl from -outputting that and fail silently instead. - -If this option is used twice, the second will again disable silent failure. -.IP "-F/--form <name=content>" -(HTTP) This lets curl emulate a filled in form in which a user has pressed the -submit button. This causes curl to POST data using the content-type -multipart/form-data according to RFC1867. This enables uploading of binary -files etc. To force the 'content' part to be be a file, prefix the file name -with an @ sign. To just get the content part from a file, prefix the file name -with the letter <. The difference between @ and < is then that @ makes a file -get attached in the post as a file upload, while the < makes a text field and -just get the contents for that text field from a file. - -Example, to send your password file to the server, where -\&'password' is the name of the form-field to which /etc/passwd will be the -input: - -.B curl --F password=@/etc/passwd www.mypasswords.com - -To read the file's content from stdin insted of a file, use - where the file -name should've been. This goes for both @ and < constructs. - -This option can be used multiple times. -.IP "-g/--globoff" -This option switches off the "URL globbing parser". When you set this option, -you can specify URLs that contain the letters {}[] without having them being -interpreted by curl itself. Note that these letters are not normal legal URL -contents but they should be encoded according to the URI standard. (Option -added in curl 7.6) -.IP "-G/--get" -When used, this option will make all data specified with -d/--data or ---data-binary to be used in a HTTP GET request instead of the POST request -that otherwise would be used. The data will be appended to the URL with a '?' -separator. (Option added in curl 7.9) -.IP "-h/--help" -Usage help. -.IP "-H/--header <header>" -(HTTP) Extra header to use when getting a web page. You may specify any number -of extra headers. Note that if you should add a custom header that has the -same name as one of the internal ones curl would use, your externally set -header will be used instead of the internal one. This allows you to make even -trickier stuff than curl would normally do. You should not replace internally -set headers without knowing perfectly well what you're doing. Replacing an -internal header with one without content on the right side of the colon will -prevent that header from appearing. - -This option can be used multiple times. -.IP "-i/--include" -(HTTP) -Include the HTTP-header in the output. The HTTP-header includes things -like server-name, date of the document, HTTP-version and more... - -If this option is used twice, the second will again disable header include. -.IP "--interface <name>" -Perform an operation using a specified interface. You can enter interface -name, IP address or host name. An example could look like: - -.B "curl --interface eth0:1 http://www.netscape.com/" - -If this option is used several times, the last one will be used. -.IP "-I/--head" -(HTTP/FTP) -Fetch the HTTP-header only! HTTP-servers feature the command HEAD -which this uses to get nothing but the header of a document. When used -on a FTP file, curl displays the file size only. - -If this option is used twice, the second will again disable header only. -.IP "--krb4 <level>" -(FTP) Enable kerberos4 authentication and use. The level must be entered and -should be one of 'clear', 'safe', 'confidential' or 'private'. Should you use -a level that is not one of these, 'private' will instead be used. - -If this option is used several times, the last one will be used. -.IP "-K/--config <config file>" -Specify which config file to read curl arguments from. The config file is a -text file in which command line arguments can be written which then will be -used as if they were written on the actual command line. Options and their -parameters must be specified on the same config file line. If the parameter is -to contain white spaces, the parameter must be inclosed within quotes. If the -first column of a config line is a '#' character, the rest of the line will be -treated as a comment. - -Specify the filename as '-' to make curl read the file from stdin. - -This option can be used multiple times. -.IP "-l/--list-only" -(FTP) -When listing an FTP directory, this switch forces a name-only view. -Especially useful if you want to machine-parse the contents of an FTP -directory since the normal directory view doesn't use a standard look -or format. - -If this option is used twice, the second will again disable list only. -.IP "-L/--location" -(HTTP/HTTPS) If the server reports that the requested page has a different -location (indicated with the header line Location:) this flag will let curl -attempt to reattempt the get on the new place. If used together with -i or -I, -headers from all requested pages will be shown. If this flag is used when -making a HTTP POST, curl will automatically switch to GET after the initial -POST has been done. - -If this option is used twice, the second will again disable location following. -.IP "-m/--max-time <seconds>" -Maximum time in seconds that you allow the whole operation to take. This is -useful for preventing your batch jobs from hanging for hours due to slow -networks or links going down. This doesn't work fully in win32 systems. -See also the -.I "--connect-timeout" -option. - -If this option is used several times, the last one will be used. -.IP "-M/--manual" -Manual. Display the huge help text. -.IP "-n/--netrc" -Makes curl scan the -.I .netrc -file in the user's home directory for login name and password. This is -typically used for ftp on unix. If used with http, curl will enable user -authentication. See -.BR netrc(4) -or -.BR ftp(1) -for details on the file format. Curl will not complain if that file -hasn't the right permissions (it should not be world nor group -readable). The environment variable "HOME" is used to find the home -directory. - -A quick and very simple example of how to setup a -.I .netrc -to allow curl to ftp to the machine host.domain.com with user name -\&'myself' and password 'secret' should look similar to: - -.B "machine host.domain.com login myself password secret" - -If this option is used twice, the second will again disable netrc usage. -.IP "-N/--no-buffer" -Disables the buffering of the output stream. In normal work situations, curl -will use a standard buffered output stream that will have the effect that it -will output the data in chunks, not necessarily exactly when the data arrives. -Using this option will disable that buffering. - -If this option is used twice, the second will again switch on buffering. -.IP "-o/--output <file>" -Write output to <file> instead of stdout. If you are using {} or [] to fetch -multiple documents, you can use '#' followed by a number in the <file> -specifier. That variable will be replaced with the current string for the URL -being fetched. Like in: - - curl http://{one,two}.site.com -o "file_#1.txt" - -or use several variables like: - - curl http://{site,host}.host[1-5].com -o "#1_#2" - -You may use this option as many times as you have number of URLs. -.IP "-O/--remote-name" -Write output to a local file named like the remote file we get. (Only -the file part of the remote file is used, the path is cut off.) - -You may use this option as many times as you have number of URLs. -.IP "-p/--proxytunnel" -When an HTTP proxy is used, this option will cause non-HTTP protocols to -attempt to tunnel through the proxy instead of merely using it to do HTTP-like -operations. The tunnel approach is made with the HTTP proxy CONNECT request -and requires that the proxy allows direct connect to the remote port number -curl wants to tunnel through to. - -If this option is used twice, the second will again disable proxy tunnel. -.IP "-P/--ftpport <address>" -(FTP) -Reverses the initiator/listener roles when connecting with ftp. This -switch makes Curl use the PORT command instead of PASV. In -practice, PORT tells the server to connect to the client's specified -address and port, while PASV asks the server for an ip address and -port to connect to. <address> should be one of: -.RS -.TP 12 -.B interface -i.e "eth0" to specify which interface's IP address you want to use (Unix only) -.TP -.B "IP address" -i.e "192.168.10.1" to specify exact IP number -.TP -.B "host name" -i.e "my.host.domain" to specify machine -.TP -.B "-" -(any single-letter string) to make it pick the machine's default -.RE - -If this option is used several times, the last one will be used. -.IP "-q" -If used as the first parameter on the command line, the -.I $HOME/.curlrc -file will not be read and used as a config file. -.IP "-Q/--quote <comand>" -(FTP) Send an arbitrary command to the remote FTP server, by using the QUOTE -command of the server. Not all servers support this command, and the set of -QUOTE commands are server specific! Quote commands are sent BEFORE the -transfer is taking place. To make commands take place after a successful -transfer, prefix them with a dash '-'. You may specify any amount of commands -to be run before and after the transfer. If the server returns failure for one -of the commands, the entire operation will be aborted. - -This option can be used multiple times. -.IP "--random-file <file>" -(HTTPS) Specify the path name to file containing what will be considered as -random data. The data is used to seed the random engine for SSL connections. -See also the -.I "--edg-file" -option. -.IP "-r/--range <range>" -(HTTP/FTP) -Retrieve a byte range (i.e a partial document) from a HTTP/1.1 or FTP -server. Ranges can be specified in a number of ways. -.RS -.TP 10 -.B 0-499 -specifies the first 500 bytes -.TP -.B 500-999 -specifies the second 500 bytes -.TP -.B -500 -specifies the last 500 bytes -.TP -.B 9500 -specifies the bytes from offset 9500 and forward -.TP -.B 0-0,-1 -specifies the first and last byte only(*)(H) -.TP -.B 500-700,600-799 -specifies 300 bytes from offset 500(H) -.TP -.B 100-199,500-599 -specifies two separate 100 bytes ranges(*)(H) -.RE - -(*) = NOTE that this will cause the server to reply with a multipart -response! - -You should also be aware that many HTTP/1.1 servers do not have this feature -enabled, so that when you attempt to get a range, you'll instead get the whole -document. - -FTP range downloads only support the simple syntax 'start-stop' (optionally -with one of the numbers omitted). It depends on the non-RFC command SIZE. - -If this option is used several times, the last one will be used. -.IP "-R/--remote-time" -When used, this will make libcurl attempt to figure out the timestamp of the -remote file, and if that is available make the local file get that same -timestamp. - -If this option is used twice, the second time disables this again. -.IP "-s/--silent" -Silent mode. Don't show progress meter or error messages. Makes -Curl mute. - -If this option is used twice, the second will again disable mute. -.IP "-S/--show-error" -When used with -s it makes curl show error message if it fails. - -If this option is used twice, the second will again disable show error. -.IP "-t/--telnet-option <OPT=val>" -Pass options to the telnet protocol. Supported options are: - -TTYPE=<term> Sets the terminal type. - -XDISPLOC=<X display> Sets the X display location. - -NEW_ENV=<var,val> Sets an environment variable. -.IP "-T/--upload-file <file>" -This transfers the specified local file to the remote URL. If there is no file -part in the specified URL, Curl will append the local file name. NOTE that you -must use a trailing / on the last directory to really prove to Curl that there -is no file name or curl will think that your last directory name is the remote -file name to use. That will most likely cause the upload operation to fail. If -this is used on a http(s) server, the PUT command will be used. - -Use the file name "-" (a single dash) to use stdin instead of a given file. - -If this option is used several times, the last one will be used. -.IP "-u/--user <user:password>" -Specify user and password to use when fetching. See README.curl for detailed -examples of how to use this. If no password is specified, curl will -ask for it interactively. - -If this option is used several times, the last one will be used. -.IP "-U/--proxy-user <user:password>" -Specify user and password to use for Proxy authentication. If no -password is specified, curl will ask for it interactively. - -If this option is used several times, the last one will be used. -.IP "--url <URL>" -Specify a URL to fetch. This option is mostly handy when you want to specify -URL(s) in a config file. - -This option may be used any number of times. To control where this URL is written, use the -.I -o -or the -.I -O -options. -.IP "-v/--verbose" -Makes the fetching more verbose/talkative. Mostly usable for -debugging. Lines starting with '>' means data sent by curl, '<' -means data received by curl that is hidden in normal cases and lines -starting with '*' means additional info provided by curl. - -If this option is used twice, the second will again disable verbose. -.IP "-V/--version" -Displays the full version of curl, libcurl and other 3rd party libraries -linked with the executable. -.IP "-w/--write-out <format>" -Defines what to display after a completed and successful operation. The format -is a string that may contain plain text mixed with any number of variables. The -string can be specified as "string", to get read from a particular file you -specify it "@filename" and to tell curl to read the format from stdin you -write "@-". - -The variables present in the output format will be substituted by the value or -text that curl thinks fit, as described below. All variables are specified -like %{variable_name} and to output a normal % you just write them like -%%. You can output a newline by using \\n, a carriage return with \\r and a tab -space with \\t. - -.B NOTE: -The %-letter is a special letter in the win32-environment, where all -occurrences of % must be doubled when using this option. - -Available variables are at this point: -.RS -.TP 15 -.B url_effective -The URL that was fetched last. This is mostly meaningful if you've told curl -to follow location: headers. -.TP -.B http_code -The numerical code that was found in the last retrieved HTTP(S) page. -.TP -.B time_total -The total time, in seconds, that the full operation lasted. The time will be -displayed with millisecond resolution. -.TP -.B time_namelookup -The time, in seconds, it took from the start until the name resolving was -completed. -.TP -.B time_connect -The time, in seconds, it took from the start until the connect to the remote -host (or proxy) was completed. -.TP -.B time_pretransfer -The time, in seconds, it took from the start until the file transfer is just -about to begin. This includes all pre-transfer commands and negotiations that -are specific to the particular protocol(s) involved. -.TP -.B time_starttransfer -The time, in seconds, it took from the start until the first byte is just about -to be transfered. This includes time_pretransfer and also the time the -server needs to calculate the result. -.TP -.B size_download -The total amount of bytes that were downloaded. -.TP -.B size_upload -The total amount of bytes that were uploaded. -.TP -.B size_header -The total amount of bytes of the downloaded headers. -.TP -.B size_request -The total amount of bytes that were sent in the HTTP request. -.TP -.B speed_download -The average download speed that curl measured for the complete download. -.TP -.B speed_upload -The average upload speed that curl measured for the complete upload. -.TP -.B content_type -The Content-Type of the requested document, if there was any. (Added in 7.9.5) -.RE - -If this option is used several times, the last one will be used. -.IP "-x/--proxy <proxyhost[:port]>" -Use specified HTTP proxy. If the port number is not specified, it is assumed -at port 1080. - -\fBNote\fP that all operations that are performed over a HTTP proxy will -transparantly be converted to HTTP. It means that certain protocol specific -operations might not be available. This is not the case if you can tunnel -through the proxy, as done with the \fI-p/--proxytunnel\fP option. - -If this option is used several times, the last one will be used. -.IP "-X/--request <command>" -(HTTP) -Specifies a custom request to use when communicating with the HTTP server. -The specified request will be used instead of the standard GET. Read the -HTTP 1.1 specification for details and explanations. - -(FTP) -Specifies a custom FTP command to use instead of LIST when doing file lists -with ftp. - -If this option is used several times, the last one will be used. -.IP "-y/--speed-time <time>" -If a download is slower than speed-limit bytes per second during a speed-time -period, the download gets aborted. If speed-time is used, the default -speed-limit will be 1 unless set with -y. - -If this option is used several times, the last one will be used. -.IP "-Y/--speed-limit <speed>" -If a download is slower than this given speed, in bytes per second, for -speed-time seconds it gets aborted. speed-time is set with -Y and is 30 if -not set. - -If this option is used several times, the last one will be used. -.IP "-z/--time-cond <date expression>" -(HTTP) -Request to get a file that has been modified later than the given time and -date, or one that has been modified before that time. The date expression can -be all sorts of date strings or if it doesn't match any internal ones, it -tries to get the time from a given file name instead! See the -.BR "GNU date(1)" -or -.BR "curl_getdate(3)" -man pages for date expression details. - -Start the date expression with a dash (-) to make it request for a document -that is older than the given date/time, default is a document that is newer -than the specified date/time. - -If this option is used several times, the last one will be used. -.IP "-3/--sslv3" -(HTTPS) -Forces curl to use SSL version 3 when negotiating with a remote SSL server. -.IP "-2/--sslv2" -(HTTPS) -Forces curl to use SSL version 2 when negotiating with a remote SSL server. -.IP "-0/--http1.0" -(HTTP) Forces curl to issue its requests using HTTP 1.0 instead of using its -internally preferred: HTTP 1.1. -.IP "-#/--progress-bar" -Make curl display progress information as a progress bar instead of the -default statistics. - -If this option is used twice, the second will again disable the progress bar. -.IP "--crlf" -(FTP) Convert LF to CRLF in upload. Useful for MVS (OS/390). - -If this option is used twice, the second will again disable crlf converting. -.IP "--stderr <file>" -Redirect all writes to stderr to the specified file instead. If the file name -is a plain '-', it is instead written to stdout. This option has no point when -you're using a shell with decent redirecting capabilities. - -If this option is used several times, the last one will be used. -.SH FILES -.I ~/.curlrc -.RS -Default config file. - -.SH ENVIRONMENT -.IP "http_proxy [protocol://]<host>[:port]" -Sets proxy server to use for HTTP. -.IP "HTTPS_PROXY [protocol://]<host>[:port]" -Sets proxy server to use for HTTPS. -.IP "FTP_PROXY [protocol://]<host>[:port]" -Sets proxy server to use for FTP. -.IP "GOPHER_PROXY [protocol://]<host>[:port]" -Sets proxy server to use for GOPHER. -.IP "ALL_PROXY [protocol://]<host>[:port]" -Sets proxy server to use if no protocol-specific proxy is set. -.IP "NO_PROXY <comma-separated list of hosts>" -list of host names that shouldn't go through any proxy. If set to a asterisk -'*' only, it matches all hosts. -.SH EXIT CODES -There exists a bunch of different error codes and their corresponding error -messages that may appear during bad conditions. At the time of this writing, -the exit codes are: -.IP 1 -Unsupported protocol. This build of curl has no support for this protocol. -.IP 2 -Failed to initialize. -.IP 3 -URL malformat. The syntax was not correct. -.IP 4 -URL user malformatted. The user-part of the URL syntax was not correct. -.IP 5 -Couldn't resolve proxy. The given proxy host could not be resolved. -.IP 6 -Couldn't resolve host. The given remote host was not resolved. -.IP 7 -Failed to connect to host. -.IP 8 -FTP weird server reply. The server sent data curl couldn't parse. -.IP 9 -FTP access denied. The server denied login. -.IP 10 -FTP user/password incorrect. Either one or both were not accepted by the -server. -.IP 11 -FTP weird PASS reply. Curl couldn't parse the reply sent to the PASS request. -.IP 12 -FTP weird USER reply. Curl couldn't parse the reply sent to the USER request. -.IP 13 -FTP weird PASV reply, Curl couldn't parse the reply sent to the PASV request. -.IP 14 -FTP weird 227 format. Curl couldn't parse the 227-line the server sent. -.IP 15 -FTP can't get host. Couldn't resolve the host IP we got in the 227-line. -.IP 16 -FTP can't reconnect. Couldn't connect to the host we got in the 227-line. -.IP 17 -FTP couldn't set binary. Couldn't change transfer method to binary. -.IP 18 -Partial file. Only a part of the file was transfered. -.IP 19 -FTP couldn't RETR file. The RETR command failed. -.IP 20 -FTP write error. The transfer was reported bad by the server. -.IP 21 -FTP quote error. A quote command returned error from the server. -.IP 22 -HTTP not found. The requested page was not found. This return code only -appears if --fail is used. -.IP 23 -Write error. Curl couldn't write data to a local filesystem or similar. -.IP 24 -Malformat user. User name badly specified. -.IP 25 -FTP couldn't STOR file. The server denied the STOR operation. -.IP 26 -Read error. Various reading problems. -.IP 27 -Out of memory. A memory allocation request failed. -.IP 28 -Operation timeout. The specified time-out period was reached according to the -conditions. -.IP 29 -FTP couldn't set ASCII. The server returned an unknown reply. -.IP 30 -FTP PORT failed. The PORT command failed. -.IP 31 -FTP couldn't use REST. The REST command failed. -.IP 32 -FTP couldn't use SIZE. The SIZE command failed. The command is an extension -to the original FTP spec RFC 959. -.IP 33 -HTTP range error. The range "command" didn't work. -.IP 34 -HTTP post error. Internal post-request generation error. -.IP 35 -SSL connect error. The SSL handshaking failed. -.IP 36 -FTP bad download resume. Couldn't continue an earlier aborted download. -.IP 37 -FILE couldn't read file. Failed to open the file. Permissions? -.IP 38 -LDAP cannot bind. LDAP bind operation failed. -.IP 39 -LDAP search failed. -.IP 40 -Library not found. The LDAP library was not found. -.IP 41 -Function not found. A required LDAP function was not found. -.IP 42 -Aborted by callback. An application told curl to abort the operation. -.IP 43 -Internal error. A function was called with a bad parameter. -.IP 44 -Internal error. A function was called in a bad order. -.IP 45 -Interface error. A specified outgoing interface could not be used. -.IP 46 -Bad password entered. An error was signaled when the password was entered. -.IP 47 -Too many redirects. When following redirects, curl hit the maximum amount. -.IP 48 -Unknown TELNET option specified. -.IP 49 -Malformed telnet option. -.IP 51 -The remote peer's SSL certificate wasn't ok -.IP 52 -The server didn't reply anything, which here is considered an error. -.IP XX -There will appear more error codes here in future releases. The existing ones -are meant to never change. -.SH BUGS -If you do find bugs, mail them to curl-bug@haxx.se. -.SH AUTHORS / CONTRIBUTORS -Daniel Stenberg is the main author, but the whole list of contributors is -found in the separate THANKS file. -.SH WWW -http://curl.haxx.se -.SH FTP -ftp://ftp.sunet.se/pub/www/utilities/curl/ -.SH "SEE ALSO" -.BR ftp (1), -.BR wget (1), -.BR snarf (1) diff --git a/Build/source/libs/curl/docs/curl.html b/Build/source/libs/curl/docs/curl.html deleted file mode 100644 index 49833d6b531..00000000000 --- a/Build/source/libs/curl/docs/curl.html +++ /dev/null @@ -1,1082 +0,0 @@ -<HTML> -<BODY> -<PRE> -<!-- Manpage converted by man2html 3.0.1 --> - -</PRE> -<H2>NAME</H2><PRE> - curl - transfer a URL - - -</PRE> -<H2>SYNOPSIS</H2><PRE> - <B>curl</B> <B>[options]</B> <I>[URL...]</I> - - -</PRE> -<H2>DESCRIPTION</H2><PRE> - <B>curl</B> is a client to get documents/files from or send docu - ments to a server, using any of the supported protocols - (HTTP, HTTPS, FTP, GOPHER, DICT, TELNET, LDAP or FILE). The - command is designed to work without user interaction or any - kind of interactivity. - - curl offers a busload of useful tricks like proxy support, - user authentication, ftp upload, HTTP post, SSL (https:) - connections, cookies, file transfer resume and more. - - -</PRE> -<H2>URL</H2><PRE> - The URL syntax is protocol dependent. You'll find a detailed - description in RFC 2396. - - You can specify multiple URLs or parts of URLs by writing - part sets within braces as in: - - http://site.{one,two,three}.com - - or you can get sequences of alphanumeric series by using [] - as in: - - ftp://ftp.numericals.com/file[1-100].txt - ftp://ftp.numericals.com/file[001-100].txt (with leading - zeros) - ftp://ftp.letters.com/file[a-z].txt - - It is possible to specify up to 9 sets or series for a URL, - but no nesting is supported at the moment: - - http://www.any.org/archive[1996-1999]/vol - ume[1-4]part{a,b,c,index}.html - - You can specify any amount of URLs on the command line. They - will be fetched in a sequential manner in the specified - order. - - Curl will attempt to re-use connections for multiple file - transfers, so that getting many files from the same server - will not do multiple connects / handshakes. This improves - speed. Of course this is only done on files specified on a - single command line and cannot be used between separate curl - invokes. - - - -</PRE> -<H2>OPTIONS</H2><PRE> - -a/--append - (FTP) When used in a ftp upload, this will tell curl to - append to the target file instead of overwriting it. If - the file doesn't exist, it will be created. - - If this option is used twice, the second one will dis - able append mode again. - - -A/--user-agent <agent string> - (HTTP) Specify the User-Agent string to send to the - HTTP server. Some badly done CGIs fail if its not set - to "Mozilla/4.0". To encode blanks in the string, sur - round the string with single quote marks. This can - also be set with the -H/--header flag of course. - - If this option is set more than once, the last one will - be the one that's used. - - -b/--cookie <name=data> - (HTTP) Pass the data to the HTTP server as a cookie. It - is supposedly the data previously received from the - server in a "Set-Cookie:" line. The data should be in - the format "NAME1=VALUE1; NAME2=VALUE2". - - If no '=' letter is used in the line, it is treated as - a filename to use to read previously stored cookie - lines from, which should be used in this session if - they match. Using this method also activates the - "cookie parser" which will make curl record incoming - cookies too, which may be handy if you're using this in - combination with the -L/--location option. The file - format of the file to read cookies from should be plain - HTTP headers or the Netscape/Mozilla cookie file for - mat. - - <B>NOTE</B> that the file specified with -b/--cookie is only - used as input. No cookies will be stored in the file. - To store cookies, save the HTTP headers to a file using - -D/--dump-header! - - If this option is set more than once, the last one will - be the one that's used. - - -B/--use-ascii - Use ASCII transfer when getting an FTP file or LDAP - info. For FTP, this can also be enforced by using an - URL that ends with ";type=A". This option causes data - sent to stdout to be in text mode for win32 systems. - - If this option is used twice, the second one will dis - able ASCII usage. - - --ciphers <list of ciphers> - (SSL) Specifies which ciphers to use in the connection. - The list of ciphers must be using valid ciphers. Read - up on SSL cipher list details on this URL: - <I>http://www.openssl.org/docs/apps/ciphers.html</I> <I>(Option</I> - <I>added</I> <I>in</I> <I>curl</I> <I>7.9)</I> - - If this option is used severl times, the last one will - override the others. - - --connect-timeout <seconds> - Maximum time in seconds that you allow the connection - to the server to take. This only limits the connection - phase, once curl has connected this option is of no - more use. This option didn't work in win32 systems - until 7.7.2. See also the <I>--max-time</I> option. - - If this option is used several times, the last one will - be used. - - -c/--cookie-jar <file name> - Specify to which file you want curl to write all cook - ies after a completed operation. Curl writes all cook - ies previously read from a specified file as well as - all cookies received from remote server(s). If no cook - ies are known, no file will be written. The file will - be written using the Netscape cookie file format. If - you set the file name to a single dash, "-", the cook - ies will be written to stdout. (Option added in curl - 7.9) - - If this option is used several times, the last specfied - file name will be used. - - -C/--continue-at <offset> - Continue/Resume a previous file transfer at the given - offset. The given offset is the exact number of bytes - that will be skipped counted from the beginning of the - source file before it is transfered to the destination. - If used with uploads, the ftp server command SIZE will - not be used by curl. - - Use "-C -" to tell curl to automatically find out - where/how to resume the transfer. It then uses the - given output/input files to figure that out. - - If this option is used several times, the last one will - be used. - - -d/--data <data> - (HTTP) Sends the specified data in a POST request to - the HTTP server, in a way that can emulate as if a user - has filled in a HTML form and pressed the submit but - ton. Note that the data is sent exactly as specified - with no extra processing (with all newlines cut off). - The data is expected to be "url-encoded". This will - cause curl to pass the data to the server using the - content-type application/x-www-form-urlencoded. Compare - to -F. If more than one -d/--data option is used on the - same command line, the data pieces specified will be - merged together with a separating &-letter. Thus, using - '-d name=daniel -d skill=lousy' would generate a post - chunk that looks like 'name=daniel&skill=lousy'. - - If you start the data with the letter @, the rest - should be a file name to read the data from, or - if - you want curl to read the data from stdin. The con - tents of the file must already be url-encoded. Multiple - files can also be specified. Posting data from a file - named 'foobar' would thus be done with "--data @foo - bar". - - To post data purely binary, you should instead use the - --data-binary option. - - -d/--data is the same as --data-ascii. - - If this option is used several times, the ones follow - ing the first will append data. - - --data-ascii <data> - (HTTP) This is an alias for the -d/--data option. - - If this option is used several times, the ones follow - ing the first will append data. - - --data-binary <data> - (HTTP) This posts data in a similar manner as --data- - ascii does, although when using this option the entire - context of the posted data is kept as-is. If you want - to post a binary file without the strip-newlines fea - ture of the --data-ascii option, this is for you. - - If this option is used several times, the ones follow - ing the first will append data. - - --disable-epsv - (FTP) Tell curl to disable the use of the EPSV command - when doing passive FTP downloads. Curl will normally - always first attempt to use EPSV before PASV, but with - this option, it will not try using EPSV. - - IF this option is used several times, each occurrence - will toggle this on/off. - - -D/--dump-header <file> - (HTTP/FTP) Write the HTTP headers to this file. Write - the FTP file info to this file if -I/--head is used. - - This option is handy to use when you want to store the - cookies that a HTTP site sends to you. The cookies - could then be read in a second curl invoke by using the - -b/--cookie option! - - If this option is used several times, the last one will - be used. - - -e/--referer <URL> - (HTTP) Sends the "Referer Page" information to the HTTP - server. This can also be set with the -H/--header flag - of course. When used with <I>-L/--location</I> you can append - ";auto" to the referer URL to make curl automatically - set the previous URL when it follows a Location: - header. The ";auto" string can be used alone, even if - you don't set an initial referer. - - If this option is used several times, the last one will - be used. - - --egd-file <file> - (HTTPS) Specify the path name to the Entropy Gathering - Daemon socket. The socket is used to seed the random - engine for SSL connections. See also the <I>--random-file</I> - option. - - -E/--cert <certificate[:password]> - (HTTPS) Tells curl to use the specified certificate - file when getting a file with HTTPS. The certificate - must be in PEM format. If the optional password isn't - specified, it will be queried for on the terminal. Note - that this certificate is the private key and the pri - vate certificate concatenated! - - If this option is used several times, the last one will - be used. - - --cacert <CA certificate> - (HTTPS) Tells curl to use the specified certificate - file to verify the peer. The certificate must be in PEM - format. - - If this option is used several times, the last one will - be used. - - -f/--fail - (HTTP) Fail silently (no output at all) on server - errors. This is mostly done like this to better enable - scripts etc to better deal with failed attempts. In - normal cases when a HTTP server fails to deliver a doc - ument, it returns a HTML document stating so (which - often also describes why and more). This flag will pre - vent curl from outputting that and fail silently - instead. - - If this option is used twice, the second will again - disable silent failure. - - -F/--form <name=content> - (HTTP) This lets curl emulate a filled in form in which - a user has pressed the submit button. This causes curl - to POST data using the content-type multipart/form-data - according to RFC1867. This enables uploading of binary - files etc. To force the 'content' part to be be a file, - prefix the file name with an @ sign. To just get the - content part from a file, prefix the file name with the - letter <. The difference between @ and < is then that @ - makes a file get attached in the post as a file upload, - while the < makes a text field and just get the con - tents for that text field from a file. - - Example, to send your password file to the server, - where 'password' is the name of the form-field to which - /etc/passwd will be the input: - - <B>curl</B> -F password=@/etc/passwd www.mypasswords.com - - To read the file's content from stdin insted of a file, - use - where the file name should've been. This goes for - both @ and < constructs. - - This option can be used multiple times. - - -g/--globoff - This option switches off the "URL globbing parser". - When you set this option, you can specify URLs that - contain the letters {}[] without having them being - interpreted by curl itself. Note that these letters are - not normal legal URL contents but they should be - encoded according to the URI standard. (Option added in - curl 7.6) - - -G/--get - When used, this option will make all data specified - with -d/--data or --data-binary to be used in a HTTP - GET request instead of the POST request that otherwise - would be used. The data will be appended to the URL - with a '?' separator. (Option added in curl 7.9) - - -h/--help - Usage help. - - -H/--header <header> - (HTTP) Extra header to use when getting a web page. You - may specify any number of extra headers. Note that if - you should add a custom header that has the same name - as one of the internal ones curl would use, your exter - nally set header will be used instead of the internal - one. This allows you to make even trickier stuff than - curl would normally do. You should not replace inter - nally set headers without knowing perfectly well what - you're doing. Replacing an internal header with one - without content on the right side of the colon will - prevent that header from appearing. - - This option can be used multiple times. - - -i/--include - (HTTP) Include the HTTP-header in the output. The HTTP- - header includes things like server-name, date of the - document, HTTP-version and more... - - If this option is used twice, the second will again - disable header include. - - --interface <name> - Perform an operation using a specified interface. You - can enter interface name, IP address or host name. An - example could look like: - - <B>curl</B> <B>--interface</B> <B>eth0:1</B> <B>http://www.netscape.com/</B> - - If this option is used several times, the last one will - be used. - - -I/--head - (HTTP/FTP) Fetch the HTTP-header only! HTTP-servers - feature the command HEAD which this uses to get nothing - but the header of a document. When used on a FTP file, - curl displays the file size only. - - If this option is used twice, the second will again - disable header only. - - --krb4 <level> - (FTP) Enable kerberos4 authentication and use. The - level must be entered and should be one of 'clear', - 'safe', 'confidential' or 'private'. Should you use a - level that is not one of these, 'private' will instead - be used. - - If this option is used several times, the last one will - be used. - - -K/--config <config file> - Specify which config file to read curl arguments from. - The config file is a text file in which command line - arguments can be written which then will be used as if - they were written on the actual command line. Options - and their parameters must be specified on the same con - fig file line. If the parameter is to contain white - spaces, the parameter must be inclosed within quotes. - If the first column of a config line is a '#' charac - ter, the rest of the line will be treated as a comment. - - Specify the filename as '-' to make curl read the file - from stdin. - - This option can be used multiple times. - - -l/--list-only - (FTP) When listing an FTP directory, this switch forces - a name-only view. Especially useful if you want to - machine-parse the contents of an FTP directory since - the normal directory view doesn't use a standard look - or format. - - If this option is used twice, the second will again - disable list only. - - -L/--location - (HTTP/HTTPS) If the server reports that the requested - page has a different location (indicated with the - header line Location:) this flag will let curl attempt - to reattempt the get on the new place. If used together - with -i or -I, headers from all requested pages will be - shown. If this flag is used when making a HTTP POST, - curl will automatically switch to GET after the initial - POST has been done. - - If this option is used twice, the second will again - disable location following. - - -m/--max-time <seconds> - Maximum time in seconds that you allow the whole opera - tion to take. This is useful for preventing your batch - jobs from hanging for hours due to slow networks or - links going down. This doesn't work fully in win32 - systems. See also the <I>--connect-timeout</I> option. - - If this option is used several times, the last one will - be used. - - -M/--manual - Manual. Display the huge help text. - - -n/--netrc - Makes curl scan the <I>.netrc</I> file in the user's home - directory for login name and password. This is typi - cally used for ftp on unix. If used with http, curl - will enable user authentication. See <B>netrc(4)</B> or <B>ftp(1)</B> - for details on the file format. Curl will not complain - if that file hasn't the right permissions (it should - not be world nor group readable). The environment vari - able "HOME" is used to find the home directory. - - A quick and very simple example of how to setup a - <I>.netrc</I> to allow curl to ftp to the machine - host.domain.com with user name 'myself' and password - 'secret' should look similar to: - - <B>machine</B> <B>host.domain.com</B> <B>login</B> <B>myself</B> <B>password</B> <B>secret</B> - - If this option is used twice, the second will again - disable netrc usage. - - -N/--no-buffer - Disables the buffering of the output stream. In normal - work situations, curl will use a standard buffered out - put stream that will have the effect that it will out - put the data in chunks, not necessarily exactly when - the data arrives. Using this option will disable that - buffering. - - If this option is used twice, the second will again - switch on buffering. - - -o/--output <file> - Write output to <file> instead of stdout. If you are - using {} or [] to fetch multiple documents, you can use - '#' followed by a number in the <file> specifier. That - variable will be replaced with the current string for - the URL being fetched. Like in: - - curl http://{one,two}.site.com -o "file_#1.txt" - - or use several variables like: - - curl http://{site,host}.host[1-5].com -o "#1_#2" - - You may use this option as many times as you have num - ber of URLs. - - -O/--remote-name - Write output to a local file named like the remote file - we get. (Only the file part of the remote file is used, - the path is cut off.) - - You may use this option as many times as you have num - ber of URLs. - - -p/--proxytunnel - When an HTTP proxy is used, this option will cause non- - HTTP protocols to attempt to tunnel through the proxy - instead of merely using it to do HTTP-like operations. - The tunnel approach is made with the HTTP proxy CONNECT - request and requires that the proxy allows direct con - nect to the remote port number curl wants to tunnel - through to. - - If this option is used twice, the second will again - disable proxy tunnel. - - -P/--ftpport <address> - (FTP) Reverses the initiator/listener roles when con - necting with ftp. This switch makes Curl use the PORT - command instead of PASV. In practice, PORT tells the - server to connect to the client's specified address and - port, while PASV asks the server for an ip address and - port to connect to. <address> should be one of: - - <B>interface</B> i.e "eth0" to specify which interface's IP - address you want to use (Unix only) - - <B>IP</B> <B>address</B> i.e "192.168.10.1" to specify exact IP num - ber - - <B>host</B> <B>name</B> i.e "my.host.domain" to specify machine - - <B>-</B> (any single-letter string) to make it pick - the machine's default - - If this option is used several times, the last one will be - used. - - -q If used as the first parameter on the command line, the - <I>$HOME/.curlrc</I> file will not be read and used as a con - fig file. - - -Q/--quote <comand> - (FTP) Send an arbitrary command to the remote FTP - server, by using the QUOTE command of the server. Not - all servers support this command, and the set of QUOTE - commands are server specific! Quote commands are sent - BEFORE the transfer is taking place. To make commands - take place after a successful transfer, prefix them - with a dash '-'. You may specify any amount of commands - to be run before and after the transfer. If the server - returns failure for one of the commands, the entire - operation will be aborted. - - This option can be used multiple times. - - --random-file <file> - (HTTPS) Specify the path name to file containing what - will be considered as random data. The data is used to - seed the random engine for SSL connections. See also - the <I>--edg-file</I> option. - - -r/--range <range> - (HTTP/FTP) Retrieve a byte range (i.e a partial docu - ment) from a HTTP/1.1 or FTP server. Ranges can be - specified in a number of ways. - - <B>0-499</B> specifies the first 500 bytes - - <B>500-999</B> specifies the second 500 bytes - - <B>-500</B> specifies the last 500 bytes - - <B>9500</B> specifies the bytes from offset 9500 and for - ward - - <B>0-0,-1</B> specifies the first and last byte only(*)(H) - - <B>500-700,600-799</B> - specifies 300 bytes from offset 500(H) - - <B>100-199,500-599</B> - specifies two separate 100 bytes ranges(*)(H) - - (*) = NOTE that this will cause the server to reply with a - multipart response! - - You should also be aware that many HTTP/1.1 servers do not - have this feature enabled, so that when you attempt to get a - range, you'll instead get the whole document. - - FTP range downloads only support the simple syntax 'start- - stop' (optionally with one of the numbers omitted). It - depends on the non-RFC command SIZE. - - If this option is used several times, the last one will be - used. - - -R/--remote-time - When used, this will make libcurl attempt to figure out - the timestamp of the remote file, and if that is avail - able make the local file get that same timestamp. - - If this option is used twice, the second time disables - this again. - - -s/--silent - Silent mode. Don't show progress meter or error mes - sages. Makes Curl mute. - - If this option is used twice, the second will again - disable mute. - - -S/--show-error - When used with -s it makes curl show error message if - it fails. - - If this option is used twice, the second will again - disable show error. - - -t/--telnet-option <OPT=val> - Pass options to the telnet protocol. Supported options - are: - - TTYPE=<term> Sets the terminal type. - - XDISPLOC=<X display> Sets the X display location. - - NEW_ENV=<var,val> Sets an environment variable. - - -T/--upload-file <file> - This transfers the specified local file to the remote - URL. If there is no file part in the specified URL, - Curl will append the local file name. NOTE that you - must use a trailing / on the last directory to really - prove to Curl that there is no file name or curl will - think that your last directory name is the remote file - name to use. That will most likely cause the upload - operation to fail. If this is used on a http(s) server, - the PUT command will be used. - - Use the file name "-" (a single dash) to use stdin - instead of a given file. - - If this option is used several times, the last one will - be used. - - -u/--user <user:password> - Specify user and password to use when fetching. See - README.curl for detailed examples of how to use this. - If no password is specified, curl will ask for it - interactively. - - If this option is used several times, the last one will - be used. - - -U/--proxy-user <user:password> - Specify user and password to use for Proxy authentica - tion. If no password is specified, curl will ask for it - interactively. - - If this option is used several times, the last one will - be used. - - --url <URL> - Specify a URL to fetch. This option is mostly handy - when you want to specify URL(s) in a config file. - - This option may be used any number of times. To control - where this URL is written, use the <I>-o</I> or the <I>-O</I> - options. - - -v/--verbose - Makes the fetching more verbose/talkative. Mostly - usable for debugging. Lines starting with '>' means - data sent by curl, '<' means data received by curl that - is hidden in normal cases and lines starting with '*' - means additional info provided by curl. - - If this option is used twice, the second will again - disable verbose. - - -V/--version - Displays the full version of curl, libcurl and other - 3rd party libraries linked with the executable. - - -w/--write-out <format> - Defines what to display after a completed and success - ful operation. The format is a string that may contain - plain text mixed with any number of variables. The - string can be specified as "string", to get read from a - particular file you specify it "@filename" and to tell - curl to read the format from stdin you write "@-". - - The variables present in the output format will be sub - stituted by the value or text that curl thinks fit, as - described below. All variables are specified like - %{variable_name} and to output a normal % you just - write them like %%. You can output a newline by using - \n, a carriage return with \r and a tab space with \t. - - <B>NOTE:</B> The %-letter is a special letter in the - win32-environment, where all occurrences of % must be - doubled when using this option. - - Available variables are at this point: - - <B>url_effective</B> The URL that was fetched last. This is - mostly meaningful if you've told curl to - follow location: headers. - - <B>http_code</B> The numerical code that was found in the - last retrieved HTTP(S) page. - - <B>time_total</B> The total time, in seconds, that the - full operation lasted. The time will be - displayed with millisecond resolution. - - <B>time_namelookup</B> - The time, in seconds, it took from the - start until the name resolving was com - pleted. - - <B>time_connect</B> The time, in seconds, it took from the - start until the connect to the remote - host (or proxy) was completed. - - <B>time_pretransfer</B> - The time, in seconds, it took from the - start until the file transfer is just - about to begin. This includes all pre- - transfer commands and negotiations that - are specific to the particular proto - col(s) involved. - - <B>time_starttransfer</B> - The time, in seconds, it took from the - start until the first byte is just about - to be transfered. This includes - time_pretransfer and also the time the - server needs to calculate the result. - - <B>size_download</B> The total amount of bytes that were - downloaded. - - <B>size_upload</B> The total amount of bytes that were - uploaded. - - <B>size_header</B> The total amount of bytes of the down - loaded headers. - - <B>size_request</B> The total amount of bytes that were sent - in the HTTP request. - - <B>speed_download</B> The average download speed that curl - measured for the complete download. - - <B>speed_upload</B> The average upload speed that curl mea - sured for the complete upload. - - <B>content_type</B> The Content-Type of the requested docu - ment, if there was any. (Added in 7.9.5) - - If this option is used several times, the last one will be - used. - - -x/--proxy <proxyhost[:port]> - Use specified HTTP proxy. If the port number is not - specified, it is assumed at port 1080. - - <B>Note</B> that all operations that are performed over a HTTP - proxy will transparantly be converted to HTTP. It means - that certain protocol specific operations might not be - available. This is not the case if you can tunnel - through the proxy, as done with the <I>-p/--proxytunnel</I> - option. - - If this option is used several times, the last one will - be used. - - -X/--request <command> - (HTTP) Specifies a custom request to use when communi - cating with the HTTP server. The specified request - will be used instead of the standard GET. Read the HTTP - 1.1 specification for details and explanations. - - (FTP) Specifies a custom FTP command to use instead of - LIST when doing file lists with ftp. - - If this option is used several times, the last one will - be used. - - -y/--speed-time <time> - If a download is slower than speed-limit bytes per sec - ond during a speed-time period, the download gets - aborted. If speed-time is used, the default speed-limit - will be 1 unless set with -y. - - If this option is used several times, the last one will - be used. - - -Y/--speed-limit <speed> - If a download is slower than this given speed, in bytes - per second, for speed-time seconds it gets aborted. - speed-time is set with -Y and is 30 if not set. - - If this option is used several times, the last one will - be used. - - -z/--time-cond <date expression> - (HTTP) Request to get a file that has been modified - later than the given time and date, or one that has - been modified before that time. The date expression can - be all sorts of date strings or if it doesn't match any - internal ones, it tries to get the time from a given - file name instead! See the <B>GNU</B> <B>date(1)</B> or <B>curl_get</B> - <B>date(3)</B> man pages for date expression details. - - Start the date expression with a dash (-) to make it - request for a document that is older than the given - date/time, default is a document that is newer than the - specified date/time. - - If this option is used several times, the last one will - be used. - - -3/--sslv3 - (HTTPS) Forces curl to use SSL version 3 when negotiat - ing with a remote SSL server. - - -2/--sslv2 - (HTTPS) Forces curl to use SSL version 2 when negotiat - ing with a remote SSL server. - - -0/--http1.0 - (HTTP) Forces curl to issue its requests using HTTP 1.0 - instead of using its internally preferred: HTTP 1.1. - - -#/--progress-bar - Make curl display progress information as a progress - bar instead of the default statistics. - - If this option is used twice, the second will again - disable the progress bar. - - --crlf - (FTP) Convert LF to CRLF in upload. Useful for MVS - (OS/390). - - If this option is used twice, the second will again - disable crlf converting. - - --stderr <file> - Redirect all writes to stderr to the specified file - instead. If the file name is a plain '-', it is instead - written to stdout. This option has no point when you're - using a shell with decent redirecting capabilities. - - If this option is used several times, the last one will - be used. - - -</PRE> -<H2>FILES</H2><PRE> - <I>~/.curlrc</I> - Default config file. - - -</PRE> -<H2>ENVIRONMENT</H2><PRE> - http_proxy [protocol://]<host>[:port] - Sets proxy server to use for HTTP. - - HTTPS_PROXY [protocol://]<host>[:port] - Sets proxy server to use for HTTPS. - - FTP_PROXY [protocol://]<host>[:port] - Sets proxy server to use for FTP. - - GOPHER_PROXY [protocol://]<host>[:port] - Sets proxy server to use for GOPHER. - - ALL_PROXY [protocol://]<host>[:port] - Sets proxy server to use if no protocol-specific proxy - is set. - - NO_PROXY <comma-separated list of hosts> - list of host names that shouldn't go through any proxy. - If set to a asterisk - - -</PRE> -<H2>EXIT CODES</H2><PRE> - There exists a bunch of different error codes and their cor - responding error messages that may appear during bad condi - tions. At the time of this writing, the exit codes are: - - 1 Unsupported protocol. This build of curl has no support - for this protocol. - - 2 Failed to initialize. - - 3 URL malformat. The syntax was not correct. - - 4 URL user malformatted. The user-part of the URL syntax - was not correct. - - 5 Couldn't resolve proxy. The given proxy host could not - be resolved. - - 6 Couldn't resolve host. The given remote host was not - resolved. - - 7 Failed to connect to host. - - 8 FTP weird server reply. The server sent data curl - couldn't parse. - - 9 FTP access denied. The server denied login. - - 10 FTP user/password incorrect. Either one or both were - not accepted by the server. - - 11 FTP weird PASS reply. Curl couldn't parse the reply - sent to the PASS request. - - 12 FTP weird USER reply. Curl couldn't parse the reply - sent to the USER request. - - 13 FTP weird PASV reply, Curl couldn't parse the reply - sent to the PASV request. - - 14 FTP weird 227 format. Curl couldn't parse the 227-line - the server sent. - - 15 FTP can't get host. Couldn't resolve the host IP we got - in the 227-line. - - 16 FTP can't reconnect. Couldn't connect to the host we - got in the 227-line. - - 17 FTP couldn't set binary. Couldn't change transfer - method to binary. - - 18 Partial file. Only a part of the file was transfered. - - 19 FTP couldn't RETR file. The RETR command failed. - - 20 FTP write error. The transfer was reported bad by the - server. - - 21 FTP quote error. A quote command returned error from - the server. - - 22 HTTP not found. The requested page was not found. This - return code only appears if --fail is used. - - 23 Write error. Curl couldn't write data to a local - filesystem or similar. - - 24 Malformat user. User name badly specified. - - 25 FTP couldn't STOR file. The server denied the STOR - operation. - - 26 Read error. Various reading problems. - - 27 Out of memory. A memory allocation request failed. - - 28 Operation timeout. The specified time-out period was - reached according to the conditions. - - 29 FTP couldn't set ASCII. The server returned an unknown - reply. - - 30 FTP PORT failed. The PORT command failed. - - 31 FTP couldn't use REST. The REST command failed. - - 32 FTP couldn't use SIZE. The SIZE command failed. The - command is an extension to the original FTP spec RFC - 959. - - 33 HTTP range error. The range "command" didn't work. - - 34 HTTP post error. Internal post-request generation - error. - - 35 SSL connect error. The SSL handshaking failed. - - 36 FTP bad download resume. Couldn't continue an earlier - aborted download. - - 37 FILE couldn't read file. Failed to open the file. Per - missions? - - 38 LDAP cannot bind. LDAP bind operation failed. - - 39 LDAP search failed. - - 40 Library not found. The LDAP library was not found. - - 41 Function not found. A required LDAP function was not - found. - - 42 Aborted by callback. An application told curl to abort - the operation. - - 43 Internal error. A function was called with a bad param - eter. - - 44 Internal error. A function was called in a bad order. - - 45 Interface error. A specified outgoing interface could - not be used. - - 46 Bad password entered. An error was signaled when the - password was entered. - - 47 Too many redirects. When following redirects, curl hit - the maximum amount. - - 48 Unknown TELNET option specified. - - 49 Malformed telnet option. - - 51 The remote peer's SSL certificate wasn't ok - 52 The server didn't reply anything, which here is consid - ered an error. - - XX There will appear more error codes here in future - releases. The existing ones are meant to never change. - - -</PRE> -<H2>BUGS</H2><PRE> - If you do find bugs, mail them to curl-bug@haxx.se. - - -</PRE> -<H2>AUTHORS / CONTRIBUTORS</H2><PRE> - Daniel Stenberg is the main author, but the whole list of - contributors is found in the separate THANKS file. - - -</PRE> -<H2>WWW</H2><PRE> - http://curl.haxx.se - - -</PRE> -<H2>FTP</H2><PRE> - ftp://ftp.sunet.se/pub/www/utilities/curl/ - - -</PRE> -<H2>SEE ALSO</H2><PRE> - <B>ftp(1)</B>, <B>wget(1)</B>, <B>snarf(1)</B> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</PRE> -<HR> -<ADDRESS> -Man(1) output converted with -<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> -</ADDRESS> -</BODY> -</HTML> diff --git a/Build/source/libs/curl/docs/examples/Makefile.am b/Build/source/libs/curl/docs/examples/Makefile.am deleted file mode 100644 index 9f641b58288..00000000000 --- a/Build/source/libs/curl/docs/examples/Makefile.am +++ /dev/null @@ -1,13 +0,0 @@ -# -# $Id: Makefile.am,v 1.17 2002/01/25 10:07:07 bagder Exp $ -# - -AUTOMAKE_OPTIONS = foreign no-dependencies - -EXTRA_DIST = README curlgtk.c sepheaders.c simple.c postit2.c \ - win32sockets.c persistant.c ftpget.c Makefile.example \ - multithread.c getinmemory.c ftpupload.c httpput.c \ - simplessl.c ftpgetresp.c http-post.c - -all: - @echo "done" diff --git a/Build/source/libs/curl/docs/examples/Makefile.example b/Build/source/libs/curl/docs/examples/Makefile.example deleted file mode 100644 index 97ef1cb984c..00000000000 --- a/Build/source/libs/curl/docs/examples/Makefile.example +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################# -# _ _ ____ _ -# Project ___| | | | _ \| | -# / __| | | | |_) | | -# | (__| |_| | _ <| |___ -# \___|\___/|_| \_\_____| -# -# $Id: Makefile.example,v 1.2 2001/05/15 12:56:38 bagder Exp $ -# - -# What to call the final executable -TARGET = example - -# Which object files that the executable consists of -OBJS= ftpget.o - -# What compiler to use -CC = gcc - -# Compiler flags, -g for debug, -c to make an object file -CFLAGS = -c -g - -# This should point to a directory that holds libcurl, if it isn't -# in the system's standard lib dir -# We also set a -L to include the directory where we have the openssl -# libraries -LDFLAGS = -L/home/dast/lib -L/usr/local/ssl/lib - -# We need -lcurl for the curl stuff -# We need -lsocket and -lnsl when on Solaris -# We need -lssl and -lcrypto when using libcurl with SSL support -# We need -ldl for dlopen() if that is in libdl -# We need -lpthread for the pthread example -LIBS = -lcurl -lsocket -lnsl -lssl -lcrypto -dl - -# Link the target with all objects and libraries -$(TARGET) : $(OBJS) - $(CC) $(LDFLAGS) $(LIBS) -o $(TARGET) $(OBJS) - -# Compile the source files into object files -ftpget.o : ftpget.c - $(CC) $(CFLAGS) $< diff --git a/Build/source/libs/curl/docs/examples/Makefile.in b/Build/source/libs/curl/docs/examples/Makefile.in deleted file mode 100644 index 19cbc8c39f3..00000000000 --- a/Build/source/libs/curl/docs/examples/Makefile.in +++ /dev/null @@ -1,236 +0,0 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# 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@ - -# -# $Id: Makefile.am,v 1.17 2002/01/25 10:07:07 bagder Exp $ -# - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_alias = @host_alias@ -host_triplet = @host@ -AMTAR = @AMTAR@ -AS = @AS@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -EXEEXT = @EXEEXT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -IPV6_ENABLED = @IPV6_ENABLED@ -KRB4_ENABLED = @KRB4_ENABLED@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -NROFF = @NROFF@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_ENABLED = @OPENSSL_ENABLED@ -PACKAGE = @PACKAGE@ -PERL = @PERL@ -PKGADD_NAME = @PKGADD_NAME@ -PKGADD_PKG = @PKGADD_PKG@ -PKGADD_VENDOR = @PKGADD_VENDOR@ -RANDOM_FILE = @RANDOM_FILE@ -RANLIB = @RANLIB@ -STRIP = @STRIP@ -VERSION = @VERSION@ -VERSIONNUM = @VERSIONNUM@ -YACC = @YACC@ -am__include = @am__include@ -am__quote = @am__quote@ -install_sh = @install_sh@ - -AUTOMAKE_OPTIONS = foreign no-dependencies - -EXTRA_DIST = README curlgtk.c sepheaders.c simple.c postit2.c \ - win32sockets.c persistant.c ftpget.c Makefile.example \ - multithread.c getinmemory.c ftpupload.c httpput.c \ - simplessl.c ftpgetresp.c http-post.c - -subdir = docs/examples -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/lib/config.h \ - $(top_builddir)/src/config.h \ - $(top_builddir)/tests/server/config.h -CONFIG_CLEAN_FILES = -depcomp = -DIST_SOURCES = -DIST_COMMON = README Makefile.am Makefile.in -all: all-am - -.SUFFIXES: - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign docs/examples/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -uninstall-info-am: -tags: TAGS -TAGS: - - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile - -installdirs: - -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-generic distclean-libtool - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool uninstall uninstall-am uninstall-info-am - - -all: - @echo "done" -# 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/Build/source/libs/curl/docs/examples/README b/Build/source/libs/curl/docs/examples/README deleted file mode 100644 index 46f7321fb99..00000000000 --- a/Build/source/libs/curl/docs/examples/README +++ /dev/null @@ -1,22 +0,0 @@ -EXAMPLES - -This directory is for tiny libcurl programming examples. They are meant to -show some simple steps on how you can build your own application to take full -advantage of libcurl. - -If you end up with other small but still useful example sources, please mail -them for submission in future packages and on the web site. - -The Makefile.example is an example makefile that could be used to build these -examples. Just edit the file according to your system and requirements first. - -Most examples should build fine using a command line like this: - - $ gcc `curl-config --cflags` `curl-config --libs` -o example example.c - -Try the php/examples/ directory for PHP programming snippets! - - *PLEASE* do not use the curl.haxx.se site as a test target for your libcurl - applications/experiments. Even if the examples in this directory use that - site as an example URL at some places, it doesn't mean that the URLs work or - that we expect you to actually torture our web site with your tests! Thanks. diff --git a/Build/source/libs/curl/docs/examples/curlgtk.c b/Build/source/libs/curl/docs/examples/curlgtk.c deleted file mode 100644 index f3574e5401a..00000000000 --- a/Build/source/libs/curl/docs/examples/curlgtk.c +++ /dev/null @@ -1,95 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * $Id: curlgtk.c,v 1.2 2001/02/20 13:56:39 bagder Exp $ - */ -/* Copyright (c) 2000 David Odin (aka DindinX) for MandrakeSoft */ -/* an attempt to use the curl library in concert with a gtk-threaded application */ - -#include <stdio.h> -#include <gtk/gtk.h> - -#include <curl/curl.h> -#include <curl/types.h> /* new for v7 */ -#include <curl/easy.h> /* new for v7 */ - -#include <pthread.h> - -GtkWidget *Bar; - -size_t my_read_func(void *ptr, size_t size, size_t nmemb, FILE *stream) -{ - return fread(ptr, size, nmemb, stream); -} - -int my_progress_func(GtkWidget *Bar, int t, int d) -{ -/* printf("%d / %d (%g %%)\n", d, t, d*100.0/t);*/ - gdk_threads_enter(); - gtk_progress_set_value(GTK_PROGRESS(Bar), d*100.0/t); - gdk_threads_leave(); - return 0; -} - -void *curl_thread(void *ptr) -{ - CURL *curl; - CURLcode res; - FILE *outfile; - gchar *url = ptr; - - curl = curl_easy_init(); - if(curl) - { - outfile = fopen("/tmp/test.curl", "w"); - - curl_easy_setopt(curl, CURLOPT_URL, url); - curl_easy_setopt(curl, CURLOPT_FILE, outfile); - curl_easy_setopt(curl, CURLOPT_READFUNCTION, my_read_func); - curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, my_progress_func); - curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, Bar); - - res = curl_easy_perform(curl); - - fclose(outfile); - /* always cleanup */ - curl_easy_cleanup(curl); - } - return NULL; -} - -int main(int argc, char **argv) -{ - GtkWidget *Window, *Frame, *Frame2; - GtkAdjustment *adj; - pthread_t curl_tid; - - /* Init thread */ - g_thread_init(NULL); - - gtk_init(&argc, &argv); - Window = gtk_window_new(GTK_WINDOW_TOPLEVEL); - Frame = gtk_frame_new(NULL); - gtk_frame_set_shadow_type(GTK_FRAME(Frame), GTK_SHADOW_OUT); - gtk_container_add(GTK_CONTAINER(Window), Frame); - Frame2 = gtk_frame_new(NULL); - gtk_frame_set_shadow_type(GTK_FRAME(Frame2), GTK_SHADOW_IN); - gtk_container_add(GTK_CONTAINER(Frame), Frame2); - gtk_container_set_border_width(GTK_CONTAINER(Frame2), 5); - adj = (GtkAdjustment*)gtk_adjustment_new(0, 0, 100, 0, 0, 0); - Bar = gtk_progress_bar_new_with_adjustment(adj); - gtk_container_add(GTK_CONTAINER(Frame2), Bar); - gtk_widget_show_all(Window); - - pthread_create(&curl_tid, NULL, curl_thread, argv[1]); - - gdk_threads_enter(); - gtk_main(); - gdk_threads_leave(); - return 0; -} - diff --git a/Build/source/libs/curl/docs/examples/ftpget.c b/Build/source/libs/curl/docs/examples/ftpget.c deleted file mode 100644 index f453bf03756..00000000000 --- a/Build/source/libs/curl/docs/examples/ftpget.c +++ /dev/null @@ -1,83 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * $Id: ftpget.c,v 1.2 2002/01/08 13:05:44 bagder Exp $ - */ - -#include <stdio.h> - -#include <curl/curl.h> -#include <curl/types.h> -#include <curl/easy.h> - -/* - * This is an example showing how to get a single file from an FTP server. - * It delays the actual destination file creation until the first write - * callback so that it won't create an empty file in case the remote file - * doesn't exist or something else fails. - */ - -struct FtpFile { - char *filename; - FILE *stream; -}; - -int my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream) -{ - struct FtpFile *out=(struct FtpFile *)stream; - if(out && !out->stream) { - /* open file for writing */ - out->stream=fopen(out->filename, "wb"); - if(!out->stream) - return -1; /* failure, can't open file to write */ - } - return fwrite(buffer, size, nmemb, out->stream); -} - - -int main(void) -{ - CURL *curl; - CURLcode res; - struct FtpFile ftpfile={ - "curl.tar.gz", /* name to store the file as if succesful */ - NULL - }; - - curl_global_init(CURL_GLOBAL_DEFAULT); - - curl = curl_easy_init(); - if(curl) { - /* Get curl 7.9.2 from sunet.se's FTP site: */ - curl_easy_setopt(curl, CURLOPT_URL, - "ftp://ftp.sunet.se/pub/www/utilities/curl/curl-7.9.2.tar.gz"); - /* Define our callback to get called when there's data to be written */ - curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, my_fwrite); - /* Set a pointer to our struct to pass to the callback */ - curl_easy_setopt(curl, CURLOPT_FILE, &ftpfile); - - /* Switch on full protocol/debug output */ - curl_easy_setopt(curl, CURLOPT_VERBOSE, TRUE); - - res = curl_easy_perform(curl); - - /* always cleanup */ - curl_easy_cleanup(curl); - - if(CURLE_OK != res) { - /* we failed */ - fprintf(stderr, "curl told us %d\n", res); - } - } - - if(ftpfile.stream) - fclose(ftpfile.stream); /* close the local file */ - - curl_global_cleanup(); - - return 0; -} diff --git a/Build/source/libs/curl/docs/examples/ftpgetresp.c b/Build/source/libs/curl/docs/examples/ftpgetresp.c deleted file mode 100644 index 923fe617cae..00000000000 --- a/Build/source/libs/curl/docs/examples/ftpgetresp.c +++ /dev/null @@ -1,61 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * $Id: ftpgetresp.c,v 1.1 2002/01/08 08:25:44 bagder Exp $ - */ - -#include <stdio.h> - -#include <curl/curl.h> -#include <curl/types.h> -#include <curl/easy.h> - -/* - * Similar to ftpget.c but this also stores the received response-lines - * in a separate file using our own callback! - * - * This functionality was introduced in libcurl 7.9.3. - */ - -size_t -write_response(void *ptr, size_t size, size_t nmemb, void *data) -{ - FILE *writehere = (FILE *)data; - return fwrite(ptr, size, nmemb, writehere); -} - -int main(int argc, char **argv) -{ - CURL *curl; - CURLcode res; - FILE *ftpfile; - FILE *respfile; - - /* local file name to store the file as */ - ftpfile = fopen("ftp-list", "wb"); /* b is binary, needed on win32 */ - - /* local file name to store the FTP server's response lines in */ - respfile = fopen("ftp-responses", "wb"); /* b is binary, needed on win32 */ - - curl = curl_easy_init(); - if(curl) { - /* Get a file listing from sunet */ - curl_easy_setopt(curl, CURLOPT_URL, "ftp://ftp.sunet.se/"); - curl_easy_setopt(curl, CURLOPT_FILE, ftpfile); - curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, write_response); - curl_easy_setopt(curl, CURLOPT_WRITEHEADER, respfile); - res = curl_easy_perform(curl); - - /* always cleanup */ - curl_easy_cleanup(curl); - } - - fclose(ftpfile); /* close the local file */ - fclose(respfile); /* close the response file */ - - return 0; -} diff --git a/Build/source/libs/curl/docs/examples/ftpupload.c b/Build/source/libs/curl/docs/examples/ftpupload.c deleted file mode 100644 index 0014104b818..00000000000 --- a/Build/source/libs/curl/docs/examples/ftpupload.c +++ /dev/null @@ -1,88 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * $Id: ftpupload.c,v 1.1 2001/08/29 07:12:04 bagder Exp $ - */ - -#include <stdio.h> - -#include <curl/curl.h> - -/* - * This example shows an FTP upload, with a rename of the file just after - * a successful upload. - * - * Example based on source code provided by Erick Nuwendam. Thanks! - */ - -#define LOCAL_FILE "/tmp/uploadthis.txt" -#define UPLOAD_FILE_AS "while-uploading.txt" -#define REMOTE_URL "ftp://localhost/" UPLOAD_FILE_AS -#define RENAME_FILE_TO "renamed-and-fine.txt" - -int main(int argc, char **argv) -{ - CURL *curl; - CURLcode res; - FILE *ftpfile; - FILE * hd_src ; - int hd ; - struct stat file_info; - - struct curl_slist *headerlist=NULL; - char buf_1 [] = "RNFR " UPLOAD_FILE_AS; - char buf_2 [] = "RNTO " RENAME_FILE_TO; - - /* get the file size of the local file */ - hd = open(LOCAL_FILE, O_RDONLY) ; - fstat(hd, &file_info); - close(hd) ; - - /* get a FILE * of the same file, could also be made with - fdopen() from the previous descriptor, but hey this is just - an example! */ - hd_src = fopen(LOCAL_FILE, "rb"); - - /* In windows, this will init the winsock stuff */ - curl_global_init(CURL_GLOBAL_ALL); - - /* get a curl handle */ - curl = curl_easy_init(); - if(curl) { - /* build a list of commands to pass to libcurl */ - headerlist = curl_slist_append(headerlist, buf_1); - headerlist = curl_slist_append(headerlist, buf_2); - - /* enable uploading */ - curl_easy_setopt(curl, CURLOPT_UPLOAD, TRUE) ; - - /* specify target */ - curl_easy_setopt(curl,CURLOPT_URL, REMOTE_URL); - - /* pass in that last of FTP commands to run after the transfer */ - curl_easy_setopt(curl, CURLOPT_POSTQUOTE, headerlist); - - /* now specify which file to upload */ - curl_easy_setopt(curl, CURLOPT_INFILE, hd_src); - - /* and give the size of the upload (optional) */ - curl_easy_setopt(curl, CURLOPT_INFILESIZE, file_info.st_size); - - /* Now run off and do what you've been told! */ - res = curl_easy_perform(curl); - - /* clean up the FTP commands list */ - curl_slist_free_all (headerlist); - - /* always cleanup */ - curl_easy_cleanup(curl); - } - fclose(hd_src); /* close the local file */ - - curl_global_cleanup(); - return 0; -} diff --git a/Build/source/libs/curl/docs/examples/getinmemory.c b/Build/source/libs/curl/docs/examples/getinmemory.c deleted file mode 100644 index 8d65a39f88d..00000000000 --- a/Build/source/libs/curl/docs/examples/getinmemory.c +++ /dev/null @@ -1,80 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * $Id: getinmemory.c,v 1.2 2001/05/15 13:04:53 bagder Exp $ - * - * Example source code to show how the callback function can be used to - * download data into a chunk of memory instead of storing it in a file. - * - * This exact source code has not been verified to work. - */ - -/* to make this work under windows, use the win32-functions from the - win32socket.c file as well */ - -#include <stdio.h> - -#include <curl/curl.h> -#include <curl/types.h> -#include <curl/easy.h> - -struct MemoryStruct { - char *memory; - size_t size; -}; - -size_t -WriteMemoryCallback(void *ptr, size_t size, size_t nmemb, void *data) -{ - register int realsize = size * nmemb; - struct MemoryStruct *mem = (struct MemoryStruct *)data; - - mem->memory = (char *)realloc(mem->memory, mem->size + realsize + 1); - if (mem->memory) { - memcpy(&(mem->memory[mem->size]), ptr, realsize); - mem->size += realsize; - mem->memory[mem->size] = 0; - } - return realsize; -} - -int main(int argc, char **argv) -{ - CURL *curl_handle; - - struct MemoryStruct chunk; - - chunk.memory=NULL; /* we expect realloc(NULL, size) to work */ - chunk.size = 0; /* no data at this point */ - - /* init the curl session */ - curl_handle = curl_easy_init(); - - /* specify URL to get */ - curl_easy_setopt(curl_handle, CURLOPT_URL, "http://cool.haxx.se/"); - - /* send all data to this function */ - curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, WriteMemoryCallback); - - /* we pass our 'chunk' struct to the callback function */ - curl_easy_setopt(curl_handle, CURLOPT_FILE, (void *)&chunk); - - /* get it! */ - curl_easy_perform(curl_handle); - - /* cleanup curl stuff */ - curl_easy_cleanup(curl_handle); - - /* - * Now, our chunk.memory points to a memory block that is chunk.size - * bytes big and contains the remote file. - * - * Do something nice with it! - */ - - return 0; -} diff --git a/Build/source/libs/curl/docs/examples/http-post.c b/Build/source/libs/curl/docs/examples/http-post.c deleted file mode 100644 index e8ec969b5a5..00000000000 --- a/Build/source/libs/curl/docs/examples/http-post.c +++ /dev/null @@ -1,35 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * $Id: http-post.c,v 1.1 2002/01/10 09:00:02 bagder Exp $ - */ - -#include <stdio.h> -#include <curl/curl.h> - -int main(void) -{ - CURL *curl; - CURLcode res; - - curl = curl_easy_init(); - if(curl) { - /* First set the URL that is about to receive our POST. This URL can - just as well be a https:// URL if that is what should receive the - data. */ - curl_easy_setopt(curl, CURLOPT_URL, "http://postit.example.com/moo.cgi"); - /* Now specify the POST data */ - curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "name=daniel&project=curl"); - - /* Perform the request, res will get the return code */ - res = curl_easy_perform(curl); - - /* always cleanup */ - curl_easy_cleanup(curl); - } - return 0; -} diff --git a/Build/source/libs/curl/docs/examples/httpput.c b/Build/source/libs/curl/docs/examples/httpput.c deleted file mode 100644 index 82a932eca83..00000000000 --- a/Build/source/libs/curl/docs/examples/httpput.c +++ /dev/null @@ -1,100 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * $Id: httpput.c,v 1.1 2001/09/25 05:55:56 bagder Exp $ - */ - -#include <stdio.h> -#include <fcntl.h> -#include <sys/stat.h> - -#include <curl/curl.h> - -/* - * This example shows a HTTP PUT operation. PUTs a file given as a command - * line argument to the URL also given on the command line. - * - * This example also uses its own read callback. - */ - -size_t read_callback(void *ptr, size_t size, size_t nmemb, void *stream) -{ - size_t retcode; - - /* in real-world cases, this would probably get this data differently - as this fread() stuff is exactly what the library already would do - by default internally */ - retcode = fread(ptr, size, nmemb, stream); - - fprintf(stderr, "*** We read %d bytes from file\n", retcode); - - return retcode; -} - -int main(int argc, char **argv) -{ - CURL *curl; - CURLcode res; - FILE *ftpfile; - FILE * hd_src ; - int hd ; - struct stat file_info; - - char *file; - char *url; - - if(argc < 3) - return 1; - - file= argv[1]; - url = argv[2]; - - /* get the file size of the local file */ - hd = open(file, O_RDONLY) ; - fstat(hd, &file_info); - close(hd) ; - - /* get a FILE * of the same file, could also be made with - fdopen() from the previous descriptor, but hey this is just - an example! */ - hd_src = fopen(file, "rb"); - - /* In windows, this will init the winsock stuff */ - curl_global_init(CURL_GLOBAL_ALL); - - /* get a curl handle */ - curl = curl_easy_init(); - if(curl) { - /* we want to use our own read function */ - curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback); - - /* enable uploading */ - curl_easy_setopt(curl, CURLOPT_UPLOAD, TRUE) ; - - /* HTTP PUT please */ - curl_easy_setopt(curl, CURLOPT_PUT, TRUE); - - /* specify target */ - curl_easy_setopt(curl,CURLOPT_URL, url); - - /* now specify which file to upload */ - curl_easy_setopt(curl, CURLOPT_INFILE, hd_src); - - /* and give the size of the upload (optional) */ - curl_easy_setopt(curl, CURLOPT_INFILESIZE, file_info.st_size); - - /* Now run off and do what you've been told! */ - res = curl_easy_perform(curl); - - /* always cleanup */ - curl_easy_cleanup(curl); - } - fclose(hd_src); /* close the local file */ - - curl_global_cleanup(); - return 0; -} diff --git a/Build/source/libs/curl/docs/examples/multithread.c b/Build/source/libs/curl/docs/examples/multithread.c deleted file mode 100644 index 5d704f6838c..00000000000 --- a/Build/source/libs/curl/docs/examples/multithread.c +++ /dev/null @@ -1,70 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * $Id: multithread.c,v 1.1 2001/05/04 09:35:43 bagder Exp $ - */ - -/* A multi-threaded example that uses pthreads extensively to fetch - * X remote files at once */ - -#include <stdio.h> -#include <pthread.h> -#include <curl/curl.h> - -/* silly list of test-URLs */ -char *urls[]= { - "http://curl.haxx.se/", - "ftp://cool.haxx.se/", - "http://www.contactor.se/", - "www.haxx.se" -}; - -void *pull_one_url(void *url) -{ - CURL *curl; - - curl = curl_easy_init(); - - curl_easy_setopt(curl, CURLOPT_URL, url); - curl_easy_perform(curl); - - curl_easy_cleanup(curl); - - return NULL; -} - - -/* - int pthread_create(pthread_t *new_thread_ID, - const pthread_attr_t *attr, - void * (*start_func)(void *), void *arg); -*/ - -int main(int argc, char **argv) -{ - pthread_t tid[4]; - int i; - int error; - for(i=0; i< 4; i++) { - error = pthread_create(&tid[i], - NULL, /* default attributes please */ - pull_one_url, - urls[i]); - if(0 != error) - fprintf(stderr, "Couldn't run thread number %d, errno %d\n", i, error); - else - fprintf(stderr, "Thread %d, gets %s\n", i, urls[i]); - } - - /* now wait for all threads to terminate */ - for(i=0; i< 4; i++) { - error = pthread_join(tid[i], NULL); - fprintf(stderr, "Thread %d terminated\n", i); - } - - return 0; -} diff --git a/Build/source/libs/curl/docs/examples/persistant.c b/Build/source/libs/curl/docs/examples/persistant.c deleted file mode 100644 index db36b529481..00000000000 --- a/Build/source/libs/curl/docs/examples/persistant.c +++ /dev/null @@ -1,53 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * $Id: persistant.c,v 1.1 2001/03/05 16:56:10 bagder Exp $ - */ - -#include <stdio.h> -#include <unistd.h> - -#include <curl/curl.h> - -/* to make this work under windows, use the win32-functions from the - docs/examples/win32socket.c file as well */ - -/* This example REQUIRES libcurl 7.7 or later */ -#if (LIBCURL_VERSION_NUM < 0x070700) -#error Too old libcurl version, upgrade or stay away. -#endif - -int main(int argc, char **argv) -{ - CURL *curl; - CURLcode res; - -#ifdef MALLOCDEBUG - /* this sends all memory debug messages to a specified logfile */ - curl_memdebug("memdump"); -#endif - - curl = curl_easy_init(); - if(curl) { - curl_easy_setopt(curl, CURLOPT_VERBOSE, 1); - curl_easy_setopt(curl, CURLOPT_HEADER, 1); - - /* get the first document */ - curl_easy_setopt(curl, CURLOPT_URL, "http://curl.haxx.se/"); - res = curl_easy_perform(curl); - - /* get another document from the same server using the same - connection */ - curl_easy_setopt(curl, CURLOPT_URL, "http://curl.haxx.se/docs/"); - res = curl_easy_perform(curl); - - /* always cleanup */ - curl_easy_cleanup(curl); - } - - return 0; -} diff --git a/Build/source/libs/curl/docs/examples/postit2.c b/Build/source/libs/curl/docs/examples/postit2.c deleted file mode 100644 index d7def6c76fb..00000000000 --- a/Build/source/libs/curl/docs/examples/postit2.c +++ /dev/null @@ -1,92 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * $Id: postit2.c,v 1.1 2001/08/23 08:45:20 bagder Exp $ - * - * Example code that uploads a file name 'foo' to a remote script that accepts - * "HTML form based" (as described in RFC1738) uploads using HTTP POST. - * - * The imaginary form we'll fill in looks like: - * - * <form method="post" enctype="multipart/form-data" action="examplepost.cgi"> - * Enter file: <input type="file" name="sendfile" size="40"> - * Enter file name: <input type="text" name="filename" size="30"> - * <input type="submit" value="send" name="submit"> - * </form> - * - * This exact source code has not been verified to work. - */ - -/* to make this work under windows, use the win32-functions from the - win32socket.c file as well */ - -#include <stdio.h> -#include <string.h> - -#include <curl/curl.h> -#include <curl/types.h> -#include <curl/easy.h> - -#if LIBCURL_VERSION_NUM < 0x070900 -#error "curl_formadd() is not introduced until libcurl 7.9 and later" -#endif - -int main(int argc, char *argv[]) -{ - CURL *curl; - CURLcode res; - - struct HttpPost *formpost=NULL; - struct HttpPost *lastptr=NULL; - struct curl_slist *headerlist=NULL; - char buf[] = "Expect:"; - - /* Fill in the file upload field */ - curl_formadd(&formpost, - &lastptr, - CURLFORM_COPYNAME, "sendfile", - CURLFORM_FILE, "postit2.c", - CURLFORM_END); - - /* Fill in the filename field */ - curl_formadd(&formpost, - &lastptr, - CURLFORM_COPYNAME, "filename", - CURLFORM_COPYCONTENTS, "postit2.c", - CURLFORM_END); - - - /* Fill in the submit field too, even if this is rarely needed */ - curl_formadd(&formpost, - &lastptr, - CURLFORM_COPYNAME, "submit", - CURLFORM_COPYCONTENTS, "send", - CURLFORM_END); - - curl = curl_easy_init(); - /* initalize custom header list (stating that Expect: 100-continue is not - wanted */ - headerlist = curl_slist_append(headerlist, buf); - if(curl) { - /* what URL that receives this POST */ - curl_easy_setopt(curl, CURLOPT_URL, "http://curl.haxx.se/examplepost.cgi"); - if ( (argc == 2) && (!strcmp(argv[1], "noexpectheader")) ) - /* only disable 100-continue header if explicitly requested */ - curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headerlist); - curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost); - res = curl_easy_perform(curl); - - /* always cleanup */ - curl_easy_cleanup(curl); - - /* then cleanup the formpost chain */ - curl_formfree(formpost); - /* free slist */ - curl_slist_free_all (headerlist); - } - return 0; -} diff --git a/Build/source/libs/curl/docs/examples/sepheaders.c b/Build/source/libs/curl/docs/examples/sepheaders.c deleted file mode 100644 index 9156389bb94..00000000000 --- a/Build/source/libs/curl/docs/examples/sepheaders.c +++ /dev/null @@ -1,76 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * $Id: sepheaders.c,v 1.3 2001/05/15 12:55:35 bagder Exp $ - */ - -/* to make this work under windows, use the win32-functions from the - win32socket.c file as well */ - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> - -#include <curl/curl.h> -#include <curl/types.h> -#include <curl/easy.h> - -size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream) -{ - written = fwrite(ptr, size, nmemb, (FILE *)stream); - return written; -} - -int main(int argc, char **argv) -{ - CURL *curl_handle; - char *headerfilename = "head.out"; - FILE *headerfile; - char *bodyfilename = "body.out"; - FILE *bodyfile; - - /* init the curl session */ - curl_handle = curl_easy_init(); - - /* set URL to get */ - curl_easy_setopt(curl_handle, CURLOPT_URL, "http://curl.haxx.se"); - - /* no progress meter please */ - curl_easy_setopt(curl_handle, CURLOPT_NOPROGRESS, 1); - - /* shut up completely */ - curl_easy_setopt(curl_handle, CURLOPT_MUTE, 1); - - /* send all data to this function */ - curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, write_data); - - /* open the files */ - headerfile = fopen(headerfilename,"w"); - if (headerfile == NULL) { - curl_easy_cleanup(curl_handle); - return -1; - } - bodyfile = fopen(bodyfilename,"w"); - if (bodyfile == NULL) { - curl_easy_cleanup(curl_handle); - return -1; - } - - /* we want the headers to this file handle */ - curl_easy_setopt(curl_handle, CURLOPT_WRITEHEADER ,headerfile); - - /* get it! */ - curl_easy_perform(curl_handle); - - /* close the header file */ - fclose(headerfile); - - /* cleanup curl stuff */ - curl_easy_cleanup(curl_handle); - - return 0; -} diff --git a/Build/source/libs/curl/docs/examples/simple.c b/Build/source/libs/curl/docs/examples/simple.c deleted file mode 100644 index 023fbf51c09..00000000000 --- a/Build/source/libs/curl/docs/examples/simple.c +++ /dev/null @@ -1,28 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * $Id: simple.c,v 1.5 2002/01/09 13:23:01 bagder Exp $ - */ - -#include <stdio.h> -#include <curl/curl.h> - -int main(void) -{ - CURL *curl; - CURLcode res; - - curl = curl_easy_init(); - if(curl) { - curl_easy_setopt(curl, CURLOPT_URL, "curl.haxx.se"); - res = curl_easy_perform(curl); - - /* always cleanup */ - curl_easy_cleanup(curl); - } - return 0; -} diff --git a/Build/source/libs/curl/docs/examples/simplessl.c b/Build/source/libs/curl/docs/examples/simplessl.c deleted file mode 100644 index 30c10ef73e0..00000000000 --- a/Build/source/libs/curl/docs/examples/simplessl.c +++ /dev/null @@ -1,118 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * $Id: simplessl.c,v 1.3 2002/01/17 13:45:19 bagder Exp $ - */ - -#include <stdio.h> - -#include <curl/curl.h> -#include <curl/types.h> -#include <curl/easy.h> - - -/* some requirements for this to work: - 1. set pCertFile to the file with the client certificate - 2. if the key is passphrase protected, set pPassphrase to the - passphrase you use - 3. if you are using a crypto engine: - 3.1. set a #define USE_ENGINE - 3.2. set pEngine to the name of the crypto engine you use - 3.3. set pKeyName to the key identifier you want to use - 4. if you don't use a crypto engine: - 4.1. set pKeyName to the file name of your client key - 4.2. if the format of the key file is DER, set pKeyType to "DER" - - !! verify of the server certificate is not implemented here !! - - **** This example only works with libcurl 7.9.3 and later! **** - -*/ - -int main(int argc, char **argv) -{ - CURL *curl; - CURLcode res; - FILE *headerfile; - - const char *pCertFile = "testcert.pem"; - const char *pCACertFile="cacert.pem" - - const char *pKeyName; - const char *pKeyType; - - const char *pEngine; - -#if USE_ENGINE - pKeyName = "rsa_test"; - pKeyType = "ENG"; - pEngine = "chil"; /* for nChiper HSM... */ -#else - pKeyName = "testkey.pem"; - pKeyType = "PEM"; - pEngine = NULL; -#endif - - const char *pPassphrase = NULL; - - headerfile = fopen("dumpit", "w"); - - curl_global_init(CURL_GLOBAL_DEFAULT); - - curl = curl_easy_init(); - if(curl) { - /* what call to write: */ - curl_easy_setopt(curl, CURLOPT_URL, "HTTPS://curl.haxx.se"); - curl_easy_setopt(curl, CURLOPT_WRITEHEADER, headerfile); - - while(1) /* do some ugly short cut... */ - { - if (pEngine) /* use crypto engine */ - { - if (curl_easy_setopt(curl, CURLOPT_SSLENGINE,pEngine) != CURLE_OK) - { /* load the crypto engine */ - fprintf(stderr,"can't set crypto engine\n"); - break; - } - if (curl_easy_setopt(curl, CURLOPT_SSLENGINE_DEFAULT,1) != CURLE_OK) - { /* set the crypto engine as default */ - /* only needed for the first time you load - a engine in a curl object... */ - fprintf(stderr,"can't set crypto engine as default\n"); - break; - } - } - /* cert is stored PEM coded in file... */ - /* since PEM is default, we needn't set it for PEM */ - curl_easy_setopt(curl,CURLOPT_SSLCERTTYPE,"PEM"); - /* set the cert for client authentication */ - curl_easy_setopt(curl,CURLOPT_SSLCERT,pCertFile); - /* sorry, for engine we must set the passphrase - (if the key has one...) */ - if (pPassphrase) - curl_easy_setopt(curl,CURLOPT_SSLKEYPASSWD,pPassphrase); - /* if we use a key stored in a crypto engine, - we must set the key type to "ENG" */ - curl_easy_setopt(curl,CURLOPT_SSLKEYTYPE,pKeyType); - /* set the private key (file or ID in engine) */ - curl_easy_setopt(curl,CURLOPT_SSLKEY,pKeyName); - /* set the file with the certs vaildating the server */ - curl_easy_setopt(curl,CURLOPT_CAINFO,pCACertFile); - /* disconnect if we can't validate server's cert */ - curl_easy_setopt(curl,CURLOPT_SSL_VERIFYPEER,1); - - res = curl_easy_perform(curl); - break; /* we are done... */ - } - /* always cleanup */ - curl_easy_cleanup(curl); - } - - curl_global_cleanup(); - - return 0; -} diff --git a/Build/source/libs/curl/docs/examples/win32sockets.c b/Build/source/libs/curl/docs/examples/win32sockets.c deleted file mode 100644 index 5f791c8b5e5..00000000000 --- a/Build/source/libs/curl/docs/examples/win32sockets.c +++ /dev/null @@ -1,49 +0,0 @@ - -/* - * Note: This is only required if you use curl 7.8 or lower, later - * versions provide an option to curl_global_init() that does the - * win32 initialization for you. - */ - -/* - * These are example functions doing socket init that Windows - * require. If you don't use windows, you can safely ignore this crap. - */ - -#include <windows.h> - -void win32_cleanup(void) -{ - WSACleanup(); -} - -int win32_init(void) -{ - WORD wVersionRequested; - WSADATA wsaData; - int err; - wVersionRequested = MAKEWORD(1, 1); - - err = WSAStartup(wVersionRequested, &wsaData); - - if (err != 0) - /* Tell the user that we couldn't find a useable */ - /* winsock.dll. */ - return 1; - - /* Confirm that the Windows Sockets DLL supports 1.1.*/ - /* Note that if the DLL supports versions greater */ - /* than 1.1 in addition to 1.1, it will still return */ - /* 1.1 in wVersion since that is the version we */ - /* requested. */ - - if ( LOBYTE( wsaData.wVersion ) != 1 || - HIBYTE( wsaData.wVersion ) != 1 ) { - /* Tell the user that we couldn't find a useable */ - - /* winsock.dll. */ - WSACleanup(); - return 1; - } - return 0; /* 0 is ok */ -} diff --git a/Build/source/libs/curl/docs/libcurl/Makefile.am b/Build/source/libs/curl/docs/libcurl/Makefile.am deleted file mode 100644 index c799c554571..00000000000 --- a/Build/source/libs/curl/docs/libcurl/Makefile.am +++ /dev/null @@ -1,68 +0,0 @@ -# -# $Id: Makefile.am,v 1.1 2002/03/04 10:09:48 bagder Exp $ -# - -AUTOMAKE_OPTIONS = foreign no-dependencies - -man_MANS = \ - curl_easy_cleanup.3 \ - curl_easy_getinfo.3 \ - curl_easy_init.3 \ - curl_easy_perform.3 \ - curl_easy_setopt.3 \ - curl_easy_duphandle.3 \ - curl_formparse.3 \ - curl_formadd.3 \ - curl_formfree.3 \ - curl_getdate.3 \ - curl_getenv.3 \ - curl_slist_append.3 \ - curl_slist_free_all.3 \ - curl_version.3 \ - curl_escape.3 \ - curl_unescape.3 \ - curl_strequal.3 \ - curl_strnequal.3 \ - curl_mprintf.3 \ - curl_global_init.3 \ - curl_global_cleanup.3 \ - libcurl.3 - -HTMLPAGES = \ - curl_easy_cleanup.html \ - curl_easy_getinfo.html \ - curl_easy_init.html \ - curl_easy_perform.html \ - curl_easy_setopt.html \ - curl_easy_duphandle.html \ - curl_formadd.html \ - curl_formparse.html \ - curl_formfree.html \ - curl_getdate.html \ - curl_getenv.html \ - curl_slist_append.html \ - curl_slist_free_all.html \ - curl_version.html \ - curl_escape.html \ - curl_unescape.html \ - curl_strequal.html \ - curl_strnequal.html \ - curl_mprintf.html \ - curl_global_init.html \ - curl_global_cleanup.html \ - libcurl.html \ - index.html - -EXTRA_DIST = $(man_MANS) $(HTMLPAGES) - -MAN2HTML= gnroff -man $< | man2html >$@ - -SUFFIXES = .1 .3 .html - -html: $(HTMLPAGES) - -.3.html: - $(MAN2HTML) - -.1.html: - $(MAN2HTML) diff --git a/Build/source/libs/curl/docs/libcurl/Makefile.in b/Build/source/libs/curl/docs/libcurl/Makefile.in deleted file mode 100644 index 25a2f6d2d72..00000000000 --- a/Build/source/libs/curl/docs/libcurl/Makefile.in +++ /dev/null @@ -1,347 +0,0 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# 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@ - -# -# $Id: Makefile.am,v 1.1 2002/03/04 10:09:48 bagder Exp $ -# - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_alias = @host_alias@ -host_triplet = @host@ -AMTAR = @AMTAR@ -AS = @AS@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -EXEEXT = @EXEEXT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -IPV6_ENABLED = @IPV6_ENABLED@ -KRB4_ENABLED = @KRB4_ENABLED@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -NROFF = @NROFF@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_ENABLED = @OPENSSL_ENABLED@ -PACKAGE = @PACKAGE@ -PERL = @PERL@ -PKGADD_NAME = @PKGADD_NAME@ -PKGADD_PKG = @PKGADD_PKG@ -PKGADD_VENDOR = @PKGADD_VENDOR@ -RANDOM_FILE = @RANDOM_FILE@ -RANLIB = @RANLIB@ -STRIP = @STRIP@ -VERSION = @VERSION@ -VERSIONNUM = @VERSIONNUM@ -YACC = @YACC@ -am__include = @am__include@ -am__quote = @am__quote@ -install_sh = @install_sh@ - -AUTOMAKE_OPTIONS = foreign no-dependencies - -man_MANS = \ - curl_easy_cleanup.3 \ - curl_easy_getinfo.3 \ - curl_easy_init.3 \ - curl_easy_perform.3 \ - curl_easy_setopt.3 \ - curl_easy_duphandle.3 \ - curl_formparse.3 \ - curl_formadd.3 \ - curl_formfree.3 \ - curl_getdate.3 \ - curl_getenv.3 \ - curl_slist_append.3 \ - curl_slist_free_all.3 \ - curl_version.3 \ - curl_escape.3 \ - curl_unescape.3 \ - curl_strequal.3 \ - curl_strnequal.3 \ - curl_mprintf.3 \ - curl_global_init.3 \ - curl_global_cleanup.3 \ - libcurl.3 - - -HTMLPAGES = \ - curl_easy_cleanup.html \ - curl_easy_getinfo.html \ - curl_easy_init.html \ - curl_easy_perform.html \ - curl_easy_setopt.html \ - curl_easy_duphandle.html \ - curl_formadd.html \ - curl_formparse.html \ - curl_formfree.html \ - curl_getdate.html \ - curl_getenv.html \ - curl_slist_append.html \ - curl_slist_free_all.html \ - curl_version.html \ - curl_escape.html \ - curl_unescape.html \ - curl_strequal.html \ - curl_strnequal.html \ - curl_mprintf.html \ - curl_global_init.html \ - curl_global_cleanup.html \ - libcurl.html \ - index.html - - -EXTRA_DIST = $(man_MANS) $(HTMLPAGES) - -MAN2HTML = gnroff -man $< | man2html >$@ - -SUFFIXES = .1 .3 .html -subdir = docs/libcurl -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/lib/config.h \ - $(top_builddir)/src/config.h \ - $(top_builddir)/tests/server/config.h -CONFIG_CLEAN_FILES = -depcomp = -CFLAGS = @CFLAGS@ -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ - $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -DIST_SOURCES = - -NROFF = nroff -MANS = $(man_MANS) -DIST_COMMON = Makefile.am Makefile.in -all: all-am - -.SUFFIXES: -.SUFFIXES: .1 .3 .html - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign docs/libcurl/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -uninstall-info-am: - -man3dir = $(mandir)/man3 -install-man3: $(man3_MANS) $(man_MANS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(man3dir) - @list='$(man3_MANS) $(dist_man3_MANS) $(nodist_man3_MANS)'; \ - l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ - for i in $$l2; do \ - case "$$i" in \ - *.3*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed -e 's/^.*\///'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man3dir)/$$inst"; \ - $(INSTALL_DATA) $$file $(DESTDIR)$(man3dir)/$$inst; \ - done -uninstall-man3: - @$(NORMAL_UNINSTALL) - @list='$(man3_MANS) $(dist_man3_MANS) $(nodist_man3_MANS)'; \ - l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ - for i in $$l2; do \ - case "$$i" in \ - *.3*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed -e 's/^.*\///'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " rm -f $(DESTDIR)$(man3dir)/$$inst"; \ - rm -f $(DESTDIR)$(man3dir)/$$inst; \ - done -tags: TAGS -TAGS: - - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(MANS) - -installdirs: - $(mkinstalldirs) $(DESTDIR)$(man3dir) - -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-generic distclean-libtool - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-exec-am: - -install-info: install-info-am - -install-man: install-man3 - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -uninstall-am: uninstall-info-am uninstall-man - -uninstall-man: uninstall-man3 - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-man3 install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool uninstall uninstall-am uninstall-info-am \ - uninstall-man uninstall-man3 - - -html: $(HTMLPAGES) - -.3.html: - $(MAN2HTML) - -.1.html: - $(MAN2HTML) -# 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/Build/source/libs/curl/docs/libcurl/curl_easy_cleanup.3 b/Build/source/libs/curl/docs/libcurl/curl_easy_cleanup.3 deleted file mode 100644 index f85484eca4c..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_easy_cleanup.3 +++ /dev/null @@ -1,25 +0,0 @@ -.\" You can view this file with: -.\" nroff -man [file] -.\" $Id: curl_easy_cleanup.3,v 1.2 2002/03/04 13:10:15 bagder Exp $ -.\" -.TH curl_easy_cleanup 3 "4 March 2002" "libcurl 7.7" "libcurl Manual" -.SH NAME -curl_easy_cleanup - End a libcurl easy session -.SH SYNOPSIS -.B #include <curl/curl.h> -.sp -.BI "void curl_easy_cleanup(CURL *" handle ");" -.ad -.SH DESCRIPTION -This function must be the last function to call for an easy session. It is the -opposite of the \fIcurl_easy_init\fP function and must be called with the same -\fIhandle\fP as input that the curl_easy_init call returned. - -This will effectively close all connections this handle has used and possibly -has kept open until now. Don't call this function if you intend to transfer -more files. -.SH RETURN VALUE -None -.SH "SEE ALSO" -.BR curl_easy_init "(3), " - diff --git a/Build/source/libs/curl/docs/libcurl/curl_easy_cleanup.html b/Build/source/libs/curl/docs/libcurl/curl_easy_cleanup.html deleted file mode 100644 index 0365cefcf41..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_easy_cleanup.html +++ /dev/null @@ -1,74 +0,0 @@ -<HTML> -<BODY> -<PRE> -<!-- Manpage converted by man2html 3.0.1 --> - -</PRE> -<H2>NAME</H2><PRE> - curl_easy_cleanup - End a libcurl easy session - - -</PRE> -<H2>SYNOPSIS</H2><PRE> - <B>#include</B> <B><curl/curl.h></B> - - <B>void</B> <B>curl_easy_cleanup(CURL</B> <B>*</B><I>handle</I><B>);</B> - - -</PRE> -<H2>DESCRIPTION</H2><PRE> - This function must be the last function to call for an easy - session. It is the opposite of the <I>curl</I><B>_</B><I>easy</I><B>_</B><I>init</I> function - and must be called with the same <I>handle</I> as input that the - curl_easy_init call returned. - - This will effectively close all connections this handle has - used and possibly has kept open until now. Don't call this - function if you intend to transfer more files. - - -</PRE> -<H2>RETURN VALUE</H2><PRE> - None - - -</PRE> -<H2>SEE ALSO</H2><PRE> - <B>curl_easy_init(3)</B>, - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</PRE> -<HR> -<ADDRESS> -Man(1) output converted with -<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> -</ADDRESS> -</BODY> -</HTML> diff --git a/Build/source/libs/curl/docs/libcurl/curl_easy_duphandle.3 b/Build/source/libs/curl/docs/libcurl/curl_easy_duphandle.3 deleted file mode 100644 index a7c03d5a425..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_easy_duphandle.3 +++ /dev/null @@ -1,37 +0,0 @@ -.\" You can view this file with: -.\" nroff -man [file] -.\" $Id: curl_easy_duphandle.3,v 1.1 2002/03/04 10:09:49 bagder Exp $ -.\" -.TH curl_easy_duphandle 3 "18 September 2001" "libcurl 7.9" "libcurl Manual" -.SH NAME -curl_easy_duphandle - Clone a libcurl session handle -.SH SYNOPSIS -.B #include <curl/curl.h> -.sp -.BI "CURL *curl_easy_duphandle(CURL *"handle ");" -.ad -.SH DESCRIPTION -This function will return a new curl handle, a duplicate, using all the -options previously set in the input curl \fIhandle\fP. Both handles can -subsequently be used independently and they must both be freed with -\fIcurl_easy_cleanup()\fP. - -All strings that the input handle has been told to point to (as opposed to -copy) with previous calls to \fIcurl_easy_setopt\fP using char * inputs, will -be pointed to by the new handle as well. You must therefore make sure to keep -the data around until both handles have been cleaned up. - -The new handle will \fBnot\fP inherit any state information, no connections, -no SSL sessions and no cookies. - -\fBNote\fP that even in multi-threaded programs, this function must be called -in a synchronous way, the input handle may not be in use when cloned. - -This function was added in libcurl 7.9. -.SH RETURN VALUE -If this function returns NULL, something went wrong and no valid handle was -returned. -.SH "SEE ALSO" -.BR curl_easy_init "(3)," curl_easy_cleanup "(3)," curl_global_init "(3) -.SH BUGS -Surely there are some, you tell me! diff --git a/Build/source/libs/curl/docs/libcurl/curl_easy_duphandle.html b/Build/source/libs/curl/docs/libcurl/curl_easy_duphandle.html deleted file mode 100644 index 7f3fb9b8168..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_easy_duphandle.html +++ /dev/null @@ -1,76 +0,0 @@ -<HTML> -<BODY> -<PRE> -<!-- Manpage converted by man2html 3.0.1 --> - -</PRE> -<H2>NAME</H2><PRE> - curl_easy_duphandle - Clone a libcurl session handle - - -</PRE> -<H2>SYNOPSIS</H2><PRE> - <B>#include</B> <B><curl/curl.h></B> - - <B>CURL</B> <B>*curl_easy_duphandle(CURL</B> <B>*</B><I>handle</I><B>);</B> - - -</PRE> -<H2>DESCRIPTION</H2><PRE> - This function will return a new curl handle, a duplicate, - using all the options previously set in the input curl <I>han</I> - <I>dle</I>. Both handles can subsequently be used independently and - they must both be freed with <I>curl</I><B>_</B><I>easy</I><B>_</B><I>cleanup()</I>. - - All strings that the input handle has been told to point to - (as opposed to copy) with previous calls to <I>curl</I><B>_</B><I>easy</I><B>_</B><I>setopt</I> - using char * inputs, will be pointed to by the new handle as - well. You must therefore make sure to keep the data around - until both handles have been cleaned up. - - The new handle will <B>not</B> inherit any state information, no - connections, no SSL sessions and no cookies. - - <B>Note</B> that even in multi-threaded programs, this function - must be called in a synchronous way, the input handle may - not be in use when cloned. - - This function was added in libcurl 7.9. - - -</PRE> -<H2>RETURN VALUE</H2><PRE> - If this function returns NULL, something went wrong and no - valid handle was returned. - - -</PRE> -<H2>SEE ALSO</H2><PRE> - <B>curl_easy_init(3)</B>,<B>curl_easy_cleanup(3)</B>,<B>curl_global_init(3)</B> - - -</PRE> -<H2>BUGS</H2><PRE> - Surely there are some, you tell me! - - - - - - - - - - - - - - -</PRE> -<HR> -<ADDRESS> -Man(1) output converted with -<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> -</ADDRESS> -</BODY> -</HTML> diff --git a/Build/source/libs/curl/docs/libcurl/curl_easy_getinfo.3 b/Build/source/libs/curl/docs/libcurl/curl_easy_getinfo.3 deleted file mode 100644 index c9cf4634bfc..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_easy_getinfo.3 +++ /dev/null @@ -1,114 +0,0 @@ -.\" You can view this file with: -.\" nroff -man [file] -.\" $Id: curl_easy_getinfo.3,v 1.1 2002/03/04 10:09:49 bagder Exp $ -.\" -.TH curl_easy_init 3 "31 Jan 2001" "libcurl 7.9.4" "libcurl Manual" -.SH NAME -curl_easy_getinfo - Extract information from a curl session (added in 7.4) -.SH SYNOPSIS -.B #include <curl/curl.h> -.sp -.BI "CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ... );" -.ad -.SH DESCRIPTION -Request internal information from the curl session with this function. The -third argument -.B MUST -be a pointer to a long, a pointer to a char * or a pointer to a double (as -this documentation describes further down). The data pointed-to will be -filled in accordingly and can be relied upon only if the function returns -CURLE_OK. This function is intended to get used *AFTER* a performed transfer, -all results from this function are undefined until the transfer is completed. -.SH AVAILABLE INFORMATION -These are informations that can be extracted: -.TP 0.8i -.B CURLINFO_EFFECTIVE_URL -Pass a pointer to a 'char *' to receive the last used effective URL. -.TP -.B CURLINFO_HTTP_CODE -Pass a pointer to a long to receive the last received HTTP code. -.TP -.B CURLINFO_FILETIME -Pass a pointer to a long to receive the remote time of the retrieved -document. If you get -1, it can be because of many reasons (unknown, the -server hides it or the server doesn't support the command that tells document -time etc) and the time of the document is unknown. Note that you must tell the -server to collect this information before the transfer is made, by using the -CURLOPT_FILETIME option to \fIcurl_easy_setopt(3)\fP. (Added in 7.5) -.TP -.B CURLINFO_TOTAL_TIME -Pass a pointer to a double to receive the total transaction time in seconds -for the previous transfer. -.TP -.B CURLINFO_NAMELOOKUP_TIME -Pass a pointer to a double to receive the time, in seconds, it took from the -start until the name resolving was completed. -.TP -.B CURLINFO_CONNECT_TIME -Pass a pointer to a double to receive the time, in seconds, it took from the -start until the connect to the remote host (or proxy) was completed. -.TP -.B CURLINFO_PRETRANSFER_TIME -Pass a pointer to a double to receive the time, in seconds, it took from the -start until the file transfer is just about to begin. This includes all -pre-transfer commands and negotiations that are specific to the particular -protocol(s) involved. -.TP -.B CURLINFO_STARTTRANSFER_TIME -Pass a pointer to a double to receive the time, in seconds, it took from the -start until the first byte is just about to be transfered. This includes -CURLINFO_PRETRANSFER_TIME and also the time the server needs to calculate -the result. -.TP -.B CURLINFO_SIZE_UPLOAD -Pass a pointer to a double to receive the total amount of bytes that were -uploaded. -.TP -.B CURLINFO_SIZE_DOWNLOAD -Pass a pointer to a double to receive the total amount of bytes that were -downloaded. -.TP -.B CURLINFO_SPEED_DOWNLOAD -Pass a pointer to a double to receive the average download speed that curl -measured for the complete download. -.TP -.B CURLINFO_SPEED_UPLOAD -Pass a pointer to a double to receive the average upload speed that curl -measured for the complete upload. -.TP -.B CURLINFO_HEADER_SIZE -Pass a pointer to a long to receive the total size of all the headers -received. -.TP -.B CURLINFO_REQUEST_SIZE -Pass a pointer to a long to receive the total size of the issued -requests. This is so far only for HTTP requests. Note that this may be more -than one request if FOLLOWLOCATION is true. -.TP -.B CURLINFO_SSL_VERIFYRESULT -Pass a pointer to a long to receive the result of the certification -verification that was requested (using the CURLOPT_SSL_VERIFYPEER option to -curl_easy_setopt). (Added in 7.4.2) -.TP -.B CURLINFO_CONTENT_LENGTH_DOWNLOAD -Pass a pointer to a double to receive the content-length of the download. This -is the value read from the Content-Length: field. (Added in 7.6.1) -.TP -.B CURLINFO_CONTENT_LENGTH_UPLOAD -Pass a pointer to a double to receive the specified size of the upload. -(Added in 7.6.1) -.TP -.B CURLINFO_CONTENT_TYPE -Pass a pointer to a 'char *' to receive the content-type of the downloaded -object. This is the value read from the Content-Type: field. If you get NULL, -it means that the server didn't send a valid Content-Type header or that the -protocol used doesn't support this. (Added in 7.9.4) -.PP - -.SH RETURN VALUE -If the operation was successful, CURLE_OK is returned. Otherwise an -appropriate error code will be returned. -.SH "SEE ALSO" -.BR curl_easy_setopt "(3)" -.SH BUGS -Surely there are some, you tell me! diff --git a/Build/source/libs/curl/docs/libcurl/curl_easy_getinfo.html b/Build/source/libs/curl/docs/libcurl/curl_easy_getinfo.html deleted file mode 100644 index 1aee3333d9f..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_easy_getinfo.html +++ /dev/null @@ -1,182 +0,0 @@ -<HTML> -<BODY> -<PRE> -<!-- Manpage converted by man2html 3.0.1 --> - -</PRE> -<H2>NAME</H2><PRE> - curl_easy_getinfo - Extract information from a curl session - (added in 7.4) - - -</PRE> -<H2>SYNOPSIS</H2><PRE> - <B>#include</B> <B><curl/curl.h></B> - - <B>CURLcode</B> <B>curl_easy_getinfo(CURL</B> <B>*curl,</B> <B>CURLINFO</B> <B>info,</B> <B>...</B> <B>);</B> - - -</PRE> -<H2>DESCRIPTION</H2><PRE> - Request internal information from the curl session with this - function. The third argument <B>MUST</B> be a pointer to a long, a - pointer to a char * or a pointer to a double (as this docu - mentation describes further down). The data pointed-to will - be filled in accordingly and can be relied upon only if the - function returns CURLE_OK. This function is intended to get - used *AFTER* a performed transfer, all results from this - function are undefined until the transfer is completed. - - -</PRE> -<H2>AVAILABLE INFORMATION</H2><PRE> - These are informations that can be extracted: - - <B>CURLINFO_EFFECTIVE_URL</B> - Pass a pointer to a 'char *' to receive the last - used effective URL. - - <B>CURLINFO_HTTP_CODE</B> - Pass a pointer to a long to receive the last - received HTTP code. - - <B>CURLINFO_FILETIME</B> - Pass a pointer to a long to receive the remote time - of the retrieved document. If you get -1, it can be - because of many reasons (unknown, the server hides - it or the server doesn't support the command that - tells document time etc) and the time of the docu - ment is unknown. Note that you must tell the server - to collect this information before the transfer is - made, by using the CURLOPT_FILETIME option to - <I>curl</I><B>_</B><I>easy</I><B>_</B><I>setopt(3)</I>. (Added in 7.5) - - <B>CURLINFO_TOTAL_TIME</B> - Pass a pointer to a double to receive the total - transaction time in seconds for the previous trans - fer. - - <B>CURLINFO_NAMELOOKUP_TIME</B> - Pass a pointer to a double to receive the time, in - seconds, it took from the start until the name - resolving was completed. - - <B>CURLINFO_CONNECT_TIME</B> - Pass a pointer to a double to receive the time, in - seconds, it took from the start until the connect to - the remote host (or proxy) was completed. - - <B>CURLINFO_PRETRANSFER_TIME</B> - Pass a pointer to a double to receive the time, in - seconds, it took from the start until the file - transfer is just about to begin. This includes all - pre-transfer commands and negotiations that are spe - cific to the particular protocol(s) involved. - - <B>CURLINFO_STARTTRANSFER_TIME</B> - Pass a pointer to a double to receive the time, in - seconds, it took from the start until the first byte - is just about to be transfered. This includes - CURLINFO_PRETRANSFER_TIME and also the time the - server needs to calculate the result. - - <B>CURLINFO_SIZE_UPLOAD</B> - Pass a pointer to a double to receive the total - amount of bytes that were uploaded. - - <B>CURLINFO_SIZE_DOWNLOAD</B> - Pass a pointer to a double to receive the total - amount of bytes that were downloaded. - - <B>CURLINFO_SPEED_DOWNLOAD</B> - Pass a pointer to a double to receive the average - download speed that curl measured for the complete - download. - - <B>CURLINFO_SPEED_UPLOAD</B> - Pass a pointer to a double to receive the average - upload speed that curl measured for the complete - upload. - - <B>CURLINFO_HEADER_SIZE</B> - Pass a pointer to a long to receive the total size - of all the headers received. - - <B>CURLINFO_REQUEST_SIZE</B> - Pass a pointer to a long to receive the total size - of the issued requests. This is so far only for HTTP - requests. Note that this may be more than one - request if FOLLOWLOCATION is true. - - <B>CURLINFO_SSL_VERIFYRESULT</B> - Pass a pointer to a long to receive the result of - the certification verification that was requested - (using the CURLOPT_SSL_VERIFYPEER option to - curl_easy_setopt). (Added in 7.4.2) - - <B>CURLINFO_CONTENT_LENGTH_DOWNLOAD</B> - Pass a pointer to a double to receive the content- - length of the download. This is the value read from - the Content-Length: field. (Added in 7.6.1) - - <B>CURLINFO_CONTENT_LENGTH_UPLOAD</B> - Pass a pointer to a double to receive the specified - size of the upload. (Added in 7.6.1) - - <B>CURLINFO_CONTENT_TYPE</B> - Pass a pointer to a 'char *' to receive the content- - type of the downloaded object. This is the value - read from the Content-Type: field. If you get NULL, - it means that the server didn't send a valid Con - tent-Type header or that the protocol used doesn't - support this. (Added in 7.9.4) - - -</PRE> -<H2>RETURN VALUE</H2><PRE> - If the operation was successful, CURLE_OK is returned. Oth - erwise an appropriate error code will be returned. - - -</PRE> -<H2>SEE ALSO</H2><PRE> - <B>curl_easy_setopt(3)</B> - - -</PRE> -<H2>BUGS</H2><PRE> - Surely there are some, you tell me! - - - - - - - - - - - - - - - - - - - - - - - - - - -</PRE> -<HR> -<ADDRESS> -Man(1) output converted with -<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> -</ADDRESS> -</BODY> -</HTML> diff --git a/Build/source/libs/curl/docs/libcurl/curl_easy_init.3 b/Build/source/libs/curl/docs/libcurl/curl_easy_init.3 deleted file mode 100644 index 97f2d58004c..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_easy_init.3 +++ /dev/null @@ -1,25 +0,0 @@ -.\" You can view this file with: -.\" nroff -man [file] -.\" $Id: curl_easy_init.3,v 1.2 2002/03/04 13:06:46 bagder Exp $ -.\" -.TH curl_easy_init 3 "4 March 2002" "libcurl 7.8.1" "libcurl Manual" -.SH NAME -curl_easy_init - Start a libcurl easy session -.SH SYNOPSIS -.B #include <curl/curl.h> -.sp -.BI "CURL *curl_easy_init( );" -.ad -.SH DESCRIPTION -This function must be the first function to call, and it returns a CURL easy -handle that you must use as input to other easy-functions. curl_easy_init -intializes curl and this call MUST have a corresponding call to -\fIcurl_easy_cleanup\fP when the operation is complete. - -.SH RETURN VALUE -If this function returns NULL, something went wrong and you cannot use the -other curl functions. -.SH "SEE ALSO" -.BR curl_easy_cleanup "(3), " curl_global_init "(3) -.SH BUGS -Surely there are some, you tell me! diff --git a/Build/source/libs/curl/docs/libcurl/curl_easy_init.html b/Build/source/libs/curl/docs/libcurl/curl_easy_init.html deleted file mode 100644 index c53d89864c6..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_easy_init.html +++ /dev/null @@ -1,76 +0,0 @@ -<HTML> -<BODY> -<PRE> -<!-- Manpage converted by man2html 3.0.1 --> - -</PRE> -<H2>NAME</H2><PRE> - curl_easy_init - Start a libcurl easy session - - -</PRE> -<H2>SYNOPSIS</H2><PRE> - <B>#include</B> <B><curl/curl.h></B> - - <B>CURL</B> <B>*curl_easy_init(</B> <B>);</B> - - -</PRE> -<H2>DESCRIPTION</H2><PRE> - This function must be the first function to call, and it - returns a CURL easy handle that you must use as input to - other easy-functions. curl_easy_init intializes curl and - this call MUST have a corresponding call to - <I>curl</I><B>_</B><I>easy</I><B>_</B><I>cleanup</I> when the operation is complete. - - - -</PRE> -<H2>RETURN VALUE</H2><PRE> - If this function returns NULL, something went wrong and you - cannot use the other curl functions. - - -</PRE> -<H2>SEE ALSO</H2><PRE> - <B>curl_easy_cleanup(3)</B>, <B>curl_global_init(3)</B> - - -</PRE> -<H2>BUGS</H2><PRE> - Surely there are some, you tell me! - - - - - - - - - - - - - - - - - - - - - - - - - - - -</PRE> -<HR> -<ADDRESS> -Man(1) output converted with -<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> -</ADDRESS> -</BODY> -</HTML> diff --git a/Build/source/libs/curl/docs/libcurl/curl_easy_perform.3 b/Build/source/libs/curl/docs/libcurl/curl_easy_perform.3 deleted file mode 100644 index 5d131bd762c..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_easy_perform.3 +++ /dev/null @@ -1,46 +0,0 @@ -.\" You can view this file with: -.\" nroff -man [file] -.\" $Id: curl_easy_perform.3,v 1.1 2002/03/04 10:09:49 bagder Exp $ -.\" -.TH curl_easy_perform 3 "5 Mar 2001" "libcurl 7.7" "libcurl Manual" -.SH NAME -curl_easy_perform - Perform a file transfer -.SH SYNOPSIS -.B #include <curl/curl.h> -.sp -.BI "CURLcode curl_easy_perform(CURL *" handle "); -.ad -.SH DESCRIPTION -This function is called after the init and all the curl_easy_setopt() calls -are made, and will perform the transfer as described in the options. -It must be called with the same -.I handle -as input as the curl_easy_init call returned. - -libcurl version 7.7 or later (for older versions see below): You can do any -amount of calls to curl_easy_perform() while using the same handle. If you -intend to transfer more than one file, you are even encouraged to do -so. libcurl will then attempt to re-use the same connection for the following -transfers, thus making the operations faster, less CPU intense and using less -network resources. Just note that you will have to use -.I curl_easy_setopt -between the invokes to set options for the following curl_easy_perform. - -You must never call this function simultaneously from two places using the -same handle. Let the function return first before invoking it another time. If -you want parallel transfers, you must use several curl handles. - -Before libcurl version 7.7: You are only allowed to call this function once -using the same handle. If you want to do repeated calls, you must call -curl_easy_cleanup and curl_easy_init again first. -.SH RETURN VALUE -0 means everything was ok, non-zero means an error occurred as -.I <curl/curl.h> -defines. If the CURLOPT_ERRORBUFFER was set with -.I curl_easy_setopt -there will be a readable error message in the error buffer when non-zero is -returned. -.SH "SEE ALSO" -.BR curl_easy_init "(3), " curl_easy_setopt "(3), " -.SH BUGS -Surely there are some, you tell me! diff --git a/Build/source/libs/curl/docs/libcurl/curl_easy_perform.html b/Build/source/libs/curl/docs/libcurl/curl_easy_perform.html deleted file mode 100644 index 2c2dd6999f4..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_easy_perform.html +++ /dev/null @@ -1,76 +0,0 @@ -<HTML> -<BODY> -<PRE> -<!-- Manpage converted by man2html 3.0.1 --> - -</PRE> -<H2>NAME</H2><PRE> - curl_easy_perform - Perform a file transfer - - -</PRE> -<H2>SYNOPSIS</H2><PRE> - <B>#include</B> <B><curl/curl.h></B> - - <B>CURLcode</B> <B>curl_easy_perform(CURL</B> <B>*</B><I>handle</I><B>);</B> - - -</PRE> -<H2>DESCRIPTION</H2><PRE> - This function is called after the init and all the - curl_easy_setopt() calls are made, and will perform the - transfer as described in the options. It must be called - with the same <I>handle</I> as input as the curl_easy_init call - returned. - - libcurl version 7.7 or later (for older versions see below): - You can do any amount of calls to curl_easy_perform() while - using the same handle. If you intend to transfer more than - one file, you are even encouraged to do so. libcurl will - then attempt to re-use the same connection for the following - transfers, thus making the operations faster, less CPU - intense and using less network resources. Just note that you - will have to use <I>curl</I><B>_</B><I>easy</I><B>_</B><I>setopt</I> between the invokes to set - options for the following curl_easy_perform. - - You must never call this function simultaneously from two - places using the same handle. Let the function return first - before invoking it another time. If you want parallel trans - fers, you must use several curl handles. - - Before libcurl version 7.7: You are only allowed to call - this function once using the same handle. If you want to do - repeated calls, you must call curl_easy_cleanup and - curl_easy_init again first. - - -</PRE> -<H2>RETURN VALUE</H2><PRE> - 0 means everything was ok, non-zero means an error occurred - as <I><curl/curl.h></I> defines. If the CURLOPT_ERRORBUFFER was set - with <I>curl</I><B>_</B><I>easy</I><B>_</B><I>setopt</I> there will be a readable error message - in the error buffer when non-zero is returned. - - -</PRE> -<H2>SEE ALSO</H2><PRE> - <B>curl_easy_init(3)</B>, <B>curl_easy_setopt(3)</B>, - - -</PRE> -<H2>BUGS</H2><PRE> - Surely there are some, you tell me! - - - - - - -</PRE> -<HR> -<ADDRESS> -Man(1) output converted with -<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> -</ADDRESS> -</BODY> -</HTML> diff --git a/Build/source/libs/curl/docs/libcurl/curl_easy_setopt.3 b/Build/source/libs/curl/docs/libcurl/curl_easy_setopt.3 deleted file mode 100644 index 06fe4ae8df6..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_easy_setopt.3 +++ /dev/null @@ -1,627 +0,0 @@ -.\" You can view this file with: -.\" nroff -man [file] -.\" $Id: curl_easy_setopt.3,v 1.1 2002/03/04 10:09:49 bagder Exp $ -.\" -.TH curl_easy_setopt 3 "10 Dec 2001" "libcurl 7.9.2" "libcurl Manual" -.SH NAME -curl_easy_setopt - Set curl easy-session options -.SH SYNOPSIS -#include <curl/curl.h> - -CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter); -.ad -.SH DESCRIPTION -curl_easy_setopt() is used to tell libcurl how to behave. Most operations in -libcurl have default actions, and by using the appropriate options to -\fIcurl_easy_setopt\fP, you can change them. All options are set with the -\fIoption\fP followed by a \fIparameter\fP. That parameter can be a long, a -function pointer or an object pointer, all depending on what the specific -option expects. Read this manual carefully as bad input values may cause -libcurl to behave badly! You can only set one option in each function call. A -typical application uses many curl_easy_setopt() calls in the setup phase. - -\fBNOTE:\fP strings passed to libcurl as 'char *' arguments, will not be -copied by the library. Instead you should keep them available until libcurl no -longer needs them. Failing to do so will cause very odd behavior or even -crashes. - -\fBNOTE2:\fP options set with this function call are valid for the forthcoming -data transfers that are performed when you invoke \fIcurl_easy_perform\fP. -The options are not in any way reset between transfers, so if you want -subsequent transfers with different options, you must change them between the -transfers. - -The \fIhandle\fP is the return code from a \fIcurl_easy_init(3)\fP or -\fIcurl_easy_duphandle(3)\fP call. -.SH OPTIONS -The options are listed in a sort of random order, but you'll figure it out! -.TP 0.8i -.B CURLOPT_FILE -Data pointer to pass to the file write function. Note that if you specify the -\fICURLOPT_WRITEFUNCTION\fP, this is the pointer you'll get as input. If you -don't use a callback, you must pass a 'FILE *' as libcurl will pass this to -fwrite() when writing data. - -\fBNOTE:\fP If you're using libcurl as a win32 DLL, you MUST use the -\fICURLOPT_WRITEFUNCTION\fP if you set this option or you will experience -crashes. -.TP -.B CURLOPT_WRITEFUNCTION -Function pointer that should match the following prototype: \fBsize_t -function( void *ptr, size_t size, size_t nmemb, void *stream);\fP This -function gets called by libcurl as soon as there is data available to pass -available that needs to be saved. The size of the data pointed to by \fIptr\fP -is \fIsize\fP multiplied with \fInmemb\fP. Return the number of bytes -actually taken care of. If that amount differs from the amount passed to your -function, it'll signal an error to the library and it will abort the transfer -and return \fICURLE_WRITE_ERROR\fP. - -Set the \fIstream\fP argument with the \fBCURLOPT_FILE\fP option. - -\fBNOTE:\fP you will be passed as much data as possible in all invokes, but -you cannot possibly make any assumptions. It may be one byte, it may be -thousands. -.TP -.B CURLOPT_INFILE -Data pointer to pass to the file read function. Note that if you specify the -\fICURLOPT_READFUNCTION\fP, this is the pointer you'll get as input. If you -don't specify a read callback, this must be a valid FILE *. - -\fBNOTE:\fP If you're using libcurl as a win32 DLL, you MUST use a -\fICURLOPT_READFUNCTION\fP if you set this option. -.TP -.B CURLOPT_READFUNCTION -Function pointer that should match the following prototype: \fBsize_t -function( void *ptr, size_t size, size_t nmemb, void *stream);\fP This -function gets called by libcurl as soon as it needs to read data in order to -send it to the peer. The data area pointed at by the pointer \fIptr\fP may be -filled with at most \fIsize\fP multiplied with \fInmemb\fP number of -bytes. Your function must return the actual number of bytes that you stored in -that memory area. Returning 0 will signal end-of-file to the library and cause -it to stop the current transfer. -.TP -.B CURLOPT_INFILESIZE -When uploading a file to a remote site, this option should be used to tell -libcurl what the expected size of the infile is. -.TP -.B CURLOPT_URL -The actual URL to deal with. The parameter should be a char * to a zero -terminated string. The string must remain present until curl no longer needs -it, as it doesn't copy the string. - -\fBNOTE:\fP this option is (the only one) required to be set before -\fIcurl_easy_perform(3)\fP is called. -.TP -.B CURLOPT_PROXY -Set HTTP proxy to use. The parameter should be a char * to a zero terminated -string holding the host name or dotted IP address. To specify port number in -this string, append :[port] to the end of the host name. The proxy string may -be prefixed with [protocol]:// since any such prefix will be ignored. The -proxy's port number may optionally be specified with the separate option -\fICURLOPT_PROXYPORT\fP. - -\fBNOTE:\fP when you tell the library to use a HTTP proxy, libcurl will -transparently convert operations to HTTP even if you specify a FTP URL -etc. This may have an impact on what other features of the library you can -use, such as CURLOPT_QUOTE and similar FTP specifics that don't work unless -you tunnel through the HTTP proxy. Such tunneling is activated with -\fICURLOPT_HTTPPROXYTUNNEL\fP. - -\fBNOTE2:\fP libcurl respects the environment variables \fBhttp_proxy\fP, -\fBftp_proxy\fP, \fBall_proxy\fP etc, if any of those is set. -.TP -.B CURLOPT_PROXYPORT -Pass a long with this option to set the proxy port to connect to unless it is -specified in the proxy string \fICURLOPT_PROXY\fP. -.TP -.B CURLOPT_HTTPPROXYTUNNEL -Set the parameter to non-zero to get the library to tunnel all operations -through a given HTTP proxy. Note that there is a big difference between using -a proxy and to tunnel through it. If you don't know what this means, you -probably don't want this tunneling option. (Added in libcurl 7.3) -.TP -.B CURLOPT_VERBOSE -Set the parameter to non-zero to get the library to display a lot of verbose -information about its operations. Very useful for libcurl and/or protocol -debugging and understanding. - -You hardly ever want this set in production use, you will almost always want -this when you debug/report problems. -.TP -.B CURLOPT_HEADER -A non-zero parameter tells the library to include the header in the body -output. This is only relevant for protocols that actually have headers -preceding the data (like HTTP). -.TP -.B CURLOPT_NOPROGRESS -A non-zero parameter tells the library to shut of the built-in progress meter -completely. - -\fBNOTE:\fP future versions of libcurl is likely to not have any built-in -progress meter at all. -.TP -.B CURLOPT_NOBODY -A non-zero parameter tells the library to not include the body-part in the -output. This is only relevant for protocols that have separate header and body -parts. -.TP -.B CURLOPT_FAILONERROR -A non-zero parameter tells the library to fail silently if the HTTP code -returned is equal to or larger than 300. The default action would be to return -the page normally, ignoring that code. -.TP -.B CURLOPT_UPLOAD -A non-zero parameter tells the library to prepare for an upload. The -CURLOPT_INFILE and CURLOPT_INFILESIZE are also interesting for uploads. -.TP -.B CURLOPT_POST -A non-zero parameter tells the library to do a regular HTTP post. This is a -normal application/x-www-form-urlencoded kind, which is the most commonly used -one by HTML forms. See the CURLOPT_POSTFIELDS option for how to specify the -data to post and CURLOPT_POSTFIELDSIZE in how to set the data size. Starting -with libcurl 7.8, this option is obsolete. Using the CURLOPT_POSTFIELDS option -will imply this option. -.TP -.B CURLOPT_FTPLISTONLY -A non-zero parameter tells the library to just list the names of an ftp -directory, instead of doing a full directory listing that would include file -sizes, dates etc. -.TP -.B CURLOPT_FTPAPPEND -A non-zero parameter tells the library to append to the remote file instead of -overwrite it. This is only useful when uploading to a ftp site. -.TP -.B CURLOPT_NETRC -A non-zero parameter tells the library to scan your \fI~/.netrc\fP file to -find user name and password for the remote site you are about to access. Only -machine name, user name and password is taken into account (init macros and -similar things aren't supported). - -\fBNote:\fP libcurl does not verify that the file has the correct properties -set (as the standard Unix ftp client does). It should only be readable by -user. -.TP -.B CURLOPT_FOLLOWLOCATION -A non-zero parameter tells the library to follow any Location: header that the -server sends as part of a HTTP header. - -\fBNOTE:\fP this means that the library will re-send the same request on the -new location and follow new Location: headers all the way until no more such -headers are returned. \fICURLOPT_MAXREDIRS\fP can be used to limit the number -of redirects libcurl will follow. -.TP -.B CURLOPT_TRANSFERTEXT -A non-zero parameter tells the library to use ASCII mode for ftp transfers, -instead of the default binary transfer. For LDAP transfers it gets the data in -plain text instead of HTML and for win32 systems it does not set the stdout to -binary mode. This option can be usable when transferring text data between -systems with different views on certain characters, such as newlines or -similar. -.TP -.B CURLOPT_PUT -A non-zero parameter tells the library to use HTTP PUT to transfer data. The -data should be set with CURLOPT_INFILE and CURLOPT_INFILESIZE. -.TP -.B CURLOPT_USERPWD -Pass a char * as parameter, which should be [user name]:[password] to use for -the connection. If the password is left out, you will be prompted for it. -\fICURLOPT_PASSWDFUNCTION\fP can be used to set your own prompt function. -.TP -.B CURLOPT_PROXYUSERPWD -Pass a char * as parameter, which should be [user name]:[password] to use for -the connection to the HTTP proxy. If the password is left out, you will be -prompted for it. \fICURLOPT_PASSWDFUNCTION\fP can be used to set your own -prompt function. -.TP -.B CURLOPT_RANGE -Pass a char * as parameter, which should contain the specified range you -want. It should be in the format "X-Y", where X or Y may be left out. HTTP -transfers also support several intervals, separated with commas as in -\fI"X-Y,N-M"\fP. Using this kind of multiple intervals will cause the HTTP -server to send the response document in pieces (using standard MIME separation -techniques). -.TP -.B CURLOPT_ERRORBUFFER -Pass a char * to a buffer that the libcurl may store human readable error -messages in. This may be more helpful than just the return code from the -library. The buffer must be at least CURL_ERROR_SIZE big. - -\fBNote:\fP if the library does not return an error, the buffer may not have -been touched. Do not rely on the contents in those cases. -.TP -.B CURLOPT_TIMEOUT -Pass a long as parameter containing the maximum time in seconds that you allow -the libcurl transfer operation to take. Normally, name lookups can take a -considerable time and limiting operations to less than a few minutes risk -aborting perfectly normal operations. This option will cause curl to use the -SIGALRM to enable time-outing system calls. - -\fBNOTE:\fP this does not work in Unix multi-threaded programs, as it uses -signals. -.TP -.B CURLOPT_POSTFIELDS -Pass a char * as parameter, which should be the full data to post in a HTTP -post operation. This is a normal application/x-www-form-urlencoded kind, which -is the most commonly used one by HTML forms. See also the CURLOPT_POST. Since -7.8, using CURLOPT_POSTFIELDS implies CURLOPT_POST. - -\fBNote:\fP to make multipart/formdata posts (aka rfc1867-posts), check out -the \fICURLOPT_HTTPPOST\fP option. -.TP -.B CURLOPT_POSTFIELDSIZE -If you want to post data to the server without letting libcurl do a strlen() -to measure the data size, this option must be used. When this option is used -you can post fully binary data, which otherwise is likely to fail. If this -size is set to zero, the library will use strlen() to get the size. (Added in -libcurl 7.2) -.TP -.B CURLOPT_REFERER -Pass a pointer to a zero terminated string as parameter. It will be used to -set the Referer: header in the http request sent to the remote server. This -can be used to fool servers or scripts. You can also set any custom header -with \fICURLOPT_HTTPHEADER\fP. -.TP -.B CURLOPT_USERAGENT -Pass a pointer to a zero terminated string as parameter. It will be used to -set the User-Agent: header in the http request sent to the remote server. This -can be used to fool servers or scripts. You can also set any custom header -with \fICURLOPT_HTTPHEADER\fP. -.TP -.B CURLOPT_FTPPORT -Pass a pointer to a zero terminated string as parameter. It will be used to -get the IP address to use for the ftp PORT instruction. The PORT instruction -tells the remote server to connect to our specified IP address. The string may -be a plain IP address, a host name, an network interface name (under Unix) or -just a '-' letter to let the library use your systems default IP -address. Default FTP operations are passive, and thus won't use PORT. -.TP -.B CURLOPT_LOW_SPEED_LIMIT -Pass a long as parameter. It contains the transfer speed in bytes per second -that the transfer should be below during CURLOPT_LOW_SPEED_TIME seconds for -the library to consider it too slow and abort. -.TP -.B CURLOPT_LOW_SPEED_TIME -Pass a long as parameter. It contains the time in seconds that the transfer -should be below the CURLOPT_LOW_SPEED_LIMIT for the library to consider it too -slow and abort. -.TP -.B CURLOPT_RESUME_FROM -Pass a long as parameter. It contains the offset in number of bytes that you -want the transfer to start from. -.TP -.B CURLOPT_COOKIE -Pass a pointer to a zero terminated string as parameter. It will be used to -set a cookie in the http request. The format of the string should be -[NAME]=[CONTENTS]; Where NAME is the cookie name. -.TP -.B CURLOPT_HTTPHEADER -Pass a pointer to a linked list of HTTP headers to pass to the server in your -HTTP request. The linked list should be a fully valid list of \fBstruct -curl_slist\fP structs properly filled in. Use \fIcurl_slist_append(3)\fP to -create the list and \fIcurl_slist_free_all(3)\fP to clean up an entire -list. If you add a header that is otherwise generated and used by libcurl -internally, your added one will be used instead. If you add a header with no -contents as in 'Accept:' (no data on the right side of the colon), the -internally used header will get disabled. Thus, using this option you can add -new headers, replace internal headers and remove internal headers. - -\fBNOTE:\fPThe most commonly replaced headers have "shortcuts" in the options -CURLOPT_COOKIE, CURLOPT_USERAGENT and CURLOPT_REFERER. -.TP -.B CURLOPT_HTTPPOST -Tells libcurl you want a multipart/formdata HTTP POST to be made and you -instruct what data to pass on to the server. Pass a pointer to a linked list -of HTTP post structs as parameter. The linked list should be a fully valid -list of 'struct HttpPost' structs properly filled in. The best and most -elegant way to do this, is to use \fIcurl_formadd(3)\fP as documented. The -data in this list must remained intact until you close this curl handle again -with \fIcurl_easy_cleanup(3)\fP. -.TP -.B CURLOPT_SSLCERT -Pass a pointer to a zero terminated string as parameter. The string should be -the file name of your certificate. The default format is "PEM" and can be -changed with \fICURLOPT_SSLCERTTYPE\fP. -.TP -.B CURLOPT_SSLCERTTYPE -Pass a pointer to a zero terminated string as parameter. The string should be -the format of your certificate. Supported formats are "PEM" and "DER". (Added -in 7.9.3) -.TP -.B CURLOPT_SSLCERTPASSWD -Pass a pointer to a zero terminated string as parameter. It will be used as -the password required to use the CURLOPT_SSLCERT certificate. If the password -is not supplied, you will be prompted for it. \fICURLOPT_PASSWDFUNCTION\fP can -be used to set your own prompt function. - -\fBNOTE:\fPThis option is replaced by \fICURLOPT_SSLKEYPASSWD\fP and only -cept for backward compatibility. You never needed a pass phrase to load -a certificate but you need one to load your private key. -.TP -.B CURLOPT_SSLKEY -Pass a pointer to a zero terminated string as parameter. The string should be -the file name of your private key. The default format is "PEM" and can be -changed with \fICURLOPT_SSLKEYTYPE\fP. (Added in 7.9.3) -.TP -.B CURLOPT_SSLKEYTYPE -Pass a pointer to a zero terminated string as parameter. The string should be -the format of your private key. Supported formats are "PEM", "DER" and "ENG". -(Added in 7.9.3) - -\fBNOTE:\fPThe format "ENG" enables you to load the private key from a crypto -engine. in this case \fICURLOPT_SSLKEY\fP is used as an identifier passed to -the engine. You have to set the crypto engine with \fICURLOPT_SSL_ENGINE\fP. -.TP -.B CURLOPT_SSLKEYASSWD -Pass a pointer to a zero terminated string as parameter. It will be used as -the password required to use the \fICURLOPT_SSLKEY\fP private key. If the -password is not supplied, you will be prompted for -it. \fICURLOPT_PASSWDFUNCTION\fP can be used to set your own prompt function. -(Added in 7.9.3) -.TP -.B CURLOPT_SSL_ENGINE -Pass a pointer to a zero terminated string as parameter. It will be used as -the identifier for the crypto engine you want to use for your private -key. (Added in 7.9.3) - -\fBNOTE:\fPIf the crypto device cannot be loaded, -\fICURLE_SSL_ENGINE_NOTFOUND\fP is returned. -.TP -.B CURLOPT_SSL_ENGINEDEFAULT -Sets the actual crypto engine as the default for (asymetric) crypto -operations. (Added in 7.9.3) - -\fBNOTE:\fPIf the crypto device cannot be set, -\fICURLE_SSL_ENGINE_SETFAILED\fP is returned. -.TP -.B CURLOPT_CRLF -Convert Unix newlines to CRLF newlines on FTP uploads. -.TP -.B CURLOPT_QUOTE -Pass a pointer to a linked list of FTP commands to pass to the server prior to -your ftp request. The linked list should be a fully valid list of 'struct -curl_slist' structs properly filled in. Use \fIcurl_slist_append(3)\fP to -append strings (commands) to the list, and clear the entire list afterwards -with \fIcurl_slist_free_all(3)\fP. Disable this operation again by setting a -NULL to this option. -.TP -.B CURLOPT_POSTQUOTE -Pass a pointer to a linked list of FTP commands to pass to the server after -your ftp transfer request. The linked list should be a fully valid list of -struct curl_slist structs properly filled in as described for -\fICURLOPT_QUOTE\fP. Disable this operation again by setting a NULL to this -option. -.TP -.B CURLOPT_WRITEHEADER -Pass a pointer to be used to write the header part of the received data to. If -you don't use your own callback to take care of the writing, this must be a -valid FILE *. See also the \fICURLOPT_HEADERFUNCTION\fP option below on how to set a -custom get-all-headers callback. -.TP -.B CURLOPT_HEADERFUNCTION -Function pointer that should match the following prototype: \fIsize_t -function( void *ptr, size_t size, size_t nmemb, void *stream);\fP. This -function gets called by libcurl as soon as there is received header data that -needs to be written down. The headers are guaranteed to be written one-by-one -and only complete lines are written. Parsing headers should be easy enough -using this. The size of the data pointed to by \fIptr\fP is \fIsize\fP -multiplied with \fInmemb\fP. The pointer named \fIstream\fP will be the one -you passed to libcurl with the \fICURLOPT_WRITEHEADER\fP option. Return the -number of bytes actually written or return -1 to signal error to the library -(it will cause it to abort the transfer with a \fICURLE_WRITE_ERROR\fP return -code). (Added in libcurl 7.7.2) -.TP -.B CURLOPT_COOKIEFILE -Pass a pointer to a zero terminated string as parameter. It should contain the -name of your file holding cookie data. The cookie data may be in Netscape / -Mozilla cookie data format or just regular HTTP-style headers dumped to a -file. -.TP -.B CURLOPT_SSLVERSION -Pass a long as parameter. Set what version of SSL to attempt to use, 2 or -3. By default, the SSL library will try to solve this by itself although some -servers make this difficult why you at times may have to use this option. -.TP -.B CURLOPT_TIMECONDITION -Pass a long as parameter. This defines how the CURLOPT_TIMEVALUE time value is -treated. You can set this parameter to TIMECOND_IFMODSINCE or -TIMECOND_IFUNMODSINCE. This is a HTTP-only feature. (TBD) -.TP -.B CURLOPT_TIMEVALUE -Pass a long as parameter. This should be the time in seconds since 1 jan 1970, -and the time will be used as specified in CURLOPT_TIMECONDITION or if that -isn't used, it will be TIMECOND_IFMODSINCE by default. -.TP -.B CURLOPT_CUSTOMREQUEST -Pass a pointer to a zero terminated string as parameter. It will be user -instead of GET or HEAD when doing the HTTP request. This is useful for doing -DELETE or other more or less obscure HTTP requests. Don't do this at will, -make sure your server supports the command first. -.TP -.B CURLOPT_STDERR -Pass a FILE * as parameter. This is the stream to use instead of stderr -internally when reporting errors. -.TP -.B CURLOPT_INTERFACE -Pass a char * as parameter. This set the interface name to use as outgoing -network interface. The name can be an interface name, an IP address or a host -name. (Added in libcurl 7.3) -.TP -.B CURLOPT_KRB4LEVEL -Pass a char * as parameter. Set the krb4 security level, this also enables -krb4 awareness. This is a string, 'clear', 'safe', 'confidential' or -\&'private'. If the string is set but doesn't match one of these, 'private' -will be used. Set the string to NULL to disable kerberos4. The kerberos -support only works for FTP. (Added in libcurl 7.3) -.TP -.B CURLOPT_PROGRESSFUNCTION -Function pointer that should match the \fIcurl_progress_callback\fP prototype -found in \fI<curl/curl.h>\fP. This function gets called by libcurl instead of -its internal equivalent with a frequent interval during data transfer. -Unknown/unused argument values will be set to zero (like if you only download -data, the upload size will remain 0). Returning a non-zero value from this -callback will cause libcurl to abort the transfer and return -\fICURLE_ABORTED_BY_CALLBACK\fP. -.TP -.B CURLOPT_PROGRESSDATA -Pass a pointer that will be untouched by libcurl and passed as the first -argument in the progress callback set with \fICURLOPT_PROGRESSFUNCTION\fP. -.TP -.B CURLOPT_SSL_VERIFYPEER -Pass a long that is set to a non-zero value to make curl verify the peer's -certificate. The certificate to verify against must be specified with the -CURLOPT_CAINFO option. (Added in 7.4.2) -.TP -.B CURLOPT_CAINFO -Pass a char * to a zero terminated file naming holding the certificate to -verify the peer with. This only makes sense when used in combination with the -CURLOPT_SSL_VERIFYPEER option. (Added in 7.4.2) -.TP -.B CURLOPT_PASSWDFUNCTION -Pass a pointer to a \fIcurl_passwd_callback\fP function that will be called -instead of the internal one if libcurl requests a password. The function must -match this prototype: \fBint my_getpass(void *client, char *prompt, char* -buffer, int buflen );\fP. If set to NULL, it equals to making the function -always fail. If the function returns a non-zero value, it will abort the -operation and an error (CURLE_BAD_PASSWORD_ENTERED) will be returned. -\fIclient\fP is a generic pointer, see \fICURLOPT_PASSWDDATA\fP. \fIprompt\fP -is a zero-terminated string that is text that prefixes the input request. -\fIbuffer\fP is a pointer to data where the entered password should be stored -and \fIbuflen\fP is the maximum number of bytes that may be written in the -buffer. (Added in 7.4.2) -.TP -.B CURLOPT_PASSWDDATA -Pass a void * to whatever data you want. The passed pointer will be the first -argument sent to the specifed \fICURLOPT_PASSWDFUNCTION\fP function. (Added in -7.4.2) -.TP -.B CURLOPT_FILETIME -Pass a long. If it is a non-zero value, libcurl will attempt to get the -modification date of the remote document in this operation. This requires that -the remote server sends the time or replies to a time querying command. The -\fIcurl_easy_getinfo(3)\fP function with the \fICURLINFO_FILETIME\fP argument -can be used after a transfer to extract the received time (if any). (Added in -7.5) -.TP -.B CURLOPT_MAXREDIRS -Pass a long. The set number will be the redirection limit. If that many -redirections have been followed, the next redirect will cause an error -(\fICURLE_TOO_MANY_REDIRECTS\fP). This option only makes sense if the -\fICURLOPT_FOLLOWLOCATION\fP is used at the same time. (Added in 7.5) -.TP -.B CURLOPT_MAXCONNECTS -Pass a long. The set number will be the persistant connection cache size. The -set amount will be the maximum amount of simultaneous connections that libcurl -may cache between file transfers. Default is 5, and there isn't much point in -changing this value unless you are perfectly aware of how this work and -changes libcurl's behaviour. - -\fBNOTE:\fP if you already have performed transfers with this curl handle, -setting a smaller MAXCONNECTS than before may cause open connections to get -closed unnecessarily. (Added in 7.7) -.TP -.B CURLOPT_CLOSEPOLICY -Pass a long. This option sets what policy libcurl should use when the -connection cache is filled and one of the open connections has to be closed to -make room for a new connection. This must be one of the CURLCLOSEPOLICY_* -defines. Use \fICURLCLOSEPOLICY_LEAST_RECENTLY_USED\fP to make libcurl close -the connection that was least recently used, that connection is also least -likely to be capable of re-use. Use \fICURLCLOSEPOLICY_OLDEST\fP to make -libcurl close the oldest connection, the one that was created first among the -ones in the connection cache. The other close policies are not support -yet. (Added in 7.7) -.TP -.B CURLOPT_FRESH_CONNECT -Pass a long. Set to non-zero to make the next transfer use a new (fresh) -connection by force. If the connection cache is full before this connection, -one of the existing connections will be closed as according to the selected or -default policy. This option should be used with caution and only if you -understand what it does. Set this to 0 to have libcurl attempt re-using an -existing connection (default behavior). (Added in 7.7) -.TP -.B CURLOPT_FORBID_REUSE -Pass a long. Set to non-zero to make the next transfer explicitly close the -connection when done. Normally, libcurl keep all connections alive when done -with one transfer in case there comes a succeeding one that can re-use them. -This option should be used with caution and only if you understand what it -does. Set to 0 to have libcurl keep the connection open for possibly later -re-use (default behavior). (Added in 7.7) -.TP -.B CURLOPT_RANDOM_FILE -Pass a char * to a zero terminated file name. The file will be used to read -from to seed the random engine for SSL. The more random the specified file is, -the more secure will the SSL connection become. -.TP -.B CURLOPT_EGDSOCKET -Pass a char * to the zero terminated path name to the Entropy Gathering Daemon -socket. It will be used to seed the random engine for SSL. -.TP -.B CURLOPT_CONNECTTIMEOUT -Pass a long. It should contain the maximum time in seconds that you allow the -connection to the server to take. This only limits the connection phase, once -it has connected, this option is of no more use. Set to zero to disable -connection timeout (it will then only timeout on the system's internal -timeouts). See also the \fICURLOPT_TIMEOUT\fP option. - -\fBNOTE:\fP this does not work in unix multi-threaded programs, as it uses -signals. -.TP -.B CURLOPT_HTTPGET -Pass a long. If the long is non-zero, this forces the HTTP request to get back -to GET. Only really usable if POST, PUT or a custom request have been used -previously using the same curl handle. (Added in 7.8.1) -.TP -.B CURLOPT_SSL_VERIFYHOST -Pass a long. Set if we should verify the Common name from the peer certificate -in the SSL handshake, set 1 to check existence, 2 to ensure that it matches -the provided hostname. (Added in 7.8.1) -.TP -.B CURLOPT_COOKIEJAR -Pass a file name as char *, zero terminated. This will make libcurl dump all -internally known cookies to the specified file when \fIcurl_easy_cleanup(3)\fP -is called. If no cookies are known, no file will be created. Specify "-" to -instead have the cookies written to stdout. -.TP -.B CURLOPT_SSL_CIPHER_LIST -Pass a char *, pointing to a zero terminated string holding the list of -ciphers to use for the SSL connection. The list must be syntactly correct, it -consists of one or more cipher strings separated by colons. Commas or spaces -are also acceptable separators but colons are normally used, \!, \- and \+ can -be used as operators. Valid examples of cipher lists include 'RC4-SHA', -\'SHA1+DES\', 'TLSv1' and 'DEFAULT'. The default list is normally set when you -compile OpenSSL. - -You'll find more details about cipher lists on this URL: -\fIhttp://www.openssl.org/docs/apps/ciphers.html\fP -.TP -.B CURLOPT_HTTP_VERSION -Pass a long, set to one of the values described below. They force libcurl to -use the specific HTTP versions. This is not sensible to do unless you have a -good reason. -.RS -.TP 5 -.B CURL_HTTP_VERSION_NONE -We don't care about what version the library uses. libcurl will use whatever -it thinks fit. -.TP -.B CURL_HTTP_VERSION_1_0 -Enforce HTTP 1.0 requests. -.TP -.B CURL_HTTP_VERSION_1_1 -Enforce HTTP 1.1 requests. -.RE -.TP -.B CURLOPT_FTP_USE_EPSV -Pass a long. If the value is non-zero, it tells curl to use the EPSV command -when doing passive FTP downloads (which is always does by default). Using EPSV -means that it will first attempt to use EPSV before using PASV, but if you -pass FALSE (zero) to this option, it will not try using EPSV, only plain PASV. -.PP -.SH RETURN VALUE -CURLE_OK (zero) means that the option was set properly, non-zero means an -error occurred as \fI<curl/curl.h>\fP defines. -.SH "SEE ALSO" -.BR curl_easy_init "(3), " curl_easy_cleanup "(3), " -.SH BUGS -If you find any bugs, or just have questions, subscribe to one of the mailing -lists and post. We won't bite. - diff --git a/Build/source/libs/curl/docs/libcurl/curl_easy_setopt.html b/Build/source/libs/curl/docs/libcurl/curl_easy_setopt.html deleted file mode 100644 index b6bce1c476a..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_easy_setopt.html +++ /dev/null @@ -1,810 +0,0 @@ -<HTML> -<BODY> -<PRE> -<!-- Manpage converted by man2html 3.0.1 --> - -</PRE> -<H2>NAME</H2><PRE> - curl_easy_setopt - Set curl easy-session options - - -</PRE> -<H2>SYNOPSIS</H2><PRE> - #include <curl/curl.h> - - CURLcode curl_easy_setopt(CURL *handle, CURLoption option, - parameter); - - -</PRE> -<H2>DESCRIPTION</H2><PRE> - curl_easy_setopt() is used to tell libcurl how to behave. - Most operations in libcurl have default actions, and by - using the appropriate options to <I>curl</I><B>_</B><I>easy</I><B>_</B><I>setopt</I>, you can - change them. All options are set with the <I>option</I> followed - by a <I>parameter</I>. That parameter can be a long, a function - pointer or an object pointer, all depending on what the spe - cific option expects. Read this manual carefully as bad - input values may cause libcurl to behave badly! You can - only set one option in each function call. A typical appli - cation uses many curl_easy_setopt() calls in the setup - phase. - - <B>NOTE:</B> strings passed to libcurl as 'char *' arguments, will - not be copied by the library. Instead you should keep them - available until libcurl no longer needs them. Failing to do - so will cause very odd behavior or even crashes. - - <B>NOTE2:</B> options set with this function call are valid for the - forthcoming data transfers that are performed when you - invoke <I>curl</I><B>_</B><I>easy</I><B>_</B><I>perform</I>. The options are not in any way - reset between transfers, so if you want subsequent transfers - with different options, you must change them between the - transfers. - - The <I>handle</I> is the return code from a <I>curl</I><B>_</B><I>easy</I><B>_</B><I>init(3)</I> or - <I>curl</I><B>_</B><I>easy</I><B>_</B><I>duphandle(3)</I> call. - - -</PRE> -<H2>OPTIONS</H2><PRE> - The options are listed in a sort of random order, but you'll - figure it out! - - <B>CURLOPT_FILE</B> - Data pointer to pass to the file write function. - Note that if you specify the <I>CURLOPT</I><B>_</B><I>WRITEFUNCTION</I>, - this is the pointer you'll get as input. If you - don't use a callback, you must pass a 'FILE *' as - libcurl will pass this to fwrite() when writing - data. - - <B>NOTE:</B> If you're using libcurl as a win32 DLL, you - MUST use the <I>CURLOPT</I><B>_</B><I>WRITEFUNCTION</I> if you set this - option or you will experience crashes. - - <B>CURLOPT_WRITEFUNCTION</B> - Function pointer that should match the following - prototype: <B>size_t</B> <B>function(</B> <B>void</B> <B>*ptr,</B> <B>size_t</B> <B>size,</B> - <B>size_t</B> <B>nmemb,</B> <B>void</B> <B>*stream);</B> This function gets - called by libcurl as soon as there is data available - to pass available that needs to be saved. The size - of the data pointed to by <I>ptr</I> is <I>size</I> multiplied - with <I>nmemb</I>. Return the number of bytes actually - taken care of. If that amount differs from the - amount passed to your function, it'll signal an - error to the library and it will abort the transfer - and return <I>CURLE</I><B>_</B><I>WRITE</I><B>_</B><I>ERROR</I>. - - Set the <I>stream</I> argument with the <B>CURLOPT_FILE</B> - option. - - <B>NOTE:</B> you will be passed as much data as possible in - all invokes, but you cannot possibly make any - assumptions. It may be one byte, it may be thou - sands. - - <B>CURLOPT_INFILE</B> - Data pointer to pass to the file read function. Note - that if you specify the <I>CURLOPT</I><B>_</B><I>READFUNCTION</I>, this - is the pointer you'll get as input. If you don't - specify a read callback, this must be a valid FILE - *. - - <B>NOTE:</B> If you're using libcurl as a win32 DLL, you - MUST use a <I>CURLOPT</I><B>_</B><I>READFUNCTION</I> if you set this - option. - - <B>CURLOPT_READFUNCTION</B> - Function pointer that should match the following - prototype: <B>size_t</B> <B>function(</B> <B>void</B> <B>*ptr,</B> <B>size_t</B> <B>size,</B> - <B>size_t</B> <B>nmemb,</B> <B>void</B> <B>*stream);</B> This function gets - called by libcurl as soon as it needs to read data - in order to send it to the peer. The data area - pointed at by the pointer <I>ptr</I> may be filled with at - most <I>size</I> multiplied with <I>nmemb</I> number of bytes. - Your function must return the actual number of bytes - that you stored in that memory area. Returning 0 - will signal end-of-file to the library and cause it - to stop the current transfer. - - <B>CURLOPT_INFILESIZE</B> - When uploading a file to a remote site, this option - should be used to tell libcurl what the expected - size of the infile is. - - <B>CURLOPT_URL</B> - The actual URL to deal with. The parameter should be - a char * to a zero terminated string. The string - must remain present until curl no longer needs it, - as it doesn't copy the string. - - <B>NOTE:</B> this option is (the only one) required to be - set before <I>curl</I><B>_</B><I>easy</I><B>_</B><I>perform(3)</I> is called. - - <B>CURLOPT_PROXY</B> - Set HTTP proxy to use. The parameter should be a - char * to a zero terminated string holding the host - name or dotted IP address. To specify port number in - this string, append :[port] to the end of the host - name. The proxy string may be prefixed with [proto - col]:// since any such prefix will be ignored. The - proxy's port number may optionally be specified with - the separate option <I>CURLOPT</I><B>_</B><I>PROXYPORT</I>. - - <B>NOTE:</B> when you tell the library to use a HTTP proxy, - libcurl will transparently convert operations to - HTTP even if you specify a FTP URL etc. This may - have an impact on what other features of the library - you can use, such as CURLOPT_QUOTE and similar FTP - specifics that don't work unless you tunnel through - the HTTP proxy. Such tunneling is activated with - <I>CURLOPT</I><B>_</B><I>HTTPPROXYTUNNEL</I>. - - <B>NOTE2:</B> libcurl respects the environment variables - <B>http_proxy</B>, <B>ftp_proxy</B>, <B>all_proxy</B> etc, if any of - those is set. - - <B>CURLOPT_PROXYPORT</B> - Pass a long with this option to set the proxy port - to connect to unless it is specified in the proxy - string <I>CURLOPT</I><B>_</B><I>PROXY</I>. - - <B>CURLOPT_HTTPPROXYTUNNEL</B> - Set the parameter to non-zero to get the library to - tunnel all operations through a given HTTP proxy. - Note that there is a big difference between using a - proxy and to tunnel through it. If you don't know - what this means, you probably don't want this tun - neling option. (Added in libcurl 7.3) - - <B>CURLOPT_VERBOSE</B> - Set the parameter to non-zero to get the library to - display a lot of verbose information about its oper - ations. Very useful for libcurl and/or protocol - debugging and understanding. - - You hardly ever want this set in production use, you - will almost always want this when you debug/report - problems. - - <B>CURLOPT_HEADER</B> - A non-zero parameter tells the library to include - the header in the body output. This is only relevant - for protocols that actually have headers preceding - the data (like HTTP). - - <B>CURLOPT_NOPROGRESS</B> - A non-zero parameter tells the library to shut of - the built-in progress meter completely. - - <B>NOTE:</B> future versions of libcurl is likely to not - have any built-in progress meter at all. - - <B>CURLOPT_NOBODY</B> - A non-zero parameter tells the library to not - include the body-part in the output. This is only - relevant for protocols that have separate header and - body parts. - - <B>CURLOPT_FAILONERROR</B> - A non-zero parameter tells the library to fail - silently if the HTTP code returned is equal to or - larger than 300. The default action would be to - return the page normally, ignoring that code. - - <B>CURLOPT_UPLOAD</B> - A non-zero parameter tells the library to prepare - for an upload. The CURLOPT_INFILE and CUR - LOPT_INFILESIZE are also interesting for uploads. - - <B>CURLOPT_POST</B> - A non-zero parameter tells the library to do a regu - lar HTTP post. This is a normal application/x-www- - form-urlencoded kind, which is the most commonly - used one by HTML forms. See the CURLOPT_POSTFIELDS - option for how to specify the data to post and CUR - LOPT_POSTFIELDSIZE in how to set the data size. - Starting with libcurl 7.8, this option is obsolete. - Using the CURLOPT_POSTFIELDS option will imply this - option. - - <B>CURLOPT_FTPLISTONLY</B> - A non-zero parameter tells the library to just list - the names of an ftp directory, instead of doing a - full directory listing that would include file - sizes, dates etc. - - <B>CURLOPT_FTPAPPEND</B> - A non-zero parameter tells the library to append to - the remote file instead of overwrite it. This is - only useful when uploading to a ftp site. - - <B>CURLOPT_NETRC</B> - A non-zero parameter tells the library to scan your - <I>~/.netrc</I> file to find user name and password for the - remote site you are about to access. Only machine - name, user name and password is taken into account - (init macros and similar things aren't supported). - - <B>Note:</B> libcurl does not verify that the file has the - correct properties set (as the standard Unix ftp - client does). It should only be readable by user. - - <B>CURLOPT_FOLLOWLOCATION</B> - A non-zero parameter tells the library to follow any - Location: header that the server sends as part of a - HTTP header. - - <B>NOTE:</B> this means that the library will re-send the - same request on the new location and follow new - Location: headers all the way until no more such - headers are returned. <I>CURLOPT</I><B>_</B><I>MAXREDIRS</I> can be used - to limit the number of redirects libcurl will fol - low. - - <B>CURLOPT_TRANSFERTEXT</B> - A non-zero parameter tells the library to use ASCII - mode for ftp transfers, instead of the default - binary transfer. For LDAP transfers it gets the data - in plain text instead of HTML and for win32 systems - it does not set the stdout to binary mode. This - option can be usable when transferring text data - between systems with different views on certain - characters, such as newlines or similar. - - <B>CURLOPT_PUT</B> - A non-zero parameter tells the library to use HTTP - PUT to transfer data. The data should be set with - CURLOPT_INFILE and CURLOPT_INFILESIZE. - - <B>CURLOPT_USERPWD</B> - Pass a char * as parameter, which should be [user - name]:[password] to use for the connection. If the - password is left out, you will be prompted for it. - <I>CURLOPT</I><B>_</B><I>PASSWDFUNCTION</I> can be used to set your own - prompt function. - - <B>CURLOPT_PROXYUSERPWD</B> - Pass a char * as parameter, which should be [user - name]:[password] to use for the connection to the - HTTP proxy. If the password is left out, you will be - prompted for it. <I>CURLOPT</I><B>_</B><I>PASSWDFUNCTION</I> can be used - to set your own prompt function. - - <B>CURLOPT_RANGE</B> - Pass a char * as parameter, which should contain the - specified range you want. It should be in the format - "X-Y", where X or Y may be left out. HTTP transfers - also support several intervals, separated with com - mas as in <I>"X-Y,N-M"</I>. Using this kind of multiple - intervals will cause the HTTP server to send the - response document in pieces (using standard MIME - separation techniques). - - <B>CURLOPT_ERRORBUFFER</B> - Pass a char * to a buffer that the libcurl may store - human readable error messages in. This may be more - helpful than just the return code from the library. - The buffer must be at least CURL_ERROR_SIZE big. - - <B>Note:</B> if the library does not return an error, the - buffer may not have been touched. Do not rely on the - contents in those cases. - - <B>CURLOPT_TIMEOUT</B> - Pass a long as parameter containing the maximum time - in seconds that you allow the libcurl transfer oper - ation to take. Normally, name lookups can take a - considerable time and limiting operations to less - than a few minutes risk aborting perfectly normal - operations. This option will cause curl to use the - SIGALRM to enable time-outing system calls. - - <B>NOTE:</B> this does not work in Unix multi-threaded pro - grams, as it uses signals. - - <B>CURLOPT_POSTFIELDS</B> - Pass a char * as parameter, which should be the full - data to post in a HTTP post operation. This is a - normal application/x-www-form-urlencoded kind, which - is the most commonly used one by HTML forms. See - also the CURLOPT_POST. Since 7.8, using CUR - LOPT_POSTFIELDS implies CURLOPT_POST. - - <B>Note:</B> to make multipart/formdata posts (aka - rfc1867-posts), check out the <I>CURLOPT</I><B>_</B><I>HTTPPOST</I> - option. - - <B>CURLOPT_POSTFIELDSIZE</B> - If you want to post data to the server without let - ting libcurl do a strlen() to measure the data size, - this option must be used. When this option is used - you can post fully binary data, which otherwise is - likely to fail. If this size is set to zero, the - library will use strlen() to get the size. (Added in - libcurl 7.2) - - <B>CURLOPT_REFERER</B> - Pass a pointer to a zero terminated string as param - eter. It will be used to set the Referer: header in - the http request sent to the remote server. This can - be used to fool servers or scripts. You can also set - any custom header with <I>CURLOPT</I><B>_</B><I>HTTPHEADER</I>. - - <B>CURLOPT_USERAGENT</B> - Pass a pointer to a zero terminated string as param - eter. It will be used to set the User-Agent: header - in the http request sent to the remote server. This - can be used to fool servers or scripts. You can also - set any custom header with <I>CURLOPT</I><B>_</B><I>HTTPHEADER</I>. - - <B>CURLOPT_FTPPORT</B> - Pass a pointer to a zero terminated string as param - eter. It will be used to get the IP address to use - for the ftp PORT instruction. The PORT instruction - tells the remote server to connect to our specified - IP address. The string may be a plain IP address, a - host name, an network interface name (under Unix) or - just a '-' letter to let the library use your sys - tems default IP address. Default FTP operations are - passive, and thus won't use PORT. - - <B>CURLOPT_LOW_SPEED_LIMIT</B> - Pass a long as parameter. It contains the transfer - speed in bytes per second that the transfer should - be below during CURLOPT_LOW_SPEED_TIME seconds for - the library to consider it too slow and abort. - - <B>CURLOPT_LOW_SPEED_TIME</B> - Pass a long as parameter. It contains the time in - seconds that the transfer should be below the CUR - LOPT_LOW_SPEED_LIMIT for the library to consider it - too slow and abort. - - <B>CURLOPT_RESUME_FROM</B> - Pass a long as parameter. It contains the offset in - number of bytes that you want the transfer to start - from. - - <B>CURLOPT_COOKIE</B> - Pass a pointer to a zero terminated string as param - eter. It will be used to set a cookie in the http - request. The format of the string should be - [NAME]=[CONTENTS]; Where NAME is the cookie name. - - <B>CURLOPT_HTTPHEADER</B> - Pass a pointer to a linked list of HTTP headers to - pass to the server in your HTTP request. The linked - list should be a fully valid list of <B>struct</B> - <B>curl_slist</B> structs properly filled in. Use - <I>curl</I><B>_</B><I>slist</I><B>_</B><I>append(3)</I> to create the list and - <I>curl</I><B>_</B><I>slist</I><B>_</B><I>free</I><B>_</B><I>all(3)</I> to clean up an entire list. - If you add a header that is otherwise generated and - used by libcurl internally, your added one will be - used instead. If you add a header with no contents - as in 'Accept:' (no data on the right side of the - colon), the internally used header will get dis - abled. Thus, using this option you can add new head - ers, replace internal headers and remove internal - headers. - - <B>NOTE:</B>The most commonly replaced headers have "short - cuts" in the options CURLOPT_COOKIE, CURLOPT_USERA - GENT and CURLOPT_REFERER. - - <B>CURLOPT_HTTPPOST</B> - Tells libcurl you want a multipart/formdata HTTP - POST to be made and you instruct what data to pass - on to the server. Pass a pointer to a linked list - of HTTP post structs as parameter. The linked list - should be a fully valid list of 'struct HttpPost' - structs properly filled in. The best and most ele - gant way to do this, is to use <I>curl</I><B>_</B><I>formadd(3)</I> as - documented. The data in this list must remained - intact until you close this curl handle again with - <I>curl</I><B>_</B><I>easy</I><B>_</B><I>cleanup(3)</I>. - - <B>CURLOPT_SSLCERT</B> - Pass a pointer to a zero terminated string as param - eter. The string should be the file name of your - certificate. The default format is "PEM" and can be - changed with <I>CURLOPT</I><B>_</B><I>SSLCERTTYPE</I>. - - <B>CURLOPT_SSLCERTTYPE</B> - Pass a pointer to a zero terminated string as param - eter. The string should be the format of your cer - tificate. Supported formats are "PEM" and "DER". - (Added in 7.9.3) - - <B>CURLOPT_SSLCERTPASSWD</B> - Pass a pointer to a zero terminated string as param - eter. It will be used as the password required to - use the CURLOPT_SSLCERT certificate. If the password - is not supplied, you will be prompted for it. <I>CUR</I> - <I>LOPT</I><B>_</B><I>PASSWDFUNCTION</I> can be used to set your own - prompt function. - - <B>NOTE:</B>This option is replaced by <I>CURLOPT</I><B>_</B><I>SSLKEYPASSWD</I> - and only cept for backward compatibility. You never - needed a pass phrase to load a certificate but you - need one to load your private key. - - <B>CURLOPT_SSLKEY</B> - Pass a pointer to a zero terminated string as param - eter. The string should be the file name of your - private key. The default format is "PEM" and can be - changed with <I>CURLOPT</I><B>_</B><I>SSLKEYTYPE</I>. (Added in 7.9.3) - - <B>CURLOPT_SSLKEYTYPE</B> - Pass a pointer to a zero terminated string as param - eter. The string should be the format of your pri - vate key. Supported formats are "PEM", "DER" and - "ENG". (Added in 7.9.3) - - <B>NOTE:</B>The format "ENG" enables you to load the pri - vate key from a crypto engine. in this case <I>CUR</I> - <I>LOPT</I><B>_</B><I>SSLKEY</I> is used as an identifier passed to the - engine. You have to set the crypto engine with <I>CUR</I> - <I>LOPT</I><B>_</B><I>SSL</I><B>_</B><I>ENGINE</I>. - - <B>CURLOPT_SSLKEYASSWD</B> - Pass a pointer to a zero terminated string as param - eter. It will be used as the password required to - use the <I>CURLOPT</I><B>_</B><I>SSLKEY</I> private key. If the password - is not supplied, you will be prompted for it. <I>CUR</I> - <I>LOPT</I><B>_</B><I>PASSWDFUNCTION</I> can be used to set your own - prompt function. (Added in 7.9.3) - - <B>CURLOPT_SSL_ENGINE</B> - Pass a pointer to a zero terminated string as param - eter. It will be used as the identifier for the - crypto engine you want to use for your private key. - (Added in 7.9.3) - - <B>NOTE:</B>If the crypto device cannot be loaded, - <I>CURLE</I><B>_</B><I>SSL</I><B>_</B><I>ENGINE</I><B>_</B><I>NOTFOUND</I> is returned. - - <B>CURLOPT_SSL_ENGINEDEFAULT</B> - Sets the actual crypto engine as the default for - (asymetric) crypto operations. (Added in 7.9.3) - - <B>NOTE:</B>If the crypto device cannot be set, - <I>CURLE</I><B>_</B><I>SSL</I><B>_</B><I>ENGINE</I><B>_</B><I>SETFAILED</I> is returned. - - <B>CURLOPT_CRLF</B> - Convert Unix newlines to CRLF newlines on FTP - uploads. - - <B>CURLOPT_QUOTE</B> - Pass a pointer to a linked list of FTP commands to - pass to the server prior to your ftp request. The - linked list should be a fully valid list of 'struct - curl_slist' structs properly filled in. Use - <I>curl</I><B>_</B><I>slist</I><B>_</B><I>append(3)</I> to append strings (commands) to - the list, and clear the entire list afterwards with - <I>curl</I><B>_</B><I>slist</I><B>_</B><I>free</I><B>_</B><I>all(3)</I>. Disable this operation again - by setting a NULL to this option. - - <B>CURLOPT_POSTQUOTE</B> - Pass a pointer to a linked list of FTP commands to - pass to the server after your ftp transfer request. - The linked list should be a fully valid list of - struct curl_slist structs properly filled in as - described for <I>CURLOPT</I><B>_</B><I>QUOTE</I>. Disable this operation - again by setting a NULL to this option. - - <B>CURLOPT_WRITEHEADER</B> - Pass a pointer to be used to write the header part - of the received data to. If you don't use your own - callback to take care of the writing, this must be a - valid FILE *. See also the <I>CURLOPT</I><B>_</B><I>HEADERFUNCTION</I> - option below on how to set a custom get-all-headers - callback. - - <B>CURLOPT_HEADERFUNCTION</B> - Function pointer that should match the following - prototype: <I>size</I><B>_</B><I>t</I> <I>function(</I> <I>void</I> <I>*ptr,</I> <I>size</I><B>_</B><I>t</I> <I>size,</I> - <I>size</I><B>_</B><I>t</I> <I>nmemb,</I> <I>void</I> <I>*stream);</I>. This function gets - called by libcurl as soon as there is received - header data that needs to be written down. The head - ers are guaranteed to be written one-by-one and only - complete lines are written. Parsing headers should - be easy enough using this. The size of the data - pointed to by <I>ptr</I> is <I>size</I> multiplied with <I>nmemb</I>. - The pointer named <I>stream</I> will be the one you passed - to libcurl with the <I>CURLOPT</I><B>_</B><I>WRITEHEADER</I> option. - Return the number of bytes actually written or - return -1 to signal error to the library (it will - cause it to abort the transfer with a - <I>CURLE</I><B>_</B><I>WRITE</I><B>_</B><I>ERROR</I> return code). (Added in libcurl - 7.7.2) - - <B>CURLOPT_COOKIEFILE</B> - Pass a pointer to a zero terminated string as param - eter. It should contain the name of your file hold - ing cookie data. The cookie data may be in Netscape - / Mozilla cookie data format or just regular HTTP- - style headers dumped to a file. - - <B>CURLOPT_SSLVERSION</B> - Pass a long as parameter. Set what version of SSL to - attempt to use, 2 or 3. By default, the SSL library - will try to solve this by itself although some - servers make this difficult why you at times may - have to use this option. - - <B>CURLOPT_TIMECONDITION</B> - Pass a long as parameter. This defines how the CUR - LOPT_TIMEVALUE time value is treated. You can set - this parameter to TIMECOND_IFMODSINCE or TIME - COND_IFUNMODSINCE. This is a HTTP-only feature. - (TBD) - - <B>CURLOPT_TIMEVALUE</B> - Pass a long as parameter. This should be the time in - seconds since 1 jan 1970, and the time will be used - as specified in CURLOPT_TIMECONDITION or if that - isn't used, it will be TIMECOND_IFMODSINCE by - default. - - <B>CURLOPT_CUSTOMREQUEST</B> - Pass a pointer to a zero terminated string as param - eter. It will be user instead of GET or HEAD when - doing the HTTP request. This is useful for doing - DELETE or other more or less obscure HTTP requests. - Don't do this at will, make sure your server sup - ports the command first. - - <B>CURLOPT_STDERR</B> - Pass a FILE * as parameter. This is the stream to - use instead of stderr internally when reporting - errors. - - <B>CURLOPT_INTERFACE</B> - Pass a char * as parameter. This set the interface - name to use as outgoing network interface. The name - can be an interface name, an IP address or a host - name. (Added in libcurl 7.3) - - <B>CURLOPT_KRB4LEVEL</B> - Pass a char * as parameter. Set the krb4 security - level, this also enables krb4 awareness. This is a - string, 'clear', 'safe', 'confidential' or 'pri - vate'. If the string is set but doesn't match one - of these, 'private' will be used. Set the string to - NULL to disable kerberos4. The kerberos support only - works for FTP. (Added in libcurl 7.3) - - <B>CURLOPT_PROGRESSFUNCTION</B> - Function pointer that should match the - <I>curl</I><B>_</B><I>progress</I><B>_</B><I>callback</I> prototype found in - <I><curl/curl.h></I>. This function gets called by libcurl - instead of its internal equivalent with a frequent - interval during data transfer. Unknown/unused argu - ment values will be set to zero (like if you only - download data, the upload size will remain 0). - Returning a non-zero value from this callback will - cause libcurl to abort the transfer and return - <I>CURLE</I><B>_</B><I>ABORTED</I><B>_</B><I>BY</I><B>_</B><I>CALLBACK</I>. - - <B>CURLOPT_PROGRESSDATA</B> - Pass a pointer that will be untouched by libcurl and - passed as the first argument in the progress call - back set with <I>CURLOPT</I><B>_</B><I>PROGRESSFUNCTION</I>. - - <B>CURLOPT_SSL_VERIFYPEER</B> - Pass a long that is set to a non-zero value to make - curl verify the peer's certificate. The certificate - to verify against must be specified with the CUR - LOPT_CAINFO option. (Added in 7.4.2) - - <B>CURLOPT_CAINFO</B> - Pass a char * to a zero terminated file naming hold - ing the certificate to verify the peer with. This - only makes sense when used in combination with the - CURLOPT_SSL_VERIFYPEER option. (Added in 7.4.2) - - <B>CURLOPT_PASSWDFUNCTION</B> - Pass a pointer to a <I>curl</I><B>_</B><I>passwd</I><B>_</B><I>callback</I> function - that will be called instead of the internal one if - libcurl requests a password. The function must match - this prototype: <B>int</B> <B>my_getpass(void</B> <B>*client,</B> <B>char</B> - <B>*prompt,</B> <B>char*</B> <B>buffer,</B> <B>int</B> <B>buflen</B> <B>);</B>. If set to - NULL, it equals to making the function always fail. - If the function returns a non-zero value, it will - abort the operation and an error (CURLE_BAD_PASS - WORD_ENTERED) will be returned. <I>client</I> is a generic - pointer, see <I>CURLOPT</I><B>_</B><I>PASSWDDATA</I>. <I>prompt</I> is a zero- - terminated string that is text that prefixes the - input request. <I>buffer</I> is a pointer to data where - the entered password should be stored and <I>buflen</I> is - the maximum number of bytes that may be written in - the buffer. (Added in 7.4.2) - - <B>CURLOPT_PASSWDDATA</B> - Pass a void * to whatever data you want. The passed - pointer will be the first argument sent to the - specifed <I>CURLOPT</I><B>_</B><I>PASSWDFUNCTION</I> function. (Added in - 7.4.2) - - <B>CURLOPT_FILETIME</B> - Pass a long. If it is a non-zero value, libcurl will - attempt to get the modification date of the remote - document in this operation. This requires that the - remote server sends the time or replies to a time - querying command. The <I>curl</I><B>_</B><I>easy</I><B>_</B><I>getinfo(3)</I> function - with the <I>CURLINFO</I><B>_</B><I>FILETIME</I> argument can be used - after a transfer to extract the received time (if - any). (Added in 7.5) - - <B>CURLOPT_MAXREDIRS</B> - Pass a long. The set number will be the redirection - limit. If that many redirections have been followed, - the next redirect will cause an error - (<I>CURLE</I><B>_</B><I>TOO</I><B>_</B><I>MANY</I><B>_</B><I>REDIRECTS</I>). This option only makes - sense if the <I>CURLOPT</I><B>_</B><I>FOLLOWLOCATION</I> is used at the - same time. (Added in 7.5) - - <B>CURLOPT_MAXCONNECTS</B> - Pass a long. The set number will be the persistant - connection cache size. The set amount will be the - maximum amount of simultaneous connections that - libcurl may cache between file transfers. Default is - 5, and there isn't much point in changing this value - unless you are perfectly aware of how this work and - changes libcurl's behaviour. - - <B>NOTE:</B> if you already have performed transfers with - this curl handle, setting a smaller MAXCONNECTS than - before may cause open connections to get closed - unnecessarily. (Added in 7.7) - - <B>CURLOPT_CLOSEPOLICY</B> - Pass a long. This option sets what policy libcurl - should use when the connection cache is filled and - one of the open connections has to be closed to make - room for a new connection. This must be one of the - CURLCLOSEPOLICY_* defines. Use <I>CURLCLOSEPOL</I> - <I>ICY</I><B>_</B><I>LEAST</I><B>_</B><I>RECENTLY</I><B>_</B><I>USED</I> to make libcurl close the - connection that was least recently used, that con - nection is also least likely to be capable of re- - use. Use <I>CURLCLOSEPOLICY</I><B>_</B><I>OLDEST</I> to make libcurl - close the oldest connection, the one that was cre - ated first among the ones in the connection cache. - The other close policies are not support yet. (Added - in 7.7) - - <B>CURLOPT_FRESH_CONNECT</B> - Pass a long. Set to non-zero to make the next trans - fer use a new (fresh) connection by force. If the - connection cache is full before this connection, one - of the existing connections will be closed as - according to the selected or default policy. This - option should be used with caution and only if you - understand what it does. Set this to 0 to have - libcurl attempt re-using an existing connection - (default behavior). (Added in 7.7) - - <B>CURLOPT_FORBID_REUSE</B> - Pass a long. Set to non-zero to make the next trans - fer explicitly close the connection when done. Nor - mally, libcurl keep all connections alive when done - with one transfer in case there comes a succeeding - one that can re-use them. This option should be - used with caution and only if you understand what it - does. Set to 0 to have libcurl keep the connection - open for possibly later re-use (default behavior). - (Added in 7.7) - - <B>CURLOPT_RANDOM_FILE</B> - Pass a char * to a zero terminated file name. The - file will be used to read from to seed the random - engine for SSL. The more random the specified file - is, the more secure will the SSL connection become. - - <B>CURLOPT_EGDSOCKET</B> - Pass a char * to the zero terminated path name to - the Entropy Gathering Daemon socket. It will be used - to seed the random engine for SSL. - - <B>CURLOPT_CONNECTTIMEOUT</B> - Pass a long. It should contain the maximum time in - seconds that you allow the connection to the server - to take. This only limits the connection phase, - once it has connected, this option is of no more - use. Set to zero to disable connection timeout (it - will then only timeout on the system's internal - timeouts). See also the <I>CURLOPT</I><B>_</B><I>TIMEOUT</I> option. - - <B>NOTE:</B> this does not work in unix multi-threaded pro - grams, as it uses signals. - - <B>CURLOPT_HTTPGET</B> - Pass a long. If the long is non-zero, this forces - the HTTP request to get back to GET. Only really - usable if POST, PUT or a custom request have been - used previously using the same curl handle. (Added - in 7.8.1) - - <B>CURLOPT_SSL_VERIFYHOST</B> - Pass a long. Set if we should verify the Common name - from the peer certificate in the SSL handshake, set - 1 to check existence, 2 to ensure that it matches - the provided hostname. (Added in 7.8.1) - - <B>CURLOPT_COOKIEJAR</B> - Pass a file name as char *, zero terminated. This - will make libcurl dump all internally known cookies - to the specified file when <I>curl</I><B>_</B><I>easy</I><B>_</B><I>cleanup(3)</I> is - called. If no cookies are known, no file will be - created. Specify "-" to instead have the cookies - written to stdout. - - <B>CURLOPT_SSL_CIPHER_LIST</B> - Pass a char *, pointing to a zero terminated string - holding the list of ciphers to use for the SSL con - nection. The list must be syntactly correct, it con - sists of one or more cipher strings separated by - colons. Commas or spaces are also acceptable separa - tors but colons are normally used, , - and + can be - used as operators. Valid examples of cipher lists - include 'RC4-SHA', ´SHA1+DES´, 'TLSv1' and - 'DEFAULT'. The default list is normally set when you - compile OpenSSL. - - You'll find more details about cipher lists on this - URL: <I>http://www.openssl.org/docs/apps/ciphers.html</I> - - <B>CURLOPT_HTTP_VERSION</B> - Pass a long, set to one of the values described - below. They force libcurl to use the specific HTTP - versions. This is not sensible to do unless you have - a good reason. - - <B>CURL_HTTP_VERSION_NONE</B> - We don't care about what version the library - uses. libcurl will use whatever it thinks fit. - - <B>CURL_HTTP_VERSION_1_0</B> - Enforce HTTP 1.0 requests. - - <B>CURL_HTTP_VERSION_1_1</B> - Enforce HTTP 1.1 requests. - - <B>CURLOPT_FTP_USE_EPSV</B> - Pass a long. If the value is non-zero, it tells curl - to use the EPSV command when doing passive FTP down - loads (which is always does by default). Using EPSV - means that it will first attempt to use EPSV before - using PASV, but if you pass FALSE (zero) to this - option, it will not try using EPSV, only plain PASV. - - -</PRE> -<H2>RETURN VALUE</H2><PRE> - CURLE_OK (zero) means that the option was set properly, non- - zero means an error occurred as <I><curl/curl.h></I> defines. - - -</PRE> -<H2>SEE ALSO</H2><PRE> - <B>curl_easy_init(3)</B>, <B>curl_easy_cleanup(3)</B>, - - -</PRE> -<H2>BUGS</H2><PRE> - If you find any bugs, or just have questions, subscribe to - one of the mailing lists and post. We won't bite. - - - - -</PRE> -<HR> -<ADDRESS> -Man(1) output converted with -<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> -</ADDRESS> -</BODY> -</HTML> diff --git a/Build/source/libs/curl/docs/libcurl/curl_escape.3 b/Build/source/libs/curl/docs/libcurl/curl_escape.3 deleted file mode 100644 index 3936eaec8cd..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_escape.3 +++ /dev/null @@ -1,26 +0,0 @@ -.\" You can view this file with: -.\" nroff -man [file] -.\" $Id: curl_escape.3,v 1.2 2002/03/06 07:44:49 bagder Exp $ -.\" -.TH curl_escape 3 "6 March 2002" "libcurl 7.9" "libcurl Manual" -.SH NAME -curl_escape - URL encodes the given string -.SH SYNOPSIS -.B #include <curl/curl.h> -.sp -.BI "char *curl_escape( char *" url ", int "length " );" -.ad -.SH DESCRIPTION -This function will convert the given input string to an URL encoded string and -return that as a new allocated string. All input characters that are not a-z, -A-Z or 0-9 will be converted to their "URL escaped" version (%NN where NN is a -two-digit hexadecimal number). - -If the 'length' argument is set to 0, curl_escape() will use strlen() on the -input 'url' string to find out the size. - -You must free() the returned string when you're done with it. -.SH RETURN VALUE -A pointer to a zero terminated string or NULL if it failed. -.SH "SEE ALSO" -.I curl_unescape(), RFC 2396 diff --git a/Build/source/libs/curl/docs/libcurl/curl_escape.html b/Build/source/libs/curl/docs/libcurl/curl_escape.html deleted file mode 100644 index 975dac2bbe1..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_escape.html +++ /dev/null @@ -1,74 +0,0 @@ -<HTML> -<BODY> -<PRE> -<!-- Manpage converted by man2html 3.0.1 --> - -</PRE> -<H2>NAME</H2><PRE> - curl_escape - URL encodes the given string - - -</PRE> -<H2>SYNOPSIS</H2><PRE> - <B>#include</B> <B><curl/curl.h></B> - - <B>char</B> <B>*curl_escape(</B> <B>char</B> <B>*</B><I>url</I><B>,</B> <B>int</B> <I>length</I> <B>);</B> - - -</PRE> -<H2>DESCRIPTION</H2><PRE> - This function will convert the given input string to an URL - encoded string and return that as a new allocated string. - All input characters that are not a-z, A-Z or 0-9 will be - converted to their "URL escaped" version (%NN where NN is a - two-digit hexadecimal number). - - If the 'length' argument is set to 0, curl_escape() will use - strlen() on the input 'url' string to find out the size. - - You must free() the returned string when you're done with - it. - - -</PRE> -<H2>RETURN VALUE</H2><PRE> - A pointer to a zero terminated string or NULL if it failed. - - -</PRE> -<H2>SEE ALSO</H2><PRE> - <I>curl</I><B>_</B><I>unescape(),</I> <I>RFC</I> <I>2396</I> - - - - - - - - - - - - - - - - - - - - - - - - - - -</PRE> -<HR> -<ADDRESS> -Man(1) output converted with -<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> -</ADDRESS> -</BODY> -</HTML> diff --git a/Build/source/libs/curl/docs/libcurl/curl_formadd.3 b/Build/source/libs/curl/docs/libcurl/curl_formadd.3 deleted file mode 100644 index c80b4fba1af..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_formadd.3 +++ /dev/null @@ -1,165 +0,0 @@ -.\" You can view this file with: -.\" nroff -man [file] -.\" $Id: curl_formadd.3,v 1.1 2002/03/04 10:09:49 bagder Exp $ -.\" -.TH curl_formadd 3 "1 Match 2002" "libcurl 7.9.1" "libcurl Manual" -.SH NAME -curl_formadd - add a section to a multipart/formdata HTTP POST -.SH SYNOPSIS -.B #include <curl/curl.h> -.sp -.BI "int curl_formadd(struct HttpPost ** " firstitem, -.BI "struct HttpPost ** " lastitem, " ...);" -.ad -.SH DESCRIPTION -curl_formadd() is used to append sections when building a multipart/formdata -HTTP POST (sometimes refered to as rfc1867-style posts). Append one section at -a time until you've added all the sections you want included and then you pass -the \fIfirstitem\fP pointer as parameter to \fBCURLOPT_HTTPPOST\fP. -\fIlastitem\fP is set after each call and on repeated invokes it should be -left as set to allow repeated invokes to find the end of the list faster. - -After the \fIlastitem\fP pointer follow the real arguments. (If the following -description confuses you, jump directly to the examples): - -\fBCURLFORM_COPYNAME\fP or \fBCURLFORM_PTRNAME\fP followed by a string is used -for the name of the section. Optionally one may use \fBCURLFORM_NAMELENGTH\fP -to specify the length of the name (allowing null characters within the -name). All options that use the word COPY in their names copy the given -contents, while the ones with PTR in their names simply points to the (static) -data you must make sure remain until curl no longer needs it. - -The four options for providing values are: \fBCURLFORM_COPYCONTENTS\fP, -\fBCURLFORM_PTRCONTENTS\fP, \fBCURLFORM_FILE\fP, or \fBCURLFORM_FILECONTENT\fP -followed by a char or void pointer (allowed for PTRCONTENTS). - -\fBCURLFORM_FILECONTENT\fP does a normal post like \fBCURLFORM_COPYCONTENTS\fP -but the actual value is read from the filename given as a string. - -Other arguments may be \fBCURLFORM_CONTENTTYPE\fP if the user wishes to -specify one (for FILE if no type is given the library tries to provide the -correct one; for CONTENTS no Content-Type is sent in this case). - -For \fBCURLFORM_PTRCONTENTS\fP or \fBCURLFORM_COPYNAME\fP the user may also -add \fBCURLFORM_CONTENTSLENGTH\fP followed by the length as a long (if not -given the library will use strlen to determine the length). - -For \fBCURLFORM_FILE\fP the user may send multiple files in one section by -providing multiple \fBCURLFORM_FILE\fP arguments each followed by the filename -(and each FILE is allowed to have a CONTENTTYPE). - -Another possibility to send single or multiple files in one section is to use -\fBCURLFORM_ARRAY\fP that gets a struct curl_forms array pointer as its -value. Each structure element has a CURLformoption and a char pointer. For the -options only \fBCURLFORM_FILE\fP, \fBCURLFORM_CONTENTTYPE\fP, and -\fBCURLFORM_END\fP (that is used to determine the end of the array and thus -must be the option of the last and no other element of the curl_forms array) -are allowed. The effect of this parameter is the same as giving multiple -\fBCURLFORM_FILE\fP options possibly with \fBCURLFORM_CONTENTTYPE\fP after or -before each \fBCURLFORM_FILE\fP option. - -Should you need to specify extra headers for the form POST section, use -\fBCURLFORM_CONTENTHEADER\fP. This takes a curl_slist prepared in the usual way -using \fBcurl_slist_append\fP and appends the list of headers to those Curl -automatically generates for \fBCURLFORM_CONTENTTYPE\fP and the content -disposition. The list must exist while the POST occurs, if you free it before -the post completes you may experience problems. - -The last argument in such an array must always be \fBCURLFORM_END\fP. - -The pointers \fI*firstitem\fP and \fI*lastitem\fP should both be pointing to -NULL in the first call to this function. All list-data will be allocated by -the function itself. You must call \fIcurl_formfree\fP after the form post has -been done to free the resources again. - -This function will copy all input data except the data pointed to by the -arguments after \fBCURLFORM_PTRNAME\fP and \fBCURLFORM_PTRCONTENTS\fP and keep -its own version of it allocated until you call \fIcurl_formfree\fP. When -you've passed the pointer to \fIcurl_easy_setopt\fP, you must not free the -list until after you've called \fIcurl_easy_cleanup\fP for the curl handle. If -you provide a pointer as an arguments after \fBCURLFORM_PTRNAME\fP or -\fBCURLFORM_PTRCONTENTS\fP you must ensure that the pointer stays valid until -you call \fIcurl_form_free\fP and \fIcurl_easy_cleanup\fP. - -See example below. -.SH RETURN VALUE -Returns non-zero if an error occurs. -.SH EXAMPLE -.nf - - struct HttpPost* post = NULL; - struct HttpPost* last = NULL; - char namebuffer[] = "name buffer"; - long namelength = strlen(namebuffer); - char buffer[] = "test buffer"; - char htmlbuffer[] = "<HTML>test buffer</HTML>"; - long htmlbufferlength = strlen(htmlbuffer); - struct curl_forms forms[3]; - char file1[] = "my-face.jpg"; - char file2[] = "your-face.jpg"; - /* add null character into htmlbuffer, to demonstrate that - transfers of buffers containing null characters actually work - */ - htmlbuffer[8] = '\\0'; - - /* Add simple name/content section */ - curl_formadd(&post, &last, CURLFORM_COPYNAME, "name", - CURLFORM_COPYCONTENTS, "content", CURLFORM_END); - - /* Add simple name/content/contenttype section */ - curl_formadd(&post, &last, CURLFORM_COPYNAME, "htmlcode", - CURLFORM_COPYCONTENTS, "<HTML></HTML>", - CURLFORM_CONTENTTYPE, "text/html", CURLFORM_END); - - /* Add name/ptrcontent section */ - curl_formadd(&post, &last, CURLFORM_COPYNAME, "name_for_ptrcontent", - CURLFORM_PTRCONTENTS, buffer, CURLFORM_END); - - /* Add ptrname/ptrcontent section */ - curl_formadd(&post, &last, CURLFORM_PTRNAME, namebuffer, - CURLFORM_PTRCONTENTS, buffer, CURLFORM_NAMELENGTH, - namelength, CURLFORM_END); - - /* Add name/ptrcontent/contenttype section */ - curl_formadd(&post, &last, CURLFORM_COPYNAME, "html_code_with_hole", - CURLFORM_PTRCONTENTS, htmlbuffer, - CURLFORM_CONTENTSLENGTH, htmlbufferlength, - CURLFORM_CONTENTTYPE, "text/html", CURLFORM_END); - - /* Add simple file section */ - curl_formadd(&post, &last, CURLFORM_COPYNAME, "picture", - CURLFORM_FILE, "my-face.jpg", CURLFORM_END); - - /* Add file/contenttype section */ - curl_formadd(&post, &last, CURLFORM_COPYNAME, "picture", - CURLFORM_FILE, "my-face.jpg", - CURLFORM_CONTENTTYPE, "image/jpeg", CURLFORM_END); - - /* Add two file section */ - curl_formadd(&post, &last, CURLFORM_COPYNAME, "pictures", - CURLFORM_FILE, "my-face.jpg", - CURLFORM_FILE, "your-face.jpg", CURLFORM_END); - - /* Add two file section using CURLFORM_ARRAY */ - forms[0].option = CURLFORM_FILE; - forms[0].value = file1; - forms[1].option = CURLFORM_FILE; - forms[1].value = file2; - forms[2].option = CURLFORM_END; - - /* no option needed for the end marker */ - curl_formadd(&post, &last, CURLFORM_COPYNAME, "pictures", - CURLFORM_ARRAY, forms, CURLFORM_END); - /* Add the content of a file as a normal post text value */ - curl_formadd(&post, &last, CURLFORM_COPYNAME, "filecontent", - CURLFORM_FILECONTENT, ".bashrc", CURLFORM_END); - /* Set the form info */ - curl_easy_setopt(curl, CURLOPT_HTTPPOST, post); - -.SH "SEE ALSO" -.BR curl_easy_setopt "(3), " -.BR curl_formparse "(3) [deprecated], " -.BR curl_formfree "(3)" -.SH BUGS -Surely there are some, you tell me! - diff --git a/Build/source/libs/curl/docs/libcurl/curl_formadd.html b/Build/source/libs/curl/docs/libcurl/curl_formadd.html deleted file mode 100644 index 2264480aa0b..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_formadd.html +++ /dev/null @@ -1,234 +0,0 @@ -<HTML> -<BODY> -<PRE> -<!-- Manpage converted by man2html 3.0.1 --> - -</PRE> -<H2>NAME</H2><PRE> - curl_formadd - add a section to a multipart/formdata HTTP - POST - - -</PRE> -<H2>SYNOPSIS</H2><PRE> - <B>#include</B> <B><curl/curl.h></B> - - <B>int</B> <B>curl_formadd(struct</B> <B>HttpPost</B> <B>**</B> <I>firstitem,</I> <B>struct</B> <B>Http</B> - <B>Post</B> <B>**</B> <I>lastitem,</I> <B>...);</B> - - -</PRE> -<H2>DESCRIPTION</H2><PRE> - curl_formadd() is used to append sections when building a - multipart/formdata HTTP POST (sometimes refered to as - rfc1867-style posts). Append one section at a time until - you've added all the sections you want included and then you - pass the <I>firstitem</I> pointer as parameter to <B>CURLOPT_HTTPPOST</B>. - <I>lastitem</I> is set after each call and on repeated invokes it - should be left as set to allow repeated invokes to find the - end of the list faster. - - After the <I>lastitem</I> pointer follow the real arguments. (If - the following description confuses you, jump directly to the - examples): - - <B>CURLFORM_COPYNAME</B> or <B>CURLFORM_PTRNAME</B> followed by a string - is used for the name of the section. Optionally one may use - <B>CURLFORM_NAMELENGTH</B> to specify the length of the name - (allowing null characters within the name). All options that - use the word COPY in their names copy the given contents, - while the ones with PTR in their names simply points to the - (static) data you must make sure remain until curl no longer - needs it. - - The four options for providing values are: <B>CURLFORM_COPYCON</B> - <B>TENTS</B>, <B>CURLFORM_PTRCONTENTS</B>, <B>CURLFORM_FILE</B>, or <B>CURL</B> - <B>FORM_FILECONTENT</B> followed by a char or void pointer (allowed - for PTRCONTENTS). - - <B>CURLFORM_FILECONTENT</B> does a normal post like <B>CURLFORM_COPY</B> - <B>CONTENTS</B> but the actual value is read from the filename - given as a string. - - Other arguments may be <B>CURLFORM_CONTENTTYPE</B> if the user - wishes to specify one (for FILE if no type is given the - library tries to provide the correct one; for CONTENTS no - Content-Type is sent in this case). - - For <B>CURLFORM_PTRCONTENTS</B> or <B>CURLFORM_COPYNAME</B> the user may - also add <B>CURLFORM_CONTENTSLENGTH</B> followed by the length as a - long (if not given the library will use strlen to determine - the length). - - For <B>CURLFORM_FILE</B> the user may send multiple files in one - section by providing multiple <B>CURLFORM_FILE</B> arguments each - followed by the filename (and each FILE is allowed to have a - CONTENTTYPE). - - Another possibility to send single or multiple files in one - section is to use <B>CURLFORM_ARRAY</B> that gets a struct - curl_forms array pointer as its value. Each structure ele - ment has a CURLformoption and a char pointer. For the - options only <B>CURLFORM_FILE</B>, <B>CURLFORM_CONTENTTYPE</B>, and <B>CURL</B> - <B>FORM_END</B> (that is used to determine the end of the array and - thus must be the option of the last and no other element of - the curl_forms array) are allowed. The effect of this param - eter is the same as giving multiple <B>CURLFORM_FILE</B> options - possibly with <B>CURLFORM_CONTENTTYPE</B> after or before each - <B>CURLFORM_FILE</B> option. - - Should you need to specify extra headers for the form POST - section, use <B>CURLFORM_CONTENTHEADER</B>. This takes a curl_slist - prepared in the usual way using <B>curl_slist_append</B> and - appends the list of headers to those Curl automatically gen - erates for <B>CURLFORM_CONTENTTYPE</B> and the content disposition. - The list must exist while the POST occurs, if you free it - before the post completes you may experience problems. - - The last argument in such an array must always be <B>CURL</B> - <B>FORM_END</B>. - - The pointers <I>*firstitem</I> and <I>*lastitem</I> should both be point - ing to NULL in the first call to this function. All list- - data will be allocated by the function itself. You must call - <I>curl</I><B>_</B><I>formfree</I> after the form post has been done to free the - resources again. - - This function will copy all input data except the data - pointed to by the arguments after <B>CURLFORM_PTRNAME</B> and <B>CURL</B> - <B>FORM_PTRCONTENTS</B> and keep its own version of it allocated - until you call <I>curl</I><B>_</B><I>formfree</I>. When you've passed the pointer - to <I>curl</I><B>_</B><I>easy</I><B>_</B><I>setopt</I>, you must not free the list until after - you've called <I>curl</I><B>_</B><I>easy</I><B>_</B><I>cleanup</I> for the curl handle. If you - provide a pointer as an arguments after <B>CURLFORM_PTRNAME</B> or - <B>CURLFORM_PTRCONTENTS</B> you must ensure that the pointer stays - valid until you call <I>curl</I><B>_</B><I>form</I><B>_</B><I>free</I> and <I>curl</I><B>_</B><I>easy</I><B>_</B><I>cleanup</I>. - - See example below. - - -</PRE> -<H2>RETURN VALUE</H2><PRE> - Returns non-zero if an error occurs. - - -</PRE> -<H2>EXAMPLE</H2><PRE> - struct HttpPost* post = NULL; - struct HttpPost* last = NULL; - char namebuffer[] = "name buffer"; - long namelength = strlen(namebuffer); - char buffer[] = "test buffer"; - char htmlbuffer[] = "<HTML>test buffer</HTML>"; - long htmlbufferlength = strlen(htmlbuffer); - struct curl_forms forms[3]; - char file1[] = "my-face.jpg"; - char file2[] = "your-face.jpg"; - /* add null character into htmlbuffer, to demonstrate that - transfers of buffers containing null characters actually work - */ - htmlbuffer[8] = '\0'; - - /* Add simple name/content section */ - curl_formadd(&post, &last, CURLFORM_COPYNAME, "name", - CURLFORM_COPYCONTENTS, "content", CURLFORM_END); - - /* Add simple name/content/contenttype section */ - curl_formadd(&post, &last, CURLFORM_COPYNAME, "htmlcode", - CURLFORM_COPYCONTENTS, "<HTML></HTML>", - CURLFORM_CONTENTTYPE, "text/html", CURLFORM_END); - - /* Add name/ptrcontent section */ - curl_formadd(&post, &last, CURLFORM_COPYNAME, "name_for_ptrcontent", - CURLFORM_PTRCONTENTS, buffer, CURLFORM_END); - - /* Add ptrname/ptrcontent section */ - curl_formadd(&post, &last, CURLFORM_PTRNAME, namebuffer, - CURLFORM_PTRCONTENTS, buffer, CURLFORM_NAMELENGTH, - namelength, CURLFORM_END); - - /* Add name/ptrcontent/contenttype section */ - curl_formadd(&post, &last, CURLFORM_COPYNAME, "html_code_with_hole", - CURLFORM_PTRCONTENTS, htmlbuffer, - CURLFORM_CONTENTSLENGTH, htmlbufferlength, - CURLFORM_CONTENTTYPE, "text/html", CURLFORM_END); - - /* Add simple file section */ - curl_formadd(&post, &last, CURLFORM_COPYNAME, "picture", - CURLFORM_FILE, "my-face.jpg", CURLFORM_END); - - /* Add file/contenttype section */ - curl_formadd(&post, &last, CURLFORM_COPYNAME, "picture", - CURLFORM_FILE, "my-face.jpg", - CURLFORM_CONTENTTYPE, "image/jpeg", CURLFORM_END); - - /* Add two file section */ - curl_formadd(&post, &last, CURLFORM_COPYNAME, "pictures", - CURLFORM_FILE, "my-face.jpg", - CURLFORM_FILE, "your-face.jpg", CURLFORM_END); - - /* Add two file section using CURLFORM_ARRAY */ - forms[0].option = CURLFORM_FILE; - forms[0].value = file1; - forms[1].option = CURLFORM_FILE; - forms[1].value = file2; - forms[2].option = CURLFORM_END; - - /* no option needed for the end marker */ - curl_formadd(&post, &last, CURLFORM_COPYNAME, "pictures", - CURLFORM_ARRAY, forms, CURLFORM_END); - /* Add the content of a file as a normal post text value */ - curl_formadd(&post, &last, CURLFORM_COPYNAME, "filecontent", - CURLFORM_FILECONTENT, ".bashrc", CURLFORM_END); - /* Set the form info */ - curl_easy_setopt(curl, CURLOPT_HTTPPOST, post); - - - -</PRE> -<H2>SEE ALSO</H2><PRE> - <B>curl_easy_setopt(3)</B>, <B>curl_formparse(3)</B> [deprecated], - <B>curl_formfree(3)</B> - - -</PRE> -<H2>BUGS</H2><PRE> - Surely there are some, you tell me! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</PRE> -<HR> -<ADDRESS> -Man(1) output converted with -<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> -</ADDRESS> -</BODY> -</HTML> diff --git a/Build/source/libs/curl/docs/libcurl/curl_formfree.3 b/Build/source/libs/curl/docs/libcurl/curl_formfree.3 deleted file mode 100644 index 31a55eceb6a..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_formfree.3 +++ /dev/null @@ -1,27 +0,0 @@ -.\" You can view this file with: -.\" nroff -man [file] -.\" $Id: curl_formfree.3,v 1.1 2002/03/04 10:09:49 bagder Exp $ -.\" -.TH curl_formfree 3 "6 April 2001" "libcurl 7.7.1" "libcurl Manual" -.SH NAME -curl_formfree - free a previously build multipart/formdata HTTP POST chain -.SH SYNOPSIS -.B #include <curl/curl.h> -.sp -.BI "void curl_formfree(struct HttpPost *" form); -.ad -.SH DESCRIPTION -curl_formfree() is used to clean up data previously built/appended with -curl_formadd()/curl_formparse(). This must be called when the data has -been used, which typically means after the curl_easy_perform() has -been called. -.SH RETURN VALUE -None -.SH "SEE ALSO" -.BR curl_formparse "(3) [deprecated], " -.BR curl_formadd "(3) " -.SH BUGS -libcurl 7.7.1 and earlier versions does not allow a NULL pointer to be used as -argument. - - diff --git a/Build/source/libs/curl/docs/libcurl/curl_formfree.html b/Build/source/libs/curl/docs/libcurl/curl_formfree.html deleted file mode 100644 index bd7233016f5..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_formfree.html +++ /dev/null @@ -1,76 +0,0 @@ -<HTML> -<BODY> -<PRE> -<!-- Manpage converted by man2html 3.0.1 --> - -</PRE> -<H2>NAME</H2><PRE> - curl_formfree - free a previously build multipart/formdata - HTTP POST chain - - -</PRE> -<H2>SYNOPSIS</H2><PRE> - <B>#include</B> <B><curl/curl.h></B> - - <B>void</B> <B>curl_formfree(struct</B> <B>HttpPost</B> <B>*</B><I>form);</I> - - -</PRE> -<H2>DESCRIPTION</H2><PRE> - curl_formfree() is used to clean up data previously - built/appended with curl_formadd()/curl_formparse(). This - must be called when the data has been used, which typically - means after the curl_easy_perform() has been called. - - -</PRE> -<H2>RETURN VALUE</H2><PRE> - None - - -</PRE> -<H2>SEE ALSO</H2><PRE> - <B>curl_formparse(3)</B> [deprecated], <B>curl_formadd(3)</B> - - -</PRE> -<H2>BUGS</H2><PRE> - libcurl 7.7.1 and earlier versions does not allow a NULL - pointer to be used as argument. - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</PRE> -<HR> -<ADDRESS> -Man(1) output converted with -<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> -</ADDRESS> -</BODY> -</HTML> diff --git a/Build/source/libs/curl/docs/libcurl/curl_formparse.3 b/Build/source/libs/curl/docs/libcurl/curl_formparse.3 deleted file mode 100644 index 8c169c8bd03..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_formparse.3 +++ /dev/null @@ -1,18 +0,0 @@ -.\" You can view this file with: -.\" nroff -man [file] -.\" $Id: curl_formparse.3,v 1.1 2002/03/04 10:09:49 bagder Exp $ -.\" -.TH curl_formparse 3 "17 Dec 2001" "libcurl 7.9.2" "libcurl Manual" -.SH NAME -curl_formparse - add a section to a multipart/formdata HTTP POST: -deprecated (use curl_formadd instead) -.SH SYNOPSIS -.B #include <curl/curl.h> -.sp -.BI "CURLcode curl_formparse(char * " string, " struct HttpPost ** " firstitem, -.BI "struct HttpPost ** " lastitem ");" -.ad -.SH DESCRIPTION -This has been removed deliberately. The \fBcurl_formadd\fP has been introduced -to replace this function. Do not use this. Convert to the new function -now. curl_formparse() will be removed from a future version of libcurl. diff --git a/Build/source/libs/curl/docs/libcurl/curl_formparse.html b/Build/source/libs/curl/docs/libcurl/curl_formparse.html deleted file mode 100644 index 1370b8b3b4e..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_formparse.html +++ /dev/null @@ -1,70 +0,0 @@ -<HTML> -<BODY> -<PRE> -<!-- Manpage converted by man2html 3.0.1 --> - -</PRE> -<H2>NAME</H2><PRE> - curl_formparse - add a section to a multipart/formdata HTTP - POST: deprecated (use curl_formadd instead) - - -</PRE> -<H2>SYNOPSIS</H2><PRE> - <B>#include</B> <B><curl/curl.h></B> - - <B>CURLcode</B> <B>curl_formparse(char</B> <B>*</B> <I>string,</I> <B>struct</B> <B>HttpPost</B> <B>**</B> - <I>firstitem,</I> <B>struct</B> <B>HttpPost</B> <B>**</B> <I>lastitem</I><B>);</B> - - -</PRE> -<H2>DESCRIPTION</H2><PRE> - This has been removed deliberately. The <B>curl_formadd</B> has - been introduced to replace this function. Do not use this. - Convert to the new function now. curl_formparse() will be - removed from a future version of libcurl. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</PRE> -<HR> -<ADDRESS> -Man(1) output converted with -<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> -</ADDRESS> -</BODY> -</HTML> diff --git a/Build/source/libs/curl/docs/libcurl/curl_getdate.3 b/Build/source/libs/curl/docs/libcurl/curl_getdate.3 deleted file mode 100644 index 684250f756d..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_getdate.3 +++ /dev/null @@ -1,80 +0,0 @@ -.\" You can view this file with: -.\" nroff -man [file] -.\" $Id: curl_getdate.3,v 1.1 2002/03/04 10:09:49 bagder Exp $ -.\" -.TH curl_getdate 3 "5 March 2001" "libcurl 7.0" "libcurl Manual" -.SH NAME -curl_getdate - Convert an date in a ASCII string to number of seconds since -January 1, 1970 -.SH SYNOPSIS -.B #include <curl/curl.h> -.sp -.BI "time_t curl_getdate(char *" datestring ", time_t *"now" ); -.ad -.SH DESCRIPTION -This function returns the number of seconds since January 1st 1970, for the -date and time that the -.I datestring -parameter specifies. The -.I now -parameter is there and should hold the current time to allow the datestring to -specify relative dates/times. Read further in the date string parser section -below. -.SH PARSING DATES AND TIMES -A "date" is a string, possibly empty, containing many items separated by -whitespace. The whitespace may be omitted when no ambiguity arises. The -empty string means the beginning of today (i.e., midnight). Order of the -items is immaterial. A date string may contain many flavors of items: -.TP 0.8i -.B calendar date items -This can be specified in a number of different ways. Including 1970-09-17, 70-9-17, 70-09-17, 9/17/72, 24 September 1972, 24 Sept 72, 24 Sep 72, Sep 24, 1972, 24-sep-72, 24sep72. -The year can also be omitted, for example: 9/17 or "sep 17". -.TP -.B time of the day items -This string specifies the time on a given day. Syntax supported includes: -18:19:0, 18:19, 6:19pm, 18:19-0500 (for specifying the time zone as well). -.TP -.B time zone items -Specifies international time zone. There are a few acronyms supported, but in -general you should instead use the specific realtive time compared to -UTC. Supported formats include: -1200, MST, +0100. -.TP -.B day of the week items -Specifies a day of the week. If this is mentioned alone it means that day of -the week in the future. - -Days of the week may be spelled out in full: `Sunday', `Monday', etc or they -may be abbreviated to their first three letters, optionally followed by a -period. The special abbreviations `Tues' for `Tuesday', `Wednes' for -`Wednesday' and `Thur' or `Thurs' for `Thursday' are also allowed. - -A number may precede a day of the week item to move forward supplementary -weeks. It is best used in expression like `third monday'. In this context, -`last DAY' or `next DAY' is also acceptable; they move one week before or -after the day that DAY by itself would represent. -.TP -.B relative items -A relative item adjusts a date (or the current date if none) forward or -backward. Example syntax includes: "1 year", "1 year ago", "2 days", "4 -weeks". - -The string `tomorrow' is worth one day in the future (equivalent to `day'), -the string `yesterday' is worth one day in the past (equivalent to `day ago'). -.TP -.B pure numbers -If the decimal number is of the form YYYYMMDD and no other calendar date item -appears before it in the date string, then YYYY is read as the year, MM as the -month number and DD as the day of the month, for the specified calendar date. -.PP -.SH RETURN VALUE -This function returns zero when it fails to parse the date string. Otherwise -it returns the number of seconds as described. -.SH AUTHORS -Originally written by Steven M. Bellovin <smb@research.att.com> while at the -University of North Carolina at Chapel Hill. Later tweaked by a couple of -people on Usenet. Completely overhauled by Rich $alz <rsalz@bbn.com> and Jim -Berets <jberets@bbn.com> in August, 1990. -.SH "SEE ALSO" -.BR -.SH BUGS -Surely there are some, you tell me! diff --git a/Build/source/libs/curl/docs/libcurl/curl_getdate.html b/Build/source/libs/curl/docs/libcurl/curl_getdate.html deleted file mode 100644 index c0519e90b8b..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_getdate.html +++ /dev/null @@ -1,132 +0,0 @@ -<HTML> -<BODY> -<PRE> -<!-- Manpage converted by man2html 3.0.1 --> - -</PRE> -<H2>NAME</H2><PRE> - curl_getdate - Convert an date in a ASCII string to number - of seconds since January 1, 1970 - - -</PRE> -<H2>SYNOPSIS</H2><PRE> - <B>#include</B> <B><curl/curl.h></B> - - <B>time_t</B> <B>curl_getdate(char</B> <B>*</B><I>datestring</I><B>,</B> <B>time_t</B> <B>*</B><I>now</I> <I>);</I> - - -</PRE> -<H2>DESCRIPTION</H2><PRE> - This function returns the number of seconds since January - 1st 1970, for the date and time that the <I>datestring</I> parame - ter specifies. The <I>now</I> parameter is there and should hold - the current time to allow the datestring to specify relative - dates/times. Read further in the date string parser section - below. - - -</PRE> -<H2>PARSING DATES AND TIMES</H2><PRE> - A "date" is a string, possibly empty, containing many items - separated by whitespace. The whitespace may be omitted when - no ambiguity arises. The empty string means the beginning - of today (i.e., midnight). Order of the items is immate - rial. A date string may contain many flavors of items: - - <B>calendar</B> <B>date</B> <B>items</B> - This can be specified in a number of different ways. - Including 1970-09-17, 70-9-17, 70-09-17, 9/17/72, 24 - September 1972, 24 Sept 72, 24 Sep 72, Sep 24, 1972, - 24-sep-72, 24sep72. The year can also be omitted, - for example: 9/17 or "sep 17". - - <B>time</B> <B>of</B> <B>the</B> <B>day</B> <B>items</B> - This string specifies the time on a given day. Syn - tax supported includes: 18:19:0, 18:19, 6:19pm, - 18:19-0500 (for specifying the time zone as well). - - <B>time</B> <B>zone</B> <B>items</B> - Specifies international time zone. There are a few - acronyms supported, but in general you should - instead use the specific realtive time compared to - UTC. Supported formats include: -1200, MST, +0100. - - <B>day</B> <B>of</B> <B>the</B> <B>week</B> <B>items</B> - Specifies a day of the week. If this is mentioned - alone it means that day of the week in the future. - - Days of the week may be spelled out in full: `Sun - day', `Monday', etc or they may be abbreviated to - their first three letters, optionally followed by a - period. The special abbreviations `Tues' for `Tues - day', `Wednes' for `Wednesday' and `Thur' or `Thurs' - for `Thursday' are also allowed. - A number may precede a day of the week item to move - forward supplementary weeks. It is best used in - expression like `third monday'. In this context, - `last DAY' or `next DAY' is also acceptable; they - move one week before or after the day that DAY by - itself would represent. - - <B>relative</B> <B>items</B> - A relative item adjusts a date (or the current date - if none) forward or backward. Example syntax - includes: "1 year", "1 year ago", "2 days", "4 - weeks". - - The string `tomorrow' is worth one day in the future - (equivalent to `day'), the string `yesterday' is - worth one day in the past (equivalent to `day ago'). - - <B>pure</B> <B>numbers</B> - If the decimal number is of the form YYYYMMDD and no - other calendar date item appears before it in the - date string, then YYYY is read as the year, MM as - the month number and DD as the day of the month, for - the specified calendar date. - - -</PRE> -<H2>RETURN VALUE</H2><PRE> - This function returns zero when it fails to parse the date - string. Otherwise it returns the number of seconds as - described. - - -</PRE> -<H2>AUTHORS</H2><PRE> - Originally written by Steven M. Bellovin - <smb@research.att.com> while at the University of North Car - olina at Chapel Hill. Later tweaked by a couple of people - on Usenet. Completely overhauled by Rich $alz - <rsalz@bbn.com> and Jim Berets <jberets@bbn.com> in August, - 1990. - - -</PRE> -<H2>SEE ALSO</H2><PRE> - - - -</PRE> -<H2>BUGS</H2><PRE> - Surely there are some, you tell me! - - - - - - - - - - -</PRE> -<HR> -<ADDRESS> -Man(1) output converted with -<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> -</ADDRESS> -</BODY> -</HTML> diff --git a/Build/source/libs/curl/docs/libcurl/curl_getenv.3 b/Build/source/libs/curl/docs/libcurl/curl_getenv.3 deleted file mode 100644 index 7f0082bf661..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_getenv.3 +++ /dev/null @@ -1,32 +0,0 @@ -.\" You can view this file with: -.\" nroff -man [file] -.\" $Id: curl_getenv.3,v 1.1 2002/03/04 10:09:49 bagder Exp $ -.\" -.TH curl_getenv 3 "15 August 2001" "libcurl 7.8.1" "libcurl Manual" -.SH NAME -curl_getenv - return value for environment name -.SH SYNOPSIS -.B #include <curl/curl.h> -.sp -.BI "char *curl_getenv(const char *" name "); -.ad -.SH DESCRIPTION -curl_getenv() is a portable wrapper for the getenv() function, meant to -emulate its behaviour and provide an identical interface for all operating -systems libcurl builds on (including win32). -.SH RETURN VALUE -If successful, curl_getenv() returns a pointer to the value of the specified -environment. The memory it refers to is malloc()ed why the application must -free() this when the data has completed to serve its purpose. When -.I curl_getenv() -fails to find the specified name, it returns a null pointer. -.SH NOTE -Under unix operating systems, there isn't any point in returning an allocated -memory, although other systems won't work properly if this isn't done. The -unix implementation thus have to suffer slightly from the drawbacks of other -systems. -.SH "SEE ALSO" -.BR getenv "(3C), " -.SH BUGS -Surely there are some, you tell me! - diff --git a/Build/source/libs/curl/docs/libcurl/curl_getenv.html b/Build/source/libs/curl/docs/libcurl/curl_getenv.html deleted file mode 100644 index ceedd6f78e8..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_getenv.html +++ /dev/null @@ -1,78 +0,0 @@ -<HTML> -<BODY> -<PRE> -<!-- Manpage converted by man2html 3.0.1 --> - -</PRE> -<H2>NAME</H2><PRE> - curl_getenv - return value for environment name - - -</PRE> -<H2>SYNOPSIS</H2><PRE> - <B>#include</B> <B><curl/curl.h></B> - - <B>char</B> <B>*curl_getenv(const</B> <B>char</B> <B>*</B><I>name</I><B>);</B> - - -</PRE> -<H2>DESCRIPTION</H2><PRE> - curl_getenv() is a portable wrapper for the getenv() func - tion, meant to emulate its behaviour and provide an identi - cal interface for all operating systems libcurl builds on - (including win32). - - -</PRE> -<H2>RETURN VALUE</H2><PRE> - If successful, curl_getenv() returns a pointer to the value - of the specified environment. The memory it refers to is - malloc()ed why the application must free() this when the - data has completed to serve its purpose. When <I>curl</I><B>_</B><I>getenv()</I> - fails to find the specified name, it returns a null pointer. - - -</PRE> -<H2>NOTE</H2><PRE> - Under unix operating systems, there isn't any point in - returning an allocated memory, although other systems won't - work properly if this isn't done. The unix implementation - thus have to suffer slightly from the drawbacks of other - systems. - - -</PRE> -<H2>SEE ALSO</H2><PRE> - <B>getenv(3C)</B>, - - -</PRE> -<H2>BUGS</H2><PRE> - Surely there are some, you tell me! - - - - - - - - - - - - - - - - - - - -</PRE> -<HR> -<ADDRESS> -Man(1) output converted with -<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> -</ADDRESS> -</BODY> -</HTML> diff --git a/Build/source/libs/curl/docs/libcurl/curl_global_cleanup.3 b/Build/source/libs/curl/docs/libcurl/curl_global_cleanup.3 deleted file mode 100644 index b18fbe47f26..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_global_cleanup.3 +++ /dev/null @@ -1,27 +0,0 @@ -.\" You can view this file with: -.\" nroff -man [file] -.\" $Id: curl_global_cleanup.3,v 1.1 2002/03/04 10:09:49 bagder Exp $ -.\" -.TH curl_global_cleanup 3 "28 May 2001" "libcurl 7.8" "libcurl Manual" -.SH NAME -curl_global_cleanup - Global libcurl cleanup -.SH SYNOPSIS -.B #include <curl/curl.h> -.sp -.BI "void curl_global_cleanup(void);" -.ad -.SH DESCRIPTION -curl_global_cleanup must be called once (no matter how many threads or libcurl -sessions that'll be used) by every application that uses libcurl, after all -uses of libcurl is complete. - -This is the opposite of \fIcurl_global_init\fP. - -Not calling this function may result in memory leaks. - -This function was added in libcurl 7.8. -.SH "SEE ALSO" -.BR curl_global_init "(3), " -.SH BUGS -None? - diff --git a/Build/source/libs/curl/docs/libcurl/curl_global_cleanup.html b/Build/source/libs/curl/docs/libcurl/curl_global_cleanup.html deleted file mode 100644 index fa8c06cfeec..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_global_cleanup.html +++ /dev/null @@ -1,74 +0,0 @@ -<HTML> -<BODY> -<PRE> -<!-- Manpage converted by man2html 3.0.1 --> - -</PRE> -<H2>NAME</H2><PRE> - curl_global_cleanup - Global libcurl cleanup - - -</PRE> -<H2>SYNOPSIS</H2><PRE> - <B>#include</B> <B><curl/curl.h></B> - - <B>void</B> <B>curl_global_cleanup(void);</B> - - -</PRE> -<H2>DESCRIPTION</H2><PRE> - curl_global_cleanup must be called once (no matter how many - threads or libcurl sessions that'll be used) by every appli - cation that uses libcurl, after all uses of libcurl is com - plete. - - This is the opposite of <I>curl</I><B>_</B><I>global</I><B>_</B><I>init</I>. - - Not calling this function may result in memory leaks. - - This function was added in libcurl 7.8. - - -</PRE> -<H2>SEE ALSO</H2><PRE> - <B>curl_global_init(3)</B>, - - -</PRE> -<H2>BUGS</H2><PRE> - None? - - - - - - - - - - - - - - - - - - - - - - - - - - - -</PRE> -<HR> -<ADDRESS> -Man(1) output converted with -<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> -</ADDRESS> -</BODY> -</HTML> diff --git a/Build/source/libs/curl/docs/libcurl/curl_global_init.3 b/Build/source/libs/curl/docs/libcurl/curl_global_init.3 deleted file mode 100644 index 280bb47d316..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_global_init.3 +++ /dev/null @@ -1,49 +0,0 @@ -.\" You can view this file with: -.\" nroff -man [file] -.\" $Id: curl_global_init.3,v 1.1 2002/03/04 10:09:49 bagder Exp $ -.\" -.TH curl_global_init 3 "13 Nov 2001" "libcurl 7.9.1" "libcurl Manual" -.SH NAME -curl_global_init - Global libcurl initialisation -.SH SYNOPSIS -.B #include <curl/curl.h> -.sp -.BI "CURLcode curl_global_init(long " flags ");" -.ad -.SH DESCRIPTION -This function should only be called once (no matter how many threads or -libcurl sessions that'll be used) by every application that uses libcurl. - -If this function hasn't been invoked when \fIcurl_easy_init\fP is called, it -will be done automatically by libcurl. - -The flags option is a bit pattern that tells libcurl exact what features to -init, as described below. Set the desired bits by ORing the values together. - -You must however \fBalways\fP use the \fIcurl_global_cleanup\fP function, as -that cannot be called automatically for you by libcurl. - -Calling this function more than once will cause unpredictable results. - -This function was added in libcurl 7.8. -.SH FLAGS -.TP 5 -.B CURL_GLOBAL_ALL -Initialize everything possible. This sets all known bits. -.TP -.B CURL_GLOBAL_SSL -Initialize SSL -.TP -.B CURL_GLOBAL_WIN32 -Initialize the Win32 socket libraries. (added in libcurl 7.8.1) -.TP -.B CURL_GLOBAL_NOTHING -Initialise nothing extra. This sets no bit. -.SH RETURN VALUE -If this function returns non-zero, something went wrong and you cannot use the -other curl functions. -.SH "SEE ALSO" -.BR curl_global_cleanup "(3), " -.SH BUGS -None. - diff --git a/Build/source/libs/curl/docs/libcurl/curl_global_init.html b/Build/source/libs/curl/docs/libcurl/curl_global_init.html deleted file mode 100644 index c1066eb3d07..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_global_init.html +++ /dev/null @@ -1,130 +0,0 @@ -<HTML> -<BODY> -<PRE> -<!-- Manpage converted by man2html 3.0.1 --> - -</PRE> -<H2>NAME</H2><PRE> - curl_global_init - Global libcurl initialisation - - -</PRE> -<H2>SYNOPSIS</H2><PRE> - <B>#include</B> <B><curl/curl.h></B> - - <B>CURLcode</B> <B>curl_global_init(long</B> <I>flags</I><B>);</B> - - -</PRE> -<H2>DESCRIPTION</H2><PRE> - This function should only be called once (no matter how many - threads or libcurl sessions that'll be used) by every appli - cation that uses libcurl. - - If this function hasn't been invoked when <I>curl</I><B>_</B><I>easy</I><B>_</B><I>init</I> is - called, it will be done automatically by libcurl. - - The flags option is a bit pattern that tells libcurl exact - what features to init, as described below. Set the desired - bits by ORing the values together. - - You must however <B>always</B> use the <I>curl</I><B>_</B><I>global</I><B>_</B><I>cleanup</I> func - tion, as that cannot be called automatically for you by - libcurl. - - Calling this function more than once will cause unpre - dictable results. - - This function was added in libcurl 7.8. - - -</PRE> -<H2>FLAGS</H2><PRE> - <B>CURL_GLOBAL_ALL</B> - Initialize everything possible. This sets all known - bits. - - <B>CURL_GLOBAL_SSL</B> - Initialize SSL - - <B>CURL_GLOBAL_WIN32</B> - Initialize the Win32 socket libraries. (added in - libcurl 7.8.1) - - <B>CURL_GLOBAL_NOTHING</B> - Initialise nothing extra. This sets no bit. - - -</PRE> -<H2>RETURN VALUE</H2><PRE> - If this function returns non-zero, something went wrong and - you cannot use the other curl functions. - - -</PRE> -<H2>SEE ALSO</H2><PRE> - <B>curl_global_cleanup(3)</B>, - - - -</PRE> -<H2>BUGS</H2><PRE> - None. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</PRE> -<HR> -<ADDRESS> -Man(1) output converted with -<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> -</ADDRESS> -</BODY> -</HTML> diff --git a/Build/source/libs/curl/docs/libcurl/curl_mprintf.3 b/Build/source/libs/curl/docs/libcurl/curl_mprintf.3 deleted file mode 100644 index 126fe2f78ea..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_mprintf.3 +++ /dev/null @@ -1,88 +0,0 @@ -.\" You can view this file with: -.\" nroff -man [file] -.\" $Id: curl_mprintf.3,v 1.1 2002/03/04 10:09:49 bagder Exp $ -.\" -.TH curl_printf 3 "20 April 2001" "libcurl 7.7.2" "libcurl Manual" -.SH NAME -curl_maprintf, curl_mfprintf, curl_mprintf, curl_msnprintf, curl_msprintf -curl_mvaprintf, curl_mvfprintf, curl_mvprintf, curl_mvsnprintf, -curl_mvsprintf - formatted output conversion -.SH SYNOPSIS -.B #include <curl/mprintf.h> -.sp -.BI "int curl_mprintf(const char *" format ", ...);" -.br -.BI "int curl_mfprintf(FILE *" fd ", const char *" format ", ...);" -.br -.BI "int curl_msprintf(char *" buffer ", const char *" format ", ...);" -.br -.BI "int curl_msnprintf(char *" buffer ", size_t " maxlength ", const char *" format ", ...);" -.br -.BI "int curl_mvprintf(const char *" format ", va_list " args ");" -.br -.BI "int curl_mvfprintf(FILE *" fd ", const char *" format ", va_list " args ");" -.br -.BI "int curl_mvsprintf(char *" buffer ", const char *" format ", va_list " args ");" -.br -.BI "int curl_mvsnprintf(char *" buffer ", size_t " maxlength ", const char *" format ", va_list " args ");" -.br -.BI "char *curl_maprintf(const char *" format ", ...);" -.br -.BI "char *curl_mvaprintf(const char *" format ", va_list " args ");" -.SH DESCRIPTION -These are all functions that produces output according to a format string and -given arguments. These are mostly clones of the well-known C-style functions -and there will be no detailed explanation of all available formatting rules -and usage here. - -See this table for notable exceptions. -.RS -.TP -.B curl_mprintf() -Normal printf() clone. -.TP -.B curl_mfprintf() -Normal fprinf() clone. -.TP -.B curl_msprintf() -Normal sprintf() clone. -.TP -.B curl_msnprintf() -snprintf() clone. Many systems don't have this. It is just like \fBsprintf\fP -but with an extra argument after the buffer that specifies the length of the -target buffer. -.TP -.B curl_mvprintf() -Normal vprintf() clone. -.TP -.B curl_mvfprintf() -Normal vfprintf() clone. -.TP -.B curl_mvsprintf() -Normal vsprintf() clone. -.TP -.B curl_mvsnprintf() -vsnprintf() clone. Many systems don't have this. It is just like -\fBvsprintf\fP but with an extra argument after the buffer that specifies the -length of the target buffer. -.TP -.B curl_maprintf() -Like printf() but returns the output string as a malloc()ed string. The -returned string must be free()ed by the receiver. -.TP -.B curl_mvaprintf() -Like curl_maprintf() but takes a va_list pointer argument instead of a -variable amount of arguments. -.RE - -To easily use all these cloned functions instead of the normal ones, #define -_MPRINTF_REPLACE before you include the <curl/mprintf.h> file. Then all the -normal names like printf, fprintf, sprintf etc will use the curl-functions -instead. -.SH RETURN VALUE -The \fBcurl_maprintf\fP and \fBcurl_mvaprintf\fP functions return a pointer to -a newly allocated string, or NULL it it failed. - -All other functions return the number of character they actually outputed. -.SH "SEE ALSO" -.BR printf "(3), " sprintf "(3), " fprintf "(3), " vprintf "(3) " diff --git a/Build/source/libs/curl/docs/libcurl/curl_mprintf.html b/Build/source/libs/curl/docs/libcurl/curl_mprintf.html deleted file mode 100644 index ce0ce1332a5..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_mprintf.html +++ /dev/null @@ -1,126 +0,0 @@ -<HTML> -<BODY> -<PRE> -<!-- Manpage converted by man2html 3.0.1 --> - -</PRE> -<H2>NAME</H2><PRE> - curl_maprintf, curl_mfprintf, curl_mprintf, curl_msnprintf, - curl_msprintf curl_mvaprintf, curl_mvfprintf, curl_mvprintf, - curl_mvsnprintf, curl_mvsprintf - formatted output conver - sion - - -</PRE> -<H2>SYNOPSIS</H2><PRE> - <B>#include</B> <B><curl/mprintf.h></B> - - <B>int</B> <B>curl_mprintf(const</B> <B>char</B> <B>*</B><I>format</I><B>,</B> <B>...);</B> - <B>int</B> <B>curl_mfprintf(FILE</B> <B>*</B><I>fd</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>format</I><B>,</B> <B>...);</B> - <B>int</B> <B>curl_msprintf(char</B> <B>*</B><I>buffer</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>format</I><B>,</B> <B>...);</B> - <B>int</B> <B>curl_msnprintf(char</B> <B>*</B><I>buffer</I><B>,</B> <B>size_t</B> <I>maxlength</I><B>,</B> <B>const</B> - <B>char</B> <B>*</B><I>format</I> - <B>int</B> <B>curl_mvprintf(const</B> <B>char</B> <B>*</B><I>format</I><B>,</B> <B>va_list</B> <I>args</I><B>);</B> - <B>int</B> <B>curl_mvfprintf(FILE</B> <B>*</B><I>fd</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>format</I><B>,</B> <B>va_list</B> - <I>args</I> - <B>int</B> <B>curl_mvsprintf(char</B> <B>*</B><I>buffer</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>format</I><B>,</B> <B>va_list</B> - <I>args</I> - <B>int</B> <B>curl_mvsnprintf(char</B> <B>*</B><I>buffer</I><B>,</B> <B>size_t</B> <I>maxlength</I><B>,</B> <B>const</B> - <B>char</B> <B>*</B><I>format</I> - <B>char</B> <B>*curl_maprintf(const</B> <B>char</B> <B>*</B><I>format</I><B>,</B> <B>...);</B> - <B>char</B> <B>*curl_mvaprintf(const</B> <B>char</B> <B>*</B><I>format</I><B>,</B> <B>va_list</B> <I>args</I><B>);</B> - - -</PRE> -<H2>DESCRIPTION</H2><PRE> - These are all functions that produces output according to a - format string and given arguments. These are mostly clones - of the well-known C-style functions and there will be no - detailed explanation of all available formatting rules and - usage here. - - See this table for notable exceptions. - - <B>curl_mprintf()</B> - Normal printf() clone. - - <B>curl_mfprintf()</B> - Normal fprinf() clone. - - <B>curl_msprintf()</B> - Normal sprintf() clone. - - <B>curl_msnprintf()</B> - snprintf() clone. Many systems don't have this. It - is just like <B>sprintf</B> but with an extra argument - after the buffer that specifies the length of the - target buffer. - - <B>curl_mvprintf()</B> - Normal vprintf() clone. - - <B>curl_mvfprintf()</B> - Normal vfprintf() clone. - - <B>curl_mvsprintf()</B> - Normal vsprintf() clone. - - <B>curl_mvsnprintf()</B> - vsnprintf() clone. Many systems don't have this. - It is just like <B>vsprintf</B> but with an extra argu - ment after the buffer that specifies the length of - the target buffer. - - <B>curl_maprintf()</B> - Like printf() but returns the output string as a - malloc()ed string. The returned string must be - free()ed by the receiver. - - <B>curl_mvaprintf()</B> - Like curl_maprintf() but takes a va_list pointer - argument instead of a variable amount of argu - ments. - - To easily use all these cloned functions instead of the nor - mal ones, #define _MPRINTF_REPLACE before you include the - <curl/mprintf.h> file. Then all the normal names like - printf, fprintf, sprintf etc will use the curl-functions - instead. - - -</PRE> -<H2>RETURN VALUE</H2><PRE> - The <B>curl_maprintf</B> and <B>curl_mvaprintf</B> functions return a - pointer to a newly allocated string, or NULL it it failed. - - All other functions return the number of character they - actually outputed. - - -</PRE> -<H2>SEE ALSO</H2><PRE> - <B>printf(3)</B>, <B>sprintf(3)</B>, <B>fprintf(3)</B>, - - - - - - - - - - - - - - - - -</PRE> -<HR> -<ADDRESS> -Man(1) output converted with -<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> -</ADDRESS> -</BODY> -</HTML> diff --git a/Build/source/libs/curl/docs/libcurl/curl_slist_append.3 b/Build/source/libs/curl/docs/libcurl/curl_slist_append.3 deleted file mode 100644 index 0db884b13a3..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_slist_append.3 +++ /dev/null @@ -1,29 +0,0 @@ -.\" You can view this file with: -.\" nroff -man [file] -.\" $Id: curl_slist_append.3,v 1.1 2002/03/04 10:09:49 bagder Exp $ -.\" -.TH curl_slist_append 3 "5 March 2001" "libcurl 7.0" "libcurl Manual" -.SH NAME -curl_slist_append - add a string to an slist -.SH SYNOPSIS -.B #include <curl/curl.h> -.sp -.BI "struct curl_slist *curl_slist_append(struct curl_slist *" list, -.BI "const char * "string ");" -.ad -.SH DESCRIPTION -curl_slist_append() appends a specified string to a linked list of -strings. The existing -.I list -should be passed as the first argument while the new list is returned from -this function. The specified -.I string -has been appended when this function returns. -.SH RETURN VALUE -A null pointer is returned if anything went wrong, otherwise the new list -pointer is returned. -.SH "SEE ALSO" -.BR curl_slist_free_all "(3), " -.SH BUGS -Surely there are some, you tell me! - diff --git a/Build/source/libs/curl/docs/libcurl/curl_slist_append.html b/Build/source/libs/curl/docs/libcurl/curl_slist_append.html deleted file mode 100644 index a837048d00c..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_slist_append.html +++ /dev/null @@ -1,76 +0,0 @@ -<HTML> -<BODY> -<PRE> -<!-- Manpage converted by man2html 3.0.1 --> - -</PRE> -<H2>NAME</H2><PRE> - curl_slist_append - add a string to an slist - - -</PRE> -<H2>SYNOPSIS</H2><PRE> - <B>#include</B> <B><curl/curl.h></B> - - <B>struct</B> <B>curl_slist</B> <B>*curl_slist_append(struct</B> <B>curl_slist</B> - <B>*</B><I>list,</I> <B>const</B> <B>char</B> <B>*</B> <I>string</I><B>);</B> - - -</PRE> -<H2>DESCRIPTION</H2><PRE> - curl_slist_append() appends a specified string to a linked - list of strings. The existing <I>list</I> should be passed as the - first argument while the new list is returned from this - function. The specified <I>string</I> has been appended when this - function returns. - - -</PRE> -<H2>RETURN VALUE</H2><PRE> - A null pointer is returned if anything went wrong, otherwise - the new list pointer is returned. - - -</PRE> -<H2>SEE ALSO</H2><PRE> - <B>curl_slist_free_all(3)</B>, - - -</PRE> -<H2>BUGS</H2><PRE> - Surely there are some, you tell me! - - - - - - - - - - - - - - - - - - - - - - - - - - - -</PRE> -<HR> -<ADDRESS> -Man(1) output converted with -<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> -</ADDRESS> -</BODY> -</HTML> diff --git a/Build/source/libs/curl/docs/libcurl/curl_slist_free_all.3 b/Build/source/libs/curl/docs/libcurl/curl_slist_free_all.3 deleted file mode 100644 index 184989d5468..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_slist_free_all.3 +++ /dev/null @@ -1,22 +0,0 @@ -.\" You can view this file with: -.\" nroff -man [file] -.\" $Id: curl_slist_free_all.3,v 1.1 2002/03/04 10:09:49 bagder Exp $ -.\" -.TH curl_slist_free_all 3 "5 March 2001" "libcurl 7.0" "libcurl Manual" -.SH NAME -curl_slist_free_all - free an entire curl_slist list -.SH SYNOPSIS -.B #include <curl/curl.h> -.sp -.BI "void curl_slist_free_all(struct curl_slist *" list); -.ad -.SH DESCRIPTION -curl_slist_free_all() removes all traces of a previously built curl_slist -linked list. -.SH RETURN VALUE -Nothing. -.SH "SEE ALSO" -.BR curl_slist_append "(3), " -.SH BUGS -Surely there are some, you tell me! - diff --git a/Build/source/libs/curl/docs/libcurl/curl_slist_free_all.html b/Build/source/libs/curl/docs/libcurl/curl_slist_free_all.html deleted file mode 100644 index c52a5af5628..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_slist_free_all.html +++ /dev/null @@ -1,76 +0,0 @@ -<HTML> -<BODY> -<PRE> -<!-- Manpage converted by man2html 3.0.1 --> - -</PRE> -<H2>NAME</H2><PRE> - curl_slist_free_all - free an entire curl_slist list - - -</PRE> -<H2>SYNOPSIS</H2><PRE> - <B>#include</B> <B><curl/curl.h></B> - - <B>void</B> <B>curl_slist_free_all(struct</B> <B>curl_slist</B> <B>*</B><I>list);</I> - - -</PRE> -<H2>DESCRIPTION</H2><PRE> - curl_slist_free_all() removes all traces of a previously - built curl_slist linked list. - - -</PRE> -<H2>RETURN VALUE</H2><PRE> - Nothing. - - -</PRE> -<H2>SEE ALSO</H2><PRE> - <B>curl_slist_append(3)</B>, - - -</PRE> -<H2>BUGS</H2><PRE> - Surely there are some, you tell me! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</PRE> -<HR> -<ADDRESS> -Man(1) output converted with -<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> -</ADDRESS> -</BODY> -</HTML> diff --git a/Build/source/libs/curl/docs/libcurl/curl_strequal.3 b/Build/source/libs/curl/docs/libcurl/curl_strequal.3 deleted file mode 100644 index 7da8d0d7429..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_strequal.3 +++ /dev/null @@ -1,30 +0,0 @@ -.\" You can view this file with: -.\" nroff -man [file] -.\" $Id: curl_strequal.3,v 1.1 2002/03/04 10:09:49 bagder Exp $ -.\" -.TH curl_strequal 3 "20 April 2001" "libcurl 7.7.2" "libcurl Manual" -.SH NAME -curl_strequal, curl_strnequal - case insensitive string comparisons -.SH SYNOPSIS -.B #include <curl/curl.h> -.sp -.BI "int curl_strequal(char *" str1 ", char *" str2 ");" -.sp -.BI "int curl_strenqual(char *" str1 ", char *" str2 ", size_t " len ");" -.SH DESCRIPTION -The -.B curl_strequal() -function compares the two strings \fIstr1\fP and \fIstr2\fP, ignoring the case -of the characters. It returns a non-zero (TRUE) integer if the strings are -identical. -.sp -The \fBcurl_strnequal()\fP function is similar, except it only compares the -first \fIlen\fP characters of \fIstr1\fP. -.sp -These functions are provided by libcurl to enable applications to compare -strings in a truly portable manner. There are no standard portable case -insensitive string comparison functions. These two works on all platforms. -.SH RETURN VALUE -Non-zero if the strings are identical. Zero if they're not. -.SH "SEE ALSO" -.BR strcmp "(3), " strcasecmp "(3)" diff --git a/Build/source/libs/curl/docs/libcurl/curl_strequal.html b/Build/source/libs/curl/docs/libcurl/curl_strequal.html deleted file mode 100644 index 38ba37ec30b..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_strequal.html +++ /dev/null @@ -1,74 +0,0 @@ -<HTML> -<BODY> -<PRE> -<!-- Manpage converted by man2html 3.0.1 --> - -</PRE> -<H2>NAME</H2><PRE> - curl_strequal, curl_strnequal - case insensitive string com - parisons - - -</PRE> -<H2>SYNOPSIS</H2><PRE> - <B>#include</B> <B><curl/curl.h></B> - - <B>int</B> <B>curl_strequal(char</B> <B>*</B><I>str1</I><B>,</B> <B>char</B> <B>*</B><I>str2</I><B>);</B> - - <B>int</B> <B>curl_strenqual(char</B> <B>*</B><I>str1</I><B>,</B> <B>char</B> <B>*</B><I>str2</I><B>,</B> <B>size_t</B> <I>len</I> - - -</PRE> -<H2>DESCRIPTION</H2><PRE> - The <B>curl_strequal()</B> function compares the two strings <I>str1</I> - and <I>str2</I>, ignoring the case of the characters. It returns a - non-zero (TRUE) integer if the strings are identical. - - The <B>curl_strnequal()</B> function is similar, except it only - compares the first <I>len</I> characters of <I>str1</I>. - - These functions are provided by libcurl to enable applica - tions to compare strings in a truly portable manner. There - are no standard portable case insensitive string comparison - functions. These two works on all platforms. - - -</PRE> -<H2>RETURN VALUE</H2><PRE> - Non-zero if the strings are identical. Zero if they're not. - - -</PRE> -<H2>SEE ALSO</H2><PRE> - <B>strcmp(3)</B>, <B>strcasecmp(3)</B> - - - - - - - - - - - - - - - - - - - - - - - -</PRE> -<HR> -<ADDRESS> -Man(1) output converted with -<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> -</ADDRESS> -</BODY> -</HTML> diff --git a/Build/source/libs/curl/docs/libcurl/curl_strnequal.3 b/Build/source/libs/curl/docs/libcurl/curl_strnequal.3 deleted file mode 100644 index c7d91cca86c..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_strnequal.3 +++ /dev/null @@ -1 +0,0 @@ -.so curl_strequal.3 diff --git a/Build/source/libs/curl/docs/libcurl/curl_strnequal.html b/Build/source/libs/curl/docs/libcurl/curl_strnequal.html deleted file mode 100644 index 38ba37ec30b..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_strnequal.html +++ /dev/null @@ -1,74 +0,0 @@ -<HTML> -<BODY> -<PRE> -<!-- Manpage converted by man2html 3.0.1 --> - -</PRE> -<H2>NAME</H2><PRE> - curl_strequal, curl_strnequal - case insensitive string com - parisons - - -</PRE> -<H2>SYNOPSIS</H2><PRE> - <B>#include</B> <B><curl/curl.h></B> - - <B>int</B> <B>curl_strequal(char</B> <B>*</B><I>str1</I><B>,</B> <B>char</B> <B>*</B><I>str2</I><B>);</B> - - <B>int</B> <B>curl_strenqual(char</B> <B>*</B><I>str1</I><B>,</B> <B>char</B> <B>*</B><I>str2</I><B>,</B> <B>size_t</B> <I>len</I> - - -</PRE> -<H2>DESCRIPTION</H2><PRE> - The <B>curl_strequal()</B> function compares the two strings <I>str1</I> - and <I>str2</I>, ignoring the case of the characters. It returns a - non-zero (TRUE) integer if the strings are identical. - - The <B>curl_strnequal()</B> function is similar, except it only - compares the first <I>len</I> characters of <I>str1</I>. - - These functions are provided by libcurl to enable applica - tions to compare strings in a truly portable manner. There - are no standard portable case insensitive string comparison - functions. These two works on all platforms. - - -</PRE> -<H2>RETURN VALUE</H2><PRE> - Non-zero if the strings are identical. Zero if they're not. - - -</PRE> -<H2>SEE ALSO</H2><PRE> - <B>strcmp(3)</B>, <B>strcasecmp(3)</B> - - - - - - - - - - - - - - - - - - - - - - - -</PRE> -<HR> -<ADDRESS> -Man(1) output converted with -<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> -</ADDRESS> -</BODY> -</HTML> diff --git a/Build/source/libs/curl/docs/libcurl/curl_unescape.3 b/Build/source/libs/curl/docs/libcurl/curl_unescape.3 deleted file mode 100644 index 385544b2a17..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_unescape.3 +++ /dev/null @@ -1,27 +0,0 @@ -.\" You can view this file with: -.\" nroff -man [file] -.\" $Id: curl_unescape.3,v 1.1 2002/03/04 10:09:49 bagder Exp $ -.\" -.TH curl_unescape 3 "22 March 2001" "libcurl 7.7" "libcurl Manual" -.SH NAME -curl_unescape - URL decodes the given string -.SH SYNOPSIS -.B #include <curl/curl.h> -.sp -.BI "char *curl_unescape( char *" url ", int "length " );" -.ad -.SH DESCRIPTION -This function will convert the given URL encoded input string to a "plain -string" and return that as a new allocated string. All input characters that -are URL encoded (%XX where XX is a two-digit hexadecimal number, or +) will be -converted to their plain text versions (up to a ? letter, no letters to the -right of a ? letter will be converted). - -If the 'length' argument is set to 0, curl_unescape() will use strlen() on the -input 'url' string to find out the size. - -You must free() the returned string when you're done with it. -.SH RETURN VALUE -A pointer to a zero terminated string or NULL if it failed. -.SH "SEE ALSO" -.I curl_escape(), RFC 2396 diff --git a/Build/source/libs/curl/docs/libcurl/curl_unescape.html b/Build/source/libs/curl/docs/libcurl/curl_unescape.html deleted file mode 100644 index 29b3dfa7ba8..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_unescape.html +++ /dev/null @@ -1,74 +0,0 @@ -<HTML> -<BODY> -<PRE> -<!-- Manpage converted by man2html 3.0.1 --> - -</PRE> -<H2>NAME</H2><PRE> - curl_unescape - URL decodes the given string - - -</PRE> -<H2>SYNOPSIS</H2><PRE> - <B>#include</B> <B><curl/curl.h></B> - - <B>char</B> <B>*curl_unescape(</B> <B>char</B> <B>*</B><I>url</I><B>,</B> <B>int</B> <I>length</I> <B>);</B> - - -</PRE> -<H2>DESCRIPTION</H2><PRE> - This function will convert the given URL encoded input - string to a "plain string" and return that as a new allo - cated string. All input characters that are URL encoded (%XX - where XX is a two-digit hexadecimal number, or +) will be - converted to their plain text versions (up to a ? letter, no - letters to the right of a ? letter will be converted). - - If the 'length' argument is set to 0, curl_unescape() will - use strlen() on the input 'url' string to find out the size. - - You must free() the returned string when you're done with - it. - - -</PRE> -<H2>RETURN VALUE</H2><PRE> - A pointer to a zero terminated string or NULL if it failed. - - -</PRE> -<H2>SEE ALSO</H2><PRE> - <I>curl</I><B>_</B><I>escape(),</I> <I>RFC</I> <I>2396</I> - - - - - - - - - - - - - - - - - - - - - - - - - -</PRE> -<HR> -<ADDRESS> -Man(1) output converted with -<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> -</ADDRESS> -</BODY> -</HTML> diff --git a/Build/source/libs/curl/docs/libcurl/curl_version.3 b/Build/source/libs/curl/docs/libcurl/curl_version.3 deleted file mode 100644 index f4e1b1961c5..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_version.3 +++ /dev/null @@ -1,27 +0,0 @@ -.\" You can view this file with: -.\" nroff -man [file] -.\" $Id: curl_version.3,v 1.1 2002/03/04 10:09:49 bagder Exp $ -.\" -.TH curl_version 3 "5 March 2001" "libcurl 7.0" "libcurl Manual" -.SH NAME -curl_version - returns the libcurl version string -.SH SYNOPSIS -.B #include <curl/curl.h> -.sp -.BI "char *curl_version( );" -.ad -.SH DESCRIPTION -Returns a human readable string with the version number of libcurl and some of -its important components (like OpenSSL version). - -Note: this returns the actual running lib's version, you might have installed -a newer lib's include files in your system which may turn your LIBCURL_VERSION -#define value to differ from this result. -.SH RETURN VALUE -A pointer to a zero terminated string. -.SH "SEE ALSO" -The -.I LIBCURL_VERSION -#define in <curl/curl.h> -.SH BUGS -Surely there are some, you tell me! diff --git a/Build/source/libs/curl/docs/libcurl/curl_version.html b/Build/source/libs/curl/docs/libcurl/curl_version.html deleted file mode 100644 index 3e50a1979d7..00000000000 --- a/Build/source/libs/curl/docs/libcurl/curl_version.html +++ /dev/null @@ -1,76 +0,0 @@ -<HTML> -<BODY> -<PRE> -<!-- Manpage converted by man2html 3.0.1 --> - -</PRE> -<H2>NAME</H2><PRE> - curl_version - returns the libcurl version string - - -</PRE> -<H2>SYNOPSIS</H2><PRE> - <B>#include</B> <B><curl/curl.h></B> - - <B>char</B> <B>*curl_version(</B> <B>);</B> - - -</PRE> -<H2>DESCRIPTION</H2><PRE> - Returns a human readable string with the version number of - libcurl and some of its important components (like OpenSSL - version). - - Note: this returns the actual running lib's version, you - might have installed a newer lib's include files in your - system which may turn your LIBCURL_VERSION #define value to - differ from this result. - - -</PRE> -<H2>RETURN VALUE</H2><PRE> - A pointer to a zero terminated string. - - -</PRE> -<H2>SEE ALSO</H2><PRE> - The <I>LIBCURL</I><B>_</B><I>VERSION</I> #define in <curl/curl.h> - - -</PRE> -<H2>BUGS</H2><PRE> - Surely there are some, you tell me! - - - - - - - - - - - - - - - - - - - - - - - - - - -</PRE> -<HR> -<ADDRESS> -Man(1) output converted with -<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> -</ADDRESS> -</BODY> -</HTML> diff --git a/Build/source/libs/curl/docs/libcurl/index.html b/Build/source/libs/curl/docs/libcurl/index.html deleted file mode 100644 index b3300013b75..00000000000 --- a/Build/source/libs/curl/docs/libcurl/index.html +++ /dev/null @@ -1,38 +0,0 @@ -HTML> -<HEAD> -<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> -<TITLE>Index to Curl documentation</TITLE> -</HEAD> - -<BODY> -<H1 ALIGN="CENTER">Index to Curl documentation</H1> - -<H2>Programs</H2> -<P><A HREF="curl-config.html">curl-config.html</A> -<P><A HREF="curl.html">curl.html</A> - -<H2>Library routines</H2> -<P><A HREF="libcurl.html">libcurl.html</A> -<P><A HREF="curl_easy_cleanup.html">curl_easy_cleanup.html</A> -<P><A HREF="curl_easy_duphandle.html">curl_easy_duphandle.html</A> -<P><A HREF="curl_easy_getinfo.html">curl_easy_getinfo.html</A> -<P><A HREF="curl_easy_init.html">curl_easy_init.html</A> -<P><A HREF="curl_easy_perform.html">curl_easy_perform.html</A> -<P><A HREF="curl_easy_setopt.html">curl_easy_setopt.html</A> -<P><A HREF="curl_escape.html">curl_escape.html</A> -<P><A HREF="curl_formadd.html">curl_formadd.html</A> -<P><A HREF="curl_formfree.html">curl_formfree.html</A> -<P><A HREF="curl_formparse.html">curl_formparse.html</A> -<P><A HREF="curl_getdate.html">curl_getdate.html</A> -<P><A HREF="curl_getenv.html">curl_getenv.html</A> -<P><A HREF="curl_global_cleanup.html">curl_global_cleanup.html</A> -<P><A HREF="curl_global_init.html">curl_global_init.html</A> -<P><A HREF="curl_mprintf.html">curl_mprintf.html</A> -<P><A HREF="curl_slist_append.html">curl_slist_append.html</A> -<P><A HREF="curl_slist_free_all.html">curl_slist_free_all.html</A> -<P><A HREF="curl_strequal.html">curl_strequal.html</A> -<P><A HREF="curl_strnequal.html">curl_strnequal.html</A> -<P><A HREF="curl_unescape.html">curl_unescape.html</A> -<P><A HREF="curl_version.html">curl_version.html</A> -</BODY> -</HTML> diff --git a/Build/source/libs/curl/docs/libcurl/libcurl.3 b/Build/source/libs/curl/docs/libcurl/libcurl.3 deleted file mode 100644 index 9dc18c1bcf5..00000000000 --- a/Build/source/libs/curl/docs/libcurl/libcurl.3 +++ /dev/null @@ -1,132 +0,0 @@ -.\" You can view this file with: -.\" nroff -man [file] -.\" $Id: libcurl.3,v 1.1 2002/03/04 10:09:49 bagder Exp $ -.\" -.TH libcurl 5 "14 August 2001" "libcurl 7.8.1" "libcurl overview" -.SH NAME -libcurl \- client-side URL transfers -.SH DESCRIPTION -This is an overview on how to use libcurl in your C programs. There are -specific man pages for each function mentioned in here. There's also the -libcurl-the-guide document for a complete tutorial to programming with -libcurl. - -libcurl can also be used directly from within your Java, PHP, Perl, Ruby or -Tcl programs as well, look elsewhere for documentation on this! - -All applications that use libcurl should call \fIcurl_global_init()\fP exactly -once before any libcurl function can be used. After all usage of libcurl is -complete, it \fBmust\fP call \fIcurl_global_cleanup()\fP. In between those two -calls, you can use libcurl as described below. - -When using libcurl you init your session and get a handle, which you use as -input to the following interface functions you use. Use \fIcurl_easy_init()\fP -to get the handle. - -You continue by setting all the options you want in the upcoming transfer, -most important among them is the URL itself (you can't transfer anything -without a specified URL as you may have figured out yourself). You might want -to set some callbacks as well that will be called from the library when data -is available etc. \fIcurl_easy_setopt()\fP is there for this. - -When all is setup, you tell libcurl to perform the transfer using -\fIcurl_easy_perform()\fP. It will then do the entire operation and won't -return until it is done (successfully or not). - -After the transfer has been made, you can set new options and make another -transfer, or if you're done, cleanup the session by calling -\fIcurl_easy_cleanup()\fP. If you want persistant connections, you don't -cleanup immediately, but instead run ahead and perform other transfers using -the same handle. See the chapter below for Persistant Connections. - -There is also a series of other helpful functions to use. They are: - -.RS -.TP 10 -.B curl_version() -displays the libcurl version -.TP -.B curl_getdate() -converts a date string to time_t -.TP -.B curl_getenv() -portable environment variable reader -.TP -.B curl_easy_getinfo() -get information about a performed transfer -.TP -.B curl_formadd() -helps building a HTTP form POST -.TP -.B curl_formfree() -free a list built with curl_formparse()/curl_formadd() -.TP -.B curl_slist_append() -builds a linked list -.TP -.B curl_slist_free_all() -frees a whole curl_slist -.TP -.B curl_mprintf() -portable printf() functions -.TP -.B curl_strequal() -portable case insensitive string comparisons -.RE - -.SH "LINKING WITH LIBCURL" -Starting with 7.7.2 (on unix-like machines), there's a tool named curl-config -that gets installed with the rest of the curl stuff when 'make install' is -performed. - -curl-config is added to make it easier for applications to link with libcurl -and developers to learn about libcurl and how to use it. - -Run 'curl-config --libs' to get the (additional) linker options you need to -link with the particular version of libcurl you've installed. - -For details, see the curl-config.1 man page. -.SH "LIBCURL SYMBOL NAMES" -All public functions in the libcurl interface are prefixed with 'curl_' (with -a lowercase c). You can find other functions in the library source code, but -other prefixes indicate the functions are private and may change without -further notice in the next release. - -Only use documented functions and functionality! -.SH "PORTABILITY" -libcurl works -.B exactly -the same, on any of the platforms it compiles and builds on. - -There's only one caution, and that is the win32 platform that may(*) require -you to init the winsock stuff before you use the libcurl functions. Details on -this are noted on the curl_easy_init() man page. - -(*) = it appears as if users of the cygwin environment get this done -automatically, also libcurl 7.8.1 and later can handle this for you. -.SH "THREADS" -Never ever call curl-functions simultaneously using the same handle from -several threads. libcurl is thread-safe and can be used in any number of -threads, but you must use separate curl handles if you want to use libcurl in -more than one thread simultaneously. -.SH "PERSISTANT CONNECTIONS" -With libcurl 7.7, persistant connections were added. Persistant connections -means that libcurl can re-use the same connection for several transfers, if -the conditions are right. - -libcurl will *always* attempt to use persistant connections. Whenever you use -curl_easy_perform(), libcurl will attempt to use an existing connection to do -the transfer, and if none exists it'll open a new one that will be subject -for re-use on a possible following call to curl_easy_perform(). - -To allow libcurl to take full advantage of persistant connections, you should -do as many of your file transfers as possible using the same curl -handle. When you call curl_easy_cleanup(), all the possibly open connections -held by libcurl will be closed and forgotten. - -Note that the options set with curl_easy_setopt() will be used in on every -repeat curl_easy_perform() call -.SH "COMPATIBILITY WITH OLDER LIBCURLS" -Repeated curl_easy_perform() calls on the same handle were not supported in -pre-7.7 versions, and caused confusion and undefined behaviour. - diff --git a/Build/source/libs/curl/docs/libcurl/libcurl.html b/Build/source/libs/curl/docs/libcurl/libcurl.html deleted file mode 100644 index 30f3681fbb0..00000000000 --- a/Build/source/libs/curl/docs/libcurl/libcurl.html +++ /dev/null @@ -1,185 +0,0 @@ -<HTML> -<BODY> -<PRE> -<!-- Manpage converted by man2html 3.0.1 --> - -</PRE> -<H2>NAME</H2><PRE> - libcurl - client-side URL transfers - - -</PRE> -<H2>DESCRIPTION</H2><PRE> - This is an overview on how to use libcurl in your C pro - grams. There are specific man pages for each function men - tioned in here. There's also the libcurl-the-guide document - for a complete tutorial to programming with libcurl. - - libcurl can also be used directly from within your Java, - PHP, Perl, Ruby or Tcl programs as well, look elsewhere for - documentation on this! - - All applications that use libcurl should call - <I>curl</I><B>_</B><I>global</I><B>_</B><I>init()</I> exactly once before any libcurl function - can be used. After all usage of libcurl is complete, it <B>must</B> - call <I>curl</I><B>_</B><I>global</I><B>_</B><I>cleanup()</I>. In between those two calls, you - can use libcurl as described below. - - When using libcurl you init your session and get a handle, - which you use as input to the following interface functions - you use. Use <I>curl</I><B>_</B><I>easy</I><B>_</B><I>init()</I> to get the handle. - - You continue by setting all the options you want in the - upcoming transfer, most important among them is the URL - itself (you can't transfer anything without a specified URL - as you may have figured out yourself). You might want to set - some callbacks as well that will be called from the library - when data is available etc. <I>curl</I><B>_</B><I>easy</I><B>_</B><I>setopt()</I> is there for - this. - - When all is setup, you tell libcurl to perform the transfer - using <I>curl</I><B>_</B><I>easy</I><B>_</B><I>perform()</I>. It will then do the entire oper - ation and won't return until it is done (successfully or - not). - - After the transfer has been made, you can set new options - and make another transfer, or if you're done, cleanup the - session by calling <I>curl</I><B>_</B><I>easy</I><B>_</B><I>cleanup()</I>. If you want persis - tant connections, you don't cleanup immediately, but instead - run ahead and perform other transfers using the same handle. - See the chapter below for Persistant Connections. - - There is also a series of other helpful functions to use. - They are: - - - <B>curl_version()</B> - displays the libcurl version - - <B>curl_getdate()</B> - converts a date string to time_t - - <B>curl_getenv()</B> - portable environment variable reader - - <B>curl_easy_getinfo()</B> - get information about a performed transfer - - <B>curl_formadd()</B> - helps building a HTTP form POST - - <B>curl_formfree()</B> - free a list built with curl_form - parse()/curl_formadd() - - <B>curl_slist_append()</B> - builds a linked list - - <B>curl_slist_free_all()</B> - frees a whole curl_slist - - <B>curl_mprintf()</B> - portable printf() functions - - <B>curl_strequal()</B> - portable case insensitive string comparisons - - - -</PRE> -<H2>LINKING WITH LIBCURL</H2><PRE> - Starting with 7.7.2 (on unix-like machines), there's a tool - named curl-config that gets installed with the rest of the - curl stuff when 'make install' is performed. - - curl-config is added to make it easier for applications to - link with libcurl and developers to learn about libcurl and - how to use it. - - Run 'curl-config --libs' to get the (additional) linker - options you need to link with the particular version of - libcurl you've installed. - - For details, see the curl-config.1 man page. - - -</PRE> -<H2>LIBCURL SYMBOL NAMES</H2><PRE> - All public functions in the libcurl interface are prefixed - with 'curl_' (with a lowercase c). You can find other func - tions in the library source code, but other prefixes indi - cate the functions are private and may change without fur - ther notice in the next release. - - Only use documented functions and functionality! - - -</PRE> -<H2>PORTABILITY</H2><PRE> - libcurl works <B>exactly</B> the same, on any of the platforms it - compiles and builds on. - - There's only one caution, and that is the win32 platform - that may(*) require you to init the winsock stuff before you - use the libcurl functions. Details on this are noted on the - curl_easy_init() man page. - - (*) = it appears as if users of the cygwin environment get - this done automatically, also libcurl 7.8.1 and later can - handle this for you. - - -</PRE> -<H2>THREADS</H2><PRE> - Never ever call curl-functions simultaneously using the same - handle from several threads. libcurl is thread-safe and can - be used in any number of threads, but you must use separate - curl handles if you want to use libcurl in more than one - thread simultaneously. - - -</PRE> -<H2>PERSISTANT CONNECTIONS</H2><PRE> - With libcurl 7.7, persistant connections were added. Persis - tant connections means that libcurl can re-use the same con - nection for several transfers, if the conditions are right. - - libcurl will *always* attempt to use persistant connections. - Whenever you use curl_easy_perform(), libcurl will attempt - to use an existing connection to do the transfer, and if - none exists it'll open a new one that will be subject for - re-use on a possible following call to curl_easy_perform(). - - To allow libcurl to take full advantage of persistant con - nections, you should do as many of your file transfers as - possible using the same curl handle. When you call - curl_easy_cleanup(), all the possibly open connections held - by libcurl will be closed and forgotten. - - Note that the options set with curl_easy_setopt() will be - used in on every repeat curl_easy_perform() call - - -</PRE> -<H2>COMPATIBILITY WITH OLDER LIBCURLS</H2><PRE> - Repeated curl_easy_perform() calls on the same handle were - not supported in pre-7.7 versions, and caused confusion and - undefined behaviour. - - - - - - - - - - -</PRE> -<HR> -<ADDRESS> -Man(1) output converted with -<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> -</ADDRESS> -</BODY> -</HTML> diff --git a/Build/source/libs/curl/include/Makefile.am b/Build/source/libs/curl/include/Makefile.am deleted file mode 100644 index 3b248602995..00000000000 --- a/Build/source/libs/curl/include/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -SUBDIRS = curl - -EXTRA_DIST = README - -AUTOMAKE_OPTIONS = foreign no-dependencies diff --git a/Build/source/libs/curl/include/Makefile.in b/Build/source/libs/curl/include/Makefile.in deleted file mode 100644 index 5353f0020cf..00000000000 --- a/Build/source/libs/curl/include/Makefile.in +++ /dev/null @@ -1,344 +0,0 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# 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@ - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_alias = @host_alias@ -host_triplet = @host@ -AMTAR = @AMTAR@ -AS = @AS@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -EXEEXT = @EXEEXT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -IPV6_ENABLED = @IPV6_ENABLED@ -KRB4_ENABLED = @KRB4_ENABLED@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -NROFF = @NROFF@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_ENABLED = @OPENSSL_ENABLED@ -PACKAGE = @PACKAGE@ -PERL = @PERL@ -PKGADD_NAME = @PKGADD_NAME@ -PKGADD_PKG = @PKGADD_PKG@ -PKGADD_VENDOR = @PKGADD_VENDOR@ -RANDOM_FILE = @RANDOM_FILE@ -RANLIB = @RANLIB@ -STRIP = @STRIP@ -VERSION = @VERSION@ -VERSIONNUM = @VERSIONNUM@ -YACC = @YACC@ -am__include = @am__include@ -am__quote = @am__quote@ -install_sh = @install_sh@ - -SUBDIRS = curl - -EXTRA_DIST = README - -AUTOMAKE_OPTIONS = foreign no-dependencies -subdir = include -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/lib/config.h \ - $(top_builddir)/src/config.h \ - $(top_builddir)/tests/server/config.h -CONFIG_CLEAN_FILES = -depcomp = -DIST_SOURCES = - -RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ - uninstall-info-recursive all-recursive install-data-recursive \ - install-exec-recursive installdirs-recursive install-recursive \ - uninstall-recursive check-recursive installcheck-recursive -DIST_COMMON = README Makefile.am Makefile.in -DIST_SUBDIRS = $(SUBDIRS) -all: all-recursive - -.SUFFIXES: - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign include/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -uninstall-info-am: - -# 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): - @set fnord $(MAKEFLAGS); amf=$$2; \ - 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) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - 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: - @set fnord $(MAKEFLAGS); amf=$$2; \ - 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) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(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 $(LISP) - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(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 "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) - -GTAGS: - here=`CDPATH=: && cd $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = .. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - for subdir in $(SUBDIRS); do \ - if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ - || exit 1; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: - -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)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -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 mostlyclean-am - -distclean: distclean-recursive - -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -uninstall-am: uninstall-info-am - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-recursive distclean \ - distclean-generic distclean-libtool distclean-recursive \ - distclean-tags distdir dvi dvi-am dvi-recursive info info-am \ - info-recursive install install-am install-data install-data-am \ - install-data-recursive install-exec install-exec-am \ - install-exec-recursive install-info install-info-am \ - install-info-recursive install-man install-recursive \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am installdirs-recursive maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive mostlyclean \ - mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ - tags tags-recursive uninstall uninstall-am uninstall-info-am \ - uninstall-info-recursive uninstall-recursive - -# 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/Build/source/libs/curl/include/README b/Build/source/libs/curl/include/README deleted file mode 100644 index ed2a7e54d91..00000000000 --- a/Build/source/libs/curl/include/README +++ /dev/null @@ -1,15 +0,0 @@ - _ _ ____ _ - ___| | | | _ \| | - / __| | | | |_) | | - | (__| |_| | _ <| |___ - \___|\___/|_| \_\_____| - -Include files for libcurl, external users. - -They're all placed in the curl subdirectory here for better fit in any kind -of environment. You should include files from here using... - - #include <curl/curl.h> - -... style and point the compiler's include path to the directory holding the -curl subdirectory. It makes it more likely to survive future modifications. diff --git a/Build/source/libs/curl/include/curl/Makefile.am b/Build/source/libs/curl/include/curl/Makefile.am deleted file mode 100644 index 34dfb75869f..00000000000 --- a/Build/source/libs/curl/include/curl/Makefile.am +++ /dev/null @@ -1,7 +0,0 @@ -pkginclude_HEADERS = \ - curl.h \ - easy.h \ - mprintf.h \ - stdcheaders.h \ - types.h -pkgincludedir= $(includedir)/curl diff --git a/Build/source/libs/curl/include/curl/Makefile.in b/Build/source/libs/curl/include/curl/Makefile.in deleted file mode 100644 index ffbee4c869a..00000000000 --- a/Build/source/libs/curl/include/curl/Makefile.in +++ /dev/null @@ -1,280 +0,0 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# 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@ - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -top_builddir = ../.. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_alias = @host_alias@ -host_triplet = @host@ -AMTAR = @AMTAR@ -AS = @AS@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -EXEEXT = @EXEEXT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -IPV6_ENABLED = @IPV6_ENABLED@ -KRB4_ENABLED = @KRB4_ENABLED@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -NROFF = @NROFF@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_ENABLED = @OPENSSL_ENABLED@ -PACKAGE = @PACKAGE@ -PERL = @PERL@ -PKGADD_NAME = @PKGADD_NAME@ -PKGADD_PKG = @PKGADD_PKG@ -PKGADD_VENDOR = @PKGADD_VENDOR@ -RANDOM_FILE = @RANDOM_FILE@ -RANLIB = @RANLIB@ -STRIP = @STRIP@ -VERSION = @VERSION@ -VERSIONNUM = @VERSIONNUM@ -YACC = @YACC@ -am__include = @am__include@ -am__quote = @am__quote@ -install_sh = @install_sh@ -pkgincludedir = $(includedir)/curl - -pkginclude_HEADERS = \ - curl.h \ - easy.h \ - mprintf.h \ - stdcheaders.h \ - types.h - -subdir = include/curl -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/lib/config.h \ - $(top_builddir)/src/config.h \ - $(top_builddir)/tests/server/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -HEADERS = $(pkginclude_HEADERS) - -DIST_COMMON = $(pkginclude_HEADERS) Makefile.am Makefile.in -all: all-am - -.SUFFIXES: - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu include/curl/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -uninstall-info-am: -install-pkgincludeHEADERS: $(pkginclude_HEADERS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(pkgincludedir) - @list='$(pkginclude_HEADERS)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(INSTALL_HEADER) $$d$$p $(DESTDIR)$(pkgincludedir)/$$f"; \ - $(INSTALL_HEADER) $$d$$p $(DESTDIR)$(pkgincludedir)/$$f; \ - done - -uninstall-pkgincludeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(pkginclude_HEADERS)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(pkgincludedir)/$$f"; \ - rm -f $(DESTDIR)$(pkgincludedir)/$$f; \ - done - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(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 $(LISP) - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(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 "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) - -GTAGS: - here=`CDPATH=: && cd $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(HEADERS) - -installdirs: - $(mkinstalldirs) $(DESTDIR)$(pkgincludedir) - -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: install-pkgincludeHEADERS - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -uninstall-am: uninstall-info-am uninstall-pkgincludeHEADERS - -.PHONY: GTAGS all all-am check check-am clean clean-generic \ - clean-libtool distclean distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am info info-am install \ - install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-pkgincludeHEADERS install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool tags uninstall uninstall-am \ - uninstall-info-am uninstall-pkgincludeHEADERS - -# 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/Build/source/libs/curl/include/curl/curl.h b/Build/source/libs/curl/include/curl/curl.h deleted file mode 100644 index 6dac9ddc294..00000000000 --- a/Build/source/libs/curl/include/curl/curl.h +++ /dev/null @@ -1,705 +0,0 @@ -#ifndef __CURL_CURL_H -#define __CURL_CURL_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2002, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: curl.h,v 1.127 2002/03/05 10:15:38 bagder Exp $ - *****************************************************************************/ - -#include <stdio.h> -/* The include stuff here is mainly for time_t! */ -#ifdef vms -# include <types.h> -# include <time.h> -#else -# include <sys/types.h> -# ifdef TIME_WITH_SYS_TIME -# include <sys/time.h> -# include <time.h> -# else -# ifdef HAVE_SYS_TIME_H -# include <sys/time.h> -# else -# include <time.h> -# endif -# endif -#endif /* defined (vms) */ - -#ifndef TRUE -#define TRUE 1 -#endif -#ifndef FALSE -#define FALSE 0 -#endif - -#include <curl/types.h> - -#ifdef __cplusplus -extern "C" { -#endif - -struct HttpPost { - struct HttpPost *next; /* next entry in the list */ - char *name; /* pointer to allocated name */ - long namelength; /* length of name length */ - char *contents; /* pointer to allocated data contents */ - long contentslength; /* length of contents field */ - char *contenttype; /* Content-Type */ - struct curl_slist* contentheader; /* list of extra headers for this form */ - struct HttpPost *more; /* if one field name has more than one file, this - link should link to following files */ - long flags; /* as defined below */ -#define HTTPPOST_FILENAME (1<<0) /* specified content is a file name */ -#define HTTPPOST_READFILE (1<<1) /* specified content is a file name */ -#define HTTPPOST_PTRNAME (1<<2) /* name is only stored pointer - do not free in formfree */ -#define HTTPPOST_PTRCONTENTS (1<<3) /* contents is only stored pointer - do not free in formfree */ -}; - -typedef int (*curl_progress_callback)(void *clientp, - double dltotal, - double dlnow, - double ultotal, - double ulnow); - -typedef size_t (*curl_write_callback)(char *buffer, - size_t size, - size_t nitems, - void *outstream); - -typedef size_t (*curl_read_callback)(char *buffer, - size_t size, - size_t nitems, - void *instream); - -typedef int (*curl_passwd_callback)(void *clientp, - const char *prompt, - char *buffer, - int buflen); - -/* All possible error codes from all sorts of curl functions. Future versions - may return other values, stay prepared. - - Always add new return codes last. Never *EVER* remove any. The return - codes must remain the same! - */ - -typedef enum { - CURLE_OK = 0, - CURLE_UNSUPPORTED_PROTOCOL, /* 1 */ - CURLE_FAILED_INIT, /* 2 */ - CURLE_URL_MALFORMAT, /* 3 */ - CURLE_URL_MALFORMAT_USER, /* 4 */ - CURLE_COULDNT_RESOLVE_PROXY, /* 5 */ - CURLE_COULDNT_RESOLVE_HOST, /* 6 */ - CURLE_COULDNT_CONNECT, /* 7 */ - CURLE_FTP_WEIRD_SERVER_REPLY, /* 8 */ - CURLE_FTP_ACCESS_DENIED, /* 9 */ - CURLE_FTP_USER_PASSWORD_INCORRECT, /* 10 */ - CURLE_FTP_WEIRD_PASS_REPLY, /* 11 */ - CURLE_FTP_WEIRD_USER_REPLY, /* 12 */ - CURLE_FTP_WEIRD_PASV_REPLY, /* 13 */ - CURLE_FTP_WEIRD_227_FORMAT, /* 14 */ - CURLE_FTP_CANT_GET_HOST, /* 15 */ - CURLE_FTP_CANT_RECONNECT, /* 16 */ - CURLE_FTP_COULDNT_SET_BINARY, /* 17 */ - CURLE_PARTIAL_FILE, /* 18 */ - CURLE_FTP_COULDNT_RETR_FILE, /* 19 */ - CURLE_FTP_WRITE_ERROR, /* 20 */ - CURLE_FTP_QUOTE_ERROR, /* 21 */ - CURLE_HTTP_NOT_FOUND, /* 22 */ - CURLE_WRITE_ERROR, /* 23 */ - CURLE_MALFORMAT_USER, /* 24 - user name is illegally specified */ - CURLE_FTP_COULDNT_STOR_FILE, /* 25 - failed FTP upload */ - CURLE_READ_ERROR, /* 26 - could open/read from file */ - CURLE_OUT_OF_MEMORY, /* 27 */ - CURLE_OPERATION_TIMEOUTED, /* 28 - the timeout time was reached */ - CURLE_FTP_COULDNT_SET_ASCII, /* 29 - TYPE A failed */ - CURLE_FTP_PORT_FAILED, /* 30 - FTP PORT operation failed */ - CURLE_FTP_COULDNT_USE_REST, /* 31 - the REST command failed */ - CURLE_FTP_COULDNT_GET_SIZE, /* 32 - the SIZE command failed */ - CURLE_HTTP_RANGE_ERROR, /* 33 - RANGE "command" didn't work */ - CURLE_HTTP_POST_ERROR, /* 34 */ - CURLE_SSL_CONNECT_ERROR, /* 35 - wrong when connecting with SSL */ - CURLE_FTP_BAD_DOWNLOAD_RESUME, /* 36 - couldn't resume download */ - CURLE_FILE_COULDNT_READ_FILE, /* 37 */ - CURLE_LDAP_CANNOT_BIND, /* 38 */ - CURLE_LDAP_SEARCH_FAILED, /* 39 */ - CURLE_LIBRARY_NOT_FOUND, /* 40 */ - CURLE_FUNCTION_NOT_FOUND, /* 41 */ - CURLE_ABORTED_BY_CALLBACK, /* 42 */ - CURLE_BAD_FUNCTION_ARGUMENT, /* 43 */ - CURLE_BAD_CALLING_ORDER, /* 44 */ - CURLE_HTTP_PORT_FAILED, /* 45 - HTTP Interface operation failed */ - CURLE_BAD_PASSWORD_ENTERED, /* 46 - my_getpass() returns fail */ - CURLE_TOO_MANY_REDIRECTS , /* 47 - catch endless re-direct loops */ - CURLE_UNKNOWN_TELNET_OPTION, /* 48 - User specified an unknown option */ - CURLE_TELNET_OPTION_SYNTAX , /* 49 - Malformed telnet option */ - CURLE_OBSOLETE, /* 50 - removed after 7.7.3 */ - CURLE_SSL_PEER_CERTIFICATE, /* 51 - peer's certificate wasn't ok */ - CURLE_GOT_NOTHING, /* 52 - when this is a specific error */ - CURLE_SSL_ENGINE_NOTFOUND, /* 53 - SSL crypto engine not found */ - CURLE_SSL_ENGINE_SETFAILED, /* 54 - can not set SSL crypto engine as default */ - - CURL_LAST /* never use! */ -} CURLcode; - -/* this was the error code 50 in 7.7.3 and a few earlier versions, this - is no longer used by libcurl but is instead #defined here only to not - make programs break */ -#define CURLE_ALREADY_COMPLETE 99999 - -/* This is just to make older programs not break: */ -#define CURLE_FTP_PARTIAL_FILE CURLE_PARTIAL_FILE - -#define CURL_ERROR_SIZE 256 - -/* name is uppercase CURLOPT_<name>, - type is one of the defined CURLOPTTYPE_<type> - number is unique identifier */ -#ifdef CINIT -#undef CINIT -#endif -#define CINIT(name,type,number) CURLOPT_ ## name = CURLOPTTYPE_ ## type + number - -/* long may be 32 or 64 bits, but we should never depend on anything else - but 32 */ -#define CURLOPTTYPE_LONG 0 -#define CURLOPTTYPE_OBJECTPOINT 10000 -#define CURLOPTTYPE_FUNCTIONPOINT 20000 - -typedef enum { - CINIT(NOTHING, LONG, 0), /********* the first one is unused ************/ - - /* This is the FILE * or void * the regular output should be written to. */ - CINIT(FILE, OBJECTPOINT, 1), - - /* The full URL to get/put */ - CINIT(URL, OBJECTPOINT, 2), - - /* Port number to connect to, if other than default. Specify the CONF_PORT - flag in the CURLOPT_FLAGS to activate this */ - CINIT(PORT, LONG, 3), - - /* Name of proxy to use. Specify the CONF_PROXY flag in the CURLOPT_FLAGS to - activate this */ - CINIT(PROXY, OBJECTPOINT, 4), - - /* Name and password to use when fetching. Specify the CONF_USERPWD flag in - the CURLOPT_FLAGS to activate this */ - CINIT(USERPWD, OBJECTPOINT, 5), - - /* Name and password to use with Proxy. Specify the CONF_PROXYUSERPWD - flag in the CURLOPT_FLAGS to activate this */ - CINIT(PROXYUSERPWD, OBJECTPOINT, 6), - - /* Range to get, specified as an ASCII string. Specify the CONF_RANGE flag - in the CURLOPT_FLAGS to activate this */ - CINIT(RANGE, OBJECTPOINT, 7), - - /* not used */ - - /* Specified file stream to upload from (use as input): */ - CINIT(INFILE, OBJECTPOINT, 9), - - /* Buffer to receive error messages in, must be at least CURL_ERROR_SIZE - * bytes big. If this is not used, error messages go to stderr instead: */ - CINIT(ERRORBUFFER, OBJECTPOINT, 10), - - /* Function that will be called to store the output (instead of fwrite). The - * parameters will use fwrite() syntax, make sure to follow them. */ - CINIT(WRITEFUNCTION, FUNCTIONPOINT, 11), - - /* Function that will be called to read the input (instead of fread). The - * parameters will use fread() syntax, make sure to follow them. */ - CINIT(READFUNCTION, FUNCTIONPOINT, 12), - - /* Time-out the read operation after this amount of seconds */ - CINIT(TIMEOUT, LONG, 13), - - /* If the CURLOPT_INFILE is used, this can be used to inform libcurl about - * how large the file being sent really is. That allows better error - * checking and better verifies that the upload was succcessful. -1 means - * unknown size. */ - CINIT(INFILESIZE, LONG, 14), - - /* POST input fields. */ - CINIT(POSTFIELDS, OBJECTPOINT, 15), - - /* Set the referer page (needed by some CGIs) */ - CINIT(REFERER, OBJECTPOINT, 16), - - /* Set the FTP PORT string (interface name, named or numerical IP address) - Use i.e '-' to use default address. */ - CINIT(FTPPORT, OBJECTPOINT, 17), - - /* Set the User-Agent string (examined by some CGIs) */ - CINIT(USERAGENT, OBJECTPOINT, 18), - - /* If the download receives less than "low speed limit" bytes/second - * during "low speed time" seconds, the operations is aborted. - * You could i.e if you have a pretty high speed connection, abort if - * it is less than 2000 bytes/sec during 20 seconds. - */ - - /* Set the "low speed limit" */ - CINIT(LOW_SPEED_LIMIT, LONG , 19), - - /* Set the "low speed time" */ - CINIT(LOW_SPEED_TIME, LONG, 20), - - /* Set the continuation offset */ - CINIT(RESUME_FROM, LONG, 21), - - /* Set cookie in request: */ - CINIT(COOKIE, OBJECTPOINT, 22), - - /* This points to a linked list of headers, struct curl_slist kind */ - CINIT(HTTPHEADER, OBJECTPOINT, 23), - - /* This points to a linked list of post entries, struct HttpPost */ - CINIT(HTTPPOST, OBJECTPOINT, 24), - - /* name of the file keeping your private SSL-certificate */ - CINIT(SSLCERT, OBJECTPOINT, 25), - - /* password for the SSL-private key, keep this for compatibility */ - CINIT(SSLCERTPASSWD, OBJECTPOINT, 26), - /* password for the SSL private key */ - CINIT(SSLKEYPASSWD, OBJECTPOINT, 26), - - /* send TYPE parameter? */ - CINIT(CRLF, LONG, 27), - - /* send linked-list of QUOTE commands */ - CINIT(QUOTE, OBJECTPOINT, 28), - - /* send FILE * or void * to store headers to, if you use a callback it - is simply passed to the callback unmodified */ - CINIT(WRITEHEADER, OBJECTPOINT, 29), - - /* point to a file to read the initial cookies from, also enables - "cookie awareness" */ - CINIT(COOKIEFILE, OBJECTPOINT, 31), - - /* What version to specifly try to use. - See CURL_SSLVERSION defines below. */ - CINIT(SSLVERSION, LONG, 32), - - /* What kind of HTTP time condition to use, see defines */ - CINIT(TIMECONDITION, LONG, 33), - - /* Time to use with the above condition. Specified in number of seconds - since 1 Jan 1970 */ - CINIT(TIMEVALUE, LONG, 34), - - /* HTTP request, for odd commands like DELETE, TRACE and others */ - /* OBSOLETE DEFINE, left for tradition only */ - CINIT(HTTPREQUEST, OBJECTPOINT, 35), - - /* Custom request, for customizing the get command like - HTTP: DELETE, TRACE and others - FTP: to use a different list command - */ - CINIT(CUSTOMREQUEST, OBJECTPOINT, 36), - - /* HTTP request, for odd commands like DELETE, TRACE and others */ - CINIT(STDERR, OBJECTPOINT, 37), - - /* 38 is not used */ - - /* send linked-list of post-transfer QUOTE commands */ - CINIT(POSTQUOTE, OBJECTPOINT, 39), - - /* Pass a pointer to string of the output using full variable-replacement - as described elsewhere. */ - CINIT(WRITEINFO, OBJECTPOINT, 40), - - /* Previous FLAG bits */ - CINIT(VERBOSE, LONG, 41), /* talk a lot */ - CINIT(HEADER, LONG, 42), /* throw the header out too */ - CINIT(NOPROGRESS, LONG, 43), /* shut off the progress meter */ - CINIT(NOBODY, LONG, 44), /* use HEAD to get http document */ - CINIT(FAILONERROR, LONG, 45), /* no output on http error codes >= 300 */ - CINIT(UPLOAD, LONG, 46), /* this is an upload */ - CINIT(POST, LONG, 47), /* HTTP POST method */ - CINIT(FTPLISTONLY, LONG, 48), /* Use NLST when listing ftp dir */ - - CINIT(FTPAPPEND, LONG, 50), /* Append instead of overwrite on upload! */ - CINIT(NETRC, LONG, 51), /* read user+password from .netrc */ - CINIT(FOLLOWLOCATION, LONG, 52), /* use Location: Luke! */ - - /* This FTPASCII name is now obsolete, to be removed, use the TRANSFERTEXT - instead. It goes for more protocols than just ftp... */ - CINIT(FTPASCII, LONG, 53), /* use TYPE A for transfer */ - - CINIT(TRANSFERTEXT, LONG, 53), /* transfer data in text/ASCII format */ - CINIT(PUT, LONG, 54), /* PUT the input file */ - - CINIT(MUTE, LONG, 55), /* OBSOLETE OPTION, removed in 7.8 */ - - /* Function that will be called instead of the internal progress display - * function. This function should be defined as the curl_progress_callback - * prototype defines. */ - CINIT(PROGRESSFUNCTION, FUNCTIONPOINT, 56), - - /* Data passed to the progress callback */ - CINIT(PROGRESSDATA, OBJECTPOINT, 57), - - /* We want the referer field set automatically when following locations */ - CINIT(AUTOREFERER, LONG, 58), - - /* Port of the proxy, can be set in the proxy string as well with: - "[host]:[port]" */ - CINIT(PROXYPORT, LONG, 59), - - /* size of the POST input data, if strlen() is not good to use */ - CINIT(POSTFIELDSIZE, LONG, 60), - - /* tunnel non-http operations through a HTTP proxy */ - CINIT(HTTPPROXYTUNNEL, LONG, 61), - - /* Set the interface string to use as outgoing network interface */ - CINIT(INTERFACE, OBJECTPOINT, 62), - - /* Set the krb4 security level, this also enables krb4 awareness. This is a - * string, 'clear', 'safe', 'confidential' or 'private'. If the string is - * set but doesn't match one of these, 'private' will be used. */ - CINIT(KRB4LEVEL, OBJECTPOINT, 63), - - /* Set if we should verify the peer in ssl handshake, set 1 to verify. */ - CINIT(SSL_VERIFYPEER, LONG, 64), - - /* The CApath or CAfile used to validate the peer certificate - this option is used only if SSL_VERIFYPEER is true */ - CINIT(CAINFO, OBJECTPOINT, 65), - - /* Function pointer to replace the internal password prompt */ - CINIT(PASSWDFUNCTION, FUNCTIONPOINT, 66), - - /* Custom pointer that gets passed as first argument to the password - function */ - CINIT(PASSWDDATA, OBJECTPOINT, 67), - - /* Maximum number of http redirects to follow */ - CINIT(MAXREDIRS, LONG, 68), - - /* Pass a pointer to a time_t to get a possible date of the requested - document! Pass a NULL to shut it off. */ - CINIT(FILETIME, OBJECTPOINT, 69), - - /* This points to a linked list of telnet options */ - CINIT(TELNETOPTIONS, OBJECTPOINT, 70), - - /* Max amount of cached alive connections */ - CINIT(MAXCONNECTS, LONG, 71), - - /* What policy to use when closing connections when the cache is filled - up */ - CINIT(CLOSEPOLICY, LONG, 72), - - /* Callback to use when CURLCLOSEPOLICY_CALLBACK is set */ - CINIT(CLOSEFUNCTION, FUNCTIONPOINT, 73), - - /* Set to explicitly use a new connection for the upcoming transfer. - Do not use this unless you're absolutely sure of this, as it makes the - operation slower and is less friendly for the network. */ - CINIT(FRESH_CONNECT, LONG, 74), - - /* Set to explicitly forbid the upcoming transfer's connection to be re-used - when done. Do not use this unless you're absolutely sure of this, as it - makes the operation slower and is less friendly for the network. */ - CINIT(FORBID_REUSE, LONG, 75), - - /* Set to a file name that contains random data for libcurl to use to - seed the random engine when doing SSL connects. */ - CINIT(RANDOM_FILE, OBJECTPOINT, 76), - - /* Set to the Entropy Gathering Daemon socket pathname */ - CINIT(EGDSOCKET, OBJECTPOINT, 77), - - /* Time-out connect operations after this amount of seconds, if connects - are OK within this time, then fine... This only aborts the connect - phase. [Only works on unix-style/SIGALRM operating systems] */ - CINIT(CONNECTTIMEOUT, LONG, 78), - - /* Function that will be called to store headers (instead of fwrite). The - * parameters will use fwrite() syntax, make sure to follow them. */ - CINIT(HEADERFUNCTION, FUNCTIONPOINT, 79), - - /* Set this to force the HTTP request to get back to GET. Only really usable - if POST, PUT or a custom request have been used first. - */ - CINIT(HTTPGET, LONG, 80), - - /* Set if we should verify the Common name from the peer certificate in ssl - * handshake, set 1 to check existence, 2 to ensure that it matches the - * provided hostname. */ - CINIT(SSL_VERIFYHOST, LONG, 81), - - /* Specify which file name to write all known cookies in after completed - operation. Set file name to "-" (dash) to make it go to stdout. */ - CINIT(COOKIEJAR, OBJECTPOINT, 82), - - /* Specify which SSL ciphers to use */ - CINIT(SSL_CIPHER_LIST, OBJECTPOINT, 83), - - /* Specify which HTTP version to use! This must be set to one of the - CURL_HTTP_VERSION* enums set below. */ - CINIT(HTTP_VERSION, LONG, 84), - - /* Specificly switch on or off the FTP engine's use of the EPSV command. By - default, that one will always be attempted before the more traditional - PASV command. */ - CINIT(FTP_USE_EPSV, LONG, 85), - - /* type of the file keeping your SSL-certificate ("DER", "PEM", "ENG") */ - CINIT(SSLCERTTYPE, OBJECTPOINT, 86), - - /* name of the file keeping your private SSL-key */ - CINIT(SSLKEY, OBJECTPOINT, 87), - - /* type of the file keeping your private SSL-key ("DER", "PEM", "ENG") */ - CINIT(SSLKEYTYPE, OBJECTPOINT, 88), - - /* crypto engine for the SSL-sub system */ - CINIT(SSLENGINE, OBJECTPOINT, 89), - - /* set the crypto engine for the SSL-sub system as default - the param has no meaning... - */ - CINIT(SSLENGINE_DEFAULT, LONG, 90), - - /* Non-zero value means to use the global dns cache */ - CINIT(DNS_USE_GLOBAL_CACHE, LONG, 91), - - /* DNS cache timeout */ - CINIT(DNS_CACHE_TIMEOUT, LONG, 92), - - /* send linked-list of pre-transfer QUOTE commands (Wesley Laxton)*/ - CINIT(PREQUOTE, OBJECTPOINT, 93), - - CURLOPT_LASTENTRY /* the last unusued */ -} CURLoption; - - /* These enums are for use with the CURLOPT_HTTP_VERSION option. */ -enum { - CURL_HTTP_VERSION_NONE, /* setting this means we don't care, and that we'd - like the library to choose the best possible - for us! */ - CURL_HTTP_VERSION_1_0, /* please use HTTP 1.0 in the request */ - CURL_HTTP_VERSION_1_1, /* please use HTTP 1.1 in the request */ - - CURL_HTTP_VERSION_LAST /* *ILLEGAL* http version */ -}; - -enum { - CURL_SSLVERSION_DEFAULT, - CURL_SSLVERSION_TLSv1, - CURL_SSLVERSION_SSLv2, - CURL_SSLVERSION_SSLv3, - - CURL_SSLVERSION_LAST /* never use, keep last */ -}; - - -typedef enum { - TIMECOND_NONE, - - TIMECOND_IFMODSINCE, - TIMECOND_IFUNMODSINCE, - TIMECOND_LASTMOD, - - TIMECOND_LAST -} curl_TimeCond; - -#ifdef __BEOS__ -#include <support/SupportDefs.h> -#endif - - -/* These functions are in the libcurl, they're here for portable reasons and - they are used by the 'curl' client. They really should be moved to some kind - of "portability library" since it has nothing to do with file transfers and - might be usable to other programs... - - NOTE: they return TRUE if the strings match *case insensitively*. - */ -extern int (curl_strequal)(const char *s1, const char *s2); -extern int (curl_strnequal)(const char *s1, const char *s2, size_t n); -#define strequal(a,b) curl_strequal(a,b) -#define strnequal(a,b,c) curl_strnequal(a,b,c) - -/* external form function */ -int curl_formparse(char *string, - struct HttpPost **httppost, - struct HttpPost **last_post); - -/* name is uppercase CURLFORM_<name> */ -#ifdef CFINIT -#undef CFINIT -#endif -#define CFINIT(name) CURLFORM_ ## name - -typedef enum { - CFINIT(NOTHING), /********* the first one is unused ************/ - - /* */ - CFINIT(COPYNAME), - CFINIT(PTRNAME), - CFINIT(NAMELENGTH), - CFINIT(COPYCONTENTS), - CFINIT(PTRCONTENTS), - CFINIT(CONTENTSLENGTH), - CFINIT(FILECONTENT), - CFINIT(ARRAY), - CFINIT(ARRAY_START), /* below are the options allowed within a array */ - CFINIT(FILE), - CFINIT(CONTENTTYPE), - CFINIT(CONTENTHEADER), - CFINIT(END), - CFINIT(ARRAY_END), /* up are the options allowed within a array */ - - CURLFORM_LASTENTRY /* the last unusued */ -} CURLformoption; - -/* structure to be used as parameter for CURLFORM_ARRAY */ -struct curl_forms { - CURLformoption option; - const char *value; -}; - -/* new external form function */ -int curl_formadd(struct HttpPost **httppost, - struct HttpPost **last_post, - ...); - -/* cleanup a form: */ -void curl_formfree(struct HttpPost *form); - -/* Unix and Win32 getenv function call, this returns a malloc()'ed string that - MUST be free()ed after usage is complete. */ -char *curl_getenv(const char *variable); - -/* Returns a static ascii string of the libcurl version. */ -char *curl_version(void); - -/* Escape and unescape URL encoding in strings. The functions return a new - * allocated string or NULL if an error occurred. */ -char *curl_escape(const char *string, int length); -char *curl_unescape(const char *string, int length); - -/* curl_global_init() should be invoked exactly once for each application that - uses libcurl */ -CURLcode curl_global_init(long flags); - -/* curl_global_cleanup() should be invoked exactly once for each application - that uses libcurl */ -void curl_global_cleanup(void); - -/* This is the version number */ -#define LIBCURL_VERSION "7.9.5" -#define LIBCURL_VERSION_NUM 0x070905 - -/* linked-list structure for the CURLOPT_QUOTE option (and other) */ -struct curl_slist { - char *data; - struct curl_slist *next; -}; - -struct curl_slist *curl_slist_append(struct curl_slist *, const char *); -void curl_slist_free_all(struct curl_slist *); - -/* - * NAME curl_getdate() - * - * DESCRIPTION - * - * Returns the time, in seconds since 1 Jan 1970 of the time string given in - * the first argument. The time argument in the second parameter is for cases - * where the specified time is relative now, like 'two weeks' or 'tomorrow' - * etc. - */ -time_t curl_getdate(const char *p, const time_t *now); - - -#define CURLINFO_STRING 0x100000 -#define CURLINFO_LONG 0x200000 -#define CURLINFO_DOUBLE 0x300000 -#define CURLINFO_MASK 0x0fffff -#define CURLINFO_TYPEMASK 0xf00000 - -typedef enum { - CURLINFO_NONE, /* first, never use this */ - CURLINFO_EFFECTIVE_URL = CURLINFO_STRING + 1, - CURLINFO_HTTP_CODE = CURLINFO_LONG + 2, - CURLINFO_TOTAL_TIME = CURLINFO_DOUBLE + 3, - CURLINFO_NAMELOOKUP_TIME = CURLINFO_DOUBLE + 4, - CURLINFO_CONNECT_TIME = CURLINFO_DOUBLE + 5, - CURLINFO_PRETRANSFER_TIME = CURLINFO_DOUBLE + 6, - CURLINFO_SIZE_UPLOAD = CURLINFO_DOUBLE + 7, - CURLINFO_SIZE_DOWNLOAD = CURLINFO_DOUBLE + 8, - CURLINFO_SPEED_DOWNLOAD = CURLINFO_DOUBLE + 9, - CURLINFO_SPEED_UPLOAD = CURLINFO_DOUBLE + 10, - CURLINFO_HEADER_SIZE = CURLINFO_LONG + 11, - CURLINFO_REQUEST_SIZE = CURLINFO_LONG + 12, - CURLINFO_SSL_VERIFYRESULT = CURLINFO_LONG + 13, - CURLINFO_FILETIME = CURLINFO_LONG + 14, - - CURLINFO_CONTENT_LENGTH_DOWNLOAD = CURLINFO_DOUBLE + 15, - CURLINFO_CONTENT_LENGTH_UPLOAD = CURLINFO_DOUBLE + 16, - - CURLINFO_STARTTRANSFER_TIME = CURLINFO_DOUBLE + 17, - - CURLINFO_CONTENT_TYPE = CURLINFO_STRING + 18, - - /* Fill in new entries here! */ - - CURLINFO_LASTONE = 19 -} CURLINFO; - -/* unfortunately, the easy.h include file needs the options and info stuff - before it can be included! */ -#include <curl/easy.h> /* nothing in curl is fun without the easy stuff */ - -typedef enum { - CURLCLOSEPOLICY_NONE, /* first, never use this */ - - CURLCLOSEPOLICY_OLDEST, - CURLCLOSEPOLICY_LEAST_RECENTLY_USED, - CURLCLOSEPOLICY_LEAST_TRAFFIC, - CURLCLOSEPOLICY_SLOWEST, - CURLCLOSEPOLICY_CALLBACK, - - CURLCLOSEPOLICY_LAST /* last, never use this */ -} curl_closepolicy; - -#define CURL_GLOBAL_SSL (1<<0) -#define CURL_GLOBAL_WIN32 (1<<1) -#define CURL_GLOBAL_ALL (CURL_GLOBAL_SSL|CURL_GLOBAL_WIN32) -#define CURL_GLOBAL_NOTHING 0 -#define CURL_GLOBAL_DEFAULT CURL_GLOBAL_ALL - -#ifdef __cplusplus -} -#endif - -#endif /* __CURL_CURL_H */ diff --git a/Build/source/libs/curl/include/curl/easy.h b/Build/source/libs/curl/include/curl/easy.h deleted file mode 100644 index 6812d8c198c..00000000000 --- a/Build/source/libs/curl/include/curl/easy.h +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef __CURL_EASY_H -#define __CURL_EASY_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: easy.h,v 1.5 2001/09/13 14:50:04 bagder Exp $ - *****************************************************************************/ -#ifdef __cplusplus -extern "C" { -#endif - -CURL *curl_easy_init(void); -CURLcode curl_easy_setopt(CURL *curl, CURLoption option, ...); -CURLcode curl_easy_perform(CURL *curl); -void curl_easy_cleanup(CURL *curl); - -/* - * NAME curl_easy_getinfo() - * - * DESCRIPTION - * - * Request internal information from the curl session with this function. The - * third argument MUST be a pointer to a long, a pointer to a char * or a - * pointer to a double (as the documentation describes elsewhere). The data - * pointed to will be filled in accordingly and can be relied upon only if the - * function returns CURLE_OK. This function is intended to get used *AFTER* a - * performed transfer, all results from this function are undefined until the - * transfer is completed. - */ -CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ...); - - -/* - * NAME curl_easy_duphandle() - * - * DESCRIPTION - * - * Creates a new curl session handle with the same options set for the handle - * passed in. Duplicating a handle could only be a matter of cloning data and - * options, internal state info and things like persistant connections cannot - * be transfered. It is useful in multithreaded applications when you can run - * curl_easy_duphandle() for each new thread to avoid a series of identical - * curl_easy_setopt() invokes in every thread. - */ -CURL* curl_easy_duphandle(CURL *curl); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Build/source/libs/curl/include/curl/mprintf.h b/Build/source/libs/curl/include/curl/mprintf.h deleted file mode 100644 index 4017f67c9db..00000000000 --- a/Build/source/libs/curl/include/curl/mprintf.h +++ /dev/null @@ -1,83 +0,0 @@ -/************************************************************************* - * - * $Id: mprintf.h,v 1.6 2001/08/15 18:17:14 bagder Exp $ - * - * 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. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF - * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND - * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER. - * - ************************************************************************* - * - * Preliminary documentation - * - * printf conversions: - * - * conversion ::= '%%' | '%' [position] ( number | float | string ) - * position ::= digits '$' - * number ::= [number-flags] ( 'd' | 'i' | 'o' | 'x' | 'X' | 'u') - * number-flags ::= 'h' | 'l' | 'L' ... - * float ::= [float-flags] ( 'f' | 'e' | 'E' | 'g' | 'G' ) - * string ::= [string-flags] 's' - * string-flags ::= padding | '#' - * digits ::= (digit)+ - * digit ::= 0-9 - * - * c - * p - * n - * - * qualifiers - * - * - : left adjustment - * + : show sign - * SPACE : padding - * # : alterative - * . : precision - * * : width - * 0 : padding / size - * 1-9 : size - * h : short - * l : long - * ll : longlong - * L : long double - * Z : long / longlong - * q : longlong - * - ************************************************************************/ - -#ifndef H_MPRINTF -#define H_MPRINTF - -#include <stdarg.h> -#include <stdio.h> /* needed for FILE */ - -int curl_mprintf(const char *format, ...); -int curl_mfprintf(FILE *fd, const char *format, ...); -int curl_msprintf(char *buffer, const char *format, ...); -int curl_msnprintf(char *buffer, size_t maxlength, const char *format, ...); -int curl_mvprintf(const char *format, va_list args); -int curl_mvfprintf(FILE *fd, const char *format, va_list args); -int curl_mvsprintf(char *buffer, const char *format, va_list args); -int curl_mvsnprintf(char *buffer, size_t maxlength, const char *format, va_list args); -char *curl_maprintf(const char *format, ...); -char *curl_mvaprintf(const char *format, va_list args); - -#ifdef _MPRINTF_REPLACE -# define printf curl_mprintf -# define fprintf curl_mfprintf -# define sprintf curl_msprintf -# define snprintf curl_msnprintf -# define vprintf curl_mvprintf -# define vfprintf curl_mvfprintf -# define vsprintf curl_mvsprintf -# define vsnprintf curl_mvsnprintf -# define aprintf curl_maprintf -# define vaprintf curl_mvaprintf -#endif - -#endif /* H_MPRINTF */ diff --git a/Build/source/libs/curl/include/curl/stdcheaders.h b/Build/source/libs/curl/include/curl/stdcheaders.h deleted file mode 100644 index 283479449e5..00000000000 --- a/Build/source/libs/curl/include/curl/stdcheaders.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef __STDC_HEADERS_H -#define __STDC_HEADERS_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: stdcheaders.h,v 1.3 2001/01/03 09:29:34 bagder Exp $ - *****************************************************************************/ - -#ifdef HAVE_SYS_TYPES_H -#include <sys/types.h> -#endif - -size_t fread (void *, size_t, size_t, FILE *); -size_t fwrite (const void *, size_t, size_t, FILE *); - -int strcasecmp(const char *, const char *); -int strncasecmp(const char *, const char *, size_t); - -#endif diff --git a/Build/source/libs/curl/include/curl/types.h b/Build/source/libs/curl/include/curl/types.h deleted file mode 100644 index 10f7414234d..00000000000 --- a/Build/source/libs/curl/include/curl/types.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef __CURL_TYPES_H -#define __CURL_TYPES_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: types.h,v 1.3 2001/01/03 09:29:34 bagder Exp $ - *****************************************************************************/ -typedef void CURL; -typedef void CURLconnect; - -#endif /* __CURL_TYPES_H */ diff --git a/Build/source/libs/curl/install-sh b/Build/source/libs/curl/install-sh deleted file mode 100644 index e8436696c19..00000000000 --- a/Build/source/libs/curl/install-sh +++ /dev/null @@ -1,250 +0,0 @@ -#!/bin/sh -# -# install - install a program, script, or datafile -# This comes from X11R5 (mit/util/scripts/install.sh). -# -# Copyright 1991 by the Massachusetts Institute of Technology -# -# Permission to use, copy, modify, distribute, and sell this software and its -# documentation for any purpose is hereby granted without fee, provided that -# the above copyright notice appear in all copies and that both that -# copyright notice and this permission notice appear in supporting -# documentation, and that the name of M.I.T. not be used in advertising or -# publicity pertaining to distribution of the software without specific, -# written prior permission. M.I.T. makes no representations about the -# suitability of this software for any purpose. It is provided "as is" -# without express or implied warranty. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. It can only install one file at a time, a restriction -# shared with many OS's install programs. - - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit="${DOITPROG-}" - - -# put in absolute paths if you don't have them in your path; or use env. vars. - -mvprog="${MVPROG-mv}" -cpprog="${CPPROG-cp}" -chmodprog="${CHMODPROG-chmod}" -chownprog="${CHOWNPROG-chown}" -chgrpprog="${CHGRPPROG-chgrp}" -stripprog="${STRIPPROG-strip}" -rmprog="${RMPROG-rm}" -mkdirprog="${MKDIRPROG-mkdir}" - -transformbasename="" -transform_arg="" -instcmd="$mvprog" -chmodcmd="$chmodprog 0755" -chowncmd="" -chgrpcmd="" -stripcmd="" -rmcmd="$rmprog -f" -mvcmd="$mvprog" -src="" -dst="" -dir_arg="" - -while [ x"$1" != x ]; do - case $1 in - -c) instcmd="$cpprog" - shift - continue;; - - -d) dir_arg=true - shift - continue;; - - -m) chmodcmd="$chmodprog $2" - shift - shift - continue;; - - -o) chowncmd="$chownprog $2" - shift - shift - continue;; - - -g) chgrpcmd="$chgrpprog $2" - shift - shift - continue;; - - -s) stripcmd="$stripprog" - shift - continue;; - - -t=*) transformarg=`echo $1 | sed 's/-t=//'` - shift - continue;; - - -b=*) transformbasename=`echo $1 | sed 's/-b=//'` - shift - continue;; - - *) if [ x"$src" = x ] - then - src=$1 - else - # this colon is to work around a 386BSD /bin/sh bug - : - dst=$1 - fi - shift - continue;; - esac -done - -if [ x"$src" = x ] -then - echo "install: no input file specified" - exit 1 -else - true -fi - -if [ x"$dir_arg" != x ]; then - dst=$src - src="" - - if [ -d $dst ]; then - instcmd=: - else - instcmd=mkdir - fi -else - -# Waiting for this to be detected by the "$instcmd $src $dsttmp" command -# might cause directories to be created, which would be especially bad -# if $src (and thus $dsttmp) contains '*'. - - if [ -f $src -o -d $src ] - then - true - else - echo "install: $src does not exist" - exit 1 - fi - - if [ x"$dst" = x ] - then - echo "install: no destination specified" - exit 1 - else - true - fi - -# If destination is a directory, append the input filename; if your system -# does not like double slashes in filenames, you may need to add some logic - - if [ -d $dst ] - then - dst="$dst"/`basename $src` - else - true - fi -fi - -## this sed command emulates the dirname command -dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` - -# Make sure that the destination directory exists. -# this part is taken from Noah Friedman's mkinstalldirs script - -# Skip lots of stat calls in the usual case. -if [ ! -d "$dstdir" ]; then -defaultIFS=' -' -IFS="${IFS-${defaultIFS}}" - -oIFS="${IFS}" -# Some sh's can't handle IFS=/ for some reason. -IFS='%' -set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` -IFS="${oIFS}" - -pathcomp='' - -while [ $# -ne 0 ] ; do - pathcomp="${pathcomp}${1}" - shift - - if [ ! -d "${pathcomp}" ] ; - then - $mkdirprog "${pathcomp}" - else - true - fi - - pathcomp="${pathcomp}/" -done -fi - -if [ x"$dir_arg" != x ] -then - $doit $instcmd $dst && - - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi -else - -# If we're going to rename the final executable, determine the name now. - - if [ x"$transformarg" = x ] - then - dstfile=`basename $dst` - else - dstfile=`basename $dst $transformbasename | - sed $transformarg`$transformbasename - fi - -# don't allow the sed command to completely eliminate the filename - - if [ x"$dstfile" = x ] - then - dstfile=`basename $dst` - else - true - fi - -# Make a temp file name in the proper directory. - - dsttmp=$dstdir/#inst.$$# - -# Move or copy the file name to the temp name - - $doit $instcmd $src $dsttmp && - - trap "rm -f ${dsttmp}" 0 && - -# and set any options; do chmod last to preserve setuid bits - -# If any of these fail, we abort the whole thing. If we want to -# ignore errors from any of these, just make sure not to ignore -# errors from the above "$doit $instcmd $src $dsttmp" command. - - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && - -# Now rename the file to the real destination. - - $doit $rmcmd -f $dstdir/$dstfile && - $doit $mvcmd $dsttmp $dstdir/$dstfile - -fi && - - -exit 0 diff --git a/Build/source/libs/curl/lib/Makefile.am b/Build/source/libs/curl/lib/Makefile.am deleted file mode 100644 index 01379788408..00000000000 --- a/Build/source/libs/curl/lib/Makefile.am +++ /dev/null @@ -1,73 +0,0 @@ -# -# $Id: Makefile.am,v 1.36 2002/03/06 22:19:16 bagder Exp $ -# - -AUTOMAKE_OPTIONS = foreign nostdinc - -EXTRA_DIST = getdate.y \ - Makefile.b32 Makefile.b32.resp Makefile.m32 Makefile.vc6 \ - libcurl.def dllinit.c curllib.dsp curllib.dsw \ - config-vms.h config-win32.h config-riscos.h config-mac.h \ - config.h.in - -lib_LTLIBRARIES = libcurl.la - -# we use srcdir/include for the static global include files -# we use builddir/lib for the generated lib/config.h file to get found -# we use srcdir/lib for the lib-private header files -INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/lib -I$(top_srcdir)/lib - -libcurl_la_LDFLAGS = -no-undefined -version-info 2:2:0 -# This flag accepts an argument of the form current[:revision[:age]]. So, -# passing -version-info 3:12:1 sets current to 3, revision to 12, and age to -# 1. -# -# If either revision or age are omitted, they default to 0. Also note that age -# must be less than or equal to the current interface number. -# -# Here are a set of rules to help you update your library version information: -# -# 1.Start with version information of 0:0:0 for each libtool library. -# -# 2.Update the version information only immediately before a public release of -# your software. More frequent updates are unnecessary, and only guarantee -# that the current interface number gets larger faster. -# -# 3.If the library source code has changed at all since the last update, then -# increment revision (c:r:a becomes c:r+1:a). -# -# 4.If any interfaces have been added, removed, or changed since the last -# update, increment current, and set revision to 0. -# -# 5.If any interfaces have been added since the last public release, then -# increment age. -# -# 6.If any interfaces have been removed since the last public release, then -# set age to 0. -# - -libcurl_la_SOURCES = \ -arpa_telnet.h file.c getpass.h netrc.h timeval.c \ -base64.c file.h hostip.c progress.c timeval.h \ -base64.h formdata.c hostip.h progress.h \ -cookie.c formdata.h http.c sendf.c \ -cookie.h ftp.c http.h sendf.h url.c \ -dict.c ftp.h if2ip.c speedcheck.c url.h \ -dict.h getdate.c if2ip.h speedcheck.h urldata.h \ -getdate.h ldap.c ssluse.c version.c \ -getenv.c ldap.h ssluse.h \ -escape.c mprintf.c telnet.c \ -escape.h getpass.c netrc.c telnet.h \ -getinfo.c getinfo.h transfer.c strequal.c strequal.h easy.c \ -security.h security.c krb4.c krb4.h memdebug.c memdebug.h inet_ntoa_r.h \ -http_chunks.c http_chunks.h strtok.c strtok.h connect.c connect.h \ -llist.c llist.h hash.c hash.h multi.c multi.h - - -noinst_HEADERS = setup.h transfer.h - -# Say $(srcdir), so GNU make does not report an ambiguity with the .y.c rule. -$(srcdir)/getdate.c: getdate.y - cd $(srcdir) && \ - $(YACC) $(YFLAGS) getdate.y; \ - mv -f y.tab.c getdate.c diff --git a/Build/source/libs/curl/lib/Makefile.b32 b/Build/source/libs/curl/lib/Makefile.b32 deleted file mode 100644 index 7b3ee83127f..00000000000 --- a/Build/source/libs/curl/lib/Makefile.b32 +++ /dev/null @@ -1,79 +0,0 @@ -############################################################ -# $Id: Makefile.b32,v 1.7 2001/11/19 20:09:02 bagder Exp $ -# -# Makefile.b32 - Borland's C++ Compiler 5.X -# -# 'lib' directory -# -# Requires 'Makefile.b32.resp' -# -# Written by Jaepil Kim, pit@paradise.net.nz -############################################################ - -# Setup environment -CXX = bcc32 -RM = del -LIB = tlib -TOPDIR = .. -CURNTDIR = . -CXXFLAGS = -5 -O2 -w-aus -w-ccc -w-csu -w-par -w-pia -w-rch -w-inl -w-ngu -w-pro -tWM -DEFINES = -DLIBCURL_BIGENDIAN=0 -DNDEBUG -DWIN32 -DCONSOLE -DMBCS -INCDIRS = -I$(CURNTDIR);$(TOPDIR)/include/ - -# 'BCCDIR' has to be set up in your c:\autoexec.bat -# i.e. SET BCCDIR = c:\Borland\BCC55 -# where c:\Borland\BCC55 is the compiler is installed -LINKLIB = $(BCCDIR)/lib/psdk/ws2_32.lib -LIBCURLLIB = libcurl.lib - -.SUFFIXES: .c - -SOURCES = \ - base64.c \ - cookie.c \ - transfer.c \ - escape.c \ - formdata.c \ - ftp.c \ - http.c \ - http_chunks.c \ - ldap.c \ - dict.c \ - telnet.c \ - getdate.c \ - getenv.c \ - getpass.c \ - hostip.c \ - if2ip.c \ - mprintf.c \ - netrc.c \ - progress.c \ - sendf.c \ - speedcheck.c \ - ssluse.c \ - timeval.c \ - url.c \ - file.c \ - getinfo.c \ - version.c \ - easy.c \ - strequal.c \ - strtok.c \ - connect.c - -OBJECTS = $(SOURCES:.c=.obj) - -.c.obj: - $(CXX) -c $(INCDIRS) $(CXXFLAGS) $(DEFINES) $< - -all: $(LIBCURLLIB) - -clean: - -$(RM) $(LIBCURLLIB) - -$(RM) *.obj - -$(LIBCURLLIB): $(LINKLIB) $(OBJECTS) Makefile.b32.resp - -$(RM) $(LIBCURLLIB) - $(LIB) $(LIBCURLLIB) @Makefile.b32.resp - - diff --git a/Build/source/libs/curl/lib/Makefile.b32.resp b/Build/source/libs/curl/lib/Makefile.b32.resp deleted file mode 100644 index 7bd6f3f36ea..00000000000 --- a/Build/source/libs/curl/lib/Makefile.b32.resp +++ /dev/null @@ -1,31 +0,0 @@ -+base64.obj & -+cookie.obj & -+transfer.obj & -+escape.obj & -+formdata.obj & -+ftp.obj & -+http.obj & -+http_chunks.obj & -+ldap.obj & -+dict.obj & -+telnet.obj & -+getdate.obj & -+getenv.obj & -+getpass.obj & -+hostip.obj & -+if2ip.obj & -+mprintf.obj & -+netrc.obj & -+progress.obj & -+sendf.obj & -+speedcheck.obj & -+ssluse.obj & -+timeval.obj & -+url.obj & -+file.obj & -+getinfo.obj & -+version.obj & -+easy.obj & -+strequal.obj & -+strtok.obj & -+connect.obj diff --git a/Build/source/libs/curl/lib/Makefile.in b/Build/source/libs/curl/lib/Makefile.in deleted file mode 100644 index 94146b04251..00000000000 --- a/Build/source/libs/curl/lib/Makefile.in +++ /dev/null @@ -1,495 +0,0 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# 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@ - -# -# $Id: Makefile.am,v 1.36 2002/03/06 22:19:16 bagder Exp $ -# - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_alias = @host_alias@ -host_triplet = @host@ -AMTAR = @AMTAR@ -AS = @AS@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -EXEEXT = @EXEEXT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -IPV6_ENABLED = @IPV6_ENABLED@ -KRB4_ENABLED = @KRB4_ENABLED@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -NROFF = @NROFF@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_ENABLED = @OPENSSL_ENABLED@ -PACKAGE = @PACKAGE@ -PERL = @PERL@ -PKGADD_NAME = @PKGADD_NAME@ -PKGADD_PKG = @PKGADD_PKG@ -PKGADD_VENDOR = @PKGADD_VENDOR@ -RANDOM_FILE = @RANDOM_FILE@ -RANLIB = @RANLIB@ -STRIP = @STRIP@ -VERSION = @VERSION@ -VERSIONNUM = @VERSIONNUM@ -YACC = @YACC@ -am__include = @am__include@ -am__quote = @am__quote@ -install_sh = @install_sh@ - -AUTOMAKE_OPTIONS = foreign nostdinc - -EXTRA_DIST = getdate.y \ - Makefile.b32 Makefile.b32.resp Makefile.m32 Makefile.vc6 \ - libcurl.def dllinit.c curllib.dsp curllib.dsw \ - config-vms.h config-win32.h config-riscos.h config-mac.h \ - config.h.in - - -lib_LTLIBRARIES = libcurl.la - -# we use srcdir/include for the static global include files -# we use builddir/lib for the generated lib/config.h file to get found -# we use srcdir/lib for the lib-private header files -INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/lib -I$(top_srcdir)/lib - -libcurl_la_LDFLAGS = -no-undefined -version-info 2:2:0 - -# This flag accepts an argument of the form current[:revision[:age]]. So, -# passing -version-info 3:12:1 sets current to 3, revision to 12, and age to -# 1. -# -# If either revision or age are omitted, they default to 0. Also note that age -# must be less than or equal to the current interface number. -# -# Here are a set of rules to help you update your library version information: -# -# 1.Start with version information of 0:0:0 for each libtool library. -# -# 2.Update the version information only immediately before a public release of -# your software. More frequent updates are unnecessary, and only guarantee -# that the current interface number gets larger faster. -# -# 3.If the library source code has changed at all since the last update, then -# increment revision (c:r:a becomes c:r+1:a). -# -# 4.If any interfaces have been added, removed, or changed since the last -# update, increment current, and set revision to 0. -# -# 5.If any interfaces have been added since the last public release, then -# increment age. -# -# 6.If any interfaces have been removed since the last public release, then -# set age to 0. -# -libcurl_la_SOURCES = \ -arpa_telnet.h file.c getpass.h netrc.h timeval.c \ -base64.c file.h hostip.c progress.c timeval.h \ -base64.h formdata.c hostip.h progress.h \ -cookie.c formdata.h http.c sendf.c \ -cookie.h ftp.c http.h sendf.h url.c \ -dict.c ftp.h if2ip.c speedcheck.c url.h \ -dict.h getdate.c if2ip.h speedcheck.h urldata.h \ -getdate.h ldap.c ssluse.c version.c \ -getenv.c ldap.h ssluse.h \ -escape.c mprintf.c telnet.c \ -escape.h getpass.c netrc.c telnet.h \ -getinfo.c getinfo.h transfer.c strequal.c strequal.h easy.c \ -security.h security.c krb4.c krb4.h memdebug.c memdebug.h inet_ntoa_r.h \ -http_chunks.c http_chunks.h strtok.c strtok.h connect.c connect.h \ -llist.c llist.h hash.c hash.h multi.c multi.h - - -noinst_HEADERS = setup.h transfer.h -subdir = lib -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = config.h $(top_builddir)/src/config.h \ - $(top_builddir)/tests/server/config.h -CONFIG_CLEAN_FILES = -LTLIBRARIES = $(lib_LTLIBRARIES) - -libcurl_la_LIBADD = -am_libcurl_la_OBJECTS = file.lo timeval.lo base64.lo hostip.lo \ - progress.lo formdata.lo cookie.lo http.lo sendf.lo ftp.lo \ - url.lo dict.lo if2ip.lo speedcheck.lo getdate.lo ldap.lo \ - ssluse.lo version.lo getenv.lo escape.lo mprintf.lo telnet.lo \ - getpass.lo netrc.lo getinfo.lo transfer.lo strequal.lo easy.lo \ - security.lo krb4.lo memdebug.lo http_chunks.lo strtok.lo \ - connect.lo llist.lo hash.lo multi.lo -libcurl_la_OBJECTS = $(am_libcurl_la_OBJECTS) - -DEFS = @DEFS@ -DEFAULT_INCLUDES = -CPPFLAGS = @CPPFLAGS@ -LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ -depcomp = $(SHELL) $(top_srcdir)/depcomp -@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/base64.Plo $(DEPDIR)/connect.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/cookie.Plo $(DEPDIR)/dict.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/easy.Plo $(DEPDIR)/escape.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/file.Plo $(DEPDIR)/formdata.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/ftp.Plo $(DEPDIR)/getdate.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/getenv.Plo $(DEPDIR)/getinfo.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/getpass.Plo $(DEPDIR)/hash.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/hostip.Plo $(DEPDIR)/http.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/http_chunks.Plo $(DEPDIR)/if2ip.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/krb4.Plo $(DEPDIR)/ldap.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/llist.Plo $(DEPDIR)/memdebug.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/mprintf.Plo $(DEPDIR)/multi.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/netrc.Plo $(DEPDIR)/progress.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/security.Plo $(DEPDIR)/sendf.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/speedcheck.Plo $(DEPDIR)/ssluse.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/strequal.Plo $(DEPDIR)/strtok.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/telnet.Plo $(DEPDIR)/timeval.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/transfer.Plo $(DEPDIR)/url.Plo \ -@AMDEP_TRUE@ $(DEPDIR)/version.Plo -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ - $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -CFLAGS = @CFLAGS@ -DIST_SOURCES = $(libcurl_la_SOURCES) -HEADERS = $(noinst_HEADERS) - -DIST_COMMON = $(noinst_HEADERS) ./stamp-h1.in Makefile.am Makefile.in \ - config.h.in -SOURCES = $(libcurl_la_SOURCES) - -all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign lib/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -config.h: stamp-h1 - @if test ! -f $@; then \ - rm -f stamp-h1; \ - $(MAKE) stamp-h1; \ - else :; fi -stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h1 stamp-h1T - @echo timestamp > stamp-h1T 2> /dev/null - cd $(top_builddir) \ - && CONFIG_FILES= CONFIG_HEADERS=lib/config.h \ - $(SHELL) ./config.status - @mv stamp-h1T stamp-h1 -$(srcdir)/config.h.in: $(srcdir)/./stamp-h1.in - @if test ! -f $@; then \ - rm -f $(srcdir)/./stamp-h1.in; \ - $(MAKE) $(srcdir)/./stamp-h1.in; \ - else :; fi -$(srcdir)/./stamp-h1.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) $(top_srcdir)/acconfig.h - @rm -f $(srcdir)/./stamp-h1.in $(srcdir)/./stamp-h1.inT - @echo timestamp > $(srcdir)/./stamp-h1.inT 2> /dev/null - cd $(top_srcdir) && $(AUTOHEADER) - @mv $(srcdir)/./stamp-h1.inT $(srcdir)/./stamp-h1.in - -distclean-hdr: - -rm -f config.h -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(libdir) - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - if test -f $$p; then \ - echo " $(LIBTOOL) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$p"; \ - $(LIBTOOL) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$p; \ - else :; fi; \ - done - -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - echo " $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p"; \ - $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \ - done - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) -libcurl.la: $(libcurl_la_OBJECTS) $(libcurl_la_DEPENDENCIES) - $(LINK) -rpath $(libdir) $(libcurl_la_LDFLAGS) $(libcurl_la_OBJECTS) $(libcurl_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) core *.core - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/base64.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/connect.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/cookie.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/dict.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/easy.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/escape.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/file.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/formdata.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ftp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getdate.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getenv.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getinfo.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getpass.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/hash.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/hostip.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/http.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/http_chunks.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/if2ip.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/krb4.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ldap.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/llist.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/memdebug.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/mprintf.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/multi.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/netrc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/progress.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/security.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/sendf.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/speedcheck.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ssluse.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strequal.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strtok.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/telnet.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/timeval.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/transfer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/url.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/version.Plo@am__quote@ - -distclean-depend: - -rm -rf $(DEPDIR) - -.c.o: -@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$< - -.c.obj: -@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(COMPILE) -c `cygpath -w $<` - -.c.lo: -@AMDEP_TRUE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(LTCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$< -CCDEPMODE = @CCDEPMODE@ -uninstall-info-am: - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(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 $(LISP) - -TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(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 "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \ - || etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) - -GTAGS: - here=`CDPATH=: && cd $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = .. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) $(HEADERS) config.h - -installdirs: - $(mkinstalldirs) $(DESTDIR)$(libdir) - -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ - mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-compile distclean-depend \ - distclean-generic distclean-hdr distclean-libtool \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: install-libLTLIBRARIES - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES - -.PHONY: GTAGS all all-am check check-am clean clean-generic \ - clean-libLTLIBRARIES clean-libtool distclean distclean-compile \ - distclean-depend distclean-generic distclean-hdr \ - distclean-libtool distclean-tags distdir dvi dvi-am info \ - info-am install install-am install-data install-data-am \ - install-exec install-exec-am install-info install-info-am \ - install-libLTLIBRARIES install-man install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool tags uninstall \ - uninstall-am uninstall-info-am uninstall-libLTLIBRARIES - - -# Say $(srcdir), so GNU make does not report an ambiguity with the .y.c rule. -$(srcdir)/getdate.c: getdate.y - cd $(srcdir) && \ - $(YACC) $(YFLAGS) getdate.y; \ - mv -f y.tab.c getdate.c -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Build/source/libs/curl/lib/Makefile.m32 b/Build/source/libs/curl/lib/Makefile.m32 deleted file mode 100644 index 4c277db8c9b..00000000000 --- a/Build/source/libs/curl/lib/Makefile.m32 +++ /dev/null @@ -1,84 +0,0 @@ -############################################################# -# -## Makefile for building libcurl.a with MingW32 (GCC-2.95) and -## optionally OpenSSL (0.9.6) -## Use: make -f Makefile.m32 -## -## Comments to: Troy Engel <tengel@sonic.net> or -## Joern Hartroth <hartroth@acm.org> - -CC = gcc -AR = ar -RANLIB = ranlib -STRIP = strip -g -OPENSSL_PATH = ../../openssl-0.9.6b - -######################################################## -## Nothing more to do below this line! - -INCLUDES = -I. -I.. -I../include -I../src -CFLAGS = -g -O2 -DMINGW32 -ifdef SSL - INCLUDES += -I"$(OPENSSL_PATH)/outinc" -I"$(OPENSSL_PATH)/outinc/openssl" - CFLAGS += -DUSE_SSLEAY - DLL_LIBS = -leay32 -lssl32 -lRSAglue -endif -COMPILE = $(CC) $(INCLUDES) $(CFLAGS) - -libcurl_a_LIBRARIES = libcurl.a - -libcurl_a_SOURCES = arpa_telnet.h file.c getpass.h netrc.h timeval.c base64.c \ - file.h hostip.c progress.c timeval.h base64.h formdata.c hostip.h progress.h \ - cookie.c formdata.h http.c sendf.c cookie.h ftp.c http.h sendf.h url.c dict.c \ - ftp.h if2ip.c speedcheck.c url.h dict.h getdate.c if2ip.h speedcheck.h \ - urldata.h transfer.c getdate.h ldap.c ssluse.c version.c transfer.h getenv.c \ - ldap.h ssluse.h escape.c getenv.h mprintf.c telnet.c escape.h getpass.c netrc.c \ - telnet.h getinfo.c strequal.c strequal.h easy.c security.h \ - security.c krb4.h krb4.c memdebug.h memdebug.c inet_ntoa_r.h http_chunks.h http_chunks.c \ - strtok.c connect.c hash.c llist.c - -libcurl_a_OBJECTS = file.o timeval.o base64.o hostip.o progress.o \ - formdata.o cookie.o http.o sendf.o ftp.o url.o dict.o if2ip.o \ - speedcheck.o getdate.o transfer.o ldap.o ssluse.o version.o \ - getenv.o escape.o mprintf.o telnet.o getpass.o netrc.o getinfo.o \ - strequal.o easy.o security.o krb4.o memdebug.o http_chunks.o \ - strtok.o connect.o hash.o llist.o - -LIBRARIES = $(libcurl_a_LIBRARIES) -SOURCES = $(libcurl_a_SOURCES) -OBJECTS = $(libcurl_a_OBJECTS) - - -all: libcurl.a libcurl.dll libcurldll.a - -libcurl.a: $(libcurl_a_OBJECTS) $(libcurl_a_DEPENDENCIES) - -@erase libcurl.a - $(AR) cru libcurl.a $(libcurl_a_OBJECTS) - $(RANLIB) libcurl.a - $(STRIP) $@ - -# remove the last line above to keep debug info - -libcurl.dll libcurldll.a: libcurl.a libcurl.def dllinit.o - -@erase $@ - dllwrap --dllname $@ --output-lib libcurldll.a --export-all --def libcurl.def $(libcurl_a_LIBRARIES) dllinit.o -L$(OPENSSL_PATH)/out $(DLL_LIBS) -lwsock32 -lws2_32 - $(STRIP) $@ - -# remove the last line above to keep debug info - -.c.o: - $(COMPILE) -c $< - -.s.o: - $(COMPILE) -c $< - -.S.o: - $(COMPILE) -c $< - -clean: - -@erase $(libcurl_a_OBJECTS) - -distrib: clean - - -@erase $(libcurl_a_LIBRARIES) - diff --git a/Build/source/libs/curl/lib/Makefile.vc6 b/Build/source/libs/curl/lib/Makefile.vc6 deleted file mode 100644 index 97bf3656171..00000000000 --- a/Build/source/libs/curl/lib/Makefile.vc6 +++ /dev/null @@ -1,226 +0,0 @@ -############################################################# -# -# Makefile for building libcurl with MSVC6 -# -# Usage: see usage message below -# Should be invoked from \lib directory -# Edit the paths and desired library name -# SSL path is only required if you intend compiling -# with SSL. -# -# This make file leaves the result either a .lib or .dll file -# in the \lib directory. It should be called from the \lib -# directory. -# -# An option would have been to allow the source directory to -# be specified, but I saw no requirement. -# -# Another option would have been to leave the .lib and .dll -# files in the "cfg" directory, but then the make file -# in \src would need to be changed. -# -############################################################## -# CHANGE LOG -# ------------------------------------------------------------ -# 05.11.2001 John Lask Initial Release -# 02.05.2002 Miklos Nemeth OPENSSL_PATH environment; no need -# for OpenSSL libraries when creating a -# static libcurl.lib -# -# -############################################################## - -LIB_NAME = libcurl -LIB_NAME_DEBUG = libcurld -!IFNDEF OPENSSL_PATH -OPENSSL_PATH = ../../openssl-0.9.6 -!ENDIF - -############################################################# -## Nothing more to do below this line! - -CCNODBG = cl.exe /MD /O2 /D "NDEBUG" -CCDEBUG = cl.exe /MDd /Od /Gm /Zi /D "_DEBUG" /GZ -CFLAGSSSL = /D "USE_SSLEAY" /I "$(OPENSSL_PATH)/inc32" /I "$(OPENSSL_PATH)/inc32/openssl" -CFLAGS = /I "../include" /nologo /W3 /GX /D "WIN32" /D "VC6" /D "_MBCS" /D "_LIB" /YX /FD /c /D "MSDOS" - -LNKDLL = link.exe /DLL /def:libcurl.def -LNKLIB = link.exe -lib -LFLAGS = /nologo -LFLAGSSSL = /LIBPATH:$(OPENSSL_PATH)/out32dll -LINKLIBS = ws2_32.lib -SSLLIBS = libeay32.lib ssleay32.lib RSAglue.lib -CFGSET = FALSE -LFLAGSSSL= -SSLLIBS = - -###################### -# release - -!IF "$(CFG)" == "release" -TARGET =$(LIB_NAME).lib -DIROBJ =.\$(CFG) -LNK = $(LNKLIB) /out:$(TARGET) -CC = $(CCNODBG) -CFGSET = TRUE -!ENDIF - -###################### -# release-dll - -!IF "$(CFG)" == "release-dll" -TARGET =$(LIB_NAME).dll -DIROBJ =.\$(CFG) -LNK = $(LNKDLL) /out:$(TARGET) /IMPLIB:"$(LIB_NAME).lib" -CC = $(CCNODBG) -CFGSET = TRUE -!ENDIF - -###################### -# release-ssl - -!IF "$(CFG)" == "release-ssl" -TARGET =$(LIB_NAME).lib -DIROBJ =.\$(CFG) -LNK = $(LNKLIB) $(LFLAGSSSL) /out:$(TARGET) -LINKLIBS = $(LINKLIBS) $(SSLLIBS) -CC = $(CCNODBG) $(CFLAGSSSL) -CFGSET = TRUE -!ENDIF - -###################### -# release-ssl-dll - -!IF "$(CFG)" == "release-ssl-dll" -TARGET =$(LIB_NAME).dll -DIROBJ =.\$(CFG) -LNK = $(LNKDLL) $(LFLAGSSSL) /out:$(TARGET) /IMPLIB:"$(LIB_NAME).lib" -LINKLIBS = $(LINKLIBS) $(SSLLIBS) -CC = $(CCNODBG) $(CFLAGSSSL) -CFGSET = TRUE -!ENDIF - - - - -###################### -# debug - -!IF "$(CFG)" == "debug" -TARGET =$(LIB_NAME_DEBUG).lib -DIROBJ =.\$(CFG) -LNK = $(LNKLIB) /out:$(TARGET) -CC = $(CCDEBUG) -CFGSET = TRUE -!ENDIF - -###################### -# debug-dll - -!IF "$(CFG)" == "debug-dll" -TARGET =$(LIB_NAME_DEBUG).dll -DIROBJ =.\$(CFG) -LNK = $(LNKDLL) /out:$(TARGET) /IMPLIB:"$(LIB_NAME_DEBUG).lib" -CC = $(CCDEBUG) -CFGSET = TRUE -!ENDIF - -###################### -# debug-ssl -#todo -!IF "$(CFG)" == "debug-ssl" -TARGET = $(LIB_NAME_DEBUG).lib -DIROBJ =.\$(CFG) -LNK = $(LNKLIB) $(LFLAGSSSL) /out:$(TARGET) -LINKLIBS = $(LINKLIBS) $(SSLLIBS) -CC = $(CCDEBUG) $(CFLAGSSSL) -CFGSET = TRUE -!ENDIF - -###################### -# debug-ssl-dll - -!IF "$(CFG)" == "debug-ssl-dll" -TARGET =$(LIB_NAME_DEBUG).dll -DIROBJ =.\$(CFG) -LNK = $(LNKDLL) $(LFLAGSSSL) /out:$(TARGET) /IMPLIB:"$(LIB_NAME_DEBUG).lib" -LINKLIBS = $(LINKLIBS) $(SSLLIBS) -CC = $(CCDEBUG) $(CFLAGSSSL) -CFGSET = TRUE -!ENDIF - -####################### -# Usage -# -!IF "$(CFGSET)" == "FALSE" -!MESSAGE Usage: nmake -f makefile.vc6 CFG=<config> <target> -!MESSAGE where <config> is one of: -!MESSAGE release - release static library -!MESSAGE release-dll - release dll -!MESSAGE release-ssl - release static library with ssl -!MESSAGE release-ssl-dll - release dll library with ssl -!MESSAGE debug - debug static library -!MESSAGE debug-dll - debug dll -!MESSAGE debug-ssl - debug static library with ssl -!MESSAGE debug-ssl-dll - debug dll library with ssl -!MESSAGE <target> can be left blank in which case all is assumed -!ERROR please choose a valid configuration "$(CFG)" -!ENDIF - -####################### -# -X_OBJS= \ - $(DIROBJ)\base64.obj \ - $(DIROBJ)\cookie.obj \ - $(DIROBJ)\transfer.obj \ - $(DIROBJ)\escape.obj \ - $(DIROBJ)\formdata.obj \ - $(DIROBJ)\ftp.obj \ - $(DIROBJ)\http.obj \ - $(DIROBJ)\http_chunks.obj \ - $(DIROBJ)\ldap.obj \ - $(DIROBJ)\dict.obj \ - $(DIROBJ)\telnet.obj \ - $(DIROBJ)\getdate.obj \ - $(DIROBJ)\getenv.obj \ - $(DIROBJ)\getpass.obj \ - $(DIROBJ)\hostip.obj \ - $(DIROBJ)\if2ip.obj \ - $(DIROBJ)\mprintf.obj \ - $(DIROBJ)\netrc.obj \ - $(DIROBJ)\progress.obj \ - $(DIROBJ)\sendf.obj \ - $(DIROBJ)\speedcheck.obj \ - $(DIROBJ)\ssluse.obj \ - $(DIROBJ)\timeval.obj \ - $(DIROBJ)\url.obj \ - $(DIROBJ)\file.obj \ - $(DIROBJ)\getinfo.obj \ - $(DIROBJ)\version.obj \ - $(DIROBJ)\easy.obj \ - $(DIROBJ)\strequal.obj \ - $(DIROBJ)\strtok.obj \ - $(DIROBJ)\connect.obj \ - $(DIROBJ)\hash.obj \ - $(DIROBJ)\llist.obj - -all : $(TARGET) - - -$(TARGET): $(X_OBJS) - $(LNK) $(LFLAGS) $(LINKLIBS) $(X_OBJS) - -$(X_OBJS): $(DIROBJ) - -$(DIROBJ): - @if not exist "$(DIROBJ)" mkdir $(DIROBJ) - -.SUFFIXES: .c .obj - -{.\}.c{$(DIROBJ)\}.obj: - $(CC) $(CFLAGS) /Fo"$@" $< - -clean: - -@erase $(DIROBJ)\*.obj - -@erase vc60.idb - -@erase vc60.pch diff --git a/Build/source/libs/curl/lib/arpa_telnet.h b/Build/source/libs/curl/lib/arpa_telnet.h deleted file mode 100644 index 9356ef0e0e4..00000000000 --- a/Build/source/libs/curl/lib/arpa_telnet.h +++ /dev/null @@ -1,101 +0,0 @@ -#ifndef __ARPA_TELNET_H -#define __ARPA_TELNET_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2001, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: arpa_telnet.h,v 1.5 2001/11/22 09:39:03 bagder Exp $ - *****************************************************************************/ - -/* - * Telnet option defines. Add more here if in need. - */ -#define TELOPT_BINARY 0 /* binary 8bit data */ -#define TELOPT_SGA 3 /* Supress Go Ahead */ -#define TELOPT_EXOPL 255 /* EXtended OPtions List */ -#define TELOPT_TTYPE 24 /* Terminal TYPE */ -#define TELOPT_XDISPLOC 35 /* X DISPlay LOCation */ - -#define TELOPT_NEW_ENVIRON 39 /* NEW ENVIRONment variables */ -#define NEW_ENV_VAR 0 -#define NEW_ENV_VALUE 1 - -/* - * The telnet options represented as strings - */ -static const char *telnetoptions[]= -{ - "BINARY", "ECHO", "RCP", "SUPPRESS GO AHEAD", - "NAME", "STATUS", "TIMING MARK", "RCTE", - "NAOL", "NAOP", "NAOCRD", "NAOHTS", - "NAOHTD", "NAOFFD", "NAOVTS", "NAOVTD", - "NAOLFD", "EXTEND ASCII", "LOGOUT", "BYTE MACRO", - "DE TERMINAL", "SUPDUP", "SUPDUP OUTPUT", "SEND LOCATION", - "TERM TYPE", "END OF RECORD", "TACACS UID", "OUTPUT MARKING", - "TTYLOC", "3270 REGIME", "X3 PAD", "NAWS", - "TERM SPEED", "LFLOW", "LINEMODE", "XDISPLOC", - "OLD-ENVIRON", "AUTHENTICATION", "ENCRYPT", "NEW-ENVIRON" -}; - -#define TELOPT_MAXIMUM TELOPT_NEW_ENVIRON - -#define TELOPT_OK(x) ((x) <= TELOPT_MAXIMUM) -#define TELOPT(x) telnetoptions[x] - -#define NTELOPTS 40 - -/* - * First some defines - */ -#define xEOF 236 /* End Of File */ -#define SE 240 /* Sub negotiation End */ -#define NOP 241 /* No OPeration */ -#define DM 242 /* Data Mark */ -#define GA 249 /* Go Ahead, reverse the line */ -#define SB 250 /* SuBnegotiation */ -#define WILL 251 /* Our side WILL use this option */ -#define WONT 252 /* Our side WON'T use this option */ -#define DO 253 /* DO use this option! */ -#define DONT 254 /* DON'T use this option! */ -#define IAC 255 /* Interpret As Command */ - -/* - * Then those numbers represented as strings: - */ -static const char *telnetcmds[]= -{ - "EOF", "SUSP", "ABORT", "EOR", "SE", - "NOP", "DMARK", "BRK", "IP", "AO", - "AYT", "EC", "EL", "GA", "SB", - "WILL", "WONT", "DO", "DONT", "IAC" -}; - -#define TELCMD_MINIMUM xEOF /* the first one */ -#define TELCMD_MAXIMUM IAC /* surprise, 255 is the last one! ;-) */ - -#define TELQUAL_IS 0 -#define TELQUAL_SEND 1 -#define TELQUAL_INFO 2 -#define TELQUAL_NAME 3 - -#define TELCMD_OK(x) ( ((unsigned int)(x) >= TELCMD_MINIMUM) && \ - ((unsigned int)(x) <= TELCMD_MAXIMUM) ) -#define TELCMD(x) telnetcmds[(x)-TELCMD_MINIMUM] - -#endif diff --git a/Build/source/libs/curl/lib/base64.c b/Build/source/libs/curl/lib/base64.c deleted file mode 100644 index 07685f2df8b..00000000000 --- a/Build/source/libs/curl/lib/base64.c +++ /dev/null @@ -1,270 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2001, Andrew Francis and Daniel Stenberg - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: base64.c,v 1.12 2001/10/11 09:32:19 bumblebury Exp $ - *****************************************************************************/ - -/* Base64 encoding/decoding - * - * Test harnesses down the bottom - compile with -DTEST_ENCODE for - * a program that will read in raw data from stdin and write out - * a base64-encoded version to stdout, and the length returned by the - * encoding function to stderr. Compile with -DTEST_DECODE for a program that - * will go the other way. - * - * This code will break if int is smaller than 32 bits - */ - -#include "setup.h" - -#include <stdlib.h> -#include <string.h> - -#define _MPRINTF_REPLACE /* use our functions only */ -#include <curl/mprintf.h> - -#include "base64.h" - -#ifdef MALLOCDEBUG -#include "memdebug.h" -#endif - -static void decodeQuantum(unsigned char *dest, char *src) -{ - unsigned int x = 0; - int i; - for(i = 0; i < 4; i++) { - if(src[i] >= 'A' && src[i] <= 'Z') - x = (x << 6) + (unsigned int)(src[i] - 'A' + 0); - else if(src[i] >= 'a' && src[i] <= 'z') - x = (x << 6) + (unsigned int)(src[i] - 'a' + 26); - else if(src[i] >= '0' && src[i] <= '9') - x = (x << 6) + (unsigned int)(src[i] - '0' + 52); - else if(src[i] == '+') - x = (x << 6) + 62; - else if(src[i] == '/') - x = (x << 6) + 63; - } - - dest[2] = (unsigned char)(x & 255); x >>= 8; - dest[1] = (unsigned char)(x & 255); x >>= 8; - dest[0] = (unsigned char)(x & 255); x >>= 8; -} - -/* base64Decode - * Given a base64 string at src, decode it into the memory pointed - * to by dest. If rawLength points to a valid address (ie not NULL), - * store the length of the decoded data to it. - */ -static void base64Decode(unsigned char *dest, char *src, int *rawLength) -{ - int length = 0; - int equalsTerm = 0; - int i; - unsigned char lastQuantum[3]; - - while((src[length] != '=') && src[length]) - length++; - while(src[length+equalsTerm] == '=') - equalsTerm++; - - if(rawLength) - *rawLength = (length * 3 / 4) - equalsTerm; - - for(i = 0; i < length/4 - 1; i++) { - decodeQuantum(dest, src); - dest += 3; src += 4; - } - - decodeQuantum(lastQuantum, src); - for(i = 0; i < 3 - equalsTerm; i++) dest[i] = lastQuantum[i]; - -} - -/* ---- Base64 Encoding --- */ -static char table64[]= - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; - -/* - * Curl_base64_encode() - * - * Returns the length of the newly created base64 string. The third argument - * is a pointer to an allocated area holding the base64 data. If something - * went wrong, -1 is returned. - * - */ -int Curl_base64_encode(const void *inp, int insize, char **outptr) -{ - unsigned char ibuf[3]; - unsigned char obuf[4]; - int i; - int inputparts; - char *output; - char *base64data; - - char *indata = (char *)inp; - - if(0 == insize) - insize = strlen(indata); - - base64data = output = (char*)malloc(insize*4/3+4); - if(NULL == output) - return -1; - - while(insize > 0) { - for (i = inputparts = 0; i < 3; i++) { - if(*indata) { - inputparts++; - ibuf[i] = *indata; - indata++; - insize--; - } - else - ibuf[i] = 0; - } - - obuf [0] = (ibuf [0] & 0xFC) >> 2; - obuf [1] = ((ibuf [0] & 0x03) << 4) | ((ibuf [1] & 0xF0) >> 4); - obuf [2] = ((ibuf [1] & 0x0F) << 2) | ((ibuf [2] & 0xC0) >> 6); - obuf [3] = ibuf [2] & 0x3F; - - switch(inputparts) { - case 1: /* only one byte read */ - sprintf(output, "%c%c==", - table64[obuf[0]], - table64[obuf[1]]); - break; - case 2: /* two bytes read */ - sprintf(output, "%c%c%c=", - table64[obuf[0]], - table64[obuf[1]], - table64[obuf[2]]); - break; - default: - sprintf(output, "%c%c%c%c", - table64[obuf[0]], - table64[obuf[1]], - table64[obuf[2]], - table64[obuf[3]] ); - break; - } - output += 4; - } - *output=0; - *outptr = base64data; /* make it return the actual data memory */ - - return strlen(base64data); /* return the length of the new data */ -} -/* ---- End of Base64 Encoding ---- */ - -int Curl_base64_decode(const char *str, void *data) -{ - int ret; - - base64Decode((unsigned char *)data, (char *)str, &ret); - return ret; -} - -/************* TEST HARNESS STUFF ****************/ - - -#ifdef TEST_ENCODE -/* encoding test harness. Read in standard input and write out the length - * returned by Curl_base64_encode, followed by the base64'd data itself - */ -#include <stdio.h> - -#define TEST_NEED_SUCK -void *suck(int *); - -int main(int argc, char **argv, char **envp) { - char *base64; - int base64Len; - unsigned char *data; - int dataLen; - - data = (unsigned char *)suck(&dataLen); - base64Len = Curl_base64_encode(data, dataLen, &base64); - - fprintf(stderr, "%d\n", base64Len); - fprintf(stdout, "%s", base64); - - free(base64); free(data); - return 0; -} -#endif - -#ifdef TEST_DECODE -/* decoding test harness. Read in a base64 string from stdin and write out the - * length returned by Curl_base64_decode, followed by the decoded data itself - */ -#include <stdio.h> - -#define TEST_NEED_SUCK -void *suck(int *); - -int main(int argc, char **argv, char **envp) { - char *base64; - int base64Len; - unsigned char *data; - int dataLen; - - base64 = (char *)suck(&base64Len); - data = (unsigned char *)malloc(base64Len * 3/4 + 8); - dataLen = Curl_base64_decode(base64, data); - - fprintf(stderr, "%d\n", dataLen); - fwrite(data,1,dataLen,stdout); - - - free(base64); free(data); - return 0; -} -#endif - -#ifdef TEST_NEED_SUCK -/* this function 'sucks' in as much as possible from stdin */ -void *suck(int *lenptr) { - int cursize = 8192; - unsigned char *buf = NULL; - int lastread; - int len = 0; - - do { - cursize *= 2; - buf = (unsigned char *)realloc(buf, cursize); - memset(buf + len, 0, cursize - len); - lastread = fread(buf + len, 1, cursize - len, stdin); - len += lastread; - } while(!feof(stdin)); - - lenptr[0] = len; - return (void *)buf; -} -#endif - - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/base64.h b/Build/source/libs/curl/lib/base64.h deleted file mode 100644 index a54ad438ed3..00000000000 --- a/Build/source/libs/curl/lib/base64.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef __BASE64_H -#define __BASE64_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: base64.h,v 1.7 2001/08/03 13:52:06 bagder Exp $ - *****************************************************************************/ -int Curl_base64_encode(const void *data, int size, char **str); -int Curl_base64_decode(const char *str, void *data); -#endif diff --git a/Build/source/libs/curl/lib/config-mac.h b/Build/source/libs/curl/lib/config-mac.h deleted file mode 100644 index 2328ada1388..00000000000 --- a/Build/source/libs/curl/lib/config-mac.h +++ /dev/null @@ -1,45 +0,0 @@ -#define OS "mac" - -#define HAVE_NETINET_IN_H 1 -#define HAVE_SYS_SOCKET_H 1 -#define HAVE_SYS_SELECT_H 1 -#define HAVE_NETDB_H 1 -#define HAVE_ARPA_INET_H 1 -#define HAVE_UNISTD_H 1 -#define HAVE_NET_IF_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_GETTIMEOFDAY 1 -#define HAVE_FCNTL_H 1 -#define HAVE_SYS_STAT_H 1 -#define HAVE_ALLOCA_H 1 -#define HAVE_TIME_H 1 -#define HAVE_STDLIB_H 1 -#define HAVE_UTIME_H 1 - -#define TIME_WITH_SYS_TIME 1 - -#define HAVE_STRDUP 1 -#define HAVE_UTIME 1 -#define HAVE_INET_NTOA 1 -#define HAVE_SETVBUF 1 -#define HAVE_STRFTIME 1 -#define HAVE_INET_ADDR 1 -#define HAVE_MEMCPY 1 -#define HAVE_SELECT 1 -#define HAVE_SOCKET 1 - -//#define HAVE_STRICMP 1 -#define HAVE_SIGACTION 1 - -#ifdef MACOS_SSL_SUPPORT -# define USE_SSLEAY 1 -# define USE_OPENSSL 1 -#endif - -#define HAVE_RAND_STATUS 1 -#define HAVE_RAND_EGD 1 - -#define HAVE_FIONBIO 1 - -#include <extra/stricmp.h> -#include <extra/strdup.h> diff --git a/Build/source/libs/curl/lib/config-riscos.h b/Build/source/libs/curl/lib/config-riscos.h deleted file mode 100644 index a002d20c195..00000000000 --- a/Build/source/libs/curl/lib/config-riscos.h +++ /dev/null @@ -1,25 +0,0 @@ - -#define socklen_t int - -#define HAVE_SYS_SOCKET_H -#define HAVE_ARPA_INET_H -#define HAVE_SYS_SELECT_H -#define HAVE_FCNTL_H -#define HAVE_GETTIMEOFDAY - -#define HAVE_SELECT -#define HAVE_SOCKET -#define ifr_dstaddr ifr_addr - - -#include <sys/socket.h> -#include <sys/if.h> -#include <sys/fcntl.h> -#include <sys/ioctl.h> -#include <netinet/in.h> -#include <netdb.h> - -#define ioctl(a,b,c,d) (ioctl(a,b,c) * (d==d)) - - -#define OS "RISC OS" diff --git a/Build/source/libs/curl/lib/config-vms.h b/Build/source/libs/curl/lib/config-vms.h deleted file mode 100644 index bbc8c5969a0..00000000000 --- a/Build/source/libs/curl/lib/config-vms.h +++ /dev/null @@ -1,368 +0,0 @@ -/* config.h.in. Generated automatically from configure.in by autoheader. */ - -/* Define if on AIX 3. - System headers sometimes define this. - We just want to avoid a redefinition error message. */ -#ifndef _ALL_SOURCE -#undef _ALL_SOURCE -#endif - -/* Define to empty if the keyword does not work. */ -#undef const - -/* Define as the return type of signal handlers (int or void). */ -#undef RETSIGTYPE - -/* Define to `unsigned' if <sys/types.h> doesn't define. */ -#undef size_t - -/* Define if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Define if you can safely include both <sys/time.h> and <time.h>. */ -#define TIME_WITH_SYS_TIME 1 - -/* Define cpu-machine-OS */ -#define OS "ALPHA-COMPAQ-VMS" - -/* Define if you have the gethostbyaddr_r() function with 5 arguments */ -#undef HAVE_GETHOSTBYADDR_R_5 - -/* Define if you have the gethostbyaddr_r() function with 7 arguments */ -#undef HAVE_GETHOSTBYADDR_R_7 - -/* Define if you have the gethostbyaddr_r() function with 8 arguments */ -#undef HAVE_GETHOSTBYADDR_R_8 - -/* Define if you have the gethostbyname_r() function with 3 arguments */ -#undef HAVE_GETHOSTBYNAME_R_3 - -/* Define if you have the gethostbyname_r() function with 5 arguments */ -#undef HAVE_GETHOSTBYNAME_R_5 - -/* Define if you have the gethostbyname_r() function with 6 arguments */ -#undef HAVE_GETHOSTBYNAME_R_6 - -/* Define if you have the inet_ntoa_r function declared. */ -#undef HAVE_INET_NTOA_R_DECL - -/* Define if you need the _REENTRANT define for some functions */ -#undef NEED_REENTRANT - -/* Define if you have the Kerberos4 libraries (including -ldes) */ -#undef KRB4 - -/* Define this to 'int' if ssize_t is not an available typedefed type */ -#undef ssize_t - -/* Define this to 'int' if socklen_t is not an available typedefed type */ -#define socklen_t size_t - -/* Define this as a suitable file to read random data from */ -#undef RANDOM_FILE - -/* Define this to your Entropy Gathering Daemon socket pathname */ -#undef EGD_SOCKET - -/* The number of bytes in a long double. */ -#define SIZEOF_LONG_DOUBLE 8 - -/* The number of bytes in a long long. */ -#define SIZEOF_LONG_LONG 8 - -/* Define if you have the RAND_egd function. */ -#undef HAVE_RAND_EGD - -/* Define if you have the RAND_screen function. */ -#undef HAVE_RAND_SCREEN - -/* Define if you have the RAND_status function. */ -#undef HAVE_RAND_STATUS - -/* Define if you have the closesocket function. */ -#undef HAVE_CLOSESOCKET - -/* Define if you have the geteuid function. */ -#define HAVE_GETEUID 1 - -/* Define if you have the gethostbyaddr function. */ -#define HAVE_GETHOSTBYADDR 1 - -/* Define if you have the gethostbyaddr_r function. */ -#undef HAVE_GETHOSTBYADDR_R - -/* Define if you have the gethostbyname_r function. */ -#undef HAVE_GETHOSTBYNAME_R - -/* Define if you have the gethostname function. */ -#define HAVE_GETHOSTNAME 1 - -/* Define if you have the getpass_r function. */ -#undef HAVE_GETPASS_R - -/* Define if you have the getpwuid function. */ -#define HAVE_GETPWUID 1 - -/* Define if you have the getservbyname function. */ -#define HAVE_GETSERVBYNAME 1 - -/* Define if you have the gettimeofday function. */ -#define HAVE_GETTIMEOFDAY 1 - -/* Define if you have the inet_addr function. */ -#define HAVE_INET_ADDR 1 - -/* Define if you have the inet_ntoa function. */ -#define HAVE_INET_NTOA 1 - -/* Define if you have the inet_ntoa_r function. */ -#undef HAVE_INET_NTOA_R - -/* Define if you have the krb_get_our_ip_for_realm function. */ -#undef HAVE_KRB_GET_OUR_IP_FOR_REALM - -/* Define if you have the localtime_r function. */ -#undef HAVE_LOCALTIME_R - -/* Define if you have the perror function. */ -#define HAVE_PERROR 1 - -/* Define if you have the select function. */ -#define HAVE_SELECT 1 - -/* Define if you have the setvbuf function. */ -#undef HAVE_SETVBUF - -/* Define if you have the sigaction function. */ -#define HAVE_SIGACTION 1 - -/* Define if you have the signal function. */ -#define HAVE_SIGNAL 1 - -/* Define if you have the socket function. */ -#define HAVE_SOCKET 1 - -/* Define if you have the strcasecmp function. */ -#define HAVE_STRCASECMP 1 - -/* Define if you have the strcmpi function. */ -#define HAVE_STRCMPI 1 - -/* Define if you have the strdup function. */ -#define HAVE_STRDUP 1 - -/* Define if you have the strftime function. */ -#define HAVE_STRFTIME 1 - -/* Define if you have the stricmp function. */ -#define HAVE_STRICMP 1 - -/* Define if you have the strlcat function. */ -#undef HAVE_STRLCAT - -/* Define if you have the strlcpy function. */ -#undef HAVE_STRLCPY - -/* Define if you have the strstr function. */ -#define HAVE_STRSTR 1 - -/* Define if you have the tcgetattr function. */ -#undef HAVE_TCGETATTR - -/* Define if you have the tcsetattr function. */ -#undef HAVE_TCSETATTR - -/* Define if you have the uname function. */ -#define HAVE_UNAME 1 - -/* Define if you have the <alloca.h> header file. */ -#undef HAVE_ALLOCA_H - -/* Define if you have the <arpa/inet.h> header file. */ -#undef HAVE_ARPA_INET_H - -/* Define if you have the <crypto.h> header file. */ -#undef HAVE_CRYPTO_H - -/* Define if you have the <des.h> header file. */ -#undef HAVE_DES_H - -/* Define if you have the <dlfcn.h> header file. */ -#undef HAVE_DLFCN_H - -/* Define if you have the <err.h> header file. */ -#define HAVE_ERR_H 1 - -/* Define if you have the <fcntl.h> header file. */ -#define HAVE_FCNTL_H 1 - -/* Define if you have the <getopt.h> header file. */ -#define HAVE_GETOPT_H 1 - -/* Define if you have the <io.h> header file. */ -#undef HAVE_IO_H - -/* Define if you have the <krb.h> header file. */ -#undef HAVE_KRB_H - -/* Define if you have the <malloc.h> header file. */ -#define HAVE_MALLOC_H 1 - -/* Define if you have the <net/if.h> header file. */ -#define HAVE_NET_IF_H 1 - -/* Define if you have the <netdb.h> header file. */ -#define HAVE_NETDB_H 1 - -/* Define if you have the <netinet/if_ether.h> header file. */ -#define HAVE_NETINET_IF_ETHER_H 1 - -/* Define if you have the <netinet/in.h> header file. */ -#define HAVE_NETINET_IN_H 1 - -/* Define if you have the <openssl/crypto.h> header file. */ -#define HAVE_OPENSSL_CRYPTO_H 1 - -/* Define if you have the <openssl/err.h> header file. */ -#define HAVE_OPENSSL_ERR_H 1 - -/* Define if you have the <openssl/pem.h> header file. */ -#define HAVE_OPENSSL_PEM_H 1 - -/* Define if you have the <openssl/rsa.h> header file. */ -#define HAVE_OPENSSL_RSA_H 1 - -/* Define if you have the <openssl/ssl.h> header file. */ -#define HAVE_OPENSSL_SSL_H 1 - -/* Define if you have the <openssl/x509.h> header file. */ -#define HAVE_OPENSSL_X509_H 1 - -/* Define if you have the <pem.h> header file. */ -#undef HAVE_PEM_H - -/* Define if you have the <pwd.h> header file. */ -#define HAVE_PWD_H 1 - -/* Define if you have the <rsa.h> header file. */ -#undef HAVE_RSA_H - -/* Define if you have the <sgtty.h> header file. */ -#define HAVE_SGTTY_H 1 - -/* Define if you have the <ssl.h> header file. */ -#undef HAVE_SSL_H - -/* Define if you have the <stdlib.h> header file. */ -#define HAVE_STDLIB_H 1 - -/* Define if you have the <sys/param.h> header file. */ -#undef HAVE_SYS_PARAM_H - -/* Define if you have the <sys/select.h> header file. */ -#undef HAVE_SYS_SELECT_H - -/* Define if you have the <sys/socket.h> header file. */ -#define HAVE_SYS_SOCKET_H 1 - -/* Define if you have the <sys/sockio.h> header file. */ -#undef HAVE_SYS_SOCKIO_H - -/* Define if you have the <sys/stat.h> header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define if you have the <sys/time.h> header file. */ -#define HAVE_SYS_TIME_H 1 - -/* Define if you have the <sys/types.h> header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define if you have the <termio.h> header file. */ -#undef HAVE_TERMIO_H - -/* Define if you have the <termios.h> header file. */ -#define HAVE_TERMIOS_H 1 - -/* Define if you have the <time.h> header file. */ -#define HAVE_TIME_H 1 - -/* Define if you have the <unistd.h> header file. */ -#define HAVE_UNISTD_H 1 - -/* Define if you have the <winsock.h> header file. */ -#undef HAVE_WINSOCK_H - -/* Define if you have the <x509.h> header file. */ -#undef HAVE_X509_H - -/* Define if you have the crypto library (-lcrypto). */ -#define HAVE_LIBCRYPTO 1 - -/* Define if you have the dl library (-ldl). */ -#undef HAVE_LIBDL - -/* Define if you have the nsl library (-lnsl). */ -#undef HAVE_LIBNSL - -/* Define if you have the resolv library (-lresolv). */ -#define HAVE_LIBRESOLV 1 - -/* Define if you have the resolve library (-lresolve). */ -#undef HAVE_LIBRESOLVE - -/* Define if you have the socket library (-lsocket). */ -#define HAVE_LIBSOCKET 1 - -/* Define if you have the ssl library (-lssl). */ -#define HAVE_LIBSSL 1 - -/* Define if you have the ucb library (-lucb). */ -#undef HAVE_LIBUCB - -/* Number of bits in a file offset, on hosts where this is settable. */ -#undef _FILE_OFFSET_BITS - -/* Define for large files, on AIX-style hosts. */ -#undef _LARGE_FILES - -/* Define if getaddrinfo exists and works */ -#define HAVE_GETADDRINFO 1 - -/* Define if you want to enable IPv6 support */ -#undef ENABLE_IPV6 - -/* Set to explicitly specify we don't want to use thread-safe functions */ -#undef DISABLED_THREADSAFE - -#define HAVE_TIMEVAL_H 1 - -/* Name of this package! */ -#define PACKAGE "not-used" - -/* Version number of this archive. */ -#define VERSION "not-used" - -/* Define if you have the getpass function. */ -#undef HAVE_GETPASS - -/* Define if you have a working OpenSSL installation */ -#define OPENSSL_ENABLED 1 - -/* Define if you have the `dlopen' function. */ -#undef HAVE_DLOPEN - -/* Define if you have the <inttypes.h> header file. */ -#undef HAVE_INTTYPES_H - -/* Define if you have the <strings.h> header file. */ -#define HAVE_STRINGS_H 1 - -/* Define if you have the <string.h> header file. */ -#define HAVE_STRING_H 1 - -/* Define if you have the `strtok_r' function. */ -#undef HAVE_STRTOK_R - -#define HAVE_MEMORY_H 1 - -#define HAVE_FIONBIO 1 diff --git a/Build/source/libs/curl/lib/config-win32.h b/Build/source/libs/curl/lib/config-win32.h deleted file mode 100644 index d22718bcb79..00000000000 --- a/Build/source/libs/curl/lib/config-win32.h +++ /dev/null @@ -1,224 +0,0 @@ -/* config.h. Generated automatically by configure. */ -/* config.h.in. Generated automatically from configure.in by autoheader. */ - -/* Define if on AIX 3. - System headers sometimes define this. - We just want to avoid a redefinition error message. */ -#ifndef _ALL_SOURCE -/* #undef _ALL_SOURCE */ -#endif - -/* Define to empty if the keyword does not work. */ -/* #undef const */ - -/* Define if you don't have vprintf but do have _doprnt. */ -/* #undef HAVE_DOPRNT */ - -/* Define if you have the vprintf function. */ -#define HAVE_VPRINTF 1 - -/* Define as the return type of signal handlers (int or void). */ -/*#define RETSIGTYPE void */ - -/* Define to `unsigned' if <sys/types.h> doesn't define. */ -/* #undef size_t */ - -/* Define this to 'int' if ssize_t is not an available typedefed type */ -#define ssize_t int - -/* Define this to 'int' if socklen_t is not an available typedefed type */ -#define socklen_t int - -/* Define if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Define if you can safely include both <sys/time.h> and <time.h>. */ -/* #define TIME_WITH_SYS_TIME 1 */ - -/* Define cpu-machine-OS */ -#define OS "win32" - -/* The number of bytes in a long double. */ -#define SIZEOF_LONG_DOUBLE 16 - -/* The number of bytes in a long long. */ -/* #define SIZEOF_LONG_LONG 8 */ - -/* Define if you have the gethostbyaddr function. */ -#define HAVE_GETHOSTBYADDR 1 - -/* Define if you have the gethostname function. */ -#define HAVE_GETHOSTNAME 1 - -/* Define if you have the getpass function. */ -/*#define HAVE_GETPASS 1*/ - -/* Define if you have the getservbyname function. */ -#define HAVE_GETSERVBYNAME 1 - -/* Define if you have the gettimeofday function. */ -/* #define HAVE_GETTIMEOFDAY 1 */ - -/* Define if you have the inet_addr function. */ -#define HAVE_INET_ADDR 1 - -/* Define if you have the inet_ntoa function. */ -#define HAVE_INET_NTOA 1 - -/* Define if you have the perror function. */ -#define HAVE_PERROR 1 - -/* Define if you have the select function. */ -#define HAVE_SELECT 1 - -/* Define if you have the socket function. */ -#define HAVE_SOCKET 1 - -/* Define if you have the strcasecmp function. */ -/*#define HAVE_STRCASECMP 1*/ - -/* Define if you have the stricmp function. */ -#define HAVE_STRICMP 1 - -/* Define if you have the strdup function. */ -#define HAVE_STRDUP 1 - -/* Define if you have the strftime function. */ -#define HAVE_STRFTIME 1 - -/* Define if you have the strstr function. */ -#define HAVE_STRSTR 1 - -/* Define if you have the tcgetattr function. */ -/*#define HAVE_TCGETATTR 1*/ - -/* Define if you have the tcsetattr function. */ -/*#define HAVE_TCSETATTR 1*/ - -/* Define if you have the uname function. */ -/*#define HAVE_UNAME 1*/ - -/* Define if you have the <alloca.h> header file. */ -/*#define HAVE_ALLOCA_H 1*/ - -/* Define if you have the malloc.h file. */ -#define HAVE_MALLOC_H 1 - -/* Define if you have the <arpa/inet.h> header file. */ -#define HAVE_ARPA_INET_H 1 - -/* Define if you have the <crypto.h> header file. */ -/* #undef HAVE_CRYPTO_H */ - -/* Define if you have the <dlfcn.h> header file. */ -/*#define HAVE_DLFCN_H 1*/ - -/* Define if you have the <err.h> header file. */ -/* #undef HAVE_ERR_H */ - -/* Define if you have the <fcntl.h> header file. */ -#define HAVE_FCNTL_H 1 - -/* Define if you have the <getopt.h> header file. */ -/* #undef HAVE_GETOPT_H */ - -/* Define if you have the <netdb.h> header file. */ -#define HAVE_NETDB_H 1 - -/* Define if you have the <netinet/in.h> header file. */ -/*#define HAVE_NETINET_IN_H 1*/ - -/* Define if you have the <sgtty.h> header file. */ -/*#define HAVE_SGTTY_H 1*/ - -/* Define if you have the <ssl.h> header file. */ -/* #undef HAVE_SSL_H */ - -/* Define if you have the <sys/param.h> header file. */ -/*#define HAVE_SYS_PARAM_H 1*/ - -/* Define if you have the <sys/select.h> header file. */ -/* #define HAVE_SYS_SELECT_H 1 */ - -/* Define if you have the <sys/socket.h> header file. */ -/*#define HAVE_SYS_SOCKET_H 1*/ - -/* Define if you have the <sys/sockio.h> header file. */ -#define HAVE_SYS_SOCKIO_H 1 - -/* Define if you have the <sys/stat.h> header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define if you have the <sys/types.h> header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define if you have the <termio.h> header file. */ -#define HAVE_TERMIO_H 1 - -/* Define if you have the <termios.h> header file. */ -#define HAVE_TERMIOS_H 1 - -/* Name of package */ -#define PACKAGE "curl" - -/* Define if you have the <io.h> header file. */ -#define HAVE_IO_H 1 - -/* Define if you have the <time.h> header file. */ -#define HAVE_TIME_H 1 - -/* Define if you have the <winsock.h> header file. */ -#define HAVE_WINSOCK_H 1 - -/* Define if you have the closesocket function. */ -#define HAVE_CLOSESOCKET 1 - -/* Define if you have the setvbuf function. */ -#define HAVE_SETVBUF 1 - -/* Define if you have the RAND_screen function when using SSL */ -#define HAVE_RAND_SCREEN 1 - -/* Define this to if in_addr_t is not an available typedefed type */ -#define in_addr_t unsigned long - -/************************************************* - * This section is for compiler specific defines.* - *************************************************/ -#ifdef MINGW32 /* Borland and MS don't have this */ - -/* Define if you have the <unistd.h> header file. */ -#define HAVE_UNISTD_H 1 - -#endif - -/************************************************** - *This is to eliminate the warnings when compiled * - * using MS VC++ compiler * - **************************************************/ -#ifdef _MSC_VER - -#pragma warning (disable: 4244) /* truncation from 'const int' to 'char' */ -#pragma warning (disable: 4127) /* conditional expression is constant */ -#pragma warning (disable: 4706) /* assignment within conditional expression */ -#pragma warning (disable: 4761) /* integral size mismatch in argument */ -#pragma warning (disable: 4101) /* unreferenced local variable */ -#pragma warning (disable: 4131) /* uses old-style declarator */ -#pragma warning (disable: 4057) /* const char *' differs in indirection to - slightly different base types from - 'unsigned char [x] */ -#pragma warning (disable: 4100) /* unreferenced formal parameter */ -#pragma warning (disable: 4055) /* type cast' : from data pointer 'void *' to - function pointer - 'void *(__cdecl *)(char *,int ) */ -#pragma warning (disable: 4701) /* local variable may be used without having - been initialized */ -#pragma warning (disable: 4715) /* ToHour' : not all control paths return a - value */ -#endif - -#ifdef FPTEX -#include <win32lib.h> -#undef vsnprintf -#undef snprintf -#endif diff --git a/Build/source/libs/curl/lib/config.h.in b/Build/source/libs/curl/lib/config.h.in deleted file mode 100644 index e2ee0220e4d..00000000000 --- a/Build/source/libs/curl/lib/config.h.in +++ /dev/null @@ -1,398 +0,0 @@ -/* lib/config.h.in. Generated automatically from configure.in by autoheader. */ -/* Name of this package! */ -#undef PACKAGE - -/* Version number of this archive. */ -#undef VERSION - -/* Define if you have the getpass function. */ -#undef HAVE_GETPASS - -/* Define cpu-machine-OS */ -#undef OS - -/* Define if you have the gethostbyaddr_r() function with 5 arguments */ -#undef HAVE_GETHOSTBYADDR_R_5 - -/* Define if you have the gethostbyaddr_r() function with 7 arguments */ -#undef HAVE_GETHOSTBYADDR_R_7 - -/* Define if you have the gethostbyaddr_r() function with 8 arguments */ -#undef HAVE_GETHOSTBYADDR_R_8 - -/* Define if you have the gethostbyname_r() function with 3 arguments */ -#undef HAVE_GETHOSTBYNAME_R_3 - -/* Define if you have the gethostbyname_r() function with 5 arguments */ -#undef HAVE_GETHOSTBYNAME_R_5 - -/* Define if you have the gethostbyname_r() function with 6 arguments */ -#undef HAVE_GETHOSTBYNAME_R_6 - -/* Define if you have the inet_ntoa_r function declared. */ -#undef HAVE_INET_NTOA_R_DECL - -/* Define if you need the _REENTRANT define for some functions */ -#undef NEED_REENTRANT - -/* Define if you have the Kerberos4 libraries (including -ldes) */ -#undef KRB4 - -/* Define if you want to enable IPv6 support */ -#undef ENABLE_IPV6 - -/* Define this to 'int' if ssize_t is not an available typedefed type */ -#undef ssize_t - -/* Define this to 'int' if socklen_t is not an available typedefed type */ -#undef socklen_t - -/* Define this as a suitable file to read random data from */ -#undef RANDOM_FILE - -/* Define this to your Entropy Gathering Daemon socket pathname */ -#undef EGD_SOCKET - -/* Define if you have a working OpenSSL installation */ -#undef OPENSSL_ENABLED - -/* Define the one correct non-blocking socket method below */ -#undef HAVE_FIONBIO -#undef HAVE_IOCTLSOCKET -#undef HAVE_IOCTLSOCKET_CASE -#undef HAVE_O_NONBLOCK -#undef HAVE_DISABLED_NONBLOCKING - -/* Define this to 'int' if in_addr_t is not an available typedefed type */ -#undef in_addr_t - -/* Set to explicitly specify we don't want to use thread-safe functions */ -#undef DISABLED_THREADSAFE - -/* Define if you want to enable IPv6 support */ -#undef ENABLE_IPV6 - -/* Define if you have the <alloca.h> header file. */ -#undef HAVE_ALLOCA_H - -/* Define if you have the <arpa/inet.h> header file. */ -#undef HAVE_ARPA_INET_H - -/* Define if you have the `closesocket' function. */ -#undef HAVE_CLOSESOCKET - -/* Define if you have the <crypto.h> header file. */ -#undef HAVE_CRYPTO_H - -/* Define if you have the <des.h> header file. */ -#undef HAVE_DES_H - -/* Define if you have the <dlfcn.h> header file. */ -#undef HAVE_DLFCN_H - -/* Define if you have the `dlopen' function. */ -#undef HAVE_DLOPEN - -/* Define if you have the <err.h> header file. */ -#undef HAVE_ERR_H - -/* Define if you have the <fcntl.h> header file. */ -#undef HAVE_FCNTL_H - -/* Define if getaddrinfo exists and works */ -#undef HAVE_GETADDRINFO - -/* Define if you have the `geteuid' function. */ -#undef HAVE_GETEUID - -/* Define if you have the `gethostbyaddr' function. */ -#undef HAVE_GETHOSTBYADDR - -/* Define if you have the `gethostbyaddr_r' function. */ -#undef HAVE_GETHOSTBYADDR_R - -/* Define if you have the `gethostbyname_r' function. */ -#undef HAVE_GETHOSTBYNAME_R - -/* Define if you have the `gethostname' function. */ -#undef HAVE_GETHOSTNAME - -/* Define if you have the `getpass_r' function. */ -#undef HAVE_GETPASS_R - -/* Define if you have the `getpwuid' function. */ -#undef HAVE_GETPWUID - -/* Define if you have the `gettimeofday' function. */ -#undef HAVE_GETTIMEOFDAY - -/* Define if you have the `gmtime_r' function. */ -#undef HAVE_GMTIME_R - -/* Define if you have the `inet_addr' function. */ -#undef HAVE_INET_ADDR - -/* Define if you have the `inet_ntoa' function. */ -#undef HAVE_INET_NTOA - -/* Define if you have the `inet_ntoa_r' function. */ -#undef HAVE_INET_NTOA_R - -/* Define if you have the <inttypes.h> header file. */ -#undef HAVE_INTTYPES_H - -/* Define if you have the <io.h> header file. */ -#undef HAVE_IO_H - -/* Define if you have the `krb_get_our_ip_for_realm' function. */ -#undef HAVE_KRB_GET_OUR_IP_FOR_REALM - -/* Define if you have the <krb.h> header file. */ -#undef HAVE_KRB_H - -/* Define if you have the `crypto' library (-lcrypto). */ -#undef HAVE_LIBCRYPTO - -/* Define if you have the `dl' library (-ldl). */ -#undef HAVE_LIBDL - -/* Define if you have the `nsl' library (-lnsl). */ -#undef HAVE_LIBNSL - -/* Define if you have the `resolv' library (-lresolv). */ -#undef HAVE_LIBRESOLV - -/* Define if you have the `resolve' library (-lresolve). */ -#undef HAVE_LIBRESOLVE - -/* Define if you have the `socket' library (-lsocket). */ -#undef HAVE_LIBSOCKET - -/* Define if you have the `ssl' library (-lssl). */ -#undef HAVE_LIBSSL - -/* Define if you have the `ucb' library (-lucb). */ -#undef HAVE_LIBUCB - -/* Define if you have the `localtime_r' function. */ -#undef HAVE_LOCALTIME_R - -/* Define if you have the <malloc.h> header file. */ -#undef HAVE_MALLOC_H - -/* Define if you have the <memory.h> header file. */ -#undef HAVE_MEMORY_H - -/* Define if you have the <netdb.h> header file. */ -#undef HAVE_NETDB_H - -/* Define if you have the <netinet/if_ether.h> header file. */ -#undef HAVE_NETINET_IF_ETHER_H - -/* Define if you have the <netinet/in.h> header file. */ -#undef HAVE_NETINET_IN_H - -/* Define if you have the <net/if.h> header file. */ -#undef HAVE_NET_IF_H - -/* Define if you have the <openssl/crypto.h> header file. */ -#undef HAVE_OPENSSL_CRYPTO_H - -/* Define if you have the <openssl/engine.h> header file. */ -#undef HAVE_OPENSSL_ENGINE_H - -/* Define if you have the <openssl/err.h> header file. */ -#undef HAVE_OPENSSL_ERR_H - -/* Define if you have the <openssl/pem.h> header file. */ -#undef HAVE_OPENSSL_PEM_H - -/* Define if you have the <openssl/rsa.h> header file. */ -#undef HAVE_OPENSSL_RSA_H - -/* Define if you have the <openssl/ssl.h> header file. */ -#undef HAVE_OPENSSL_SSL_H - -/* Define if you have the <openssl/x509.h> header file. */ -#undef HAVE_OPENSSL_X509_H - -/* Define if you have the <pem.h> header file. */ -#undef HAVE_PEM_H - -/* Define if you have the `perror' function. */ -#undef HAVE_PERROR - -/* Define if you have the <pwd.h> header file. */ -#undef HAVE_PWD_H - -/* Define if you have the `RAND_egd' function. */ -#undef HAVE_RAND_EGD - -/* Define if you have the `RAND_screen' function. */ -#undef HAVE_RAND_SCREEN - -/* Define if you have the `RAND_status' function. */ -#undef HAVE_RAND_STATUS - -/* Define if you have the <rsa.h> header file. */ -#undef HAVE_RSA_H - -/* Define if you have the `select' function. */ -#undef HAVE_SELECT - -/* Define if you have the `setvbuf' function. */ -#undef HAVE_SETVBUF - -/* Define if you have the <sgtty.h> header file. */ -#undef HAVE_SGTTY_H - -/* Define if you have the `sigaction' function. */ -#undef HAVE_SIGACTION - -/* Define if you have the `signal' function. */ -#undef HAVE_SIGNAL - -/* Define if you have the `socket' function. */ -#undef HAVE_SOCKET - -/* Define if you have the <ssl.h> header file. */ -#undef HAVE_SSL_H - -/* Define if you have the <stdint.h> header file. */ -#undef HAVE_STDINT_H - -/* Define if you have the <stdlib.h> header file. */ -#undef HAVE_STDLIB_H - -/* Define if you have the `strcasecmp' function. */ -#undef HAVE_STRCASECMP - -/* Define if you have the `strcmpi' function. */ -#undef HAVE_STRCMPI - -/* Define if you have the `strdup' function. */ -#undef HAVE_STRDUP - -/* Define if you have the `strftime' function. */ -#undef HAVE_STRFTIME - -/* Define if you have the `stricmp' function. */ -#undef HAVE_STRICMP - -/* Define if you have the <strings.h> header file. */ -#undef HAVE_STRINGS_H - -/* Define if you have the <string.h> header file. */ -#undef HAVE_STRING_H - -/* Define if you have the `strlcat' function. */ -#undef HAVE_STRLCAT - -/* Define if you have the `strlcpy' function. */ -#undef HAVE_STRLCPY - -/* Define if you have the `strstr' function. */ -#undef HAVE_STRSTR - -/* Define if you have the `strtok_r' function. */ -#undef HAVE_STRTOK_R - -/* Define if you have the <sys/param.h> header file. */ -#undef HAVE_SYS_PARAM_H - -/* Define if you have the <sys/select.h> header file. */ -#undef HAVE_SYS_SELECT_H - -/* Define if you have the <sys/socket.h> header file. */ -#undef HAVE_SYS_SOCKET_H - -/* Define if you have the <sys/sockio.h> header file. */ -#undef HAVE_SYS_SOCKIO_H - -/* Define if you have the <sys/stat.h> header file. */ -#undef HAVE_SYS_STAT_H - -/* Define if you have the <sys/time.h> header file. */ -#undef HAVE_SYS_TIME_H - -/* Define if you have the <sys/types.h> header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define if you have the <sys/utime.h> header file. */ -#undef HAVE_SYS_UTIME_H - -/* Define if you have the `tcgetattr' function. */ -#undef HAVE_TCGETATTR - -/* Define if you have the `tcsetattr' function. */ -#undef HAVE_TCSETATTR - -/* Define if you have the <termios.h> header file. */ -#undef HAVE_TERMIOS_H - -/* Define if you have the <termio.h> header file. */ -#undef HAVE_TERMIO_H - -/* Define if you have the <time.h> header file. */ -#undef HAVE_TIME_H - -/* Define if you have the `uname' function. */ -#undef HAVE_UNAME - -/* Define if you have the <unistd.h> header file. */ -#undef HAVE_UNISTD_H - -/* Define if you have the `utime' function. */ -#undef HAVE_UTIME - -/* Define if you have the <utime.h> header file. */ -#undef HAVE_UTIME_H - -/* Define if you have the <winsock.h> header file. */ -#undef HAVE_WINSOCK_H - -/* Define if you have the <x509.h> header file. */ -#undef HAVE_X509_H - -/* Name of package */ -#undef PACKAGE - -/* Define as the return type of signal handlers (`int' or `void'). */ -#undef RETSIGTYPE - -/* Define if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define if you can safely include both <sys/time.h> and <time.h>. */ -#undef TIME_WITH_SYS_TIME - -/* Version number of package */ -#undef VERSION - -/* Define if on AIX 3. - System headers sometimes define this. - We just want to avoid a redefinition error message. */ -#ifndef _ALL_SOURCE -# undef _ALL_SOURCE -#endif - -/* Number of bits in a file offset, on hosts where this is settable. */ -#undef _FILE_OFFSET_BITS - -/* Define for large files, on AIX-style hosts. */ -#undef _LARGE_FILES - -/* Define to empty if `const' does not conform to ANSI C. */ -#undef const - -/* type to use in place of in_addr_t if not defined */ -#undef in_addr_t - -/* Define to `unsigned' if <sys/types.h> does not define. */ -#undef size_t - -/* type to use in place of socklen_t if not defined */ -#undef socklen_t - -/* Define to `int' if <sys/types.h> does not define. */ -#undef ssize_t diff --git a/Build/source/libs/curl/lib/connect.c b/Build/source/libs/curl/lib/connect.c deleted file mode 100644 index 388c1a2bf64..00000000000 --- a/Build/source/libs/curl/lib/connect.c +++ /dev/null @@ -1,581 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2001, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: connect.c,v 1.27 2002/02/22 15:44:37 bagder Exp $ - *****************************************************************************/ - -#include "setup.h" - -#ifndef WIN32 -/* headers for non-win32 */ -#include <sys/time.h> -#include <sys/socket.h> -#include <sys/types.h> -#include <sys/ioctl.h> -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif -#ifdef HAVE_NETDB_H -#include <netdb.h> -#endif -#ifdef HAVE_FCNTL_H -#include <fcntl.h> -#endif -#ifdef HAVE_NETINET_IN_H -#include <netinet/in.h> -#endif -#ifdef HAVE_ARPA_INET_H -#include <arpa/inet.h> -#endif -#ifdef HAVE_STDLIB_H -#include <stdlib.h> /* required for free() prototype, without it, this crashes - on macos 68K */ -#endif -#ifdef VMS -#include <in.h> -#include <inet.h> -#endif - -#endif -#include <stdio.h> -#include <errno.h> -#include <string.h> - -#ifndef TRUE -#define TRUE 1 -#define FALSE 0 -#endif - -#ifdef WIN32 -#define HAVE_IOCTLSOCKET -#include <windows.h> -#include <winsock.h> -#define EINPROGRESS WSAEINPROGRESS -#define EWOULDBLOCK WSAEWOULDBLOCK -#define EISCONN WSAEISCONN -#endif - -#include "urldata.h" -#include "sendf.h" -#include "if2ip.h" - -/* The last #include file should be: */ -#ifdef MALLOCDEBUG -#include "memdebug.h" -#endif - -static -int geterrno(void) -{ -#ifdef WIN32 - return (int)GetLastError(); -#else - return errno; -#endif -} - -/************************************************************************* - * Curl_nonblock - * - * Description: - * Set the socket to either blocking or non-blocking mode. - */ - -int Curl_nonblock(int socket, /* operate on this */ - int nonblock /* TRUE or FALSE */) -{ -#undef SETBLOCK -#ifdef HAVE_O_NONBLOCK - int flags; - - flags = fcntl(socket, F_GETFL, 0); - if (TRUE == nonblock) - return fcntl(socket, F_SETFL, flags | O_NONBLOCK); - else - return fcntl(socket, F_SETFL, flags & (~O_NONBLOCK)); -#define SETBLOCK 1 -#endif - -#ifdef HAVE_FIONBIO - int flags; - - flags = nonblock; - return ioctl(socket, FIONBIO, &flags); -#define SETBLOCK 2 -#endif - -#ifdef HAVE_IOCTLSOCKET - int flags; - flags = nonblock; - return ioctlsocket(socket, FIONBIO, &flags); -#define SETBLOCK 3 -#endif - -#ifdef HAVE_IOCTLSOCKET_CASE - return IoctlSocket(socket, FIONBIO, (long)nonblock); -#define SETBLOCK 4 -#endif - -#ifdef HAVE_DISABLED_NONBLOCKING - return 0; /* returns success */ -#define SETBLOCK 5 -#endif - -#ifndef SETBLOCK -#error "no non-blocking method was found/used/set" -#endif -} - -/* - * Return 0 on fine connect, -1 on error and 1 on timeout. - */ -static -int waitconnect(int sockfd, /* socket */ - int timeout_msec) -{ - fd_set fd; - fd_set errfd; - struct timeval interval; - int rc; - - /* now select() until we get connect or timeout */ - FD_ZERO(&fd); - FD_SET(sockfd, &fd); - - FD_ZERO(&errfd); - FD_SET(sockfd, &errfd); - - interval.tv_sec = timeout_msec/1000; - timeout_msec -= interval.tv_sec*1000; - - interval.tv_usec = timeout_msec*1000; - - rc = select(sockfd+1, NULL, &fd, &errfd, &interval); - if(-1 == rc) - /* error, no connect here, try next */ - return -1; - - else if(0 == rc) - /* timeout, no connect today */ - return 1; - - if(FD_ISSET(sockfd, &errfd)) { - /* error condition caught */ - return 2; - } - - /* we have a connect! */ - return 0; -} - -#ifndef ENABLE_IPV6 -static CURLcode bindlocal(struct connectdata *conn, - int sockfd) -{ -#if !defined(WIN32)||defined(__CYGWIN32__) - /* We don't generally like checking for OS-versions, we should make this - HAVE_XXXX based, although at the moment I don't have a decent test for - this! */ - -#ifdef HAVE_INET_NTOA - -#ifndef INADDR_NONE -#define INADDR_NONE (in_addr_t) ~0 -#endif - - struct SessionHandle *data = conn->data; - - /************************************************************* - * Select device to bind socket to - *************************************************************/ - if (strlen(data->set.device)<255) { - struct sockaddr_in sa; - struct hostent *h=NULL; - char *hostdataptr=NULL; - size_t size; - char myhost[256] = ""; - in_addr_t in; - - if(Curl_if2ip(data->set.device, myhost, sizeof(myhost))) { - h = Curl_resolv(data, myhost, 0, &hostdataptr); - } - else { - if(strlen(data->set.device)>1) { - h = Curl_resolv(data, data->set.device, 0, &hostdataptr); - } - if(h) { - /* we know data->set.device is shorter than the myhost array */ - strcpy(myhost, data->set.device); - } - } - - if(! *myhost) { - /* need to fix this - h=Curl_gethost(data, - getmyhost(*myhost,sizeof(myhost)), - hostent_buf, - sizeof(hostent_buf)); - */ - return CURLE_HTTP_PORT_FAILED; - } - - infof(data, "We bind local end to %s\n", myhost); - - in=inet_addr(myhost); - if (INADDR_NONE != in) { - - if ( h ) { - memset((char *)&sa, 0, sizeof(sa)); - memcpy((char *)&sa.sin_addr, - h->h_addr, - h->h_length); - sa.sin_family = AF_INET; - sa.sin_addr.s_addr = in; - sa.sin_port = 0; /* get any port */ - - if( bind(sockfd, (struct sockaddr *)&sa, sizeof(sa)) >= 0) { - /* we succeeded to bind */ - struct sockaddr_in add; - - size = sizeof(add); - if(getsockname(sockfd, (struct sockaddr *) &add, - (socklen_t *)&size)<0) { - failf(data, "getsockname() failed"); - return CURLE_HTTP_PORT_FAILED; - } - } - else { - switch(errno) { - case EBADF: - failf(data, "Invalid descriptor: %d", errno); - break; - case EINVAL: - failf(data, "Invalid request: %d", errno); - break; - case EACCES: - failf(data, "Address is protected, user not superuser: %d", errno); - break; - case ENOTSOCK: - failf(data, - "Argument is a descriptor for a file, not a socket: %d", - errno); - break; - case EFAULT: - failf(data, "Inaccessable memory error: %d", errno); - break; - case ENAMETOOLONG: - failf(data, "Address too long: %d", errno); - break; - case ENOMEM: - failf(data, "Insufficient kernel memory was available: %d", errno); - break; - default: - failf(data, "errno %d", errno); - break; - } /* end of switch(errno) */ - - return CURLE_HTTP_PORT_FAILED; - } /* end of else */ - - } /* end of if h */ - else { - failf(data,"could't find my own IP address (%s)", myhost); - return CURLE_HTTP_PORT_FAILED; - } - } /* end of inet_addr */ - - else { - failf(data, "could't find my own IP address (%s)", myhost); - return CURLE_HTTP_PORT_FAILED; - } - - return CURLE_OK; - - } /* end of device selection support */ -#endif /* end of HAVE_INET_NTOA */ -#endif /* end of not WIN32 */ - - return CURLE_HTTP_PORT_FAILED; -} -#endif /* end of ipv4-specific section */ - -static -int socketerror(int sockfd) -{ - int err = 0; - socklen_t errSize = sizeof(err); - - if( -1 == getsockopt(sockfd, SOL_SOCKET, SO_ERROR, - (void *)&err, &errSize)) - err = geterrno(); - - return err; -} - -/* - * TCP connect to the given host with timeout, proxy or remote doesn't matter. - * There might be more than one IP address to try out. Fill in the passed - * pointer with the connected socket. - */ - -CURLcode Curl_connecthost(struct connectdata *conn, /* context */ - Curl_addrinfo *remotehost, /* use one in here */ - int port, /* connect to this */ - int *sockconn, /* the connected socket */ - Curl_ipconnect **addr) /* the one we used */ -{ - struct SessionHandle *data = conn->data; - int rc; - int sockfd=-1; - int aliasindex=0; - - struct timeval after; - struct timeval before = Curl_tvnow(); - - /************************************************************* - * Figure out what maximum time we have left - *************************************************************/ - long timeout_ms=300000; /* milliseconds, default to five minutes */ - if(data->set.timeout || data->set.connecttimeout) { - double has_passed; - - /* Evaluate in milliseconds how much time that has passed */ - has_passed = Curl_tvdiff(Curl_tvnow(), data->progress.start); - -#ifndef min -#define min(a, b) ((a) < (b) ? (a) : (b)) -#endif - - /* get the most strict timeout of the ones converted to milliseconds */ - if(data->set.timeout && data->set.connecttimeout) { - if (data->set.timeout < data->set.connecttimeout) - timeout_ms = data->set.timeout*1000; - else - timeout_ms = data->set.connecttimeout*1000; - } - else if(data->set.timeout) - timeout_ms = data->set.timeout*1000; - else - timeout_ms = data->set.connecttimeout*1000; - - /* subtract the passed time */ - timeout_ms -= (long)has_passed; - - if(timeout_ms < 0) { - /* a precaution, no need to continue if time already is up */ - failf(data, "Connection time-out"); - return CURLE_OPERATION_TIMEOUTED; - } - } - -#ifdef ENABLE_IPV6 - /* - * Connecting with IPv6 support is so much easier and cleanly done - */ - { - struct addrinfo *ai; - port =0; /* prevent compiler warning */ - - for (ai = remotehost; ai; ai = ai->ai_next, aliasindex++) { - sockfd = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol); - if (sockfd < 0) - continue; - - /* set socket non-blocking */ - Curl_nonblock(sockfd, TRUE); - - rc = connect(sockfd, ai->ai_addr, ai->ai_addrlen); - - if(-1 == rc) { - int error=geterrno(); - - switch (error) { - case EINPROGRESS: - case EWOULDBLOCK: -#if defined(EAGAIN) && EAGAIN != EWOULDBLOCK - /* On some platforms EAGAIN and EWOULDBLOCK are the - * same value, and on others they are different, hence - * the odd #if - */ - case EAGAIN: -#endif - case EINTR: - - /* asynchronous connect, wait for connect or timeout */ - rc = waitconnect(sockfd, timeout_ms); - break; - case ECONNREFUSED: /* no one listening */ - default: - /* unknown error, fallthrough and try another address! */ - failf(data, "Failed to connect"); - break; - } - } - if(0 == rc) { - /* we might be connected, if the socket says it is OK! Ask it! */ - int err; - - err = socketerror(sockfd); - if ((0 == err) || (EISCONN == err)) { - /* we are connected, awesome! */ - break; - } - /* we are _not_ connected, it was a false alert, continue please */ - } - - /* connect failed or timed out */ - sclose(sockfd); - sockfd = -1; - - /* get a new timeout for next attempt */ - after = Curl_tvnow(); - timeout_ms -= Curl_tvdiff(after, before); - if(timeout_ms < 0) { - failf(data, "connect() timed out!"); - return CURLE_OPERATION_TIMEOUTED; - } - before = after; - continue; - } - if (sockfd < 0) { - failf(data, "connect() failed"); - return CURLE_COULDNT_CONNECT; - } - - /* leave the socket in non-blocking mode */ - - if(addr) - *addr = ai; /* the address we ended up connected to */ - } -#else - /* - * Connecting with IPv4-only support - */ - if(!remotehost->h_addr_list[0]) { - /* If there is no addresses in the address list, then we return - error right away */ - failf(data, "no address available"); - return CURLE_COULDNT_CONNECT; - } - /* create an IPv4 TCP socket */ - sockfd = socket(AF_INET, SOCK_STREAM, 0); - if(-1 == sockfd) { - failf(data, "couldn't create socket"); - return CURLE_COULDNT_CONNECT; /* big time error */ - } - - if(conn->data->set.device) { - /* user selected to bind the outgoing socket to a specified "device" - before doing connect */ - CURLcode res = bindlocal(conn, sockfd); - if(res) - return res; - } - - /* Convert socket to non-blocking type */ - Curl_nonblock(sockfd, TRUE); - - /* This is the loop that attempts to connect to all IP-addresses we - know for the given host. One by one. */ - for(rc=-1, aliasindex=0; - rc && (struct in_addr *)remotehost->h_addr_list[aliasindex]; - aliasindex++) { - struct sockaddr_in serv_addr; - - /* do this nasty work to do the connect */ - memset((char *) &serv_addr, '\0', sizeof(serv_addr)); - memcpy((char *)&(serv_addr.sin_addr), - (struct in_addr *)remotehost->h_addr_list[aliasindex], - sizeof(struct in_addr)); - serv_addr.sin_family = remotehost->h_addrtype; - serv_addr.sin_port = htons(port); - - rc = connect(sockfd, (struct sockaddr *)&serv_addr, - sizeof(serv_addr)); - - if(-1 == rc) { - int error=geterrno(); - - switch (error) { - case EINPROGRESS: - case EWOULDBLOCK: -#if defined(EAGAIN) && EAGAIN != EWOULDBLOCK - /* On some platforms EAGAIN and EWOULDBLOCK are the - * same value, and on others they are different, hence - * the odd #if - */ - case EAGAIN: -#endif - - /* asynchronous connect, wait for connect or timeout */ - rc = waitconnect(sockfd, timeout_ms); - break; - default: - /* unknown error, fallthrough and try another address! */ - failf(data, "Failed to connect to IP number %d", aliasindex+1); - break; - } - } - - if(0 == rc) { - int err = socketerror(sockfd); - if ((0 == err) || (EISCONN == err)) { - /* we are connected, awesome! */ - break; - } - /* nope, not connected for real */ - rc = -1; - } - - if(0 != rc) { - /* get a new timeout for next attempt */ - after = Curl_tvnow(); - timeout_ms -= Curl_tvdiff(after, before); - if(timeout_ms < 0) { - failf(data, "Connect timeout on IP number %d", aliasindex+1); - break; - } - before = after; - continue; /* try next address */ - } - break; - } - if(0 != rc) { - /* no good connect was made */ - sclose(sockfd); - *sockconn = -1; - failf(data, "Couldn't connect to host"); - return CURLE_COULDNT_CONNECT; - } - - /* leave the socket in non-blocking mode */ - - if(addr) - /* this is the address we've connected to */ - *addr = (struct in_addr *)remotehost->h_addr_list[aliasindex]; -#endif - - /* allow NULL-pointers to get passed in */ - if(sockconn) - *sockconn = sockfd; /* the socket descriptor we've connected */ - - return CURLE_OK; -} - diff --git a/Build/source/libs/curl/lib/connect.h b/Build/source/libs/curl/lib/connect.h deleted file mode 100644 index 4047c2a5f4a..00000000000 --- a/Build/source/libs/curl/lib/connect.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef __CONNECT_H -#define __CONNECT_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2001, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: connect.h,v 1.7 2001/11/19 20:08:01 bagder Exp $ - *****************************************************************************/ - -int Curl_nonblock(int socket, /* operate on this */ - int nonblock /* TRUE or FALSE */); - -CURLcode Curl_connecthost(struct connectdata *conn, - Curl_addrinfo *host, /* connect to this */ - int port, /* connect to this port number */ - int *sockconn, /* not set if error is returned */ - Curl_ipconnect **addr /* the one we used */ - ); /* index we used */ -#endif diff --git a/Build/source/libs/curl/lib/cookie.c b/Build/source/libs/curl/lib/cookie.c deleted file mode 100644 index 687b129b375..00000000000 --- a/Build/source/libs/curl/lib/cookie.c +++ /dev/null @@ -1,738 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2002, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: cookie.c,v 1.31 2002/02/27 07:38:04 bagder Exp $ - *****************************************************************************/ - -/*** - - -RECEIVING COOKIE INFORMATION -============================ - -struct CookieInfo *cookie_init(char *file); - - Inits a cookie struct to store data in a local file. This is always - called before any cookies are set. - -int cookies_set(struct CookieInfo *cookie, char *cookie_line); - - The 'cookie_line' parameter is a full "Set-cookie:" line as - received from a server. - - The function need to replace previously stored lines that this new - line superceeds. - - It may remove lines that are expired. - - It should return an indication of success/error. - - -SENDING COOKIE INFORMATION -========================== - -struct Cookies *cookie_getlist(struct CookieInfo *cookie, - char *host, char *path, bool secure); - - For a given host and path, return a linked list of cookies that - the client should send to the server if used now. The secure - boolean informs the cookie if a secure connection is achieved or - not. - - It shall only return cookies that haven't expired. - - -Example set of cookies: - - Set-cookie: PRODUCTINFO=webxpress; domain=.fidelity.com; path=/; secure - Set-cookie: PERSONALIZE=none;expires=Monday, 13-Jun-1988 03:04:55 GMT; - domain=.fidelity.com; path=/ftgw; secure - Set-cookie: FidHist=none;expires=Monday, 13-Jun-1988 03:04:55 GMT; - domain=.fidelity.com; path=/; secure - Set-cookie: FidOrder=none;expires=Monday, 13-Jun-1988 03:04:55 GMT; - domain=.fidelity.com; path=/; secure - Set-cookie: DisPend=none;expires=Monday, 13-Jun-1988 03:04:55 GMT; - domain=.fidelity.com; path=/; secure - Set-cookie: FidDis=none;expires=Monday, 13-Jun-1988 03:04:55 GMT; - domain=.fidelity.com; path=/; secure - Set-cookie: - Session_Key@6791a9e0-901a-11d0-a1c8-9b012c88aa77=none;expires=Monday, - 13-Jun-1988 03:04:55 GMT; domain=.fidelity.com; path=/; secure -****/ - -#include "setup.h" - -#include <stdlib.h> -#include <string.h> -#include <ctype.h> - -#include "cookie.h" -#include "getdate.h" -#include "strequal.h" -#include "strtok.h" - -/* The last #include file should be: */ -#ifdef MALLOCDEBUG -#include "memdebug.h" -#endif - -/**************************************************************************** - * - * Curl_cookie_add() - * - * Add a single cookie line to the cookie keeping object. - * - ***************************************************************************/ - -struct Cookie * -Curl_cookie_add(struct CookieInfo *c, - bool httpheader, /* TRUE if HTTP header-style line */ - char *lineptr, /* first non-space of the line */ - char *domain) /* default domain */ -{ - struct Cookie *clist; - char what[MAX_COOKIE_LINE]; - char name[MAX_NAME]; - char *ptr; - char *semiptr; - struct Cookie *co; - struct Cookie *lastc=NULL; - time_t now = time(NULL); - bool replace_old = FALSE; - - /* First, alloc and init a new struct for it */ - co = (struct Cookie *)malloc(sizeof(struct Cookie)); - if(!co) - return NULL; /* bail out if we're this low on memory */ - - /* clear the whole struct first */ - memset(co, 0, sizeof(struct Cookie)); - - if(httpheader) { - /* This line was read off a HTTP-header */ - char *sep; - semiptr=strchr(lineptr, ';'); /* first, find a semicolon */ - ptr = lineptr; - do { - /* we have a <what>=<this> pair or a 'secure' word here */ - sep = strchr(ptr, '='); - if(sep && (!semiptr || (semiptr>sep)) ) { - /* - * There is a = sign and if there was a semicolon too, which make sure - * that the semicolon comes _after_ the equal sign. - */ - - name[0]=what[0]=0; /* init the buffers */ - if(1 <= sscanf(ptr, "%" MAX_NAME_TXT "[^;=]=%" - MAX_COOKIE_LINE_TXT "[^;\r\n]", - name, what)) { - /* this is a <name>=<what> pair */ - - /* Strip off trailing whitespace from the 'what' */ - int len=strlen(what); - while(len && isspace((int)what[len-1])) { - what[len-1]=0; - len--; - } - - if(strequal("path", name)) { - co->path=strdup(what); - } - else if(strequal("domain", name)) { - co->domain=strdup(what); - co->field1= (what[0]=='.')?2:1; - } - else if(strequal("version", name)) { - co->version=strdup(what); - } - else if(strequal("max-age", name)) { - /* Defined in RFC2109: - - Optional. The Max-Age attribute defines the lifetime of the - cookie, in seconds. The delta-seconds value is a decimal non- - negative integer. After delta-seconds seconds elapse, the - client should discard the cookie. A value of zero means the - cookie should be discarded immediately. - - */ - co->maxage = strdup(what); - co->expires = - atoi((*co->maxage=='\"')?&co->maxage[1]:&co->maxage[0]) + now; - } - else if(strequal("expires", name)) { - co->expirestr=strdup(what); - co->expires = curl_getdate(what, &now); - } - else if(!co->name) { - co->name = strdup(name); - co->value = strdup(what); - } - /* - else this is the second (or more) name we don't know - about! */ - } - else { - /* this is an "illegal" <what>=<this> pair */ - } - } - else { - if(sscanf(ptr, "%" MAX_COOKIE_LINE_TXT "[^;\r\n]", - what)) { - if(strequal("secure", what)) - co->secure = TRUE; - /* else, - unsupported keyword without assign! */ - - } - } - if(!semiptr || !*semiptr) { - /* we already know there are no more cookies */ - semiptr = NULL; - continue; - } - - ptr=semiptr+1; - while(ptr && *ptr && isspace((int)*ptr)) - ptr++; - semiptr=strchr(ptr, ';'); /* now, find the next semicolon */ - - if(!semiptr && *ptr) - /* There are no more semicolons, but there's a final name=value pair - coming up */ - semiptr=strchr(ptr, '\0'); - } while(semiptr); - - if(NULL == co->name) { - /* we didn't get a cookie name, this is an illegal line, bail out */ - if(co->domain) - free(co->domain); - if(co->path) - free(co->path); - if(co->name) - free(co->name); - if(co->value) - free(co->value); - free(co); - return NULL; - } - - if(NULL == co->domain) - /* no domain given in the header line, set the default now */ - co->domain=domain?strdup(domain):NULL; - } - else { - /* This line is NOT a HTTP header style line, we do offer support for - reading the odd netscape cookies-file format here */ - char *firstptr; - char *tok_buf; - int fields; - - if(lineptr[0]=='#') { - /* don't even try the comments */ - free(co); - return NULL; - } - /* strip off the possible end-of-line characters */ - ptr=strchr(lineptr, '\r'); - if(ptr) - *ptr=0; /* clear it */ - ptr=strchr(lineptr, '\n'); - if(ptr) - *ptr=0; /* clear it */ - - firstptr=strtok_r(lineptr, "\t", &tok_buf); /* first tokenize it on the TAB */ - - /* Here's a quick check to eliminate normal HTTP-headers from this */ - if(!firstptr || strchr(firstptr, ':')) { - free(co); - return NULL; - } - - /* Now loop through the fields and init the struct we already have - allocated */ - for(ptr=firstptr, fields=0; ptr; ptr=strtok_r(NULL, "\t", &tok_buf), fields++) { - switch(fields) { - case 0: - co->domain = strdup(ptr); - break; - case 1: - /* This field got its explanation on the 23rd of May 2001 by - Andrés García: - - flag: A TRUE/FALSE value indicating if all machines within a given - domain can access the variable. This value is set automatically by - the browser, depending on the value you set for the domain. - - As far as I can see, it is set to true when the cookie says - .domain.com and to false when the domain is complete www.domain.com - - We don't currently take advantage of this knowledge. - */ - co->field1=strequal(ptr, "TRUE")+1; /* store information */ - break; - case 2: - /* It turns out, that sometimes the file format allows the path - field to remain not filled in, we try to detect this and work - around it! Andrés García made us aware of this... */ - if (strcmp("TRUE", ptr) && strcmp("FALSE", ptr)) { - /* only if the path doesn't look like a boolean option! */ - co->path = strdup(ptr); - break; - } - /* this doesn't look like a path, make one up! */ - co->path = strdup("/"); - fields++; /* add a field and fall down to secure */ - /* FALLTHROUGH */ - case 3: - co->secure = strequal(ptr, "TRUE"); - break; - case 4: - co->expires = atoi(ptr); - break; - case 5: - co->name = strdup(ptr); - break; - case 6: - co->value = strdup(ptr); - break; - } - } - - if(7 != fields) { - /* we did not find the sufficient number of fields to recognize this - as a valid line, abort and go home */ - - if(co->domain) - free(co->domain); - if(co->path) - free(co->path); - if(co->name) - free(co->name); - if(co->value) - free(co->value); - - free(co); - return NULL; - } - - } - - co->livecookie = c->running; - - /* now, we have parsed the incoming line, we must now check if this - superceeds an already existing cookie, which it may if the previous have - the same domain and path as this */ - - clist = c->cookies; - replace_old = FALSE; - while(clist) { - if(strequal(clist->name, co->name)) { - /* the names are identical */ - - if(clist->domain && co->domain) { - if(strequal(clist->domain, co->domain)) - replace_old=TRUE; - } - else if(!clist->domain && !co->domain) - replace_old = TRUE; - - if(replace_old) { - /* the domains were identical */ - - if(clist->path && co->path) { - if(strequal(clist->path, co->path)) { - replace_old = TRUE; - } - else - replace_old = FALSE; - } - else if(!clist->path && !co->path) - replace_old = TRUE; - else - replace_old = FALSE; - - } - - if(replace_old && !co->livecookie && clist->livecookie) { - /* Both cookies matched fine, except that the already present - cookie is "live", which means it was set from a header, while - the new one isn't "live" and thus only read from a file. We let - live cookies stay alive */ - - /* Free the newcomer and get out of here! */ - if(co->domain) - free(co->domain); - if(co->path) - free(co->path); - if(co->name) - free(co->name); - if(co->value) - free(co->value); - - free(co); - return NULL; - } - - if(replace_old) { - co->next = clist->next; /* get the next-pointer first */ - - /* then free all the old pointers */ - if(clist->name) - free(clist->name); - if(clist->value) - free(clist->value); - if(clist->domain) - free(clist->domain); - if(clist->path) - free(clist->path); - if(clist->expirestr) - free(clist->expirestr); - - if(clist->version) - free(clist->version); - if(clist->maxage) - free(clist->maxage); - - *clist = *co; /* then store all the new data */ - - free(co); /* free the newly alloced memory */ - co = clist; /* point to the previous struct instead */ - - /* We have replaced a cookie, now skip the rest of the list but - make sure the 'lastc' pointer is properly set */ - do { - lastc = clist; - clist = clist->next; - } while(clist); - break; - } - } - lastc = clist; - clist = clist->next; - } - - if(!replace_old) { - /* then make the last item point on this new one */ - if(lastc) - lastc->next = co; - else - c->cookies = co; - } - - c->numcookies++; /* one more cookie in the jar */ - - return co; -} - -/***************************************************************************** - * - * Curl_cookie_init() - * - * Inits a cookie struct to read data from a local file. This is always - * called before any cookies are set. File may be NULL. - * - ****************************************************************************/ -struct CookieInfo *Curl_cookie_init(char *file, struct CookieInfo *inc) -{ - char line[MAX_COOKIE_LINE]; - struct CookieInfo *c; - FILE *fp; - bool fromfile=TRUE; - - if(NULL == inc) { - /* we didn't get a struct, create one */ - c = (struct CookieInfo *)malloc(sizeof(struct CookieInfo)); - if(!c) - return NULL; /* failed to get memory */ - memset(c, 0, sizeof(struct CookieInfo)); - c->filename = strdup(file?file:"none"); /* copy the name just in case */ - } - else { - /* we got an already existing one, use that */ - c = inc; - } - c->running = FALSE; /* this is not running, this is init */ - - if(file && strequal(file, "-")) { - fp = stdin; - fromfile=FALSE; - } - else - fp = file?fopen(file, "r"):NULL; - - if(fp) { - char *lineptr; - bool headerline; - while(fgets(line, MAX_COOKIE_LINE, fp)) { - if(strnequal("Set-Cookie:", line, 11)) { - /* This is a cookie line, get it! */ - lineptr=&line[11]; - headerline=TRUE; - } - else { - lineptr=line; - headerline=FALSE; - } - while(*lineptr && isspace((int)*lineptr)) - lineptr++; - - Curl_cookie_add(c, headerline, lineptr, NULL); - } - if(fromfile) - fclose(fp); - } - - c->running = TRUE; /* now, we're running */ - - return c; -} - -/***************************************************************************** - * - * Curl_cookie_getlist() - * - * For a given host and path, return a linked list of cookies that the - * client should send to the server if used now. The secure boolean informs - * the cookie if a secure connection is achieved or not. - * - * It shall only return cookies that haven't expired. - * - ****************************************************************************/ - -struct Cookie *Curl_cookie_getlist(struct CookieInfo *c, - char *host, char *path, bool secure) -{ - struct Cookie *newco; - struct Cookie *co; - time_t now = time(NULL); - int hostlen=strlen(host); - int domlen; - - struct Cookie *mainco=NULL; - - if(!c || !c->cookies) - return NULL; /* no cookie struct or no cookies in the struct */ - - co = c->cookies; - - while(co) { - /* only process this cookie if it is not expired or had no expire - date AND that if the cookie requires we're secure we must only - continue if we are! */ - if( (co->expires<=0 || (co->expires> now)) && - (co->secure?secure:TRUE) ) { - - /* now check if the domain is correct */ - domlen=co->domain?strlen(co->domain):0; - if(!co->domain || - ((domlen<=hostlen) && - strequal(host+(hostlen-domlen), co->domain)) ) { - /* the right part of the host matches the domain stuff in the - cookie data */ - - /* now check the left part of the path with the cookies path - requirement */ - if(!co->path || - strnequal(path, co->path, strlen(co->path))) { - - /* and now, we know this is a match and we should create an - entry for the return-linked-list */ - - newco = (struct Cookie *)malloc(sizeof(struct Cookie)); - if(newco) { - /* first, copy the whole source cookie: */ - memcpy(newco, co, sizeof(struct Cookie)); - - /* then modify our next */ - newco->next = mainco; - - /* point the main to us */ - mainco = newco; - } - } - } - } - co = co->next; - } - - return mainco; /* return the new list */ -} - - -/***************************************************************************** - * - * Curl_cookie_freelist() - * - * Free a list of cookies previously returned by Curl_cookie_getlist(); - * - ****************************************************************************/ - -void Curl_cookie_freelist(struct Cookie *co) -{ - struct Cookie *next; - if(co) { - while(co) { - next = co->next; - free(co); /* we only free the struct since the "members" are all - just copied! */ - co = next; - } - } -} - -/***************************************************************************** - * - * Curl_cookie_cleanup() - * - * Free a "cookie object" previous created with cookie_init(). - * - ****************************************************************************/ -void Curl_cookie_cleanup(struct CookieInfo *c) -{ - struct Cookie *co; - struct Cookie *next; - if(c) { - if(c->filename) - free(c->filename); - co = c->cookies; - - while(co) { - if(co->name) - free(co->name); - if(co->value) - free(co->value); - if(co->domain) - free(co->domain); - if(co->path) - free(co->path); - if(co->expirestr) - free(co->expirestr); - - if(co->version) - free(co->version); - if(co->maxage) - free(co->maxage); - - next = co->next; - free(co); - co = next; - } - free(c); /* free the base struct as well */ - } -} - -/* - * Curl_cookie_output() - * - * Writes all internally known cookies to the specified file. Specify - * "-" as file name to write to stdout. - * - * The function returns non-zero on write failure. - */ -int Curl_cookie_output(struct CookieInfo *c, char *dumphere) -{ - struct Cookie *co; - FILE *out; - bool use_stdout=FALSE; - - if((NULL == c) || (0 == c->numcookies)) - /* If there are no known cookies, we don't write or even create any - destination file */ - return 0; - - if(strequal("-", dumphere)) { - /* use stdout */ - out = stdout; - use_stdout=TRUE; - } - else { - out = fopen(dumphere, "w"); - if(!out) - return 1; /* failure */ - } - - if(c) { - fputs("# Netscape HTTP Cookie File\n" - "# http://www.netscape.com/newsref/std/cookie_spec.html\n" - "# This file was generated by libcurl! Edit at your own risk.\n\n", - out); - co = c->cookies; - - while(co) { - fprintf(out, - "%s\t" /* domain */ - "%s\t" /* field1 */ - "%s\t" /* path */ - "%s\t" /* secure */ - "%u\t" /* expires */ - "%s\t" /* name */ - "%s\n", /* value */ - co->domain?co->domain:"unknown", - co->field1==2?"TRUE":"FALSE", - co->path?co->path:"/", - co->secure?"TRUE":"FALSE", - (unsigned int)co->expires, - co->name, - co->value?co->value:""); - - co=co->next; - } - } - - if(!use_stdout) - fclose(out); - - return 0; -} - -#ifdef CURL_COOKIE_DEBUG - -/* - * On my Solaris box, this command line builds this test program: - * - * gcc -g -o cooktest -DCURL_COOKIE_DEBUG -DHAVE_CONFIG_H -I.. -I../include cookie.c strequal.o getdate.o memdebug.o mprintf.o strtok.o -lnsl -lsocket - * - */ - -int main(int argc, char **argv) -{ - struct CookieInfo *c=NULL; - if(argc>1) { - c = Curl_cookie_init(argv[1], c); - Curl_cookie_add(c, TRUE, "PERSONALIZE=none;expires=Monday, 13-Jun-1988 03:04:55 GMT; domain=.fidelity.com; path=/ftgw; secure"); - Curl_cookie_add(c, TRUE, "foobar=yes; domain=.haxx.se; path=/looser;"); - c = Curl_cookie_init(argv[1], c); - - Curl_cookie_output(c); - Curl_cookie_cleanup(c); - return 0; - } - return 1; -} - -#endif - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/cookie.h b/Build/source/libs/curl/lib/cookie.h deleted file mode 100644 index 4fe8e3ccc07..00000000000 --- a/Build/source/libs/curl/lib/cookie.h +++ /dev/null @@ -1,84 +0,0 @@ -#ifndef __COOKIE_H -#define __COOKIE_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: cookie.h,v 1.8 2002/02/20 13:46:53 bagder Exp $ - *****************************************************************************/ - -#include <stdio.h> -#ifdef WIN32 -#include <time.h> -#else -#include <sys/time.h> -#endif - -#include <curl/curl.h> - -struct Cookie { - struct Cookie *next; /* next in the chain */ - char *name; /* <this> = value */ - char *value; /* name = <this> */ - char *path; /* path = <this> */ - char *domain; /* domain = <this> */ - long expires; /* expires = <this> */ - char *expirestr; /* the plain text version */ - - char field1; /* read from a cookie file, 1 => FALSE, 2=> TRUE */ - - /* RFC 2109 keywords. Version=1 means 2109-compliant cookie sending */ - char *version; /* Version = <value> */ - char *maxage; /* Max-Age = <value> */ - - bool secure; /* whether the 'secure' keyword was used */ - bool livecookie; /* updated from a server, not a stored file */ -}; - -struct CookieInfo { - /* linked list of cookies we know of */ - struct Cookie *cookies; - - char *filename; /* file we read from/write to */ - bool running; /* state info, for cookie adding information */ - long numcookies; /* number of cookies in the "jar" */ -}; - -/* This is the maximum line length we accept for a cookie line */ -#define MAX_COOKIE_LINE 2048 -#define MAX_COOKIE_LINE_TXT "2047" - -/* This is the maximum length of a cookie name we deal with: */ -#define MAX_NAME 256 -#define MAX_NAME_TXT "255" - -/* - * Add a cookie to the internal list of cookies. The domain argument is only - * used if the header boolean is TRUE. - */ -struct Cookie *Curl_cookie_add(struct CookieInfo *, bool header, char *line, - char *domain); - -struct CookieInfo *Curl_cookie_init(char *, struct CookieInfo *); -struct Cookie *Curl_cookie_getlist(struct CookieInfo *, char *, char *, bool); -void Curl_cookie_freelist(struct Cookie *); -void Curl_cookie_cleanup(struct CookieInfo *); -int Curl_cookie_output(struct CookieInfo *, char *); - -#endif diff --git a/Build/source/libs/curl/lib/curllib.dsp b/Build/source/libs/curl/lib/curllib.dsp deleted file mode 100644 index 9602737d7db..00000000000 --- a/Build/source/libs/curl/lib/curllib.dsp +++ /dev/null @@ -1,394 +0,0 @@ -# Microsoft Developer Studio Project File - Name="curllib" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -CFG=curllib - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "curllib.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "curllib.mak" CFG="curllib - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "curllib - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "curllib - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "curllib - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "CURLLIB_EXPORTS" /YX /FD /c -# ADD CPP /nologo /MD /W3 /GX /Zi /O2 /I "..\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "CURLLIB_EXPORTS" /FR /FD /c -# SUBTRACT CPP /YX -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 -# ADD LINK32 kernel32.lib ws2_32.lib /nologo /dll /map /debug /machine:I386 /out:"Release/libcurl.dll" - -!ELSEIF "$(CFG)" == "curllib - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "CURLLIB_EXPORTS" /YX /FD /GZ /c -# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "CURLLIB_EXPORTS" /FR /FD /GZ /c -# SUBTRACT CPP /WX /YX -# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib ws2_32.lib /nologo /dll /incremental:no /map /debug /machine:I386 /out:"Debug/libcurl.dll" /pdbtype:sept -# SUBTRACT LINK32 /nodefaultlib - -!ENDIF - -# Begin Target - -# Name "curllib - Win32 Release" -# Name "curllib - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=.\base64.c -# End Source File -# Begin Source File - -SOURCE=.\connect.c -# End Source File -# Begin Source File - -SOURCE=.\cookie.c -# End Source File -# Begin Source File - -SOURCE=.\dict.c -# End Source File -# Begin Source File - -SOURCE=.\dllinit.c -# End Source File -# Begin Source File - -SOURCE=.\easy.c -# End Source File -# Begin Source File - -SOURCE=.\escape.c -# End Source File -# Begin Source File - -SOURCE=.\file.c -# End Source File -# Begin Source File - -SOURCE=.\formdata.c -# End Source File -# Begin Source File - -SOURCE=.\ftp.c -# End Source File -# Begin Source File - -SOURCE=.\getdate.c -# End Source File -# Begin Source File - -SOURCE=.\getenv.c -# End Source File -# Begin Source File - -SOURCE=.\getinfo.c -# End Source File -# Begin Source File - -SOURCE=.\getpass.c -# End Source File -# Begin Source File - -SOURCE=.\hash.c -# End Source File -# Begin Source File - -SOURCE=.\hostip.c -# End Source File -# Begin Source File - -SOURCE=.\http.c -# End Source File -# Begin Source File - -SOURCE=.\http_chunks.c -# End Source File -# Begin Source File - -SOURCE=.\if2ip.c -# End Source File -# Begin Source File - -SOURCE=.\krb4.c -# End Source File -# Begin Source File - -SOURCE=.\ldap.c -# End Source File -# Begin Source File - -SOURCE=.\libcurl.def -# End Source File -# Begin Source File - -SOURCE=.\llist.c -# End Source File -# Begin Source File - -SOURCE=.\memdebug.c -# End Source File -# Begin Source File - -SOURCE=.\mprintf.c -# End Source File -# Begin Source File - -SOURCE=.\netrc.c -# End Source File -# Begin Source File - -SOURCE=.\progress.c -# End Source File -# Begin Source File - -SOURCE=.\security.c -# End Source File -# Begin Source File - -SOURCE=.\sendf.c -# End Source File -# Begin Source File - -SOURCE=.\speedcheck.c -# End Source File -# Begin Source File - -SOURCE=.\ssluse.c -# End Source File -# Begin Source File - -SOURCE=.\strequal.c -# End Source File -# Begin Source File - -SOURCE=.\strtok.c -# End Source File -# Begin Source File - -SOURCE=.\telnet.c -# End Source File -# Begin Source File - -SOURCE=.\timeval.c -# End Source File -# Begin Source File - -SOURCE=.\transfer.c -# End Source File -# Begin Source File - -SOURCE=.\url.c -# End Source File -# Begin Source File - -SOURCE=.\version.c -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=.\arpa_telnet.h -# End Source File -# Begin Source File - -SOURCE=.\base64.h -# End Source File -# Begin Source File - -SOURCE=.\connect.h -# End Source File -# Begin Source File - -SOURCE=.\cookie.h -# End Source File -# Begin Source File - -SOURCE=.\dict.h -# End Source File -# Begin Source File - -SOURCE=.\escape.h -# End Source File -# Begin Source File - -SOURCE=.\file.h -# End Source File -# Begin Source File - -SOURCE=.\formdata.h -# End Source File -# Begin Source File - -SOURCE=.\ftp.h -# End Source File -# Begin Source File - -SOURCE=.\getdate.h -# End Source File -# Begin Source File - -SOURCE=.\getenv.h -# End Source File -# Begin Source File - -SOURCE=.\getpass.h -# End Source File -# Begin Source File - -SOURCE=.\hostip.h -# End Source File -# Begin Source File - -SOURCE=.\http.h -# End Source File -# Begin Source File - -SOURCE=.\http_chunks.h -# End Source File -# Begin Source File - -SOURCE=.\if2ip.h -# End Source File -# Begin Source File - -SOURCE=.\inet_ntoa_r.h -# End Source File -# Begin Source File - -SOURCE=.\krb4.h -# End Source File -# Begin Source File - -SOURCE=.\ldap.h -# End Source File -# Begin Source File - -SOURCE=.\memdebug.h -# End Source File -# Begin Source File - -SOURCE=.\netrc.h -# End Source File -# Begin Source File - -SOURCE=.\progress.h -# End Source File -# Begin Source File - -SOURCE=.\security.h -# End Source File -# Begin Source File - -SOURCE=.\sendf.h -# End Source File -# Begin Source File - -SOURCE=.\setup.h -# End Source File -# Begin Source File - -SOURCE=.\speedcheck.h -# End Source File -# Begin Source File - -SOURCE=.\ssluse.h -# End Source File -# Begin Source File - -SOURCE=.\strequal.h -# End Source File -# Begin Source File - -SOURCE=.\strtok.h -# End Source File -# Begin Source File - -SOURCE=.\telnet.h -# End Source File -# Begin Source File - -SOURCE=.\timeval.h -# End Source File -# Begin Source File - -SOURCE=.\transfer.h -# End Source File -# Begin Source File - -SOURCE=.\url.h -# End Source File -# Begin Source File - -SOURCE=.\urldata.h -# End Source File -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/Build/source/libs/curl/lib/curllib.dsw b/Build/source/libs/curl/lib/curllib.dsw deleted file mode 100644 index 5e643dbda17..00000000000 --- a/Build/source/libs/curl/lib/curllib.dsw +++ /dev/null @@ -1,29 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "curllib"=".\curllib.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/Build/source/libs/curl/lib/dict.c b/Build/source/libs/curl/lib/dict.c deleted file mode 100644 index d49eade9473..00000000000 --- a/Build/source/libs/curl/lib/dict.c +++ /dev/null @@ -1,241 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: dict.c,v 1.20 2001/12/11 13:13:01 bagder Exp $ - *****************************************************************************/ - -#include "setup.h" - -/* -- WIN32 approved -- */ -#include <stdio.h> -#include <string.h> -#include <stdarg.h> -#include <stdlib.h> -#include <ctype.h> -#include <sys/types.h> -#include <sys/stat.h> - -#include <errno.h> - -#if defined(WIN32) && !defined(__GNUC__) || defined(__MINGW32__) -#include <winsock.h> -#include <time.h> -#include <io.h> -#else -#ifdef HAVE_SYS_SOCKET_H -#include <sys/socket.h> -#endif -#include <netinet/in.h> -#include <sys/time.h> -#include <sys/resource.h> -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif -#include <netdb.h> -#ifdef HAVE_ARPA_INET_H -#include <arpa/inet.h> -#endif -#ifdef HAVE_NET_IF_H -#include <net/if.h> -#endif -#include <sys/ioctl.h> -#include <signal.h> - -#ifdef HAVE_SYS_PARAM_H -#include <sys/param.h> -#endif - -#ifdef HAVE_SYS_SELECT_H -#include <sys/select.h> -#endif - - -#endif - -#include "urldata.h" -#include <curl/curl.h> -#include "transfer.h" -#include "sendf.h" - -#include "progress.h" -#include "strequal.h" - -#define _MPRINTF_REPLACE /* use our functions only */ -#include <curl/mprintf.h> - -CURLcode Curl_dict(struct connectdata *conn) -{ - int nth; - char *word; - char *ppath; - char *database = NULL; - char *strategy = NULL; - char *nthdef = NULL; /* This is not part of the protocol, but required - by RFC 2229 */ - CURLcode result=CURLE_OK; - struct SessionHandle *data=conn->data; - - char *path = conn->path; - long *bytecount = &conn->bytecount; - - if(conn->bits.user_passwd) { - /* AUTH is missing */ - } - - if (strnequal(path, DICT_MATCH, sizeof(DICT_MATCH)-1) || - strnequal(path, DICT_MATCH2, sizeof(DICT_MATCH2)-1) || - strnequal(path, DICT_MATCH3, sizeof(DICT_MATCH3)-1)) { - - word = strchr(path, ':'); - if (word) { - word++; - database = strchr(word, ':'); - if (database) { - *database++ = (char)0; - strategy = strchr(database, ':'); - if (strategy) { - *strategy++ = (char)0; - nthdef = strchr(strategy, ':'); - if (nthdef) { - *nthdef++ = (char)0; - } - } - } - } - - if ((word == NULL) || (*word == (char)0)) { - failf(data, "lookup word is missing"); - } - if ((database == NULL) || (*database == (char)0)) { - database = (char *)"!"; - } - if ((strategy == NULL) || (*strategy == (char)0)) { - strategy = (char *)"."; - } - if ((nthdef == NULL) || (*nthdef == (char)0)) { - nth = 0; - } - else { - nth = atoi(nthdef); - } - - result = Curl_sendf(conn->firstsocket, conn, - "CLIENT " LIBCURL_NAME " " LIBCURL_VERSION "\n" - "MATCH " - "%s " /* database */ - "%s " /* strategy */ - "%s\n" /* word */ - "QUIT\n", - - database, - strategy, - word - ); - if(result) - failf(data, "Failed sending DICT request"); - else - result = Curl_Transfer(conn, conn->firstsocket, -1, FALSE, bytecount, - -1, NULL); /* no upload */ - if(result) - return result; - } - else if (strnequal(path, DICT_DEFINE, sizeof(DICT_DEFINE)-1) || - strnequal(path, DICT_DEFINE2, sizeof(DICT_DEFINE2)-1) || - strnequal(path, DICT_DEFINE3, sizeof(DICT_DEFINE3)-1)) { - - word = strchr(path, ':'); - if (word) { - word++; - database = strchr(word, ':'); - if (database) { - *database++ = (char)0; - nthdef = strchr(database, ':'); - if (nthdef) { - *nthdef++ = (char)0; - } - } - } - - if ((word == NULL) || (*word == (char)0)) { - failf(data, "lookup word is missing"); - } - if ((database == NULL) || (*database == (char)0)) { - database = (char *)"!"; - } - if ((nthdef == NULL) || (*nthdef == (char)0)) { - nth = 0; - } - else { - nth = atoi(nthdef); - } - - result = Curl_sendf(conn->firstsocket, conn, - "CLIENT " LIBCURL_NAME " " LIBCURL_VERSION "\n" - "DEFINE " - "%s " /* database */ - "%s\n" /* word */ - "QUIT\n", - database, - word); - if(result) - failf(data, "Failed sending DICT request"); - else - result = Curl_Transfer(conn, conn->firstsocket, -1, FALSE, bytecount, - -1, NULL); /* no upload */ - - if(result) - return result; - - } - else { - - ppath = strchr(path, '/'); - if (ppath) { - int i; - - ppath++; - for (i = 0; ppath[i]; i++) { - if (ppath[i] == ':') - ppath[i] = ' '; - } - result = Curl_sendf(conn->firstsocket, conn, - "CLIENT " LIBCURL_NAME " " LIBCURL_VERSION "\n" - "%s\n" - "QUIT\n", ppath); - if(result) - failf(data, "Failed sending DICT request"); - else - result = Curl_Transfer(conn, conn->firstsocket, -1, FALSE, bytecount, - -1, NULL); - if(result) - return result; - } - } - - return CURLE_OK; -} - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/dict.h b/Build/source/libs/curl/lib/dict.h deleted file mode 100644 index cd15695e4e4..00000000000 --- a/Build/source/libs/curl/lib/dict.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef __DICT_H -#define __DICT_H - -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: dict.h,v 1.6 2001/01/05 10:11:42 bagder Exp $ - *****************************************************************************/ -CURLcode Curl_dict(struct connectdata *conn); -CURLcode Curl_dict_done(struct connectdata *conn); - -#endif diff --git a/Build/source/libs/curl/lib/dllinit.c b/Build/source/libs/curl/lib/dllinit.c deleted file mode 100644 index 5d2da2c9a9b..00000000000 --- a/Build/source/libs/curl/lib/dllinit.c +++ /dev/null @@ -1,96 +0,0 @@ -#ifdef WIN32 -/* dllinit.c -- Portable DLL initialization. - Copyright (C) 1998, 1999 Free Software Foundation, Inc. - Contributed by Mumit Khan (khan@xraylith.wisc.edu). - - I've used DllMain as the DLL "main" since that's the most common - usage. MSVC and Mingw32 both default to DllMain as the standard - callback from the linker entry point. Cygwin, as of b20.1, also - uses DllMain as the default callback from the entry point. - - The real entry point is typically always defined by the runtime - library, and usually never overridden by (casual) user. What you can - override however is the callback routine that the entry point calls, - and this file provides such a callback function, DllMain. - - Mingw32: The default entry point for mingw32 is DllMainCRTStartup - which is defined in libmingw32.a This in turn calls DllMain which is - defined here. If not defined, there is a stub in libmingw32.a which - does nothing. - - Cygwin: The default entry point for Cygwin b20.1 or newer is - __cygwin_dll_entry which is defined in libcygwin.a. This in turn - calls the routine DllMain. If not defined, there is a stub in - libcygwin.a which does nothing. - - MSVC: MSVC runtime calls DllMain, just like Mingw32. - - Summary: If you need to do anything special in DllMain, just add it - here. Otherwise, the default setup should be just fine for 99%+ of - the time. I strongly suggest that you *not* change the entry point, - but rather change DllMain as appropriate. - - */ - - -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#undef WIN32_LEAN_AND_MEAN -#include <stdio.h> - -BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, - LPVOID reserved /* Not used. */ ); - -/* - *---------------------------------------------------------------------- - * - * DllMain -- - * - * This routine is called by the Mingw32, Cygwin32 or VC++ C run - * time library init code, or the Borland DllEntryPoint routine. It - * is responsible for initializing various dynamically loaded - * libraries. - * - * Results: - * TRUE on sucess, FALSE on failure. - * - * Side effects: - * - *---------------------------------------------------------------------- - */ -BOOL APIENTRY -DllMain ( - HINSTANCE hInst /* Library instance handle. */ , - DWORD reason /* Reason this function is being called. */ , - LPVOID reserved /* Not used. */ ) -{ - - switch (reason) - { - case DLL_PROCESS_ATTACH: - break; - - case DLL_PROCESS_DETACH: - break; - - case DLL_THREAD_ATTACH: - break; - - case DLL_THREAD_DETACH: - break; - } - return TRUE; -} -#else -#ifdef VMS -int VOID_VAR_DLLINIT; -#endif -#endif - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/easy.c b/Build/source/libs/curl/lib/easy.c deleted file mode 100644 index 1ba85584c71..00000000000 --- a/Build/source/libs/curl/lib/easy.c +++ /dev/null @@ -1,340 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: easy.c,v 1.28 2002/01/07 20:52:32 bumblebury Exp $ - *****************************************************************************/ - -#include "setup.h" - -/* -- WIN32 approved -- */ -#include <stdio.h> -#include <string.h> -#include <stdarg.h> -#include <stdlib.h> -#include <ctype.h> -#include <sys/types.h> -#include <sys/stat.h> - -#include <errno.h> - -#include "strequal.h" - -#if defined(WIN32) && !defined(__GNUC__) || defined(__MINGW32__) -#include <winsock.h> -#include <time.h> -#include <io.h> -#else -#ifdef HAVE_SYS_SOCKET_H -#include <sys/socket.h> -#endif -#include <netinet/in.h> -#include <sys/time.h> -#include <sys/resource.h> -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif -#include <netdb.h> -#ifdef HAVE_ARPA_INET_H -#include <arpa/inet.h> -#endif -#ifdef HAVE_NET_IF_H -#include <net/if.h> -#endif -#include <sys/ioctl.h> -#include <signal.h> - -#ifdef HAVE_SYS_PARAM_H -#include <sys/param.h> -#endif - -#ifdef HAVE_SYS_SELECT_H -#include <sys/select.h> -#endif - -#endif - -#include "urldata.h" -#include <curl/curl.h> -#include "transfer.h" -#include "ssluse.h" -#include "url.h" -#include "getinfo.h" -#include "hostip.h" - -#define _MPRINTF_REPLACE /* use our functions only */ -#include <curl/mprintf.h> - - -/* Silly win32 socket initialization functions */ - -#if defined(WIN32) && !defined(__GNUC__) || defined(__MINGW32__) -static void win32_cleanup(void) -{ - WSACleanup(); -} - -static CURLcode win32_init(void) -{ - WORD wVersionRequested; - WSADATA wsaData; - int err; - wVersionRequested = MAKEWORD(2, 0); - - err = WSAStartup(wVersionRequested, &wsaData); - - if (err != 0) - /* Tell the user that we couldn't find a useable */ - /* winsock.dll. */ - return CURLE_FAILED_INIT; - - /* Confirm that the Windows Sockets DLL supports 2.0.*/ - /* Note that if the DLL supports versions greater */ - /* than 2.0 in addition to 2.0, it will still return */ - /* 2.0 in wVersion since that is the version we */ - /* requested. */ - - if ( LOBYTE( wsaData.wVersion ) != 2 || - HIBYTE( wsaData.wVersion ) != 0 ) { - /* Tell the user that we couldn't find a useable */ - - /* winsock.dll. */ - WSACleanup(); - return CURLE_FAILED_INIT; - } - return CURLE_OK; -} -/* The Windows Sockets DLL is acceptable. Proceed. */ -#else -/* These functions exist merely to prevent compiler warnings */ -static CURLcode win32_init(void) { return CURLE_OK; } -static void win32_cleanup(void) { } -#endif - - -/* true globals -- for curl_global_init() and curl_global_cleanup() */ -static unsigned int initialized = 0; -static long init_flags = 0; - -/** - * Globally initializes cURL given a bitwise set of - * the different features to initialize. - */ -CURLcode curl_global_init(long flags) -{ - if (initialized) - return CURLE_OK; - - if (flags & CURL_GLOBAL_SSL) - Curl_SSL_init(); - - if (flags & CURL_GLOBAL_WIN32) - if (win32_init() != CURLE_OK) - return CURLE_FAILED_INIT; - - initialized = 1; - init_flags = flags; - - return CURLE_OK; -} - -/** - * Globally cleanup cURL, uses the value of "init_flags" to determine - * what needs to be cleaned up and what doesn't - */ -void curl_global_cleanup(void) -{ - if (!initialized) - return; - - Curl_global_host_cache_dtor(); - - if (init_flags & CURL_GLOBAL_SSL) - Curl_SSL_cleanup(); - - if (init_flags & CURL_GLOBAL_WIN32) - win32_cleanup(); - - initialized = 0; - init_flags = 0; -} - -CURL *curl_easy_init(void) -{ - CURLcode res; - struct SessionHandle *data; - - /* Make sure we inited the global SSL stuff */ - if (!initialized) - curl_global_init(CURL_GLOBAL_DEFAULT); - - /* We use curl_open() with undefined URL so far */ - res = Curl_open(&data); - if(res != CURLE_OK) - return NULL; - - return data; -} - -typedef int (*func_T)(void); -CURLcode curl_easy_setopt(CURL *curl, CURLoption tag, ...) -{ - va_list arg; - func_T param_func = (func_T)0; - long param_long = 0; - void *param_obj = NULL; - struct SessionHandle *data = curl; - - va_start(arg, tag); - - /* PORTING NOTE: - Object pointers can't necessarily be casted to function pointers and - therefore we need to know what type it is and read the correct type - at once. This should also correct problems with different sizes of - the types. - */ - - if(tag < CURLOPTTYPE_OBJECTPOINT) { - /* This is a LONG type */ - param_long = va_arg(arg, long); - Curl_setopt(data, tag, param_long); - } - else if(tag < CURLOPTTYPE_FUNCTIONPOINT) { - /* This is a object pointer type */ - param_obj = va_arg(arg, void *); - Curl_setopt(data, tag, param_obj); - } - else { - param_func = va_arg(arg, func_T ); - Curl_setopt(data, tag, param_func); - } - - va_end(arg); - return CURLE_OK; -} - -CURLcode curl_easy_perform(CURL *curl) -{ - struct SessionHandle *data = (struct SessionHandle *)curl; - - if (!data->hostcache) { - if (Curl_global_host_cache_use(data)) { - data->hostcache = Curl_global_host_cache_get(); - } - else { - data->hostcache = curl_hash_alloc(7, Curl_freeaddrinfo); - } - } - - return Curl_perform(data); -} - -void curl_easy_cleanup(CURL *curl) -{ - struct SessionHandle *data = (struct SessionHandle *)curl; - if (!Curl_global_host_cache_use(data)) { - curl_hash_destroy(data->hostcache); - } - Curl_close(data); -} - -CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ...) -{ - va_list arg; - void *paramp; - struct SessionHandle *data = (struct SessionHandle *)curl; - - va_start(arg, info); - paramp = va_arg(arg, void *); - - return Curl_getinfo(data, info, paramp); -} - -CURL *curl_easy_duphandle(CURL *incurl) -{ - struct SessionHandle *data=(struct SessionHandle *)incurl; - - struct SessionHandle *outcurl = (struct SessionHandle *) - malloc(sizeof(struct SessionHandle)); - - if(NULL == outcurl) - return NULL; /* failure */ - - /* start with clearing the entire new struct */ - memset(outcurl, 0, sizeof(struct SessionHandle)); - - /* - * We setup a few buffers we need. We should probably make them - * get setup on-demand in the code, as that would probably decrease - * the likeliness of us forgetting to init a buffer here in the future. - */ - outcurl->state.headerbuff=(char*)malloc(HEADERSIZE); - if(!outcurl->state.headerbuff) { - free(outcurl); /* free the memory again */ - return NULL; - } - outcurl->state.headersize=HEADERSIZE; - - /* copy all userdefined values */ - outcurl->set = data->set; - outcurl->state.numconnects = data->state.numconnects; - outcurl->state.connects = (struct connectdata **) - malloc(sizeof(struct connectdata *) * outcurl->state.numconnects); - - if(!outcurl->state.connects) { - free(outcurl->state.headerbuff); - free(outcurl); - return NULL; - } - memset(outcurl->state.connects, 0, - sizeof(struct connectdata *)*outcurl->state.numconnects); - - outcurl->progress.flags = data->progress.flags; - outcurl->progress.callback = data->progress.callback; - - if(data->cookies) - /* If cookies are enabled in the parent handle, we enable them - in the clone as well! */ - outcurl->cookies = Curl_cookie_init(data->cookies->filename, - outcurl->cookies); - - /* duplicate all values in 'change' */ - if(data->change.url) { - outcurl->change.url = strdup(data->change.url); - outcurl->change.url_alloc = TRUE; - } - if(data->change.proxy) { - outcurl->change.proxy = strdup(data->change.proxy); - outcurl->change.proxy_alloc = TRUE; - } - if(data->change.referer) { - outcurl->change.referer = strdup(data->change.referer); - outcurl->change.referer_alloc = TRUE; - } - - return outcurl; -} - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/escape.c b/Build/source/libs/curl/lib/escape.c deleted file mode 100644 index 1b6b0536a28..00000000000 --- a/Build/source/libs/curl/lib/escape.c +++ /dev/null @@ -1,120 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: escape.c,v 1.18 2001/10/11 09:32:19 bumblebury Exp $ - *****************************************************************************/ - -/* Escape and unescape URL encoding in strings. The functions return a new - * allocated string or NULL if an error occurred. */ - -#include "setup.h" -#include <ctype.h> -#include <curl/curl.h> - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -/* The last #include file should be: */ -#ifdef MALLOCDEBUG -#include "memdebug.h" -#endif - -char *curl_escape(const char *string, int length) -{ - int alloc = (length?length:(int)strlen(string))+1; - char *ns = malloc(alloc); - unsigned char in; - int newlen = alloc; - int index=0; - - length = alloc-1; - while(length--) { - in = *string; - if(' ' == in) - ns[index++] = '+'; - else if(!(in >= 'a' && in <= 'z') && - !(in >= 'A' && in <= 'Z') && - !(in >= '0' && in <= '9')) { - /* encode it */ - newlen += 2; /* the size grows with two, since this'll become a %XX */ - if(newlen > alloc) { - alloc *= 2; - ns = realloc(ns, alloc); - if(!ns) - return NULL; - } - sprintf(&ns[index], "%%%02X", in); - - index+=3; - } - else { - /* just copy this */ - ns[index++]=in; - } - string++; - } - ns[index]=0; /* terminate it */ - return ns; -} - -char *curl_unescape(const char *string, int length) -{ - int alloc = (length?length:(int)strlen(string))+1; - char *ns = malloc(alloc); - unsigned char in; - int index=0; - unsigned int hex; - char querypart=FALSE; /* everything to the right of a '?' letter is - the "query part" where '+' should become ' '. - RFC 2316, section 3.10 */ - - while(--alloc > 0) { - in = *string; - if(querypart && ('+' == in)) - in = ' '; - else if(!querypart && ('?' == in)) { - /* we have "walked in" to the query part */ - querypart=TRUE; - } - else if('%' == in) { - /* encoded part */ - if(sscanf(string+1, "%02X", &hex)) { - in = hex; - string+=2; - alloc-=2; - } - } - - ns[index++] = in; - string++; - } - ns[index]=0; /* terminate it */ - return ns; - -} - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/escape.h b/Build/source/libs/curl/lib/escape.h deleted file mode 100644 index 0aef6da98ed..00000000000 --- a/Build/source/libs/curl/lib/escape.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef __ESCAPE_H -#define __ESCAPE_H - -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: escape.h,v 1.7 2001/08/21 13:18:07 bagder Exp $ - *****************************************************************************/ -/* Escape and unescape URL encoding in strings. The functions return a new - * allocated string or NULL if an error occurred. */ - -char *curl_escape(const char *string, int length); -char *curl_unescape(const char *string, int length); - -#endif diff --git a/Build/source/libs/curl/lib/file.c b/Build/source/libs/curl/lib/file.c deleted file mode 100644 index 2f5f318e721..00000000000 --- a/Build/source/libs/curl/lib/file.c +++ /dev/null @@ -1,206 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: file.c,v 1.22 2001/10/11 09:32:19 bumblebury Exp $ - *****************************************************************************/ - -#include "setup.h" - -/* -- WIN32 approved -- */ -#include <stdio.h> -#include <string.h> -#include <stdarg.h> -#include <stdlib.h> -#include <ctype.h> -#include <sys/types.h> -#include <sys/stat.h> - -#include <errno.h> - -#if defined(WIN32) && !defined(__GNUC__) || defined(__MINGW32__) -#include <winsock.h> -#include <time.h> -#include <io.h> -#include <fcntl.h> -#else -#ifdef HAVE_SYS_SOCKET_H -#include <sys/socket.h> -#endif -#ifdef HAVE_NETINET_IN_H -#include <netinet/in.h> -#endif -#include <sys/time.h> -#include <sys/resource.h> -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif -#ifdef HAVE_NETDB_H -#include <netdb.h> -#endif -#ifdef HAVE_ARPA_INET_H -#include <arpa/inet.h> -#endif -#ifdef HAVE_NET_IF_H -#include <net/if.h> -#endif -#include <sys/ioctl.h> -#include <signal.h> - -#ifdef HAVE_SYS_PARAM_H -#include <sys/param.h> -#endif - -#ifdef HAVE_SYS_STAT_H -#include <sys/stat.h> -#endif -#ifdef HAVE_FCNTL_H -#include <fcntl.h> -#endif - - -#endif - -#include "urldata.h" -#include <curl/curl.h> -#include "progress.h" -#include "sendf.h" -#include "escape.h" - -#define _MPRINTF_REPLACE /* use our functions only */ -#include <curl/mprintf.h> - -/* The last #include file should be: */ -#ifdef MALLOCDEBUG -#include "memdebug.h" -#endif - -/* Emulate a connect-then-transfer protocol. We connect to the file here */ -CURLcode Curl_file_connect(struct connectdata *conn) -{ - char *actual_path = curl_unescape(conn->path, 0); - struct FILE *file; - int fd; -#if defined(WIN32) || defined(__EMX__) - int i; -#endif - - file = (struct FILE *)malloc(sizeof(struct FILE)); - if(!file) - return CURLE_OUT_OF_MEMORY; - - memset(file, 0, sizeof(struct FILE)); - conn->proto.file = file; - -#if defined(WIN32) || defined(__EMX__) - /* change path separators from '/' to '\\' for Windows and OS/2 */ - for (i=0; actual_path[i] != '\0'; ++i) - if (actual_path[i] == '/') - actual_path[i] = '\\'; - - fd = open(actual_path, O_RDONLY | O_BINARY); /* no CR/LF translation! */ -#else - fd = open(actual_path, O_RDONLY); -#endif - free(actual_path); - - if(fd == -1) { - failf(conn->data, "Couldn't open file %s", conn->path); - return CURLE_FILE_COULDNT_READ_FILE; - } - file->fd = fd; - - return CURLE_OK; -} - -/* This is the do-phase, separated from the connect-phase above */ - -CURLcode Curl_file(struct connectdata *conn) -{ - /* This implementation ignores the host name in conformance with - RFC 1738. Only local files (reachable via the standard file system) - are supported. This means that files on remotely mounted directories - (via NFS, Samba, NT sharing) can be accessed through a file:// URL - */ - CURLcode res = CURLE_OK; - struct stat statbuf; - ssize_t expected_size=-1; - ssize_t nread; - struct SessionHandle *data = conn->data; - char *buf = data->state.buffer; - int bytecount = 0; - struct timeval start = Curl_tvnow(); - struct timeval now = start; - int fd; - - /* get the fd from the connection phase */ - fd = conn->proto.file->fd; - -/*VMS?? -- This only works reliable for STREAMLF files */ - if( -1 != fstat(fd, &statbuf)) { - /* we could stat it, then read out the size */ - expected_size = statbuf.st_size; - } - - /* The following is a shortcut implementation of file reading - this is both more efficient than the former call to download() and - it avoids problems with select() and recv() on file descriptors - in Winsock */ - if(expected_size != -1) - Curl_pgrsSetDownloadSize(data, expected_size); - - while (res == CURLE_OK) { - nread = read(fd, buf, BUFSIZE-1); - - if ( nread > 0) - buf[nread] = 0; - - if (nread <= 0) - break; - - bytecount += nread; - /* NOTE: The following call to fwrite does CR/LF translation on - Windows systems if the target is stdout. Use -O or -o parameters - to prevent CR/LF translation (this then goes to a binary mode - file descriptor). */ - - res = Curl_client_write(data, CLIENTWRITE_BODY, buf, nread); - if(res) - return res; - - now = Curl_tvnow(); - if(Curl_pgrsUpdate(conn)) - res = CURLE_ABORTED_BY_CALLBACK; - } - now = Curl_tvnow(); - if(Curl_pgrsUpdate(conn)) - res = CURLE_ABORTED_BY_CALLBACK; - - close(fd); - - return res; -} - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/file.h b/Build/source/libs/curl/lib/file.h deleted file mode 100644 index 812009c693d..00000000000 --- a/Build/source/libs/curl/lib/file.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef __FILE_H -#define __FILE_H - -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: file.h,v 1.6 2001/03/05 13:39:01 bagder Exp $ - *****************************************************************************/ -CURLcode Curl_file(struct connectdata *conn); -CURLcode Curl_file_connect(struct connectdata *conn); -#endif diff --git a/Build/source/libs/curl/lib/formdata.c b/Build/source/libs/curl/lib/formdata.c deleted file mode 100644 index 2a0fc3068d8..00000000000 --- a/Build/source/libs/curl/lib/formdata.c +++ /dev/null @@ -1,1501 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2001, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: formdata.c,v 1.31 2002/02/06 15:48:53 bagder Exp $ - *****************************************************************************/ - -/* - Debug the form generator stand-alone by compiling this source file with: - - gcc -DHAVE_CONFIG_H -I../ -g -D_FORM_DEBUG -o formdata -I../include formdata.c strequal.c - - run the 'formdata' executable the output should end with: - All Tests seem to have worked ... - and the following parts should be there: - -Content-Disposition: form-data; name="simple_COPYCONTENTS" -value for simple COPYCONTENTS - -Content-Disposition: form-data; name="COPYCONTENTS_+_CONTENTTYPE" -Content-Type: image/gif -value for COPYCONTENTS + CONTENTTYPE - -Content-Disposition: form-data; name="PRNAME_+_NAMELENGTH_+_COPYNAME_+_CONTENTSLENGTH" -vlue for PTRNAME + NAMELENGTH + COPYNAME + CONTENTSLENGTH -(or you might see P^@RNAME and v^@lue at the start) - -Content-Disposition: form-data; name="simple_PTRCONTENTS" -value for simple PTRCONTENTS - -Content-Disposition: form-data; name="PTRCONTENTS_+_CONTENTSLENGTH" -vlue for PTRCONTENTS + CONTENTSLENGTH -(or you might see v^@lue at the start) - -Content-Disposition: form-data; name="PTRCONTENTS_+_CONTENTSLENGTH_+_CONTENTTYPE" -Content-Type: text/plain -vlue for PTRCOTNENTS + CONTENTSLENGTH + CONTENTTYPE -(or you might see v^@lue at the start) - -Content-Disposition: form-data; name="FILE1_+_CONTENTTYPE"; filename="inet_ntoa_r.h" -Content-Type: text/html -... - -Content-Disposition: form-data; name="FILE1_+_FILE2" -Content-Type: multipart/mixed, boundary=curlz1s0dkticx49MV1KGcYP5cvfSsz -... -Content-Disposition: attachment; filename="inet_ntoa_r.h" -Content-Type: text/plain -... -Content-Disposition: attachment; filename="Makefile.b32.resp" -Content-Type: text/plain -... - -Content-Disposition: form-data; name="FILE1_+_FILE2_+_FILE3" -Content-Type: multipart/mixed, boundary=curlirkYPmPwu6FrJ1vJ1u1BmtIufh1 -... -Content-Disposition: attachment; filename="inet_ntoa_r.h" -Content-Type: text/plain -... -Content-Disposition: attachment; filename="Makefile.b32.resp" -Content-Type: text/plain -... -Content-Disposition: attachment; filename="inet_ntoa_r.h" -Content-Type: text/plain -... - - -Content-Disposition: form-data; name="ARRAY: FILE1_+_FILE2_+_FILE3" -Content-Type: multipart/mixed, boundary=curlirkYPmPwu6FrJ1vJ1u1BmtIufh1 -... -Content-Disposition: attachment; filename="inet_ntoa_r.h" -Content-Type: text/plain -... -Content-Disposition: attachment; filename="Makefile.b32.resp" -Content-Type: text/plain -... -Content-Disposition: attachment; filename="inet_ntoa_r.h" -Content-Type: text/plain -... - -Content-Disposition: form-data; name="FILECONTENT" -... - - For the old FormParse used by curl_formparse use: - - gcc -DHAVE_CONFIG_H -I../ -g -D_OLD_FORM_DEBUG -o formdata -I../include formdata.c strequal.c - - run the 'formdata' executable and make sure the output is ok! - - try './formdata "name=Daniel" "poo=noo" "foo=bar"' and similarly - - */ - -#include "setup.h" - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <stdarg.h> - -#include <time.h> - -#include <curl/curl.h> -#include "formdata.h" - -#include "strequal.h" - -/* The last #include file should be: */ -#ifdef MALLOCDEBUG -#include "memdebug.h" -#endif - -/* Length of the random boundary string. The risk of this being used - in binary data is very close to zero, 64^32 makes - 6277101735386680763835789423207666416102355444464034512896 - combinations... */ -#define BOUNDARY_LENGTH 32 - -/* What kind of Content-Type to use on un-specified files with unrecognized - extensions. */ -#define HTTPPOST_CONTENTTYPE_DEFAULT "text/plain" - -/* This is a silly duplicate of the function in main.c to enable this source - to compile stand-alone for better debugging */ -static void GetStr(char **string, - const char *value) -{ - if(*string) - free(*string); - *string = strdup(value); -} - -/*************************************************************************** - * - * FormParse() - * - * Reads a 'name=value' paramter and builds the appropriate linked list. - * - * Specify files to upload with 'name=@filename'. Supports specified - * given Content-Type of the files. Such as ';type=<content-type>'. - * - * You may specify more than one file for a single name (field). Specify - * multiple files by writing it like: - * - * 'name=@filename,filename2,filename3' - * - * If you want content-types specified for each too, write them like: - * - * 'name=@filename;type=image/gif,filename2,filename3' - * - ***************************************************************************/ - -#define FORM_FILE_SEPARATOR ',' -#define FORM_TYPE_SEPARATOR ';' - -static -int FormParse(char *input, - struct HttpPost **httppost, - struct HttpPost **last_post) -{ - /* nextarg MUST be a string in the format 'name=contents' and we'll - build a linked list with the info */ - char name[256]; - char *contents; - char major[128]; - char minor[128]; - long flags = 0; - char *contp; - const char *type = NULL; - char *prevtype = NULL; - char *sep; - char *sep2; - struct HttpPost *post; - struct HttpPost *subpost; /* a sub-node */ - unsigned int i; - - /* Preallocate contents to the length of input to make sure we don't - overwrite anything. */ - contents = malloc(strlen(input)); - contents[0] = '\000'; - - if(1 <= sscanf(input, "%255[^=]=%[^\n]", name, contents)) { - /* the input was using the correct format */ - contp = contents; - - if('@' == contp[0]) { - /* we use the @-letter to indicate file name(s) */ - - flags = HTTPPOST_FILENAME; - contp++; - - post=NULL; - - do { - /* since this was a file, it may have a content-type specifier - at the end too */ - - sep=strchr(contp, FORM_TYPE_SEPARATOR); - sep2=strchr(contp, FORM_FILE_SEPARATOR); - - /* pick the closest */ - if(sep2 && (sep2 < sep)) { - sep = sep2; - - /* no type was specified! */ - } - if(sep) { - - /* if we got here on a comma, don't do much */ - if(FORM_FILE_SEPARATOR != *sep) - type = strstr(sep+1, "type="); - else - type=NULL; - - *sep=0; /* terminate file name at separator */ - - if(type) { - type += strlen("type="); - - if(2 != sscanf(type, "%127[^/]/%127[^,\n]", - major, minor)) { - free(contents); - return 2; /* illegal content-type syntax! */ - } - /* now point beyond the content-type specifier */ - sep = (char *)type + strlen(major)+strlen(minor)+1; - - /* find the following comma */ - sep=strchr(sep, FORM_FILE_SEPARATOR); - } - } - else { - type=NULL; - sep=strchr(contp, FORM_FILE_SEPARATOR); - } - if(sep) { - /* the next file name starts here */ - *sep =0; - sep++; - } - if(!type) { - /* - * No type was specified, we scan through a few well-known - * extensions and pick the first we match! - */ - struct ContentType { - const char *extension; - const char *type; - }; - static struct ContentType ctts[]={ - {".gif", "image/gif"}, - {".jpg", "image/jpeg"}, - {".jpeg", "image/jpeg"}, - {".txt", "text/plain"}, - {".html", "text/plain"} - }; - - if(prevtype) - /* default to the previously set/used! */ - type = prevtype; - else - /* It seems RFC1867 defines no Content-Type to default to - text/plain so we don't actually need to set this: */ - type = HTTPPOST_CONTENTTYPE_DEFAULT; - - for(i=0; i<sizeof(ctts)/sizeof(ctts[0]); i++) { - if(strlen(contp) >= strlen(ctts[i].extension)) { - if(strequal(contp + - strlen(contp) - strlen(ctts[i].extension), - ctts[i].extension)) { - type = ctts[i].type; - break; - } - } - } - /* we have a type by now */ - } - - if(NULL == post) { - /* For the first file name, we allocate and initiate the main list - node */ - - post = (struct HttpPost *)malloc(sizeof(struct HttpPost)); - if(post) { - memset(post, 0, sizeof(struct HttpPost)); - GetStr(&post->name, name); /* get the name */ - GetStr(&post->contents, contp); /* get the contents */ - post->contentslength = 0; - post->flags = flags; - if(type) { - GetStr(&post->contenttype, (char *)type); /* get type */ - prevtype=post->contenttype; /* point to the allocated string! */ - } - /* make the previous point to this */ - if(*last_post) - (*last_post)->next = post; - else - (*httppost) = post; - - (*last_post) = post; - } - - } - else { - /* we add a file name to the previously allocated node, known as - 'post' now */ - subpost =(struct HttpPost *)malloc(sizeof(struct HttpPost)); - if(subpost) { - memset(subpost, 0, sizeof(struct HttpPost)); - GetStr(&subpost->name, name); /* get the name */ - GetStr(&subpost->contents, contp); /* get the contents */ - subpost->contentslength = 0; - subpost->flags = flags; - if(type) { - GetStr(&subpost->contenttype, (char *)type); /* get type */ - prevtype=subpost->contenttype; /* point to allocated string! */ - } - /* now, point our 'more' to the original 'more' */ - subpost->more = post->more; - - /* then move the original 'more' to point to ourselves */ - post->more = subpost; - } - } - contp = sep; /* move the contents pointer to after the separator */ - } while(sep && *sep); /* loop if there's another file name */ - } - else { - post = (struct HttpPost *)malloc(sizeof(struct HttpPost)); - if(post) { - memset(post, 0, sizeof(struct HttpPost)); - GetStr(&post->name, name); /* get the name */ - if( contp[0]=='<' ) { - GetStr(&post->contents, contp+1); /* get the contents */ - post->contentslength = 0; - post->flags = HTTPPOST_READFILE; - } - else { - GetStr(&post->contents, contp); /* get the contents */ - post->contentslength = 0; - post->flags = 0; - } - - /* make the previous point to this */ - if(*last_post) - (*last_post)->next = post; - else - (*httppost) = post; - - (*last_post) = post; - } - - } - - } - else { - free(contents); - return 1; - } - free(contents); - return 0; -} - -int curl_formparse(char *input, - struct HttpPost **httppost, - struct HttpPost **last_post) -{ - return FormParse(input, httppost, last_post); -} - -/*************************************************************************** - * - * AddHttpPost() - * - * Adds a HttpPost structure to the list, if parent_post is given becomes - * a subpost of parent_post instead of a direct list element. - * - * Returns newly allocated HttpPost on success and NULL if malloc failed. - * - ***************************************************************************/ -static struct HttpPost * AddHttpPost(char * name, - long namelength, - char * value, - long contentslength, - char *contenttype, - long flags, - struct curl_slist* contentHeader, - struct HttpPost *parent_post, - struct HttpPost **httppost, - struct HttpPost **last_post) -{ - struct HttpPost *post; - post = (struct HttpPost *)malloc(sizeof(struct HttpPost)); - if(post) { - memset(post, 0, sizeof(struct HttpPost)); - post->name = name; - post->namelength = name?(namelength?namelength:(long)strlen(name)):0; - post->contents = value; - post->contentslength = contentslength; - post->contenttype = contenttype; - post->contentheader = contentHeader; - post->flags = flags; - } - else - return NULL; - - if (parent_post) { - /* now, point our 'more' to the original 'more' */ - post->more = parent_post->more; - - /* then move the original 'more' to point to ourselves */ - parent_post->more = post; - } - else { - /* make the previous point to this */ - if(*last_post) - (*last_post)->next = post; - else - (*httppost) = post; - - (*last_post) = post; - } - return post; -} - -/*************************************************************************** - * - * AddFormInfo() - * - * Adds a FormInfo structure to the list presented by parent_form_info. - * - * Returns newly allocated FormInfo on success and NULL if malloc failed/ - * parent_form_info is NULL. - * - ***************************************************************************/ -static FormInfo * AddFormInfo(char *value, - char *contenttype, - FormInfo *parent_form_info) -{ - FormInfo *form_info; - form_info = (FormInfo *)malloc(sizeof(FormInfo)); - if(form_info) { - memset(form_info, 0, sizeof(FormInfo)); - if (value) - form_info->value = value; - if (contenttype) - form_info->contenttype = contenttype; - form_info->flags = HTTPPOST_FILENAME; - } - else - return NULL; - - if (parent_form_info) { - /* now, point our 'more' to the original 'more' */ - form_info->more = parent_form_info->more; - - /* then move the original 'more' to point to ourselves */ - parent_form_info->more = form_info; - } - else - return NULL; - - return form_info; -} - -/*************************************************************************** - * - * ContentTypeForFilename() - * - * Provides content type for filename if one of the known types (else - * (either the prevtype or the default is returned). - * - * Returns some valid contenttype for filename. - * - ***************************************************************************/ -static const char * ContentTypeForFilename (const char *filename, - const char *prevtype) -{ - const char *contenttype = NULL; - unsigned int i; - /* - * No type was specified, we scan through a few well-known - * extensions and pick the first we match! - */ - struct ContentType { - const char *extension; - const char *type; - }; - static struct ContentType ctts[]={ - {".gif", "image/gif"}, - {".jpg", "image/jpeg"}, - {".jpeg", "image/jpeg"}, - {".txt", "text/plain"}, - {".html", "text/plain"} - }; - - if(prevtype) - /* default to the previously set/used! */ - contenttype = prevtype; - else - /* It seems RFC1867 defines no Content-Type to default to - text/plain so we don't actually need to set this: */ - contenttype = HTTPPOST_CONTENTTYPE_DEFAULT; - - for(i=0; i<sizeof(ctts)/sizeof(ctts[0]); i++) { - if(strlen(filename) >= strlen(ctts[i].extension)) { - if(strequal(filename + - strlen(filename) - strlen(ctts[i].extension), - ctts[i].extension)) { - contenttype = ctts[i].type; - break; - } - } - } - /* we have a contenttype by now */ - return contenttype; -} - -/*************************************************************************** - * - * AllocAndCopy() - * - * Copies the data currently available under *buffer using newly allocated - * buffer (that becomes *buffer). Uses buffer_length if not null, else - * uses strlen to determine the length of the buffer to be copied - * - * Returns 0 on success and 1 if the malloc failed. - * - ***************************************************************************/ -static int AllocAndCopy (char **buffer, int buffer_length) -{ - const char *src = *buffer; - int length, add = 0; - if (buffer_length) - length = buffer_length; - else { - length = strlen(*buffer); - add = 1; - } - *buffer = (char*)malloc(length+add); - if (!*buffer) - return 1; - memcpy(*buffer, src, length); - /* if length unknown do null termination */ - if (add) - (*buffer)[length] = '\0'; - return 0; -} - -/*************************************************************************** - * - * FormAdd() - * - * Stores a 'name=value' formpost parameter and builds the appropriate - * linked list. - * - * Has two principal functionalities: using files and byte arrays as - * post parts. Byte arrays are either copied or just the pointer is stored - * (as the user requests) while for files only the filename and not the - * content is stored. - * - * While you may have only one byte array for each name, multiple filenames - * are allowed (and because of this feature CURLFORM_END is needed after - * using CURLFORM_FILE). - * - * Examples: - * - * Simple name/value pair with copied contents: - * curl_formadd (&post, &last, CURLFORM_COPYNAME, "name", - * CURLFORM_COPYCONTENTS, "value", CURLFORM_END); - * - * name/value pair where only the content pointer is remembered: - * curl_formadd (&post, &last, CURLFORM_COPYNAME, "name", - * CURLFORM_PTRCONTENTS, ptr, CURLFORM_CONTENTSLENGTH, 10, CURLFORM_END); - * (if CURLFORM_CONTENTSLENGTH is missing strlen () is used) - * - * storing a filename (CONTENTTYPE is optional!): - * curl_formadd (&post, &last, CURLFORM_COPYNAME, "name", - * CURLFORM_FILE, "filename1", CURLFORM_CONTENTTYPE, "plain/text", - * CURLFORM_END); - * - * storing multiple filenames: - * curl_formadd (&post, &last, CURLFORM_COPYNAME, "name", - * CURLFORM_FILE, "filename1", CURLFORM_FILE, "filename2", CURLFORM_END); - * - * Returns: - * FORMADD_OK on success - * FORMADD_MEMORY if the FormInfo allocation fails - * FORMADD_OPTION_TWICE if one option is given twice for one Form - * FORMADD_NULL if a null pointer was given for a char - * FORMADD_MEMORY if the allocation of a FormInfo struct failed - * FORMADD_UNKNOWN_OPTION if an unknown option was used - * FORMADD_INCOMPLETE if the some FormInfo is not complete (or an error) - * FORMADD_MEMORY if a HttpPost struct cannot be allocated - * FORMADD_MEMORY if some allocation for string copying failed. - * FORMADD_ILLEGAL_ARRAY if an illegal option is used in an array - * - ***************************************************************************/ - -typedef enum { - FORMADD_OK, /* first, no error */ - - FORMADD_MEMORY, - FORMADD_OPTION_TWICE, - FORMADD_NULL, - FORMADD_UNKNOWN_OPTION, - FORMADD_INCOMPLETE, - FORMADD_ILLEGAL_ARRAY, - - FORMADD_LAST /* last */ -} FORMcode; - -static -FORMcode FormAdd(struct HttpPost **httppost, - struct HttpPost **last_post, - va_list params) -{ - FormInfo *first_form, *current_form, *form; - FORMcode return_value = FORMADD_OK; - const char *prevtype = NULL; - struct HttpPost *post = NULL; - CURLformoption option; - struct curl_forms *forms = NULL; - const char *array_value; /* value read from an array */ - - /* This is a state variable, that if TRUE means that we're parsing an - array that we got passed to us. If FALSE we're parsing the input - va_list arguments. */ - bool array_state = FALSE; - - /* - * We need to allocate the first struct to fill in. - */ - first_form = (FormInfo *)malloc(sizeof(struct FormInfo)); - if(first_form) { - memset(first_form, 0, sizeof(FormInfo)); - current_form = first_form; - } - else - return FORMADD_MEMORY; - - /* - * Loop through all the options set. - */ - while (1) { - - /* break if we have an error to report */ - if (return_value != FORMADD_OK) - break; - - /* first see if we have more parts of the array param */ - if ( array_state ) { - /* get the upcoming option from the given array */ - option = forms->option; - array_value = forms->value; - - forms++; /* advance this to next entry */ - if (CURLFORM_END == option) { - /* end of array state */ - array_state = FALSE; - continue; - } - else { - /* check that the option is OK in an array */ - - /* Daniel's note: do we really need to do this? */ - if ( (option <= CURLFORM_ARRAY_START) || - (option >= CURLFORM_ARRAY_END) ) { - return_value = FORMADD_ILLEGAL_ARRAY; - break; - } - } - } - else { - /* This is not array-state, get next option */ - option = va_arg(params, CURLformoption); - if (CURLFORM_END == option) - break; - } - - switch (option) { - case CURLFORM_ARRAY: - forms = va_arg(params, struct curl_forms *); - if (forms) - array_state = TRUE; - else - return_value = FORMADD_NULL; - break; - - /* - * Set the Name property. - */ - case CURLFORM_PTRNAME: - current_form->flags |= HTTPPOST_PTRNAME; /* fall through */ - case CURLFORM_COPYNAME: - if (current_form->name) - return_value = FORMADD_OPTION_TWICE; - else { - char *name = va_arg(params, char *); - if (name) - current_form->name = name; /* store for the moment */ - else - return_value = FORMADD_NULL; - } - break; - case CURLFORM_NAMELENGTH: - if (current_form->namelength) - return_value = FORMADD_OPTION_TWICE; - else - current_form->namelength = va_arg(params, long); - break; - - /* - * Set the contents property. - */ - case CURLFORM_PTRCONTENTS: - current_form->flags |= HTTPPOST_PTRCONTENTS; /* fall through */ - case CURLFORM_COPYCONTENTS: - if (current_form->value) - return_value = FORMADD_OPTION_TWICE; - else { - char *value = va_arg(params, char *); - if (value) - current_form->value = value; /* store for the moment */ - else - return_value = FORMADD_NULL; - } - break; - case CURLFORM_CONTENTSLENGTH: - if (current_form->contentslength) - return_value = FORMADD_OPTION_TWICE; - else - current_form->contentslength = va_arg(params, long); - break; - - /* Get contents from a given file name */ - case CURLFORM_FILECONTENT: - if (current_form->flags != 0) - return_value = FORMADD_OPTION_TWICE; - else { - char *filename = va_arg(params, char *); - if (filename) { - current_form->value = strdup(filename); - current_form->flags |= HTTPPOST_READFILE; - } - else - return_value = FORMADD_NULL; - } - break; - - /* We upload a file */ - case CURLFORM_FILE: - { - const char *filename = NULL; - if (array_state) - filename = array_value; - else - filename = va_arg(params, const char *); - if (current_form->value) { - if (current_form->flags & HTTPPOST_FILENAME) { - if (filename) { - if (!(current_form = AddFormInfo(strdup(filename), - NULL, current_form))) - return_value = FORMADD_MEMORY; - } - else - return_value = FORMADD_NULL; - } - else - return_value = FORMADD_OPTION_TWICE; - } - else { - if (filename) - current_form->value = strdup(filename); - else - return_value = FORMADD_NULL; - current_form->flags |= HTTPPOST_FILENAME; - } - break; - } - case CURLFORM_CONTENTTYPE: - { - const char *contenttype = NULL; - if (array_state) - contenttype = array_value; - else - contenttype = va_arg(params, const char *); - if (current_form->contenttype) { - if (current_form->flags & HTTPPOST_FILENAME) { - if (contenttype) { - if (!(current_form = AddFormInfo(NULL, - strdup(contenttype), - current_form))) - return_value = FORMADD_MEMORY; - } - else - return_value = FORMADD_NULL; - } - else - return_value = FORMADD_OPTION_TWICE; - } - else { - if (contenttype) - current_form->contenttype = strdup(contenttype); - else - return_value = FORMADD_NULL; - } - break; - } - case CURLFORM_CONTENTHEADER: - { - struct curl_slist* list = NULL; - if( array_state ) - list = (struct curl_slist*)array_value; - else - list = va_arg(params,struct curl_slist*); - - if( current_form->contentheader ) - return_value = FORMADD_OPTION_TWICE; - else - current_form->contentheader = list; - - break; - } - default: - return_value = FORMADD_UNKNOWN_OPTION; - } - } - - if(FORMADD_OK == return_value) { - /* go through the list, check for copleteness and if everything is - * alright add the HttpPost item otherwise set return_value accordingly */ - - post = NULL; - for(form = first_form; - form != NULL; - form = form->more) { - if ( ((!form->name || !form->value) && !post) || - ( (form->contentslength) && - (form->flags & HTTPPOST_FILENAME) ) || - ( (form->flags & HTTPPOST_FILENAME) && - (form->flags & HTTPPOST_PTRCONTENTS) ) || - ( (form->flags & HTTPPOST_READFILE) && - (form->flags & HTTPPOST_PTRCONTENTS) ) - ) { - return_value = FORMADD_INCOMPLETE; - break; - } - else { - if ( (form->flags & HTTPPOST_FILENAME) && - !form->contenttype ) { - /* our contenttype is missing */ - form->contenttype - = strdup(ContentTypeForFilename(form->value, prevtype)); - } - if ( !(form->flags & HTTPPOST_PTRNAME) && - (form == first_form) ) { - /* copy name (without strdup; possibly contains null characters) */ - if (AllocAndCopy(&form->name, form->namelength)) { - return_value = FORMADD_MEMORY; - break; - } - } - if ( !(form->flags & HTTPPOST_FILENAME) && - !(form->flags & HTTPPOST_READFILE) && - !(form->flags & HTTPPOST_PTRCONTENTS) ) { - /* copy value (without strdup; possibly contains null characters) */ - if (AllocAndCopy(&form->value, form->contentslength)) { - return_value = FORMADD_MEMORY; - break; - } - } - post = AddHttpPost(form->name, form->namelength, - form->value, form->contentslength, - form->contenttype, form->flags, - form->contentheader, - post, httppost, - last_post); - - if(!post) - return_value = FORMADD_MEMORY; - - if (form->contenttype) - prevtype = form->contenttype; - } - } - } - - /* always delete the allocated memory before returning */ - form = first_form; - while (form != NULL) { - FormInfo *delete_form; - - delete_form = form; - form = form->more; - free (delete_form); - } - - return return_value; -} - -int curl_formadd(struct HttpPost **httppost, - struct HttpPost **last_post, - ...) -{ - va_list arg; - int result; - va_start(arg, last_post); - result = FormAdd(httppost, last_post, arg); - va_end(arg); - return result; -} - -static int AddFormData(struct FormData **formp, - const void *line, - long length) -{ - struct FormData *newform = (struct FormData *) - malloc(sizeof(struct FormData)); - newform->next = NULL; - - /* we make it easier for plain strings: */ - if(!length) - length = strlen((char *)line); - - newform->line = (char *)malloc(length+1); - memcpy(newform->line, line, length); - newform->length = length; - newform->line[length]=0; /* zero terminate for easier debugging */ - - if(*formp) { - (*formp)->next = newform; - *formp = newform; - } - else - *formp = newform; - - return length; -} - - -static int AddFormDataf(struct FormData **formp, - const char *fmt, ...) -{ - char s[4096]; - va_list ap; - va_start(ap, fmt); - vsprintf(s, fmt, ap); - va_end(ap); - - return AddFormData(formp, s, 0); -} - - -char *Curl_FormBoundary(void) -{ - char *retstring; - static int randomizer=0; /* this is just so that two boundaries within - the same form won't be identical */ - int i; - - static char table64[]= - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; - - retstring = (char *)malloc(BOUNDARY_LENGTH); - - if(!retstring) - return NULL; /* failed */ - - srand(time(NULL)+randomizer++); /* seed */ - - strcpy(retstring, "curl"); /* bonus commercials 8*) */ - - for(i=4; i<(BOUNDARY_LENGTH-1); i++) { - retstring[i] = table64[rand()%64]; - } - retstring[BOUNDARY_LENGTH-1]=0; /* zero terminate */ - - return retstring; -} - -/* Used from http.c, this cleans a built FormData linked list */ -void Curl_formclean(struct FormData *form) -{ - struct FormData *next; - - do { - next=form->next; /* the following form line */ - free(form->line); /* free the line */ - free(form); /* free the struct */ - - } while((form=next)); /* continue */ -} - -/* external function to free up a whole form post chain */ -void curl_formfree(struct HttpPost *form) -{ - struct HttpPost *next; - - if(!form) - /* no form to free, just get out of this */ - return; - - do { - next=form->next; /* the following form line */ - - /* recurse to sub-contents */ - if(form->more) - curl_formfree(form->more); - - if( !(form->flags & HTTPPOST_PTRNAME) && form->name) - free(form->name); /* free the name */ - if( !(form->flags & HTTPPOST_PTRCONTENTS) && form->contents) - free(form->contents); /* free the contents */ - if(form->contenttype) - free(form->contenttype); /* free the content type */ - free(form); /* free the struct */ - - } while((form=next)); /* continue */ -} - -struct FormData *Curl_getFormData(struct HttpPost *post, - int *sizep) -{ - struct FormData *form = NULL; - struct FormData *firstform; - - struct HttpPost *file; - - int size =0; - char *boundary; - char *fileboundary=NULL; - struct curl_slist* curList; - - - if(!post) - return NULL; /* no input => no output! */ - - boundary = Curl_FormBoundary(); - - /* Make the first line of the output */ - AddFormDataf(&form, - "Content-Type: multipart/form-data;" - " boundary=%s\r\n", - boundary); - /* we DO NOT count that line since that'll be part of the header! */ - - firstform = form; - - do { - - if(size) - size += AddFormDataf(&form, "\r\n"); - - /* boundary */ - size += AddFormDataf(&form, "--%s\r\n", boundary); - - size += AddFormData(&form, - "Content-Disposition: form-data; name=\"", 0); - - size += AddFormData(&form, post->name, post->namelength); - - size += AddFormData(&form, "\"", 0); - - if(post->more) { - /* If used, this is a link to more file names, we must then do - the magic to include several files with the same field name */ - - fileboundary = Curl_FormBoundary(); - - size += AddFormDataf(&form, - "\r\nContent-Type: multipart/mixed," - " boundary=%s\r\n", - fileboundary); - } - - file = post; - - do { - if(post->more) { - /* if multiple-file */ - size += AddFormDataf(&form, - "\r\n--%s\r\nContent-Disposition: attachment; filename=\"%s\"", - fileboundary, file->contents); - } - else if(post->flags & HTTPPOST_FILENAME) { - size += AddFormDataf(&form, - "; filename=\"%s\"", - post->contents); - } - - if(file->contenttype) { - /* we have a specified type */ - size += AddFormDataf(&form, - "\r\nContent-Type: %s", - file->contenttype); - } - - curList = file->contentheader; - while( curList ) { - /* Process the additional headers specified for this form */ - size += AddFormDataf( &form, "\r\n%s", curList->data ); - curList = curList->next; - } - -#if 0 - /* The header Content-Transfer-Encoding: seems to confuse some receivers - * (like the built-in PHP engine). While I can't see any reason why it - * should, I can just as well skip this to the benefit of the users who - * are using such confused receivers. - */ - - if(file->contenttype && - !strnequal("text/", file->contenttype, 5)) { - /* this is not a text content, mention our binary encoding */ - size += AddFormData(&form, "\r\nContent-Transfer-Encoding: binary", 0); - } -#endif - - size += AddFormData(&form, "\r\n\r\n", 0); - - if((post->flags & HTTPPOST_FILENAME) || - (post->flags & HTTPPOST_READFILE)) { - /* we should include the contents from the specified file */ - FILE *fileread; - char buffer[1024]; - int nread; - - fileread = strequal("-", file->contents)?stdin: - /* binary read for win32 crap */ -/*VMS??*/ fopen(file->contents, "rb"); /* ONLY ALLOWS FOR STREAM FILES ON VMS */ -/*VMS?? Stream files are OK, as are FIXED & VAR files WITHOUT implied CC */ -/*VMS?? For implied CC, every record needs to have a \n appended & 1 added to SIZE */ - if(fileread) { - while((nread = fread(buffer, 1, 1024, fileread))) { - size += AddFormData(&form, - buffer, - nread); - } - if(fileread != stdin) - fclose(fileread); - } - else { - /* File wasn't found, add a nothing field! */ - size += AddFormData(&form, "", 0); - } - } - else { - /* include the contents we got */ - size += AddFormData(&form, post->contents, post->contentslength); - } - } while((file = file->more)); /* for each specified file for this field */ - - if(post->more) { - /* this was a multiple-file inclusion, make a termination file - boundary: */ - size += AddFormDataf(&form, - "\r\n--%s--", - fileboundary); - free(fileboundary); - } - - } while((post=post->next)); /* for each field */ - - /* end-boundary for everything */ - size += AddFormDataf(&form, - "\r\n--%s--\r\n", - boundary); - - *sizep = size; - - free(boundary); - - return firstform; -} - -int Curl_FormInit(struct Form *form, struct FormData *formdata ) -{ - if(!formdata) - return 1; /* error */ - - form->data = formdata; - form->sent = 0; - - return 0; -} - -/* fread() emulation */ -int Curl_FormReader(char *buffer, - size_t size, - size_t nitems, - FILE *mydata) -{ - struct Form *form; - int wantedsize; - int gotsize = 0; - - form=(struct Form *)mydata; - - wantedsize = size * nitems; - - if(!form->data) - return -1; /* nothing, error, empty */ - - do { - - if( (form->data->length - form->sent ) > wantedsize - gotsize) { - - memcpy(buffer + gotsize , form->data->line + form->sent, - wantedsize - gotsize); - - form->sent += wantedsize-gotsize; - - return wantedsize; - } - - memcpy(buffer+gotsize, - form->data->line + form->sent, - (form->data->length - form->sent) ); - gotsize += form->data->length - form->sent; - - form->sent = 0; - - form->data = form->data->next; /* advance */ - - } while(form->data); - /* If we got an empty line and we have more data, we proceed to the next - line immediately to avoid returning zero before we've reached the end. - This is the bug reported November 22 1999 on curl 6.3. (Daniel) */ - - return gotsize; -} - -/* possible (old) fread() emulation that copies at most one line */ -int Curl_FormReadOneLine(char *buffer, - size_t size, - size_t nitems, - FILE *mydata) -{ - struct Form *form; - int wantedsize; - int gotsize; - - form=(struct Form *)mydata; - - wantedsize = size * nitems; - - if(!form->data) - return -1; /* nothing, error, empty */ - - do { - - if( (form->data->length - form->sent ) > wantedsize ) { - - memcpy(buffer, form->data->line + form->sent, wantedsize); - - form->sent += wantedsize; - - return wantedsize; - } - - memcpy(buffer, - form->data->line + form->sent, - gotsize = (form->data->length - form->sent) ); - - form->sent = 0; - - form->data = form->data->next; /* advance */ - - } while(!gotsize && form->data); - /* If we got an empty line and we have more data, we proceed to the next - line immediately to avoid returning zero before we've reached the end. - This is the bug reported November 22 1999 on curl 6.3. (Daniel) */ - - return gotsize; -} - - -#ifdef _FORM_DEBUG -int FormAddTest(const char * errormsg, - struct HttpPost **httppost, - struct HttpPost **last_post, - ...) -{ - int result; - va_list arg; - va_start(arg, last_post); - if ((result = FormAdd(httppost, last_post, arg))) - fprintf (stderr, "ERROR doing FormAdd ret: %d action: %s\n", result, - errormsg); - va_end(arg); - return result; -} - - -int main() -{ - char name1[] = "simple_COPYCONTENTS"; - char name2[] = "COPYCONTENTS_+_CONTENTTYPE"; - char name3[] = "PTRNAME_+_NAMELENGTH_+_COPYNAME_+_CONTENTSLENGTH"; - char name4[] = "simple_PTRCONTENTS"; - char name5[] = "PTRCONTENTS_+_CONTENTSLENGTH"; - char name6[] = "PTRCONTENTS_+_CONTENTSLENGTH_+_CONTENTTYPE"; - char name7[] = "FILE1_+_CONTENTTYPE"; - char name8[] = "FILE1_+_FILE2"; - char name9[] = "FILE1_+_FILE2_+_FILE3"; - char name10[] = "ARRAY: FILE1_+_FILE2_+_FILE3"; - char name11[] = "FILECONTENT"; - char value1[] = "value for simple COPYCONTENTS"; - char value2[] = "value for COPYCONTENTS + CONTENTTYPE"; - char value3[] = "value for PTRNAME + NAMELENGTH + COPYNAME + CONTENTSLENGTH"; - char value4[] = "value for simple PTRCONTENTS"; - char value5[] = "value for PTRCONTENTS + CONTENTSLENGTH"; - char value6[] = "value for PTRCOTNENTS + CONTENTSLENGTH + CONTENTTYPE"; - char value7[] = "inet_ntoa_r.h"; - char value8[] = "Makefile.b32.resp"; - char type2[] = "image/gif"; - char type6[] = "text/plain"; - char type7[] = "text/html"; - int name3length = strlen(name3); - int value3length = strlen(value3); - int value5length = strlen(value4); - int value6length = strlen(value5); - int errors = 0; - int size; - int nread; - char buffer[4096]; - struct HttpPost *httppost=NULL; - struct HttpPost *last_post=NULL; - struct curl_forms forms[4]; - - struct FormData *form; - struct Form formread; - - if (FormAddTest("simple COPYCONTENTS test", &httppost, &last_post, - CURLFORM_COPYNAME, name1, CURLFORM_COPYCONTENTS, value1, - CURLFORM_END)) - ++errors; - if (FormAddTest("COPYCONTENTS + CONTENTTYPE test", &httppost, &last_post, - CURLFORM_COPYNAME, name2, CURLFORM_COPYCONTENTS, value2, - CURLFORM_CONTENTTYPE, type2, CURLFORM_END)) - ++errors; - /* make null character at start to check that contentslength works - correctly */ - name3[1] = '\0'; - value3[1] = '\0'; - if (FormAddTest("PTRNAME + NAMELENGTH + COPYNAME + CONTENTSLENGTH test", - &httppost, &last_post, - CURLFORM_PTRNAME, name3, CURLFORM_COPYCONTENTS, value3, - CURLFORM_CONTENTSLENGTH, value3length, - CURLFORM_NAMELENGTH, name3length, CURLFORM_END)) - ++errors; - if (FormAddTest("simple PTRCONTENTS test", &httppost, &last_post, - CURLFORM_COPYNAME, name4, CURLFORM_PTRCONTENTS, value4, - CURLFORM_END)) - ++errors; - /* make null character at start to check that contentslength works - correctly */ - value5[1] = '\0'; - if (FormAddTest("PTRCONTENTS + CONTENTSLENGTH test", &httppost, &last_post, - CURLFORM_COPYNAME, name5, CURLFORM_PTRCONTENTS, value5, - CURLFORM_CONTENTSLENGTH, value5length, CURLFORM_END)) - ++errors; - /* make null character at start to check that contentslength works - correctly */ - value6[1] = '\0'; - if (FormAddTest("PTRCONTENTS + CONTENTSLENGTH + CONTENTTYPE test", - &httppost, &last_post, - CURLFORM_COPYNAME, name6, CURLFORM_PTRCONTENTS, value6, - CURLFORM_CONTENTSLENGTH, value6length, - CURLFORM_CONTENTTYPE, type6, CURLFORM_END)) - ++errors; - if (FormAddTest("FILE + CONTENTTYPE test", &httppost, &last_post, - CURLFORM_COPYNAME, name7, CURLFORM_FILE, value7, - CURLFORM_CONTENTTYPE, type7, CURLFORM_END)) - ++errors; - if (FormAddTest("FILE1 + FILE2 test", &httppost, &last_post, - CURLFORM_COPYNAME, name8, CURLFORM_FILE, value7, - CURLFORM_FILE, value8, CURLFORM_END)) - ++errors; - if (FormAddTest("FILE1 + FILE2 + FILE3 test", &httppost, &last_post, - CURLFORM_COPYNAME, name9, CURLFORM_FILE, value7, - CURLFORM_FILE, value8, CURLFORM_FILE, value7, CURLFORM_END)) - ++errors; - forms[0].option = CURLFORM_FILE; - forms[0].value = value7; - forms[1].option = CURLFORM_FILE; - forms[1].value = value8; - forms[2].option = CURLFORM_FILE; - forms[2].value = value7; - forms[3].option = CURLFORM_END; - if (FormAddTest("FILE1 + FILE2 + FILE3 ARRAY test", &httppost, &last_post, - CURLFORM_COPYNAME, name10, CURLFORM_ARRAY, forms, - CURLFORM_END)) - ++errors; - if (FormAddTest("FILECONTENT test", &httppost, &last_post, - CURLFORM_COPYNAME, name11, CURLFORM_FILECONTENT, value7, - CURLFORM_END)) - ++errors; - - form=Curl_getFormData(httppost, &size); - - Curl_FormInit(&formread, form); - - do { - nread = Curl_FormReader(buffer, 1, sizeof(buffer), - (FILE *)&formread); - - if(-1 == nread) - break; - fwrite(buffer, nread, 1, stdout); - } while(1); - - fprintf(stdout, "size: %d\n", size); - if (errors) - fprintf(stdout, "\n==> %d Test(s) failed!\n", errors); - else - fprintf(stdout, "\nAll Tests seem to have worked (please check output)\n"); - - return 0; -} - -#endif - -#ifdef _OLD_FORM_DEBUG - -int main(int argc, char **argv) -{ -#if 0 - char *testargs[]={ - "name1 = data in number one", - "name2 = number two data", - "test = @upload" - }; -#endif - int i; - char *nextarg; - struct HttpPost *httppost=NULL; - struct HttpPost *last_post=NULL; - struct HttpPost *post; - int size; - int nread; - char buffer[4096]; - - struct FormData *form; - struct Form formread; - - for(i=1; i<argc; i++) { - - if( FormParse( argv[i], - &httppost, - &last_post)) { - fprintf(stderr, "Illegally formatted input field: '%s'!\n", - argv[i]); - return 1; - } - } - - form=Curl_getFormData(httppost, &size); - - Curl_FormInit(&formread, form); - - do { - nread = Curl_FormReader(buffer, 1, sizeof(buffer), - (FILE *)&formread); - - if(-1 == nread) - break; - fwrite(buffer, nread, 1, stderr); - } while(1); - - fprintf(stderr, "size: %d\n", size); - - return 0; -} - -#endif - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/formdata.h b/Build/source/libs/curl/lib/formdata.h deleted file mode 100644 index 06e27872bcb..00000000000 --- a/Build/source/libs/curl/lib/formdata.h +++ /dev/null @@ -1,73 +0,0 @@ -#ifndef __FORMDATA_H -#define __FORMDATA_H - -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: formdata.h,v 1.9 2001/12/14 12:59:16 bagder Exp $ - *****************************************************************************/ -/* plain and simple linked list with lines to send */ -struct FormData { - struct FormData *next; - char *line; - long length; -}; - -struct Form { - struct FormData *data; /* current form line to send */ - int sent; /* number of bytes of the current line that has already - been sent in a previous invoke */ -}; - -/* used by FormAdd for temporary storage */ -typedef struct FormInfo { - char *name; - long namelength; - char *value; - long contentslength; - char *contenttype; - long flags; - struct curl_slist* contentheader; - struct FormInfo *more; -} FormInfo; - -int Curl_FormInit(struct Form *form, struct FormData *formdata ); - -struct FormData *Curl_getFormData(struct HttpPost *post, - int *size); - -/* fread() emulation */ -int Curl_FormReader(char *buffer, - size_t size, - size_t nitems, - FILE *mydata); - -/* possible (old) fread() emulation that copies at most one line */ -int Curl_FormReadOneLine(char *buffer, - size_t size, - size_t nitems, - FILE *mydata); - -char *Curl_FormBoundary(void); - -void Curl_formclean(struct FormData *); - -#endif - diff --git a/Build/source/libs/curl/lib/ftp.c b/Build/source/libs/curl/lib/ftp.c deleted file mode 100644 index 8044c22df8b..00000000000 --- a/Build/source/libs/curl/lib/ftp.c +++ /dev/null @@ -1,2138 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2001, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: ftp.c,v 1.130 2002/02/28 23:31:23 bagder Exp $ - *****************************************************************************/ - -#include "setup.h" - -#include <stdio.h> -#include <string.h> -#include <stdlib.h> -#include <stdarg.h> -#include <ctype.h> -#include <errno.h> - -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif -#ifdef HAVE_SYS_SELECT_H -#include <sys/select.h> -#endif - -#if defined(WIN32) && !defined(__GNUC__) || defined(__MINGW32__) -#include <winsock.h> -#else /* some kind of unix */ -#ifdef HAVE_SYS_SOCKET_H -#include <sys/socket.h> -#endif -#include <sys/types.h> -#ifdef HAVE_NETINET_IN_H -#include <netinet/in.h> -#endif -#ifdef HAVE_ARPA_INET_H -#include <arpa/inet.h> -#endif -#include <sys/utsname.h> -#ifdef HAVE_NETDB_H -#include <netdb.h> -#endif -#ifdef VMS -#include <in.h> -#include <inet.h> -#endif -#endif - -#if defined(WIN32) && defined(__GNUC__) || defined(__MINGW32__) -#include <errno.h> -#endif - -#include <curl/curl.h> -#include "urldata.h" -#include "sendf.h" - -#include "if2ip.h" -#include "hostip.h" -#include "progress.h" -#include "transfer.h" -#include "escape.h" -#include "http.h" /* for HTTP proxy tunnel stuff */ -#include "ftp.h" - -#ifdef KRB4 -#include "security.h" -#include "krb4.h" -#endif - -#include "strequal.h" -#include "ssluse.h" -#include "connect.h" - -#if defined(HAVE_INET_NTOA_R) && !defined(HAVE_INET_NTOA_R_DECL) -#include "inet_ntoa_r.h" -#endif - -#define _MPRINTF_REPLACE /* use our functions only */ -#include <curl/mprintf.h> - -/* The last #include file should be: */ -#ifdef MALLOCDEBUG -#include "memdebug.h" -#endif - -/* Local API functions */ -static CURLcode ftp_sendquote(struct connectdata *conn, struct curl_slist *quote); -static CURLcode ftp_cwd(struct connectdata *conn, char *path); - -/* easy-to-use macro: */ -#define FTPSENDF(x,y,z) if((result = Curl_ftpsendf(x,y,z))) return result - -/*********************************************************************** - * - * AllowServerConnect() - * - * When we've issue the PORT command, we have told the server to connect - * to us. This function will sit and wait here until the server has - * connected. - * - */ -static CURLcode AllowServerConnect(struct SessionHandle *data, - struct connectdata *conn, - int sock) -{ - fd_set rdset; - struct timeval dt; - - FD_ZERO(&rdset); - - FD_SET(sock, &rdset); - - /* we give the server 10 seconds to connect to us */ - dt.tv_sec = 10; - dt.tv_usec = 0; - - switch (select(sock+1, &rdset, NULL, NULL, &dt)) { - case -1: /* error */ - /* let's die here */ - failf(data, "Error while waiting for server connect"); - return CURLE_FTP_PORT_FAILED; - case 0: /* timeout */ - /* let's die here */ - failf(data, "Timeout while waiting for server connect"); - return CURLE_FTP_PORT_FAILED; - default: - /* we have received data here */ - { - int s; - size_t size = sizeof(struct sockaddr_in); - struct sockaddr_in add; - - getsockname(sock, (struct sockaddr *) &add, (socklen_t *)&size); - s=accept(sock, (struct sockaddr *) &add, (socklen_t *)&size); - - sclose(sock); /* close the first socket */ - - if (-1 == s) { - /* DIE! */ - failf(data, "Error accept()ing server connect"); - return CURLE_FTP_PORT_FAILED; - } - infof(data, "Connection accepted from server\n"); - - conn->secondarysocket = s; - } - break; - } - return CURLE_OK; -} - - -/* --- parse FTP server responses --- */ - -/* - * Curl_GetFTPResponse() is supposed to be invoked after each command sent to - * a remote FTP server. This function will wait and read all lines of the - * response and extract the relevant return code for the invoking function. - */ - -int Curl_GetFTPResponse(char *buf, - struct connectdata *conn, - int *ftpcode) -{ - /* Brand new implementation. - * We cannot read just one byte per read() and then go back to select() - * as it seems that the OpenSSL read() stuff doesn't grok that properly. - * - * Alas, read as much as possible, split up into lines, use the ending - * line in a response or continue reading. */ - - int sockfd = conn->firstsocket; - int nread; /* total size read */ - int perline; /* count bytes per line */ - bool keepon=TRUE; - ssize_t gotbytes; - char *ptr; - int timeout = 3600; /* default timeout in seconds */ - struct timeval interval; - fd_set rkeepfd; - fd_set readfd; - struct SessionHandle *data = conn->data; - char *line_start; - int code=0; /* default "error code" to return */ - -#define SELECT_OK 0 -#define SELECT_ERROR 1 /* select() problems */ -#define SELECT_TIMEOUT 2 /* took too long */ -#define SELECT_MEMORY 3 /* no available memory */ -#define SELECT_CALLBACK 4 /* aborted by callback */ - - int error = SELECT_OK; - - struct FTP *ftp = conn->proto.ftp; - - if (ftpcode) - *ftpcode = 0; /* 0 for errors */ - - if(data->set.timeout) { - /* if timeout is requested, find out how much remaining time we have */ - timeout = data->set.timeout - /* timeout time */ - Curl_tvdiff(Curl_tvnow(), conn->now)/1000; /* spent time */ - if(timeout <=0 ) { - failf(data, "Transfer aborted due to timeout"); - return -SELECT_TIMEOUT; /* already too little time */ - } - } - - FD_ZERO (&readfd); /* clear it */ - FD_SET (sockfd, &readfd); /* read socket */ - - /* get this in a backup variable to be able to restore it on each lap in the - select() loop */ - rkeepfd = readfd; - - ptr=buf; - line_start = buf; - - nread=0; - perline=0; - keepon=TRUE; - - while((nread<BUFSIZE) && (keepon && !error)) { - readfd = rkeepfd; /* set every lap */ - interval.tv_sec = timeout; - interval.tv_usec = 0; - - if(!ftp->cache) - switch (select (sockfd+1, &readfd, NULL, NULL, &interval)) { - case -1: /* select() error, stop reading */ - error = SELECT_ERROR; - failf(data, "Transfer aborted due to select() error"); - break; - case 0: /* timeout */ - error = SELECT_TIMEOUT; - failf(data, "Transfer aborted due to timeout"); - break; - default: - error = SELECT_OK; - break; - } - if(SELECT_OK == error) { - /* - * This code previously didn't use the kerberos sec_read() code - * to read, but when we use Curl_read() it may do so. Do confirm - * that this is still ok and then remove this comment! - */ - if(ftp->cache) { - /* we had data in the "cache", copy that instead of doing an actual - read */ - memcpy(ptr, ftp->cache, ftp->cache_size); - gotbytes = ftp->cache_size; - free(ftp->cache); /* free the cache */ - ftp->cache = NULL; /* clear the pointer */ - ftp->cache_size = 0; /* zero the size just in case */ - } - else { - int res = Curl_read(conn, sockfd, ptr, - BUFSIZE-nread, &gotbytes); - if(res < 0) - /* EWOULDBLOCK */ - continue; /* go looping again */ - - if(CURLE_OK != res) - keepon = FALSE; - } - - if(!keepon) - ; - else if(gotbytes <= 0) { - keepon = FALSE; - error = SELECT_ERROR; - failf(data, "Connection aborted"); - } - else { - /* we got a whole chunk of data, which can be anything from one - * byte to a set of lines and possible just a piece of the last - * line */ - int i; - - nread += gotbytes; - for(i = 0; i < gotbytes; ptr++, i++) { - perline++; - if(*ptr=='\n') { - /* a newline is CRLF in ftp-talk, so the CR is ignored as - the line isn't really terminated until the LF comes */ - CURLcode result; - - /* output debug output if that is requested */ - if(data->set.verbose) { - fputs("< ", data->set.err); - fwrite(line_start, perline, 1, data->set.err); - /* no need to output LF here, it is part of the data */ - } - - /* - * We pass all response-lines to the callback function registered - * for "headers". The response lines can be seen as a kind of - * headers. - */ - result = Curl_client_write(data, CLIENTWRITE_HEADER, - line_start, perline); - if(result) - return -SELECT_CALLBACK; - -#define lastline(line) (isdigit((int)line[0]) && isdigit((int)line[1]) && \ - isdigit((int)line[2]) && (' ' == line[3])) - - if(perline>3 && lastline(line_start)) { - /* This is the end of the last line, copy the last - * line to the start of the buffer and zero terminate, - * for old times sake (and krb4)! */ - char *meow; - int n; - for(meow=line_start, n=0; meow<ptr; meow++, n++) - buf[n] = *meow; - *meow=0; /* zero terminate */ - keepon=FALSE; - line_start = ptr+1; /* advance pointer */ - i++; /* skip this before getting out */ - break; - } - perline=0; /* line starts over here */ - line_start = ptr+1; - } - } - if(!keepon && (i != gotbytes)) { - /* We found the end of the response lines, but we didn't parse the - full chunk of data we have read from the server. We therefore - need to store the rest of the data to be checked on the next - invoke as it may actually contain another end of response - already! Cleverly figured out by Eric Lavigne in December - 2001. */ - ftp->cache_size = gotbytes - i; - ftp->cache = (char *)malloc(ftp->cache_size); - if(ftp->cache) - memcpy(ftp->cache, line_start, ftp->cache_size); - else - return -SELECT_MEMORY; /**BANG**/ - } - } /* there was data */ - } /* if(no error) */ - } /* while there's buffer left and loop is requested */ - - if(!error) - code = atoi(buf); - -#ifdef KRB4 - /* handle the security-oriented responses 6xx ***/ - /* FIXME: some errorchecking perhaps... ***/ - switch(code) { - case 631: - Curl_sec_read_msg(conn, buf, prot_safe); - break; - case 632: - Curl_sec_read_msg(conn, buf, prot_private); - break; - case 633: - Curl_sec_read_msg(conn, buf, prot_confidential); - break; - default: - /* normal ftp stuff we pass through! */ - break; - } -#endif - - if(error) - return -error; - - if(ftpcode) - *ftpcode=code; /* return the initial number like this */ - - return nread; /* total amount of bytes read */ -} - -#ifndef ENABLE_IPV6 -/* - * This function is only used by code that works on IPv4. When we add proper - * support for that functionality with IPv6, this function can go in again. - */ -/* -- who are we? -- */ -static char *getmyhost(char *buf, int buf_size) -{ -#if defined(HAVE_GETHOSTNAME) - gethostname(buf, buf_size); -#elif defined(HAVE_UNAME) - struct utsname ugnm; - strncpy(buf, uname(&ugnm) < 0 ? "localhost" : ugnm.nodename, buf_size - 1); - buf[buf_size - 1] = '\0'; -#else - /* We have no means of finding the local host name! */ - strncpy(buf, "localhost", buf_size); - buf[buf_size - 1] = '\0'; -#endif - return buf; -} - -#endif /* ipv4-only function */ - - -/* ftp_connect() should do everything that is to be considered a part - of the connection phase. */ -CURLcode Curl_ftp_connect(struct connectdata *conn) -{ - /* this is FTP and no proxy */ - int nread; - struct SessionHandle *data=conn->data; - char *buf = data->state.buffer; /* this is our buffer */ - struct FTP *ftp; - CURLcode result; - int ftpcode; - - ftp = (struct FTP *)malloc(sizeof(struct FTP)); - if(!ftp) - return CURLE_OUT_OF_MEMORY; - - memset(ftp, 0, sizeof(struct FTP)); - conn->proto.ftp = ftp; - - /* We always support persistant connections on ftp */ - conn->bits.close = FALSE; - - /* get some initial data into the ftp struct */ - ftp->bytecountp = &conn->bytecount; - - /* no need to duplicate them, the data struct won't change */ - ftp->user = data->state.user; - ftp->passwd = data->state.passwd; - - if (data->set.tunnel_thru_httpproxy) { - /* We want "seamless" FTP operations through HTTP proxy tunnel */ - result = Curl_ConnectHTTPProxyTunnel(conn, conn->firstsocket, - conn->hostname, conn->remote_port); - if(CURLE_OK != result) - return result; - } - - if(conn->protocol & PROT_FTPS) { - /* FTPS is simply ftp with SSL for the control channel */ - /* now, perform the SSL initialization for this socket */ - result = Curl_SSLConnect(conn); - if(result) - return result; - } - - - /* The first thing we do is wait for the "220*" line: */ - nread = Curl_GetFTPResponse(buf, conn, &ftpcode); - if(nread < 0) - return CURLE_OPERATION_TIMEOUTED; - - if(ftpcode != 220) { - failf(data, "This doesn't seem like a nice ftp-server response"); - return CURLE_FTP_WEIRD_SERVER_REPLY; - } - -#ifdef KRB4 - /* if not anonymous login, try a secure login */ - if(data->set.krb4) { - - /* request data protection level (default is 'clear') */ - Curl_sec_request_prot(conn, "private"); - - /* We set private first as default, in case the line below fails to - set a valid level */ - Curl_sec_request_prot(conn, data->set.krb4_level); - - if(Curl_sec_login(conn) != 0) - infof(data, "Logging in with password in cleartext!\n"); - else - infof(data, "Authentication successful\n"); - } -#endif - - /* send USER */ - FTPSENDF(conn, "USER %s", ftp->user); - - /* wait for feedback */ - nread = Curl_GetFTPResponse(buf, conn, &ftpcode); - if(nread < 0) - return CURLE_OPERATION_TIMEOUTED; - - if(ftpcode == 530) { - /* 530 User ... access denied - (the server denies to log the specified user) */ - failf(data, "Access denied: %s", &buf[4]); - return CURLE_FTP_ACCESS_DENIED; - } - else if(ftpcode == 331) { - /* 331 Password required for ... - (the server requires to send the user's password too) */ - FTPSENDF(conn, "PASS %s", ftp->passwd); - nread = Curl_GetFTPResponse(buf, conn, &ftpcode); - if(nread < 0) - return CURLE_OPERATION_TIMEOUTED; - - if(ftpcode == 530) { - /* 530 Login incorrect. - (the username and/or the password are incorrect) */ - failf(data, "the username and/or the password are incorrect"); - return CURLE_FTP_USER_PASSWORD_INCORRECT; - } - else if(ftpcode == 230) { - /* 230 User ... logged in. - (user successfully logged in) */ - - infof(data, "We have successfully logged in\n"); - } - else { - failf(data, "Odd return code after PASS"); - return CURLE_FTP_WEIRD_PASS_REPLY; - } - } - else if(buf[0] == '2') { - /* 230 User ... logged in. - (the user logged in without password) */ - infof(data, "We have successfully logged in\n"); -#ifdef KRB4 - /* we are logged in (with Kerberos) - * now set the requested protection level - */ - if(conn->sec_complete) - Curl_sec_set_protection_level(conn); - - /* we may need to issue a KAUTH here to have access to the files - * do it if user supplied a password - */ - if(data->state.passwd && *data->state.passwd) - Curl_krb_kauth(conn); -#endif - } - else { - failf(data, "Odd return code after USER"); - return CURLE_FTP_WEIRD_USER_REPLY; - } - - /* send PWD to discover our entry point */ - FTPSENDF(conn, "PWD", NULL); - - /* wait for feedback */ - nread = Curl_GetFTPResponse(buf, conn, &ftpcode); - if(nread < 0) - return CURLE_OPERATION_TIMEOUTED; - - if(ftpcode == 257) { - char *dir = (char *)malloc(nread+1); - char *store=dir; - char *ptr=&buf[4]; /* start on the first letter */ - - /* Reply format is like - 257<space>"<directory-name>"<space><commentary> and the RFC959 says - - The directory name can contain any character; embedded double-quotes - should be escaped by double-quotes (the "quote-doubling" convention). - */ - if('\"' == *ptr) { - /* it started good */ - ptr++; - while(ptr && *ptr) { - if('\"' == *ptr) { - if('\"' == ptr[1]) { - /* "quote-doubling" */ - *store = ptr[1]; - ptr++; - } - else { - /* end of path */ - *store = '\0'; /* zero terminate */ - break; /* get out of this loop */ - } - } - else - *store = *ptr; - store++; - ptr++; - } - ftp->entrypath =dir; /* remember this */ - infof(data, "Entry path is '%s'\n", ftp->entrypath); - } - else { - /* couldn't get the path */ - } - - } - else { - /* We couldn't read the PWD response! */ - } - - return CURLE_OK; -} - -/*********************************************************************** - * - * Curl_ftp_done() - * - * The DONE function. This does what needs to be done after a single DO has - * performed. - * - * Input argument is already checked for validity. - */ -CURLcode Curl_ftp_done(struct connectdata *conn) -{ - struct SessionHandle *data = conn->data; - struct FTP *ftp = conn->proto.ftp; - ssize_t nread; - char *buf = data->state.buffer; /* this is our buffer */ - int ftpcode; - CURLcode result=CURLE_OK; - - if(data->set.upload) { - if((-1 != data->set.infilesize) && (data->set.infilesize != *ftp->bytecountp)) { - failf(data, "Wrote only partial file (%d out of %d bytes)", - *ftp->bytecountp, data->set.infilesize); - return CURLE_PARTIAL_FILE; - } - } - else { - if((-1 != conn->size) && (conn->size != *ftp->bytecountp) && - (conn->maxdownload != *ftp->bytecountp)) { - failf(data, "Received only partial file: %d bytes", *ftp->bytecountp); - return CURLE_PARTIAL_FILE; - } - else if(!conn->bits.resume_done && - !data->set.no_body && - (0 == *ftp->bytecountp)) { - /* We consider this an error, but there's no true FTP error received - why we need to continue to "read out" the server response too. - We don't want to leave a "waiting" server reply if we'll get told - to make a second request on this same connection! */ - failf(data, "No data was received!"); - result = CURLE_FTP_COULDNT_RETR_FILE; - } - } - -#ifdef KRB4 - Curl_sec_fflush_fd(conn, conn->secondarysocket); -#endif - /* shut down the socket to inform the server we're done */ - sclose(conn->secondarysocket); - conn->secondarysocket = -1; - - if(!data->set.no_body && !conn->bits.resume_done) { - /* now let's see what the server says about the transfer we - just performed: */ - nread = Curl_GetFTPResponse(buf, conn, &ftpcode); - if(nread < 0) - return CURLE_OPERATION_TIMEOUTED; - - /* 226 Transfer complete, 250 Requested file action okay, completed. */ - if((ftpcode != 226) && (ftpcode != 250)) { - failf(data, "server did not report OK, got %d", ftpcode); - return CURLE_FTP_WRITE_ERROR; - } - } - - conn->bits.resume_done = FALSE; /* clean this for next connection */ - - /* Send any post-transfer QUOTE strings? */ - if(!result && data->set.postquote) - result = ftp_sendquote(conn, data->set.postquote); - - return result; -} - -/*********************************************************************** - * - * ftp_sendquote() - * - * Where a 'quote' means a list of custom commands to send to the server. - * The quote list is passed as an argument. - */ - -static -CURLcode ftp_sendquote(struct connectdata *conn, struct curl_slist *quote) -{ - struct curl_slist *item; - ssize_t nread; - int ftpcode; - CURLcode result; - - item = quote; - while (item) { - if (item->data) { - FTPSENDF(conn, "%s", item->data); - - nread = Curl_GetFTPResponse(conn->data->state.buffer, conn, &ftpcode); - if (nread < 0) - return CURLE_OPERATION_TIMEOUTED; - - if (ftpcode >= 400) { - failf(conn->data, "QUOT string not accepted: %s", item->data); - return CURLE_FTP_QUOTE_ERROR; - } - } - - item = item->next; - } - - return CURLE_OK; -} - -/*********************************************************************** - * - * ftp_cwd() - * - * Send 'CWD' to the remote server to Change Working Directory. - * It is the ftp version of the unix 'cd' command. - */ -static -CURLcode ftp_cwd(struct connectdata *conn, char *path) -{ - ssize_t nread; - int ftpcode; - CURLcode result; - - FTPSENDF(conn, "CWD %s", path); - nread = Curl_GetFTPResponse( - conn->data->state.buffer, conn, &ftpcode); - if (nread < 0) - return CURLE_OPERATION_TIMEOUTED; - - if (ftpcode != 250) { - failf(conn->data, "Couldn't cd to %s", path); - return CURLE_FTP_ACCESS_DENIED; - } - - return CURLE_OK; -} - -/*********************************************************************** - * - * ftp_getfiletime() - * - * Get the timestamp of the given file. - */ -static -CURLcode ftp_getfiletime(struct connectdata *conn, char *file) -{ - CURLcode result=CURLE_OK; - int ftpcode; /* for ftp status */ - ssize_t nread; - char *buf = conn->data->state.buffer; - - /* we have requested to get the modified-time of the file, this is yet - again a grey area as the MDTM is not kosher RFC959 */ - FTPSENDF(conn, "MDTM %s", file); - - nread = Curl_GetFTPResponse(buf, conn, &ftpcode); - if(nread < 0) - return CURLE_OPERATION_TIMEOUTED; - - if(ftpcode == 213) { - /* we got a time. Format should be: "YYYYMMDDHHMMSS[.sss]" where the - last .sss part is optional and means fractions of a second */ - int year, month, day, hour, minute, second; - if(6 == sscanf(buf+4, "%04d%02d%02d%02d%02d%02d", - &year, &month, &day, &hour, &minute, &second)) { - /* we have a time, reformat it */ - time_t secs=time(NULL); - sprintf(buf, "%04d%02d%02d %02d:%02d:%02d", - year, month, day, hour, minute, second); - /* now, convert this into a time() value: */ - conn->data->info.filetime = curl_getdate(buf, &secs); - } - else { - infof(conn->data, "unsupported MDTM reply format\n"); - } - } - return result; -} - -/*********************************************************************** - * - * ftp_transfertype() - * - * Set transfer type. We only deal with ASCII or BINARY so this function - * sets one of them. - */ -static CURLcode ftp_transfertype(struct connectdata *conn, - bool ascii) -{ - struct SessionHandle *data = conn->data; - int ftpcode; - ssize_t nread; - char *buf=data->state.buffer; - CURLcode result; - - FTPSENDF(conn, "TYPE %s", ascii?"A":"I"); - - nread = Curl_GetFTPResponse(buf, conn, &ftpcode); - if(nread < 0) - return CURLE_OPERATION_TIMEOUTED; - - if(ftpcode != 200) { - failf(data, "Couldn't set %s mode", - ascii?"ASCII":"binary"); - return ascii? CURLE_FTP_COULDNT_SET_ASCII:CURLE_FTP_COULDNT_SET_BINARY; - } - - return CURLE_OK; -} - -/*********************************************************************** - * - * ftp_getsize() - * - * Returns the file size (in bytes) of the given remote file. - */ - -static -CURLcode ftp_getsize(struct connectdata *conn, char *file, - ssize_t *size) -{ - struct SessionHandle *data = conn->data; - int ftpcode; - ssize_t nread; - char *buf=data->state.buffer; - CURLcode result; - - FTPSENDF(conn, "SIZE %s", file); - nread = Curl_GetFTPResponse(buf, conn, &ftpcode); - if(nread < 0) - return CURLE_OPERATION_TIMEOUTED; - - if(ftpcode == 213) { - /* get the size from the ascii string: */ - *size = atoi(buf+4); - } - else - return CURLE_FTP_COULDNT_GET_SIZE; - - return CURLE_OK; -} - -/*************************************************************************** - * - * ftp_pasv_verbose() - * - * This function only outputs some informationals about this second connection - * when we've issued a PASV command before and thus we have connected to a - * possibly new IP address. - * - */ -static void -ftp_pasv_verbose(struct connectdata *conn, - Curl_ipconnect *addr, - char *newhost, /* ascii version */ - int port) -{ -#ifndef ENABLE_IPV6 - /***************************************************************** - * - * IPv4-only code section - */ - - struct in_addr in; - struct hostent * answer; - -#ifdef HAVE_INET_NTOA_R - char ntoa_buf[64]; -#endif - /* The array size trick below is to make this a large chunk of memory - suitably 8-byte aligned on 64-bit platforms. This was thoughtfully - suggested by Philip Gladstone. */ - long bigbuf[9000 / sizeof(long)]; - -#if defined(HAVE_INET_ADDR) - in_addr_t address; -# if defined(HAVE_GETHOSTBYADDR_R) - int h_errnop; -# endif - char *hostent_buf = (char *)bigbuf; /* get a char * to the buffer */ - - address = inet_addr(newhost); -# ifdef HAVE_GETHOSTBYADDR_R - -# ifdef HAVE_GETHOSTBYADDR_R_5 - /* AIX, Digital Unix (OSF1, Tru64) style: - extern int gethostbyaddr_r(char *addr, size_t len, int type, - struct hostent *htent, struct hostent_data *ht_data); */ - - /* Fred Noz helped me try this out, now it at least compiles! */ - - /* Bjorn Reese (November 28 2001): - The Tru64 man page on gethostbyaddr_r() says that - the hostent struct must be filled with zeroes before the call to - gethostbyaddr_r(). */ - - memset(hostent_buf, 0, sizeof(struct hostent)); - - if(gethostbyaddr_r((char *) &address, - sizeof(address), AF_INET, - (struct hostent *)hostent_buf, - hostent_buf + sizeof(*answer))) - answer=NULL; - -# endif -# ifdef HAVE_GETHOSTBYADDR_R_7 - /* Solaris and IRIX */ - answer = gethostbyaddr_r((char *) &address, sizeof(address), AF_INET, - (struct hostent *)bigbuf, - hostent_buf + sizeof(*answer), - sizeof(hostent_buf) - sizeof(*answer), - &h_errnop); -# endif -# ifdef HAVE_GETHOSTBYADDR_R_8 - /* Linux style */ - if(gethostbyaddr_r((char *) &address, sizeof(address), AF_INET, - (struct hostent *)hostent_buf, - hostent_buf + sizeof(*answer), - sizeof(hostent_buf) - sizeof(*answer), - &answer, - &h_errnop)) - answer=NULL; /* error */ -# endif - -# else - answer = gethostbyaddr((char *) &address, sizeof(address), AF_INET); -# endif -#else - answer = NULL; -#endif - (void) memcpy(&in.s_addr, addr, sizeof (Curl_ipconnect)); - infof(conn->data, "Connecting to %s (%s) port %u\n", - answer?answer->h_name:newhost, -#if defined(HAVE_INET_NTOA_R) - inet_ntoa_r(in, ntoa_buf, sizeof(ntoa_buf)), -#else - inet_ntoa(in), -#endif - port); - -#else - /***************************************************************** - * - * IPv6-only code section - */ - char hbuf[NI_MAXHOST]; /* ~1KB */ - char nbuf[NI_MAXHOST]; /* ~1KB */ - char sbuf[NI_MAXSERV]; /* around 32 */ -#ifdef NI_WITHSCOPEID - const int niflags = NI_NUMERICHOST | NI_NUMERICSERV | NI_WITHSCOPEID; -#else - const int niflags = NI_NUMERICHOST | NI_NUMERICSERV; -#endif - port = 0; /* unused, prevent warning */ - if (getnameinfo(addr->ai_addr, addr->ai_addrlen, - nbuf, sizeof(nbuf), sbuf, sizeof(sbuf), niflags)) { - snprintf(nbuf, sizeof(nbuf), "?"); - snprintf(sbuf, sizeof(sbuf), "?"); - } - - if (getnameinfo(addr->ai_addr, addr->ai_addrlen, - hbuf, sizeof(hbuf), NULL, 0, 0)) { - infof(conn->data, "Connecting to %s (%s) port %s\n", nbuf, newhost, sbuf); - } - else { - infof(conn->data, "Connecting to %s (%s) port %s\n", hbuf, nbuf, sbuf); - } -#endif -} - -/*********************************************************************** - * - * ftp_use_port() - * - * Send the proper PORT command. PORT is the ftp client's way of telling the - * server that *WE* open a port that we listen on an awaits the server to - * connect to. This is the opposite of PASV. - */ - -static -CURLcode ftp_use_port(struct connectdata *conn) -{ - struct SessionHandle *data=conn->data; - int portsock=-1; - ssize_t nread; - char *buf = data->state.buffer; /* this is our buffer */ - int ftpcode; /* receive FTP response codes in this */ - CURLcode result; - -#ifdef ENABLE_IPV6 - /****************************************************************** - * - * Here's a piece of IPv6-specific code coming up - * - */ - - struct addrinfo hints, *res, *ai; - struct sockaddr_storage ss; - socklen_t sslen; - char hbuf[NI_MAXHOST]; - - struct sockaddr *sa=(struct sockaddr *)&ss; -#ifdef NI_WITHSCOPEID - const int niflags = NI_NUMERICHOST | NI_NUMERICSERV | NI_WITHSCOPEID; -#else - const int niflags = NI_NUMERICHOST | NI_NUMERICSERV; -#endif - unsigned char *ap; - unsigned char *pp; - int alen, plen; - char portmsgbuf[4096], tmp[4096]; - - const char *mode[] = { "EPRT", "LPRT", "PORT", NULL }; - char **modep; - - /* - * we should use Curl_if2ip? given pickiness of recent ftpd, - * I believe we should use the same address as the control connection. - */ - sslen = sizeof(ss); - if (getsockname(conn->firstsocket, (struct sockaddr *)&ss, &sslen) < 0) - return CURLE_FTP_PORT_FAILED; - - if (getnameinfo((struct sockaddr *)&ss, sslen, hbuf, sizeof(hbuf), NULL, 0, - niflags)) - return CURLE_FTP_PORT_FAILED; - - memset(&hints, 0, sizeof(hints)); - hints.ai_family = sa->sa_family; - /*hints.ai_family = ss.ss_family; - this way can be used if sockaddr_storage is properly defined, as glibc - 2.1.X doesn't do*/ - hints.ai_socktype = SOCK_STREAM; - hints.ai_flags = AI_PASSIVE; - - if (getaddrinfo(hbuf, (char *)"0", &hints, &res)) - return CURLE_FTP_PORT_FAILED; - - portsock = -1; - for (ai = res; ai; ai = ai->ai_next) { - portsock = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol); - if (portsock < 0) - continue; - - if (bind(portsock, ai->ai_addr, ai->ai_addrlen) < 0) { - sclose(portsock); - portsock = -1; - continue; - } - - if (listen(portsock, 1) < 0) { - sclose(portsock); - portsock = -1; - continue; - } - - break; - } - freeaddrinfo(res); - if (portsock < 0) { - failf(data, strerror(errno)); - return CURLE_FTP_PORT_FAILED; - } - - sslen = sizeof(ss); - if (getsockname(portsock, sa, &sslen) < 0) { - failf(data, strerror(errno)); - return CURLE_FTP_PORT_FAILED; - } - - for (modep = (char **)mode; modep && *modep; modep++) { - int lprtaf, eprtaf; - - switch (sa->sa_family) { - case AF_INET: - ap = (unsigned char *)&((struct sockaddr_in *)&ss)->sin_addr; - alen = sizeof(((struct sockaddr_in *)&ss)->sin_addr); - pp = (unsigned char *)&((struct sockaddr_in *)&ss)->sin_port; - plen = sizeof(((struct sockaddr_in *)&ss)->sin_port); - lprtaf = 4; - eprtaf = 1; - break; - case AF_INET6: - ap = (unsigned char *)&((struct sockaddr_in6 *)&ss)->sin6_addr; - alen = sizeof(((struct sockaddr_in6 *)&ss)->sin6_addr); - pp = (unsigned char *)&((struct sockaddr_in6 *)&ss)->sin6_port; - plen = sizeof(((struct sockaddr_in6 *)&ss)->sin6_port); - lprtaf = 6; - eprtaf = 2; - break; - default: - ap = pp = NULL; - lprtaf = eprtaf = -1; - break; - } - - if (strcmp(*modep, "EPRT") == 0) { - if (eprtaf < 0) - continue; - if (getnameinfo((struct sockaddr *)&ss, sslen, - portmsgbuf, sizeof(portmsgbuf), tmp, sizeof(tmp), niflags)) - continue; - - /* do not transmit IPv6 scope identifier to the wire */ - if (sa->sa_family == AF_INET6) { - char *q = strchr(portmsgbuf, '%'); - if (q) - *q = '\0'; - } - - result = Curl_ftpsendf(conn, "%s |%d|%s|%s|", *modep, eprtaf, - portmsgbuf, tmp); - if(result) - return result; - } else if (strcmp(*modep, "LPRT") == 0 || - strcmp(*modep, "PORT") == 0) { - int i; - - if (strcmp(*modep, "LPRT") == 0 && lprtaf < 0) - continue; - if (strcmp(*modep, "PORT") == 0 && sa->sa_family != AF_INET) - continue; - - portmsgbuf[0] = '\0'; - if (strcmp(*modep, "LPRT") == 0) { - snprintf(tmp, sizeof(tmp), "%d,%d", lprtaf, alen); - if (strlcat(portmsgbuf, tmp, sizeof(portmsgbuf)) >= - sizeof(portmsgbuf)) { - continue; - } - } - - for (i = 0; i < alen; i++) { - if (portmsgbuf[0]) - snprintf(tmp, sizeof(tmp), ",%u", ap[i]); - else - snprintf(tmp, sizeof(tmp), "%u", ap[i]); - - if (strlcat(portmsgbuf, tmp, sizeof(portmsgbuf)) >= - sizeof(portmsgbuf)) { - continue; - } - } - - if (strcmp(*modep, "LPRT") == 0) { - snprintf(tmp, sizeof(tmp), ",%d", plen); - - if (strlcat(portmsgbuf, tmp, sizeof(portmsgbuf)) >= sizeof(portmsgbuf)) - continue; - } - - for (i = 0; i < plen; i++) { - snprintf(tmp, sizeof(tmp), ",%u", pp[i]); - - if (strlcat(portmsgbuf, tmp, sizeof(portmsgbuf)) >= - sizeof(portmsgbuf)) { - continue; - } - } - - result = Curl_ftpsendf(conn, "%s %s", *modep, portmsgbuf); - if(result) - return result; - } - - nread = Curl_GetFTPResponse(buf, conn, &ftpcode); - if(nread < 0) - return CURLE_OPERATION_TIMEOUTED; - - if (ftpcode != 200) { - failf(data, "Server does not grok %s", *modep); - continue; - } - else - break; - } - - if (!*modep) { - sclose(portsock); - return CURLE_FTP_PORT_FAILED; - } - /* we set the secondary socket variable to this for now, it - is only so that the cleanup function will close it in case - we fail before the true secondary stuff is made */ - conn->secondarysocket = portsock; - -#else - /****************************************************************** - * - * Here's a piece of IPv4-specific code coming up - * - */ - struct sockaddr_in sa; - struct hostent *h=NULL; - char *hostdataptr=NULL; - unsigned short porttouse; - char myhost[256] = ""; - - if(data->set.ftpport) { - if(Curl_if2ip(data->set.ftpport, myhost, sizeof(myhost))) { - h = Curl_resolv(data, myhost, 0, &hostdataptr); - } - else { - int len = strlen(data->set.ftpport); - if(len>1) - h = Curl_resolv(data, data->set.ftpport, 0, &hostdataptr); - if(h) - strcpy(myhost, data->set.ftpport); /* buffer overflow risk */ - } - } - if(! *myhost) { - char *tmp_host = getmyhost(myhost, sizeof(myhost)); - h=Curl_resolv(data, tmp_host, 0, &hostdataptr); - } - infof(data, "We connect from %s\n", myhost); - - if ( h ) { - if( (portsock = socket(AF_INET, SOCK_STREAM, 0)) >= 0 ) { - int size; - - /* we set the secondary socket variable to this for now, it - is only so that the cleanup function will close it in case - we fail before the true secondary stuff is made */ - conn->secondarysocket = portsock; - - memset((char *)&sa, 0, sizeof(sa)); - memcpy((char *)&sa.sin_addr, - h->h_addr, - h->h_length); - sa.sin_family = AF_INET; - sa.sin_addr.s_addr = INADDR_ANY; - sa.sin_port = 0; - size = sizeof(sa); - - if(bind(portsock, (struct sockaddr *)&sa, size) >= 0) { - /* we succeeded to bind */ - struct sockaddr_in add; - socklen_t socksize = sizeof(add); - - if(getsockname(portsock, (struct sockaddr *) &add, - &socksize)<0) { - failf(data, "getsockname() failed"); - return CURLE_FTP_PORT_FAILED; - } - porttouse = ntohs(add.sin_port); - - if ( listen(portsock, 1) < 0 ) { - failf(data, "listen(2) failed on socket"); - free(hostdataptr); - return CURLE_FTP_PORT_FAILED; - } - } - else { - failf(data, "bind(2) failed on socket"); - free(hostdataptr); - return CURLE_FTP_PORT_FAILED; - } - } - else { - failf(data, "socket(2) failed (%s)"); - free(hostdataptr); - return CURLE_FTP_PORT_FAILED; - } - } - else { - failf(data, "could't find my own IP address (%s)", myhost); - return CURLE_FTP_PORT_FAILED; - } - { -#ifdef HAVE_INET_NTOA_R - char ntoa_buf[64]; -#endif - struct in_addr in; - unsigned short ip[5]; - (void) memcpy(&in.s_addr, *h->h_addr_list, sizeof (in.s_addr)); -#ifdef HAVE_INET_NTOA_R - /* ignore the return code from inet_ntoa_r() as it is int or - char * depending on system */ - inet_ntoa_r(in, ntoa_buf, sizeof(ntoa_buf)); - sscanf( ntoa_buf, "%hu.%hu.%hu.%hu", - &ip[0], &ip[1], &ip[2], &ip[3]); -#else - sscanf( inet_ntoa(in), "%hu.%hu.%hu.%hu", - &ip[0], &ip[1], &ip[2], &ip[3]); -#endif - result=Curl_ftpsendf(conn, "PORT %d,%d,%d,%d,%d,%d", - ip[0], ip[1], ip[2], ip[3], - porttouse >> 8, - porttouse & 255); - if(result) - return result; - } - - nread = Curl_GetFTPResponse(buf, conn, &ftpcode); - if(nread < 0) - return CURLE_OPERATION_TIMEOUTED; - - if(ftpcode != 200) { - failf(data, "Server does not grok PORT, try without it!"); - return CURLE_FTP_PORT_FAILED; - } -#endif /* end of ipv4-specific code */ - - return CURLE_OK; -} - -/*********************************************************************** - * - * ftp_use_pasv() - * - * Send the PASV command. PASV is the ftp client's way of asking the server to - * open a second port that we can connect to (for the data transfer). This is - * the opposite of PORT. - */ - -static -CURLcode ftp_use_pasv(struct connectdata *conn) -{ - struct SessionHandle *data = conn->data; - ssize_t nread; - char *buf = data->state.buffer; /* this is our buffer */ - int ftpcode; /* receive FTP response codes in this */ - CURLcode result; - Curl_addrinfo *addr=NULL; - Curl_ipconnect *conninfo; - - /* - Here's the excecutive summary on what to do: - - PASV is RFC959, expect: - 227 Entering Passive Mode (a1,a2,a3,a4,p1,p2) - - LPSV is RFC1639, expect: - 228 Entering Long Passive Mode (4,4,a1,a2,a3,a4,2,p1,p2) - - EPSV is RFC2428, expect: - 229 Entering Extended Passive Mode (|||port|) - - */ - -#if 1 - const char *mode[] = { "EPSV", "PASV", NULL }; - int results[] = { 229, 227, 0 }; -#else -#if 0 - char *mode[] = { "EPSV", "LPSV", "PASV", NULL }; - int results[] = { 229, 228, 227, 0 }; -#else - const char *mode[] = { "PASV", NULL }; - int results[] = { 227, 0 }; -#endif -#endif - int modeoff; - unsigned short connectport; /* the local port connect() should use! */ - unsigned short newport; /* remote port, not necessary the local one */ - char *hostdataptr=NULL; - - /* newhost must be able to hold a full IP-style address in ASCII, which - in the IPv6 case means 5*8-1 = 39 letters */ - char newhost[48]; - char *newhostp=NULL; - - for (modeoff = (data->set.ftp_use_epsv?0:1); - mode[modeoff]; modeoff++) { - result = Curl_ftpsendf(conn, mode[modeoff]); - if(result) - return result; - nread = Curl_GetFTPResponse(buf, conn, &ftpcode); - if(nread < 0) - return CURLE_OPERATION_TIMEOUTED; - if (ftpcode == results[modeoff]) - break; - } - - if (!mode[modeoff]) { - failf(data, "Odd return code after PASV"); - return CURLE_FTP_WEIRD_PASV_REPLY; - } - else if (227 == results[modeoff]) { - int ip[4]; - int port[2]; - char *str=buf; - - /* - * New 227-parser June 3rd 1999. - * It now scans for a sequence of six comma-separated numbers and - * will take them as IP+port indicators. - * - * Found reply-strings include: - * "227 Entering Passive Mode (127,0,0,1,4,51)" - * "227 Data transfer will passively listen to 127,0,0,1,4,51" - * "227 Entering passive mode. 127,0,0,1,4,51" - */ - - while(*str) { - if (6 == sscanf(str, "%d,%d,%d,%d,%d,%d", - &ip[0], &ip[1], &ip[2], &ip[3], - &port[0], &port[1])) - break; - str++; - } - - if(!*str) { - failf(data, "Couldn't interpret this 227-reply: %s", buf); - return CURLE_FTP_WEIRD_227_FORMAT; - } - - sprintf(newhost, "%d.%d.%d.%d", ip[0], ip[1], ip[2], ip[3]); - newhostp = newhost; - newport = (port[0]<<8) + port[1]; - } -#if 1 - else if (229 == results[modeoff]) { - char *ptr = strchr(buf, '('); - if(ptr) { - unsigned int num; - char separator[4]; - ptr++; - if(5 == sscanf(ptr, "%c%c%c%u%c", - &separator[0], - &separator[1], - &separator[2], - &num, - &separator[3])) { - /* the four separators should be identical */ - newport = num; - - /* we should use the same host we already are connected to */ - newhostp = conn->name; - } - else - ptr=NULL; - } - if(!ptr) { - failf(data, "Weirdly formatted EPSV reply"); - return CURLE_FTP_WEIRD_PASV_REPLY; - } - } -#endif - else - return CURLE_FTP_CANT_RECONNECT; - - if(data->change.proxy) { - /* - * This is a tunnel through a http proxy and we need to connect to the - * proxy again here. We already have the name info for it since the - * previous lookup. - */ - addr = conn->hostaddr; - connectport = - (unsigned short)conn->port; /* we connect to the proxy's port */ - } - else { - /* normal, direct, ftp connection */ - addr = Curl_resolv(data, newhostp, newport, &hostdataptr); - if(!addr) { - failf(data, "Can't resolve new host %s", newhost); - return CURLE_FTP_CANT_GET_HOST; - } - connectport = newport; /* we connect to the remote port */ - } - - result = Curl_connecthost(conn, - addr, - connectport, - &conn->secondarysocket, - &conninfo); - - if((CURLE_OK == result) && - data->set.verbose) - /* this just dumps information about this second connection */ - ftp_pasv_verbose(conn, conninfo, newhost, connectport); - - if(CURLE_OK != result) - return result; - - if (data->set.tunnel_thru_httpproxy) { - /* We want "seamless" FTP operations through HTTP proxy tunnel */ - result = Curl_ConnectHTTPProxyTunnel(conn, conn->secondarysocket, - newhost, newport); - if(CURLE_OK != result) - return result; - } - - return CURLE_OK; -} - -/*********************************************************************** - * - * ftp_perform() - * - * This is the actual DO function for FTP. Get a file/directory according to - * the options previously setup. - */ - -static -CURLcode ftp_perform(struct connectdata *conn) -{ - /* this is FTP and no proxy */ - ssize_t nread; - CURLcode result; - struct SessionHandle *data=conn->data; - char *buf = data->state.buffer; /* this is our buffer */ - - /* the ftp struct is already inited in ftp_connect() */ - struct FTP *ftp = conn->proto.ftp; - - long *bytecountp = ftp->bytecountp; - int ftpcode; /* for ftp status */ - - /* Send any QUOTE strings? */ - if(data->set.quote) { - if ((result = ftp_sendquote(conn, data->set.quote)) != CURLE_OK) - return result; - } - - /* This is a re-used connection. Since we change directory to where the - transfer is taking place, we must now get back to the original dir - where we ended up after login: */ - if (conn->bits.reuse) { - if ((result = ftp_cwd(conn, ftp->entrypath)) != CURLE_OK) - return result; - } - - /* change directory first! */ - if(ftp->dir && ftp->dir[0]) { - if ((result = ftp_cwd(conn, ftp->dir)) != CURLE_OK) - return result; - } - - /* Requested time of file? */ - if(data->set.get_filetime && ftp->file) { - result = ftp_getfiletime(conn, ftp->file); - if(result) - return result; - } - - /* If we have selected NOBODY and HEADER, it means that we only want file - information. Which in FTP can't be much more than the file size and - date. */ - if(data->set.no_body && data->set.include_header) { - /* The SIZE command is _not_ RFC 959 specified, and therefor many servers - may not support it! It is however the only way we have to get a file's - size! */ - ssize_t filesize; - - /* Some servers return different sizes for different modes, and thus we - must set the proper type before we check the size */ - result = ftp_transfertype(conn, data->set.ftp_ascii); - if(result) - return result; - - /* failing to get size is not a serious error */ - result = ftp_getsize(conn, ftp->file, &filesize); - - if(CURLE_OK == result) { - sprintf(buf, "Content-Length: %d\r\n", filesize); - result = Curl_client_write(data, CLIENTWRITE_BOTH, buf, 0); - if(result) - return result; - } - - /* If we asked for a time of the file and we actually got one as - well, we "emulate" a HTTP-style header in our output. */ - -#ifdef HAVE_STRFTIME - if(data->set.get_filetime && data->info.filetime) { - struct tm *tm; -#ifdef HAVE_LOCALTIME_R - struct tm buffer; - tm = (struct tm *)localtime_r(&data->info.filetime, &buffer); -#else - tm = localtime((unsigned long *)&data->info.filetime); -#endif - /* format: "Tue, 15 Nov 1994 12:45:26 GMT" */ - strftime(buf, BUFSIZE-1, "Last-Modified: %a, %d %b %Y %H:%M:%S %Z\r\n", - tm); - result = Curl_client_write(data, CLIENTWRITE_BOTH, buf, 0); - if(result) - return result; - } -#endif - - return CURLE_OK; - } - - if(data->set.no_body) - /* don't transfer the data */ - ; - /* Get us a second connection up and connected */ - else if(data->set.ftp_use_port) { - /* We have chosen to use the PORT command */ - result = ftp_use_port(conn); - if(CURLE_OK == result) - /* we have the data connection ready */ - infof(data, "Connected the data stream with PORT!\n"); - } - else { - /* We have chosen (this is default) to use the PASV command */ - result = ftp_use_pasv(conn); - if(CURLE_OK == result) - infof(data, "Connected the data stream with PASV!\n"); - } - - if(result) - return result; - - if(data->set.upload) { - - /* Set type to binary (unless specified ASCII) */ - result = ftp_transfertype(conn, data->set.ftp_ascii); - if(result) - return result; - - /* Send any PREQUOTE strings after transfer type is set? (Wesley Laxton)*/ - if(data->set.prequote) { - if ((result = ftp_sendquote(conn, data->set.prequote)) != CURLE_OK) - return result; - } - - if(conn->resume_from) { - /* we're about to continue the uploading of a file */ - /* 1. get already existing file's size. We use the SIZE - command for this which may not exist in the server! - The SIZE command is not in RFC959. */ - - /* 2. This used to set REST. But since we can do append, we - don't another ftp command. We just skip the source file - offset and then we APPEND the rest on the file instead */ - - /* 3. pass file-size number of bytes in the source file */ - /* 4. lower the infilesize counter */ - /* => transfer as usual */ - - if(conn->resume_from < 0 ) { - /* we could've got a specified offset from the command line, - but now we know we didn't */ - ssize_t gottensize; - - if(CURLE_OK != ftp_getsize(conn, ftp->file, &gottensize)) { - failf(data, "Couldn't get remote file size"); - return CURLE_FTP_COULDNT_GET_SIZE; - } - conn->resume_from = gottensize; - } - - if(conn->resume_from) { - /* do we still game? */ - int passed=0; - /* enable append instead */ - data->set.ftp_append = 1; - - /* Now, let's read off the proper amount of bytes from the - input. If we knew it was a proper file we could've just - fseek()ed but we only have a stream here */ - do { - int readthisamountnow = (conn->resume_from - passed); - int actuallyread; - - if(readthisamountnow > BUFSIZE) - readthisamountnow = BUFSIZE; - - actuallyread = - data->set.fread(data->state.buffer, 1, readthisamountnow, - data->set.in); - - passed += actuallyread; - if(actuallyread != readthisamountnow) { - failf(data, "Could only read %d bytes from the input", passed); - return CURLE_FTP_COULDNT_USE_REST; - } - } - while(passed != conn->resume_from); - - /* now, decrease the size of the read */ - if(data->set.infilesize>0) { - data->set.infilesize -= conn->resume_from; - - if(data->set.infilesize <= 0) { - infof(data, "File already completely uploaded\n"); - - /* no data to transfer */ - result=Curl_Transfer(conn, -1, -1, FALSE, NULL, -1, NULL); - - /* Set resume done so that we won't get any error in - * Curl_ftp_done() because we didn't transfer the amount of bytes - * that the local file file obviously is */ - conn->bits.resume_done = TRUE; - - return CURLE_OK; - } - } - /* we've passed, proceed as normal */ - } - } - - /* Send everything on data->set.in to the socket */ - if(data->set.ftp_append) { - /* we append onto the file instead of rewriting it */ - FTPSENDF(conn, "APPE %s", ftp->file); - } - else { - FTPSENDF(conn, "STOR %s", ftp->file); - } - - nread = Curl_GetFTPResponse(buf, conn, &ftpcode); - if(nread < 0) - return CURLE_OPERATION_TIMEOUTED; - - if(ftpcode>=400) { - failf(data, "Failed FTP upload:%s", buf+3); - /* oops, we never close the sockets! */ - return CURLE_FTP_COULDNT_STOR_FILE; - } - - if(data->set.ftp_use_port) { - /* PORT means we are now awaiting the server to connect to us. */ - result = AllowServerConnect(data, conn, conn->secondarysocket); - if( result ) - return result; - } - - *bytecountp=0; - - /* When we know we're uploading a specified file, we can get the file - size prior to the actual upload. */ - - Curl_pgrsSetUploadSize(data, data->set.infilesize); - - result = Curl_Transfer(conn, -1, -1, FALSE, NULL, /* no download */ - conn->secondarysocket, bytecountp); - if(result) - return result; - - } - else if(!data->set.no_body) { - /* Retrieve file or directory */ - bool dirlist=FALSE; - long downloadsize=-1; - - if(conn->bits.use_range && conn->range) { - long from, to; - int totalsize=-1; - char *ptr; - char *ptr2; - - from=strtol(conn->range, &ptr, 0); - while(ptr && *ptr && (isspace((int)*ptr) || (*ptr=='-'))) - ptr++; - to=strtol(ptr, &ptr2, 0); - if(ptr == ptr2) { - /* we didn't get any digit */ - to=-1; - } - if((-1 == to) && (from>=0)) { - /* X - */ - conn->resume_from = from; - infof(data, "FTP RANGE %d to end of file\n", from); - } - else if(from < 0) { - /* -Y */ - totalsize = -from; - conn->maxdownload = -from; - conn->resume_from = from; - infof(data, "FTP RANGE the last %d bytes\n", totalsize); - } - else { - /* X-Y */ - totalsize = to-from; - conn->maxdownload = totalsize+1; /* include the last mentioned byte */ - conn->resume_from = from; - infof(data, "FTP RANGE from %d getting %d bytes\n", from, - conn->maxdownload); - } - infof(data, "range-download from %d to %d, totally %d bytes\n", - from, to, totalsize); - } - - if((data->set.ftp_list_only) || !ftp->file) { - /* The specified path ends with a slash, and therefore we think this - is a directory that is requested, use LIST. But before that we - need to set ASCII transfer mode. */ - dirlist = TRUE; - - /* Set type to ASCII */ - result = ftp_transfertype(conn, TRUE /* ASCII enforced */); - if(result) - return result; - - /* if this output is to be machine-parsed, the NLST command will be - better used since the LIST command output is not specified or - standard in any way */ - - FTPSENDF(conn, "%s", - data->set.customrequest?data->set.customrequest: - (data->set.ftp_list_only?"NLST":"LIST")); - } - else { - ssize_t foundsize; - - /* Set type to binary (unless specified ASCII) */ - result = ftp_transfertype(conn, data->set.ftp_ascii); - if(result) - return result; - - /* Send any PREQUOTE strings after transfer type is set? (Wesley Laxton)*/ - if(data->set.prequote) { - if ((result = ftp_sendquote(conn, data->set.prequote)) != CURLE_OK) - return result; - } - - /* Attempt to get the size, it'll be useful in some cases: for resumed - downloads and when talking to servers that don't give away the size - in the RETR response line. */ - result = ftp_getsize(conn, ftp->file, &foundsize); - if(CURLE_OK == result) - downloadsize = foundsize; - - if(conn->resume_from) { - - /* Daniel: (August 4, 1999) - * - * We start with trying to use the SIZE command to figure out the size - * of the file we're gonna get. If we can get the size, this is by far - * the best way to know if we're trying to resume beyond the EOF. - * - * Daniel, November 28, 2001. We *always* get the size on downloads - * now, so it is done before this even when not doing resumes. I saved - * the comment above for nostalgical reasons! ;-) - */ - if(CURLE_OK != result) { - infof(data, "ftp server doesn't support SIZE\n"); - /* We couldn't get the size and therefore we can't know if there - really is a part of the file left to get, although the server - will just close the connection when we start the connection so it - won't cause us any harm, just not make us exit as nicely. */ - } - else { - /* We got a file size report, so we check that there actually is a - part of the file left to get, or else we go home. */ - if(conn->resume_from< 0) { - /* We're supposed to download the last abs(from) bytes */ - if(foundsize < -conn->resume_from) { - failf(data, "Offset (%d) was beyond file size (%d)", - conn->resume_from, foundsize); - return CURLE_FTP_BAD_DOWNLOAD_RESUME; - } - /* convert to size to download */ - downloadsize = -conn->resume_from; - /* download from where? */ - conn->resume_from = foundsize - downloadsize; - } - else { - if(foundsize < conn->resume_from) { - failf(data, "Offset (%d) was beyond file size (%d)", - conn->resume_from, foundsize); - return CURLE_FTP_BAD_DOWNLOAD_RESUME; - } - /* Now store the number of bytes we are expected to download */ - downloadsize = foundsize-conn->resume_from; - } - } - - if (downloadsize == 0) { - /* no data to transfer */ - result=Curl_Transfer(conn, -1, -1, FALSE, NULL, -1, NULL); - infof(data, "File already completely downloaded\n"); - - /* Set resume done so that we won't get any error in Curl_ftp_done() - * because we didn't transfer the amount of bytes that the remote - * file obviously is */ - conn->bits.resume_done = TRUE; - - return CURLE_OK; - } - - /* Set resume file transfer offset */ - infof(data, "Instructs server to resume from offset %d\n", - conn->resume_from); - - FTPSENDF(conn, "REST %d", conn->resume_from); - - nread = Curl_GetFTPResponse(buf, conn, &ftpcode); - if(nread < 0) - return CURLE_OPERATION_TIMEOUTED; - - if(ftpcode != 350) { - failf(data, "Couldn't use REST: %s", buf+4); - return CURLE_FTP_COULDNT_USE_REST; - } - } - - FTPSENDF(conn, "RETR %s", ftp->file); - } - - nread = Curl_GetFTPResponse(buf, conn, &ftpcode); - if(nread < 0) - return CURLE_OPERATION_TIMEOUTED; - - if((ftpcode == 150) || (ftpcode == 125)) { - - /* - A; - 150 Opening BINARY mode data connection for /etc/passwd (2241 - bytes). (ok, the file is being transfered) - - B: - 150 Opening ASCII mode data connection for /bin/ls - - C: - 150 ASCII data connection for /bin/ls (137.167.104.91,37445) (0 bytes). - - D: - 150 Opening ASCII mode data connection for /linux/fisk/kpanelrc (0.0.0.0,0) (545 bytes). - - E: - 125 Data connection already open; Transfer starting. */ - - int size=-1; /* default unknown size */ - - if(!dirlist && - !data->set.ftp_ascii && - (-1 == downloadsize)) { - /* - * It seems directory listings either don't show the size or very - * often uses size 0 anyway. ASCII transfers may very well turn out - * that the transfered amount of data is not the same as this line - * tells, why using this number in those cases only confuses us. - * - * Example D above makes this parsing a little tricky */ - char *bytes; - bytes=strstr(buf, " bytes"); - if(bytes--) { - int index=bytes-buf; - /* this is a hint there is size information in there! ;-) */ - while(--index) { - /* scan for the parenthesis and break there */ - if('(' == *bytes) - break; - /* if only skip digits, or else we're in deep trouble */ - if(!isdigit((int)*bytes)) { - bytes=NULL; - break; - } - /* one more estep backwards */ - bytes--; - } - /* only if we have nothing but digits: */ - if(bytes++) { - /* get the number! */ - size = atoi(bytes); - } - - } - } - else if(downloadsize > -1) - size = downloadsize; - - if(data->set.ftp_use_port) { - result = AllowServerConnect(data, conn, conn->secondarysocket); - if( result ) - return result; - } - - infof(data, "Getting file with size: %d\n", size); - - /* FTP download: */ - result=Curl_Transfer(conn, conn->secondarysocket, size, FALSE, - bytecountp, - -1, NULL); /* no upload here */ - if(result) - return result; - } - else { - failf(data, "%s", buf+4); - return CURLE_FTP_COULDNT_RETR_FILE; - } - - } - /* end of transfer */ - - return CURLE_OK; -} - -/*********************************************************************** - * - * Curl_ftp() - * - * This function is registered as 'curl_do' function. It decodes the path - * parts etc as a wrapper to the actual DO function (ftp_perform). - * - * The input argument is already checked for validity. - */ -CURLcode Curl_ftp(struct connectdata *conn) -{ - CURLcode retcode; - - struct SessionHandle *data = conn->data; - struct FTP *ftp; - int dirlength=0; /* 0 forces strlen() */ - - /* the ftp struct is already inited in ftp_connect() */ - ftp = conn->proto.ftp; - - /* We split the path into dir and file parts *before* we URLdecode - it */ - ftp->file = strrchr(conn->ppath, '/'); - if(ftp->file) { - if(ftp->file != conn->ppath) - dirlength=ftp->file-conn->ppath; /* don't count the traling slash */ - - ftp->file++; /* point to the first letter in the file name part or - remain NULL */ - } - else { - ftp->file = conn->ppath; /* there's only a file part */ - } - - if(*ftp->file) { - ftp->file = curl_unescape(ftp->file, 0); - if(NULL == ftp->file) { - failf(data, "no memory"); - return CURLE_OUT_OF_MEMORY; - } - } - else - ftp->file=NULL; /* instead of point to a zero byte, we make it a NULL - pointer */ - - ftp->urlpath = conn->ppath; - if(dirlength) { - ftp->dir = curl_unescape(ftp->urlpath, dirlength); - if(NULL == ftp->dir) { - if(ftp->file) - free(ftp->file); - failf(data, "no memory"); - return CURLE_OUT_OF_MEMORY; /* failure */ - } - } - else - ftp->dir = NULL; - - retcode = ftp_perform(conn); - - /* clean up here, success or error doesn't matter */ - if(ftp->file) - free(ftp->file); - if(ftp->dir) - free(ftp->dir); - - ftp->file = ftp->dir = NULL; /* zero */ - - return retcode; -} - -/*********************************************************************** - * - * Curl_ftpsendf() - * - * Sends the formated string as a ftp command to a ftp server - * - * NOTE: we build the command in a fixed-length buffer, which sets length - * restrictions on the command! - */ -CURLcode Curl_ftpsendf(struct connectdata *conn, - const char *fmt, ...) -{ - ssize_t bytes_written; - char s[256]; - ssize_t write_len; - char *sptr=s; - CURLcode res = CURLE_OK; - - va_list ap; - va_start(ap, fmt); - vsnprintf(s, 250, fmt, ap); - va_end(ap); - - if(conn->data->set.verbose) - fprintf(conn->data->set.err, "> %s\n", s); - - strcat(s, "\r\n"); /* append a trailing CRLF */ - - bytes_written=0; - write_len = strlen(s); - - do { - res = Curl_write(conn, conn->firstsocket, sptr, write_len, - &bytes_written); - - if(CURLE_OK != res) - break; - - if(bytes_written != write_len) { - write_len -= bytes_written; - sptr += bytes_written; - } - else - break; - } while(1); - - return res; -} - -/*********************************************************************** - * - * Curl_ftp_disconnect() - * - * Disconnect from an FTP server. Cleanup protocol-specific per-connection - * resources - */ -CURLcode Curl_ftp_disconnect(struct connectdata *conn) -{ - struct FTP *ftp= conn->proto.ftp; - - /* The FTP session may or may not have been allocated/setup at this point! */ - if(ftp) { - if(ftp->entrypath) - free(ftp->entrypath); - if(ftp->cache) - free(ftp->cache); - } - return CURLE_OK; -} - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/ftp.h b/Build/source/libs/curl/lib/ftp.h deleted file mode 100644 index 1ef159afa57..00000000000 --- a/Build/source/libs/curl/lib/ftp.h +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef __FTP_H -#define __FTP_H - -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: ftp.h,v 1.10 2001/11/05 12:24:21 bagder Exp $ - *****************************************************************************/ -CURLcode Curl_ftp(struct connectdata *conn); -CURLcode Curl_ftp_done(struct connectdata *conn); -CURLcode Curl_ftp_connect(struct connectdata *conn); -CURLcode Curl_ftp_disconnect(struct connectdata *conn); - -CURLcode Curl_ftpsendf(struct connectdata *, const char *fmt, ...); - -/* The kerberos stuff needs this: */ -int Curl_GetFTPResponse(char *buf, struct connectdata *conn, - int *ftpcode); - -#endif diff --git a/Build/source/libs/curl/lib/getdate.c b/Build/source/libs/curl/lib/getdate.c deleted file mode 100644 index 6d951e40e5b..00000000000 --- a/Build/source/libs/curl/lib/getdate.c +++ /dev/null @@ -1,2149 +0,0 @@ - -/* A Bison parser, made from getdate.y - by GNU Bison version 1.27 - */ - -#define YYBISON 1 /* Identify Bison output. */ - -#define tAGO 257 -#define tDAY 258 -#define tDAY_UNIT 259 -#define tDAYZONE 260 -#define tDST 261 -#define tHOUR_UNIT 262 -#define tID 263 -#define tMERIDIAN 264 -#define tMINUTE_UNIT 265 -#define tMONTH 266 -#define tMONTH_UNIT 267 -#define tSEC_UNIT 268 -#define tSNUMBER 269 -#define tUNUMBER 270 -#define tYEAR_UNIT 271 -#define tZONE 272 - -#line 1 "getdate.y" - -/* -** Originally written by Steven M. Bellovin <smb@research.att.com> while -** at the University of North Carolina at Chapel Hill. Later tweaked by -** a couple of people on Usenet. Completely overhauled by Rich $alz -** <rsalz@bbn.com> and Jim Berets <jberets@bbn.com> in August, 1990. -** -** This code is in the public domain and has no copyright. -*/ - -#include "setup.h" - -# ifdef HAVE_ALLOCA_H -# include <alloca.h> -# endif - -# ifdef HAVE_TIME_H -# include <time.h> -# endif - -#ifndef YYDEBUG - /* to satisfy gcc -Wundef, we set this to 0 */ -#define YYDEBUG 0 -#endif - -/* Since the code of getdate.y is not included in the Emacs executable - itself, there is no need to #define static in this file. Even if - the code were included in the Emacs executable, it probably - wouldn't do any harm to #undef it here; this will only cause - problems if we try to write to a static variable, which I don't - think this code needs to do. */ -#ifdef emacs -# undef static -#endif - -#ifdef __APPLE__ -#include <sys/types.h> -#include <sys/malloc.h> -#else - -#endif -#include <string.h> -#include <stdio.h> -#include <ctype.h> - -#if HAVE_STDLIB_H -# include <stdlib.h> /* for `free'; used by Bison 1.27 */ -#else - -#ifdef HAVE_MALLOC_H -#include <malloc.h> -#endif - -#endif - -#if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII)) -# define IN_CTYPE_DOMAIN(c) 1 -#else -# define IN_CTYPE_DOMAIN(c) isascii(c) -#endif - -#define ISSPACE(c) (IN_CTYPE_DOMAIN (c) && isspace (c)) -#define ISALPHA(c) (IN_CTYPE_DOMAIN (c) && isalpha (c)) -#define ISUPPER(c) (IN_CTYPE_DOMAIN (c) && isupper (c)) -#define ISDIGIT_LOCALE(c) (IN_CTYPE_DOMAIN (c) && isdigit (c)) - -/* ISDIGIT differs from ISDIGIT_LOCALE, as follows: - - Its arg may be any int or unsigned int; it need not be an unsigned char. - - It's guaranteed to evaluate its argument exactly once. - - It's typically faster. - Posix 1003.2-1992 section 2.5.2.1 page 50 lines 1556-1558 says that - only '0' through '9' are digits. Prefer ISDIGIT to ISDIGIT_LOCALE unless - it's important to use the locale's definition of `digit' even when the - host does not conform to Posix. */ -#define ISDIGIT(c) ((unsigned) (c) - '0' <= 9) - -#if defined (STDC_HEADERS) || defined (USG) -# include <string.h> -#endif - -/* The last #include file should be: */ -#ifdef MALLOCDEBUG -#include "memdebug.h" -#endif - -#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) -# define __attribute__(x) -#endif - -#ifndef ATTRIBUTE_UNUSED -# define ATTRIBUTE_UNUSED __attribute__ ((__unused__)) -#endif - -/* Some old versions of bison generate parsers that use bcopy. - That loses on systems that don't provide the function, so we have - to redefine it here. */ -#if !defined (HAVE_BCOPY) && defined (HAVE_MEMCPY) && !defined (bcopy) -# define bcopy(from, to, len) memcpy ((to), (from), (len)) -#endif - -/* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc), - as well as gratuitiously global symbol names, so we can have multiple - yacc generated parsers in the same program. Note that these are only - the variables produced by yacc. If other parser generators (bison, - byacc, etc) produce additional global names that conflict at link time, - then those parser generators need to be fixed instead of adding those - names to this list. */ - -#define yymaxdepth Curl_gd_maxdepth -#define yyparse Curl_gd_parse -#define yylex Curl_gd_lex -#define yyerror Curl_gd_error -#define yylval Curl_gd_lval -#define yychar Curl_gd_char -#define yydebug Curl_gd_debug -#define yypact Curl_gd_pact -#define yyr1 Curl_gd_r1 -#define yyr2 Curl_gd_r2 -#define yydef Curl_gd_def -#define yychk Curl_gd_chk -#define yypgo Curl_gd_pgo -#define yyact Curl_gd_act -#define yyexca Curl_gd_exca -#define yyerrflag Curl_gd_errflag -#define yynerrs Curl_gd_nerrs -#define yyps Curl_gd_ps -#define yypv Curl_gd_pv -#define yys Curl_gd_s -#define yy_yys Curl_gd_yys -#define yystate Curl_gd_state -#define yytmp Curl_gd_tmp -#define yyv Curl_gd_v -#define yy_yyv Curl_gd_yyv -#define yyval Curl_gd_val -#define yylloc Curl_gd_lloc -#define yyreds Curl_gd_reds /* With YYDEBUG defined */ -#define yytoks Curl_gd_toks /* With YYDEBUG defined */ -#define yylhs Curl_gd_yylhs -#define yylen Curl_gd_yylen -#define yydefred Curl_gd_yydefred -#define yydgoto Curl_gd_yydgoto -#define yysindex Curl_gd_yysindex -#define yyrindex Curl_gd_yyrindex -#define yygindex Curl_gd_yygindex -#define yytable Curl_gd_yytable -#define yycheck Curl_gd_yycheck - -static int yylex (); -static int yyerror (); - -#define EPOCH 1970 -#define HOUR(x) ((x) * 60) - -#define MAX_BUFF_LEN 128 /* size of buffer to read the date into */ - -/* -** An entry in the lexical lookup table. -*/ -typedef struct _TABLE { - const char *name; - int type; - int value; -} TABLE; - - -/* -** Meridian: am, pm, or 24-hour style. -*/ -typedef enum _MERIDIAN { - MERam, MERpm, MER24 -} MERIDIAN; - -/* parse results and input string */ -typedef struct _GETDATE_CONTEXT { - const char *yyInput; - int yyDayOrdinal; - int yyDayNumber; - int yyHaveDate; - int yyHaveDay; - int yyHaveRel; - int yyHaveTime; - int yyHaveZone; - int yyTimezone; - int yyDay; - int yyHour; - int yyMinutes; - int yyMonth; - int yySeconds; - int yyYear; - MERIDIAN yyMeridian; - int yyRelDay; - int yyRelHour; - int yyRelMinutes; - int yyRelMonth; - int yyRelSeconds; - int yyRelYear; -} GETDATE_CONTEXT; - -/* enable use of extra argument to yyparse and yylex which can be used to pass -** in a user defined value (GETDATE_CONTEXT struct in our case) -*/ -#define YYPARSE_PARAM cookie -#define YYLEX_PARAM cookie -#define context ((GETDATE_CONTEXT *) cookie) - -#line 215 "getdate.y" -#include "getdate.h" -#include <stdio.h> - -#ifndef __cplusplus -#ifndef __STDC__ -#define const -#endif -#endif - - - -#define YYFINAL 61 -#define YYFLAG -32768 -#define YYNTBASE 22 - -#define YYTRANSLATE(x) ((unsigned)(x) <= 272 ? yytranslate[x] : 32) - -static const char yytranslate[] = { 0, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 20, 2, 2, 21, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 19, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 1, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18 -}; - -#if YYDEBUG != 0 -static const short yyprhs[] = { 0, - 0, 1, 4, 6, 8, 10, 12, 14, 16, 19, - 24, 29, 36, 43, 45, 47, 50, 52, 55, 58, - 62, 68, 72, 76, 79, 84, 87, 91, 94, 96, - 99, 102, 104, 107, 110, 112, 115, 118, 120, 123, - 126, 128, 131, 134, 136, 139, 142, 144, 146, 147 -}; - -static const short yyrhs[] = { -1, - 22, 23, 0, 24, 0, 25, 0, 27, 0, 26, - 0, 28, 0, 30, 0, 16, 10, 0, 16, 19, - 16, 31, 0, 16, 19, 16, 15, 0, 16, 19, - 16, 19, 16, 31, 0, 16, 19, 16, 19, 16, - 15, 0, 18, 0, 6, 0, 18, 7, 0, 4, - 0, 4, 20, 0, 16, 4, 0, 16, 21, 16, - 0, 16, 21, 16, 21, 16, 0, 16, 15, 15, - 0, 16, 12, 15, 0, 12, 16, 0, 12, 16, - 20, 16, 0, 16, 12, 0, 16, 12, 16, 0, - 29, 3, 0, 29, 0, 16, 17, 0, 15, 17, - 0, 17, 0, 16, 13, 0, 15, 13, 0, 13, - 0, 16, 5, 0, 15, 5, 0, 5, 0, 16, - 8, 0, 15, 8, 0, 8, 0, 16, 11, 0, - 15, 11, 0, 11, 0, 16, 14, 0, 15, 14, - 0, 14, 0, 16, 0, 0, 10, 0 -}; - -#endif - -#if YYDEBUG != 0 -static const short yyrline[] = { 0, - 231, 232, 235, 238, 241, 244, 247, 250, 253, 259, - 265, 274, 280, 292, 295, 298, 304, 308, 312, 318, - 322, 340, 346, 352, 356, 361, 365, 372, 380, 383, - 386, 389, 392, 395, 398, 401, 404, 407, 410, 413, - 416, 419, 422, 425, 428, 431, 434, 439, 473, 477 -}; -#endif - - -#if YYDEBUG != 0 || defined (YYERROR_VERBOSE) - -static const char * const yytname[] = { "$","error","$undefined.","tAGO","tDAY", -"tDAY_UNIT","tDAYZONE","tDST","tHOUR_UNIT","tID","tMERIDIAN","tMINUTE_UNIT", -"tMONTH","tMONTH_UNIT","tSEC_UNIT","tSNUMBER","tUNUMBER","tYEAR_UNIT","tZONE", -"':'","','","'/'","spec","item","time","zone","day","date","rel","relunit","number", -"o_merid", NULL -}; -#endif - -static const short yyr1[] = { 0, - 22, 22, 23, 23, 23, 23, 23, 23, 24, 24, - 24, 24, 24, 25, 25, 25, 26, 26, 26, 27, - 27, 27, 27, 27, 27, 27, 27, 28, 28, 29, - 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 29, 29, 29, 29, 29, 29, 30, 31, 31 -}; - -static const short yyr2[] = { 0, - 0, 2, 1, 1, 1, 1, 1, 1, 2, 4, - 4, 6, 6, 1, 1, 2, 1, 2, 2, 3, - 5, 3, 3, 2, 4, 2, 3, 2, 1, 2, - 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, - 1, 2, 2, 1, 2, 2, 1, 1, 0, 1 -}; - -static const short yydefact[] = { 1, - 0, 17, 38, 15, 41, 44, 0, 35, 47, 0, - 48, 32, 14, 2, 3, 4, 6, 5, 7, 29, - 8, 18, 24, 37, 40, 43, 34, 46, 31, 19, - 36, 39, 9, 42, 26, 33, 45, 0, 30, 0, - 0, 16, 28, 0, 23, 27, 22, 49, 20, 25, - 50, 11, 0, 10, 0, 49, 21, 13, 12, 0, - 0 -}; - -static const short yydefgoto[] = { 1, - 14, 15, 16, 17, 18, 19, 20, 21, 54 -}; - -static const short yypact[] = {-32768, - 0, -19,-32768,-32768,-32768,-32768, -13,-32768,-32768, 30, - 15,-32768, 14,-32768,-32768,-32768,-32768,-32768,-32768, 19, --32768,-32768, 4,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768, -6,-32768,-32768, 16,-32768, 17, - 23,-32768,-32768, 24,-32768,-32768,-32768, 27, 28,-32768, --32768,-32768, 29,-32768, 32, -8,-32768,-32768,-32768, 50, --32768 -}; - -static const short yypgoto[] = {-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -5 -}; - - -#define YYLAST 51 - - -static const short yytable[] = { 60, - 22, 51, 23, 2, 3, 4, 58, 5, 45, 46, - 6, 7, 8, 9, 10, 11, 12, 13, 30, 31, - 42, 43, 32, 44, 33, 34, 35, 36, 37, 38, - 47, 39, 48, 40, 24, 41, 51, 25, 49, 50, - 26, 52, 27, 28, 56, 53, 29, 57, 55, 61, - 59 -}; - -static const short yycheck[] = { 0, - 20, 10, 16, 4, 5, 6, 15, 8, 15, 16, - 11, 12, 13, 14, 15, 16, 17, 18, 4, 5, - 7, 3, 8, 20, 10, 11, 12, 13, 14, 15, - 15, 17, 16, 19, 5, 21, 10, 8, 16, 16, - 11, 15, 13, 14, 16, 19, 17, 16, 21, 0, - 56 -}; -#define YYPURE 1 - -/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "f:TeX/bison.simple" -/* This file comes from bison-. */ - -/* Skeleton output parser for bison, - Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. - - 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., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -/* As a special exception, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ - -/* This is the parser code that is written into each bison parser - when the %semantic_parser declaration is not specified in the grammar. - It was written by Richard Stallman by simplifying the hairy parser - used when %semantic_parser is specified. */ - -#ifndef YYSTACK_USE_ALLOCA -#ifdef alloca -#define YYSTACK_USE_ALLOCA -#else /* alloca not defined */ -#ifdef __GNUC__ -#define YYSTACK_USE_ALLOCA -#define alloca __builtin_alloca -#else /* not GNU C. */ -#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386)) -#define YYSTACK_USE_ALLOCA -#include <alloca.h> -#else /* not sparc */ -/* We think this test detects Watcom and Microsoft C. */ -/* This used to test MSDOS, but that is a bad idea - since that symbol is in the user namespace. */ -#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__) -#if 0 /* No need for malloc.h, which pollutes the namespace; - instead, just don't use alloca. */ -#include <malloc.h> -#endif -#else /* not MSDOS, or __TURBOC__ */ -#if defined(_AIX) -/* I don't know what this was needed for, but it pollutes the namespace. - So I turned it off. rms, 2 May 1997. */ -/* #include <malloc.h> */ - #pragma alloca -#define YYSTACK_USE_ALLOCA -#else /* not MSDOS, or __TURBOC__, or _AIX */ -#if 0 -#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up, - and on HPUX 10. Eventually we can turn this on. */ -#define YYSTACK_USE_ALLOCA -#define alloca __builtin_alloca -#endif /* __hpux */ -#endif -#endif /* not _AIX */ -#endif /* not MSDOS, or __TURBOC__ */ -#endif /* not sparc */ -#endif /* not GNU C */ -#endif /* alloca not defined */ -#endif /* YYSTACK_USE_ALLOCA not defined */ - -#ifdef YYSTACK_USE_ALLOCA -#define YYSTACK_ALLOC alloca -#else -#define YYSTACK_ALLOC malloc -#endif - -/* Note: there must be only one dollar sign in this file. - It is replaced by the list of actions, each action - as one case of the switch. */ - -#define yyerrok (yyerrstatus = 0) -#define yyclearin (yychar = YYEMPTY) -#define YYEMPTY -2 -#define YYEOF 0 -#define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrlab1 -/* Like YYERROR except do call yyerror. - This remains here temporarily to ease the - transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. */ -#define YYFAIL goto yyerrlab -#define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(token, value) \ -do \ - if (yychar == YYEMPTY && yylen == 1) \ - { yychar = (token), yylval = (value); \ - yychar1 = YYTRANSLATE (yychar); \ - YYPOPSTACK; \ - goto yybackup; \ - } \ - else \ - { yyerror ("syntax error: cannot back up"); YYERROR; } \ -while (0) - -#define YYTERROR 1 -#define YYERRCODE 256 - -#ifndef YYPURE -#define YYLEX yylex() -#endif - -#ifdef YYPURE -#ifdef YYLSP_NEEDED -#ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM) -#else -#define YYLEX yylex(&yylval, &yylloc) -#endif -#else /* not YYLSP_NEEDED */ -#ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, YYLEX_PARAM) -#else -#define YYLEX yylex(&yylval) -#endif -#endif /* not YYLSP_NEEDED */ -#endif - -/* If nonreentrant, generate the variables here */ - -#ifndef YYPURE - -int yychar; /* the lookahead symbol */ -YYSTYPE yylval; /* the semantic value of the */ - /* lookahead symbol */ - -#ifdef YYLSP_NEEDED -YYLTYPE yylloc; /* location data for the lookahead */ - /* symbol */ -#endif - -int yynerrs; /* number of parse errors so far */ -#endif /* not YYPURE */ - -#if YYDEBUG != 0 -int yydebug; /* nonzero means print parse trace */ -/* Since this is uninitialized, it does not stop multiple parsers - from coexisting. */ -#endif - -/* YYINITDEPTH indicates the initial size of the parser's stacks */ - -#ifndef YYINITDEPTH -#define YYINITDEPTH 200 -#endif - -/* YYMAXDEPTH is the maximum size the stacks can grow to - (effective only if the built-in stack extension method is used). */ - -#if YYMAXDEPTH == 0 -#undef YYMAXDEPTH -#endif - -#ifndef YYMAXDEPTH -#define YYMAXDEPTH 10000 -#endif - -/* Define __yy_memcpy. Note that the size argument - should be passed with type unsigned int, because that is what the non-GCC - definitions require. With GCC, __builtin_memcpy takes an arg - of type size_t, but it can handle unsigned int. */ - -#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ -#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) -#else /* not GNU C or C++ */ -#ifndef __cplusplus - -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ -static void -__yy_memcpy (to, from, count) - char *to; - char *from; - unsigned int count; -{ - register char *f = from; - register char *t = to; - register int i = count; - - while (i-- > 0) - *t++ = *f++; -} - -#else /* __cplusplus */ - -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ -static void -__yy_memcpy (char *to, char *from, unsigned int count) -{ - register char *t = to; - register char *f = from; - register int i = count; - - while (i-- > 0) - *t++ = *f++; -} - -#endif -#endif - -#line 216 "f:TeX/bison.simple" - -/* The user can define YYPARSE_PARAM as the name of an argument to be passed - into yyparse. The argument should have type void *. - It should actually point to an object. - Grammar actions can access the variable by casting it - to the proper pointer type. */ - -#ifdef YYPARSE_PARAM -#ifdef __cplusplus -#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM -#define YYPARSE_PARAM_DECL -#else /* not __cplusplus */ -#define YYPARSE_PARAM_ARG YYPARSE_PARAM -#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; -#endif /* not __cplusplus */ -#else /* not YYPARSE_PARAM */ -#define YYPARSE_PARAM_ARG -#define YYPARSE_PARAM_DECL -#endif /* not YYPARSE_PARAM */ - -/* Prevent warning if -Wstrict-prototypes. */ -#ifdef __GNUC__ -#ifdef YYPARSE_PARAM -int yyparse (void *); -#else -int yyparse (void); -#endif -#endif - -int -yyparse(YYPARSE_PARAM_ARG) - YYPARSE_PARAM_DECL -{ - register int yystate; - register int yyn; - register short *yyssp; - register YYSTYPE *yyvsp; - int yyerrstatus; /* number of tokens to shift before error messages enabled */ - int yychar1 = 0; /* lookahead token as an internal (translated) token number */ - - short yyssa[YYINITDEPTH]; /* the state stack */ - YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */ - - short *yyss = yyssa; /* refer to the stacks thru separate pointers */ - YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */ - -#ifdef YYLSP_NEEDED - YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */ - YYLTYPE *yyls = yylsa; - YYLTYPE *yylsp; - -#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) -#else -#define YYPOPSTACK (yyvsp--, yyssp--) -#endif - - int yystacksize = YYINITDEPTH; - int yyfree_stacks = 0; - -#ifdef YYPURE - int yychar; - YYSTYPE yylval; - int yynerrs; -#ifdef YYLSP_NEEDED - YYLTYPE yylloc; -#endif -#endif - - YYSTYPE yyval; /* the variable used to return */ - /* semantic values from the action */ - /* routines */ - - int yylen; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Starting parse\n"); -#endif - - yystate = 0; - yyerrstatus = 0; - yynerrs = 0; - yychar = YYEMPTY; /* Cause a token to be read. */ - - /* Initialize stack pointers. - Waste one element of value and location stack - so that they stay on the same level as the state stack. - The wasted elements are never initialized. */ - - yyssp = yyss - 1; - yyvsp = yyvs; -#ifdef YYLSP_NEEDED - yylsp = yyls; -#endif - -/* Push a new state, which is found in yystate . */ -/* In all cases, when you get here, the value and location stacks - have just been pushed. so pushing a state here evens the stacks. */ -yynewstate: - - *++yyssp = yystate; - - if (yyssp >= yyss + yystacksize - 1) - { - /* Give user a chance to reallocate the stack */ - /* Use copies of these so that the &'s don't force the real ones into memory. */ - YYSTYPE *yyvs1 = yyvs; - short *yyss1 = yyss; -#ifdef YYLSP_NEEDED - YYLTYPE *yyls1 = yyls; -#endif - - /* Get the current used size of the three stacks, in elements. */ - int size = yyssp - yyss + 1; - -#ifdef yyoverflow - /* Each stack pointer address is followed by the size of - the data in use in that stack, in bytes. */ -#ifdef YYLSP_NEEDED - /* This used to be a conditional around just the two extra args, - but that might be undefined if yyoverflow is a macro. */ - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yyls1, size * sizeof (*yylsp), - &yystacksize); -#else - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yystacksize); -#endif - - yyss = yyss1; yyvs = yyvs1; -#ifdef YYLSP_NEEDED - yyls = yyls1; -#endif -#else /* no yyoverflow */ - /* Extend the stack our own way. */ - if (yystacksize >= YYMAXDEPTH) - { - yyerror("parser stack overflow"); - if (yyfree_stacks) - { - free (yyss); - free (yyvs); -#ifdef YYLSP_NEEDED - free (yyls); -#endif - } - return 2; - } - yystacksize *= 2; - if (yystacksize > YYMAXDEPTH) - yystacksize = YYMAXDEPTH; -#ifndef YYSTACK_USE_ALLOCA - yyfree_stacks = 1; -#endif - yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp)); - __yy_memcpy ((char *)yyss, (char *)yyss1, - size * (unsigned int) sizeof (*yyssp)); - yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp)); - __yy_memcpy ((char *)yyvs, (char *)yyvs1, - size * (unsigned int) sizeof (*yyvsp)); -#ifdef YYLSP_NEEDED - yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp)); - __yy_memcpy ((char *)yyls, (char *)yyls1, - size * (unsigned int) sizeof (*yylsp)); -#endif -#endif /* no yyoverflow */ - - yyssp = yyss + size - 1; - yyvsp = yyvs + size - 1; -#ifdef YYLSP_NEEDED - yylsp = yyls + size - 1; -#endif - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Stack size increased to %d\n", yystacksize); -#endif - - if (yyssp >= yyss + yystacksize - 1) - YYABORT; - } - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Entering state %d\n", yystate); -#endif - - goto yybackup; - yybackup: - -/* Do appropriate processing given the current state. */ -/* Read a lookahead token if we need one and don't already have one. */ -/* yyresume: */ - - /* First try to decide what to do without reference to lookahead token. */ - - yyn = yypact[yystate]; - if (yyn == YYFLAG) - goto yydefault; - - /* Not known => get a lookahead token if don't already have one. */ - - /* yychar is either YYEMPTY or YYEOF - or a valid token in external form. */ - - if (yychar == YYEMPTY) - { -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Reading a token: "); -#endif - yychar = YYLEX; - } - - /* Convert token to internal form (in yychar1) for indexing tables with */ - - if (yychar <= 0) /* This means end of input. */ - { - yychar1 = 0; - yychar = YYEOF; /* Don't call YYLEX any more */ - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Now at end of input.\n"); -#endif - } - else - { - yychar1 = YYTRANSLATE(yychar); - -#if YYDEBUG != 0 - if (yydebug) - { - fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); - /* Give the individual parser a way to print the precise meaning - of a token, for further debugging info. */ -#ifdef YYPRINT - YYPRINT (stderr, yychar, yylval); -#endif - fprintf (stderr, ")\n"); - } -#endif - } - - yyn += yychar1; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) - goto yydefault; - - yyn = yytable[yyn]; - - /* yyn is what to do for this token type in this state. - Negative => reduce, -yyn is rule number. - Positive => shift, yyn is new state. - New state is final state => don't bother to shift, - just return success. - 0, or most negative number => error. */ - - if (yyn < 0) - { - if (yyn == YYFLAG) - goto yyerrlab; - yyn = -yyn; - goto yyreduce; - } - else if (yyn == 0) - goto yyerrlab; - - if (yyn == YYFINAL) - YYACCEPT; - - /* Shift the lookahead token. */ - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]); -#endif - - /* Discard the token being shifted unless it is eof. */ - if (yychar != YYEOF) - yychar = YYEMPTY; - - *++yyvsp = yylval; -#ifdef YYLSP_NEEDED - *++yylsp = yylloc; -#endif - - /* count tokens shifted since error; after three, turn off error status. */ - if (yyerrstatus) yyerrstatus--; - - yystate = yyn; - goto yynewstate; - -/* Do the default action for the current state. */ -yydefault: - - yyn = yydefact[yystate]; - if (yyn == 0) - goto yyerrlab; - -/* Do a reduction. yyn is the number of a rule to reduce with. */ -yyreduce: - yylen = yyr2[yyn]; - if (yylen > 0) - yyval = yyvsp[1-yylen]; /* implement default value of the action */ - -#if YYDEBUG != 0 - if (yydebug) - { - int i; - - fprintf (stderr, "Reducing via rule %d (line %d), ", - yyn, yyrline[yyn]); - - /* Print the symbols being reduced, and their result. */ - for (i = yyprhs[yyn]; yyrhs[i] > 0; i++) - fprintf (stderr, "%s ", yytname[yyrhs[i]]); - fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]); - } -#endif - - - switch (yyn) { - -case 3: -#line 235 "getdate.y" -{ - context->yyHaveTime++; - ; - break;} -case 4: -#line 238 "getdate.y" -{ - context->yyHaveZone++; - ; - break;} -case 5: -#line 241 "getdate.y" -{ - context->yyHaveDate++; - ; - break;} -case 6: -#line 244 "getdate.y" -{ - context->yyHaveDay++; - ; - break;} -case 7: -#line 247 "getdate.y" -{ - context->yyHaveRel++; - ; - break;} -case 9: -#line 253 "getdate.y" -{ - context->yyHour = yyvsp[-1].Number; - context->yyMinutes = 0; - context->yySeconds = 0; - context->yyMeridian = yyvsp[0].Meridian; - ; - break;} -case 10: -#line 259 "getdate.y" -{ - context->yyHour = yyvsp[-3].Number; - context->yyMinutes = yyvsp[-1].Number; - context->yySeconds = 0; - context->yyMeridian = yyvsp[0].Meridian; - ; - break;} -case 11: -#line 265 "getdate.y" -{ - context->yyHour = yyvsp[-3].Number; - context->yyMinutes = yyvsp[-1].Number; - context->yyMeridian = MER24; - context->yyHaveZone++; - context->yyTimezone = (yyvsp[0].Number < 0 - ? -yyvsp[0].Number % 100 + (-yyvsp[0].Number / 100) * 60 - : - (yyvsp[0].Number % 100 + (yyvsp[0].Number / 100) * 60)); - ; - break;} -case 12: -#line 274 "getdate.y" -{ - context->yyHour = yyvsp[-5].Number; - context->yyMinutes = yyvsp[-3].Number; - context->yySeconds = yyvsp[-1].Number; - context->yyMeridian = yyvsp[0].Meridian; - ; - break;} -case 13: -#line 280 "getdate.y" -{ - context->yyHour = yyvsp[-5].Number; - context->yyMinutes = yyvsp[-3].Number; - context->yySeconds = yyvsp[-1].Number; - context->yyMeridian = MER24; - context->yyHaveZone++; - context->yyTimezone = (yyvsp[0].Number < 0 - ? -yyvsp[0].Number % 100 + (-yyvsp[0].Number / 100) * 60 - : - (yyvsp[0].Number % 100 + (yyvsp[0].Number / 100) * 60)); - ; - break;} -case 14: -#line 292 "getdate.y" -{ - context->yyTimezone = yyvsp[0].Number; - ; - break;} -case 15: -#line 295 "getdate.y" -{ - context->yyTimezone = yyvsp[0].Number - 60; - ; - break;} -case 16: -#line 299 "getdate.y" -{ - context->yyTimezone = yyvsp[-1].Number - 60; - ; - break;} -case 17: -#line 304 "getdate.y" -{ - context->yyDayOrdinal = 1; - context->yyDayNumber = yyvsp[0].Number; - ; - break;} -case 18: -#line 308 "getdate.y" -{ - context->yyDayOrdinal = 1; - context->yyDayNumber = yyvsp[-1].Number; - ; - break;} -case 19: -#line 312 "getdate.y" -{ - context->yyDayOrdinal = yyvsp[-1].Number; - context->yyDayNumber = yyvsp[0].Number; - ; - break;} -case 20: -#line 318 "getdate.y" -{ - context->yyMonth = yyvsp[-2].Number; - context->yyDay = yyvsp[0].Number; - ; - break;} -case 21: -#line 322 "getdate.y" -{ - /* Interpret as YYYY/MM/DD if $1 >= 1000, otherwise as MM/DD/YY. - The goal in recognizing YYYY/MM/DD is solely to support legacy - machine-generated dates like those in an RCS log listing. If - you want portability, use the ISO 8601 format. */ - if (yyvsp[-4].Number >= 1000) - { - context->yyYear = yyvsp[-4].Number; - context->yyMonth = yyvsp[-2].Number; - context->yyDay = yyvsp[0].Number; - } - else - { - context->yyMonth = yyvsp[-4].Number; - context->yyDay = yyvsp[-2].Number; - context->yyYear = yyvsp[0].Number; - } - ; - break;} -case 22: -#line 340 "getdate.y" -{ - /* ISO 8601 format. yyyy-mm-dd. */ - context->yyYear = yyvsp[-2].Number; - context->yyMonth = -yyvsp[-1].Number; - context->yyDay = -yyvsp[0].Number; - ; - break;} -case 23: -#line 346 "getdate.y" -{ - /* e.g. 17-JUN-1992. */ - context->yyDay = yyvsp[-2].Number; - context->yyMonth = yyvsp[-1].Number; - context->yyYear = -yyvsp[0].Number; - ; - break;} -case 24: -#line 352 "getdate.y" -{ - context->yyMonth = yyvsp[-1].Number; - context->yyDay = yyvsp[0].Number; - ; - break;} -case 25: -#line 356 "getdate.y" -{ - context->yyMonth = yyvsp[-3].Number; - context->yyDay = yyvsp[-2].Number; - context->yyYear = yyvsp[0].Number; - ; - break;} -case 26: -#line 361 "getdate.y" -{ - context->yyMonth = yyvsp[0].Number; - context->yyDay = yyvsp[-1].Number; - ; - break;} -case 27: -#line 365 "getdate.y" -{ - context->yyMonth = yyvsp[-1].Number; - context->yyDay = yyvsp[-2].Number; - context->yyYear = yyvsp[0].Number; - ; - break;} -case 28: -#line 372 "getdate.y" -{ - context->yyRelSeconds = -context->yyRelSeconds; - context->yyRelMinutes = -context->yyRelMinutes; - context->yyRelHour = -context->yyRelHour; - context->yyRelDay = -context->yyRelDay; - context->yyRelMonth = -context->yyRelMonth; - context->yyRelYear = -context->yyRelYear; - ; - break;} -case 30: -#line 383 "getdate.y" -{ - context->yyRelYear += yyvsp[-1].Number * yyvsp[0].Number; - ; - break;} -case 31: -#line 386 "getdate.y" -{ - context->yyRelYear += yyvsp[-1].Number * yyvsp[0].Number; - ; - break;} -case 32: -#line 389 "getdate.y" -{ - context->yyRelYear += yyvsp[0].Number; - ; - break;} -case 33: -#line 392 "getdate.y" -{ - context->yyRelMonth += yyvsp[-1].Number * yyvsp[0].Number; - ; - break;} -case 34: -#line 395 "getdate.y" -{ - context->yyRelMonth += yyvsp[-1].Number * yyvsp[0].Number; - ; - break;} -case 35: -#line 398 "getdate.y" -{ - context->yyRelMonth += yyvsp[0].Number; - ; - break;} -case 36: -#line 401 "getdate.y" -{ - context->yyRelDay += yyvsp[-1].Number * yyvsp[0].Number; - ; - break;} -case 37: -#line 404 "getdate.y" -{ - context->yyRelDay += yyvsp[-1].Number * yyvsp[0].Number; - ; - break;} -case 38: -#line 407 "getdate.y" -{ - context->yyRelDay += yyvsp[0].Number; - ; - break;} -case 39: -#line 410 "getdate.y" -{ - context->yyRelHour += yyvsp[-1].Number * yyvsp[0].Number; - ; - break;} -case 40: -#line 413 "getdate.y" -{ - context->yyRelHour += yyvsp[-1].Number * yyvsp[0].Number; - ; - break;} -case 41: -#line 416 "getdate.y" -{ - context->yyRelHour += yyvsp[0].Number; - ; - break;} -case 42: -#line 419 "getdate.y" -{ - context->yyRelMinutes += yyvsp[-1].Number * yyvsp[0].Number; - ; - break;} -case 43: -#line 422 "getdate.y" -{ - context->yyRelMinutes += yyvsp[-1].Number * yyvsp[0].Number; - ; - break;} -case 44: -#line 425 "getdate.y" -{ - context->yyRelMinutes += yyvsp[0].Number; - ; - break;} -case 45: -#line 428 "getdate.y" -{ - context->yyRelSeconds += yyvsp[-1].Number * yyvsp[0].Number; - ; - break;} -case 46: -#line 431 "getdate.y" -{ - context->yyRelSeconds += yyvsp[-1].Number * yyvsp[0].Number; - ; - break;} -case 47: -#line 434 "getdate.y" -{ - context->yyRelSeconds += yyvsp[0].Number; - ; - break;} -case 48: -#line 440 "getdate.y" -{ - if (context->yyHaveTime && context->yyHaveDate && - !context->yyHaveRel) - context->yyYear = yyvsp[0].Number; - else - { - if (yyvsp[0].Number>10000) - { - context->yyHaveDate++; - context->yyDay= (yyvsp[0].Number)%100; - context->yyMonth= (yyvsp[0].Number/100)%100; - context->yyYear = yyvsp[0].Number/10000; - } - else - { - context->yyHaveTime++; - if (yyvsp[0].Number < 100) - { - context->yyHour = yyvsp[0].Number; - context->yyMinutes = 0; - } - else - { - context->yyHour = yyvsp[0].Number / 100; - context->yyMinutes = yyvsp[0].Number % 100; - } - context->yySeconds = 0; - context->yyMeridian = MER24; - } - } - ; - break;} -case 49: -#line 474 "getdate.y" -{ - yyval.Meridian = MER24; - ; - break;} -case 50: -#line 478 "getdate.y" -{ - yyval.Meridian = yyvsp[0].Meridian; - ; - break;} -} - /* the action file gets copied in in place of this dollarsign */ -#line 542 "f:TeX/bison.simple" - - yyvsp -= yylen; - yyssp -= yylen; -#ifdef YYLSP_NEEDED - yylsp -= yylen; -#endif - -#if YYDEBUG != 0 - if (yydebug) - { - short *ssp1 = yyss - 1; - fprintf (stderr, "state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); - } -#endif - - *++yyvsp = yyval; - -#ifdef YYLSP_NEEDED - yylsp++; - if (yylen == 0) - { - yylsp->first_line = yylloc.first_line; - yylsp->first_column = yylloc.first_column; - yylsp->last_line = (yylsp-1)->last_line; - yylsp->last_column = (yylsp-1)->last_column; - yylsp->text = 0; - } - else - { - yylsp->last_line = (yylsp+yylen-1)->last_line; - yylsp->last_column = (yylsp+yylen-1)->last_column; - } -#endif - - /* Now "shift" the result of the reduction. - Determine what state that goes to, - based on the state we popped back to - and the rule number reduced by. */ - - yyn = yyr1[yyn]; - - yystate = yypgoto[yyn - YYNTBASE] + *yyssp; - if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) - yystate = yytable[yystate]; - else - yystate = yydefgoto[yyn - YYNTBASE]; - - goto yynewstate; - -yyerrlab: /* here on detecting error */ - - if (! yyerrstatus) - /* If not already recovering from an error, report this error. */ - { - ++yynerrs; - -#ifdef YYERROR_VERBOSE - yyn = yypact[yystate]; - - if (yyn > YYFLAG && yyn < YYLAST) - { - int size = 0; - char *msg; - int x, count; - - count = 0; - /* Start X at -yyn if nec to avoid negative indexes in yycheck. */ - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) - size += strlen(yytname[x]) + 15, count++; - msg = (char *) malloc(size + 15); - if (msg != 0) - { - strcpy(msg, "parse error"); - - if (count < 5) - { - count = 0; - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) - { - strcat(msg, count == 0 ? ", expecting `" : " or `"); - strcat(msg, yytname[x]); - strcat(msg, "'"); - count++; - } - } - yyerror(msg); - free(msg); - } - else - yyerror ("parse error; also virtual memory exceeded"); - } - else -#endif /* YYERROR_VERBOSE */ - yyerror("parse error"); - } - - goto yyerrlab1; -yyerrlab1: /* here on error raised explicitly by an action */ - - if (yyerrstatus == 3) - { - /* if just tried and failed to reuse lookahead token after an error, discard it. */ - - /* return failure if at end of input */ - if (yychar == YYEOF) - YYABORT; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]); -#endif - - yychar = YYEMPTY; - } - - /* Else will try to reuse lookahead token - after shifting the error token. */ - - yyerrstatus = 3; /* Each real token shifted decrements this */ - - goto yyerrhandle; - -yyerrdefault: /* current state does not do anything special for the error token. */ - -#if 0 - /* This is wrong; only states that explicitly want error tokens - should shift them. */ - yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/ - if (yyn) goto yydefault; -#endif - -yyerrpop: /* pop the current state because it cannot handle the error token */ - - if (yyssp == yyss) YYABORT; - yyvsp--; - yystate = *--yyssp; -#ifdef YYLSP_NEEDED - yylsp--; -#endif - -#if YYDEBUG != 0 - if (yydebug) - { - short *ssp1 = yyss - 1; - fprintf (stderr, "Error: state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); - } -#endif - -yyerrhandle: - - yyn = yypact[yystate]; - if (yyn == YYFLAG) - goto yyerrdefault; - - yyn += YYTERROR; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) - goto yyerrdefault; - - yyn = yytable[yyn]; - if (yyn < 0) - { - if (yyn == YYFLAG) - goto yyerrpop; - yyn = -yyn; - goto yyreduce; - } - else if (yyn == 0) - goto yyerrpop; - - if (yyn == YYFINAL) - YYACCEPT; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting error token, "); -#endif - - *++yyvsp = yylval; -#ifdef YYLSP_NEEDED - *++yylsp = yylloc; -#endif - - yystate = yyn; - goto yynewstate; - - yyacceptlab: - /* YYACCEPT comes here. */ - if (yyfree_stacks) - { - free (yyss); - free (yyvs); -#ifdef YYLSP_NEEDED - free (yyls); -#endif - } - return 0; - - yyabortlab: - /* YYABORT comes here. */ - if (yyfree_stacks) - { - free (yyss); - free (yyvs); -#ifdef YYLSP_NEEDED - free (yyls); -#endif - } - return 1; -} -#line 483 "getdate.y" - - -#if 0 -/* Include this file down here because bison inserts code above which - may define-away `const'. We want the prototype for get_date to have - the same signature as the function definition does. */ -#include "getdate.h" -#endif - -#ifndef WIN32 /* the windows dudes don't need these, does anyone really? */ -extern struct tm *gmtime (); -extern struct tm *localtime (); -extern time_t mktime (); -#endif - -/* Month and day table. */ -static TABLE const MonthDayTable[] = { - { "january", tMONTH, 1 }, - { "february", tMONTH, 2 }, - { "march", tMONTH, 3 }, - { "april", tMONTH, 4 }, - { "may", tMONTH, 5 }, - { "june", tMONTH, 6 }, - { "july", tMONTH, 7 }, - { "august", tMONTH, 8 }, - { "september", tMONTH, 9 }, - { "sept", tMONTH, 9 }, - { "october", tMONTH, 10 }, - { "november", tMONTH, 11 }, - { "december", tMONTH, 12 }, - { "sunday", tDAY, 0 }, - { "monday", tDAY, 1 }, - { "tuesday", tDAY, 2 }, - { "tues", tDAY, 2 }, - { "wednesday", tDAY, 3 }, - { "wednes", tDAY, 3 }, - { "thursday", tDAY, 4 }, - { "thur", tDAY, 4 }, - { "thurs", tDAY, 4 }, - { "friday", tDAY, 5 }, - { "saturday", tDAY, 6 }, - { NULL, 0, 0 } -}; - -/* Time units table. */ -static TABLE const UnitsTable[] = { - { "year", tYEAR_UNIT, 1 }, - { "month", tMONTH_UNIT, 1 }, - { "fortnight", tDAY_UNIT, 14 }, - { "week", tDAY_UNIT, 7 }, - { "day", tDAY_UNIT, 1 }, - { "hour", tHOUR_UNIT, 1 }, - { "minute", tMINUTE_UNIT, 1 }, - { "min", tMINUTE_UNIT, 1 }, - { "second", tSEC_UNIT, 1 }, - { "sec", tSEC_UNIT, 1 }, - { NULL, 0, 0 } -}; - -/* Assorted relative-time words. */ -static TABLE const OtherTable[] = { - { "tomorrow", tMINUTE_UNIT, 1 * 24 * 60 }, - { "yesterday", tMINUTE_UNIT, -1 * 24 * 60 }, - { "today", tMINUTE_UNIT, 0 }, - { "now", tMINUTE_UNIT, 0 }, - { "last", tUNUMBER, -1 }, - { "this", tMINUTE_UNIT, 0 }, - { "next", tUNUMBER, 1 }, - { "first", tUNUMBER, 1 }, -/* { "second", tUNUMBER, 2 }, */ - { "third", tUNUMBER, 3 }, - { "fourth", tUNUMBER, 4 }, - { "fifth", tUNUMBER, 5 }, - { "sixth", tUNUMBER, 6 }, - { "seventh", tUNUMBER, 7 }, - { "eighth", tUNUMBER, 8 }, - { "ninth", tUNUMBER, 9 }, - { "tenth", tUNUMBER, 10 }, - { "eleventh", tUNUMBER, 11 }, - { "twelfth", tUNUMBER, 12 }, - { "ago", tAGO, 1 }, - { NULL, 0, 0 } -}; - -/* The timezone table. */ -static TABLE const TimezoneTable[] = { - { "gmt", tZONE, HOUR ( 0) }, /* Greenwich Mean */ - { "ut", tZONE, HOUR ( 0) }, /* Universal (Coordinated) */ - { "utc", tZONE, HOUR ( 0) }, - { "wet", tZONE, HOUR ( 0) }, /* Western European */ - { "bst", tDAYZONE, HOUR ( 0) }, /* British Summer */ - { "wat", tZONE, HOUR ( 1) }, /* West Africa */ - { "at", tZONE, HOUR ( 2) }, /* Azores */ -#if 0 - /* For completeness. BST is also British Summer, and GST is - * also Guam Standard. */ - { "bst", tZONE, HOUR ( 3) }, /* Brazil Standard */ - { "gst", tZONE, HOUR ( 3) }, /* Greenland Standard */ -#endif -#if 0 - { "nft", tZONE, HOUR (3.5) }, /* Newfoundland */ - { "nst", tZONE, HOUR (3.5) }, /* Newfoundland Standard */ - { "ndt", tDAYZONE, HOUR (3.5) }, /* Newfoundland Daylight */ -#endif - { "ast", tZONE, HOUR ( 4) }, /* Atlantic Standard */ - { "adt", tDAYZONE, HOUR ( 4) }, /* Atlantic Daylight */ - { "est", tZONE, HOUR ( 5) }, /* Eastern Standard */ - { "edt", tDAYZONE, HOUR ( 5) }, /* Eastern Daylight */ - { "cst", tZONE, HOUR ( 6) }, /* Central Standard */ - { "cdt", tDAYZONE, HOUR ( 6) }, /* Central Daylight */ - { "mst", tZONE, HOUR ( 7) }, /* Mountain Standard */ - { "mdt", tDAYZONE, HOUR ( 7) }, /* Mountain Daylight */ - { "pst", tZONE, HOUR ( 8) }, /* Pacific Standard */ - { "pdt", tDAYZONE, HOUR ( 8) }, /* Pacific Daylight */ - { "yst", tZONE, HOUR ( 9) }, /* Yukon Standard */ - { "ydt", tDAYZONE, HOUR ( 9) }, /* Yukon Daylight */ - { "hst", tZONE, HOUR (10) }, /* Hawaii Standard */ - { "hdt", tDAYZONE, HOUR (10) }, /* Hawaii Daylight */ - { "cat", tZONE, HOUR (10) }, /* Central Alaska */ - { "ahst", tZONE, HOUR (10) }, /* Alaska-Hawaii Standard */ - { "nt", tZONE, HOUR (11) }, /* Nome */ - { "idlw", tZONE, HOUR (12) }, /* International Date Line West */ - { "cet", tZONE, -HOUR (1) }, /* Central European */ - { "met", tZONE, -HOUR (1) }, /* Middle European */ - { "mewt", tZONE, -HOUR (1) }, /* Middle European Winter */ - { "mest", tDAYZONE, -HOUR (1) }, /* Middle European Summer */ - { "mesz", tDAYZONE, -HOUR (1) }, /* Middle European Summer */ - { "swt", tZONE, -HOUR (1) }, /* Swedish Winter */ - { "sst", tDAYZONE, -HOUR (1) }, /* Swedish Summer */ - { "fwt", tZONE, -HOUR (1) }, /* French Winter */ - { "fst", tDAYZONE, -HOUR (1) }, /* French Summer */ - { "eet", tZONE, -HOUR (2) }, /* Eastern Europe, USSR Zone 1 */ - { "bt", tZONE, -HOUR (3) }, /* Baghdad, USSR Zone 2 */ -#if 0 - { "it", tZONE, -HOUR (3.5) },/* Iran */ -#endif - { "zp4", tZONE, -HOUR (4) }, /* USSR Zone 3 */ - { "zp5", tZONE, -HOUR (5) }, /* USSR Zone 4 */ -#if 0 - { "ist", tZONE, -HOUR (5.5) },/* Indian Standard */ -#endif - { "zp6", tZONE, -HOUR (6) }, /* USSR Zone 5 */ -#if 0 - /* For completeness. NST is also Newfoundland Standard, and SST is - * also Swedish Summer. */ - { "nst", tZONE, -HOUR (6.5) },/* North Sumatra */ - { "sst", tZONE, -HOUR (7) }, /* South Sumatra, USSR Zone 6 */ -#endif /* 0 */ - { "wast", tZONE, -HOUR (7) }, /* West Australian Standard */ - { "wadt", tDAYZONE, -HOUR (7) }, /* West Australian Daylight */ -#if 0 - { "jt", tZONE, -HOUR (7.5) },/* Java (3pm in Cronusland!) */ -#endif - { "cct", tZONE, -HOUR (8) }, /* China Coast, USSR Zone 7 */ - { "jst", tZONE, -HOUR (9) }, /* Japan Standard, USSR Zone 8 */ -#if 0 - { "cast", tZONE, -HOUR (9.5) },/* Central Australian Standard */ - { "cadt", tDAYZONE, -HOUR (9.5) },/* Central Australian Daylight */ -#endif - { "east", tZONE, -HOUR (10) }, /* Eastern Australian Standard */ - { "eadt", tDAYZONE, -HOUR (10) }, /* Eastern Australian Daylight */ - { "gst", tZONE, -HOUR (10) }, /* Guam Standard, USSR Zone 9 */ - { "nzt", tZONE, -HOUR (12) }, /* New Zealand */ - { "nzst", tZONE, -HOUR (12) }, /* New Zealand Standard */ - { "nzdt", tDAYZONE, -HOUR (12) }, /* New Zealand Daylight */ - { "idle", tZONE, -HOUR (12) }, /* International Date Line East */ - { NULL, 0, 0 } -}; - -/* Military timezone table. */ -static TABLE const MilitaryTable[] = { - { "a", tZONE, HOUR ( 1) }, - { "b", tZONE, HOUR ( 2) }, - { "c", tZONE, HOUR ( 3) }, - { "d", tZONE, HOUR ( 4) }, - { "e", tZONE, HOUR ( 5) }, - { "f", tZONE, HOUR ( 6) }, - { "g", tZONE, HOUR ( 7) }, - { "h", tZONE, HOUR ( 8) }, - { "i", tZONE, HOUR ( 9) }, - { "k", tZONE, HOUR ( 10) }, - { "l", tZONE, HOUR ( 11) }, - { "m", tZONE, HOUR ( 12) }, - { "n", tZONE, HOUR (- 1) }, - { "o", tZONE, HOUR (- 2) }, - { "p", tZONE, HOUR (- 3) }, - { "q", tZONE, HOUR (- 4) }, - { "r", tZONE, HOUR (- 5) }, - { "s", tZONE, HOUR (- 6) }, - { "t", tZONE, HOUR (- 7) }, - { "u", tZONE, HOUR (- 8) }, - { "v", tZONE, HOUR (- 9) }, - { "w", tZONE, HOUR (-10) }, - { "x", tZONE, HOUR (-11) }, - { "y", tZONE, HOUR (-12) }, - { "z", tZONE, HOUR ( 0) }, - { NULL, 0, 0 } -}; - - - - -/* ARGSUSED */ -static int -yyerror (s) - char *s ATTRIBUTE_UNUSED; -{ - return 0; -} - -static int -ToHour (Hours, Meridian) - int Hours; - MERIDIAN Meridian; -{ - switch (Meridian) - { - case MER24: - if (Hours < 0 || Hours > 23) - return -1; - return Hours; - case MERam: - if (Hours < 1 || Hours > 12) - return -1; - if (Hours == 12) - Hours = 0; - return Hours; - case MERpm: - if (Hours < 1 || Hours > 12) - return -1; - if (Hours == 12) - Hours = 0; - return Hours + 12; - default: - abort (); - } - /* NOTREACHED */ -} - -static int -ToYear (Year) - int Year; -{ - if (Year < 0) - Year = -Year; - - /* XPG4 suggests that years 00-68 map to 2000-2068, and - years 69-99 map to 1969-1999. */ - if (Year < 69) - Year += 2000; - else if (Year < 100) - Year += 1900; - - return Year; -} - -static int -LookupWord (yylval, buff) - YYSTYPE *yylval; - char *buff; -{ - register char *p; - register char *q; - register const TABLE *tp; - int i; - int abbrev; - - /* Make it lowercase. */ - for (p = buff; *p; p++) - if (ISUPPER ((unsigned char) *p)) - *p = tolower (*p); - - if (strcmp (buff, "am") == 0 || strcmp (buff, "a.m.") == 0) - { - yylval->Meridian = MERam; - return tMERIDIAN; - } - if (strcmp (buff, "pm") == 0 || strcmp (buff, "p.m.") == 0) - { - yylval->Meridian = MERpm; - return tMERIDIAN; - } - - /* See if we have an abbreviation for a month. */ - if (strlen (buff) == 3) - abbrev = 1; - else if (strlen (buff) == 4 && buff[3] == '.') - { - abbrev = 1; - buff[3] = '\0'; - } - else - abbrev = 0; - - for (tp = MonthDayTable; tp->name; tp++) - { - if (abbrev) - { - if (strncmp (buff, tp->name, 3) == 0) - { - yylval->Number = tp->value; - return tp->type; - } - } - else if (strcmp (buff, tp->name) == 0) - { - yylval->Number = tp->value; - return tp->type; - } - } - - for (tp = TimezoneTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) - { - yylval->Number = tp->value; - return tp->type; - } - - if (strcmp (buff, "dst") == 0) - return tDST; - - for (tp = UnitsTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) - { - yylval->Number = tp->value; - return tp->type; - } - - /* Strip off any plural and try the units table again. */ - i = strlen (buff) - 1; - if (buff[i] == 's') - { - buff[i] = '\0'; - for (tp = UnitsTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) - { - yylval->Number = tp->value; - return tp->type; - } - buff[i] = 's'; /* Put back for "this" in OtherTable. */ - } - - for (tp = OtherTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) - { - yylval->Number = tp->value; - return tp->type; - } - - /* Military timezones. */ - if (buff[1] == '\0' && ISALPHA ((unsigned char) *buff)) - { - for (tp = MilitaryTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) - { - yylval->Number = tp->value; - return tp->type; - } - } - - /* Drop out any periods and try the timezone table again. */ - for (i = 0, p = q = buff; *q; q++) - if (*q != '.') - *p++ = *q; - else - i++; - *p = '\0'; - if (i) - for (tp = TimezoneTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) - { - yylval->Number = tp->value; - return tp->type; - } - - return tID; -} - -static int -yylex (yylval, cookie) - YYSTYPE *yylval; - void *cookie; -{ - register unsigned char c; - register char *p; - char buff[20]; - int Count; - int sign; - - for (;;) - { - while (ISSPACE ((unsigned char) *context->yyInput)) - context->yyInput++; - - if (ISDIGIT (c = *context->yyInput) || c == '-' || c == '+') - { - if (c == '-' || c == '+') - { - sign = c == '-' ? -1 : 1; - if (!ISDIGIT (*++context->yyInput)) - /* skip the '-' sign */ - continue; - } - else - sign = 0; - for (yylval->Number = 0; ISDIGIT (c = *context->yyInput++);) - yylval->Number = 10 * yylval->Number + c - '0'; - context->yyInput--; - if (sign < 0) - yylval->Number = -yylval->Number; - return sign ? tSNUMBER : tUNUMBER; - } - if (ISALPHA (c)) - { - for (p = buff; (c = *context->yyInput++, ISALPHA (c)) || c == '.';) - if (p < &buff[sizeof buff - 1]) - *p++ = c; - *p = '\0'; - context->yyInput--; - return LookupWord (yylval, buff); - } - if (c != '(') - return *context->yyInput++; - Count = 0; - do - { - c = *context->yyInput++; - if (c == '\0') - return c; - if (c == '(') - Count++; - else if (c == ')') - Count--; - } - while (Count > 0); - } -} - -#define TM_YEAR_ORIGIN 1900 - -/* Yield A - B, measured in seconds. */ -static long -difftm (struct tm *a, struct tm *b) -{ - int ay = a->tm_year + (TM_YEAR_ORIGIN - 1); - int by = b->tm_year + (TM_YEAR_ORIGIN - 1); - long days = ( - /* difference in day of year */ - a->tm_yday - b->tm_yday - /* + intervening leap days */ - + ((ay >> 2) - (by >> 2)) - - (ay / 100 - by / 100) - + ((ay / 100 >> 2) - (by / 100 >> 2)) - /* + difference in years * 365 */ - + (long) (ay - by) * 365 - ); - return (60 * (60 * (24 * days + (a->tm_hour - b->tm_hour)) - + (a->tm_min - b->tm_min)) - + (a->tm_sec - b->tm_sec)); -} - -time_t -curl_getdate (const char *p, const time_t *now) -{ - struct tm tm, tm0, *tmp; - time_t Start; - GETDATE_CONTEXT cookie; -#ifdef HAVE_LOCALTIME_R - struct tm keeptime; -#endif - cookie.yyInput = p; - Start = now ? *now : time ((time_t *) NULL); -#ifdef HAVE_LOCALTIME_R - tmp = (struct tm *)localtime_r(&Start, &keeptime); -#else - tmp = localtime (&Start); -#endif - if (!tmp) - return -1; - cookie.yyYear = tmp->tm_year + TM_YEAR_ORIGIN; - cookie.yyMonth = tmp->tm_mon + 1; - cookie.yyDay = tmp->tm_mday; - cookie.yyHour = tmp->tm_hour; - cookie.yyMinutes = tmp->tm_min; - cookie.yySeconds = tmp->tm_sec; - tm.tm_isdst = tmp->tm_isdst; - cookie.yyMeridian = MER24; - cookie.yyRelSeconds = 0; - cookie.yyRelMinutes = 0; - cookie.yyRelHour = 0; - cookie.yyRelDay = 0; - cookie.yyRelMonth = 0; - cookie.yyRelYear = 0; - cookie.yyHaveDate = 0; - cookie.yyHaveDay = 0; - cookie.yyHaveRel = 0; - cookie.yyHaveTime = 0; - cookie.yyHaveZone = 0; - - if (yyparse (&cookie) - || cookie.yyHaveTime > 1 || cookie.yyHaveZone > 1 || - cookie.yyHaveDate > 1 || cookie.yyHaveDay > 1) - return -1; - - tm.tm_year = ToYear (cookie.yyYear) - TM_YEAR_ORIGIN + cookie.yyRelYear; - tm.tm_mon = cookie.yyMonth - 1 + cookie.yyRelMonth; - tm.tm_mday = cookie.yyDay + cookie.yyRelDay; - if (cookie.yyHaveTime || - (cookie.yyHaveRel && !cookie.yyHaveDate && !cookie.yyHaveDay)) - { - tm.tm_hour = ToHour (cookie.yyHour, cookie.yyMeridian); - if (tm.tm_hour < 0) - return -1; - tm.tm_min = cookie.yyMinutes; - tm.tm_sec = cookie.yySeconds; - } - else - { - tm.tm_hour = tm.tm_min = tm.tm_sec = 0; - } - tm.tm_hour += cookie.yyRelHour; - tm.tm_min += cookie.yyRelMinutes; - tm.tm_sec += cookie.yyRelSeconds; - - /* Let mktime deduce tm_isdst if we have an absolute timestamp, - or if the relative timestamp mentions days, months, or years. */ - if (cookie.yyHaveDate | cookie.yyHaveDay | cookie.yyHaveTime | - cookie.yyRelDay | cookie.yyRelMonth | cookie.yyRelYear) - tm.tm_isdst = -1; - - tm0 = tm; - - Start = mktime (&tm); - - if (Start == (time_t) -1) - { - - /* Guard against falsely reporting errors near the time_t boundaries - when parsing times in other time zones. For example, if the min - time_t value is 1970-01-01 00:00:00 UTC and we are 8 hours ahead - of UTC, then the min localtime value is 1970-01-01 08:00:00; if - we apply mktime to 1970-01-01 00:00:00 we will get an error, so - we apply mktime to 1970-01-02 08:00:00 instead and adjust the time - zone by 24 hours to compensate. This algorithm assumes that - there is no DST transition within a day of the time_t boundaries. */ - if (cookie.yyHaveZone) - { - tm = tm0; - if (tm.tm_year <= EPOCH - TM_YEAR_ORIGIN) - { - tm.tm_mday++; - cookie.yyTimezone -= 24 * 60; - } - else - { - tm.tm_mday--; - cookie.yyTimezone += 24 * 60; - } - Start = mktime (&tm); - } - - if (Start == (time_t) -1) - return Start; - } - - if (cookie.yyHaveDay && !cookie.yyHaveDate) - { - tm.tm_mday += ((cookie.yyDayNumber - tm.tm_wday + 7) % 7 - + 7 * (cookie.yyDayOrdinal - (0 < cookie.yyDayOrdinal))); - Start = mktime (&tm); - if (Start == (time_t) -1) - return Start; - } - - if (cookie.yyHaveZone) - { - long delta; - struct tm *gmt; -#ifdef HAVE_GMTIME_R - /* thread-safe version */ - struct tm keeptime; - gmt = (struct tm *)gmtime_r(&Start, &keeptime); -#else - gmt = gmtime(&Start); -#endif - if (!gmt) - return -1; - delta = cookie.yyTimezone * 60L + difftm (&tm, gmt); - if ((Start + delta < Start) != (delta < 0)) - return -1; /* time_t overflow */ - Start += delta; - } - - return Start; -} - -#if defined (TEST) - -/* ARGSUSED */ -int -main (ac, av) - int ac; - char *av[]; -{ - char buff[MAX_BUFF_LEN + 1]; - time_t d; - - (void) printf ("Enter date, or blank line to exit.\n\t> "); - (void) fflush (stdout); - - buff[MAX_BUFF_LEN] = 0; - while (fgets (buff, MAX_BUFF_LEN, stdin) && buff[0]) - { - d = curl_getdate (buff, (time_t *) NULL); - if (d == -1) - (void) printf ("Bad format - couldn't convert.\n"); - else - (void) printf ("%s", ctime (&d)); - (void) printf ("\t> "); - (void) fflush (stdout); - } - exit (0); - /* NOTREACHED */ -} -#endif /* defined (TEST) */ diff --git a/Build/source/libs/curl/lib/getdate.h b/Build/source/libs/curl/lib/getdate.h deleted file mode 100644 index 8d969d0c304..00000000000 --- a/Build/source/libs/curl/lib/getdate.h +++ /dev/null @@ -1,21 +0,0 @@ -typedef union { - int Number; - enum _MERIDIAN Meridian; -} YYSTYPE; -#define tAGO 257 -#define tDAY 258 -#define tDAY_UNIT 259 -#define tDAYZONE 260 -#define tDST 261 -#define tHOUR_UNIT 262 -#define tID 263 -#define tMERIDIAN 264 -#define tMINUTE_UNIT 265 -#define tMONTH 266 -#define tMONTH_UNIT 267 -#define tSEC_UNIT 268 -#define tSNUMBER 269 -#define tUNUMBER 270 -#define tYEAR_UNIT 271 -#define tZONE 272 - diff --git a/Build/source/libs/curl/lib/getdate.output b/Build/source/libs/curl/lib/getdate.output deleted file mode 100644 index d62e9083d42..00000000000 --- a/Build/source/libs/curl/lib/getdate.output +++ /dev/null @@ -1,719 +0,0 @@ - - -Terminals which are not used: - - tID - - -State 11 contains 9 shift/reduce conflicts. -State 35 contains 2 shift/reduce conflicts. -State 48 contains 1 shift/reduce conflict. -State 56 contains 1 shift/reduce conflict. - -Grammar -rule 1 spec -> /* empty */ -rule 2 spec -> spec item -rule 3 item -> time -rule 4 item -> zone -rule 5 item -> date -rule 6 item -> day -rule 7 item -> rel -rule 8 item -> number -rule 9 time -> tUNUMBER tMERIDIAN -rule 10 time -> tUNUMBER ':' tUNUMBER o_merid -rule 11 time -> tUNUMBER ':' tUNUMBER tSNUMBER -rule 12 time -> tUNUMBER ':' tUNUMBER ':' tUNUMBER o_merid -rule 13 time -> tUNUMBER ':' tUNUMBER ':' tUNUMBER tSNUMBER -rule 14 zone -> tZONE -rule 15 zone -> tDAYZONE -rule 16 zone -> tZONE tDST -rule 17 day -> tDAY -rule 18 day -> tDAY ',' -rule 19 day -> tUNUMBER tDAY -rule 20 date -> tUNUMBER '/' tUNUMBER -rule 21 date -> tUNUMBER '/' tUNUMBER '/' tUNUMBER -rule 22 date -> tUNUMBER tSNUMBER tSNUMBER -rule 23 date -> tUNUMBER tMONTH tSNUMBER -rule 24 date -> tMONTH tUNUMBER -rule 25 date -> tMONTH tUNUMBER ',' tUNUMBER -rule 26 date -> tUNUMBER tMONTH -rule 27 date -> tUNUMBER tMONTH tUNUMBER -rule 28 rel -> relunit tAGO -rule 29 rel -> relunit -rule 30 relunit -> tUNUMBER tYEAR_UNIT -rule 31 relunit -> tSNUMBER tYEAR_UNIT -rule 32 relunit -> tYEAR_UNIT -rule 33 relunit -> tUNUMBER tMONTH_UNIT -rule 34 relunit -> tSNUMBER tMONTH_UNIT -rule 35 relunit -> tMONTH_UNIT -rule 36 relunit -> tUNUMBER tDAY_UNIT -rule 37 relunit -> tSNUMBER tDAY_UNIT -rule 38 relunit -> tDAY_UNIT -rule 39 relunit -> tUNUMBER tHOUR_UNIT -rule 40 relunit -> tSNUMBER tHOUR_UNIT -rule 41 relunit -> tHOUR_UNIT -rule 42 relunit -> tUNUMBER tMINUTE_UNIT -rule 43 relunit -> tSNUMBER tMINUTE_UNIT -rule 44 relunit -> tMINUTE_UNIT -rule 45 relunit -> tUNUMBER tSEC_UNIT -rule 46 relunit -> tSNUMBER tSEC_UNIT -rule 47 relunit -> tSEC_UNIT -rule 48 number -> tUNUMBER -rule 49 o_merid -> /* empty */ -rule 50 o_merid -> tMERIDIAN - -Terminals, with rules where they appear - -$ (-1) -',' (44) 18 25 -'/' (47) 20 21 -':' (58) 10 11 12 13 -error (256) -tAGO (257) 28 -tDAY (258) 17 18 19 -tDAY_UNIT (259) 36 37 38 -tDAYZONE (260) 15 -tDST (261) 16 -tHOUR_UNIT (262) 39 40 41 -tID (263) -tMERIDIAN (264) 9 50 -tMINUTE_UNIT (265) 42 43 44 -tMONTH (266) 23 24 25 26 27 -tMONTH_UNIT (267) 33 34 35 -tSEC_UNIT (268) 45 46 47 -tSNUMBER (269) 11 13 22 23 31 34 37 40 43 46 -tUNUMBER (270) 9 10 11 12 13 19 20 21 22 23 24 25 26 27 30 33 36 39 - 42 45 48 -tYEAR_UNIT (271) 30 31 32 -tZONE (272) 14 16 - -Nonterminals, with rules where they appear - -spec (22) - on left: 1 2, on right: 2 -item (23) - on left: 3 4 5 6 7 8, on right: 2 -time (24) - on left: 9 10 11 12 13, on right: 3 -zone (25) - on left: 14 15 16, on right: 4 -day (26) - on left: 17 18 19, on right: 6 -date (27) - on left: 20 21 22 23 24 25 26 27, on right: 5 -rel (28) - on left: 28 29, on right: 7 -relunit (29) - on left: 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 - , on right: 28 29 -number (30) - on left: 48, on right: 8 -o_merid (31) - on left: 49 50, on right: 10 12 - - -state 0 - - $default reduce using rule 1 (spec) - - spec go to state 1 - - - -state 1 - - spec -> spec . item (rule 2) - - $ go to state 60 - tDAY shift, and go to state 2 - tDAY_UNIT shift, and go to state 3 - tDAYZONE shift, and go to state 4 - tHOUR_UNIT shift, and go to state 5 - tMINUTE_UNIT shift, and go to state 6 - tMONTH shift, and go to state 7 - tMONTH_UNIT shift, and go to state 8 - tSEC_UNIT shift, and go to state 9 - tSNUMBER shift, and go to state 10 - tUNUMBER shift, and go to state 11 - tYEAR_UNIT shift, and go to state 12 - tZONE shift, and go to state 13 - - item go to state 14 - time go to state 15 - zone go to state 16 - day go to state 17 - date go to state 18 - rel go to state 19 - relunit go to state 20 - number go to state 21 - - - -state 2 - - day -> tDAY . (rule 17) - day -> tDAY . ',' (rule 18) - - ',' shift, and go to state 22 - - $default reduce using rule 17 (day) - - - -state 3 - - relunit -> tDAY_UNIT . (rule 38) - - $default reduce using rule 38 (relunit) - - - -state 4 - - zone -> tDAYZONE . (rule 15) - - $default reduce using rule 15 (zone) - - - -state 5 - - relunit -> tHOUR_UNIT . (rule 41) - - $default reduce using rule 41 (relunit) - - - -state 6 - - relunit -> tMINUTE_UNIT . (rule 44) - - $default reduce using rule 44 (relunit) - - - -state 7 - - date -> tMONTH . tUNUMBER (rule 24) - date -> tMONTH . tUNUMBER ',' tUNUMBER (rule 25) - - tUNUMBER shift, and go to state 23 - - - -state 8 - - relunit -> tMONTH_UNIT . (rule 35) - - $default reduce using rule 35 (relunit) - - - -state 9 - - relunit -> tSEC_UNIT . (rule 47) - - $default reduce using rule 47 (relunit) - - - -state 10 - - relunit -> tSNUMBER . tYEAR_UNIT (rule 31) - relunit -> tSNUMBER . tMONTH_UNIT (rule 34) - relunit -> tSNUMBER . tDAY_UNIT (rule 37) - relunit -> tSNUMBER . tHOUR_UNIT (rule 40) - relunit -> tSNUMBER . tMINUTE_UNIT (rule 43) - relunit -> tSNUMBER . tSEC_UNIT (rule 46) - - tDAY_UNIT shift, and go to state 24 - tHOUR_UNIT shift, and go to state 25 - tMINUTE_UNIT shift, and go to state 26 - tMONTH_UNIT shift, and go to state 27 - tSEC_UNIT shift, and go to state 28 - tYEAR_UNIT shift, and go to state 29 - - - -state 11 - - time -> tUNUMBER . tMERIDIAN (rule 9) - time -> tUNUMBER . ':' tUNUMBER o_merid (rule 10) - time -> tUNUMBER . ':' tUNUMBER tSNUMBER (rule 11) - time -> tUNUMBER . ':' tUNUMBER ':' tUNUMBER o_merid (rule 12) - time -> tUNUMBER . ':' tUNUMBER ':' tUNUMBER tSNUMBER (rule 13) - day -> tUNUMBER . tDAY (rule 19) - date -> tUNUMBER . '/' tUNUMBER (rule 20) - date -> tUNUMBER . '/' tUNUMBER '/' tUNUMBER (rule 21) - date -> tUNUMBER . tSNUMBER tSNUMBER (rule 22) - date -> tUNUMBER . tMONTH tSNUMBER (rule 23) - date -> tUNUMBER . tMONTH (rule 26) - date -> tUNUMBER . tMONTH tUNUMBER (rule 27) - relunit -> tUNUMBER . tYEAR_UNIT (rule 30) - relunit -> tUNUMBER . tMONTH_UNIT (rule 33) - relunit -> tUNUMBER . tDAY_UNIT (rule 36) - relunit -> tUNUMBER . tHOUR_UNIT (rule 39) - relunit -> tUNUMBER . tMINUTE_UNIT (rule 42) - relunit -> tUNUMBER . tSEC_UNIT (rule 45) - number -> tUNUMBER . (rule 48) - - tDAY shift, and go to state 30 - tDAY_UNIT shift, and go to state 31 - tHOUR_UNIT shift, and go to state 32 - tMERIDIAN shift, and go to state 33 - tMINUTE_UNIT shift, and go to state 34 - tMONTH shift, and go to state 35 - tMONTH_UNIT shift, and go to state 36 - tSEC_UNIT shift, and go to state 37 - tSNUMBER shift, and go to state 38 - tYEAR_UNIT shift, and go to state 39 - ':' shift, and go to state 40 - '/' shift, and go to state 41 - - tDAY [reduce using rule 48 (number)] - tDAY_UNIT [reduce using rule 48 (number)] - tHOUR_UNIT [reduce using rule 48 (number)] - tMINUTE_UNIT [reduce using rule 48 (number)] - tMONTH [reduce using rule 48 (number)] - tMONTH_UNIT [reduce using rule 48 (number)] - tSEC_UNIT [reduce using rule 48 (number)] - tSNUMBER [reduce using rule 48 (number)] - tYEAR_UNIT [reduce using rule 48 (number)] - $default reduce using rule 48 (number) - - - -state 12 - - relunit -> tYEAR_UNIT . (rule 32) - - $default reduce using rule 32 (relunit) - - - -state 13 - - zone -> tZONE . (rule 14) - zone -> tZONE . tDST (rule 16) - - tDST shift, and go to state 42 - - $default reduce using rule 14 (zone) - - - -state 14 - - spec -> spec item . (rule 2) - - $default reduce using rule 2 (spec) - - - -state 15 - - item -> time . (rule 3) - - $default reduce using rule 3 (item) - - - -state 16 - - item -> zone . (rule 4) - - $default reduce using rule 4 (item) - - - -state 17 - - item -> day . (rule 6) - - $default reduce using rule 6 (item) - - - -state 18 - - item -> date . (rule 5) - - $default reduce using rule 5 (item) - - - -state 19 - - item -> rel . (rule 7) - - $default reduce using rule 7 (item) - - - -state 20 - - rel -> relunit . tAGO (rule 28) - rel -> relunit . (rule 29) - - tAGO shift, and go to state 43 - - $default reduce using rule 29 (rel) - - - -state 21 - - item -> number . (rule 8) - - $default reduce using rule 8 (item) - - - -state 22 - - day -> tDAY ',' . (rule 18) - - $default reduce using rule 18 (day) - - - -state 23 - - date -> tMONTH tUNUMBER . (rule 24) - date -> tMONTH tUNUMBER . ',' tUNUMBER (rule 25) - - ',' shift, and go to state 44 - - $default reduce using rule 24 (date) - - - -state 24 - - relunit -> tSNUMBER tDAY_UNIT . (rule 37) - - $default reduce using rule 37 (relunit) - - - -state 25 - - relunit -> tSNUMBER tHOUR_UNIT . (rule 40) - - $default reduce using rule 40 (relunit) - - - -state 26 - - relunit -> tSNUMBER tMINUTE_UNIT . (rule 43) - - $default reduce using rule 43 (relunit) - - - -state 27 - - relunit -> tSNUMBER tMONTH_UNIT . (rule 34) - - $default reduce using rule 34 (relunit) - - - -state 28 - - relunit -> tSNUMBER tSEC_UNIT . (rule 46) - - $default reduce using rule 46 (relunit) - - - -state 29 - - relunit -> tSNUMBER tYEAR_UNIT . (rule 31) - - $default reduce using rule 31 (relunit) - - - -state 30 - - day -> tUNUMBER tDAY . (rule 19) - - $default reduce using rule 19 (day) - - - -state 31 - - relunit -> tUNUMBER tDAY_UNIT . (rule 36) - - $default reduce using rule 36 (relunit) - - - -state 32 - - relunit -> tUNUMBER tHOUR_UNIT . (rule 39) - - $default reduce using rule 39 (relunit) - - - -state 33 - - time -> tUNUMBER tMERIDIAN . (rule 9) - - $default reduce using rule 9 (time) - - - -state 34 - - relunit -> tUNUMBER tMINUTE_UNIT . (rule 42) - - $default reduce using rule 42 (relunit) - - - -state 35 - - date -> tUNUMBER tMONTH . tSNUMBER (rule 23) - date -> tUNUMBER tMONTH . (rule 26) - date -> tUNUMBER tMONTH . tUNUMBER (rule 27) - - tSNUMBER shift, and go to state 45 - tUNUMBER shift, and go to state 46 - - tSNUMBER [reduce using rule 26 (date)] - tUNUMBER [reduce using rule 26 (date)] - $default reduce using rule 26 (date) - - - -state 36 - - relunit -> tUNUMBER tMONTH_UNIT . (rule 33) - - $default reduce using rule 33 (relunit) - - - -state 37 - - relunit -> tUNUMBER tSEC_UNIT . (rule 45) - - $default reduce using rule 45 (relunit) - - - -state 38 - - date -> tUNUMBER tSNUMBER . tSNUMBER (rule 22) - - tSNUMBER shift, and go to state 47 - - - -state 39 - - relunit -> tUNUMBER tYEAR_UNIT . (rule 30) - - $default reduce using rule 30 (relunit) - - - -state 40 - - time -> tUNUMBER ':' . tUNUMBER o_merid (rule 10) - time -> tUNUMBER ':' . tUNUMBER tSNUMBER (rule 11) - time -> tUNUMBER ':' . tUNUMBER ':' tUNUMBER o_merid (rule 12) - time -> tUNUMBER ':' . tUNUMBER ':' tUNUMBER tSNUMBER (rule 13) - - tUNUMBER shift, and go to state 48 - - - -state 41 - - date -> tUNUMBER '/' . tUNUMBER (rule 20) - date -> tUNUMBER '/' . tUNUMBER '/' tUNUMBER (rule 21) - - tUNUMBER shift, and go to state 49 - - - -state 42 - - zone -> tZONE tDST . (rule 16) - - $default reduce using rule 16 (zone) - - - -state 43 - - rel -> relunit tAGO . (rule 28) - - $default reduce using rule 28 (rel) - - - -state 44 - - date -> tMONTH tUNUMBER ',' . tUNUMBER (rule 25) - - tUNUMBER shift, and go to state 50 - - - -state 45 - - date -> tUNUMBER tMONTH tSNUMBER . (rule 23) - - $default reduce using rule 23 (date) - - - -state 46 - - date -> tUNUMBER tMONTH tUNUMBER . (rule 27) - - $default reduce using rule 27 (date) - - - -state 47 - - date -> tUNUMBER tSNUMBER tSNUMBER . (rule 22) - - $default reduce using rule 22 (date) - - - -state 48 - - time -> tUNUMBER ':' tUNUMBER . o_merid (rule 10) - time -> tUNUMBER ':' tUNUMBER . tSNUMBER (rule 11) - time -> tUNUMBER ':' tUNUMBER . ':' tUNUMBER o_merid (rule 12) - time -> tUNUMBER ':' tUNUMBER . ':' tUNUMBER tSNUMBER (rule 13) - - tMERIDIAN shift, and go to state 51 - tSNUMBER shift, and go to state 52 - ':' shift, and go to state 53 - - tSNUMBER [reduce using rule 49 (o_merid)] - $default reduce using rule 49 (o_merid) - - o_merid go to state 54 - - - -state 49 - - date -> tUNUMBER '/' tUNUMBER . (rule 20) - date -> tUNUMBER '/' tUNUMBER . '/' tUNUMBER (rule 21) - - '/' shift, and go to state 55 - - $default reduce using rule 20 (date) - - - -state 50 - - date -> tMONTH tUNUMBER ',' tUNUMBER . (rule 25) - - $default reduce using rule 25 (date) - - - -state 51 - - o_merid -> tMERIDIAN . (rule 50) - - $default reduce using rule 50 (o_merid) - - - -state 52 - - time -> tUNUMBER ':' tUNUMBER tSNUMBER . (rule 11) - - $default reduce using rule 11 (time) - - - -state 53 - - time -> tUNUMBER ':' tUNUMBER ':' . tUNUMBER o_merid (rule 12) - time -> tUNUMBER ':' tUNUMBER ':' . tUNUMBER tSNUMBER (rule 13) - - tUNUMBER shift, and go to state 56 - - - -state 54 - - time -> tUNUMBER ':' tUNUMBER o_merid . (rule 10) - - $default reduce using rule 10 (time) - - - -state 55 - - date -> tUNUMBER '/' tUNUMBER '/' . tUNUMBER (rule 21) - - tUNUMBER shift, and go to state 57 - - - -state 56 - - time -> tUNUMBER ':' tUNUMBER ':' tUNUMBER . o_merid (rule 12) - time -> tUNUMBER ':' tUNUMBER ':' tUNUMBER . tSNUMBER (rule 13) - - tMERIDIAN shift, and go to state 51 - tSNUMBER shift, and go to state 58 - - tSNUMBER [reduce using rule 49 (o_merid)] - $default reduce using rule 49 (o_merid) - - o_merid go to state 59 - - - -state 57 - - date -> tUNUMBER '/' tUNUMBER '/' tUNUMBER . (rule 21) - - $default reduce using rule 21 (date) - - - -state 58 - - time -> tUNUMBER ':' tUNUMBER ':' tUNUMBER tSNUMBER . (rule 13) - - $default reduce using rule 13 (time) - - - -state 59 - - time -> tUNUMBER ':' tUNUMBER ':' tUNUMBER o_merid . (rule 12) - - $default reduce using rule 12 (time) - - - -state 60 - - $ go to state 61 - - - -state 61 - - $default accept diff --git a/Build/source/libs/curl/lib/getdate.y b/Build/source/libs/curl/lib/getdate.y deleted file mode 100644 index ffb7037f7b9..00000000000 --- a/Build/source/libs/curl/lib/getdate.y +++ /dev/null @@ -1,1105 +0,0 @@ -%{ -/* -** Originally written by Steven M. Bellovin <smb@research.att.com> while -** at the University of North Carolina at Chapel Hill. Later tweaked by -** a couple of people on Usenet. Completely overhauled by Rich $alz -** <rsalz@bbn.com> and Jim Berets <jberets@bbn.com> in August, 1990. -** -** This code is in the public domain and has no copyright. -*/ - -#include "setup.h" - -# ifdef HAVE_ALLOCA_H -# include <alloca.h> -# endif - -# ifdef HAVE_TIME_H -# include <time.h> -# endif - -#ifndef YYDEBUG - /* to satisfy gcc -Wundef, we set this to 0 */ -#define YYDEBUG 0 -#endif - -/* Since the code of getdate.y is not included in the Emacs executable - itself, there is no need to #define static in this file. Even if - the code were included in the Emacs executable, it probably - wouldn't do any harm to #undef it here; this will only cause - problems if we try to write to a static variable, which I don't - think this code needs to do. */ -#ifdef emacs -# undef static -#endif - -#ifdef __APPLE__ -#include <sys/types.h> -#include <sys/malloc.h> -#else - -#endif -#include <string.h> -#include <stdio.h> -#include <ctype.h> - -#if HAVE_STDLIB_H -# include <stdlib.h> /* for `free'; used by Bison 1.27 */ -#else - -#ifdef HAVE_MALLOC_H -#include <malloc.h> -#endif - -#endif - -#if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII)) -# define IN_CTYPE_DOMAIN(c) 1 -#else -# define IN_CTYPE_DOMAIN(c) isascii(c) -#endif - -#define ISSPACE(c) (IN_CTYPE_DOMAIN (c) && isspace (c)) -#define ISALPHA(c) (IN_CTYPE_DOMAIN (c) && isalpha (c)) -#define ISUPPER(c) (IN_CTYPE_DOMAIN (c) && isupper (c)) -#define ISDIGIT_LOCALE(c) (IN_CTYPE_DOMAIN (c) && isdigit (c)) - -/* ISDIGIT differs from ISDIGIT_LOCALE, as follows: - - Its arg may be any int or unsigned int; it need not be an unsigned char. - - It's guaranteed to evaluate its argument exactly once. - - It's typically faster. - Posix 1003.2-1992 section 2.5.2.1 page 50 lines 1556-1558 says that - only '0' through '9' are digits. Prefer ISDIGIT to ISDIGIT_LOCALE unless - it's important to use the locale's definition of `digit' even when the - host does not conform to Posix. */ -#define ISDIGIT(c) ((unsigned) (c) - '0' <= 9) - -#if defined (STDC_HEADERS) || defined (USG) -# include <string.h> -#endif - -/* The last #include file should be: */ -#ifdef MALLOCDEBUG -#include "memdebug.h" -#endif - -#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) -# define __attribute__(x) -#endif - -#ifndef ATTRIBUTE_UNUSED -# define ATTRIBUTE_UNUSED __attribute__ ((__unused__)) -#endif - -/* Some old versions of bison generate parsers that use bcopy. - That loses on systems that don't provide the function, so we have - to redefine it here. */ -#if !defined (HAVE_BCOPY) && defined (HAVE_MEMCPY) && !defined (bcopy) -# define bcopy(from, to, len) memcpy ((to), (from), (len)) -#endif - -/* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc), - as well as gratuitiously global symbol names, so we can have multiple - yacc generated parsers in the same program. Note that these are only - the variables produced by yacc. If other parser generators (bison, - byacc, etc) produce additional global names that conflict at link time, - then those parser generators need to be fixed instead of adding those - names to this list. */ - -#define yymaxdepth Curl_gd_maxdepth -#define yyparse Curl_gd_parse -#define yylex Curl_gd_lex -#define yyerror Curl_gd_error -#define yylval Curl_gd_lval -#define yychar Curl_gd_char -#define yydebug Curl_gd_debug -#define yypact Curl_gd_pact -#define yyr1 Curl_gd_r1 -#define yyr2 Curl_gd_r2 -#define yydef Curl_gd_def -#define yychk Curl_gd_chk -#define yypgo Curl_gd_pgo -#define yyact Curl_gd_act -#define yyexca Curl_gd_exca -#define yyerrflag Curl_gd_errflag -#define yynerrs Curl_gd_nerrs -#define yyps Curl_gd_ps -#define yypv Curl_gd_pv -#define yys Curl_gd_s -#define yy_yys Curl_gd_yys -#define yystate Curl_gd_state -#define yytmp Curl_gd_tmp -#define yyv Curl_gd_v -#define yy_yyv Curl_gd_yyv -#define yyval Curl_gd_val -#define yylloc Curl_gd_lloc -#define yyreds Curl_gd_reds /* With YYDEBUG defined */ -#define yytoks Curl_gd_toks /* With YYDEBUG defined */ -#define yylhs Curl_gd_yylhs -#define yylen Curl_gd_yylen -#define yydefred Curl_gd_yydefred -#define yydgoto Curl_gd_yydgoto -#define yysindex Curl_gd_yysindex -#define yyrindex Curl_gd_yyrindex -#define yygindex Curl_gd_yygindex -#define yytable Curl_gd_yytable -#define yycheck Curl_gd_yycheck - -static int yylex (); -static int yyerror (); - -#define EPOCH 1970 -#define HOUR(x) ((x) * 60) - -#define MAX_BUFF_LEN 128 /* size of buffer to read the date into */ - -/* -** An entry in the lexical lookup table. -*/ -typedef struct _TABLE { - const char *name; - int type; - int value; -} TABLE; - - -/* -** Meridian: am, pm, or 24-hour style. -*/ -typedef enum _MERIDIAN { - MERam, MERpm, MER24 -} MERIDIAN; - -/* parse results and input string */ -typedef struct _GETDATE_CONTEXT { - const char *yyInput; - int yyDayOrdinal; - int yyDayNumber; - int yyHaveDate; - int yyHaveDay; - int yyHaveRel; - int yyHaveTime; - int yyHaveZone; - int yyTimezone; - int yyDay; - int yyHour; - int yyMinutes; - int yyMonth; - int yySeconds; - int yyYear; - MERIDIAN yyMeridian; - int yyRelDay; - int yyRelHour; - int yyRelMinutes; - int yyRelMonth; - int yyRelSeconds; - int yyRelYear; -} GETDATE_CONTEXT; - -/* enable use of extra argument to yyparse and yylex which can be used to pass -** in a user defined value (GETDATE_CONTEXT struct in our case) -*/ -#define YYPARSE_PARAM cookie -#define YYLEX_PARAM cookie -#define context ((GETDATE_CONTEXT *) cookie) -%} - -/* This grammar has 13 shift/reduce conflicts. */ -%expect 13 - -/* turn global variables into locals, additionally enable extra arguments -** for yylex (pointer to yylval and user defined value) -*/ -%pure_parser - -%union { - int Number; - enum _MERIDIAN Meridian; -} - -%token tAGO tDAY tDAY_UNIT tDAYZONE tDST tHOUR_UNIT tID -%token tMERIDIAN tMINUTE_UNIT tMONTH tMONTH_UNIT -%token tSEC_UNIT tSNUMBER tUNUMBER tYEAR_UNIT tZONE - -%type <Number> tDAY tDAY_UNIT tDAYZONE tHOUR_UNIT tMINUTE_UNIT -%type <Number> tMONTH tMONTH_UNIT -%type <Number> tSEC_UNIT tSNUMBER tUNUMBER tYEAR_UNIT tZONE -%type <Meridian> tMERIDIAN o_merid - -%% - -spec : /* NULL */ - | spec item - ; - -item : time { - context->yyHaveTime++; - } - | zone { - context->yyHaveZone++; - } - | date { - context->yyHaveDate++; - } - | day { - context->yyHaveDay++; - } - | rel { - context->yyHaveRel++; - } - | number - ; - -time : tUNUMBER tMERIDIAN { - context->yyHour = $1; - context->yyMinutes = 0; - context->yySeconds = 0; - context->yyMeridian = $2; - } - | tUNUMBER ':' tUNUMBER o_merid { - context->yyHour = $1; - context->yyMinutes = $3; - context->yySeconds = 0; - context->yyMeridian = $4; - } - | tUNUMBER ':' tUNUMBER tSNUMBER { - context->yyHour = $1; - context->yyMinutes = $3; - context->yyMeridian = MER24; - context->yyHaveZone++; - context->yyTimezone = ($4 < 0 - ? -$4 % 100 + (-$4 / 100) * 60 - : - ($4 % 100 + ($4 / 100) * 60)); - } - | tUNUMBER ':' tUNUMBER ':' tUNUMBER o_merid { - context->yyHour = $1; - context->yyMinutes = $3; - context->yySeconds = $5; - context->yyMeridian = $6; - } - | tUNUMBER ':' tUNUMBER ':' tUNUMBER tSNUMBER { - context->yyHour = $1; - context->yyMinutes = $3; - context->yySeconds = $5; - context->yyMeridian = MER24; - context->yyHaveZone++; - context->yyTimezone = ($6 < 0 - ? -$6 % 100 + (-$6 / 100) * 60 - : - ($6 % 100 + ($6 / 100) * 60)); - } - ; - -zone : tZONE { - context->yyTimezone = $1; - } - | tDAYZONE { - context->yyTimezone = $1 - 60; - } - | - tZONE tDST { - context->yyTimezone = $1 - 60; - } - ; - -day : tDAY { - context->yyDayOrdinal = 1; - context->yyDayNumber = $1; - } - | tDAY ',' { - context->yyDayOrdinal = 1; - context->yyDayNumber = $1; - } - | tUNUMBER tDAY { - context->yyDayOrdinal = $1; - context->yyDayNumber = $2; - } - ; - -date : tUNUMBER '/' tUNUMBER { - context->yyMonth = $1; - context->yyDay = $3; - } - | tUNUMBER '/' tUNUMBER '/' tUNUMBER { - /* Interpret as YYYY/MM/DD if $1 >= 1000, otherwise as MM/DD/YY. - The goal in recognizing YYYY/MM/DD is solely to support legacy - machine-generated dates like those in an RCS log listing. If - you want portability, use the ISO 8601 format. */ - if ($1 >= 1000) - { - context->yyYear = $1; - context->yyMonth = $3; - context->yyDay = $5; - } - else - { - context->yyMonth = $1; - context->yyDay = $3; - context->yyYear = $5; - } - } - | tUNUMBER tSNUMBER tSNUMBER { - /* ISO 8601 format. yyyy-mm-dd. */ - context->yyYear = $1; - context->yyMonth = -$2; - context->yyDay = -$3; - } - | tUNUMBER tMONTH tSNUMBER { - /* e.g. 17-JUN-1992. */ - context->yyDay = $1; - context->yyMonth = $2; - context->yyYear = -$3; - } - | tMONTH tUNUMBER { - context->yyMonth = $1; - context->yyDay = $2; - } - | tMONTH tUNUMBER ',' tUNUMBER { - context->yyMonth = $1; - context->yyDay = $2; - context->yyYear = $4; - } - | tUNUMBER tMONTH { - context->yyMonth = $2; - context->yyDay = $1; - } - | tUNUMBER tMONTH tUNUMBER { - context->yyMonth = $2; - context->yyDay = $1; - context->yyYear = $3; - } - ; - -rel : relunit tAGO { - context->yyRelSeconds = -context->yyRelSeconds; - context->yyRelMinutes = -context->yyRelMinutes; - context->yyRelHour = -context->yyRelHour; - context->yyRelDay = -context->yyRelDay; - context->yyRelMonth = -context->yyRelMonth; - context->yyRelYear = -context->yyRelYear; - } - | relunit - ; - -relunit : tUNUMBER tYEAR_UNIT { - context->yyRelYear += $1 * $2; - } - | tSNUMBER tYEAR_UNIT { - context->yyRelYear += $1 * $2; - } - | tYEAR_UNIT { - context->yyRelYear += $1; - } - | tUNUMBER tMONTH_UNIT { - context->yyRelMonth += $1 * $2; - } - | tSNUMBER tMONTH_UNIT { - context->yyRelMonth += $1 * $2; - } - | tMONTH_UNIT { - context->yyRelMonth += $1; - } - | tUNUMBER tDAY_UNIT { - context->yyRelDay += $1 * $2; - } - | tSNUMBER tDAY_UNIT { - context->yyRelDay += $1 * $2; - } - | tDAY_UNIT { - context->yyRelDay += $1; - } - | tUNUMBER tHOUR_UNIT { - context->yyRelHour += $1 * $2; - } - | tSNUMBER tHOUR_UNIT { - context->yyRelHour += $1 * $2; - } - | tHOUR_UNIT { - context->yyRelHour += $1; - } - | tUNUMBER tMINUTE_UNIT { - context->yyRelMinutes += $1 * $2; - } - | tSNUMBER tMINUTE_UNIT { - context->yyRelMinutes += $1 * $2; - } - | tMINUTE_UNIT { - context->yyRelMinutes += $1; - } - | tUNUMBER tSEC_UNIT { - context->yyRelSeconds += $1 * $2; - } - | tSNUMBER tSEC_UNIT { - context->yyRelSeconds += $1 * $2; - } - | tSEC_UNIT { - context->yyRelSeconds += $1; - } - ; - -number : tUNUMBER - { - if (context->yyHaveTime && context->yyHaveDate && - !context->yyHaveRel) - context->yyYear = $1; - else - { - if ($1>10000) - { - context->yyHaveDate++; - context->yyDay= ($1)%100; - context->yyMonth= ($1/100)%100; - context->yyYear = $1/10000; - } - else - { - context->yyHaveTime++; - if ($1 < 100) - { - context->yyHour = $1; - context->yyMinutes = 0; - } - else - { - context->yyHour = $1 / 100; - context->yyMinutes = $1 % 100; - } - context->yySeconds = 0; - context->yyMeridian = MER24; - } - } - } - ; - -o_merid : /* NULL */ - { - $$ = MER24; - } - | tMERIDIAN - { - $$ = $1; - } - ; - -%% - -/* Include this file down here because bison inserts code above which - may define-away `const'. We want the prototype for get_date to have - the same signature as the function definition does. */ -#include "getdate.h" - -#ifndef WIN32 /* the windows dudes don't need these, does anyone really? */ -extern struct tm *gmtime (); -extern struct tm *localtime (); -extern time_t mktime (); -#endif - -/* Month and day table. */ -static TABLE const MonthDayTable[] = { - { "january", tMONTH, 1 }, - { "february", tMONTH, 2 }, - { "march", tMONTH, 3 }, - { "april", tMONTH, 4 }, - { "may", tMONTH, 5 }, - { "june", tMONTH, 6 }, - { "july", tMONTH, 7 }, - { "august", tMONTH, 8 }, - { "september", tMONTH, 9 }, - { "sept", tMONTH, 9 }, - { "october", tMONTH, 10 }, - { "november", tMONTH, 11 }, - { "december", tMONTH, 12 }, - { "sunday", tDAY, 0 }, - { "monday", tDAY, 1 }, - { "tuesday", tDAY, 2 }, - { "tues", tDAY, 2 }, - { "wednesday", tDAY, 3 }, - { "wednes", tDAY, 3 }, - { "thursday", tDAY, 4 }, - { "thur", tDAY, 4 }, - { "thurs", tDAY, 4 }, - { "friday", tDAY, 5 }, - { "saturday", tDAY, 6 }, - { NULL, 0, 0 } -}; - -/* Time units table. */ -static TABLE const UnitsTable[] = { - { "year", tYEAR_UNIT, 1 }, - { "month", tMONTH_UNIT, 1 }, - { "fortnight", tDAY_UNIT, 14 }, - { "week", tDAY_UNIT, 7 }, - { "day", tDAY_UNIT, 1 }, - { "hour", tHOUR_UNIT, 1 }, - { "minute", tMINUTE_UNIT, 1 }, - { "min", tMINUTE_UNIT, 1 }, - { "second", tSEC_UNIT, 1 }, - { "sec", tSEC_UNIT, 1 }, - { NULL, 0, 0 } -}; - -/* Assorted relative-time words. */ -static TABLE const OtherTable[] = { - { "tomorrow", tMINUTE_UNIT, 1 * 24 * 60 }, - { "yesterday", tMINUTE_UNIT, -1 * 24 * 60 }, - { "today", tMINUTE_UNIT, 0 }, - { "now", tMINUTE_UNIT, 0 }, - { "last", tUNUMBER, -1 }, - { "this", tMINUTE_UNIT, 0 }, - { "next", tUNUMBER, 1 }, - { "first", tUNUMBER, 1 }, -/* { "second", tUNUMBER, 2 }, */ - { "third", tUNUMBER, 3 }, - { "fourth", tUNUMBER, 4 }, - { "fifth", tUNUMBER, 5 }, - { "sixth", tUNUMBER, 6 }, - { "seventh", tUNUMBER, 7 }, - { "eighth", tUNUMBER, 8 }, - { "ninth", tUNUMBER, 9 }, - { "tenth", tUNUMBER, 10 }, - { "eleventh", tUNUMBER, 11 }, - { "twelfth", tUNUMBER, 12 }, - { "ago", tAGO, 1 }, - { NULL, 0, 0 } -}; - -/* The timezone table. */ -static TABLE const TimezoneTable[] = { - { "gmt", tZONE, HOUR ( 0) }, /* Greenwich Mean */ - { "ut", tZONE, HOUR ( 0) }, /* Universal (Coordinated) */ - { "utc", tZONE, HOUR ( 0) }, - { "wet", tZONE, HOUR ( 0) }, /* Western European */ - { "bst", tDAYZONE, HOUR ( 0) }, /* British Summer */ - { "wat", tZONE, HOUR ( 1) }, /* West Africa */ - { "at", tZONE, HOUR ( 2) }, /* Azores */ -#if 0 - /* For completeness. BST is also British Summer, and GST is - * also Guam Standard. */ - { "bst", tZONE, HOUR ( 3) }, /* Brazil Standard */ - { "gst", tZONE, HOUR ( 3) }, /* Greenland Standard */ -#endif -#if 0 - { "nft", tZONE, HOUR (3.5) }, /* Newfoundland */ - { "nst", tZONE, HOUR (3.5) }, /* Newfoundland Standard */ - { "ndt", tDAYZONE, HOUR (3.5) }, /* Newfoundland Daylight */ -#endif - { "ast", tZONE, HOUR ( 4) }, /* Atlantic Standard */ - { "adt", tDAYZONE, HOUR ( 4) }, /* Atlantic Daylight */ - { "est", tZONE, HOUR ( 5) }, /* Eastern Standard */ - { "edt", tDAYZONE, HOUR ( 5) }, /* Eastern Daylight */ - { "cst", tZONE, HOUR ( 6) }, /* Central Standard */ - { "cdt", tDAYZONE, HOUR ( 6) }, /* Central Daylight */ - { "mst", tZONE, HOUR ( 7) }, /* Mountain Standard */ - { "mdt", tDAYZONE, HOUR ( 7) }, /* Mountain Daylight */ - { "pst", tZONE, HOUR ( 8) }, /* Pacific Standard */ - { "pdt", tDAYZONE, HOUR ( 8) }, /* Pacific Daylight */ - { "yst", tZONE, HOUR ( 9) }, /* Yukon Standard */ - { "ydt", tDAYZONE, HOUR ( 9) }, /* Yukon Daylight */ - { "hst", tZONE, HOUR (10) }, /* Hawaii Standard */ - { "hdt", tDAYZONE, HOUR (10) }, /* Hawaii Daylight */ - { "cat", tZONE, HOUR (10) }, /* Central Alaska */ - { "ahst", tZONE, HOUR (10) }, /* Alaska-Hawaii Standard */ - { "nt", tZONE, HOUR (11) }, /* Nome */ - { "idlw", tZONE, HOUR (12) }, /* International Date Line West */ - { "cet", tZONE, -HOUR (1) }, /* Central European */ - { "met", tZONE, -HOUR (1) }, /* Middle European */ - { "mewt", tZONE, -HOUR (1) }, /* Middle European Winter */ - { "mest", tDAYZONE, -HOUR (1) }, /* Middle European Summer */ - { "mesz", tDAYZONE, -HOUR (1) }, /* Middle European Summer */ - { "swt", tZONE, -HOUR (1) }, /* Swedish Winter */ - { "sst", tDAYZONE, -HOUR (1) }, /* Swedish Summer */ - { "fwt", tZONE, -HOUR (1) }, /* French Winter */ - { "fst", tDAYZONE, -HOUR (1) }, /* French Summer */ - { "eet", tZONE, -HOUR (2) }, /* Eastern Europe, USSR Zone 1 */ - { "bt", tZONE, -HOUR (3) }, /* Baghdad, USSR Zone 2 */ -#if 0 - { "it", tZONE, -HOUR (3.5) },/* Iran */ -#endif - { "zp4", tZONE, -HOUR (4) }, /* USSR Zone 3 */ - { "zp5", tZONE, -HOUR (5) }, /* USSR Zone 4 */ -#if 0 - { "ist", tZONE, -HOUR (5.5) },/* Indian Standard */ -#endif - { "zp6", tZONE, -HOUR (6) }, /* USSR Zone 5 */ -#if 0 - /* For completeness. NST is also Newfoundland Standard, and SST is - * also Swedish Summer. */ - { "nst", tZONE, -HOUR (6.5) },/* North Sumatra */ - { "sst", tZONE, -HOUR (7) }, /* South Sumatra, USSR Zone 6 */ -#endif /* 0 */ - { "wast", tZONE, -HOUR (7) }, /* West Australian Standard */ - { "wadt", tDAYZONE, -HOUR (7) }, /* West Australian Daylight */ -#if 0 - { "jt", tZONE, -HOUR (7.5) },/* Java (3pm in Cronusland!) */ -#endif - { "cct", tZONE, -HOUR (8) }, /* China Coast, USSR Zone 7 */ - { "jst", tZONE, -HOUR (9) }, /* Japan Standard, USSR Zone 8 */ -#if 0 - { "cast", tZONE, -HOUR (9.5) },/* Central Australian Standard */ - { "cadt", tDAYZONE, -HOUR (9.5) },/* Central Australian Daylight */ -#endif - { "east", tZONE, -HOUR (10) }, /* Eastern Australian Standard */ - { "eadt", tDAYZONE, -HOUR (10) }, /* Eastern Australian Daylight */ - { "gst", tZONE, -HOUR (10) }, /* Guam Standard, USSR Zone 9 */ - { "nzt", tZONE, -HOUR (12) }, /* New Zealand */ - { "nzst", tZONE, -HOUR (12) }, /* New Zealand Standard */ - { "nzdt", tDAYZONE, -HOUR (12) }, /* New Zealand Daylight */ - { "idle", tZONE, -HOUR (12) }, /* International Date Line East */ - { NULL, 0, 0 } -}; - -/* Military timezone table. */ -static TABLE const MilitaryTable[] = { - { "a", tZONE, HOUR ( 1) }, - { "b", tZONE, HOUR ( 2) }, - { "c", tZONE, HOUR ( 3) }, - { "d", tZONE, HOUR ( 4) }, - { "e", tZONE, HOUR ( 5) }, - { "f", tZONE, HOUR ( 6) }, - { "g", tZONE, HOUR ( 7) }, - { "h", tZONE, HOUR ( 8) }, - { "i", tZONE, HOUR ( 9) }, - { "k", tZONE, HOUR ( 10) }, - { "l", tZONE, HOUR ( 11) }, - { "m", tZONE, HOUR ( 12) }, - { "n", tZONE, HOUR (- 1) }, - { "o", tZONE, HOUR (- 2) }, - { "p", tZONE, HOUR (- 3) }, - { "q", tZONE, HOUR (- 4) }, - { "r", tZONE, HOUR (- 5) }, - { "s", tZONE, HOUR (- 6) }, - { "t", tZONE, HOUR (- 7) }, - { "u", tZONE, HOUR (- 8) }, - { "v", tZONE, HOUR (- 9) }, - { "w", tZONE, HOUR (-10) }, - { "x", tZONE, HOUR (-11) }, - { "y", tZONE, HOUR (-12) }, - { "z", tZONE, HOUR ( 0) }, - { NULL, 0, 0 } -}; - - - - -/* ARGSUSED */ -static int -yyerror (s) - char *s ATTRIBUTE_UNUSED; -{ - return 0; -} - -static int -ToHour (Hours, Meridian) - int Hours; - MERIDIAN Meridian; -{ - switch (Meridian) - { - case MER24: - if (Hours < 0 || Hours > 23) - return -1; - return Hours; - case MERam: - if (Hours < 1 || Hours > 12) - return -1; - if (Hours == 12) - Hours = 0; - return Hours; - case MERpm: - if (Hours < 1 || Hours > 12) - return -1; - if (Hours == 12) - Hours = 0; - return Hours + 12; - default: - abort (); - } - /* NOTREACHED */ -} - -static int -ToYear (Year) - int Year; -{ - if (Year < 0) - Year = -Year; - - /* XPG4 suggests that years 00-68 map to 2000-2068, and - years 69-99 map to 1969-1999. */ - if (Year < 69) - Year += 2000; - else if (Year < 100) - Year += 1900; - - return Year; -} - -static int -LookupWord (yylval, buff) - YYSTYPE *yylval; - char *buff; -{ - register char *p; - register char *q; - register const TABLE *tp; - int i; - int abbrev; - - /* Make it lowercase. */ - for (p = buff; *p; p++) - if (ISUPPER ((unsigned char) *p)) - *p = tolower (*p); - - if (strcmp (buff, "am") == 0 || strcmp (buff, "a.m.") == 0) - { - yylval->Meridian = MERam; - return tMERIDIAN; - } - if (strcmp (buff, "pm") == 0 || strcmp (buff, "p.m.") == 0) - { - yylval->Meridian = MERpm; - return tMERIDIAN; - } - - /* See if we have an abbreviation for a month. */ - if (strlen (buff) == 3) - abbrev = 1; - else if (strlen (buff) == 4 && buff[3] == '.') - { - abbrev = 1; - buff[3] = '\0'; - } - else - abbrev = 0; - - for (tp = MonthDayTable; tp->name; tp++) - { - if (abbrev) - { - if (strncmp (buff, tp->name, 3) == 0) - { - yylval->Number = tp->value; - return tp->type; - } - } - else if (strcmp (buff, tp->name) == 0) - { - yylval->Number = tp->value; - return tp->type; - } - } - - for (tp = TimezoneTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) - { - yylval->Number = tp->value; - return tp->type; - } - - if (strcmp (buff, "dst") == 0) - return tDST; - - for (tp = UnitsTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) - { - yylval->Number = tp->value; - return tp->type; - } - - /* Strip off any plural and try the units table again. */ - i = strlen (buff) - 1; - if (buff[i] == 's') - { - buff[i] = '\0'; - for (tp = UnitsTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) - { - yylval->Number = tp->value; - return tp->type; - } - buff[i] = 's'; /* Put back for "this" in OtherTable. */ - } - - for (tp = OtherTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) - { - yylval->Number = tp->value; - return tp->type; - } - - /* Military timezones. */ - if (buff[1] == '\0' && ISALPHA ((unsigned char) *buff)) - { - for (tp = MilitaryTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) - { - yylval->Number = tp->value; - return tp->type; - } - } - - /* Drop out any periods and try the timezone table again. */ - for (i = 0, p = q = buff; *q; q++) - if (*q != '.') - *p++ = *q; - else - i++; - *p = '\0'; - if (i) - for (tp = TimezoneTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) - { - yylval->Number = tp->value; - return tp->type; - } - - return tID; -} - -static int -yylex (yylval, cookie) - YYSTYPE *yylval; - void *cookie; -{ - register unsigned char c; - register char *p; - char buff[20]; - int Count; - int sign; - - for (;;) - { - while (ISSPACE ((unsigned char) *context->yyInput)) - context->yyInput++; - - if (ISDIGIT (c = *context->yyInput) || c == '-' || c == '+') - { - if (c == '-' || c == '+') - { - sign = c == '-' ? -1 : 1; - if (!ISDIGIT (*++context->yyInput)) - /* skip the '-' sign */ - continue; - } - else - sign = 0; - for (yylval->Number = 0; ISDIGIT (c = *context->yyInput++);) - yylval->Number = 10 * yylval->Number + c - '0'; - context->yyInput--; - if (sign < 0) - yylval->Number = -yylval->Number; - return sign ? tSNUMBER : tUNUMBER; - } - if (ISALPHA (c)) - { - for (p = buff; (c = *context->yyInput++, ISALPHA (c)) || c == '.';) - if (p < &buff[sizeof buff - 1]) - *p++ = c; - *p = '\0'; - context->yyInput--; - return LookupWord (yylval, buff); - } - if (c != '(') - return *context->yyInput++; - Count = 0; - do - { - c = *context->yyInput++; - if (c == '\0') - return c; - if (c == '(') - Count++; - else if (c == ')') - Count--; - } - while (Count > 0); - } -} - -#define TM_YEAR_ORIGIN 1900 - -/* Yield A - B, measured in seconds. */ -static long -difftm (struct tm *a, struct tm *b) -{ - int ay = a->tm_year + (TM_YEAR_ORIGIN - 1); - int by = b->tm_year + (TM_YEAR_ORIGIN - 1); - long days = ( - /* difference in day of year */ - a->tm_yday - b->tm_yday - /* + intervening leap days */ - + ((ay >> 2) - (by >> 2)) - - (ay / 100 - by / 100) - + ((ay / 100 >> 2) - (by / 100 >> 2)) - /* + difference in years * 365 */ - + (long) (ay - by) * 365 - ); - return (60 * (60 * (24 * days + (a->tm_hour - b->tm_hour)) - + (a->tm_min - b->tm_min)) - + (a->tm_sec - b->tm_sec)); -} - -time_t -curl_getdate (const char *p, const time_t *now) -{ - struct tm tm, tm0, *tmp; - time_t Start; - GETDATE_CONTEXT cookie; -#ifdef HAVE_LOCALTIME_R - struct tm keeptime; -#endif - cookie.yyInput = p; - Start = now ? *now : time ((time_t *) NULL); -#ifdef HAVE_LOCALTIME_R - tmp = (struct tm *)localtime_r(&Start, &keeptime); -#else - tmp = localtime (&Start); -#endif - if (!tmp) - return -1; - cookie.yyYear = tmp->tm_year + TM_YEAR_ORIGIN; - cookie.yyMonth = tmp->tm_mon + 1; - cookie.yyDay = tmp->tm_mday; - cookie.yyHour = tmp->tm_hour; - cookie.yyMinutes = tmp->tm_min; - cookie.yySeconds = tmp->tm_sec; - tm.tm_isdst = tmp->tm_isdst; - cookie.yyMeridian = MER24; - cookie.yyRelSeconds = 0; - cookie.yyRelMinutes = 0; - cookie.yyRelHour = 0; - cookie.yyRelDay = 0; - cookie.yyRelMonth = 0; - cookie.yyRelYear = 0; - cookie.yyHaveDate = 0; - cookie.yyHaveDay = 0; - cookie.yyHaveRel = 0; - cookie.yyHaveTime = 0; - cookie.yyHaveZone = 0; - - if (yyparse (&cookie) - || cookie.yyHaveTime > 1 || cookie.yyHaveZone > 1 || - cookie.yyHaveDate > 1 || cookie.yyHaveDay > 1) - return -1; - - tm.tm_year = ToYear (cookie.yyYear) - TM_YEAR_ORIGIN + cookie.yyRelYear; - tm.tm_mon = cookie.yyMonth - 1 + cookie.yyRelMonth; - tm.tm_mday = cookie.yyDay + cookie.yyRelDay; - if (cookie.yyHaveTime || - (cookie.yyHaveRel && !cookie.yyHaveDate && !cookie.yyHaveDay)) - { - tm.tm_hour = ToHour (cookie.yyHour, cookie.yyMeridian); - if (tm.tm_hour < 0) - return -1; - tm.tm_min = cookie.yyMinutes; - tm.tm_sec = cookie.yySeconds; - } - else - { - tm.tm_hour = tm.tm_min = tm.tm_sec = 0; - } - tm.tm_hour += cookie.yyRelHour; - tm.tm_min += cookie.yyRelMinutes; - tm.tm_sec += cookie.yyRelSeconds; - - /* Let mktime deduce tm_isdst if we have an absolute timestamp, - or if the relative timestamp mentions days, months, or years. */ - if (cookie.yyHaveDate | cookie.yyHaveDay | cookie.yyHaveTime | - cookie.yyRelDay | cookie.yyRelMonth | cookie.yyRelYear) - tm.tm_isdst = -1; - - tm0 = tm; - - Start = mktime (&tm); - - if (Start == (time_t) -1) - { - - /* Guard against falsely reporting errors near the time_t boundaries - when parsing times in other time zones. For example, if the min - time_t value is 1970-01-01 00:00:00 UTC and we are 8 hours ahead - of UTC, then the min localtime value is 1970-01-01 08:00:00; if - we apply mktime to 1970-01-01 00:00:00 we will get an error, so - we apply mktime to 1970-01-02 08:00:00 instead and adjust the time - zone by 24 hours to compensate. This algorithm assumes that - there is no DST transition within a day of the time_t boundaries. */ - if (cookie.yyHaveZone) - { - tm = tm0; - if (tm.tm_year <= EPOCH - TM_YEAR_ORIGIN) - { - tm.tm_mday++; - cookie.yyTimezone -= 24 * 60; - } - else - { - tm.tm_mday--; - cookie.yyTimezone += 24 * 60; - } - Start = mktime (&tm); - } - - if (Start == (time_t) -1) - return Start; - } - - if (cookie.yyHaveDay && !cookie.yyHaveDate) - { - tm.tm_mday += ((cookie.yyDayNumber - tm.tm_wday + 7) % 7 - + 7 * (cookie.yyDayOrdinal - (0 < cookie.yyDayOrdinal))); - Start = mktime (&tm); - if (Start == (time_t) -1) - return Start; - } - - if (cookie.yyHaveZone) - { - long delta; - struct tm *gmt; -#ifdef HAVE_GMTIME_R - /* thread-safe version */ - struct tm keeptime; - gmt = (struct tm *)gmtime_r(&Start, &keeptime); -#else - gmt = gmtime(&Start); -#endif - if (!gmt) - return -1; - delta = cookie.yyTimezone * 60L + difftm (&tm, gmt); - if ((Start + delta < Start) != (delta < 0)) - return -1; /* time_t overflow */ - Start += delta; - } - - return Start; -} - -#if defined (TEST) - -/* ARGSUSED */ -int -main (ac, av) - int ac; - char *av[]; -{ - char buff[MAX_BUFF_LEN + 1]; - time_t d; - - (void) printf ("Enter date, or blank line to exit.\n\t> "); - (void) fflush (stdout); - - buff[MAX_BUFF_LEN] = 0; - while (fgets (buff, MAX_BUFF_LEN, stdin) && buff[0]) - { - d = curl_getdate (buff, (time_t *) NULL); - if (d == -1) - (void) printf ("Bad format - couldn't convert.\n"); - else - (void) printf ("%s", ctime (&d)); - (void) printf ("\t> "); - (void) fflush (stdout); - } - exit (0); - /* NOTREACHED */ -} -#endif /* defined (TEST) */ diff --git a/Build/source/libs/curl/lib/getenv.c b/Build/source/libs/curl/lib/getenv.c deleted file mode 100644 index ee570e8ad12..00000000000 --- a/Build/source/libs/curl/lib/getenv.c +++ /dev/null @@ -1,77 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: getenv.c,v 1.16 2002/01/04 09:53:10 bagder Exp $ - *****************************************************************************/ - -#include "setup.h" - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#ifdef WIN32 -#include <windows.h> -#endif - -#ifdef VMS -#include <unixlib.h> -#endif - -#ifdef MALLOCDEBUG -#include "memdebug.h" -#endif - -static -char *GetEnv(const char *variable) -{ -#ifdef WIN32 - /* This shit requires windows.h (HUGE) to be included */ - char env[MAX_PATH]; /* MAX_PATH is from windef.h */ - char *temp = getenv(variable); - env[0] = '\0'; - if (temp != NULL) - ExpandEnvironmentStrings(temp, env, sizeof(env)); -#else -#ifdef VMS - char *env = getenv(variable); - if (env && strcmp("HOME",variable) == 0) { - env = decc$translate_vms(env); - } -#else - /* no length control */ - char *env = getenv(variable); -#endif -#endif - return (env && env[0])?strdup(env):NULL; -} - -char *curl_getenv(const char *v) -{ - return GetEnv(v); -} - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/getinfo.c b/Build/source/libs/curl/lib/getinfo.c deleted file mode 100644 index fc9fd6f6008..00000000000 --- a/Build/source/libs/curl/lib/getinfo.c +++ /dev/null @@ -1,161 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: getinfo.c,v 1.18 2002/02/20 13:46:54 bagder Exp $ - *****************************************************************************/ - -#include "setup.h" - -#include <curl/curl.h> - -#include "urldata.h" - -#include <stdio.h> -#include <string.h> -#include <stdarg.h> - -#ifdef VMS -#include <stdlib.h> -#endif - -/* - * This is supposed to be called in the beginning of a permform() session - * and should reset all session-info variables - */ -CURLcode Curl_initinfo(struct SessionHandle *data) -{ - struct Progress *pro = &data->progress; - struct PureInfo *info =&data->info; - - pro->t_nslookup = 0; - pro->t_connect = 0; - pro->t_pretransfer = 0; - pro->t_starttransfer = 0; - pro->timespent = 0; - - info->httpcode = 0; - info->httpversion=0; - info->filetime=-1; /* -1 is an illegal time and thus means unknown */ - - if (info->contenttype) - free(info->contenttype); - info->contenttype = NULL; - - info->header_size = 0; - info->request_size = 0; - return CURLE_OK; -} - -CURLcode Curl_getinfo(struct SessionHandle *data, CURLINFO info, ...) -{ - va_list arg; - long *param_longp; - double *param_doublep; - char **param_charp; - va_start(arg, info); - - switch(info&CURLINFO_TYPEMASK) { - default: - return CURLE_BAD_FUNCTION_ARGUMENT; - case CURLINFO_STRING: - param_charp = va_arg(arg, char **); - if(NULL == param_charp) - return CURLE_BAD_FUNCTION_ARGUMENT; - break; - case CURLINFO_LONG: - param_longp = va_arg(arg, long *); - if(NULL == param_longp) - return CURLE_BAD_FUNCTION_ARGUMENT; - break; - case CURLINFO_DOUBLE: - param_doublep = va_arg(arg, double *); - if(NULL == param_doublep) - return CURLE_BAD_FUNCTION_ARGUMENT; - break; - } - - switch(info) { - case CURLINFO_EFFECTIVE_URL: - *param_charp = data->change.url?data->change.url:(char *)""; - break; - case CURLINFO_HTTP_CODE: - *param_longp = data->info.httpcode; - break; - case CURLINFO_FILETIME: - *param_longp = data->info.filetime; - break; - case CURLINFO_HEADER_SIZE: - *param_longp = data->info.header_size; - break; - case CURLINFO_REQUEST_SIZE: - *param_longp = data->info.request_size; - break; - case CURLINFO_TOTAL_TIME: - *param_doublep = data->progress.timespent; - break; - case CURLINFO_NAMELOOKUP_TIME: - *param_doublep = data->progress.t_nslookup; - break; - case CURLINFO_CONNECT_TIME: - *param_doublep = data->progress.t_connect; - break; - case CURLINFO_PRETRANSFER_TIME: - *param_doublep = data->progress.t_pretransfer; - break; - case CURLINFO_STARTTRANSFER_TIME: - *param_doublep = data->progress.t_starttransfer; - break; - case CURLINFO_SIZE_UPLOAD: - *param_doublep = data->progress.uploaded; - break; - case CURLINFO_SIZE_DOWNLOAD: - *param_doublep = data->progress.downloaded; - break; - case CURLINFO_SPEED_DOWNLOAD: - *param_doublep = data->progress.dlspeed; - break; - case CURLINFO_SPEED_UPLOAD: - *param_doublep = data->progress.ulspeed; - break; - case CURLINFO_SSL_VERIFYRESULT: - *param_longp = data->set.ssl.certverifyresult; - break; - case CURLINFO_CONTENT_LENGTH_DOWNLOAD: - *param_doublep = data->progress.size_dl; - break; - case CURLINFO_CONTENT_LENGTH_UPLOAD: - *param_doublep = data->progress.size_ul; - break; - case CURLINFO_CONTENT_TYPE: - *param_charp = data->info.contenttype; - break; - default: - return CURLE_BAD_FUNCTION_ARGUMENT; - } - return CURLE_OK; -} - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/getinfo.h b/Build/source/libs/curl/lib/getinfo.h deleted file mode 100644 index c7a26093d40..00000000000 --- a/Build/source/libs/curl/lib/getinfo.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef __GETINFO_H -#define __GETINFO_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2001, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: getinfo.h,v 1.2 2001/08/30 22:48:34 bagder Exp $ - *****************************************************************************/ -CURLcode Curl_getinfo(struct SessionHandle *data, CURLINFO info, ...); -CURLcode Curl_initinfo(struct SessionHandle *data); - -#endif diff --git a/Build/source/libs/curl/lib/getpass.c b/Build/source/libs/curl/lib/getpass.c deleted file mode 100644 index 76bc9496b05..00000000000 --- a/Build/source/libs/curl/lib/getpass.c +++ /dev/null @@ -1,252 +0,0 @@ -/* ============================================================================ - * Copyright (C) 1998 Angus Mackay. All rights reserved; - * - * Redistribution and use are freely permitted provided that: - * - * 1) This header remain in tact. - * 2) The prototypes for getpass and getpass_r are not changed from: - * char *getpass(const char *prompt) - * char *getpass_r(const char *prompt, char* buffer, int buflen) - * 3) This source code is not used outside of this(getpass.c) file. - * 4) Any changes to this(getpass.c) source code are made publicly available. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * ============================================================================ - * - * $Id: getpass.c,v 1.16 2001/12/04 13:03:09 bagder Exp $ - * - * The spirit of this license is to allow use of this source code in any - * project be it open or closed but still encourage the use of the open, - * library based equivilents. - * - * Author(s): - * Angus Mackay <amackay@gus.ml.org> - * - * Contributor(s): - * Daniel Stenberg <daniel@haxx.se> - */ - -#include "setup.h" /* setup.h is required for read() prototype */ - -#ifndef HAVE_GETPASS_R - -#ifndef WIN32 -#ifdef VMS -#include <stdio.h> -#include <string.h> -#include descrip -#include starlet -#include iodef -#include iosbdef -char *getpass_r(const char *prompt, char *buffer, size_t buflen) -{ - long sts; - short chan; - struct _iosb iosb; - $DESCRIPTOR(ttdesc, "TT"); - - buffer[0]='\0'; - if ((sts = sys$assign(&ttdesc, &chan,0,0)) & 1) { - if (((sts = sys$qiow(0, chan, IO$_READPROMPT | IO$M_NOECHO, &iosb, 0, 0, buffer, buflen, 0, 0, prompt, strlen(prompt))) & 1) && (iosb.iosb$w_status&1)) { - buffer[iosb.iosb$w_bcnt] = '\0'; - } - sts = sys$dassgn(chan); - } - return buffer; /* we always return success */ -} -#else /* VMS */ -#ifdef HAVE_TERMIOS_H -# if !defined(HAVE_TCGETATTR) && !defined(HAVE_TCSETATTR) -# undef HAVE_TERMIOS_H -# endif -#endif - -#ifndef RETSIGTYPE -# define RETSIGTYPE void -#endif - -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif -#include <stdio.h> -#include <signal.h> -#ifdef HAVE_TERMIOS_H -# include <termios.h> -#else -# ifdef HAVE_TERMIO_H -# include <termio.h> -# else -# endif -#endif - -/* The last #include file should be: */ -#ifdef MALLOCDEBUG -#include "memdebug.h" -#endif - -/* no perror? make an fprintf! */ -#ifndef HAVE_PERROR -# define perror(x) fprintf(stderr, "Error in: %s\n", x) -#endif - -char *getpass_r(const char *prompt, char *buffer, size_t buflen) -{ - FILE *infp; - FILE *outfp; - RETSIGTYPE (*sigint)(); -#ifndef __EMX__ - RETSIGTYPE (*sigtstp)(); -#endif - size_t bytes_read; - int infd; - int outfd; -#ifdef HAVE_TERMIOS_H - struct termios orig; - struct termios noecho; -#else -# ifdef HAVE_TERMIO_H - struct termio orig; - struct termio noecho; -# else -# endif -#endif - - sigint = signal(SIGINT, SIG_IGN); - /* 20000318 mgs - * this is needed by the emx system, SIGTSTP is not a supported signal */ -#ifndef __EMX__ - sigtstp = signal(SIGTSTP, SIG_IGN); -#endif - - if( (infp=fopen("/dev/tty", "r")) == NULL ) - { - infp = stdin; - } - if( (outfp=fopen("/dev/tty", "w")) == NULL ) - { - outfp = stderr; - } - infd = fileno(infp); - outfd = fileno(outfp); - - /* dissable echo */ -#ifdef HAVE_TERMIOS_H - if(tcgetattr(outfd, &orig) != 0) - { - ; /*perror("tcgetattr");*/ - } - noecho = orig; - noecho.c_lflag &= ~ECHO; - if(tcsetattr(outfd, TCSANOW, &noecho) != 0) - { - ; /*perror("tcgetattr");*/ - } -#else -# ifdef HAVE_TERMIO_H - if(ioctl(outfd, TCGETA, &orig) != 0) - { - ; /*perror("ioctl");*/ - } - noecho = orig; - noecho.c_lflag &= ~ECHO; - if(ioctl(outfd, TCSETA, &noecho) != 0) - { - ; /*perror("ioctl");*/ - } -# else -# endif -#endif - - fputs(prompt, outfp); - fflush(outfp); - - bytes_read=read(infd, buffer, buflen); - buffer[bytes_read > 0 ? (bytes_read -1) : 0] = '\0'; - - /* print a new line if needed */ -#ifdef HAVE_TERMIOS_H - fputs("\n", outfp); -#else -# ifdef HAVE_TERMIO_H - fputs("\n", outfp); -# else -# endif -#endif - - /* - * reset term charectaristics, use TCSAFLUSH incase the - * user types more than buflen - */ -#ifdef HAVE_TERMIOS_H - if(tcsetattr(outfd, TCSAFLUSH, &orig) != 0) - { - ; /*perror("tcgetattr");*/ - } -#else -# ifdef HAVE_TERMIO_H - if(ioctl(outfd, TCSETA, &orig) != 0) - { - ; /*perror("ioctl");*/ - } -# else -# endif -#endif - - signal(SIGINT, sigint); -#ifndef __EMX__ - signal(SIGTSTP, sigtstp); -#endif - - return buffer; /* we always return success */ -} -#endif /* VMS */ -#else /* WIN32 */ -#include <stdio.h> -#include <conio.h> -char *getpass_r(const char *prompt, char *buffer, int buflen) -{ - int i; - printf("%s", prompt); - - for(i=0; i<buflen; i++) { - buffer[i] = getch(); - if ( buffer[i] == '\r' ) { - buffer[i] = 0; - break; - } - } - /* if user didn't hit ENTER, terminate buffer */ - if (i==buflen) - buffer[buflen-1]=0; - - return buffer; /* we always return success */ -} -#endif - -#endif /* ifndef HAVE_GETPASS_R */ - -#if 0 -/* for consistensy, here's the old-style function: */ -char *getpass(const char *prompt) -{ - static char buf[256]; - return getpass_r(prompt, buf, sizeof(buf)); -} -#endif - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/getpass.h b/Build/source/libs/curl/lib/getpass.h deleted file mode 100644 index 31928dbde38..00000000000 --- a/Build/source/libs/curl/lib/getpass.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef __GETPASS_H -#define __GETPASS_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: getpass.h,v 1.8 2001/08/14 08:27:07 bagder Exp $ - *****************************************************************************/ -#ifndef HAVE_GETPASS_R -/* If there's a system-provided function named like this, we trust it is - also found in one of the standard headers. */ - -/* - * Returning NULL will abort the continued operation! - */ -char* getpass_r(const char *prompt, char* buffer, size_t buflen ); -#endif - -#endif diff --git a/Build/source/libs/curl/lib/hash.c b/Build/source/libs/curl/lib/hash.c deleted file mode 100644 index e10b6574593..00000000000 --- a/Build/source/libs/curl/lib/hash.c +++ /dev/null @@ -1,285 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2002, Daniel Stenberg, <daniel@haxx.se>, et al - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: hash.c,v 1.5 2002/02/17 14:55:35 bagder Exp $ - *****************************************************************************/ - -#include "setup.h" - -#include <string.h> -#include <stdlib.h> -#include "hash.h" -#include "llist.h" - -#ifdef MALLOCDEBUG -/* this must be the last include file */ -#include "memdebug.h" -#endif - - -static unsigned long -curl_hash_str(const char *key, unsigned int key_length) -{ - register unsigned long h = 0; - register unsigned long g; - register char *p = (char *) key; - register char *end = (char *) key + key_length; - - while (p < end) { - h = (h << 4) + *p++; - if ((g = (h & 0xF0000000))) { - h = h ^ (g >> 24); - h = h ^ g; - } - } - - return h; -} - -static unsigned long -curl_hash_num(unsigned long key) -{ - key += ~(key << 15); - key ^= (key >> 10); - key += (key << 3); - key ^= (key >> 6); - key += (key << 11); - key ^= (key >> 16); - - return key; -} - -static void -hash_element_dtor(void *u, void *ele) -{ - curl_hash_element *e = (curl_hash_element *) ele; - curl_hash *h = (curl_hash *) u; - - if (e->key.type == CURL_HASH_KEY_IS_STRING) { - free(e->key.value.str.val); - } - h->dtor(e->ptr); - - free(e); - e = NULL; -} - -void -curl_hash_init(curl_hash *h, int slots, curl_hash_dtor dtor) -{ - int i; - - h->dtor = dtor; - h->size = 0; - h->slots = slots; - - h->table = (curl_llist **) malloc(slots * sizeof(curl_llist *)); - for (i = 0; i < h->slots; ++i) { - h->table[i] = curl_llist_alloc((curl_llist_dtor) hash_element_dtor); - } -} - -curl_hash * -curl_hash_alloc(int slots, curl_hash_dtor dtor) -{ - curl_hash *h; - - h = (curl_hash *)malloc(sizeof(curl_hash)); - if(NULL == h) - return NULL; - - curl_hash_init(h, slots, dtor); - - return h; -} - -#define FIND_SLOT(__h, __s_key, __s_key_len, __n_key) \ - ((__s_key ? curl_hash_str(__s_key, __s_key_len) : curl_hash_num(__n_key)) % (__h)->slots) - -#define KEY_CREATE(__k, __s_key, __s_key_len, __n_key, __dup) \ - if (__s_key) { \ - if (__dup) { \ - (__k)->value.str.val = (char *) malloc(__s_key_len); \ - memcpy((__k)->value.str.val, __s_key, __s_key_len); \ - } else { \ - (__k)->value.str.val = __s_key; \ - } \ - (__k)->value.str.len = __s_key_len; \ - (__k)->type = CURL_HASH_KEY_IS_STRING; \ - } else { \ - (__k)->value.num = __n_key; \ - (__k)->type = CURL_HASH_KEY_IS_NUM; \ - } - -#define MIN(a, b) (a > b ? b : a) - -static int -curl_hash_key_compare(curl_hash_key *key1, curl_hash_key *key2) -{ - if (key1->type == CURL_HASH_KEY_IS_NUM) { - if (key2->type == CURL_HASH_KEY_IS_STRING) - return 0; - - if (key1->value.num == key2->value.num) - return 1; - } else { - if (key2->type == CURL_HASH_KEY_IS_NUM) - return 0; - - if (memcmp(key1->value.str.val, key2->value.str.val, - MIN(key1->value.str.len, key2->value.str.len)) == 0) - return 1; - } - - return 0; -} - -int -curl_hash_add_or_update(curl_hash *h, char *str_key, unsigned int str_key_len, - unsigned long num_key, const void *p) -{ - curl_hash_element *e; - curl_hash_key tmp; - curl_llist *l; - curl_llist_element *le; - int slot; - - slot = FIND_SLOT(h, str_key, str_key_len, num_key); - l = h->table[slot]; - KEY_CREATE(&tmp, str_key, str_key_len, num_key, 0); - for (le = CURL_LLIST_HEAD(l); le != NULL; le = CURL_LLIST_NEXT(le)) { - if (curl_hash_key_compare(&tmp, &((curl_hash_element *) CURL_LLIST_VALP(le))->key)) { - curl_hash_element *to_update = CURL_LLIST_VALP(le); - h->dtor(to_update->ptr); - to_update->ptr = (void *) p; - return 1; - } - } - - e = (curl_hash_element *) malloc(sizeof(curl_hash_element)); - KEY_CREATE(&e->key, str_key, str_key_len, num_key, 1); - e->ptr = (void *) p; - - if (curl_llist_insert_next(l, CURL_LLIST_TAIL(l), e)) { - ++h->size; - return 1; - } else { - return 0; - } -} - -int -curl_hash_extended_delete(curl_hash *h, char *str_key, unsigned int str_key_len, - unsigned long num_key) -{ - curl_llist *l; - curl_llist_element *le; - curl_hash_key tmp; - int slot; - - slot = FIND_SLOT(h, str_key, str_key_len, num_key); - l = h->table[slot]; - - KEY_CREATE(&tmp, str_key, str_key_len, num_key, 0); - for (le = CURL_LLIST_HEAD(l); le != NULL; le = CURL_LLIST_NEXT(le)) { - if (curl_hash_key_compare(&tmp, &((curl_hash_element *) CURL_LLIST_VALP(le))->key)) { - curl_llist_remove(l, le, (void *) h); - --h->size; - return 1; - } - } - - return 0; -} - -int -curl_hash_extended_find(curl_hash *h, char *str_key, unsigned int str_key_len, - unsigned long num_key, void **p) -{ - curl_llist *l; - curl_llist_element *le; - curl_hash_key tmp; - int slot; - - slot = FIND_SLOT(h, str_key, str_key_len, num_key); - l = h->table[slot]; - - KEY_CREATE(&tmp, str_key, str_key_len, num_key, 0); - for (le = CURL_LLIST_HEAD(l); le != NULL; le = CURL_LLIST_NEXT(le)) { - if (curl_hash_key_compare(&tmp, &((curl_hash_element *) CURL_LLIST_VALP(le))->key)) { - *p = ((curl_hash_element *) CURL_LLIST_VALP(le))->ptr; - return 1; - } - } - - return 0; -} - -void -curl_hash_apply(curl_hash *h, void *user, void (*cb)(void *, curl_hash_element *)) -{ - curl_llist_element *le; - int i; - - for (i = 0; i < h->slots; ++i) { - for (le = CURL_LLIST_HEAD(h->table[i]); le != NULL; le = CURL_LLIST_NEXT(le)) { - cb(user, (curl_hash_element *) CURL_LLIST_VALP(le)); - } - } -} - -void -curl_hash_clean(curl_hash *h) -{ - int i; - - for (i = 0; i < h->slots; ++i) { - curl_llist_destroy(h->table[i], (void *) h); - } - - free(h->table); - h->table = NULL; -} - -size_t -curl_hash_count(curl_hash *h) -{ - return h->size; -} - -void -curl_hash_destroy(curl_hash *h) -{ - if (!h) { - return; - } - - curl_hash_clean(h); - free(h); - h = NULL; -} - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/hash.h b/Build/source/libs/curl/lib/hash.h deleted file mode 100644 index 4fcf55b96c8..00000000000 --- a/Build/source/libs/curl/lib/hash.h +++ /dev/null @@ -1,85 +0,0 @@ -#ifndef __HASH_H -#define __HASH_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: hash.h,v 1.3 2002/01/14 05:36:28 bumblebury Exp $ - *****************************************************************************/ - -#include "setup.h" - -#include <stddef.h> - -#include "llist.h" - -#define CURL_HASH_KEY_IS_STRING 0 -#define CURL_HASH_KEY_IS_NUM 1 - -typedef void (*curl_hash_dtor)(void *); - -typedef struct _curl_hash { - curl_llist **table; - curl_hash_dtor dtor; - int slots; - size_t size; -} curl_hash; - -typedef struct _curl_hash_key { - union { - struct { - char *val; - unsigned int len; - } str; - - unsigned long num; - } value; - - int type; -} curl_hash_key; - -typedef struct _curl_hash_element { - curl_hash_key key; - void *ptr; -} curl_hash_element; - - -void curl_hash_init(curl_hash *h, int slots, curl_hash_dtor dtor); -curl_hash *curl_hash_alloc(int slots, curl_hash_dtor dtor); -int curl_hash_add_or_update(curl_hash *h, char *str_key, unsigned int str_key_len, - unsigned long num_key, const void *p); -int curl_hash_extended_delete(curl_hash *h, char *str_key, unsigned int str_key_len, - unsigned long num_key); -int curl_hash_extended_find(curl_hash *h, char *str_key, unsigned int str_key_len, - unsigned long num_key, void **p); -void curl_hash_apply(curl_hash *h, void *user, void (*cb)(void *, curl_hash_element *)); -size_t curl_hash_count(curl_hash *h); -void curl_hash_clean(curl_hash *h); -void curl_hash_destroy(curl_hash *h); - -#define curl_hash_find(h, key, key_len, p) curl_hash_extended_find(h, key, key_len, 0, p) -#define curl_hash_delete(h, key, key_len) curl_hash_extended_delete(h, key, key_len, 0) -#define curl_hash_add(h, key, key_len, p) curl_hash_add_or_update(h, key, key_len, 0, p) -#define curl_hash_update curl_hash_add -#define curl_hash_index_find(h, key, p) curl_hash_extended_find(h, NULL, 0, key, p) -#define curl_hash_index_delete(h, key) curl_hash_extended_delete(h, NULL, 0, key) -#define curl_hash_index_add(h, key, p) curl_hash_add_or_update(h, NULL, 0, key, p) -#define curl_hash_index_update curl_hash_index_add - -#endif diff --git a/Build/source/libs/curl/lib/hostip.c b/Build/source/libs/curl/lib/hostip.c deleted file mode 100644 index ec6bc195744..00000000000 --- a/Build/source/libs/curl/lib/hostip.c +++ /dev/null @@ -1,530 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2001, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: hostip.c,v 1.53 2002/02/20 13:46:55 bagder Exp $ - *****************************************************************************/ - -#include "setup.h" - -#include <string.h> -#include <errno.h> - -#define _REENTRANT - -#if defined(WIN32) && !defined(__GNUC__) || defined(__MINGW32__) -#include <winsock.h> -#include <malloc.h> -#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_NETDB_H -#include <netdb.h> -#endif -#ifdef HAVE_ARPA_INET_H -#include <arpa/inet.h> -#endif -#ifdef HAVE_STDLIB_H -#include <stdlib.h> /* required for free() prototypes */ -#endif -#ifdef VMS -#include <in.h> -#include <inet.h> -#include <stdlib.h> -#endif -#endif - -#include "urldata.h" -#include "sendf.h" -#include "hostip.h" -#include "hash.h" - -#define _MPRINTF_REPLACE /* use our functions only */ -#include <curl/mprintf.h> - -#if defined(HAVE_INET_NTOA_R) && !defined(HAVE_INET_NTOA_R_DECL) -#include "inet_ntoa_r.h" -#endif - -/* The last #include file should be: */ -#ifdef MALLOCDEBUG -#include "memdebug.h" -#endif - -static curl_hash hostname_cache; -static int host_cache_initialized; - -void Curl_global_host_cache_init(void) -{ - if (!host_cache_initialized) { - curl_hash_init(&hostname_cache, 7, Curl_freeaddrinfo); - host_cache_initialized = 1; - } -} - -curl_hash *Curl_global_host_cache_get(void) -{ - return &hostname_cache; -} - -void Curl_global_host_cache_dtor(void) -{ - if (host_cache_initialized) { - curl_hash_clean(&hostname_cache); - host_cache_initialized = 0; - } -} - -struct curl_dns_cache_entry { - Curl_addrinfo *addr; - time_t timestamp; -}; - -/* count the number of characters that an integer takes up */ -static int _num_chars(int i) -{ - int chars = 0; - - /* While the number divided by 10 is greater than one, - * re-divide the number by 10, and increment the number of - * characters by 1. - * - * this relies on the fact that for every multiple of 10, - * a new digit is added onto every number - */ - do { - chars++; - - i = (int) i / 10; - } while (i >= 1); - - return chars; -} - -/* Create a hostcache id */ -static char * -_create_hostcache_id(char *server, int port, ssize_t *entry_len) -{ - char *id = NULL; - - /* Get the length of the new entry id */ - *entry_len = *entry_len + /* Hostname length */ - 1 + /* The ':' seperator */ - _num_chars(port); /* The number of characters the port will take up */ - - /* Allocate the new entry id */ - id = malloc(*entry_len + 1); - if (!id) { - return NULL; - } - - /* Create the new entry */ - /* If sprintf() doesn't return the entry length, that signals failure */ - if (sprintf(id, "%s:%d", server, port) != *entry_len) { - /* Free the allocated id, set length to zero and return NULL */ - *entry_len = 0; - free(id); - return NULL; - } - - return id; -} - -/* Macro to save redundant free'ing of entry_id */ -#define _hostcache_return(__v) \ -{ \ - free(entry_id); \ - return (__v); \ -} - -Curl_addrinfo *Curl_resolv(struct SessionHandle *data, - char *hostname, - int port, - char **bufp) -{ - char *entry_id = NULL; - struct curl_dns_cache_entry *p = NULL; - ssize_t entry_len; - time_t now; - - /* If the host cache timeout is 0, we don't do DNS cach'ing - so fall through */ - if (data->set.dns_cache_timeout == 0) { - return Curl_getaddrinfo(data, hostname, port, bufp); - } - - /* Create an entry id, based upon the hostname and port */ - entry_len = strlen(hostname); - entry_id = _create_hostcache_id(hostname, port, &entry_len); - /* If we can't create the entry id, don't cache, just fall-through - to the plain Curl_getaddrinfo() */ - if (!entry_id) { - return Curl_getaddrinfo(data, hostname, port, bufp); - } - - time(&now); - /* See if its already in our dns cache */ - if (entry_id && curl_hash_find(data->hostcache, entry_id, entry_len+1, (void **) &p)) { - /* Do we need to check for a cache timeout? */ - if (data->set.dns_cache_timeout != -1) { - /* Return if the entry has not timed out */ - if ((now - p->timestamp) < data->set.dns_cache_timeout) { - _hostcache_return(p->addr); - } - } - else { - _hostcache_return(p->addr); - } - } - - /* Create a new cache entry */ - p = (struct curl_dns_cache_entry *) malloc(sizeof(struct curl_dns_cache_entry)); - if (!p) { - _hostcache_return(NULL); - } - - p->addr = Curl_getaddrinfo(data, hostname, port, bufp); - if (!p->addr) { - free(p); - _hostcache_return(NULL); - } - p->timestamp = now; - - /* Save it in our host cache */ - curl_hash_update(data->hostcache, entry_id, entry_len+1, (const void *) p); - - _hostcache_return(p->addr); -} - -/* - * This is a wrapper function for freeing name information in a protocol - * independent way. This takes care of using the appropriate underlaying - * proper function. - */ -void Curl_freeaddrinfo(void *freethis) -{ - struct curl_dns_cache_entry *p = (struct curl_dns_cache_entry *) freethis; - -#ifdef ENABLE_IPV6 - freeaddrinfo(p->addr); -#else - free(p->addr); -#endif - - free(p); -} - -/* --- resolve name or IP-number --- */ - -#ifdef ENABLE_IPV6 - -#ifdef MALLOCDEBUG -/* These two are strictly for memory tracing and are using the same - * style as the family otherwise present in memdebug.c. I put these ones - * here since they require a bunch of struct types I didn't wanna include - * in memdebug.c - */ -int curl_getaddrinfo(char *hostname, char *service, - struct addrinfo *hints, - struct addrinfo **result, - int line, const char *source) -{ - int res=(getaddrinfo)(hostname, service, hints, result); - if(0 == res) { - /* success */ - if(logfile) - fprintf(logfile, "ADDR %s:%d getaddrinfo() = %p\n", - source, line, (void *)*result); - } - else { - if(logfile) - fprintf(logfile, "ADDR %s:%d getaddrinfo() failed\n", - source, line); - } - return res; -} - -void curl_freeaddrinfo(struct addrinfo *freethis, - int line, const char *source) -{ - (freeaddrinfo)(freethis); - if(logfile) - fprintf(logfile, "ADDR %s:%d freeaddrinfo(%p)\n", - source, line, (void *)freethis); -} - -#endif - -/* - * Return name information about the given hostname and port number. If - * successful, the 'addrinfo' is returned and the forth argument will point to - * memory we need to free after use. That meory *MUST* be freed with - * Curl_freeaddrinfo(), nothing else. - */ -Curl_addrinfo *Curl_getaddrinfo(struct SessionHandle *data, - char *hostname, - int port, - char **bufp) -{ - struct addrinfo hints, *res; - int error; - char sbuf[NI_MAXSERV]; - - memset(&hints, 0, sizeof(hints)); - hints.ai_family = PF_INET; - hints.ai_socktype = SOCK_STREAM; - hints.ai_flags = AI_CANONNAME; - snprintf(sbuf, sizeof(sbuf), "%d", port); - error = getaddrinfo(hostname, sbuf, &hints, &res); - if (error) { - infof(data, "getaddrinfo(3) failed for %s\n", hostname); - return NULL; - } - *bufp=(char *)res; /* make it point to the result struct */ - - return res; -} -#else /* following code is IPv4-only */ - -#ifndef HAVE_GETHOSTBYNAME_R -/** - * Performs a "deep" copy of a hostent into a buffer (returns a pointer to the - * copy). Make absolutely sure the destination buffer is big enough! - * - * Keith McGuigan - * 10/3/2001 */ -static struct hostent* pack_hostent(char* buf, struct hostent* orig) -{ - char* bufptr; - struct hostent* copy; - - int i; - char* str; - int len; - - bufptr = buf; - copy = (struct hostent*)bufptr; - - bufptr += sizeof(struct hostent); - copy->h_name = bufptr; - len = strlen(orig->h_name) + 1; - strncpy(bufptr, orig->h_name, len); - bufptr += len; - - /* we align on even 64bit boundaries for safety */ -#define MEMALIGN(x) (((unsigned long)(x)&0xfffffff8)+8) - - /* This must be aligned properly to work on many CPU architectures! */ - copy->h_aliases = (char**)MEMALIGN(bufptr); - - /* Figure out how many aliases there are */ - for (i = 0; orig->h_aliases[i] != NULL; ++i); - - /* Reserve room for the array */ - bufptr += (i + 1) * sizeof(char*); - - /* Clone all known aliases */ - for(i = 0; (str = orig->h_aliases[i]); i++) { - len = strlen(str) + 1; - strncpy(bufptr, str, len); - copy->h_aliases[i] = bufptr; - bufptr += len; - } - /* Terminate the alias list with a NULL */ - copy->h_aliases[i] = NULL; - - copy->h_addrtype = orig->h_addrtype; - copy->h_length = orig->h_length; - - /* align it for (at least) 32bit accesses */ - bufptr = (char *)MEMALIGN(bufptr); - - copy->h_addr_list = (char**)bufptr; - - /* Figure out how many addresses there are */ - for (i = 0; orig->h_addr_list[i] != NULL; ++i); - - /* Reserve room for the array */ - bufptr += (i + 1) * sizeof(char*); - - i = 0; - len = orig->h_length; - str = orig->h_addr_list[i]; - while (str != NULL) { - memcpy(bufptr, str, len); - copy->h_addr_list[i] = bufptr; - bufptr += len; - str = orig->h_addr_list[++i]; - } - copy->h_addr_list[i] = NULL; - - return copy; -} -#endif - -static char *MakeIP(unsigned long num,char *addr, int addr_len) -{ -#if defined(HAVE_INET_NTOA) || defined(HAVE_INET_NTOA_R) - struct in_addr in; - in.s_addr = htonl(num); - -#if defined(HAVE_INET_NTOA_R) - inet_ntoa_r(in,addr,addr_len); -#else - strncpy(addr,inet_ntoa(in),addr_len); -#endif -#else - unsigned char *paddr; - - num = htonl(num); /* htonl() added to avoid endian probs */ - paddr = (unsigned char *)# - sprintf(addr, "%u.%u.%u.%u", paddr[0], paddr[1], paddr[2], paddr[3]); -#endif - return (addr); -} - -/* The original code to this function was once stolen from the Dancer source - code, written by Bjorn Reese, it has since been patched and modified - considerably. */ - -#ifndef INADDR_NONE -#define INADDR_NONE (in_addr_t) ~0 -#endif - -Curl_addrinfo *Curl_getaddrinfo(struct SessionHandle *data, - char *hostname, - int port, - char **bufp) -{ - struct hostent *h = NULL; - in_addr_t in; - int ret; /* this variable is unused on several platforms but used on some */ - -#define CURL_NAMELOOKUP_SIZE 9000 - /* Allocate enough memory to hold the full name information structs and - * everything. OSF1 is known to require at least 8872 bytes. The buffer - * required for storing all possible aliases and IP numbers is according to - * Stevens' Unix Network Programming 2nd editor, p. 304: 8192 bytes! */ - int *buf = (int *)malloc(CURL_NAMELOOKUP_SIZE); - if(!buf) - return NULL; /* major failure */ - *bufp = (char *)buf; - - port=0; /* unused in IPv4 code */ - ret = 0; /* to prevent the compiler warning */ - - if ( (in=inet_addr(hostname)) != INADDR_NONE ) { - struct in_addr *addrentry; - - h = (struct hostent*)buf; - h->h_addr_list = (char**)(buf + sizeof(*h)); - addrentry = (struct in_addr*)(h->h_addr_list + 2); - addrentry->s_addr = in; - h->h_addr_list[0] = (char*)addrentry; - h->h_addr_list[1] = NULL; - h->h_addrtype = AF_INET; - h->h_length = sizeof(*addrentry); - h->h_name = *(h->h_addr_list) + h->h_length; - /* bad one h->h_name = (char*)(h->h_addr_list + h->h_length); */ - MakeIP(ntohl(in),h->h_name, CURL_NAMELOOKUP_SIZE - (long)(h->h_name) + (long)buf); - } -#if defined(HAVE_GETHOSTBYNAME_R) - else { - int h_errnop; - /* Workaround for gethostbyname_r bug in qnx nto. It is also _required_ - for some of these functions. */ - memset(buf, 0, CURL_NAMELOOKUP_SIZE); -#ifdef HAVE_GETHOSTBYNAME_R_5 - /* Solaris, IRIX and more */ - if ((h = gethostbyname_r(hostname, - (struct hostent *)buf, - (char *)buf + sizeof(struct hostent), - CURL_NAMELOOKUP_SIZE - sizeof(struct hostent), - &h_errnop)) == NULL ) -#endif -#ifdef HAVE_GETHOSTBYNAME_R_6 - /* Linux */ - if( gethostbyname_r(hostname, - (struct hostent *)buf, - (char *)buf + sizeof(struct hostent), - CURL_NAMELOOKUP_SIZE - sizeof(struct hostent), - &h, /* DIFFERENCE */ - &h_errnop)) -#endif -#ifdef HAVE_GETHOSTBYNAME_R_3 - /* AIX, Digital Unix, HPUX 10, more? */ - - if(CURL_NAMELOOKUP_SIZE >= - (sizeof(struct hostent)+sizeof(struct hostent_data))) - - /* August 22nd, 2000: Albert Chin-A-Young brought an updated version - * that should work! September 20: Richard Prescott worked on the buffer - * size dilemma. */ - - ret = gethostbyname_r(hostname, - (struct hostent *)buf, - (struct hostent_data *)(buf + sizeof(struct hostent))); - else - ret = -1; /* failure, too smallish buffer size */ - - /* result expected in h */ - h = (struct hostent*)buf; - h_errnop= errno; /* we don't deal with this, but set it anyway */ - if(ret) -#endif - { - infof(data, "gethostbyname_r(2) failed for %s\n", hostname); - h = NULL; /* set return code to NULL */ - free(buf); - *bufp=NULL; - } -#else - else { - if ((h = gethostbyname(hostname)) == NULL ) { - infof(data, "gethostbyname(2) failed for %s\n", hostname); - free(buf); - *bufp=NULL; - } - else - /* we make a copy of the hostent right now, right here, as the - static one we got a pointer to might get removed when we don't - want/expect that */ - h = pack_hostent((char *)buf, h); -#endif - } - return (h); -} - -#endif /* end of IPv4-specific code */ - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ - diff --git a/Build/source/libs/curl/lib/hostip.h b/Build/source/libs/curl/lib/hostip.h deleted file mode 100644 index 9bf4ad1b79a..00000000000 --- a/Build/source/libs/curl/lib/hostip.h +++ /dev/null @@ -1,60 +0,0 @@ -#ifndef __HOSTIP_H -#define __HOSTIP_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: hostip.h,v 1.14 2002/01/07 20:52:32 bumblebury Exp $ - *****************************************************************************/ - -#include "hash.h" - -struct addrinfo; -struct hostent; -struct SessionHandle; - -void Curl_global_host_cache_init(void); -void Curl_global_host_cache_dtor(void); -curl_hash *Curl_global_host_cache_get(void); - -#define Curl_global_host_cache_use(__p) ((__p)->set.global_dns_cache) - -Curl_addrinfo *Curl_resolv(struct SessionHandle *data, - char *hostname, - int port, - char **bufp); - -/* Get name info */ -Curl_addrinfo *Curl_getaddrinfo(struct SessionHandle *data, - char *hostname, - int port, - char **bufp); -/* free name info */ -void Curl_freeaddrinfo(void *freethis); - -#ifdef MALLOCDEBUG -void curl_freeaddrinfo(struct addrinfo *freethis, - int line, const char *source); -int curl_getaddrinfo(char *hostname, char *service, - struct addrinfo *hints, - struct addrinfo **result, - int line, const char *source); -#endif - -#endif diff --git a/Build/source/libs/curl/lib/http.c b/Build/source/libs/curl/lib/http.c deleted file mode 100644 index e30ff4ff762..00000000000 --- a/Build/source/libs/curl/lib/http.c +++ /dev/null @@ -1,985 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: http.c,v 1.90 2002/02/18 22:41:52 bagder Exp $ - *****************************************************************************/ - -#include "setup.h" - -/* -- WIN32 approved -- */ -#include <stdio.h> -#include <string.h> -#include <stdarg.h> -#include <stdlib.h> -#include <ctype.h> -#include <sys/types.h> -#include <sys/stat.h> - -#include <errno.h> - -#if defined(WIN32) && !defined(__GNUC__) || defined(__MINGW32__) -#include <winsock.h> -#include <time.h> -#include <io.h> -#else -#ifdef HAVE_SYS_SOCKET_H -#include <sys/socket.h> -#endif -#ifdef HAVE_NETINET_IN_H -#include <netinet/in.h> -#endif -#include <sys/time.h> - -#ifdef HAVE_TIME_H -#ifdef TIME_WITH_SYS_TIME -#include <time.h> -#endif -#endif - -#include <sys/resource.h> -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif -#include <netdb.h> -#ifdef HAVE_ARPA_INET_H -#include <arpa/inet.h> -#endif -#ifdef HAVE_NET_IF_H -#include <net/if.h> -#endif -#include <sys/ioctl.h> -#include <signal.h> - -#ifdef HAVE_SYS_PARAM_H -#include <sys/param.h> -#endif - -#ifdef HAVE_SYS_SELECT_H -#include <sys/select.h> -#endif - - -#endif - -#include "urldata.h" -#include <curl/curl.h> -#include "transfer.h" -#include "sendf.h" -#include "formdata.h" -#include "progress.h" -#include "base64.h" -#include "cookie.h" -#include "strequal.h" -#include "ssluse.h" - -#define _MPRINTF_REPLACE /* use our functions only */ -#include <curl/mprintf.h> - -/* The last #include file should be: */ -#ifdef MALLOCDEBUG -#include "memdebug.h" -#endif - -/* ------------------------------------------------------------------------- */ -/* - * The add_buffer series of functions are used to build one large memory chunk - * from repeated function invokes. Used so that the entire HTTP request can - * be sent in one go. - */ -static CURLcode - add_buffer(send_buffer *in, const void *inptr, size_t size); - -/* - * add_buffer_init() returns a fine buffer struct - */ -static -send_buffer *add_buffer_init(void) -{ - send_buffer *blonk; - blonk=(send_buffer *)malloc(sizeof(send_buffer)); - if(blonk) { - memset(blonk, 0, sizeof(send_buffer)); - return blonk; - } - return NULL; /* failed, go home */ -} - -/* - * add_buffer_send() sends a buffer and frees all associated memory. - */ -static -CURLcode add_buffer_send(int sockfd, struct connectdata *conn, send_buffer *in, - long *bytes_written) -{ - ssize_t amount; - CURLcode res; - char *ptr; - int size; - - if(conn->data->set.verbose) { - fputs("> ", conn->data->set.err); - /* this data _may_ contain binary stuff */ - fwrite(in->buffer, in->size_used, 1, conn->data->set.err); - } - - /* The looping below is required since we use non-blocking sockets, but due - to the circumstances we will just loop and try again and again etc */ - - ptr = in->buffer; - size = in->size_used; - do { - res = Curl_write(conn, sockfd, ptr, size, &amount); - - if(CURLE_OK != res) - break; - - if(amount != size) { - size -= amount; - ptr += amount; - } - else - break; - - } while(1); - - if(in->buffer) - free(in->buffer); - free(in); - - *bytes_written = amount; - - return res; -} - - -/* - * add_bufferf() builds a buffer from the formatted input - */ -static -CURLcode add_bufferf(send_buffer *in, const char *fmt, ...) -{ - CURLcode result = CURLE_OUT_OF_MEMORY; - char *s; - va_list ap; - va_start(ap, fmt); - s = vaprintf(fmt, ap); /* this allocs a new string to append */ - va_end(ap); - - if(s) { - result = add_buffer(in, s, strlen(s)); - free(s); - } - return result; -} - -/* - * add_buffer() appends a memory chunk to the existing one - */ -static -CURLcode add_buffer(send_buffer *in, const void *inptr, size_t size) -{ - char *new_rb; - int new_size; - - if(!in->buffer || - ((in->size_used + size) > (in->size_max - 1))) { - new_size = (in->size_used+size)*2; - if(in->buffer) - /* we have a buffer, enlarge the existing one */ - new_rb = (char *)realloc(in->buffer, new_size); - else - /* create a new buffer */ - new_rb = (char *)malloc(new_size); - - if(!new_rb) - return CURLE_OUT_OF_MEMORY; - - in->buffer = new_rb; - in->size_max = new_size; - } - memcpy(&in->buffer[in->size_used], inptr, size); - - in->size_used += size; - - return CURLE_OK; -} - -/* end of the add_buffer functions */ -/* ------------------------------------------------------------------------- */ - -/* - * This function checks the linked list of custom HTTP headers for a particular - * header (prefix). - */ -static bool checkheaders(struct SessionHandle *data, const char *thisheader) -{ - struct curl_slist *head; - size_t thislen = strlen(thisheader); - - for(head = data->set.headers; head; head=head->next) { - if(strnequal(head->data, thisheader, thislen)) { - return TRUE; - } - } - return FALSE; -} - -/* - * ConnectHTTPProxyTunnel() requires that we're connected to a HTTP proxy. This - * function will issue the necessary commands to get a seamless tunnel through - * this proxy. After that, the socket can be used just as a normal socket. - */ - -CURLcode Curl_ConnectHTTPProxyTunnel(struct connectdata *conn, - int tunnelsocket, - char *hostname, int remote_port) -{ - int httperror=0; - int subversion=0; - struct SessionHandle *data=conn->data; - CURLcode result; - int res; - - int nread; /* total size read */ - int perline; /* count bytes per line */ - bool keepon=TRUE; - ssize_t gotbytes; - char *ptr; - int timeout = 3600; /* default timeout in seconds */ - struct timeval interval; - fd_set rkeepfd; - fd_set readfd; - char *line_start; - -#define SELECT_OK 0 -#define SELECT_ERROR 1 -#define SELECT_TIMEOUT 2 - int error = SELECT_OK; - - infof(data, "Establish HTTP proxy tunnel to %s:%d\n", hostname, remote_port); - - /* OK, now send the connect request to the proxy */ - result = - Curl_sendf(tunnelsocket, conn, - "CONNECT %s:%d HTTP/1.0\015\012" - "%s" - "%s" - "\r\n", - hostname, remote_port, - (conn->bits.proxy_user_passwd)?conn->allocptr.proxyuserpwd:"", - (data->set.useragent?conn->allocptr.uagent:"") - ); - if(result) { - failf(data, "Failed sending CONNECT to proxy"); - return result; - } - - /* Now, read the full reply we get from the proxy */ - - - if(data->set.timeout) { - /* if timeout is requested, find out how much remaining time we have */ - timeout = data->set.timeout - /* timeout time */ - Curl_tvdiff(Curl_tvnow(), conn->now)/1000; /* spent time */ - if(timeout <=0 ) { - failf(data, "Transfer aborted due to timeout"); - return -SELECT_TIMEOUT; /* already too little time */ - } - } - - FD_ZERO (&readfd); /* clear it */ - FD_SET (tunnelsocket, &readfd); /* read socket */ - - /* get this in a backup variable to be able to restore it on each lap in the - select() loop */ - rkeepfd = readfd; - - ptr=data->state.buffer; - line_start = ptr; - - nread=0; - perline=0; - keepon=TRUE; - - while((nread<BUFSIZE) && (keepon && !error)) { - readfd = rkeepfd; /* set every lap */ - interval.tv_sec = timeout; - interval.tv_usec = 0; - - switch (select (tunnelsocket+1, &readfd, NULL, NULL, &interval)) { - case -1: /* select() error, stop reading */ - error = SELECT_ERROR; - failf(data, "Transfer aborted due to select() error"); - break; - case 0: /* timeout */ - error = SELECT_TIMEOUT; - failf(data, "Transfer aborted due to timeout"); - break; - default: - /* - * This code previously didn't use the kerberos sec_read() code - * to read, but when we use Curl_read() it may do so. Do confirm - * that this is still ok and then remove this comment! - */ - res= Curl_read(conn, tunnelsocket, ptr, BUFSIZE-nread, - &gotbytes); - if(res< 0) - /* EWOULDBLOCK */ - continue; /* go loop yourself */ - else if(res) - keepon = FALSE; - else if(gotbytes <= 0) { - keepon = FALSE; - error = SELECT_ERROR; - failf(data, "Connection aborted"); - } - else { - /* we got a whole chunk of data, which can be anything from one - * byte to a set of lines and possibly just a piece of the last - * line */ - int i; - - nread += gotbytes; - for(i = 0; i < gotbytes; ptr++, i++) { - perline++; /* amount of bytes in this line so far */ - if(*ptr=='\n') { - /* a newline is CRLF in ftp-talk, so the CR is ignored as - the line isn't really terminated until the LF comes */ - - /* output debug output if that is requested */ - if(data->set.verbose) { - fputs("< ", data->set.err); - fwrite(line_start, perline, 1, data->set.err); - /* no need to output LF here, it is part of the data */ - } - - if('\r' == line_start[0]) { - /* end of headers */ - keepon=FALSE; - break; /* breaks out of loop, not switch */ - } - - if(2 == sscanf(line_start, "HTTP/1.%d %d", - &subversion, - &httperror)) { - ; - } - - perline=0; /* line starts over here */ - line_start = ptr+1; - } - } - } - break; - } /* switch */ - } /* while there's buffer left and loop is requested */ - - if(error) - return CURLE_READ_ERROR; - - if(200 != httperror) { - if(407 == httperror) - /* Added Nov 6 1998 */ - failf(data, "Proxy requires authorization!"); - else - failf(data, "Received error code %d from proxy", httperror); - return CURLE_READ_ERROR; - } - - infof (data, "Proxy replied to CONNECT request\n"); - return CURLE_OK; -} - -/* - * HTTP stuff to do at connect-time. - */ -CURLcode Curl_http_connect(struct connectdata *conn) -{ - struct SessionHandle *data; - CURLcode result; - - data=conn->data; - - /* If we are not using a proxy and we want a secure connection, - * perform SSL initialization & connection now. - * If using a proxy with https, then we must tell the proxy to CONNECT - * us to the host we want to talk to. Only after the connect - * has occured, can we start talking SSL - */ - - if(data->change.proxy && - ((conn->protocol & PROT_HTTPS) || data->set.tunnel_thru_httpproxy)) { - - /* either HTTPS over proxy, OR explicitly asked for a tunnel */ - result = Curl_ConnectHTTPProxyTunnel(conn, conn->firstsocket, - conn->hostname, conn->remote_port); - if(CURLE_OK != result) - return result; - } - - if(conn->protocol & PROT_HTTPS) { - /* now, perform the SSL initialization for this socket */ - result = Curl_SSLConnect(conn); - if(result) - return result; - } - - if(conn->bits.user_passwd && !data->state.this_is_a_follow) { - /* Authorization: is requested, this is not a followed location, get the - original host name */ - data->state.auth_host = strdup(conn->hostname); - } - - return CURLE_OK; -} - -CURLcode Curl_http_done(struct connectdata *conn) -{ - struct SessionHandle *data; - long *bytecount = &conn->bytecount; - struct HTTP *http; - - data=conn->data; - http=conn->proto.http; - - if(HTTPREQ_POST_FORM == data->set.httpreq) { - *bytecount = http->readbytecount + http->writebytecount; - - Curl_formclean(http->sendit); /* Now free that whole lot */ - - data->set.fread = http->storefread; /* restore */ - data->set.in = http->in; /* restore */ - } - else if(HTTPREQ_PUT == data->set.httpreq) { - *bytecount = http->readbytecount + http->writebytecount; - } - - if(0 == (http->readbytecount + conn->headerbytecount)) { - /* nothing was read from the HTTP server, this can't be right - so we return an error here */ - failf(data, "Empty reply from server"); - return CURLE_GOT_NOTHING; - } - - return CURLE_OK; -} - - -CURLcode Curl_http(struct connectdata *conn) -{ - struct SessionHandle *data=conn->data; - char *buf = data->state.buffer; /* this is a short cut to the buffer */ - CURLcode result=CURLE_OK; - struct HTTP *http; - struct Cookie *co=NULL; /* no cookies from start */ - char *ppath = conn->ppath; /* three previous function arguments */ - char *host = conn->name; - long *bytecount = &conn->bytecount; - - if(!conn->proto.http) { - /* Only allocate this struct if we don't already have it! */ - - http = (struct HTTP *)malloc(sizeof(struct HTTP)); - if(!http) - return CURLE_OUT_OF_MEMORY; - memset(http, 0, sizeof(struct HTTP)); - conn->proto.http = http; - } - else - http = conn->proto.http; - - /* We default to persistant connections */ - conn->bits.close = FALSE; - - if ( (conn->protocol&(PROT_HTTP|PROT_FTP)) && - data->set.upload) { - data->set.httpreq = HTTPREQ_PUT; - } - - /* The User-Agent string has been built in url.c already, because it might - have been used in the proxy connect, but if we have got a header with - the user-agent string specified, we erase the previously made string - here. */ - if(checkheaders(data, "User-Agent:") && conn->allocptr.uagent) { - free(conn->allocptr.uagent); - conn->allocptr.uagent=NULL; - } - - if((conn->bits.user_passwd) && !checkheaders(data, "Authorization:")) { - char *authorization; - - /* To prevent the user+password to get sent to other than the original - host due to a location-follow, we do some weirdo checks here */ - if(!data->state.this_is_a_follow || - !data->state.auth_host || - strequal(data->state.auth_host, conn->hostname)) { - sprintf(data->state.buffer, "%s:%s", - data->state.user, data->state.passwd); - if(Curl_base64_encode(data->state.buffer, strlen(data->state.buffer), - &authorization) >= 0) { - if(conn->allocptr.userpwd) - free(conn->allocptr.userpwd); - conn->allocptr.userpwd = aprintf( "Authorization: Basic %s\015\012", - authorization); - free(authorization); - } - } - } - if((data->change.referer) && !checkheaders(data, "Referer:")) { - if(conn->allocptr.ref) - free(conn->allocptr.ref); - conn->allocptr.ref = aprintf("Referer: %s\015\012", data->change.referer); - } - if(data->set.cookie && !checkheaders(data, "Cookie:")) { - if(conn->allocptr.cookie) - free(conn->allocptr.cookie); - conn->allocptr.cookie = aprintf("Cookie: %s\015\012", data->set.cookie); - } - - if(data->cookies) { - co = Curl_cookie_getlist(data->cookies, - host, ppath, - conn->protocol&PROT_HTTPS?TRUE:FALSE); - } - if (data->change.proxy && - !data->set.tunnel_thru_httpproxy && - !(conn->protocol&PROT_HTTPS)) { - /* The path sent to the proxy is in fact the entire URL */ - ppath = data->change.url; - } - if(HTTPREQ_POST_FORM == data->set.httpreq) { - /* we must build the whole darned post sequence first, so that we have - a size of the whole shebang before we start to send it */ - http->sendit = Curl_getFormData(data->set.httppost, &http->postsize); - } - - if(!checkheaders(data, "Host:")) { - /* if ptr_host is already set, it is almost OK since we only re-use - connections to the very same host and port, but when we use a HTTP - proxy we have a persistant connect and yet we must change the Host: - header! */ - - if(conn->allocptr.host) - free(conn->allocptr.host); - - if(((conn->protocol&PROT_HTTPS) && (conn->remote_port == PORT_HTTPS)) || - (!(conn->protocol&PROT_HTTPS) && (conn->remote_port == PORT_HTTP)) ) - /* If (HTTPS on port 443) OR (non-HTTPS on port 80) then don't include - the port number in the host string */ - conn->allocptr.host = aprintf("Host: %s\r\n", host); - else - conn->allocptr.host = aprintf("Host: %s:%d\r\n", host, - conn->remote_port); - } - - if(!checkheaders(data, "Pragma:")) - http->p_pragma = "Pragma: no-cache\r\n"; - - if(!checkheaders(data, "Accept:")) - http->p_accept = "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*\r\n"; - - if(( (HTTPREQ_POST == data->set.httpreq) || - (HTTPREQ_POST_FORM == data->set.httpreq) || - (HTTPREQ_PUT == data->set.httpreq) ) && - conn->resume_from) { - /********************************************************************** - * Resuming upload in HTTP means that we PUT or POST and that we have - * got a resume_from value set. The resume value has already created - * a Range: header that will be passed along. We need to "fast forward" - * the file the given number of bytes and decrease the assume upload - * file size before we continue this venture in the dark lands of HTTP. - *********************************************************************/ - - if(conn->resume_from < 0 ) { - /* - * This is meant to get the size of the present remote-file by itself. - * We don't support this now. Bail out! - */ - conn->resume_from = 0; - } - - if(conn->resume_from) { - /* do we still game? */ - int passed=0; - - /* Now, let's read off the proper amount of bytes from the - input. If we knew it was a proper file we could've just - fseek()ed but we only have a stream here */ - do { - int readthisamountnow = (conn->resume_from - passed); - int actuallyread; - - if(readthisamountnow > BUFSIZE) - readthisamountnow = BUFSIZE; - - actuallyread = - data->set.fread(data->state.buffer, 1, readthisamountnow, - data->set.in); - - passed += actuallyread; - if(actuallyread != readthisamountnow) { - failf(data, "Could only read %d bytes from the input", - passed); - return CURLE_READ_ERROR; - } - } while(passed != conn->resume_from); /* loop until done */ - - /* now, decrease the size of the read */ - if(data->set.infilesize>0) { - data->set.infilesize -= conn->resume_from; - - if(data->set.infilesize <= 0) { - failf(data, "File already completely uploaded"); - return CURLE_PARTIAL_FILE; - } - } - /* we've passed, proceed as normal */ - } - } - if(conn->bits.use_range) { - /* - * A range is selected. We use different headers whether we're downloading - * or uploading and we always let customized headers override our internal - * ones if any such are specified. - */ - if((data->set.httpreq == HTTPREQ_GET) && - !checkheaders(data, "Range:")) { - conn->allocptr.rangeline = aprintf("Range: bytes=%s\r\n", conn->range); - } - else if((data->set.httpreq != HTTPREQ_GET) && - !checkheaders(data, "Content-Range:")) { - - if(conn->resume_from) { - /* This is because "resume" was selected */ - long total_expected_size= conn->resume_from + data->set.infilesize; - conn->allocptr.rangeline = aprintf("Content-Range: bytes %s%ld/%ld\r\n", - conn->range, total_expected_size-1, - total_expected_size); - } - else { - /* Range was selected and then we just pass the incoming range and - append total size */ - conn->allocptr.rangeline = aprintf("Content-Range: bytes %s/%d\r\n", - conn->range, data->set.infilesize); - } - } - } - - do { - /* Use 1.1 unless the use specificly asked for 1.0 */ - const char *httpstring= - data->set.httpversion==CURL_HTTP_VERSION_1_0?"1.0":"1.1"; - - send_buffer *req_buffer; - struct curl_slist *headers=data->set.headers; - - /* initialize a dynamic send-buffer */ - req_buffer = add_buffer_init(); - - /* add the main request stuff */ - add_bufferf(req_buffer, - "%s " /* GET/HEAD/POST/PUT */ - "%s HTTP/%s\r\n" /* path */ - "%s" /* proxyuserpwd */ - "%s" /* userpwd */ - "%s" /* range */ - "%s" /* user agent */ - "%s" /* cookie */ - "%s" /* host */ - "%s" /* pragma */ - "%s" /* accept */ - "%s", /* referer */ - - data->set.customrequest?data->set.customrequest: - (data->set.no_body?"HEAD": - ((HTTPREQ_POST == data->set.httpreq) || - (HTTPREQ_POST_FORM == data->set.httpreq))?"POST": - (HTTPREQ_PUT == data->set.httpreq)?"PUT":"GET"), - ppath, httpstring, - (conn->bits.proxy_user_passwd && - conn->allocptr.proxyuserpwd)?conn->allocptr.proxyuserpwd:"", - (conn->bits.user_passwd && conn->allocptr.userpwd)? - conn->allocptr.userpwd:"", - (conn->bits.use_range && conn->allocptr.rangeline)? - conn->allocptr.rangeline:"", - (data->set.useragent && *data->set.useragent && conn->allocptr.uagent)? - conn->allocptr.uagent:"", - (conn->allocptr.cookie?conn->allocptr.cookie:""), /* Cookie: <data> */ - (conn->allocptr.host?conn->allocptr.host:""), /* Host: host */ - http->p_pragma?http->p_pragma:"", - http->p_accept?http->p_accept:"", - (data->change.referer && conn->allocptr.ref)?conn->allocptr.ref:"" /* Referer: <data> <CRLF> */ - ); - - if(co) { - int count=0; - struct Cookie *store=co; - /* now loop through all cookies that matched */ - while(co) { - if(co->value && strlen(co->value)) { - if(0 == count) { - add_bufferf(req_buffer, "Cookie: "); - } - add_bufferf(req_buffer, - "%s%s=%s", count?"; ":"", co->name, co->value); - count++; - } - co = co->next; /* next cookie please */ - } - if(count) { - add_buffer(req_buffer, "\r\n", 2); - } - Curl_cookie_freelist(store); /* free the cookie list */ - co=NULL; - } - - if(data->set.timecondition) { - struct tm *thistime; - - /* Phil Karn (Fri, 13 Apr 2001) pointed out that the If-Modified-Since - * header family should have their times set in GMT as RFC2616 defines: - * "All HTTP date/time stamps MUST be represented in Greenwich Mean Time - * (GMT), without exception. For the purposes of HTTP, GMT is exactly - * equal to UTC (Coordinated Universal Time)." (see page 20 of RFC2616). - */ - -#ifdef HAVE_GMTIME_R - /* thread-safe version */ - struct tm keeptime; - thistime = (struct tm *)gmtime_r(&data->set.timevalue, &keeptime); -#else - thistime = gmtime(&data->set.timevalue); -#endif - if(NULL == thistime) { - failf(data, "localtime() failed!"); - return CURLE_OUT_OF_MEMORY; - } - -#ifdef HAVE_STRFTIME - /* format: "Tue, 15 Nov 1994 12:45:26 GMT" */ - strftime(buf, BUFSIZE-1, "%a, %d %b %Y %H:%M:%S GMT", thistime); -#else - /* TODO: Right, we *could* write a replacement here */ - strcpy(buf, "no strftime() support"); -#endif - switch(data->set.timecondition) { - case TIMECOND_IFMODSINCE: - default: - add_bufferf(req_buffer, - "If-Modified-Since: %s\r\n", buf); - break; - case TIMECOND_IFUNMODSINCE: - add_bufferf(req_buffer, - "If-Unmodified-Since: %s\r\n", buf); - break; - case TIMECOND_LASTMOD: - add_bufferf(req_buffer, - "Last-Modified: %s\r\n", buf); - break; - } - } - - while(headers) { - char *ptr = strchr(headers->data, ':'); - if(ptr) { - /* we require a colon for this to be a true header */ - - ptr++; /* pass the colon */ - while(*ptr && isspace((int)*ptr)) - ptr++; - - if(*ptr) { - /* only send this if the contents was non-blank */ - - add_bufferf(req_buffer, "%s\r\n", headers->data); - } - } - headers = headers->next; - } - - if(HTTPREQ_POST_FORM == data->set.httpreq) { - if(Curl_FormInit(&http->form, http->sendit)) { - failf(data, "Internal HTTP POST error!"); - return CURLE_HTTP_POST_ERROR; - } - - http->storefread = data->set.fread; /* backup */ - http->in = data->set.in; /* backup */ - - data->set.fread = (curl_read_callback) - Curl_FormReader; /* set the read function to read from the - generated form data */ - data->set.in = (FILE *)&http->form; - - add_bufferf(req_buffer, - "Content-Length: %d\r\n", http->postsize); - - if(!checkheaders(data, "Expect:")) { - /* if not disabled explicitly we add a Expect: 100-continue - to the headers which actually speeds up post operations (as - there is one packet coming back from the web server) */ - add_bufferf(req_buffer, - "Expect: 100-continue\r\n"); - data->set.expect100header = TRUE; - } - - if(!checkheaders(data, "Content-Type:")) { - /* Get Content-Type: line from Curl_FormReadOneLine, which happens - to always be the first line. We can know this for sure since - we always build the formpost linked list the same way! - - The Content-Type header line also contains the MIME boundary - string etc why disabling this header is likely to not make things - work, but we support it anyway. - */ - char contentType[256]; - int linelength=0; - linelength = Curl_FormReadOneLine (contentType, - sizeof(contentType), - 1, - (FILE *)&http->form); - if(linelength == -1) { - failf(data, "Could not get Content-Type header line!"); - return CURLE_HTTP_POST_ERROR; - } - add_buffer(req_buffer, contentType, linelength); - } - - /* make the request end in a true CRLF */ - add_buffer(req_buffer, "\r\n", 2); - - /* set upload size to the progress meter */ - Curl_pgrsSetUploadSize(data, http->postsize); - - /* fire away the whole request to the server */ - result = add_buffer_send(conn->firstsocket, conn, req_buffer, - &data->info.request_size); - if(result) - failf(data, "Failed sending POST request"); - else - /* setup variables for the upcoming transfer */ - result = Curl_Transfer(conn, conn->firstsocket, -1, TRUE, - &http->readbytecount, - conn->firstsocket, - &http->writebytecount); - if(result) { - Curl_formclean(http->sendit); /* free that whole lot */ - return result; - } - } - else if(HTTPREQ_PUT == data->set.httpreq) { - /* Let's PUT the data to the server! */ - - if(data->set.infilesize>0) { - add_bufferf(req_buffer, - "Content-Length: %d\r\n\r\n", /* file size */ - data->set.infilesize ); - } - else - add_bufferf(req_buffer, "\015\012"); - - /* set the upload size to the progress meter */ - Curl_pgrsSetUploadSize(data, data->set.infilesize); - - /* this sends the buffer and frees all the buffer resources */ - result = add_buffer_send(conn->firstsocket, conn, req_buffer, - &data->info.request_size); - if(result) - failf(data, "Faied sending POST request"); - else - /* prepare for transfer */ - result = Curl_Transfer(conn, conn->firstsocket, -1, TRUE, - &http->readbytecount, - conn->firstsocket, - &http->writebytecount); - if(result) - return result; - - } - else { - if(HTTPREQ_POST == data->set.httpreq) { - /* this is the simple POST, using x-www-form-urlencoded style */ - - if(!data->set.postfields) { - /* - * This is an attempt to do a POST without having anything to - * actually send. Let's make a NULL pointer equal "" here. Good/bad - * ? - */ - data->set.postfields = (char *)""; - data->set.postfieldsize = 0; /* it might been set to something illegal, - anything > 0 would be! */ - } - - if(!checkheaders(data, "Content-Length:")) - /* we allow replacing this header, although it isn't very wise to - actually set your own */ - add_bufferf(req_buffer, - "Content-Length: %d\r\n", - (data->set.postfieldsize?data->set.postfieldsize: - strlen(data->set.postfields)) ); - - if(!checkheaders(data, "Content-Type:")) - add_bufferf(req_buffer, - "Content-Type: application/x-www-form-urlencoded\r\n"); - - /* and here comes the actual data */ - if(data->set.postfieldsize) { - add_buffer(req_buffer, "\r\n", 2); - add_buffer(req_buffer, data->set.postfields, - data->set.postfieldsize); - } - else { - add_bufferf(req_buffer, - "\r\n" - "%s", - data->set.postfields ); - } - } - else - add_buffer(req_buffer, "\r\n", 2); - - /* issue the request */ - result = add_buffer_send(conn->firstsocket, conn, req_buffer, - &data->info.request_size); - - if(result) - failf(data, "Failed sending HTTP request"); - else - /* HTTP GET/HEAD download: */ - result = Curl_Transfer(conn, conn->firstsocket, -1, TRUE, bytecount, - -1, NULL); /* nothing to upload */ - } - if(result) - return result; - } while (0); /* this is just a left-over from the multiple document download - attempts */ - - return CURLE_OK; -} - - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/http.h b/Build/source/libs/curl/lib/http.h deleted file mode 100644 index 8f9ae33aef2..00000000000 --- a/Build/source/libs/curl/lib/http.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef __HTTP_H -#define __HTTP_H - -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: http.h,v 1.12 2001/09/18 15:30:59 bagder Exp $ - *****************************************************************************/ - -/* ftp can use this as well */ -CURLcode Curl_ConnectHTTPProxyTunnel(struct connectdata *conn, - int tunnelsocket, - char *hostname, int remote_port); - -/* protocol-specific functions set up to be called by the main engine */ -CURLcode Curl_http(struct connectdata *conn); -CURLcode Curl_http_done(struct connectdata *conn); -CURLcode Curl_http_connect(struct connectdata *conn); - -/* The following functions are defined in http_chunks.c */ -void Curl_httpchunk_init(struct connectdata *conn); -CHUNKcode Curl_httpchunk_read(struct connectdata *conn, char *datap, - ssize_t length, ssize_t *wrote); - -#endif diff --git a/Build/source/libs/curl/lib/http_chunks.c b/Build/source/libs/curl/lib/http_chunks.c deleted file mode 100644 index d5ac59e53bb..00000000000 --- a/Build/source/libs/curl/lib/http_chunks.c +++ /dev/null @@ -1,230 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2001, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: http_chunks.c,v 1.9 2001/10/11 09:32:19 bumblebury Exp $ - *****************************************************************************/ -#include "setup.h" - -/* -- WIN32 approved -- */ -#include <stdio.h> -#include <string.h> -#include <stdarg.h> -#include <stdlib.h> -#include <ctype.h> - -#include "urldata.h" /* it includes http_chunks.h */ -#include "sendf.h" /* for the client write stuff */ - -#define _MPRINTF_REPLACE /* use our functions only */ -#include <curl/mprintf.h> - -/* The last #include file should be: */ -#ifdef MALLOCDEBUG -#include "memdebug.h" -#endif - -/* - * Chunk format (simplified): - * - * <HEX SIZE>[ chunk extension ] CRLF - * <DATA> CRLF - * - * Highlights from RFC2616 section 3.6 say: - - The chunked encoding modifies the body of a message in order to - transfer it as a series of chunks, each with its own size indicator, - followed by an OPTIONAL trailer containing entity-header fields. This - allows dynamically produced content to be transferred along with the - information necessary for the recipient to verify that it has - received the full message. - - Chunked-Body = *chunk - last-chunk - trailer - CRLF - - chunk = chunk-size [ chunk-extension ] CRLF - chunk-data CRLF - chunk-size = 1*HEX - last-chunk = 1*("0") [ chunk-extension ] CRLF - - chunk-extension= *( ";" chunk-ext-name [ "=" chunk-ext-val ] ) - chunk-ext-name = token - chunk-ext-val = token | quoted-string - chunk-data = chunk-size(OCTET) - trailer = *(entity-header CRLF) - - The chunk-size field is a string of hex digits indicating the size of - the chunk. The chunked encoding is ended by any chunk whose size is - zero, followed by the trailer, which is terminated by an empty line. - - */ - - -void Curl_httpchunk_init(struct connectdata *conn) -{ - struct Curl_chunker *chunk = &conn->proto.http->chunk; - chunk->hexindex=0; /* start at 0 */ - chunk->dataleft=0; /* no data left yet! */ - chunk->state = CHUNK_HEX; /* we get hex first! */ -} - -/* - * chunk_read() returns a OK for normal operations, or a positive return code - * for errors. STOP means this sequence of chunks is complete. The 'wrote' - * argument is set to tell the caller how many bytes we actually passed to the - * client (for byte-counting and whatever). - * - * The states and the state-machine is further explained in the header file. - */ -CHUNKcode Curl_httpchunk_read(struct connectdata *conn, - char *datap, - size_t length, - size_t *wrote) -{ - CURLcode result; - struct Curl_chunker *ch = &conn->proto.http->chunk; - int piece; - *wrote = 0; /* nothing yet */ - - while(length) { - switch(ch->state) { - case CHUNK_HEX: - if(isxdigit((int)*datap)) { - if(ch->hexindex < MAXNUM_SIZE) { - ch->hexbuffer[ch->hexindex] = *datap; - datap++; - length--; - ch->hexindex++; - } - else { - return CHUNKE_TOO_LONG_HEX; /* longer hex than we support */ - } - } - else { - if(0 == ch->hexindex) { - /* This is illegal data, we received junk where we expected - a hexadecimal digit. */ - return CHUNKE_ILLEGAL_HEX; - } - /* length and datap are unmodified */ - ch->hexbuffer[ch->hexindex]=0; - ch->datasize=strtoul(ch->hexbuffer, NULL, 16); - ch->state = CHUNK_POSTHEX; - } - break; - - case CHUNK_POSTHEX: - /* In this state, we're waiting for CRLF to arrive. We support - this to allow so called chunk-extensions to show up here - before the CRLF comes. */ - if(*datap == '\r') - ch->state = CHUNK_CR; - length--; - datap++; - break; - - case CHUNK_CR: - /* waiting for the LF */ - if(*datap == '\n') { - /* we're now expecting data to come, unless size was zero! */ - if(0 == ch->datasize) { - ch->state = CHUNK_STOP; /* stop reading! */ - if(1 == length) { - /* This was the final byte, return right now */ - return CHUNKE_STOP; - } - } - else - ch->state = CHUNK_DATA; - } - else - /* previously we got a fake CR, go back to CR waiting! */ - ch->state = CHUNK_CR; - datap++; - length--; - break; - - case CHUNK_DATA: - /* we get pure and fine data - - We expect another 'datasize' of data. We have 'length' right now, - it can be more or less than 'datasize'. Get the smallest piece. - */ - piece = (ch->datasize >= length)?length:ch->datasize; - - /* Write the data portion available */ - result = Curl_client_write(conn->data, CLIENTWRITE_BODY, datap, piece); - if(result) - return CHUNKE_WRITE_ERROR; - *wrote += piece; - - ch->datasize -= piece; /* decrease amount left to expect */ - datap += piece; /* move read pointer forward */ - length -= piece; /* decrease space left in this round */ - - if(0 == ch->datasize) - /* end of data this round, we now expect a trailing CRLF */ - ch->state = CHUNK_POSTCR; - break; - - case CHUNK_POSTCR: - if(*datap == '\r') { - ch->state = CHUNK_POSTLF; - datap++; - length--; - } - else - return CHUNKE_BAD_CHUNK; - break; - - case CHUNK_POSTLF: - if(*datap == '\n') { - /* - * The last one before we go back to hex state and start all - * over. - */ - Curl_httpchunk_init(conn); - datap++; - length--; - } - else - return CHUNKE_BAD_CHUNK; - break; - - case CHUNK_STOP: - /* If we arrive here, there is data left in the end of the buffer - even if there's no more chunks to read */ - ch->dataleft = length; - return CHUNKE_STOP; /* return stop */ - default: - return CHUNKE_STATE_ERROR; - } - } - return CHUNKE_OK; -} - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/http_chunks.h b/Build/source/libs/curl/lib/http_chunks.h deleted file mode 100644 index 50850a9eb22..00000000000 --- a/Build/source/libs/curl/lib/http_chunks.h +++ /dev/null @@ -1,87 +0,0 @@ -#ifndef __HTTP_CHUNKS_H -#define __HTTP_CHUNKS_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2001, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: http_chunks.h,v 1.4 2001/03/13 22:16:42 bagder Exp $ - *****************************************************************************/ -/* - * The longest possible hexadecimal number we support in a chunked transfer. - * Weird enough, RFC2616 doesn't set a maximum size! Since we use strtoul() - * to convert it, we "only" support 2^32 bytes chunk data. - */ -#define MAXNUM_SIZE 16 - -typedef enum { - CHUNK_FIRST, /* never use */ - - /* In this we await and buffer all hexadecimal digits until we get one - that isn't a hexadecimal digit. When done, we go POSTHEX */ - CHUNK_HEX, - - /* We have received the hexadecimal digit and we eat all characters until - we get a CRLF pair. When we see a CR we go to the CR state. */ - CHUNK_POSTHEX, - - /* A single CR has been found and we should get a LF right away in this - state or we go back to POSTHEX. When LF is received, we go to DATA. - If the size given was zero, we set state to STOP and return. */ - CHUNK_CR, - - /* We eat the amount of data specified. When done, we move on to the - POST_CR state. */ - CHUNK_DATA, - - /* POSTCR should get a CR and nothing else, then move to POSTLF */ - CHUNK_POSTCR, - - /* POSTLF should get a LF and nothing else, then move back to HEX as - the CRLF combination marks the end of a chunk */ - CHUNK_POSTLF, - - /* This is mainly used to really mark that we're out of the game. - NOTE: that there's a 'dataleft' field in the struct that will tell how - many bytes that were not passed to the client in the end of the last - buffer! */ - CHUNK_STOP, - - CHUNK_LAST /* never use */ -} ChunkyState; - -typedef enum { - CHUNKE_STOP = -1, - CHUNKE_OK = 0, - CHUNKE_TOO_LONG_HEX = 1, - CHUNKE_ILLEGAL_HEX, - CHUNKE_BAD_CHUNK, - CHUNKE_WRITE_ERROR, - CHUNKE_STATE_ERROR, - CHUNKE_LAST -} CHUNKcode; - -struct Curl_chunker { - char hexbuffer[ MAXNUM_SIZE + 1]; - int hexindex; - ChunkyState state; - size_t datasize; - size_t dataleft; /* untouched data amount at the end of the last buffer */ -}; - -#endif diff --git a/Build/source/libs/curl/lib/if2ip.c b/Build/source/libs/curl/lib/if2ip.c deleted file mode 100644 index 99ec309a4e3..00000000000 --- a/Build/source/libs/curl/lib/if2ip.c +++ /dev/null @@ -1,134 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: if2ip.c,v 1.19 2001/10/11 09:32:19 bumblebury Exp $ - *****************************************************************************/ - -#include "setup.h" - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - - -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif - -#if ! defined(WIN32) && ! defined(__BEOS__) && !defined(__CYGWIN32__) - -#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 - -#ifdef HAVE_SYS_TIME_H -/* This must be before net/if.h for AIX 3.2 to enjoy life */ -#include <sys/time.h> -#endif -#ifdef HAVE_NET_IF_H -#include <net/if.h> -#endif -#include <sys/ioctl.h> - -/* -- if2ip() -- */ -#ifdef HAVE_NETDB_H -#include <netdb.h> -#endif - -#ifdef HAVE_SYS_SOCKIO_H -#include <sys/sockio.h> -#endif - -#if defined(HAVE_INET_NTOA_R) && !defined(HAVE_INET_NTOA_R_DECL) -#include "inet_ntoa_r.h" -#endif - -#ifdef VMS -#define IOCTL_3_ARGS -#include <inet.h> -#endif - -/* The last #include file should be: */ -#ifdef MALLOCDEBUG -#include "memdebug.h" -#endif - -#define SYS_ERROR -1 - -char *Curl_if2ip(char *interface, char *buf, int buf_size) -{ - int dummy; - char *ip=NULL; - - if(!interface) - return NULL; - - dummy = socket(AF_INET, SOCK_STREAM, 0); - if (SYS_ERROR == dummy) { - return NULL; - } - else { - struct ifreq req; - memset(&req, 0, sizeof(req)); - strcpy(req.ifr_name, interface); - req.ifr_addr.sa_family = AF_INET; -#ifdef IOCTL_3_ARGS - if (SYS_ERROR == ioctl(dummy, SIOCGIFADDR, &req)) { -#else - if (SYS_ERROR == ioctl(dummy, SIOCGIFADDR, &req, sizeof(req))) { -#endif - sclose(dummy); - return NULL; - } - else { - struct in_addr in; - - struct sockaddr_in *s = (struct sockaddr_in *)&req.ifr_dstaddr; - memcpy(&in, &(s->sin_addr.s_addr), sizeof(in)); -#if defined(HAVE_INET_NTOA_R) - ip = inet_ntoa_r(in,buf,buf_size); -#else - ip = strncpy(buf,inet_ntoa(in),buf_size); - ip[buf_size - 1] = 0; -#endif - } - sclose(dummy); - } - return ip; -} - -/* -- end of if2ip() -- */ -#else -#define if2ip(x) NULL -#endif - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/if2ip.h b/Build/source/libs/curl/lib/if2ip.h deleted file mode 100644 index d9db250a584..00000000000 --- a/Build/source/libs/curl/lib/if2ip.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef __IF2IP_H -#define __IF2IP_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: if2ip.h,v 1.7 2001/02/04 19:00:27 bagder Exp $ - *****************************************************************************/ -#include "setup.h" - -#if ! defined(WIN32) && ! defined(__BEOS__) && !defined(__CYGWIN32__) -extern char *Curl_if2ip(char *interface, char *buf, int buf_size); -#else -#define Curl_if2ip(a,b,c) NULL -#endif - -#endif diff --git a/Build/source/libs/curl/lib/inet_ntoa_r.h b/Build/source/libs/curl/lib/inet_ntoa_r.h deleted file mode 100644 index 7959c49c283..00000000000 --- a/Build/source/libs/curl/lib/inet_ntoa_r.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef __INET_NTOA_R_H -#define __INET_NTOA_R_H -/* - * My solaris 5.6 system running gcc 2.8.1 does *not* have this prototype - * in any system include file! Isn't that weird? - */ -char *inet_ntoa_r(const struct in_addr in, char *buffer, int buflen); - -#endif diff --git a/Build/source/libs/curl/lib/krb4.c b/Build/source/libs/curl/lib/krb4.c deleted file mode 100644 index 3b3db404bf1..00000000000 --- a/Build/source/libs/curl/lib/krb4.c +++ /dev/null @@ -1,401 +0,0 @@ -/* This source code was modified by Martin Hedenfalk <mhe@stacken.kth.se> for - * use in Curl. His latest changes were done 2000-09-18. - * - * It has since been patched away like a madman by Daniel Stenberg - * <daniel@haxx.se> to make it better applied to curl conditions, and to make - * it not use globals, pollute name space and more. This source code awaits a - * rewrite to work around the paragraph 2 in the BSD licenses as explained - * below. - * - * Copyright (c) 1995, 1996, 1997, 1998, 1999 Kungliga Tekniska Högskolan - * (Royal Institute of Technology, Stockholm, Sweden). - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * 3. Neither the name of the Institute nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. */ - -#include "setup.h" - -#ifdef KRB4 - -#include "security.h" -#include "base64.h" -#include <stdlib.h> -#include <netdb.h> -#include <syslog.h> -#include <string.h> -#include <krb.h> - -#ifdef HAVE_UNISTD_H -#include <unistd.h> /* for getpid() */ -#endif - -#include "ftp.h" -#include "sendf.h" - -#if defined(HAVE_INET_NTOA_R) && !defined(HAVE_INET_NTOA_R_DECL) -#include "inet_ntoa_r.h" -#endif - -/* The last #include file should be: */ -#ifdef MALLOCDEBUG -#include "memdebug.h" -#endif - -#define LOCAL_ADDR (&conn->local_addr) -#define REMOTE_ADDR (&conn->serv_addr) -#define myctladdr LOCAL_ADDR -#define hisctladdr REMOTE_ADDR - -struct krb4_data { - des_cblock key; - des_key_schedule schedule; - char name[ANAME_SZ]; - char instance[INST_SZ]; - char realm[REALM_SZ]; -}; - -#ifndef HAVE_STRLCPY -/* if it ever goes non-static, make it Curl_ prefixed! */ -static size_t -strlcpy (char *dst, const char *src, size_t dst_sz) -{ - size_t n; - char *p; - - for (p = dst, n = 0; - n + 1 < dst_sz && *src != '\0'; - ++p, ++src, ++n) - *p = *src; - *p = '\0'; - if (*src == '\0') - return n; - else - return n + strlen (src); -} -#else -size_t strlcpy (char *dst, const char *src, size_t dst_sz); -#endif - -static int -krb4_check_prot(void *app_data, int level) -{ - app_data = NULL; /* prevent compiler warning */ - if(level == prot_confidential) - return -1; - return 0; -} - -static int -krb4_decode(void *app_data, void *buf, int len, int level, - struct connectdata *conn) -{ - MSG_DAT m; - int e; - struct krb4_data *d = app_data; - - if(level == prot_safe) - e = krb_rd_safe(buf, len, &d->key, - (struct sockaddr_in *)REMOTE_ADDR, - (struct sockaddr_in *)LOCAL_ADDR, &m); - else - e = krb_rd_priv(buf, len, d->schedule, &d->key, - (struct sockaddr_in *)REMOTE_ADDR, - (struct sockaddr_in *)LOCAL_ADDR, &m); - if(e){ - syslog(LOG_ERR, "krb4_decode: %s", krb_get_err_text(e)); - return -1; - } - memmove(buf, m.app_data, m.app_length); - return m.app_length; -} - -static int -krb4_overhead(void *app_data, int level, int len) -{ - /* no arguments are used, just init them to prevent compiler warnings */ - app_data = NULL; - level = 0; - len = 0; - return 31; -} - -static int -krb4_encode(void *app_data, void *from, int length, int level, void **to, - struct connectdata *conn) -{ - struct krb4_data *d = app_data; - *to = malloc(length + 31); - if(level == prot_safe) - return krb_mk_safe(from, *to, length, &d->key, - (struct sockaddr_in *)LOCAL_ADDR, - (struct sockaddr_in *)REMOTE_ADDR); - else if(level == prot_private) - return krb_mk_priv(from, *to, length, d->schedule, &d->key, - (struct sockaddr_in *)LOCAL_ADDR, - (struct sockaddr_in *)REMOTE_ADDR); - else - return -1; -} - -static int -mk_auth(struct krb4_data *d, KTEXT adat, - const char *service, char *host, int checksum) -{ - int ret; - CREDENTIALS cred; - char sname[SNAME_SZ], inst[INST_SZ], realm[REALM_SZ]; - - strlcpy(sname, service, sizeof(sname)); - strlcpy(inst, krb_get_phost(host), sizeof(inst)); - strlcpy(realm, krb_realmofhost(host), sizeof(realm)); - ret = krb_mk_req(adat, sname, inst, realm, checksum); - if(ret) - return ret; - strlcpy(sname, service, sizeof(sname)); - strlcpy(inst, krb_get_phost(host), sizeof(inst)); - strlcpy(realm, krb_realmofhost(host), sizeof(realm)); - ret = krb_get_cred(sname, inst, realm, &cred); - memmove(&d->key, &cred.session, sizeof(des_cblock)); - des_key_sched(&d->key, d->schedule); - memset(&cred, 0, sizeof(cred)); - return ret; -} - -static int -krb4_auth(void *app_data, struct connectdata *conn) -{ - int ret; - char *p; - int len; - KTEXT_ST adat; - MSG_DAT msg_data; - int checksum; - u_int32_t cs; - struct krb4_data *d = app_data; - char *host = conn->hostaddr->h_name; - ssize_t nread; - int l = sizeof(conn->local_addr); - struct SessionHandle *data = conn->data; - - if(getsockname(conn->firstsocket, - (struct sockaddr *)LOCAL_ADDR, &l) < 0) - perror("getsockname()"); - - checksum = getpid(); - ret = mk_auth(d, &adat, "ftp", host, checksum); - if(ret == KDC_PR_UNKNOWN) - ret = mk_auth(d, &adat, "rcmd", host, checksum); - if(ret) { - Curl_infof(data, "%s\n", krb_get_err_text(ret)); - return AUTH_CONTINUE; - } - -#ifdef HAVE_KRB_GET_OUR_IP_FOR_REALM - if (krb_get_config_bool("nat_in_use")) { - struct sockaddr_in *localaddr = (struct sockaddr_in *)LOCAL_ADDR; - struct in_addr natAddr; - - if (krb_get_our_ip_for_realm(krb_realmofhost(host), - &natAddr) != KSUCCESS - && krb_get_our_ip_for_realm(NULL, &natAddr) != KSUCCESS) - Curl_infof(data, "Can't get address for realm %s\n", - krb_realmofhost(host)); - else { - if (natAddr.s_addr != localaddr->sin_addr.s_addr) { -#ifdef HAVE_INET_NTOA_R - char ntoa_buf[64]; - char *ip = (char *)inet_ntoa_r(natAddr, ntoa_buf, sizeof(ntoa_buf)); -#else - char *ip = (char *)inet_ntoa(natAddr); -#endif - Curl_infof(data, "Using NAT IP address (%s) for kerberos 4\n", ip); - localaddr->sin_addr = natAddr; - } - } - } -#endif - - if(Curl_base64_encode(adat.dat, adat.length, &p) < 0) { - Curl_failf(data, "Out of memory base64-encoding"); - return AUTH_CONTINUE; - } - - if(Curl_ftpsendf(conn, "ADAT %s", p)) - return -2; - - nread = Curl_GetFTPResponse(data->state.buffer, conn, NULL); - if(nread < 0) - return -1; - free(p); - - if(data->state.buffer[0] != '2'){ - Curl_failf(data, "Server didn't accept auth data"); - return AUTH_ERROR; - } - - p = strstr(data->state.buffer, "ADAT="); - if(!p) { - Curl_failf(data, "Remote host didn't send adat reply"); - return AUTH_ERROR; - } - p += 5; - len = Curl_base64_decode(p, adat.dat); - if(len < 0) { - Curl_failf(data, "Failed to decode base64 from server"); - return AUTH_ERROR; - } - adat.length = len; - ret = krb_rd_safe(adat.dat, adat.length, &d->key, - (struct sockaddr_in *)hisctladdr, - (struct sockaddr_in *)myctladdr, &msg_data); - if(ret) { - Curl_failf(data, "Error reading reply from server: %s", - krb_get_err_text(ret)); - return AUTH_ERROR; - } - krb_get_int(msg_data.app_data, &cs, 4, 0); - if(cs - checksum != 1) { - Curl_failf(data, "Bad checksum returned from server"); - return AUTH_ERROR; - } - return AUTH_OK; -} - -struct Curl_sec_client_mech Curl_krb4_client_mech = { - "KERBEROS_V4", - sizeof(struct krb4_data), - NULL, /* init */ - krb4_auth, - NULL, /* end */ - krb4_check_prot, - krb4_overhead, - krb4_encode, - krb4_decode -}; - -void Curl_krb_kauth(struct connectdata *conn) -{ - des_cblock key; - des_key_schedule schedule; - KTEXT_ST tkt, tktcopy; - char *name; - char *p; - char passwd[100]; - int tmp; - ssize_t nread; - - int save; - - save = Curl_set_command_prot(conn, prot_private); - - if(Curl_ftpsendf(conn, "SITE KAUTH %s", conn->data->state.user)) - return; - - nread = Curl_GetFTPResponse(conn->data->state.buffer, - conn, NULL); - if(nread < 0) - return /*CURLE_OPERATION_TIMEOUTED*/; - - if(conn->data->state.buffer[0] != '3'){ - Curl_set_command_prot(conn, save); - return; - } - - p = strstr(conn->data->state.buffer, "T="); - if(!p) { - Curl_failf(conn->data, "Bad reply from server"); - Curl_set_command_prot(conn, save); - return; - } - - p += 2; - tmp = Curl_base64_decode(p, &tkt.dat); - if(tmp < 0) { - Curl_failf(conn->data, "Failed to decode base64 in reply.\n"); - Curl_set_command_prot(conn, save); - return; - } - tkt.length = tmp; - tktcopy.length = tkt.length; - - p = strstr(conn->data->state.buffer, "P="); - if(!p) { - Curl_failf(conn->data, "Bad reply from server"); - Curl_set_command_prot(conn, save); - return; - } - name = p + 2; - for(; *p && *p != ' ' && *p != '\r' && *p != '\n'; p++); - *p = 0; - - des_string_to_key (conn->data->state.passwd, &key); - des_key_sched(&key, schedule); - - des_pcbc_encrypt((des_cblock*)tkt.dat, (des_cblock*)tktcopy.dat, - tkt.length, - schedule, &key, DES_DECRYPT); - if (strcmp ((char*)tktcopy.dat + 8, - KRB_TICKET_GRANTING_TICKET) != 0) { - afs_string_to_key (passwd, - krb_realmofhost(conn->hostaddr->h_name), - &key); - des_key_sched (&key, schedule); - des_pcbc_encrypt((des_cblock*)tkt.dat, (des_cblock*)tktcopy.dat, - tkt.length, - schedule, &key, DES_DECRYPT); - } - memset(key, 0, sizeof(key)); - memset(schedule, 0, sizeof(schedule)); - memset(passwd, 0, sizeof(passwd)); - if(Curl_base64_encode(tktcopy.dat, tktcopy.length, &p) < 0) { - failf(conn->data, "Out of memory base64-encoding."); - Curl_set_command_prot(conn, save); - return; - } - memset (tktcopy.dat, 0, tktcopy.length); - - if(Curl_ftpsendf(conn, "SITE KAUTH %s %s", name, p)) - return; - - nread = Curl_GetFTPResponse(conn->data->state.buffer, - conn, NULL); - if(nread < 0) - return /*CURLE_OPERATION_TIMEOUTED*/; - free(p); - Curl_set_command_prot(conn, save); -} - -#endif /* KRB4 */ - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/krb4.h b/Build/source/libs/curl/lib/krb4.h deleted file mode 100644 index 99169657c42..00000000000 --- a/Build/source/libs/curl/lib/krb4.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef __KRB4_H -#define __KRB4_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: krb4.h,v 1.3 2001/08/17 10:10:15 bagder Exp $ - *****************************************************************************/ -void Curl_krb_kauth(struct connectdata *conn); - -#endif diff --git a/Build/source/libs/curl/lib/ldap.c b/Build/source/libs/curl/lib/ldap.c deleted file mode 100644 index face071f053..00000000000 --- a/Build/source/libs/curl/lib/ldap.c +++ /dev/null @@ -1,231 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2001, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: ldap.c,v 1.19 2001/11/07 09:39:49 bagder Exp $ - *****************************************************************************/ - -#include "setup.h" - -/* -- WIN32 approved -- */ -#include <stdio.h> -#include <string.h> -#include <stdarg.h> -#include <stdlib.h> -#include <ctype.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <errno.h> - -#if defined(WIN32) && !defined(__GNUC__) -#else -# ifdef HAVE_UNISTD_H -# include <unistd.h> -# endif -# ifdef HAVE_DLFCN_H -# include <dlfcn.h> -# endif -#endif - -#include "urldata.h" -#include <curl/curl.h> -#include "sendf.h" -#include "escape.h" -#include "transfer.h" - -#define _MPRINTF_REPLACE /* use our functions only */ -#include <curl/mprintf.h> - - -#define DYNA_GET_FUNCTION(type, fnc) \ - (fnc) = (type)DynaGetFunction(#fnc); \ - if ((fnc) == NULL) { \ - return CURLE_FUNCTION_NOT_FOUND; \ - } \ - -/*********************************************************************** - */ -static void *libldap = NULL; -static void *liblber = NULL; - -static void DynaOpen(void) -{ -#if defined(HAVE_DLOPEN) || defined(HAVE_LIBDL) - if (libldap == NULL) { - /* - * libldap.so should be able to resolve its dependency on - * liblber.so automatically, but since it does not we will - * handle it here by opening liblber.so as global. - */ - dlopen("liblber.so", -#ifdef RTLD_LAZY_GLOBAL /* It turns out some systems use this: */ - RTLD_LAZY_GLOBAL -#else -#ifdef RTLD_GLOBAL - RTLD_LAZY | RTLD_GLOBAL -#else - /* and some systems don't have the RTLD_GLOBAL symbol */ - RTLD_LAZY -#endif -#endif - ); - libldap = dlopen("libldap.so", RTLD_LAZY); - } -#endif -} - -static void DynaClose(void) -{ -#if defined(HAVE_DLOPEN) || defined(HAVE_LIBDL) - if (libldap) { - dlclose(libldap); - libldap=NULL; - } - if (liblber) { - dlclose(liblber); - liblber=NULL; - } -#endif -} - -static void * DynaGetFunction(const char *name) -{ - void *func = NULL; - -#if defined(HAVE_DLOPEN) || defined(HAVE_LIBDL) - if (libldap) { - func = dlsym(libldap, name); - } -#endif - - return func; -} - -static int WriteProc(void *param, char *text, int len) -{ - struct SessionHandle *data = (struct SessionHandle *)param; - len = 0; /* prevent compiler warning */ - Curl_client_write(data, CLIENTWRITE_BODY, text, 0); - return 0; -} - -/*********************************************************************** - */ -CURLcode Curl_ldap(struct connectdata *conn) -{ - CURLcode status = CURLE_OK; - int rc; - void *(*ldap_open)(char *, int); - int (*ldap_simple_bind_s)(void *, char *, char *); - int (*ldap_unbind_s)(void *); - int (*ldap_url_search_s)(void *, char *, int, void **); - void *(*ldap_first_entry)(void *, void *); - void *(*ldap_next_entry)(void *, void *); - char *(*ldap_err2string)(int); - int (*ldap_entry2text)(void *, char *, void *, void *, char **, char **, int (*)(void *, char *, int), void *, char *, int, unsigned long); - int (*ldap_entry2html)(void *, char *, void *, void *, char **, char **, int (*)(void *, char *, int), void *, char *, int, unsigned long, char *, char *); - void *server; - void *result; - void *entryIterator; - - int ldaptext; - struct SessionHandle *data=conn->data; - - infof(data, "LDAP: %s %s\n", data->change.url); - - DynaOpen(); - if (libldap == NULL) { - failf(data, "The needed LDAP library/libraries couldn't be opened"); - return CURLE_LIBRARY_NOT_FOUND; - } - - ldaptext = data->set.ftp_ascii; /* This is a dirty hack */ - - /* The types are needed because ANSI C distinguishes between - * pointer-to-object (data) and pointer-to-function. - */ - DYNA_GET_FUNCTION(void *(*)(char *, int), ldap_open); - DYNA_GET_FUNCTION(int (*)(void *, char *, char *), ldap_simple_bind_s); - DYNA_GET_FUNCTION(int (*)(void *), ldap_unbind_s); - DYNA_GET_FUNCTION(int (*)(void *, char *, int, void **), ldap_url_search_s); - DYNA_GET_FUNCTION(void *(*)(void *, void *), ldap_first_entry); - DYNA_GET_FUNCTION(void *(*)(void *, void *), ldap_next_entry); - DYNA_GET_FUNCTION(char *(*)(int), ldap_err2string); - DYNA_GET_FUNCTION(int (*)(void *, char *, void *, void *, char **, char **, int (*)(void *, char *, int), void *, char *, int, unsigned long), ldap_entry2text); - DYNA_GET_FUNCTION(int (*)(void *, char *, void *, void *, char **, char **, int (*)(void *, char *, int), void *, char *, int, unsigned long, char *, char *), ldap_entry2html); - - server = ldap_open(conn->hostname, conn->port); - if (server == NULL) { - failf(data, "LDAP: Cannot connect to %s:%d", - conn->hostname, conn->port); - status = CURLE_COULDNT_CONNECT; - } else { - rc = ldap_simple_bind_s(server, - conn->bits.user_passwd?data->state.user:NULL, - conn->bits.user_passwd?data->state.passwd:NULL); - if (rc != 0) { - failf(data, "LDAP: %s", ldap_err2string(rc)); - status = CURLE_LDAP_CANNOT_BIND; - } else { - rc = ldap_url_search_s(server, data->change.url, 0, &result); - if (rc != 0) { - failf(data, "LDAP: %s", ldap_err2string(rc)); - status = CURLE_LDAP_SEARCH_FAILED; - } else { - for (entryIterator = ldap_first_entry(server, result); - entryIterator; - entryIterator = ldap_next_entry(server, entryIterator)) - { - if (ldaptext) { - rc = ldap_entry2text(server, NULL, entryIterator, NULL, - NULL, NULL, WriteProc, data, - (char *)"", 0, 0); - if (rc != 0) { - failf(data, "LDAP: %s", ldap_err2string(rc)); - status = CURLE_LDAP_SEARCH_FAILED; - } - } else { - rc = ldap_entry2html(server, NULL, entryIterator, NULL, - NULL, NULL, WriteProc, data, - (char *)"", 0, 0, NULL, NULL); - if (rc != 0) { - failf(data, "LDAP: %s", ldap_err2string(rc)); - status = CURLE_LDAP_SEARCH_FAILED; - } - } - } - } - ldap_unbind_s(server); - } - } - DynaClose(); - - /* no data to transfer */ - Curl_Transfer(conn, -1, -1, FALSE, NULL, -1, NULL); - - return status; -} - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/ldap.h b/Build/source/libs/curl/lib/ldap.h deleted file mode 100644 index d78aa9376d0..00000000000 --- a/Build/source/libs/curl/lib/ldap.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef __LDAP_H -#define __LDAP_H - -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: ldap.h,v 1.6 2001/01/05 10:11:42 bagder Exp $ - *****************************************************************************/ -CURLcode Curl_ldap(struct connectdata *conn); -CURLcode Curl_ldap_done(struct connectdata *conn); - -#endif /* __LDAP_H */ diff --git a/Build/source/libs/curl/lib/libcurl.def b/Build/source/libs/curl/lib/libcurl.def deleted file mode 100644 index 05d1058f077..00000000000 --- a/Build/source/libs/curl/lib/libcurl.def +++ /dev/null @@ -1,34 +0,0 @@ -; -; Definition file for the DLL version of the LIBCURL library from curl -; - -LIBRARY LIBCURL - -EXPORTS - curl_easy_cleanup @ 1 ; - curl_easy_getinfo @ 2 ; - curl_easy_init @ 3 ; - curl_easy_perform @ 4 ; - curl_easy_setopt @ 5 ; - curl_escape @ 6 ; - curl_unescape @ 7; - curl_formparse @ 8 ; - curl_formfree @ 9 ; - curl_getdate @ 10 ; - curl_getenv @ 11 ; - curl_global_cleanup @ 12 ; - curl_global_init @ 13 ; - curl_slist_append @ 14 ; - curl_slist_free_all @ 15 ; - curl_version @ 16 ; - curl_maprintf @ 17 ; - curl_mfprintf @ 18 ; - curl_mprintf @ 19 ; - curl_msprintf @ 20 ; - curl_msnprintf @ 21 ; - curl_mvfprintf @ 22 ; - curl_strequal @ 23 ; - curl_strnequal @ 24 ; - curl_easy_duphandle @ 25 ; - curl_formadd @ 26 ; - diff --git a/Build/source/libs/curl/lib/llist.c b/Build/source/libs/curl/lib/llist.c deleted file mode 100644 index c382aa90f63..00000000000 --- a/Build/source/libs/curl/lib/llist.c +++ /dev/null @@ -1,168 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2002, Daniel Stenberg, <daniel@haxx.se>, et al - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: llist.c,v 1.3 2002/02/17 14:55:35 bagder Exp $ - *****************************************************************************/ - -#include "setup.h" - -#include <string.h> -#include <stdlib.h> - -#include "llist.h" - -#ifdef MALLOCDEBUG -/* this must be the last include file */ -#include "memdebug.h" -#endif -void -curl_llist_init(curl_llist *l, curl_llist_dtor dtor) -{ - l->size = 0; - l->dtor = dtor; - l->head = NULL; - l->tail = NULL; -} - -curl_llist * -curl_llist_alloc(curl_llist_dtor dtor) -{ - curl_llist *list; - - list = (curl_llist *)malloc(sizeof(curl_llist)); - if(NULL == list) - return NULL; - - curl_llist_init(list, dtor); - - return list; -} - -int -curl_llist_insert_next(curl_llist *list, curl_llist_element *e, const void *p) -{ - curl_llist_element *ne; - - ne = (curl_llist_element *) malloc(sizeof(curl_llist_element)); - ne->ptr = (void *) p; - if (list->size == 0) { - list->head = ne; - list->head->prev = NULL; - list->head->next = NULL; - list->tail = ne; - } else { - ne->next = e->next; - ne->prev = e; - if (e->next) { - e->next->prev = ne; - } else { - list->tail = ne; - } - e->next = ne; - } - - ++list->size; - - return 1; -} - -int -curl_llist_insert_prev(curl_llist *list, curl_llist_element *e, const void *p) -{ - curl_llist_element *ne; - - ne = (curl_llist_element *) malloc(sizeof(curl_llist_element)); - ne->ptr = (void *) p; - if (list->size == 0) { - list->head = ne; - list->head->prev = NULL; - list->head->next = NULL; - list->tail = ne; - } else { - ne->next = e; - ne->prev = e->prev; - if (e->prev) - e->prev->next = ne; - else - list->head = ne; - e->prev = ne; - } - - ++list->size; - - return 1; -} - -int -curl_llist_remove(curl_llist *list, curl_llist_element *e, void *user) -{ - if (e == NULL || list->size == 0) - return 1; - - if (e == list->head) { - list->head = e->next; - - if (list->head == NULL) - list->tail = NULL; - else - e->next->prev = NULL; - } else { - e->prev->next = e->next; - if (!e->next) - list->tail = e->prev; - else - e->next->prev = e->prev; - } - - list->dtor(user, e->ptr); - free(e); - --list->size; - - return 1; -} - -int -curl_llist_remove_next(curl_llist *list, curl_llist_element *e, void *user) -{ - return curl_llist_remove(list, e->next, user); -} - -int -curl_llist_remove_prev(curl_llist *list, curl_llist_element *e, void *user) -{ - return curl_llist_remove(list, e->prev, user); -} - -size_t -curl_llist_count(curl_llist *list) -{ - return list->size; -} - -void -curl_llist_destroy(curl_llist *list, void *user) -{ - while (list->size > 0) { - curl_llist_remove(list, CURL_LLIST_TAIL(list), user); - } - - free(list); - list = NULL; -} diff --git a/Build/source/libs/curl/lib/llist.h b/Build/source/libs/curl/lib/llist.h deleted file mode 100644 index 21c34f2b734..00000000000 --- a/Build/source/libs/curl/lib/llist.h +++ /dev/null @@ -1,64 +0,0 @@ -#ifndef __LLIST_H -#define __LLIST_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2001, Daniel Stenberg, <daniel@haxx.se>, et al - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: llist.h,v 1.1 2002/01/03 10:22:59 bagder Exp $ - *****************************************************************************/ - -#include "setup.h" -#include <stddef.h> - -typedef void (*curl_llist_dtor)(void *, void *); - -typedef struct _curl_llist_element { - void *ptr; - - struct _curl_llist_element *prev; - struct _curl_llist_element *next; -} curl_llist_element; - -typedef struct _curl_llist { - curl_llist_element *head; - curl_llist_element *tail; - - curl_llist_dtor dtor; - - size_t size; -} curl_llist; - -void curl_llist_init(curl_llist *, curl_llist_dtor); -curl_llist *curl_llist_alloc(curl_llist_dtor); -int curl_llist_insert_next(curl_llist *, curl_llist_element *, const void *); -int curl_llist_insert_prev(curl_llist *, curl_llist_element *, const void *); -int curl_llist_remove(curl_llist *, curl_llist_element *, void *); -int curl_llist_remove_next(curl_llist *, curl_llist_element *, void *); -size_t curl_llist_count(curl_llist *); -void curl_llist_destroy(curl_llist *, void *); - -#define CURL_LLIST_HEAD(__l) ((__l)->head) -#define CURL_LLIST_TAIL(__l) ((__l)->tail) -#define CURL_LLIST_NEXT(__e) ((__e)->next) -#define CURL_LLIST_PREV(__e) ((__e)->prev) -#define CURL_LLIST_VALP(__e) ((__e)->ptr) -#define CURL_LLIST_IS_TAIL(__e) ((__e)->next ? 0 : 1) -#define CURL_LLIST_IS_HEAD(__e) ((__e)->prev ? 0 : 1) - -#endif diff --git a/Build/source/libs/curl/lib/memdebug.c b/Build/source/libs/curl/lib/memdebug.c deleted file mode 100644 index a13c8cd8583..00000000000 --- a/Build/source/libs/curl/lib/memdebug.c +++ /dev/null @@ -1,221 +0,0 @@ -#ifdef MALLOCDEBUG -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: memdebug.c,v 1.22 2002/02/28 12:37:05 bagder Exp $ - *****************************************************************************/ - -#include "setup.h" - -#include <curl/curl.h> - -#if defined(WIN32) && !defined(__GNUC__) || defined(__MINGW32__) -#include <winsock.h> -#else /* some kind of unix */ -#ifdef HAVE_SYS_SOCKET_H -#include <sys/socket.h> -#endif -#endif - -#define _MPRINTF_REPLACE -#include <curl/mprintf.h> -#include "urldata.h" -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif - -/* DONT include memdebug.h here! */ - -struct memdebug { - int size; - char mem[1]; -}; - -/* - * Note that these debug functions are very simple and they are meant to - * remain so. For advanced analysis, record a log file and write perl scripts - * to analyze them! - * - * Don't use these with multithreaded test programs! - */ - -FILE *logfile; - -/* this sets the log file name */ -void curl_memdebug(const char *logname) -{ - if(logname) - logfile = fopen(logname, "w"); - else - logfile = stderr; -} - - -void *curl_domalloc(size_t wantedsize, int line, const char *source) -{ - struct memdebug *mem; - size_t size; - - /* alloc at least 64 bytes */ - size = sizeof(struct memdebug)+wantedsize; - - mem=(struct memdebug *)(malloc)(size); - if(mem) { - /* fill memory with junk */ - memset(mem->mem, 0xA5, wantedsize); - mem->size = wantedsize; - } - - if(logfile && source) - fprintf(logfile, "MEM %s:%d malloc(%d) = %p\n", - source, line, wantedsize, mem->mem); - return mem->mem; -} - -char *curl_dostrdup(const char *str, int line, const char *source) -{ - char *mem; - size_t len; - - if(NULL ==str) { - fprintf(stderr, "ILLEGAL strdup() on NULL at %s:%d\n", - source, line); - exit(2); - } - - len=strlen(str)+1; - - mem=curl_domalloc(len, 0, NULL); /* NULL prevents logging */ - memcpy(mem, str, len); - - if(logfile) - fprintf(logfile, "MEM %s:%d strdup(%p) (%d) = %p\n", - source, line, str, len, mem); - - return mem; -} - -void *curl_dorealloc(void *ptr, size_t wantedsize, - int line, const char *source) -{ - struct memdebug *mem; - - size_t size = sizeof(struct memdebug)+wantedsize; - - mem = (struct memdebug *)((char *)ptr - offsetof(struct memdebug, mem)); - - mem=(struct memdebug *)(realloc)(mem, size); - if(logfile) - fprintf(logfile, "MEM %s:%d realloc(%p, %d) = %p\n", - source, line, ptr, wantedsize, mem?mem->mem:NULL); - - if(mem) { - mem->size = wantedsize; - return mem->mem; - } - - return NULL; -} - -void curl_dofree(void *ptr, int line, const char *source) -{ - struct memdebug *mem; - - if(NULL == ptr) { - fprintf(stderr, "ILLEGAL free() on NULL at %s:%d\n", - source, line); - exit(2); - } - mem = (struct memdebug *)((char *)ptr - offsetof(struct memdebug, mem)); - - /* destroy */ - memset(mem->mem, 0x13, mem->size); - - /* free for real */ - (free)(mem); - - if(logfile) - fprintf(logfile, "MEM %s:%d free(%p)\n", source, line, ptr); -} - -int curl_socket(int domain, int type, int protocol, int line, char *source) -{ - int sockfd=(socket)(domain, type, protocol); - if(logfile) - fprintf(logfile, "FD %s:%d socket() = %d\n", - source, line, sockfd); - return sockfd; -} - -int curl_accept(int s, struct sockaddr *addr, socklen_t *addrlen, - int line, const char *source) -{ - int sockfd=(accept)(s, addr, addrlen); - if(logfile) - fprintf(logfile, "FD %s:%d accept() = %d\n", - source, line, sockfd); - return sockfd; -} - -/* this is our own defined way to close sockets on *ALL* platforms */ -int curl_sclose(int sockfd, int line, char *source) -{ - int res=sclose(sockfd); - if(logfile) - fprintf(logfile, "FD %s:%d sclose(%d)\n", - source, line, sockfd); - return res; -} - -FILE *curl_fopen(const char *file, const char *mode, - int line, const char *source) -{ - FILE *res=(fopen)(file, mode); - if(logfile) - fprintf(logfile, "FILE %s:%d fopen(\"%s\") = %p\n", - source, line, file, res); - return res; -} - -int curl_fclose(FILE *file, int line, const char *source) -{ - int res=(fclose)(file); - if(logfile) - fprintf(logfile, "FILE %s:%d fclose(%p)\n", - source, line, file); - return res; -} -#else -#ifdef VMS -int VOID_VAR_MEMDEBUG; -#endif -#endif /* MALLOCDEBUG */ - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/memdebug.h b/Build/source/libs/curl/lib/memdebug.h deleted file mode 100644 index 3c5c090f643..00000000000 --- a/Build/source/libs/curl/lib/memdebug.h +++ /dev/null @@ -1,61 +0,0 @@ -#ifdef MALLOCDEBUG - -#include "setup.h" - -#ifdef HAVE_SYS_TYPES_H -#include <sys/types.h> -#endif - -#ifdef HAVE_SYS_SOCKET_H -#include <sys/socket.h> -#endif -#include <stdio.h> -#ifdef HAVE_MEMORY_H -#include <memory.h> -#endif - -extern FILE *logfile; - -/* memory functions */ -void *curl_domalloc(size_t size, int line, const char *source); -void *curl_dorealloc(void *ptr, size_t size, int line, const char *source); -void curl_dofree(void *ptr, int line, const char *source); -char *curl_dostrdup(const char *str, int line, const char *source); -void curl_memdebug(const char *logname); - -/* file descriptor manipulators */ -int curl_socket(int domain, int type, int protocol, int, const char *); -int curl_sclose(int sockfd, int, const char *source); -int curl_accept(int s, struct sockaddr *addr, socklen_t *addrlen, - int line, const char *source); - -/* FILE functions */ -FILE *curl_fopen(const char *file, const char *mode, int line, - const char *source); -int curl_fclose(FILE *file, int line, const char *source); - -/* Set this symbol on the command-line, recompile all lib-sources */ -#define strdup(ptr) curl_dostrdup(ptr, __LINE__, __FILE__) -#define malloc(size) curl_domalloc(size, __LINE__, __FILE__) -#define realloc(ptr,size) curl_dorealloc(ptr, size, __LINE__, __FILE__) -#define free(ptr) curl_dofree(ptr, __LINE__, __FILE__) - -#define socket(domain,type,protocol)\ - curl_socket(domain,type,protocol,__LINE__,__FILE__) -#define accept(sock,addr,len)\ - curl_accept(sock,addr,len,__LINE__,__FILE__) - -#define getaddrinfo(host,serv,hint,res) \ - curl_getaddrinfo(host,serv,hint,res,__LINE__,__FILE__) -#define freeaddrinfo(data) \ - curl_freeaddrinfo(data,__LINE__,__FILE__) - -/* sclose is probably already defined, redefine it! */ -#undef sclose -#define sclose(sockfd) curl_sclose(sockfd,__LINE__,__FILE__) - -#undef fopen -#define fopen(file,mode) curl_fopen(file,mode,__LINE__,__FILE__) -#define fclose(file) curl_fclose(file,__LINE__,__FILE__) - -#endif diff --git a/Build/source/libs/curl/lib/mprintf.c b/Build/source/libs/curl/lib/mprintf.c deleted file mode 100644 index deb8cbe5d36..00000000000 --- a/Build/source/libs/curl/lib/mprintf.c +++ /dev/null @@ -1,1181 +0,0 @@ -/**************************************************************************** - * - * $Id: mprintf.c,v 1.19 2002/02/18 23:32:45 bagder Exp $ - * - ************************************************************************* - * - * 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. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF - * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND - * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER. - * - * Purpose: - * A merge of Bjorn Reese's format() function and Daniel's dsprintf() - * 1.0. A full blooded printf() clone with full support for <num>$ - * everywhere (parameters, widths and precisions) including variabled - * sized parameters (like doubles, long longs, long doubles and even - * void * in 64-bit architectures). - * - * Current restrictions: - * - Max 128 parameters - * - No 'long double' support. - * - * If you ever want truly portable and good *printf() clones, the project that - * took on from here is named 'Trio' and you find more details on the trio web - * page at http://daniel.haxx.se/trio/ - */ - - -#include "setup.h" -#include <sys/types.h> -#include <stdio.h> -#include <stdlib.h> -#include <stdarg.h> -#include <ctype.h> -#include <string.h> - -#ifndef SIZEOF_LONG_LONG -/* prevents warnings on picky compilers */ -#define SIZEOF_LONG_LONG 0 -#endif -#ifndef SIZEOF_LONG_DOUBLE -#define SIZEOF_LONG_DOUBLE 0 -#endif - - -/* The last #include file should be: */ -#ifdef MALLOCDEBUG -#include "memdebug.h" -#endif - -#define BUFFSIZE 256 /* buffer for long-to-str and float-to-str calcs */ -#define MAX_PARAMETERS 128 /* lame static limit */ - -#undef TRUE -#undef FALSE -#undef BOOL -#ifdef __cplusplus -# define TRUE true -# define FALSE false -# define BOOL bool -#else -# define TRUE ((char)(1 == 1)) -# define FALSE ((char)(0 == 1)) -# define BOOL char -#endif - - -/* Lower-case digits. */ -static const char lower_digits[] = "0123456789abcdefghijklmnopqrstuvwxyz"; - -/* Upper-case digits. */ -static const char upper_digits[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; - -#define OUTCHAR(x) done+=(stream(x, (FILE *)data)==-1?0:1) - -/* Data type to read from the arglist */ -typedef enum { - FORMAT_UNKNOWN = 0, - FORMAT_STRING, - FORMAT_PTR, - FORMAT_INT, - FORMAT_INTPTR, - FORMAT_LONG, - FORMAT_LONGLONG, - FORMAT_DOUBLE, - FORMAT_LONGDOUBLE, - FORMAT_WIDTH /* For internal use */ -} FormatType; - -/* convertion and display flags */ -enum { - FLAGS_NEW = 0, - FLAGS_SPACE = 1<<0, - FLAGS_SHOWSIGN = 1<<1, - FLAGS_LEFT = 1<<2, - FLAGS_ALT = 1<<3, - FLAGS_SHORT = 1<<4, - FLAGS_LONG = 1<<5, - FLAGS_LONGLONG = 1<<6, - FLAGS_LONGDOUBLE = 1<<7, - FLAGS_PAD_NIL = 1<<8, - FLAGS_UNSIGNED = 1<<9, - FLAGS_OCTAL = 1<<10, - FLAGS_HEX = 1<<11, - FLAGS_UPPER = 1<<12, - FLAGS_WIDTH = 1<<13, /* '*' or '*<num>$' used */ - FLAGS_WIDTHPARAM = 1<<14, /* width PARAMETER was specified */ - FLAGS_PREC = 1<<15, /* precision was specified */ - FLAGS_PRECPARAM = 1<<16, /* precision PARAMETER was specified */ - FLAGS_CHAR = 1<<17, /* %c story */ - FLAGS_FLOATE = 1<<18, /* %e or %E */ - FLAGS_FLOATG = 1<<19 /* %g or %G */ -}; - -typedef struct { - FormatType type; - int flags; - int width; /* width OR width parameter number */ - int precision; /* precision OR precision parameter number */ - union { - char *str; - void *ptr; - long num; -#if SIZEOF_LONG_LONG /* if this is non-zero */ - long long lnum; -#endif - double dnum; -#if SIZEOF_LONG_DOUBLE - long double ldnum; -#endif - } data; -} va_stack_t; - -struct nsprintf { - char *buffer; - size_t length; - size_t max; -}; - -struct asprintf { - char *buffer; /* allocated buffer */ - size_t len; /* length of string */ - size_t alloc; /* length of alloc */ -}; - -int curl_msprintf(char *buffer, const char *format, ...); - -static int dprintf_DollarString(char *input, char **end) -{ - int number=0; - while(isdigit((int)*input)) { - number *= 10; - number += *input-'0'; - input++; - } - if(number && ('$'==*input++)) { - *end = input; - return number; - } - return 0; -} - -static BOOL dprintf_IsQualifierNoDollar(char c) -{ - switch (c) { - case '-': case '+': case ' ': case '#': case '.': - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - case 'h': case 'l': case 'L': case 'Z': case 'q': - return TRUE; - default: - return FALSE; - } -} - -#ifdef DPRINTF_DEBUG2 -int dprintf_Pass1Report(va_stack_t *vto, int max) -{ - int i; - char buffer[128]; - int bit; - int flags; - - for(i=0; i<max; i++) { - char *type; - switch(vto[i].type) { - case FORMAT_UNKNOWN: - type = "unknown"; - break; - case FORMAT_STRING: - type ="string"; - break; - case FORMAT_PTR: - type ="pointer"; - break; - case FORMAT_INT: - type = "int"; - break; - case FORMAT_LONG: - type = "long"; - break; - case FORMAT_LONGLONG: - type = "long long"; - break; - case FORMAT_DOUBLE: - type = "double"; - break; - case FORMAT_LONGDOUBLE: - type = "long double"; - break; - } - - - buffer[0]=0; - - for(bit=0; bit<31; bit++) { - flags = vto[i].flags & (1<<bit); - - if(flags & FLAGS_SPACE) - strcat(buffer, "space "); - else if(flags & FLAGS_SHOWSIGN) - strcat(buffer, "plus "); - else if(flags & FLAGS_LEFT) - strcat(buffer, "left "); - else if(flags & FLAGS_ALT) - strcat(buffer, "alt "); - else if(flags & FLAGS_SHORT) - strcat(buffer, "short "); - else if(flags & FLAGS_LONG) - strcat(buffer, "long "); - else if(flags & FLAGS_LONGLONG) - strcat(buffer, "longlong "); - else if(flags & FLAGS_LONGDOUBLE) - strcat(buffer, "longdouble "); - else if(flags & FLAGS_PAD_NIL) - strcat(buffer, "padnil "); - else if(flags & FLAGS_UNSIGNED) - strcat(buffer, "unsigned "); - else if(flags & FLAGS_OCTAL) - strcat(buffer, "octal "); - else if(flags & FLAGS_HEX) - strcat(buffer, "hex "); - else if(flags & FLAGS_UPPER) - strcat(buffer, "upper "); - else if(flags & FLAGS_WIDTH) - strcat(buffer, "width "); - else if(flags & FLAGS_WIDTHPARAM) - strcat(buffer, "widthparam "); - else if(flags & FLAGS_PREC) - strcat(buffer, "precision "); - else if(flags & FLAGS_PRECPARAM) - strcat(buffer, "precparam "); - else if(flags & FLAGS_CHAR) - strcat(buffer, "char "); - else if(flags & FLAGS_FLOATE) - strcat(buffer, "floate "); - else if(flags & FLAGS_FLOATG) - strcat(buffer, "floatg "); - } - printf("REPORT: %d. %s [%s]\n", i, type, buffer); - - } - - -} -#endif - -/****************************************************************** - * - * Pass 1: - * Create an index with the type of each parameter entry and its - * value (may vary in size) - * - ******************************************************************/ - -static int dprintf_Pass1(char *format, va_stack_t *vto, char **endpos, va_list arglist) -{ - char *fmt = format; - int param_num = 0; - int this_param; - int width; - int precision; - int flags; - int max_param=0; - int i; - - while (*fmt) { - if (*fmt++ == '%') { - if (*fmt == '%') { - fmt++; - continue; /* while */ - } - - flags = FLAGS_NEW; - - /* Handle the positional case (N$) */ - - param_num++; - - this_param = dprintf_DollarString(fmt, &fmt); - if (0 == this_param) - /* we got no positional, get the next counter */ - this_param = param_num; - - if (this_param > max_param) - max_param = this_param; - - /* - * The parameter with number 'i' should be used. Next, we need - * to get SIZE and TYPE of the parameter. Add the information - * to our array. - */ - - width = 0; - precision = 0; - - /* Handle the flags */ - - while (dprintf_IsQualifierNoDollar(*fmt)) { - switch (*fmt++) { - case ' ': - flags |= FLAGS_SPACE; - break; - case '+': - flags |= FLAGS_SHOWSIGN; - break; - case '-': - flags |= FLAGS_LEFT; - flags &= ~FLAGS_PAD_NIL; - break; - case '#': - flags |= FLAGS_ALT; - break; - case '.': - flags |= FLAGS_PREC; - if ('*' == *fmt) { - /* The precision is picked from a specified parameter */ - - flags |= FLAGS_PRECPARAM; - fmt++; - param_num++; - - i = dprintf_DollarString(fmt, &fmt); - if (i) - precision = i; - else - precision = param_num; - - if (precision > max_param) - max_param = precision; - } - else { - flags |= FLAGS_PREC; - precision = strtol(fmt, &fmt, 10); - } - break; - case 'h': - flags |= FLAGS_SHORT; - break; - case 'l': - if (flags & FLAGS_LONG) - flags |= FLAGS_LONGLONG; - else - flags |= FLAGS_LONG; - break; - case 'L': - flags |= FLAGS_LONGDOUBLE; - break; - case 'q': - flags |= FLAGS_LONGLONG; - break; - case 'Z': - if (sizeof(size_t) > sizeof(unsigned long int)) - flags |= FLAGS_LONGLONG; - if (sizeof(size_t) > sizeof(unsigned int)) - flags |= FLAGS_LONG; - break; - case '0': - if (!(flags & FLAGS_LEFT)) - flags |= FLAGS_PAD_NIL; - /* FALLTHROUGH */ - case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - flags |= FLAGS_WIDTH; - width = strtol(fmt-1, &fmt, 10); - break; - case '*': /* Special case */ - flags |= FLAGS_WIDTHPARAM; - param_num++; - - i = dprintf_DollarString(fmt, &fmt); - if(i) - width = i; - else - width = param_num; - if(width > max_param) - max_param=width; - break; - default: - break; - } - } /* switch */ - - /* Handle the specifier */ - - i = this_param - 1; - - switch (*fmt) { - case 'S': - flags |= FLAGS_ALT; - /* FALLTHROUGH */ - case 's': - vto[i].type = FORMAT_STRING; - break; - case 'n': - vto[i].type = FORMAT_INTPTR; - break; - case 'p': - vto[i].type = FORMAT_PTR; - break; - case 'd': case 'i': - vto[i].type = FORMAT_INT; - break; - case 'u': - vto[i].type = FORMAT_INT; - flags |= FLAGS_UNSIGNED; - break; - case 'o': - vto[i].type = FORMAT_INT; - flags |= FLAGS_OCTAL; - break; - case 'x': - vto[i].type = FORMAT_INT; - flags |= FLAGS_HEX; - break; - case 'X': - vto[i].type = FORMAT_INT; - flags |= FLAGS_HEX|FLAGS_UPPER; - break; - case 'c': - vto[i].type = FORMAT_INT; - flags |= FLAGS_CHAR; - break; - case 'f': - vto[i].type = FORMAT_DOUBLE; - break; - case 'e': case 'E': - vto[i].type = FORMAT_DOUBLE; - flags |= FLAGS_FLOATE| (('E' == *fmt)?FLAGS_UPPER:0); - break; - case 'g': case 'G': - vto[i].type = FORMAT_DOUBLE; - flags |= FLAGS_FLOATG| (('G' == *fmt)?FLAGS_UPPER:0); - break; - default: - vto[i].type = FORMAT_UNKNOWN; - break; - } /* switch */ - - vto[i].flags = flags; - vto[i].width = width; - vto[i].precision = precision; - - if (flags & FLAGS_WIDTHPARAM) { - /* we have the width specified from a parameter, so we make that - parameter's info setup properly */ - vto[i].width = width - 1; - i = width - 1; - vto[i].type = FORMAT_WIDTH; - vto[i].flags = FLAGS_NEW; - vto[i].precision = vto[i].width = 0; /* can't use width or precision - of width! */ - } - if (flags & FLAGS_PRECPARAM) { - /* we have the precision specified from a parameter, so we make that - parameter's info setup properly */ - vto[i].precision = precision - 1; - i = precision - 1; - vto[i].type = FORMAT_WIDTH; - vto[i].flags = FLAGS_NEW; - vto[i].precision = vto[i].width = 0; /* can't use width or precision - of width! */ - } - *endpos++ = fmt + 1; /* end of this sequence */ - } - } - -#ifdef DPRINTF_DEBUG2 - dprintf_Pass1Report(vto, max_param); -#endif - - /* Read the arg list parameters into our data list */ - for (i=0; i<max_param; i++) { - if ((i + 1 < max_param) && (vto[i + 1].type == FORMAT_WIDTH)) - { - /* Width/precision arguments must be read before the main argument - * they are attached to - */ - vto[i + 1].data.num = va_arg(arglist, int); - } - - switch (vto[i].type) - { - case FORMAT_STRING: - vto[i].data.str = va_arg(arglist, char *); - break; - - case FORMAT_INTPTR: - case FORMAT_UNKNOWN: - case FORMAT_PTR: - vto[i].data.ptr = va_arg(arglist, void *); - break; - - case FORMAT_INT: -#if SIZEOF_LONG_LONG - if(vto[i].flags & FLAGS_LONGLONG) - vto[i].data.lnum = va_arg(arglist, long long); - else -#endif - if(vto[i].flags & FLAGS_LONG) - vto[i].data.num = va_arg(arglist, long); - else - vto[i].data.num = va_arg(arglist, int); - break; - - case FORMAT_DOUBLE: -#if SIZEOF_LONG_DOUBLE - if(vto[i].flags & FLAGS_LONG) - vto[i].data.ldnum = va_arg(arglist, long double); - else -#endif - vto[i].data.dnum = va_arg(arglist, double); - break; - - case FORMAT_WIDTH: - /* Argument has been read. Silently convert it into an integer - * for later use - */ - vto[i].type = FORMAT_INT; - break; - - default: - break; - } - } - - return max_param; - -} - -static int dprintf_formatf( - void *data, /* untouched by format(), just sent to the - stream() function in the first argument */ - int (CDECL * stream)(int, FILE *), /* function pointer called for each - output character */ - const char *format, /* %-formatted string */ - va_list ap_save) /* list of parameters */ -{ - /* Base-36 digits for numbers. */ - const char *digits = lower_digits; - - /* Pointer into the format string. */ - char *f; - - /* Number of characters written. */ - register size_t done = 0; - - long param; /* current parameter to read */ - long param_num=0; /* parameter counter */ - - va_stack_t vto[MAX_PARAMETERS]; - char *endpos[MAX_PARAMETERS]; - char **end; - - char work[BUFFSIZE]; - - va_stack_t *p; - - /* Do the actual %-code parsing */ - dprintf_Pass1((char *)format, vto, endpos, ap_save); - - end = &endpos[0]; /* the initial end-position from the list dprintf_Pass1() - created for us */ - - f = (char *)format; - while (*f != '\0') { - /* Format spec modifiers. */ - char alt; - - /* Width of a field. */ - register long width; - /* Precision of a field. */ - long prec; - - /* Decimal integer is negative. */ - char is_neg; - - /* Base of a number to be written. */ - long base; - - /* Integral values to be written. */ -#if SIZEOF_LONG_LONG - unsigned long long num; -#else - unsigned long num; -#endif - long signed_num; - - if (*f != '%') { - /* This isn't a format spec, so write everything out until the next one - OR end of string is reached. */ - do { - OUTCHAR(*f); - } while(*++f && ('%' != *f)); - continue; - } - - ++f; - - /* Check for "%%". Note that although the ANSI standard lists - '%' as a conversion specifier, it says "The complete format - specification shall be `%%'," so we can avoid all the width - and precision processing. */ - if (*f == '%') { - ++f; - OUTCHAR('%'); - continue; - } - - /* If this is a positional parameter, the position must follow imediately - after the %, thus create a %<num>$ sequence */ - param=dprintf_DollarString(f, &f); - - if(!param) - param = param_num; - else - --param; - - param_num++; /* increase this always to allow "%2$s %1$s %s" and then the - third %s will pick the 3rd argument */ - - p = &vto[param]; - - /* pick up the specified width */ - if(p->flags & FLAGS_WIDTHPARAM) - width = vto[p->width].data.num; - else - width = p->width; - - /* pick up the specified precision */ - if(p->flags & FLAGS_PRECPARAM) - prec = vto[p->precision].data.num; - else if(p->flags & FLAGS_PREC) - prec = p->precision; - else - prec = -1; - - alt = p->flags & FLAGS_ALT; - - switch (p->type) { - case FORMAT_INT: - num = p->data.num; - if(p->flags & FLAGS_CHAR) { - /* Character. */ - if (!(p->flags & FLAGS_LEFT)) - while (--width > 0) - OUTCHAR(' '); - OUTCHAR((char) num); - if (p->flags & FLAGS_LEFT) - while (--width > 0) - OUTCHAR(' '); - break; - } - if(p->flags & FLAGS_UNSIGNED) { - /* Decimal unsigned integer. */ - base = 10; - goto unsigned_number; - } - if(p->flags & FLAGS_OCTAL) { - /* Octal unsigned integer. */ - base = 8; - goto unsigned_number; - } - if(p->flags & FLAGS_HEX) { - /* Hexadecimal unsigned integer. */ - - digits = (p->flags & FLAGS_UPPER)? upper_digits : lower_digits; - base = 16; - goto unsigned_number; - } - - /* Decimal integer. */ - base = 10; - -#if SIZEOF_LONG_LONG - if(p->flags & FLAGS_LONGLONG) { - /* long long */ - is_neg = p->data.lnum < 0; - num = is_neg ? (- p->data.lnum) : p->data.lnum; - } - else -#endif - { - signed_num = (long) num; - - is_neg = signed_num < 0; - num = is_neg ? (- signed_num) : signed_num; - } - goto number; - - unsigned_number:; - /* Unsigned number of base BASE. */ - is_neg = 0; - - number:; - /* Number of base BASE. */ - { - char *workend = &work[sizeof(work) - 1]; - register char *w; - - /* Supply a default precision if none was given. */ - if (prec == -1) - prec = 1; - - /* Put the number in WORK. */ - w = workend; - while (num > 0) { - *w-- = digits[num % base]; - num /= base; - } - width -= workend - w; - prec -= workend - w; - - if (alt && base == 8 && prec <= 0) { - *w-- = '0'; - --width; - } - - if (prec > 0) { - width -= prec; - while (prec-- > 0) - *w-- = '0'; - } - - if (alt && base == 16) - width -= 2; - - if (is_neg || (p->flags & FLAGS_SHOWSIGN) || (p->flags & FLAGS_SPACE)) - --width; - - if (!(p->flags & FLAGS_LEFT) && !(p->flags & FLAGS_PAD_NIL)) - while (width-- > 0) - OUTCHAR(' '); - - if (is_neg) - OUTCHAR('-'); - else if (p->flags & FLAGS_SHOWSIGN) - OUTCHAR('+'); - else if (p->flags & FLAGS_SPACE) - OUTCHAR(' '); - - if (alt && base == 16) { - OUTCHAR('0'); - if(p->flags & FLAGS_UPPER) - OUTCHAR('X'); - else - OUTCHAR('x'); - } - - if (!(p->flags & FLAGS_LEFT) && (p->flags & FLAGS_PAD_NIL)) - while (width-- > 0) - OUTCHAR('0'); - - /* Write the number. */ - while (++w <= workend) { - OUTCHAR(*w); - } - - if (p->flags & FLAGS_LEFT) - while (width-- > 0) - OUTCHAR(' '); - } - break; - - case FORMAT_STRING: - /* String. */ - { - static char null[] = "(nil)"; - char *str; - size_t len; - - str = (char *) p->data.str; - if ( str == NULL) { - /* Write null[] if there's space. */ - if (prec == -1 || prec >= (long) sizeof(null) - 1) { - str = null; - len = sizeof(null) - 1; - /* Disable quotes around (nil) */ - p->flags &= (~FLAGS_ALT); - } - else { - str = (char *)""; - len = 0; - } - } - else - len = strlen(str); - - if (prec != -1 && (size_t) prec < len) - len = prec; - width -= len; - - if (p->flags & FLAGS_ALT) - OUTCHAR('"'); - - if (!(p->flags&FLAGS_LEFT)) - while (width-- > 0) - OUTCHAR(' '); - - while (len-- > 0) - OUTCHAR(*str++); - if (p->flags&FLAGS_LEFT) - while (width-- > 0) - OUTCHAR(' '); - - if (p->flags & FLAGS_ALT) - OUTCHAR('"'); - } - break; - - case FORMAT_PTR: - /* Generic pointer. */ - { - void *ptr; - ptr = (void *) p->data.ptr; - if (ptr != NULL) { - /* If the pointer is not NULL, write it as a %#x spec. */ - base = 16; - digits = (p->flags & FLAGS_UPPER)? upper_digits : lower_digits; - alt = 1; - num = (unsigned long) ptr; - is_neg = 0; - goto number; - } - else { - /* Write "(nil)" for a nil pointer. */ - static char strnil[] = "(nil)"; - register char *point; - - width -= sizeof(strnil) - 1; - if (p->flags & FLAGS_LEFT) - while (width-- > 0) - OUTCHAR(' '); - for (point = strnil; *point != '\0'; ++point) - OUTCHAR(*point); - if (! (p->flags & FLAGS_LEFT)) - while (width-- > 0) - OUTCHAR(' '); - } - } - break; - - case FORMAT_DOUBLE: - { - char formatbuf[32]="%"; - char *fptr; - - width = -1; - if (p->flags & FLAGS_WIDTH) - width = p->width; - else if (p->flags & FLAGS_WIDTHPARAM) - width = vto[p->width].data.num; - - prec = -1; - if (p->flags & FLAGS_PREC) - prec = p->precision; - else if (p->flags & FLAGS_PRECPARAM) - prec = vto[p->precision].data.num; - - if (p->flags & FLAGS_LEFT) - strcat(formatbuf, "-"); - if (p->flags & FLAGS_SHOWSIGN) - strcat(formatbuf, "+"); - if (p->flags & FLAGS_SPACE) - strcat(formatbuf, " "); - if (p->flags & FLAGS_ALT) - strcat(formatbuf, "#"); - - fptr=&formatbuf[strlen(formatbuf)]; - - if(width >= 0) { - /* RECURSIVE USAGE */ - fptr += curl_msprintf(fptr, "%d", width); - } - if(prec >= 0) { - /* RECURSIVE USAGE */ - fptr += curl_msprintf(fptr, ".%d", prec); - } - if (p->flags & FLAGS_LONG) - strcat(fptr, "l"); - - if (p->flags & FLAGS_FLOATE) - strcat(fptr, p->flags&FLAGS_UPPER?"E":"e"); - else if (p->flags & FLAGS_FLOATG) - strcat(fptr, (p->flags & FLAGS_UPPER) ? "G" : "g"); - else - strcat(fptr, "f"); - - /* NOTE NOTE NOTE!! Not all sprintf() implementations returns number - of output characters */ -#if SIZEOF_LONG_DOUBLE - if (p->flags & FLAGS_LONG) - /* This is for support of the 'long double' type */ - (sprintf)(work, formatbuf, p->data.ldnum); - else -#endif - (sprintf)(work, formatbuf, p->data.dnum); - - for(fptr=work; *fptr; fptr++) - OUTCHAR(*fptr); - } - break; - - case FORMAT_INTPTR: - /* Answer the count of characters written. */ -#if SIZEOF_LONG_LONG - if (p->flags & FLAGS_LONGLONG) - *(long long int *) p->data.ptr = done; - else -#endif - if (p->flags & FLAGS_LONG) - *(long int *) p->data.ptr = done; - else if (!(p->flags & FLAGS_SHORT)) - *(int *) p->data.ptr = done; - else - *(short int *) p->data.ptr = done; - break; - - default: - break; - } - f = *end++; /* goto end of %-code */ - - } - return done; -} - -/* fputc() look-alike */ -static int CDECL addbyter(int output, FILE *data) -{ - struct nsprintf *infop=(struct nsprintf *)data; - - if(infop->length < infop->max) { - /* only do this if we haven't reached max length yet */ - infop->buffer[0] = (char)output; /* store */ - infop->buffer++; /* increase pointer */ - infop->length++; /* we are now one byte larger */ - return output; /* fputc() returns like this on success */ - } - return -1; -} - -int curl_msnprintf(char *buffer, size_t maxlength, const char *format, ...) -{ - va_list ap_save; /* argument pointer */ - int retcode; - struct nsprintf info; - - info.buffer = buffer; - info.length = 0; - info.max = maxlength; - - va_start(ap_save, format); - retcode = dprintf_formatf(&info, addbyter, format, ap_save); - va_end(ap_save); - info.buffer[0] = 0; /* we terminate this with a zero byte */ - - /* we could even return things like */ - - return retcode; -} - -int curl_mvsnprintf(char *buffer, size_t maxlength, const char *format, va_list ap_save) -{ - int retcode; - struct nsprintf info; - - info.buffer = buffer; - info.length = 0; - info.max = maxlength; - - retcode = dprintf_formatf(&info, addbyter, format, ap_save); - info.buffer[0] = 0; /* we terminate this with a zero byte */ - return retcode; -} - - -/* fputc() look-alike */ -static int CDECL alloc_addbyter(int output, FILE *data) -{ - struct asprintf *infop=(struct asprintf *)data; - - if(!infop->buffer) { - infop->buffer=(char *)malloc(32); - if(!infop->buffer) - return -1; /* fail */ - infop->alloc = 32; - infop->len =0; - } - else if(infop->len+1 >= infop->alloc) { - char *newptr; - - newptr = (char *)realloc(infop->buffer, infop->alloc*2); - - if(!newptr) { - return -1; - } - infop->buffer = newptr; - infop->alloc *= 2; - } - - infop->buffer[ infop->len ] = output; - - infop->len++; - - return output; /* fputc() returns like this on success */ - -} - -char *curl_maprintf(const char *format, ...) -{ - va_list ap_save; /* argument pointer */ - int retcode; - struct asprintf info; - - info.buffer = NULL; - info.len = 0; - info.alloc = 0; - - va_start(ap_save, format); - retcode = dprintf_formatf(&info, alloc_addbyter, format, ap_save); - va_end(ap_save); - if(info.len) { - info.buffer[info.len] = 0; /* we terminate this with a zero byte */ - return info.buffer; - } - else - return NULL; -} - -char *curl_mvaprintf(const char *format, va_list ap_save) -{ - int retcode; - struct asprintf info; - - info.buffer = NULL; - info.len = 0; - info.alloc = 0; - - retcode = dprintf_formatf(&info, alloc_addbyter, format, ap_save); - info.buffer[info.len] = 0; /* we terminate this with a zero byte */ - if(info.len) { - info.buffer[info.len] = 0; /* we terminate this with a zero byte */ - return info.buffer; - } - else - return NULL; -} - -static int CDECL storebuffer(int output, FILE *data) -{ - char **buffer = (char **)data; - **buffer = (char)output; - (*buffer)++; - return output; /* act like fputc() ! */ -} - -int curl_msprintf(char *buffer, const char *format, ...) -{ - va_list ap_save; /* argument pointer */ - int retcode; - va_start(ap_save, format); - retcode = dprintf_formatf(&buffer, storebuffer, format, ap_save); - va_end(ap_save); - *buffer=0; /* we terminate this with a zero byte */ - return retcode; -} - -#ifndef WIN32 /* not needed on win32 */ -extern int fputc(int, FILE *); -#endif - -int curl_mprintf(const char *format, ...) -{ - int retcode; - va_list ap_save; /* argument pointer */ - va_start(ap_save, format); - retcode = dprintf_formatf(stdout, fputc, format, ap_save); - va_end(ap_save); - return retcode; -} - -int curl_mfprintf(FILE *whereto, const char *format, ...) -{ - int retcode; - va_list ap_save; /* argument pointer */ - va_start(ap_save, format); - retcode = dprintf_formatf(whereto, fputc, format, ap_save); - va_end(ap_save); - return retcode; -} - -int curl_mvsprintf(char *buffer, const char *format, va_list ap_save) -{ - int retcode; - retcode = dprintf_formatf(&buffer, storebuffer, format, ap_save); - *buffer=0; /* we terminate this with a zero byte */ - return retcode; -} - -int curl_mvprintf(const char *format, va_list ap_save) -{ - return dprintf_formatf(stdout, fputc, format, ap_save); -} - -int curl_mvfprintf(FILE *whereto, const char *format, va_list ap_save) -{ - return dprintf_formatf(whereto, fputc, format, ap_save); -} - -#ifdef DPRINTF_DEBUG -int main() -{ - char buffer[129]; - char *ptr; -#if SIZEOF_LONG_LONG>0 - long long hullo; - dprintf("%3$12s %1$s %2$qd %4$d\n", "daniel", hullo, "stenberg", 65); -#endif - - mprintf("%3d %5d\n", 10, 1998); - - ptr=maprintf("test this then baby %s%s%s%s%s%s %d %d %d loser baby get a hit in yer face now!", "", "pretty long string pretty long string pretty long string pretty long string pretty long string", "/", "/", "/", "pretty long string", 1998, 1999, 2001); - - puts(ptr); - - memset(ptr, 55, strlen(ptr)+1); - - free(ptr); - -#if 1 - mprintf(buffer, "%s %s %d", "daniel", "stenberg", 19988); - puts(buffer); - - mfprintf(stderr, "%s %#08x\n", "dummy", 65); - - printf("%s %#08x\n", "dummy", 65); - { - double tryout = 3.14156592; - mprintf(buffer, "%.2g %G %f %e %E", tryout, tryout, tryout, tryout, tryout); - puts(buffer); - printf("%.2g %G %f %e %E\n", tryout, tryout, tryout, tryout, tryout); - } -#endif - - return 0; -} - -#endif - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/multi.c b/Build/source/libs/curl/lib/multi.c deleted file mode 100644 index a3d587fdf02..00000000000 --- a/Build/source/libs/curl/lib/multi.c +++ /dev/null @@ -1,361 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2001, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: multi.c,v 1.8 2002/01/07 20:52:32 bumblebury Exp $ - *****************************************************************************/ - -#include "setup.h" -#include <stdlib.h> -#include <string.h> -#include <curl/curl.h> - -#include "multi.h" /* will become <curl/multi.h> soon */ - -#include "urldata.h" -#include "transfer.h" -#include "url.h" - -struct Curl_message { - /* the 'CURLMsg' is the part that is visible to the external user */ - struct CURLMsg extmsg; - struct Curl_message *next; -}; - -typedef enum { - CURLM_STATE_INIT, - CURLM_STATE_CONNECT, - CURLM_STATE_DO, - CURLM_STATE_PERFORM, - CURLM_STATE_DONE, - CURLM_STATE_COMPLETED, - - CURLM_STATE_LAST /* not a true state, never use this */ -} CURLMstate; - -struct Curl_one_easy { - /* first, two fields for the linked list of these */ - struct Curl_one_easy *next; - struct Curl_one_easy *prev; - - struct SessionHandle *easy_handle; /* the easy handle for this unit */ - struct connectdata *easy_conn; /* the "unit's" connection */ - - CURLMstate state; /* the handle's state */ - CURLcode result; /* previous result */ -}; - - -#define CURL_MULTI_HANDLE 0x000bab1e - -#define GOOD_MULTI_HANDLE(x) ((x)&&(((struct Curl_multi *)x)->type == CURL_MULTI_HANDLE)) -#define GOOD_EASY_HANDLE(x) (x) - -/* This is the struct known as CURLM on the outside */ -struct Curl_multi { - /* First a simple identifier to easier detect if a user mix up - this multi handle with an easy handle. Set this to CURL_MULTI_HANDLE. */ - long type; - - /* We have a linked list with easy handles */ - struct Curl_one_easy easy; - /* This is the amount of entries in the linked list above. */ - int num_easy; - - /* this is a linked list of posted messages */ - struct Curl_message *msgs; - /* amount of messages in the queue */ - int num_msgs; - /* Hostname cache */ - curl_hash *hostcache; -}; - - -CURLM *curl_multi_init(void) -{ - struct Curl_multi *multi; - - multi = (void *)malloc(sizeof(struct Curl_multi)); - - if(multi) { - memset(multi, 0, sizeof(struct Curl_multi)); - multi->type = CURL_MULTI_HANDLE; - } - - return (CURLM *) multi; -} - -CURLMcode curl_multi_add_handle(CURLM *multi_handle, - CURL *easy_handle) -{ - struct Curl_multi *multi=(struct Curl_multi *)multi_handle; - struct Curl_one_easy *easy; - - /* First, make some basic checks that the CURLM handle is a good handle */ - if(!GOOD_MULTI_HANDLE(multi)) - return CURLM_BAD_HANDLE; - - /* Verify that we got a somewhat good easy handle too */ - if(!GOOD_EASY_HANDLE(easy_handle)) - return CURLM_BAD_EASY_HANDLE; - - /* Now, time to add an easy handle to the multi stack */ - easy = (struct Curl_one_easy *)malloc(sizeof(struct Curl_one_easy)); - if(!easy) - return CURLM_OUT_OF_MEMORY; - - /* clean it all first (just to be sure) */ - memset(easy, 0, sizeof(struct Curl_one_easy)); - - /* set the easy handle */ - easy->easy_handle = easy_handle; - easy->state = CURLM_STATE_INIT; - - /* We add this new entry first in the list. We make our 'next' point to the - previous next and our 'prev' point back to the 'first' struct */ - easy->next = multi->easy.next; - easy->prev = &multi->easy; - - /* make 'easy' the first node in the chain */ - multi->easy.next = easy; - - /* if there was a next node, make sure its 'prev' pointer links back to - the new node */ - if(easy->next) - easy->next->prev = easy; - - /* increase the node-counter */ - multi->num_easy++; - - return CURLM_CALL_MULTI_PERFORM; -} - -CURLMcode curl_multi_remove_handle(CURLM *multi_handle, - CURL *curl_handle) -{ - struct Curl_multi *multi=(struct Curl_multi *)multi_handle; - struct Curl_one_easy *easy; - - /* First, make some basic checks that the CURLM handle is a good handle */ - if(!GOOD_MULTI_HANDLE(multi)) - return CURLM_BAD_HANDLE; - - /* Verify that we got a somewhat good easy handle too */ - if(!GOOD_EASY_HANDLE(curl_handle)) - return CURLM_BAD_EASY_HANDLE; - - /* scan through the list and remove the 'curl_handle' */ - easy = multi->easy.next; - while(easy) { - if(easy->easy_handle == curl_handle) - break; - easy=easy->next; - } - if(easy) { - /* If the 'state' is not INIT or COMPLETED, we might need to do something - nice to put the easy_handle in a good known state when this returns. */ - - /* make the previous node point to our next */ - if(easy->prev) - easy->prev->next = easy->next; - /* make our next point to our previous node */ - if(easy->next) - easy->next->prev = easy->prev; - - /* NOTE NOTE NOTE - We do not touch the easy handle here! */ - free(easy); - - multi->num_easy--; /* one less to care about now */ - - return CURLM_OK; - } - else - return CURLM_BAD_EASY_HANDLE; /* twasn't found */ -} - -CURLMcode curl_multi_fdset(CURLM *multi_handle, - fd_set *read_fd_set, fd_set *write_fd_set, - fd_set *exc_fd_set, int *max_fd) -{ - /* Scan through all the easy handles to get the file descriptors set. - Some easy handles may not have connected to the remote host yet, - and then we must make sure that is done. */ - struct Curl_multi *multi=(struct Curl_multi *)multi_handle; - struct Curl_one_easy *easy; - int this_max_fd=-1; - - if(!GOOD_MULTI_HANDLE(multi)) - return CURLM_BAD_HANDLE; - - *max_fd = -1; /* so far none! */ - - easy=multi->easy.next; - while(easy) { - switch(easy->state) { - default: - break; - case CURLM_STATE_PERFORM: - /* This should have a set of file descriptors for us to set. */ - /* after the transfer is done, go DONE */ - - Curl_single_fdset(easy->easy_conn, - read_fd_set, write_fd_set, - exc_fd_set, &this_max_fd); - - /* remember the maximum file descriptor */ - if(this_max_fd > *max_fd) - *max_fd = this_max_fd; - - break; - } - easy = easy->next; /* check next handle */ - } - - return CURLM_OK; -} - -CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles) -{ - struct Curl_multi *multi=(struct Curl_multi *)multi_handle; - struct Curl_one_easy *easy; - bool done; - CURLMcode result=CURLM_OK; - - *running_handles = 0; /* bump this once for every living handle */ - - if(!GOOD_MULTI_HANDLE(multi)) - return CURLM_BAD_HANDLE; - - easy=multi->easy.next; - while(easy) { - switch(easy->state) { - case CURLM_STATE_INIT: - /* init this transfer. */ - easy->result=Curl_pretransfer(easy->easy_handle); - if(CURLE_OK == easy->result) { - /* after init, go CONNECT */ - easy->state = CURLM_STATE_CONNECT; - result = CURLM_CALL_MULTI_PERFORM; - } - break; - case CURLM_STATE_CONNECT: - if (Curl_global_host_cache_use(easy->easy_handle)) { - easy->easy_handle->hostcache = Curl_global_host_cache_get(); - } - else { - if (multi->hostcache == NULL) { - multi->hostcache = curl_hash_alloc(7, Curl_freeaddrinfo); - } - - easy->easy_handle->hostcache = multi->hostcache; - } - - /* Connect. We get a connection identifier filled in. */ - easy->result = Curl_connect(easy->easy_handle, &easy->easy_conn); - - /* after connect, go DO */ - if(CURLE_OK == easy->result) { - easy->state = CURLM_STATE_DO; - result = CURLM_CALL_MULTI_PERFORM; - } - break; - case CURLM_STATE_DO: - /* Do the fetch or put request */ - easy->result = Curl_do(&easy->easy_conn); - /* after do, go PERFORM */ - if(CURLE_OK == easy->result) { - if(CURLE_OK == Curl_readwrite_init(easy->easy_conn)) { - easy->state = CURLM_STATE_PERFORM; - result = CURLM_CALL_MULTI_PERFORM; - } - } - break; - case CURLM_STATE_PERFORM: - /* read/write data if it is ready to do so */ - easy->result = Curl_readwrite(easy->easy_conn, &done); - /* hm, when we follow redirects, we may need to go back to the CONNECT - state */ - /* after the transfer is done, go DONE */ - if(TRUE == done) { - /* call this even if the readwrite function returned error */ - easy->result = Curl_posttransfer(easy->easy_handle); - easy->state = CURLM_STATE_DONE; - result = CURLM_CALL_MULTI_PERFORM; - } - break; - case CURLM_STATE_DONE: - /* post-transfer command */ - easy->result = Curl_done(easy->easy_conn); - /* after we have DONE what we're supposed to do, go COMPLETED */ - if(CURLE_OK == easy->result) - easy->state = CURLM_STATE_COMPLETED; - break; - case CURLM_STATE_COMPLETED: - /* this is a completed transfer, it is likely to still be connected */ - - /* This node should be delinked from the list now and we should post - an information message that we are complete. */ - break; - default: - return CURLM_INTERNAL_ERROR; - } - - if((CURLM_STATE_COMPLETED != easy->state) && - (CURLE_OK != easy->result)) { - /* - * If an error was returned, and we aren't in completed now, - * then we go to completed and consider this transfer aborted. - */ - easy->state = CURLM_STATE_COMPLETED; - } - else if(CURLM_STATE_COMPLETED != easy->state) - /* this one still lives! */ - (*running_handles)++; - - easy = easy->next; /* operate on next handle */ - } - return result; -} - -CURLMcode curl_multi_cleanup(CURLM *multi_handle) -{ - struct Curl_multi *multi=(struct Curl_multi *)multi_handle; - if(GOOD_MULTI_HANDLE(multi)) { - multi->type = 0; /* not good anymore */ - curl_hash_destroy(multi->hostcache); - /* remove all easy handles */ - - free(multi); - - return CURLM_OK; - } - else - return CURLM_BAD_HANDLE; -} - -CURLMsg *curl_multi_info_read(CURLM *multi_handle, int *msgs_in_queue); - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/multi.h b/Build/source/libs/curl/lib/multi.h deleted file mode 100644 index e9af8098afb..00000000000 --- a/Build/source/libs/curl/lib/multi.h +++ /dev/null @@ -1,189 +0,0 @@ -#ifndef __CURL_MULTI_H -#define __CURL_MULTI_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2001, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: multi.h,v 1.9 2002/02/25 10:12:04 bagder Exp $ - *****************************************************************************/ -/* - This is meant to be the "external" header file. Don't give away any - internals here! - - This document presents a mixture of ideas from at least: - - Daniel Stenberg - - Steve Dekorte - - Sterling Hughes - - Ben Greear - - ------------------------------------------- - GOALS - - o Enable a "pull" interface. The application that uses libcurl decides where - and when to ask libcurl to get/send data. - - o Enable multiple simultaneous transfers in the same thread without making it - complicated for the application. - - o Enable the application to select() on its own file descriptors and curl's - file descriptors simultaneous easily. - - Example sources using this interface is here: ../multi/ - -*/ -#ifdef HAVE_SYS_SOCKET_H -#include <sys/socket.h> -#endif -#if defined(WIN32) && !defined(__GNUC__) || defined(__MINGW32__) -#include <winsock.h> -#endif - -#include <curl/curl.h> - -typedef void CURLM; - -typedef enum { - CURLM_CALL_MULTI_PERFORM=-1, /* please call curl_multi_perform() soon */ - CURLM_OK, - CURLM_BAD_HANDLE, /* the passed-in handle is not a valid CURLM handle */ - CURLM_BAD_EASY_HANDLE, /* an easy handle was not good/valid */ - CURLM_OUT_OF_MEMORY, /* if you ever get this, you're in deep sh*t */ - CURLM_INTERNAL_ERROR, /* this is a libcurl bug */ - CURLM_LAST -} CURLMcode; - -typedef enum { - CURLMSG_NONE, /* first, not used */ - CURLMSG_DONE, /* This easy handle has completed. 'whatever' points to - the CURLcode of the transfer */ - CURLMSG_LAST /* last, not used */ -} CURLMSG; - -struct CURLMsg { - CURLMSG msg; /* what this message means */ - CURL *easy_handle; /* the handle it concerns */ - union { - void *whatever; /* message-specific data */ - CURLcode result; /* return code for transfer */ - } data; -}; -typedef struct CURLMsg CURLMsg; - -/* - * Name: curl_multi_init() - * - * Desc: inititalize multi-style curl usage - * Returns: a new CURLM handle to use in all 'curl_multi' functions. - */ -CURLM *curl_multi_init(void); - -/* - * Name: curl_multi_add_handle() - * - * Desc: add a standard curl handle to the multi stack - * Returns: CURLMcode type, general multi error code. - */ -CURLMcode curl_multi_add_handle(CURLM *multi_handle, - CURL *curl_handle); - - /* - * Name: curl_multi_remove_handle() - * - * Desc: removes a curl handle from the multi stack again - * Returns: CURLMcode type, general multi error code. - */ -CURLMcode curl_multi_remove_handle(CURLM *multi_handle, - CURL *curl_handle); - - /* - * Name: curl_multi_fdset() - * - * Desc: Ask curl for its fd_set sets. The app can use these to select() or - * poll() on. We want curl_multi_perform() called as soon as one of - * them are ready. - * Returns: CURLMcode type, general multi error code. - */ -CURLMcode curl_multi_fdset(CURLM *multi_handle, - fd_set *read_fd_set, - fd_set *write_fd_set, - fd_set *exc_fd_set, - int *max_fd); - - /* - * Name: curl_multi_perform() - * - * Desc: When the app thinks there's data available for curl it calls this - * function to read/write whatever there is right now. This returns - * as soon as the reads and writes are done. This function does not - * require that there actually is data available for reading or that - * data can be written, it can be called just in case. It returns - * the number of handles that still transfer data in the second - * argument's integer-pointer. - * - * Returns: CURLMcode type, general multi error code. *NOTE* that this only - * returns errors etc regarding the whole multi stack. There might - * still have occurred problems on invidual transfers even when this - * returns OK. - */ -CURLMcode curl_multi_perform(CURLM *multi_handle, - int *running_handles); - - /* - * Name: curl_multi_cleanup() - * - * Desc: Cleans up and removes a whole multi stack. It does not free or - * touch any individual easy handles in any way. We need to define - * in what state those handles will be if this function is called - * in the middle of a transfer. - * Returns: CURLMcode type, general multi error code. - */ -CURLMcode curl_multi_cleanup(CURLM *multi_handle); - -/* - * Name: curl_multi_info_read() - * - * Desc: Ask the multi handle if there's any messages/informationals from - * the individual transfers. Messages include informationals such as - * error code from the transfer or just the fact that a transfer is - * completed. More details on these should be written down as well. - * - * Repeated calls to this function will return a new struct each - * time, until a special "end of msgs" struct is returned as a signal - * that there is no more to get at this point. - * - * The data the returned pointer points to will not survive calling - * curl_multi_cleanup(). - * - * The 'CURLMsg' struct is meant to be very simple and only contain - * very basic informations. If more involved information is wanted, - * we will provide the particular "transfer handle" in that struct - * and that should/could/would be used in subsequent - * curl_easy_getinfo() calls (or similar). The point being that we - * must never expose complex structs to applications, as then we'll - * undoubtably get backwards compatibility problems in the future. - * - * Returns: A pointer to a filled-in struct, or NULL if it failed or ran out - * of structs. It also writes the number of messages left in the - * queue (after this read) in the integer the second argument points - * to. - */ -CURLMsg *curl_multi_info_read(CURLM *multi_handle, - int *msgs_in_queue); - -#endif diff --git a/Build/source/libs/curl/lib/netrc.c b/Build/source/libs/curl/lib/netrc.c deleted file mode 100644 index 279e8779729..00000000000 --- a/Build/source/libs/curl/lib/netrc.c +++ /dev/null @@ -1,211 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: netrc.c,v 1.18 2002/01/18 13:04:48 bagder Exp $ - *****************************************************************************/ - -#include "setup.h" - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#ifdef HAVE_SYS_TYPES_H -#include <sys/types.h> -#endif -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif -#ifdef HAVE_PWD_H -#include <pwd.h> -#endif -#ifdef VMS -#include <unixlib.h> -#endif - -#include <curl/curl.h> - -#include "strequal.h" -#include "strtok.h" - -/* The last #include file should be: */ -#ifdef MALLOCDEBUG -#include "memdebug.h" -#endif - -/* Debug this single source file with: - 'make netrc' then run './netrc'! - - Oh, make sure you have a .netrc file too ;-) - */ - -/* Get user and password from .netrc when given a machine name */ - -enum { - NOTHING, - HOSTFOUND, /* the 'machine' keyword was found */ - HOSTCOMPLETE, /* the machine name following the keyword was found too */ - HOSTVALID, /* this is "our" machine! */ - - HOSTEND /* LAST enum */ -}; - -/* make sure we have room for at least this size: */ -#define LOGINSIZE 64 -#define PASSWORDSIZE 64 - -int Curl_parsenetrc(char *host, - char *login, - char *password) -{ - FILE *file; - char netrcbuffer[256]; - int retcode=1; - - char *home = NULL; - int state=NOTHING; - - char state_login=0; - char state_password=0; - -#define NETRC DOT_CHAR "netrc" - -#if defined(HAVE_GETPWUID) && defined(HAVE_GETEUID) - struct passwd *pw; - pw= getpwuid(geteuid()); - if (pw) { -#ifdef VMS - home = decc$translate_vms(pw->pw_dir); -#else - home = pw->pw_dir; -#endif - } -#else - void *pw=NULL; -#endif - - if(NULL == pw) { - home = curl_getenv("HOME"); /* portable environment reader */ - if(!home) { - return -1; - } - } - - if(strlen(home)>(sizeof(netrcbuffer)-strlen(NETRC))) { - if(NULL==pw) - free(home); - return -1; - } - - sprintf(netrcbuffer, "%s%s%s", home, DIR_CHAR, NETRC); - - file = fopen(netrcbuffer, "r"); - if(file) { - char *tok; - char *tok_buf; - while(fgets(netrcbuffer, sizeof(netrcbuffer), file)) { - tok=strtok_r(netrcbuffer, " \t\n", &tok_buf); - while(tok) { - switch(state) { - case NOTHING: - if(strequal("machine", tok)) { - /* the next tok is the machine name, this is in itself the - delimiter that starts the stuff entered for this machine, - after this we need to search for 'login' and - 'password'. */ - state=HOSTFOUND; - } - break; - case HOSTFOUND: - if(strequal(host, tok)) { - /* and yes, this is our host! */ - state=HOSTVALID; -#ifdef _NETRC_DEBUG - printf("HOST: %s\n", tok); -#endif - retcode=0; /* we did find our host */ - } - else - /* not our host */ - state=NOTHING; - break; - case HOSTVALID: - /* we are now parsing sub-keywords concerning "our" host */ - if(state_login) { - strncpy(login, tok, LOGINSIZE-1); -#ifdef _NETRC_DEBUG - printf("LOGIN: %s\n", login); -#endif - state_login=0; - } - else if(state_password) { - strncpy(password, tok, PASSWORDSIZE-1); -#ifdef _NETRC_DEBUG - printf("PASSWORD: %s\n", password); -#endif - state_password=0; - } - else if(strequal("login", tok)) - state_login=1; - else if(strequal("password", tok)) - state_password=1; - else if(strequal("machine", tok)) { - /* ok, there's machine here go => */ - state = HOSTFOUND; - } - break; - } /* switch (state) */ - tok = strtok_r(NULL, " \t\n", &tok_buf); - } /* while (tok) */ - } /* while fgets() */ - - fclose(file); - } - - if(NULL==pw) - free(home); - - return retcode; -} - -#ifdef _NETRC_DEBUG -int main(int argc, char **argv) -{ - char login[64]=""; - char password[64]=""; - - if(argc<2) - return -1; - - if(0 == ParseNetrc(argv[1], login, password)) { - printf("HOST: %s LOGIN: %s PASSWORD: %s\n", - argv[1], login, password); - } -} - -#endif - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/netrc.h b/Build/source/libs/curl/lib/netrc.h deleted file mode 100644 index 476f26d7402..00000000000 --- a/Build/source/libs/curl/lib/netrc.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef __NETRC_H -#define __NETRC_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: netrc.h,v 1.5 2001/01/05 10:11:42 bagder Exp $ - *****************************************************************************/ -int Curl_parsenetrc(char *host, - char *login, - char *password); -#endif diff --git a/Build/source/libs/curl/lib/progress.c b/Build/source/libs/curl/lib/progress.c deleted file mode 100644 index 6298a73ec98..00000000000 --- a/Build/source/libs/curl/lib/progress.c +++ /dev/null @@ -1,384 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2001, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: progress.c,v 1.36 2001/11/20 15:00:50 bagder Exp $ - *****************************************************************************/ - -#include "setup.h" - -#include <string.h> - -#if defined(WIN32) && !defined(__GNUC__) || defined(__MINGW32__) -#if defined(__MINGW32__) -#include <winsock.h> -#endif -#include <time.h> -#endif - -/* 20000318 mgs - * later we use _scrsize to determine the screen width, this emx library - * function needs stdlib.h to be included */ -#if defined(__EMX__) -#include <stdlib.h> -#endif - -#include <curl/curl.h> -#include "urldata.h" -#include "sendf.h" - -#include "progress.h" - -static void time2str(char *r, int t) -{ - int h = (t/3600); - int m = (t-(h*3600))/60; - int s = (t-(h*3600)-(m*60)); - sprintf(r,"%2d:%02d:%02d",h,m,s); -} - -/* The point of this function would be to return a string of the input data, - but never longer than 5 columns. Add suffix k, M, G when suitable... */ -static char *max5data(double bytes, char *max5) -{ -#define ONE_KILOBYTE 1024 -#define ONE_MEGABYTE (1024*1024) - - if(bytes < 100000) { - sprintf(max5, "%5d", (int)bytes); - return max5; - } - if(bytes < (9999*ONE_KILOBYTE)) { - sprintf(max5, "%4dk", (int)bytes/ONE_KILOBYTE); - return max5; - } - if(bytes < (100*ONE_MEGABYTE)) { - /* 'XX.XM' is good as long as we're less than 100 megs */ - sprintf(max5, "%4.1fM", bytes/ONE_MEGABYTE); - return max5; - } - sprintf(max5, "%4dM", (int)bytes/ONE_MEGABYTE); - return max5; -} - -/* - - New proposed interface, 9th of February 2000: - - pgrsStartNow() - sets start time - pgrsSetDownloadSize(x) - known expected download size - pgrsSetUploadSize(x) - known expected upload size - pgrsSetDownloadCounter() - amount of data currently downloaded - pgrsSetUploadCounter() - amount of data currently uploaded - pgrsUpdate() - show progress - pgrsDone() - transfer complete - -*/ - -void Curl_pgrsDone(struct connectdata *conn) -{ - struct SessionHandle *data = conn->data; - if(!(data->progress.flags & PGRS_HIDE)) { - data->progress.lastshow=0; - Curl_pgrsUpdate(conn); /* the final (forced) update */ - if(!data->progress.callback) - /* only output if we don't use progress callback */ - fprintf(data->set.err, "\n"); - } -} - -void Curl_pgrsTime(struct SessionHandle *data, timerid timer) -{ - switch(timer) { - default: - case TIMER_NONE: - /* mistake filter */ - break; - case TIMER_STARTSINGLE: - /* This is set at the start of a single fetch */ - data->progress.t_startsingle = Curl_tvnow(); - break; - - case TIMER_NAMELOOKUP: - data->progress.t_nslookup = - (double)Curl_tvdiff(Curl_tvnow(), data->progress.t_startsingle)/1000.0; - break; - case TIMER_CONNECT: - data->progress.t_connect = - (double)Curl_tvdiff(Curl_tvnow(), data->progress.t_startsingle)/1000.0; - break; - case TIMER_PRETRANSFER: - data->progress.t_pretransfer = - (double)Curl_tvdiff(Curl_tvnow(), data->progress.t_startsingle)/1000.0; - break; - case TIMER_STARTTRANSFER: - data->progress.t_starttransfer = - (double)Curl_tvdiff(Curl_tvnow(), data->progress.t_startsingle)/1000.0; - break; - case TIMER_POSTRANSFER: - /* this is the normal end-of-transfer thing */ - break; - } -} - -void Curl_pgrsStartNow(struct SessionHandle *data) -{ - data->progress.speeder_c = 0; /* reset the progress meter display */ - data->progress.start = Curl_tvnow(); -} - -void Curl_pgrsSetDownloadCounter(struct SessionHandle *data, double size) -{ - data->progress.downloaded = size; -} - -void Curl_pgrsSetUploadCounter(struct SessionHandle *data, double size) -{ - data->progress.uploaded = size; -} - -void Curl_pgrsSetDownloadSize(struct SessionHandle *data, double size) -{ - if(size > 0) { - data->progress.size_dl = size; - data->progress.flags |= PGRS_DL_SIZE_KNOWN; - } -} - -void Curl_pgrsSetUploadSize(struct SessionHandle *data, double size) -{ - if(size > 0) { - data->progress.size_ul = size; - data->progress.flags |= PGRS_UL_SIZE_KNOWN; - } -} - -/* EXAMPLE OUTPUT to follow: - - % Total % Received % Xferd Average Speed Time Curr. - Dload Upload Total Current Left Speed -100 12345 100 12345 100 12345 12345 12345 12:12:12 12:12:12 12:12:12 12345 - - */ - -int Curl_pgrsUpdate(struct connectdata *conn) -{ - struct timeval now; - int result; - - char max5[6][10]; - double dlpercen=0; - double ulpercen=0; - double total_percen=0; - - double total_transfer; - double total_expected_transfer; - double timespent; - - struct SessionHandle *data = conn->data; - - int nowindex = data->progress.speeder_c% CURR_TIME; - int checkindex; - - int countindex; /* amount of seconds stored in the speeder array */ - - char time_left[10]; - char time_total[10]; - char time_current[10]; - - double ulestimate=0; - double dlestimate=0; - - double total_estimate; - - - if(data->progress.flags & PGRS_HIDE) - ; /* We do enter this function even if we don't wanna see anything, since - this is were lots of the calculations are being made that will be used - even when not displayed! */ - else if(!(data->progress.flags & PGRS_HEADERS_OUT)) { - if (!data->progress.callback) { - if(conn->resume_from) - fprintf(data->set.err, "** Resuming transfer from byte position %d\n", - conn->resume_from); - fprintf(data->set.err, - " %% Total %% Received %% Xferd Average Speed Time Curr.\n" - " Dload Upload Total Current Left Speed\n"); - } - data->progress.flags |= PGRS_HEADERS_OUT; /* headers are shown */ - } - - now = Curl_tvnow(); /* what time is it */ - - /* The exact time spent so far (from the start) */ - timespent = (double)Curl_tvdiff (now, data->progress.start)/1000; - - data->progress.timespent = timespent; - - /* The average download speed this far */ - data->progress.dlspeed = - data->progress.downloaded/(timespent>0.01?timespent:1); - - /* The average upload speed this far */ - data->progress.ulspeed = - data->progress.uploaded/(timespent>0.01?timespent:1); - - if(data->progress.lastshow == Curl_tvlong(now)) - return 0; /* never update this more than once a second if the end isn't - reached */ - data->progress.lastshow = now.tv_sec; - - /* Let's do the "current speed" thing, which should use the fastest - of the dl/ul speeds. Store the fasted speed at entry 'nowindex'. */ - data->progress.speeder[ nowindex ] = - data->progress.downloaded>data->progress.uploaded? - data->progress.downloaded:data->progress.uploaded; - - /* remember the exact time for this moment */ - data->progress.speeder_time [ nowindex ] = now; - - /* advance our speeder_c counter, which is increased every time we get - here and we expect it to never wrap as 2^32 is a lot of seconds! */ - data->progress.speeder_c++; - - /* figure out how many index entries of data we have stored in our speeder - array. With N_ENTRIES filled in, we have about N_ENTRIES-1 seconds of - transfer. Imagine, after one second we have filled in two entries, - after two seconds we've filled in three entries etc. */ - countindex = ((data->progress.speeder_c>=CURR_TIME)? - CURR_TIME:data->progress.speeder_c) - 1; - - /* first of all, we don't do this if there's no counted seconds yet */ - if(countindex) { - long span_ms; - - /* Get the index position to compare with the 'nowindex' position. - Get the oldest entry possible. While we have less than CURR_TIME - entries, the first entry will remain the oldest. */ - checkindex = (data->progress.speeder_c>=CURR_TIME)? - data->progress.speeder_c%CURR_TIME:0; - - /* Figure out the exact time for the time span */ - span_ms = Curl_tvdiff(now, - data->progress.speeder_time[checkindex]); - if(0 == span_ms) - span_ms=1; /* at least one millisecond MUST have passed */ - - /* Calculate the average speed the last 'countindex' seconds */ - data->progress.current_speed = - (data->progress.speeder[nowindex]- - data->progress.speeder[checkindex])/((double)span_ms/1000); - } - else - /* the first second we use the main average */ - data->progress.current_speed = - (data->progress.ulspeed>data->progress.dlspeed)? - data->progress.ulspeed:data->progress.dlspeed; - - if(data->progress.flags & PGRS_HIDE) - return 0; - - else if(data->set.fprogress) { - /* There's a callback set, so we call that instead of writing - anything ourselves. This really is the way to go. */ - result= data->set.fprogress(data->set.progress_client, - data->progress.size_dl, - data->progress.downloaded, - data->progress.size_ul, - data->progress.uploaded); - if(result) - failf(data, "Callback aborted"); - return result; - } - - /* Figure out the estimated time of arrival for the upload */ - if((data->progress.flags & PGRS_UL_SIZE_KNOWN) && data->progress.ulspeed){ - ulestimate = data->progress.size_ul / data->progress.ulspeed; - ulpercen = (data->progress.uploaded / data->progress.size_ul)*100; - } - - /* ... and the download */ - if((data->progress.flags & PGRS_DL_SIZE_KNOWN) && data->progress.dlspeed) { - dlestimate = data->progress.size_dl / data->progress.dlspeed; - dlpercen = (data->progress.downloaded / data->progress.size_dl)*100; - } - - /* Now figure out which of them that is slower and use for the for - total estimate! */ - total_estimate = ulestimate>dlestimate?ulestimate:dlestimate; - - - /* If we have a total estimate, we can display that and the expected - time left */ - if(total_estimate) { - time2str(time_left, total_estimate-(int) data->progress.timespent); - time2str(time_total, total_estimate); - } - else { - /* otherwise we blank those times */ - strcpy(time_left, "--:--:--"); - strcpy(time_total, "--:--:--"); - } - /* The time spent so far is always known */ - time2str(time_current, data->progress.timespent); - - /* Get the total amount of data expected to get transfered */ - total_expected_transfer = - (data->progress.flags & PGRS_UL_SIZE_KNOWN? - data->progress.size_ul:data->progress.uploaded)+ - (data->progress.flags & PGRS_DL_SIZE_KNOWN? - data->progress.size_dl:data->progress.downloaded); - - /* We have transfered this much so far */ - total_transfer = data->progress.downloaded + data->progress.uploaded; - - /* Get the percentage of data transfered so far */ - if(total_expected_transfer) - total_percen=(double)(total_transfer/total_expected_transfer)*100; - - fprintf(data->set.err, - "\r%3d %s %3d %s %3d %s %s %s %s %s %s %s", - (int)total_percen, /* total % */ - max5data(total_expected_transfer, max5[2]), /* total size */ - (int)dlpercen, /* rcvd % */ - max5data(data->progress.downloaded, max5[0]), /* rcvd size */ - (int)ulpercen, /* xfer % */ - max5data(data->progress.uploaded, max5[1]), /* xfer size */ - - max5data(data->progress.dlspeed, max5[3]), /* avrg dl speed */ - max5data(data->progress.ulspeed, max5[4]), /* avrg ul speed */ - time_total, /* total time */ - time_current, /* current time */ - time_left, /* time left */ - max5data(data->progress.current_speed, max5[5]) /* current speed */ - ); - - /* we flush the output stream to make it appear as soon as possible */ - fflush(data->set.err); - - return 0; -} - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/progress.h b/Build/source/libs/curl/lib/progress.h deleted file mode 100644 index 39501a9cc4f..00000000000 --- a/Build/source/libs/curl/lib/progress.h +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef __PROGRESS_H -#define __PROGRESS_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: progress.h,v 1.14 2001/11/20 15:00:50 bagder Exp $ - *****************************************************************************/ - -#include "timeval.h" - - -typedef enum { - TIMER_NONE, - TIMER_NAMELOOKUP, - TIMER_CONNECT, - TIMER_PRETRANSFER, - TIMER_STARTTRANSFER, - TIMER_POSTRANSFER, - TIMER_STARTSINGLE, - TIMER_LAST /* must be last */ -} timerid; - -void Curl_pgrsDone(struct connectdata *); -void Curl_pgrsStartNow(struct SessionHandle *data); -void Curl_pgrsSetDownloadSize(struct SessionHandle *data, double size); -void Curl_pgrsSetUploadSize(struct SessionHandle *data, double size); -void Curl_pgrsSetDownloadCounter(struct SessionHandle *data, double size); -void Curl_pgrsSetUploadCounter(struct SessionHandle *data, double size); -int Curl_pgrsUpdate(struct connectdata *); -void Curl_pgrsTime(struct SessionHandle *data, timerid timer); - - -/* Don't show progress for sizes smaller than: */ -#define LEAST_SIZE_PROGRESS BUFSIZE - -#define PROGRESS_DOWNLOAD (1<<0) -#define PROGRESS_UPLOAD (1<<1) -#define PROGRESS_DOWN_AND_UP (PROGRESS_UPLOAD | PROGRESS_DOWNLOAD) - -#define PGRS_SHOW_DL (1<<0) -#define PGRS_SHOW_UL (1<<1) -#define PGRS_DONE_DL (1<<2) -#define PGRS_DONE_UL (1<<3) -#define PGRS_HIDE (1<<4) -#define PGRS_UL_SIZE_KNOWN (1<<5) -#define PGRS_DL_SIZE_KNOWN (1<<6) - -#define PGRS_HEADERS_OUT (1<<7) /* set when the headers have been written */ - - -#endif /* __PROGRESS_H */ diff --git a/Build/source/libs/curl/lib/security.c b/Build/source/libs/curl/lib/security.c deleted file mode 100644 index 1be54c8b8de..00000000000 --- a/Build/source/libs/curl/lib/security.c +++ /dev/null @@ -1,562 +0,0 @@ -/* This source code was modified by Martin Hedenfalk <mhe@stacken.kth.se> for - * use in Curl. His latest changes were done 2000-09-18. - * - * It has since been patched and modified a lot by Daniel Stenberg - * <daniel@haxx.se> to make it better applied to curl conditions, and to make - * it not use globals, pollute name space and more. This source code awaits a - * rewrite to work around the paragraph 2 in the BSD licenses as explained - * below. - * - * Copyright (c) 1998, 1999 Kungliga Tekniska Högskolan - * (Royal Institute of Technology, Stockholm, Sweden). - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * 3. Neither the name of the Institute nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. */ - -#include "setup.h" - -#ifdef KRB4 - -#define _MPRINTF_REPLACE /* we want curl-functions instead of native ones */ -#include <curl/mprintf.h> - -#include "security.h" -#include <stdlib.h> -#include <string.h> -#include <netdb.h> - -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif - -#include "base64.h" -#include "sendf.h" -#include "ftp.h" - -/* The last #include file should be: */ -#ifdef MALLOCDEBUG -#include "memdebug.h" -#endif - -#define min(a, b) ((a) < (b) ? (a) : (b)) - -static struct { - enum protection_level level; - const char *name; -} level_names[] = { - { prot_clear, "clear" }, - { prot_safe, "safe" }, - { prot_confidential, "confidential" }, - { prot_private, "private" } -}; - -static enum protection_level -name_to_level(const char *name) -{ - int i; - for(i = 0; i < (int)sizeof(level_names)/(int)sizeof(level_names[0]); i++) - if(!strncasecmp(level_names[i].name, name, strlen(name))) - return level_names[i].level; - return (enum protection_level)-1; -} - -static struct Curl_sec_client_mech *mechs[] = { -#ifdef KRB5 - /* not supported */ -#endif -#ifdef KRB4 - &Curl_krb4_client_mech, -#endif - NULL -}; - -int -Curl_sec_getc(struct connectdata *conn, FILE *F) -{ - if(conn->sec_complete && conn->data_prot) { - char c; - if(Curl_sec_read(conn, fileno(F), &c, 1) <= 0) - return EOF; - return c; - } - else - return getc(F); -} - -static int -block_read(int fd, void *buf, size_t len) -{ - unsigned char *p = buf; - int b; - while(len) { - b = read(fd, p, len); - if (b == 0) - return 0; - else if (b < 0) - return -1; - len -= b; - p += b; - } - return p - (unsigned char*)buf; -} - -static int -block_write(int fd, void *buf, size_t len) -{ - unsigned char *p = buf; - int b; - while(len) { - b = write(fd, p, len); - if(b < 0) - return -1; - len -= b; - p += b; - } - return p - (unsigned char*)buf; -} - -static int -sec_get_data(struct connectdata *conn, - int fd, struct krb4buffer *buf) -{ - int len; - int b; - - b = block_read(fd, &len, sizeof(len)); - if (b == 0) - return 0; - else if (b < 0) - return -1; - len = ntohl(len); - buf->data = realloc(buf->data, len); - b = block_read(fd, buf->data, len); - if (b == 0) - return 0; - else if (b < 0) - return -1; - buf->size = (conn->mech->decode)(conn->app_data, buf->data, len, - conn->data_prot, conn); - buf->index = 0; - return 0; -} - -static size_t -buffer_read(struct krb4buffer *buf, void *data, size_t len) -{ - len = min(len, buf->size - buf->index); - memcpy(data, (char*)buf->data + buf->index, len); - buf->index += len; - return len; -} - -static size_t -buffer_write(struct krb4buffer *buf, void *data, size_t len) -{ - if(buf->index + len > buf->size) { - void *tmp; - if(buf->data == NULL) - tmp = malloc(1024); - else - tmp = realloc(buf->data, buf->index + len); - if(tmp == NULL) - return -1; - buf->data = tmp; - buf->size = buf->index + len; - } - memcpy((char*)buf->data + buf->index, data, len); - buf->index += len; - return len; -} - -int -Curl_sec_read(struct connectdata *conn, int fd, void *buffer, int length) -{ - size_t len; - int rx = 0; - - if(conn->sec_complete == 0 || conn->data_prot == 0) - return read(fd, buffer, length); - - if(conn->in_buffer.eof_flag){ - conn->in_buffer.eof_flag = 0; - return 0; - } - - len = buffer_read(&conn->in_buffer, buffer, length); - length -= len; - rx += len; - buffer = (char*)buffer + len; - - while(length) { - if(sec_get_data(conn, fd, &conn->in_buffer) < 0) - return -1; - if(conn->in_buffer.size == 0) { - if(rx) - conn->in_buffer.eof_flag = 1; - return rx; - } - len = buffer_read(&conn->in_buffer, buffer, length); - length -= len; - rx += len; - buffer = (char*)buffer + len; - } - return rx; -} - -static int -sec_send(struct connectdata *conn, int fd, char *from, int length) -{ - int bytes; - void *buf; - bytes = (conn->mech->encode)(conn->app_data, from, length, conn->data_prot, - &buf, conn); - bytes = htonl(bytes); - block_write(fd, &bytes, sizeof(bytes)); - block_write(fd, buf, ntohl(bytes)); - free(buf); - return length; -} - -int -Curl_sec_fflush_fd(struct connectdata *conn, int fd) -{ - if(conn->data_prot != prot_clear) { - if(conn->out_buffer.index > 0){ - Curl_sec_write(conn, fd, - conn->out_buffer.data, conn->out_buffer.index); - conn->out_buffer.index = 0; - } - sec_send(conn, fd, NULL, 0); - } - return 0; -} - -int -Curl_sec_write(struct connectdata *conn, int fd, char *buffer, int length) -{ - int len = conn->buffer_size; - int tx = 0; - - if(conn->data_prot == prot_clear) - return write(fd, buffer, length); - - len -= (conn->mech->overhead)(conn->app_data, conn->data_prot, len); - while(length){ - if(length < len) - len = length; - sec_send(conn, fd, buffer, len); - length -= len; - buffer += len; - tx += len; - } - return tx; -} - -int -Curl_sec_vfprintf2(struct connectdata *conn, FILE *f, const char *fmt, va_list ap) -{ - char *buf; - int ret; - if(conn->data_prot == prot_clear) - return vfprintf(f, fmt, ap); - else { - buf = aprintf(fmt, ap); - ret = buffer_write(&conn->out_buffer, buf, strlen(buf)); - free(buf); - return ret; - } -} - -int -Curl_sec_fprintf2(struct connectdata *conn, FILE *f, const char *fmt, ...) -{ - int ret; - va_list ap; - va_start(ap, fmt); - ret = Curl_sec_vfprintf2(conn, f, fmt, ap); - va_end(ap); - return ret; -} - -int -Curl_sec_putc(struct connectdata *conn, int c, FILE *F) -{ - char ch = c; - if(conn->data_prot == prot_clear) - return putc(c, F); - - buffer_write(&conn->out_buffer, &ch, 1); - if(c == '\n' || conn->out_buffer.index >= 1024 /* XXX */) { - Curl_sec_write(conn, fileno(F), conn->out_buffer.data, conn->out_buffer.index); - conn->out_buffer.index = 0; - } - return c; -} - -int -Curl_sec_read_msg(struct connectdata *conn, char *s, int level) -{ - int len; - char *buf; - int code; - - buf = malloc(strlen(s)); - len = Curl_base64_decode(s + 4, buf); /* XXX */ - - len = (conn->mech->decode)(conn->app_data, buf, len, level, conn); - if(len < 0) - return -1; - - buf[len] = '\0'; - - if(buf[3] == '-') - code = 0; - else - sscanf(buf, "%d", &code); - if(buf[len-1] == '\n') - buf[len-1] = '\0'; - strcpy(s, buf); - free(buf); - return code; -} - -/* modified to return how many bytes written, or -1 on error ***/ -int -Curl_sec_vfprintf(struct connectdata *conn, FILE *f, const char *fmt, va_list ap) -{ - int ret = 0; - char *buf; - void *enc; - int len; - if(!conn->sec_complete) - return vfprintf(f, fmt, ap); - - buf = aprintf(fmt, ap); - len = (conn->mech->encode)(conn->app_data, buf, strlen(buf), - conn->command_prot, &enc, - conn); - free(buf); - if(len < 0) { - failf(conn->data, "Failed to encode command."); - return -1; - } - if(Curl_base64_encode(enc, len, &buf) < 0){ - failf(conn->data, "Out of memory base64-encoding."); - return -1; - } - if(conn->command_prot == prot_safe) - ret = fprintf(f, "MIC %s", buf); - else if(conn->command_prot == prot_private) - ret = fprintf(f, "ENC %s", buf); - else if(conn->command_prot == prot_confidential) - ret = fprintf(f, "CONF %s", buf); - - free(buf); - return ret; -} - -int -Curl_sec_fprintf(struct connectdata *conn, FILE *f, const char *fmt, ...) -{ - va_list ap; - int ret; - va_start(ap, fmt); - ret = Curl_sec_vfprintf(conn, f, fmt, ap); - va_end(ap); - return ret; -} - - -enum protection_level -Curl_set_command_prot(struct connectdata *conn, enum protection_level level) -{ - enum protection_level old = conn->command_prot; - conn->command_prot = level; - return old; -} - -static int -sec_prot_internal(struct connectdata *conn, int level) -{ - char *p; - unsigned int s = 1048576; - ssize_t nread; - - if(!conn->sec_complete){ - infof(conn->data, "No security data exchange has taken place.\n"); - return -1; - } - - if(level){ - if(Curl_ftpsendf(conn, "PBSZ %u", s)) - return -1; - - nread = Curl_GetFTPResponse(conn->data->state.buffer, conn, NULL); - if(nread < 0) - return -1; - - if(conn->data->state.buffer[0] != '2'){ - failf(conn->data, "Failed to set protection buffer size."); - return -1; - } - conn->buffer_size = s; - - p = strstr(conn->data->state.buffer, "PBSZ="); - if(p) - sscanf(p, "PBSZ=%u", &s); - if(s < conn->buffer_size) - conn->buffer_size = s; - } - - if(Curl_ftpsendf(conn, "PROT %c", level["CSEP"])) - return -1; - - nread = Curl_GetFTPResponse(conn->data->state.buffer, conn, NULL); - if(nread < 0) - return -1; - - if(conn->data->state.buffer[0] != '2'){ - failf(conn->data, "Failed to set protection level."); - return -1; - } - - conn->data_prot = (enum protection_level)level; - return 0; -} - -void -Curl_sec_set_protection_level(struct connectdata *conn) -{ - if(conn->sec_complete && conn->data_prot != conn->request_data_prot) - sec_prot_internal(conn, conn->request_data_prot); -} - - -int -Curl_sec_request_prot(struct connectdata *conn, const char *level) -{ - int l = name_to_level(level); - if(l == -1) - return -1; - conn->request_data_prot = (enum protection_level)l; - return 0; -} - -int -Curl_sec_login(struct connectdata *conn) -{ - int ret; - struct Curl_sec_client_mech **m; - ssize_t nread; - struct SessionHandle *data=conn->data; - int ftpcode; - - for(m = mechs; *m && (*m)->name; m++) { - void *tmp; - - tmp = realloc(conn->app_data, (*m)->size); - if (tmp == NULL) { - failf (data, "realloc %u failed", (*m)->size); - return -1; - } - conn->app_data = tmp; - - if((*m)->init && (*(*m)->init)(conn->app_data) != 0) { - infof(data, "Skipping %s...\n", (*m)->name); - continue; - } - infof(data, "Trying %s...\n", (*m)->name); - - if(Curl_ftpsendf(conn, "AUTH %s", (*m)->name)) - return -1; - - nread = Curl_GetFTPResponse(conn->data->state.buffer, conn, &ftpcode); - if(nread < 0) - return -1; - - if(conn->data->state.buffer[0] != '3'){ - switch(ftpcode) { - case 504: - infof(data, - "%s is not supported by the server.\n", (*m)->name); - break; - case 534: - infof(data, "%s rejected as security mechanism.\n", (*m)->name); - break; - default: - if(conn->data->state.buffer[0] == '5') { - infof(data, "The server doesn't support the FTP " - "security extensions.\n"); - return -1; - } - break; - } - continue; - } - - ret = (*(*m)->auth)(conn->app_data, conn); - - if(ret == AUTH_CONTINUE) - continue; - else if(ret != AUTH_OK){ - /* mechanism is supposed to output error string */ - return -1; - } - conn->mech = *m; - conn->sec_complete = 1; - conn->command_prot = prot_safe; - break; - } - - return *m == NULL; -} - -void -Curl_sec_end(struct connectdata *conn) -{ - if (conn->mech != NULL) { - if(conn->mech->end) - (conn->mech->end)(conn->app_data); - memset(conn->app_data, 0, conn->mech->size); - free(conn->app_data); - conn->app_data = NULL; - } - conn->sec_complete = 0; - conn->data_prot = (enum protection_level)0; - conn->mech=NULL; -} - -#endif /* KRB4 */ - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/security.h b/Build/source/libs/curl/lib/security.h deleted file mode 100644 index 750439acffb..00000000000 --- a/Build/source/libs/curl/lib/security.h +++ /dev/null @@ -1,72 +0,0 @@ -#ifndef __SECURITY_H -#define __SECURITY_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2001, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: security.h,v 1.5 2001/08/17 10:14:06 bagder Exp $ - *****************************************************************************/ - -/* this is a re-write */ - -#include <stdarg.h> -#include "urldata.h" /* for struct connectdata * */ - -struct Curl_sec_client_mech { - const char *name; - size_t size; - int (*init)(void *); - int (*auth)(void *, struct connectdata *); - void (*end)(void *); - int (*check_prot)(void *, int); - int (*overhead)(void *, int, int); - int (*encode)(void *, void*, int, int, void**, struct connectdata *); - int (*decode)(void *, void*, int, int, struct connectdata *); -}; - - -#define AUTH_OK 0 -#define AUTH_CONTINUE 1 -#define AUTH_ERROR 2 - -extern struct Curl_sec_client_mech Curl_krb4_client_mech; - -int Curl_sec_fflush_fd(struct connectdata *conn, int fd); -int Curl_sec_fprintf (struct connectdata *, FILE *, const char *, ...); -int Curl_sec_getc (struct connectdata *conn, FILE *); -int Curl_sec_putc (struct connectdata *conn, int, FILE *); -int Curl_sec_read (struct connectdata *conn, int, void *, int); -int Curl_sec_read_msg (struct connectdata *conn, char *, int); - -int Curl_sec_vfprintf(struct connectdata *, FILE *, const char *, va_list); -int Curl_sec_fprintf2(struct connectdata *conn, FILE *f, const char *fmt, ...); -int Curl_sec_vfprintf2(struct connectdata *conn, FILE *, const char *, va_list); -int Curl_sec_write (struct connectdata *conn, int, char *, int); - -void Curl_sec_end (struct connectdata *); -int Curl_sec_login (struct connectdata *); -void Curl_sec_prot (int, char **); -int Curl_sec_request_prot (struct connectdata *conn, const char *level); -void Curl_sec_set_protection_level(struct connectdata *conn); -void Curl_sec_status (void); - -enum protection_level Curl_set_command_prot(struct connectdata *, - enum protection_level); - -#endif diff --git a/Build/source/libs/curl/lib/sendf.c b/Build/source/libs/curl/lib/sendf.c deleted file mode 100644 index f49f2678f94..00000000000 --- a/Build/source/libs/curl/lib/sendf.c +++ /dev/null @@ -1,365 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2002, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: sendf.c,v 1.44 2002/02/05 15:33:00 bagder Exp $ - *****************************************************************************/ - -#include "setup.h" - -#include <stdio.h> -#include <stdarg.h> -#include <stdlib.h> -#include <errno.h> - -#ifdef HAVE_SYS_TYPES_H -#include <sys/types.h> -#endif - -#ifdef HAVE_SYS_SOCKET_H -#include <sys/socket.h> /* required for send() & recv() prototypes */ -#endif - -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif -#if defined(WIN32) && !defined(__GNUC__) || defined(__MINGW32__) -#include <winsock.h> -#endif - -#include <curl/curl.h> -#include "urldata.h" -#include "sendf.h" - -#define _MPRINTF_REPLACE /* use the internal *printf() functions */ -#include <curl/mprintf.h> - -#ifdef KRB4 -#include "security.h" -#endif -#include <string.h> -/* The last #include file should be: */ -#ifdef MALLOCDEBUG -#include "memdebug.h" -#endif - -/* returns last node in linked list */ -static struct curl_slist *slist_get_last(struct curl_slist *list) -{ - struct curl_slist *item; - - /* if caller passed us a NULL, return now */ - if (!list) - return NULL; - - /* loop through to find the last item */ - item = list; - while (item->next) { - item = item->next; - } - return item; -} - -/* append a struct to the linked list. It always retunrs the address of the - * first record, so that you can sure this function as an initialization - * function as well as an append function. If you find this bothersome, - * then simply create a separate _init function and call it appropriately from - * within the proram. */ -struct curl_slist *curl_slist_append(struct curl_slist *list, - const char *data) -{ - struct curl_slist *last; - struct curl_slist *new_item; - - new_item = (struct curl_slist *) malloc(sizeof(struct curl_slist)); - if (new_item) { - new_item->next = NULL; - new_item->data = strdup(data); - } - else { - fprintf(stderr, "Cannot allocate memory for QUOTE list.\n"); - return NULL; - } - - if (list) { - last = slist_get_last(list); - last->next = new_item; - return list; - } - - /* if this is the first item, then new_item *is* the list */ - return new_item; -} - -/* be nice and clean up resources */ -void curl_slist_free_all(struct curl_slist *list) -{ - struct curl_slist *next; - struct curl_slist *item; - - if (!list) - return; - - item = list; - do { - next = item->next; - - if (item->data) { - free(item->data); - } - free(item); - item = next; - } while (next); -} - - -/* Curl_infof() is for info message along the way */ - -void Curl_infof(struct SessionHandle *data, const char *fmt, ...) -{ - va_list ap; - if(data->set.verbose) { - va_start(ap, fmt); - fputs("* ", data->set.err); - vfprintf(data->set.err, fmt, ap); - va_end(ap); - } -} - -/* Curl_failf() is for messages stating why we failed. - * The message SHALL NOT include any LF or CR. - */ - -void Curl_failf(struct SessionHandle *data, const char *fmt, ...) -{ - va_list ap; - va_start(ap, fmt); - if(data->set.errorbuffer && !data->state.errorbuf) { - vsnprintf(data->set.errorbuffer, CURL_ERROR_SIZE, fmt, ap); - data->state.errorbuf = TRUE; /* wrote error string */ - } - va_end(ap); -} - -/* Curl_sendf() sends formated data to the server */ -CURLcode Curl_sendf(int sockfd, struct connectdata *conn, - const char *fmt, ...) -{ - struct SessionHandle *data = conn->data; - ssize_t bytes_written; - CURLcode result; - char *s; - va_list ap; - va_start(ap, fmt); - s = vaprintf(fmt, ap); /* returns an allocated string */ - va_end(ap); - if(!s) - return 0; /* failure */ - if(data->set.verbose) - fprintf(data->set.err, "> %s", s); - - /* Write the buffer to the socket */ - result = Curl_write(conn, sockfd, s, strlen(s), &bytes_written); - - free(s); /* free the output string */ - - return result; -} - -/* - * Curl_write() is an internal write function that sends plain (binary) data - * to the server. Works with plain sockets, SSL or kerberos. - * - */ -CURLcode Curl_write(struct connectdata *conn, int sockfd, - void *mem, size_t len, - ssize_t *written) -{ - ssize_t bytes_written; - -#ifdef USE_SSLEAY - /* SSL_write() is said to return 'int' while write() and send() returns - 'size_t' */ - if (conn->ssl.use) { - int err; - int rc = SSL_write(conn->ssl.handle, mem, len); - - if(rc < 0) { - err = SSL_get_error(conn->ssl.handle, rc); - - switch(err) { - case SSL_ERROR_WANT_READ: - case SSL_ERROR_WANT_WRITE: - /* this is basicly the EWOULDBLOCK equivalent */ - *written = 0; - return CURLE_OK; - } - /* a true error */ - failf(conn->data, "SSL_write() return error %d\n", err); - return CURLE_WRITE_ERROR; - } - bytes_written = rc; - } - else { -#endif -#ifdef KRB4 - if(conn->sec_complete) { - bytes_written = Curl_sec_write(conn, sockfd, mem, len); - } - else -#endif /* KRB4 */ - { - bytes_written = swrite(sockfd, mem, len); - } - if(-1 == bytes_written) { -#ifdef WIN32 - if(WSAEWOULDBLOCK == GetLastError()) -#else - if(EWOULDBLOCK == errno) -#endif - { - /* this is just a case of EWOULDBLOCK */ - *written=0; - return CURLE_OK; - } - } -#ifdef USE_SSLEAY - } -#endif - - *written = bytes_written; - return (-1 != bytes_written)?CURLE_OK:CURLE_WRITE_ERROR; -} - -/* client_write() sends data to the write callback(s) - - The bit pattern defines to what "streams" to write to. Body and/or header. - The defines are in sendf.h of course. - */ -CURLcode Curl_client_write(struct SessionHandle *data, - int type, - char *ptr, - size_t len) -{ - size_t wrote; - - if(0 == len) - len = strlen(ptr); - - if(type & CLIENTWRITE_BODY) { - wrote = data->set.fwrite(ptr, 1, len, data->set.out); - if(wrote != len) { - failf (data, "Failed writing body"); - return CURLE_WRITE_ERROR; - } - } - if((type & CLIENTWRITE_HEADER) && - (data->set.fwrite_header || data->set.writeheader) ) { - /* - * Write headers to the same callback or to the especially setup - * header callback function (added after version 7.7.1). - */ - curl_write_callback writeit= - data->set.fwrite_header?data->set.fwrite_header:data->set.fwrite; - - wrote = writeit(ptr, 1, len, data->set.writeheader); - if(wrote != len) { - failf (data, "Failed writing header"); - return CURLE_WRITE_ERROR; - } - } - - return CURLE_OK; -} - -/* - * Internal read-from-socket function. This is meant to deal with plain - * sockets, SSL sockets and kerberos sockets. - * - * If the read would block (EWOULDBLOCK) we return -1. Otherwise we return - * a regular CURLcode value. - */ -int Curl_read(struct connectdata *conn, - int sockfd, - char *buf, - size_t buffersize, - ssize_t *n) -{ - ssize_t nread; - -#ifdef USE_SSLEAY - if (conn->ssl.use) { - bool loop=TRUE; - int err; - do { - nread = SSL_read(conn->ssl.handle, buf, buffersize); - - if(nread >= 0) - /* successful read */ - break; - - err = SSL_get_error(conn->ssl.handle, nread); - - switch(err) { - case SSL_ERROR_NONE: /* this is not an error */ - case SSL_ERROR_ZERO_RETURN: /* no more data */ - loop=0; /* get out of loop */ - break; - case SSL_ERROR_WANT_READ: - case SSL_ERROR_WANT_WRITE: - /* if there's data pending, then we re-invoke SSL_read() */ - break; - } - } while(loop); - if(loop && SSL_pending(conn->ssl.handle)) - return -1; /* basicly EWOULDBLOCK */ - } - else { -#endif -#ifdef KRB4 - if(conn->sec_complete) - nread = Curl_sec_read(conn, sockfd, buf, buffersize); - else -#endif - nread = sread (sockfd, buf, buffersize); - - if(-1 == nread) { -#ifdef WIN32 - if(WSAEWOULDBLOCK == GetLastError()) -#else - if(EWOULDBLOCK == errno) -#endif - return -1; - } - -#ifdef USE_SSLEAY - } -#endif /* USE_SSLEAY */ - *n = nread; - return CURLE_OK; -} - - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/sendf.h b/Build/source/libs/curl/lib/sendf.h deleted file mode 100644 index 43d4313cd6a..00000000000 --- a/Build/source/libs/curl/lib/sendf.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef __SENDF_H -#define __SENDF_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: sendf.h,v 1.16 2002/01/16 14:49:51 bagder Exp $ - *****************************************************************************/ - -CURLcode Curl_sendf(int fd, struct connectdata *, const char *fmt, ...); -void Curl_infof(struct SessionHandle *, const char *fmt, ...); -void Curl_failf(struct SessionHandle *, const char *fmt, ...); - -#define infof Curl_infof -#define failf Curl_failf - -struct send_buffer { - char *buffer; - size_t size_max; - size_t size_used; -}; -typedef struct send_buffer send_buffer; - -#define CLIENTWRITE_BODY 1 -#define CLIENTWRITE_HEADER 2 -#define CLIENTWRITE_BOTH (CLIENTWRITE_BODY|CLIENTWRITE_HEADER) - -CURLcode Curl_client_write(struct SessionHandle *data, int type, char *ptr, - size_t len); - -/* internal read-function, does plain socket, SSL and krb4 */ -int Curl_read(struct connectdata *conn, int sockfd, - char *buf, size_t buffersize, - ssize_t *n); -/* internal write-function, does plain socket, SSL and krb4 */ -CURLcode Curl_write(struct connectdata *conn, int sockfd, - void *mem, size_t len, - ssize_t *written); - -#endif diff --git a/Build/source/libs/curl/lib/setup.h b/Build/source/libs/curl/lib/setup.h deleted file mode 100644 index 58bb2e2002d..00000000000 --- a/Build/source/libs/curl/lib/setup.h +++ /dev/null @@ -1,171 +0,0 @@ -#ifndef __SETUP_H -#define __SETUP_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: setup.h,v 1.21 2002/02/07 14:47:41 bagder Exp $ - *****************************************************************************/ - - - -#if !defined(WIN32) && defined(_WIN32) -/* This _might_ be a good Borland fix. Please report whether this works or - not! */ -#define WIN32 -#endif - -#ifdef HAVE_CONFIG_H - -#ifdef VMS -#include "config-vms.h" -#else -#include "config.h" /* the configure script results */ -#endif - -#else -#ifdef WIN32 -/* hand-modified win32 config.h! */ -#include "config-win32.h" -#endif -#ifdef macintosh -/* hand-modified MacOS config.h! */ -#include "config-mac.h" -#endif - -#endif - -#ifndef __cplusplus /* (rabe) */ -typedef unsigned char bool; -#define typedef_bool -#endif /* (rabe) */ - -#ifdef NEED_REENTRANT -/* Solaris machines needs _REENTRANT set for a few function prototypes and - things to appear in the #include files. We need to #define it before all - #include files */ -#define _REENTRANT -#endif - - -#include <stdio.h> -#ifndef OS -#ifdef WIN32 -#define OS "win32" -#else -#define OS "unknown" -#endif -#endif - -#if defined(HAVE_X509_H) && defined(HAVE_SSL_H) && defined(HAVE_RSA_H) && \ -defined(HAVE_PEM_H) && defined(HAVE_ERR_H) && defined(HAVE_CRYPTO_H) && \ -defined(HAVE_LIBSSL) && defined(HAVE_LIBCRYPTO) - /* the six important includes files all exist and so do both libs, - defined SSLeay usage */ -#define USE_SSLEAY 1 -#endif -#if defined(HAVE_OPENSSL_X509_H) && defined(HAVE_OPENSSL_SSL_H) && \ -defined(HAVE_OPENSSL_RSA_H) && defined(HAVE_OPENSSL_PEM_H) && \ -defined(HAVE_OPENSSL_ERR_H) && defined(HAVE_OPENSSL_CRYPTO_H) && \ -defined(HAVE_LIBSSL) && defined(HAVE_LIBCRYPTO) - /* the six important includes files all exist and so do both libs, - defined SSLeay usage */ -#define USE_SSLEAY 1 -#define USE_OPENSSL 1 -#endif - -#ifndef STDC_HEADERS /* no standard C headers! */ -#ifdef VMS -#include "../include/curl/stdcheaders.h" -#else -#include <curl/stdcheaders.h> -#endif - -#else -#ifdef _AIX -#include <curl/stdcheaders.h> -#endif -#endif - -/* Below we define four functions. They should - 1. close a socket - 2. read from a socket - 3. write to a socket - - 4. set the SIGALRM signal timeout - 5. set dir/file naming defines - */ - -#ifdef WIN32 -#if !defined(__GNUC__) || defined(__MINGW32__) -#define sclose(x) closesocket(x) -#define sread(x,y,z) recv(x,y,z,0) -#define swrite(x,y,z) (size_t)send(x,y,z,0) -#undef HAVE_ALARM -#else - /* gcc-for-win is still good :) */ -#define sclose(x) close(x) -#define sread(x,y,z) recv(x,y,z,0) -#define swrite(x,y,z) send(x,y,z,0) -#define HAVE_ALARM -#endif - -#define PATH_CHAR ";" -#define DIR_CHAR "\\" -#define DOT_CHAR "_" - -#else -#define sclose(x) close(x) -#define sread(x,y,z) recv(x,y,z,0) -#define swrite(x,y,z) send(x,y,z,0) -#define HAVE_ALARM - -#define PATH_CHAR ":" -#define DIR_CHAR "/" -#define DOT_CHAR "." - -#ifdef HAVE_STRCASECMP -/* this is for "-ansi -Wall -pedantic" to stop complaining! */ -extern int (strcasecmp)(const char *s1, const char *s2); -extern int (strncasecmp)(const char *s1, const char *s2, size_t n); -#ifndef fileno /* sunos 4 have this as a macro! */ -int fileno( FILE *stream); -#endif -#endif - -#endif - -/* - * Curl_addrinfo MUST be used for name resolving information. - * Information regarding a single IP witin a Curl_addrinfo MUST be stored in - * a Curl_ipconnect struct. - */ -#ifdef ENABLE_IPV6 -typedef struct addrinfo Curl_addrinfo; -typedef struct addrinfo Curl_ipconnect; -#else -typedef struct hostent Curl_addrinfo; -typedef struct in_addr Curl_ipconnect; -#endif - -#ifndef CDECL -#define CDECL -#endif - -#endif /* __CONFIG_H */ diff --git a/Build/source/libs/curl/lib/speedcheck.c b/Build/source/libs/curl/lib/speedcheck.c deleted file mode 100644 index 13313e522f2..00000000000 --- a/Build/source/libs/curl/lib/speedcheck.c +++ /dev/null @@ -1,78 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: speedcheck.c,v 1.13 2001/10/12 12:32:20 bagder Exp $ - *****************************************************************************/ - -#include "setup.h" - -#include <stdio.h> -#include <string.h> -#if defined(__MINGW32__) -#include <winsock.h> -#endif - -#include <curl/curl.h> -#include "urldata.h" -#include "sendf.h" -#include "speedcheck.h" - -void Curl_speedinit(struct SessionHandle *data) -{ - memset(&data->state.keeps_speed, 0, sizeof(struct timeval)); -} - -CURLcode Curl_speedcheck(struct SessionHandle *data, - struct timeval now) -{ - if((data->progress.current_speed >= 0) && - data->set.low_speed_time && - (Curl_tvlong(data->state.keeps_speed) != 0) && - (data->progress.current_speed < data->set.low_speed_limit)) { - - /* We are now below the "low speed limit". If we are below it - for "low speed time" seconds we consider that enough reason - to abort the download. */ - - if( (Curl_tvdiff(now, data->state.keeps_speed)/1000) > - data->set.low_speed_time) { - /* we have been this slow for long enough, now die */ - failf(data, - "Operation too slow. " - "Less than %d bytes/sec transfered the last %d seconds", - data->set.low_speed_limit, - data->set.low_speed_time); - return CURLE_OPERATION_TIMEOUTED; - } - } - else { - /* we keep up the required speed all right */ - data->state.keeps_speed = now; - } - return CURLE_OK; -} - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/speedcheck.h b/Build/source/libs/curl/lib/speedcheck.h deleted file mode 100644 index ba664c22076..00000000000 --- a/Build/source/libs/curl/lib/speedcheck.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef __SPEEDCHECK_H -#define __SPEEDCHECK_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: speedcheck.h,v 1.8 2001/08/30 22:48:34 bagder Exp $ - *****************************************************************************/ - -#include "setup.h" - -#include "timeval.h" - -void Curl_speedinit(struct SessionHandle *data); -CURLcode Curl_speedcheck(struct SessionHandle *data, - struct timeval now); - -#endif diff --git a/Build/source/libs/curl/lib/ssluse.c b/Build/source/libs/curl/lib/ssluse.c deleted file mode 100644 index 8c4a7cc5c7a..00000000000 --- a/Build/source/libs/curl/lib/ssluse.c +++ /dev/null @@ -1,956 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2001, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: ssluse.c,v 1.49 2002/01/30 08:17:23 bagder Exp $ - *****************************************************************************/ - -/* - * The original SSL code for curl was written by - * Linas Vepstas <linas@linas.org> and Sampo Kellomaki <sampo@iki.fi> - */ - -#include "setup.h" - -#include <string.h> -#include <stdlib.h> - -#include "urldata.h" -#include "sendf.h" -#include "formdata.h" /* for the boundary function */ - -#ifdef USE_SSLEAY -#include <openssl/rand.h> - -/* The last #include file should be: */ -#ifdef MALLOCDEBUG -#include "memdebug.h" -#endif - -#if OPENSSL_VERSION_NUMBER >= 0x0090581fL -#define HAVE_SSL_GET1_SESSION 1 -#else -#undef HAVE_SSL_GET1_SESSION -#endif - -#if OPENSSL_VERSION_NUMBER >= 0x00904100L -#define HAVE_USERDATA_IN_PWD_CALLBACK 1 -#else -#undef HAVE_USERDATA_IN_PWD_CALLBACK -#endif - -#ifndef HAVE_USERDATA_IN_PWD_CALLBACK -static char global_passwd[64]; -#endif - -static int passwd_callback(char *buf, int num, int verify -#if HAVE_USERDATA_IN_PWD_CALLBACK - /* This was introduced in 0.9.4, we can set this - using SSL_CTX_set_default_passwd_cb_userdata() - */ - , void *global_passwd -#endif - ) -{ - if(verify) - fprintf(stderr, "%s\n", buf); - else { - if(num > (int)strlen((char *)global_passwd)) { - strcpy(buf, global_passwd); - return strlen(buf); - } - } - return 0; -} - -static -bool seed_enough(int nread) -{ -#ifdef HAVE_RAND_STATUS - nread = 0; /* to prevent compiler warnings */ - - /* only available in OpenSSL 0.9.5a and later */ - if(RAND_status()) - return TRUE; -#else - if(nread > 500) - /* this is a very silly decision to make */ - return TRUE; -#endif - return FALSE; /* not enough */ -} - -static -int random_the_seed(struct SessionHandle *data) -{ - char *buf = data->state.buffer; /* point to the big buffer */ - int nread=0; - - /* Q: should we add support for a random file name as a libcurl option? - A: Yes, it is here */ - -#ifndef RANDOM_FILE - /* if RANDOM_FILE isn't defined, we only perform this if an option tells - us to! */ - if(data->set.ssl.random_file) -#define RANDOM_FILE "" /* doesn't matter won't be used */ -#endif - { - /* let the option override the define */ - nread += RAND_load_file((data->set.ssl.random_file? - data->set.ssl.random_file:RANDOM_FILE), - 16384); - if(seed_enough(nread)) - return nread; - } - -#if defined(HAVE_RAND_EGD) - /* only available in OpenSSL 0.9.5 and later */ - /* EGD_SOCKET is set at configure time or not at all */ -#ifndef EGD_SOCKET - /* If we don't have the define set, we only do this if the egd-option - is set */ - if(data->set.ssl.egdsocket) -#define EGD_SOCKET "" /* doesn't matter won't be used */ -#endif - { - /* If there's an option and a define, the option overrides the - define */ - int ret = RAND_egd(data->set.ssl.egdsocket?data->set.ssl.egdsocket:EGD_SOCKET); - if(-1 != ret) { - nread += ret; - if(seed_enough(nread)) - return nread; - } - } -#endif - - /* If we get here, it means we need to seed the PRNG using a "silly" - approach! */ -#ifdef HAVE_RAND_SCREEN - /* This one gets a random value by reading the currently shown screen */ - RAND_screen(); - nread = 100; /* just a value */ -#else - { - int len; - char *area = Curl_FormBoundary(); - if(!area) - return 3; /* out of memory */ - - len = strlen(area); - RAND_seed(area, len); - - free(area); /* now remove the random junk */ - } -#endif - - /* generates a default path for the random seed file */ - buf[0]=0; /* blank it first */ - RAND_file_name(buf, BUFSIZE); - if ( buf[0] ) { - /* we got a file name to try */ - nread += RAND_load_file(buf, 16384); - if(seed_enough(nread)) - return nread; - } - - infof(data, "libcurl is now using a weak random seed!\n"); - return nread; -} - -#ifndef SSL_FILETYPE_ENGINE -#define SSL_FILETYPE_ENGINE 42 -#endif -static int do_file_type(const char *type) -{ - if (!type || !type[0]) - return SSL_FILETYPE_PEM; - if (curl_strequal(type, "PEM")) - return SSL_FILETYPE_PEM; - if (curl_strequal(type, "DER")) - return SSL_FILETYPE_ASN1; - if (curl_strequal(type, "ENG")) - return SSL_FILETYPE_ENGINE; - return -1; -} - -static -int cert_stuff(struct connectdata *conn, - char *cert_file, - const char *cert_type, - char *key_file, - const char *key_type) -{ - struct SessionHandle *data = conn->data; - int file_type; - - if (cert_file != NULL) { - SSL *ssl; - X509 *x509; - - if(data->set.key_passwd) { -#ifndef HAVE_USERDATA_IN_PWD_CALLBACK - /* - * If password has been given, we store that in the global - * area (*shudder*) for a while: - */ - strcpy(global_passwd, data->set.key_passwd); -#else - /* - * We set the password in the callback userdata - */ - SSL_CTX_set_default_passwd_cb_userdata(conn->ssl.ctx, - data->set.key_passwd); -#endif - /* Set passwd callback: */ - SSL_CTX_set_default_passwd_cb(conn->ssl.ctx, passwd_callback); - } - -#if 0 - if (SSL_CTX_use_certificate_file(conn->ssl.ctx, - cert_file, - SSL_FILETYPE_PEM) != 1) { - failf(data, "unable to set certificate file (wrong password?)"); - return(0); - } - if (key_file == NULL) - key_file=cert_file; - - if (SSL_CTX_use_PrivateKey_file(conn->ssl.ctx, - key_file, - SSL_FILETYPE_PEM) != 1) { - failf(data, "unable to set public key file"); - return(0); - } -#else - /* The '#ifdef 0' section above was removed on 17-dec-2001 */ - - file_type = do_file_type(cert_type); - - switch(file_type) { - case SSL_FILETYPE_PEM: - case SSL_FILETYPE_ASN1: - if (SSL_CTX_use_certificate_file(conn->ssl.ctx, - cert_file, - file_type) != 1) { - failf(data, "unable to set certificate file (wrong password?)"); - return 0; - } - break; - case SSL_FILETYPE_ENGINE: - failf(data, "file type ENG for certificate not implemented"); - return 0; - - default: - failf(data, "not supported file type '%s' for certificate", cert_type); - return 0; - } - - file_type = do_file_type(key_type); - - switch(file_type) { - case SSL_FILETYPE_PEM: - if (key_file == NULL) - /* cert & key can only be in PEM case in the same file */ - key_file=cert_file; - case SSL_FILETYPE_ASN1: - if (SSL_CTX_use_PrivateKey_file(conn->ssl.ctx, - key_file, - file_type) != 1) { - failf(data, "unable to set private key file\n"); - return 0; - } - break; - case SSL_FILETYPE_ENGINE: -#ifdef HAVE_OPENSSL_ENGINE_H - { /* XXXX still needs some work */ - EVP_PKEY *priv_key = NULL; - if (conn && conn->data && conn->data->engine) { - if (!key_file || !key_file[0]) { - failf(data, "no key set to load from crypto engine\n"); - return 0; - } - priv_key = ENGINE_load_private_key(conn->data->engine,key_file, - data->set.key_passwd); - if (!priv_key) { - failf(data, "failed to load private key from crypto engine\n"); - return 0; - } - if (SSL_CTX_use_PrivateKey(conn->ssl.ctx, priv_key) != 1) { - failf(data, "unable to set private key\n"); - EVP_PKEY_free(priv_key); - return 0; - } - EVP_PKEY_free(priv_key); /* we don't need the handle any more... */ - } - else { - failf(data, "crypto engine not set, can't load private key\n"); - return 0; - } - } -#else - failf(data, "file type ENG for private key not supported\n"); - return 0; -#endif - break; - default: - failf(data, "not supported file type for private key\n"); - return 0; - } - -#endif - - ssl=SSL_new(conn->ssl.ctx); - x509=SSL_get_certificate(ssl); - - if (x509 != NULL) - EVP_PKEY_copy_parameters(X509_get_pubkey(x509), - SSL_get_privatekey(ssl)); - SSL_free(ssl); - - /* If we are using DSA, we can copy the parameters from - * the private key */ - - - /* Now we know that a key and cert have been set against - * the SSL context */ - if (!SSL_CTX_check_private_key(conn->ssl.ctx)) { - failf(data, "Private key does not match the certificate public key"); - return(0); - } -#ifndef HAVE_USERDATA_IN_PWD_CALLBACK - /* erase it now */ - memset(global_passwd, 0, sizeof(global_passwd)); -#endif - } - return(1); -} - -static -int cert_verify_callback(int ok, X509_STORE_CTX *ctx) -{ - X509 *err_cert; - char buf[256]; - - err_cert=X509_STORE_CTX_get_current_cert(ctx); - X509_NAME_oneline(X509_get_subject_name(err_cert),buf,256); - - return ok; -} - -#endif - -#ifdef USE_SSLEAY -/* "global" init done? */ -static int init_ssl=0; - -/* we have the "SSL is seeded" boolean global for the application to - prevent multiple time-consuming seedings in vain */ -static bool ssl_seeded = FALSE; -#endif - -/* Global init */ -void Curl_SSL_init(void) -{ -#ifdef USE_SSLEAY - /* make sure this is only done once */ - if(0 != init_ssl) - return; - - init_ssl++; /* never again */ - -#ifdef HAVE_ENGINE_LOAD_BUILTIN_ENGINES - ENGINE_load_builtin_engines(); -#endif - - /* Lets get nice error messages */ - SSL_load_error_strings(); - - /* Setup all the global SSL stuff */ - SSLeay_add_ssl_algorithms(); -#else - /* SSL disabled, do nothing */ -#endif -} - -/* Global cleanup */ -void Curl_SSL_cleanup(void) -{ -#ifdef USE_SSLEAY - if(init_ssl) { - /* only cleanup if we did a previous init */ - - /* Free the SSL error strings */ - ERR_free_strings(); - - /* EVP_cleanup() removes all ciphers and digests from the - table. */ - EVP_cleanup(); - -#ifdef HAVE_ENGINE_cleanup - ENGINE_cleanup(); -#endif - - init_ssl=0; /* not inited any more */ - } -#else - /* SSL disabled, do nothing */ -#endif -} - -#ifdef USE_SSLEAY - -/* - * This function is called when an SSL connection is closed. - */ -void Curl_SSL_Close(struct connectdata *conn) -{ - if (conn->ssl.use) { - /* - ERR_remove_state() frees the error queue associated with - thread pid. If pid == 0, the current thread will have its - error queue removed. - - Since error queue data structures are allocated - automatically for new threads, they must be freed when - threads are terminated in oder to avoid memory leaks. - */ - ERR_remove_state(0); - - if(conn->ssl.handle) { - (void)SSL_shutdown(conn->ssl.handle); - SSL_set_connect_state(conn->ssl.handle); - - SSL_free (conn->ssl.handle); - conn->ssl.handle = NULL; - } - if(conn->ssl.ctx) { - SSL_CTX_free (conn->ssl.ctx); - conn->ssl.ctx = NULL; - } - conn->ssl.use = FALSE; /* get back to ordinary socket usage */ - } -} - - -/* - * This sets up a session cache to the specified size. - */ -CURLcode Curl_SSL_InitSessions(struct SessionHandle *data, long amount) -{ - struct curl_ssl_session *session; - - if(data->state.session) - /* this is just a precaution to prevent multiple inits */ - return CURLE_OK; - - session = (struct curl_ssl_session *) - malloc(amount * sizeof(struct curl_ssl_session)); - if(!session) - return CURLE_OUT_OF_MEMORY; - - /* "blank out" the newly allocated memory */ - memset(session, 0, amount * sizeof(struct curl_ssl_session)); - - /* store the info in the SSL section */ - data->set.ssl.numsessions = amount; - data->state.session = session; - data->state.sessionage = 1; /* this is brand new */ - - return CURLE_OK; -} - -/* - * Check if there's a session ID for the given connection in the cache, - * and if there's one suitable, it is returned. - */ -static int Get_SSL_Session(struct connectdata *conn, - SSL_SESSION **ssl_sessionid) -{ - struct curl_ssl_session *check; - struct SessionHandle *data = conn->data; - long i; - - for(i=0; i< data->set.ssl.numsessions; i++) { - check = &data->state.session[i]; - if(!check->sessionid) - /* not session ID means blank entry */ - continue; - if(strequal(conn->name, check->name) && - (conn->remote_port == check->remote_port) ) { - /* yes, we have a session ID! */ - data->state.sessionage++; /* increase general age */ - check->age = data->state.sessionage; /* set this as used in this age */ - *ssl_sessionid = check->sessionid; - return FALSE; - } - } - *ssl_sessionid = (SSL_SESSION *)NULL; - return TRUE; -} - -/* - * Kill a single session ID entry in the cache. - */ -static int Kill_Single_Session(struct curl_ssl_session *session) -{ - if(session->sessionid) { - /* defensive check */ - - /* free the ID */ - SSL_SESSION_free(session->sessionid); - session->sessionid=NULL; - session->age = 0; /* fresh */ - free(session->name); - session->name = NULL; /* no name */ - - return 0; /* ok */ - } - else - return 1; -} - -/* - * This function is called when the 'data' struct is going away. Close - * down everything and free all resources! - */ -int Curl_SSL_Close_All(struct SessionHandle *data) -{ - int i; - - if(data->state.session) { - for(i=0; i< data->set.ssl.numsessions; i++) - /* the single-killer function handles empty table slots */ - Kill_Single_Session(&data->state.session[i]); - - /* free the cache data */ - free(data->state.session); - } -#ifdef HAVE_OPENSSL_ENGINE_H - if (data->engine) - { - ENGINE_free(data->engine); - data->engine = NULL; - } -#endif - return 0; -} - -/* - * Extract the session id and store it in the session cache. - */ -static int Store_SSL_Session(struct connectdata *conn) -{ - SSL_SESSION *ssl_sessionid; - int i; - struct SessionHandle *data=conn->data; /* the mother of all structs */ - struct curl_ssl_session *store = &data->state.session[0]; - int oldest_age=data->state.session[0].age; /* zero if unused */ - - /* ask OpenSSL, say please */ - -#ifdef HAVE_SSL_GET1_SESSION - ssl_sessionid = SSL_get1_session(conn->ssl.handle); - - /* SSL_get1_session() will increment the reference - count and the session will stay in memory until explicitly freed with - SSL_SESSION_free(3), regardless of its state. - This function was introduced in openssl 0.9.5a. */ -#else - ssl_sessionid = SSL_get_session(conn->ssl.handle); - - /* if SSL_get1_session() is unavailable, use SSL_get_session(). - This is an inferior option because the session can be flushed - at any time by openssl. It is included only so curl compiles - under versions of openssl < 0.9.5a. - - WARNING: How curl behaves if it's session is flushed is - untested. - */ -#endif - - /* Now we should add the session ID and the host name to the cache, (remove - the oldest if necessary) */ - - /* find an empty slot for us, or find the oldest */ - for(i=1; (i<data->set.ssl.numsessions) && - data->state.session[i].sessionid; i++) { - if(data->state.session[i].age < oldest_age) { - oldest_age = data->state.session[i].age; - store = &data->state.session[i]; - } - } - if(i == data->set.ssl.numsessions) - /* cache is full, we must "kill" the oldest entry! */ - Kill_Single_Session(store); - else - store = &data->state.session[i]; /* use this slot */ - - /* now init the session struct wisely */ - store->sessionid = ssl_sessionid; - store->age = data->state.sessionage; /* set current age */ - store->name = strdup(conn->name); /* clone host name */ - store->remote_port = conn->remote_port; /* port number */ - - return 0; -} - -static int Curl_ASN1_UTCTIME_output(struct connectdata *conn, - const char *prefix, - ASN1_UTCTIME *tm) -{ - char *asn1_string; - int gmt=FALSE; - int i; - int year=0,month=0,day=0,hour=0,minute=0,second=0; - struct SessionHandle *data = conn->data; - - if(!data->set.verbose) - return 0; - - i=tm->length; - asn1_string=(char *)tm->data; - - if (i < 10) - return 1; - if (asn1_string[i-1] == 'Z') - gmt=TRUE; - for (i=0; i<10; i++) - if ((asn1_string[i] > '9') || (asn1_string[i] < '0')) - return 2; - - year= (asn1_string[0]-'0')*10+(asn1_string[1]-'0'); - if (year < 50) - year+=100; - - month= (asn1_string[2]-'0')*10+(asn1_string[3]-'0'); - if ((month > 12) || (month < 1)) - return 3; - - day= (asn1_string[4]-'0')*10+(asn1_string[5]-'0'); - hour= (asn1_string[6]-'0')*10+(asn1_string[7]-'0'); - minute= (asn1_string[8]-'0')*10+(asn1_string[9]-'0'); - - if ( (asn1_string[10] >= '0') && (asn1_string[10] <= '9') && - (asn1_string[11] >= '0') && (asn1_string[11] <= '9')) - second= (asn1_string[10]-'0')*10+(asn1_string[11]-'0'); - - infof(data, - "%s%04d-%02d-%02d %02d:%02d:%02d %s\n", - prefix, year+1900, month, day, hour, minute, second, (gmt?"GMT":"")); - - return 0; -} - -#endif - -/* ====================================================== */ -CURLcode -Curl_SSLConnect(struct connectdata *conn) -{ - CURLcode retcode = CURLE_OK; - -#ifdef USE_SSLEAY - struct SessionHandle *data = conn->data; - int err; - char * str; - SSL_METHOD *req_method; - SSL_SESSION *ssl_sessionid=NULL; - ASN1_TIME *certdate; - - /* mark this is being ssl enabled from here on out. */ - conn->ssl.use = TRUE; - - if(!ssl_seeded || data->set.ssl.random_file || data->set.ssl.egdsocket) { - /* Make funny stuff to get random input */ - random_the_seed(data); - - ssl_seeded = TRUE; - } - - /* check to see if we've been told to use an explicit SSL/TLS version */ - switch(data->set.ssl.version) { - default: - case CURL_SSLVERSION_DEFAULT: - /* we try to figure out version */ - req_method = SSLv23_client_method(); - break; - case CURL_SSLVERSION_TLSv1: - req_method = TLSv1_client_method(); - break; - case CURL_SSLVERSION_SSLv2: - req_method = SSLv2_client_method(); - break; - case CURL_SSLVERSION_SSLv3: - req_method = SSLv3_client_method(); - break; - } - - conn->ssl.ctx = SSL_CTX_new(req_method); - - if(!conn->ssl.ctx) { - failf(data, "SSL: couldn't create a context!"); - return CURLE_OUT_OF_MEMORY; - } - - if(data->set.cert) { - if (!cert_stuff(conn, - data->set.cert, - data->set.cert_type, - data->set.key, - data->set.key_type)) { - /* failf() is already done in cert_stuff() */ - return CURLE_SSL_CONNECT_ERROR; - } - } - - if(data->set.ssl.cipher_list) { - if (!SSL_CTX_set_cipher_list(conn->ssl.ctx, - data->set.ssl.cipher_list)) { - failf(data, "failed setting cipher list"); - return CURLE_SSL_CONNECT_ERROR; - } - } - - if(data->set.ssl.verifypeer){ - SSL_CTX_set_verify(conn->ssl.ctx, - SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT| - SSL_VERIFY_CLIENT_ONCE, - cert_verify_callback); - if (!SSL_CTX_load_verify_locations(conn->ssl.ctx, - data->set.ssl.CAfile, - data->set.ssl.CApath)) { - failf(data,"error setting cerficate verify locations"); - return CURLE_SSL_CONNECT_ERROR; - } - } - else - SSL_CTX_set_verify(conn->ssl.ctx, SSL_VERIFY_NONE, cert_verify_callback); - - - /* Lets make an SSL structure */ - conn->ssl.handle = SSL_new (conn->ssl.ctx); - SSL_set_connect_state (conn->ssl.handle); - - conn->ssl.server_cert = 0x0; - - if(!conn->bits.reuse) { - /* We're not re-using a connection, check if there's a cached ID we - can/should use here! */ - if(!Get_SSL_Session(conn, &ssl_sessionid)) { - /* we got a session id, use it! */ - SSL_set_session(conn->ssl.handle, ssl_sessionid); - /* Informational message */ - infof (data, "SSL re-using session ID\n"); - } - } - - /* pass the raw socket into the SSL layers */ - SSL_set_fd(conn->ssl.handle, conn->firstsocket); - - do { - int what; - fd_set writefd; - fd_set readfd; - struct timeval interval; - long timeout_ms; - - err = SSL_connect(conn->ssl.handle); - - what = SSL_get_error(conn->ssl.handle, err); - - FD_ZERO(&writefd); - FD_ZERO(&readfd); - - if(SSL_ERROR_WANT_READ == what) - FD_SET(conn->firstsocket, &readfd); - else if(SSL_ERROR_WANT_WRITE == what) - FD_SET(conn->firstsocket, &writefd); - else - break; /* untreated error */ - - /* Find out if any timeout is set. If not, use 300 seconds. - Otherwise, figure out the most strict timeout of the two possible one - and then how much time that has elapsed to know how much time we - allow for the connect call */ - if(data->set.timeout || data->set.connecttimeout) { - double has_passed; - - /* Evaluate in milliseconds how much time that has passed */ - has_passed = Curl_tvdiff(Curl_tvnow(), data->progress.start); - -#ifndef min -#define min(a, b) ((a) < (b) ? (a) : (b)) -#endif - - /* get the most strict timeout of the ones converted to milliseconds */ - if(data->set.timeout && - (data->set.timeout>data->set.connecttimeout)) - timeout_ms = data->set.timeout*1000; - else - timeout_ms = data->set.connecttimeout*1000; - - /* subtract the passed time */ - timeout_ms -= (long)has_passed; - - if(timeout_ms < 0) { - /* a precaution, no need to continue if time already is up */ - failf(data, "SSL connection timeout"); - return CURLE_OPERATION_TIMEOUTED; - } - } - else - /* no particular time-out has been set */ - timeout_ms=300000; /* milliseconds, default to five minutes */ - - interval.tv_sec = timeout_ms/1000; - timeout_ms -= interval.tv_sec*1000; - - interval.tv_usec = timeout_ms*1000; - - what = select(conn->firstsocket+1, &readfd, &writefd, NULL, &interval); - if(what > 0) - /* reabable or writable, go loop yourself */ - continue; - else if(0 == what) { - /* timeout */ - failf(data, "SSL connection timeout"); - return CURLE_OPERATION_TIMEOUTED; - } - else - break; /* get out of loop */ - } while(1); - - /* 1 is fine - 0 is "not successful but was shut down controlled" - <0 is "handshake was not successful, because a fatal error occurred" */ - if (err <= 0) { - err = ERR_get_error(); - failf(data, "SSL: %s", ERR_error_string(err, NULL)); - return CURLE_SSL_CONNECT_ERROR; - } - - /* Informational message */ - infof (data, "SSL connection using %s\n", - SSL_get_cipher(conn->ssl.handle)); - - if(!ssl_sessionid) { - /* Since this is not a cached session ID, then we want to stach this one - in the cache! */ - Store_SSL_Session(conn); - } - - - /* Get server's certificate (note: beware of dynamic allocation) - opt */ - /* major serious hack alert -- we should check certificates - * to authenticate the server; otherwise we risk man-in-the-middle - * attack - */ - - conn->ssl.server_cert = SSL_get_peer_certificate (conn->ssl.handle); - if(!conn->ssl.server_cert) { - failf(data, "SSL: couldn't get peer certificate!"); - return CURLE_SSL_PEER_CERTIFICATE; - } - infof (data, "Server certificate:\n"); - - str = X509_NAME_oneline (X509_get_subject_name (conn->ssl.server_cert), - NULL, 0); - if(!str) { - failf(data, "SSL: couldn't get X509-subject!"); - X509_free(conn->ssl.server_cert); - return CURLE_SSL_CONNECT_ERROR; - } - infof(data, "\t subject: %s\n", str); - CRYPTO_free(str); - - certdate = X509_get_notBefore(conn->ssl.server_cert); - Curl_ASN1_UTCTIME_output(conn, "\t start date: ", certdate); - - certdate = X509_get_notAfter(conn->ssl.server_cert); - Curl_ASN1_UTCTIME_output(conn, "\t expire date: ", certdate); - - if (data->set.ssl.verifyhost) { - char peer_CN[257]; - if (X509_NAME_get_text_by_NID(X509_get_subject_name(conn->ssl.server_cert), - NID_commonName, - peer_CN, - sizeof(peer_CN)) < 0) { - failf(data, "SSL: unable to obtain common name from peer certificate"); - X509_free(conn->ssl.server_cert); - return CURLE_SSL_PEER_CERTIFICATE; - } - - if (!strequal(peer_CN, conn->hostname)) { - if (data->set.ssl.verifyhost > 1) { - failf(data, "SSL: certificate subject name '%s' does not match " - "target host name '%s'", - peer_CN, conn->hostname); - X509_free(conn->ssl.server_cert); - return CURLE_SSL_PEER_CERTIFICATE; - } - else - infof(data, - "\t common name: %s (does not match '%s')\n", - peer_CN, conn->hostname); - } - else - infof(data, "\t common name: %s (matched)\n", peer_CN); - } - - str = X509_NAME_oneline (X509_get_issuer_name (conn->ssl.server_cert), - NULL, 0); - if(!str) { - failf(data, "SSL: couldn't get X509-issuer name!"); - X509_free(conn->ssl.server_cert); - return CURLE_SSL_CONNECT_ERROR; - } - infof(data, "\t issuer: %s\n", str); - CRYPTO_free(str); - - /* We could do all sorts of certificate verification stuff here before - deallocating the certificate. */ - - if(data->set.ssl.verifypeer) { - data->set.ssl.certverifyresult=SSL_get_verify_result(conn->ssl.handle); - if (data->set.ssl.certverifyresult != X509_V_OK) { - failf(data, "SSL certificate verify result: %d", - data->set.ssl.certverifyresult); - retcode = CURLE_SSL_PEER_CERTIFICATE; - } - } - else - data->set.ssl.certverifyresult=0; - - X509_free(conn->ssl.server_cert); -#else /* USE_SSLEAY */ - /* this is for "-ansi -Wall -pedantic" to stop complaining! (rabe) */ - (void) conn; -#endif - return retcode; -} - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/ssluse.h b/Build/source/libs/curl/lib/ssluse.h deleted file mode 100644 index cc8be88df6f..00000000000 --- a/Build/source/libs/curl/lib/ssluse.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef __SSLUSE_H -#define __SSLUSE_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: ssluse.h,v 1.11 2001/09/07 09:40:46 bagder Exp $ - *****************************************************************************/ -#include "urldata.h" -CURLcode Curl_SSLConnect(struct connectdata *conn); - -void Curl_SSL_init(void); /* Global SSL init */ -void Curl_SSL_cleanup(void); /* Global SSL cleanup */ - -/* init the SSL session ID cache */ -CURLcode Curl_SSL_InitSessions(struct SessionHandle *, long); -void Curl_SSL_Close(struct connectdata *conn); /* close a SSL connection */ - -/* tell the SSL stuff to close down all open information regarding - connections (and thus session ID caching etc) */ -int Curl_SSL_Close_All(struct SessionHandle *data); -#endif diff --git a/Build/source/libs/curl/lib/stamp-h1.in b/Build/source/libs/curl/lib/stamp-h1.in deleted file mode 100644 index 9788f70238c..00000000000 --- a/Build/source/libs/curl/lib/stamp-h1.in +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/Build/source/libs/curl/lib/strequal.c b/Build/source/libs/curl/lib/strequal.c deleted file mode 100644 index 03300e1d794..00000000000 --- a/Build/source/libs/curl/lib/strequal.c +++ /dev/null @@ -1,121 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: strequal.c,v 1.18 2001/12/03 12:57:45 bagder Exp $ - *****************************************************************************/ - -#include "setup.h" - -#include <string.h> -#include <ctype.h> - -int curl_strequal(const char *first, const char *second) -{ -#if defined(HAVE_STRCASECMP) - return !(strcasecmp)(first, second); -#elif defined(HAVE_STRCMPI) - return !(strcmpi)(first, second); -#elif defined(HAVE_STRICMP) - return !(stricmp)(first, second); -#else - while (*first && *second) { - if (toupper(*first) != toupper(*second)) { - break; - } - first++; - second++; - } - return toupper(*first) == toupper(*second); -#endif -} - -int curl_strnequal(const char *first, const char *second, size_t max) -{ -#if defined(HAVE_STRCASECMP) - return !strncasecmp(first, second, max); -#elif defined(HAVE_STRCMPI) - return !strncmpi(first, second, max); -#elif defined(HAVE_STRICMP) - return !strnicmp(first, second, max); -#else - while (*first && *second && max) { - if (toupper(*first) != toupper(*second)) { - break; - } - max--; - first++; - second++; - } - if(0 == max) - return 1; /* they are equal this far */ - - return toupper(*first) == toupper(*second); -#endif -} - -#ifndef HAVE_STRLCAT -/* - * The strlcat() function appends the NUL-terminated string src to the end - * of dst. It will append at most size - strlen(dst) - 1 bytes, NUL-termi- - * nating the result. - * - * The strlcpy() and strlcat() functions return the total length of the - * string they tried to create. For strlcpy() that means the length of src. - * For strlcat() that means the initial length of dst plus the length of - * src. While this may seem somewhat confusing it was done to make trunca- - * tion detection simple. - * - * - */ -size_t Curl_strlcat(char *dst, const char *src, size_t siz) -{ - char *d = dst; - const char *s = src; - size_t n = siz; - size_t dlen; - - /* Find the end of dst and adjust bytes left but don't go past end */ - while (n-- != 0 && *d != '\0') - d++; - dlen = d - dst; - n = siz - dlen; - - if (n == 0) - return(dlen + strlen(s)); - while (*s != '\0') { - if (n != 1) { - *d++ = *s; - n--; - } - s++; - } - *d = '\0'; - - return(dlen + (s - src)); /* count does not include NUL */ -} -#endif - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/strequal.h b/Build/source/libs/curl/lib/strequal.h deleted file mode 100644 index 83b2c37da85..00000000000 --- a/Build/source/libs/curl/lib/strequal.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef __STREQUAL_H -#define __STREQUAL_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: strequal.h,v 1.8 2001/05/18 12:03:30 bagder Exp $ - *****************************************************************************/ - -/* - * These two actually are public functions. - */ -int curl_strequal(const char *first, const char *second); -int curl_strnequal(const char *first, const char *second, size_t max); - -#define strequal(a,b) curl_strequal(a,b) -#define strnequal(a,b,c) curl_strnequal(a,b,c) - -#ifndef HAVE_STRLCAT -#define strlcat(x,y,z) Curl_strlcat(x,y,z) -size_t Curl_strlcat(char *dst, const char *src, size_t siz); -#endif - -#endif diff --git a/Build/source/libs/curl/lib/strtok.c b/Build/source/libs/curl/lib/strtok.c deleted file mode 100644 index 7a5eb779c93..00000000000 --- a/Build/source/libs/curl/lib/strtok.c +++ /dev/null @@ -1,74 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2001, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: strtok.c,v 1.7 2001/10/11 09:32:19 bumblebury Exp $ - *****************************************************************************/ - -#include "setup.h" - -#ifndef HAVE_STRTOK_R -#include <stddef.h> -#include <string.h> - -char * -Curl_strtok_r(char *ptr, const char *sep, char **end) -{ - if (!ptr) - /* we got NULL input so then we get our last position instead */ - ptr = *end; - - /* pass all letters that are including in the separator string */ - while (*ptr && strchr(sep, *ptr)) - ++ptr; - - if (*ptr) { - /* so this is where the next piece of string starts */ - char *start = ptr; - - /* set the end pointer to the first byte after the start */ - *end = start + 1; - - /* scan through the string to find where it ends, it ends on a - null byte or a character that exists in the separator string */ - while (**end && !strchr(sep, **end)) - ++*end; - - if (**end) { - /* the end is not a null byte */ - **end = '\0'; /* zero terminate it! */ - ++*end; /* advance the last pointer to beyond the null byte */ - } - - return start; /* return the position where the string starts */ - } - - /* we ended up on a null byte, there are no more strings to find! */ - return NULL; -} - -#endif /* this was only compiled if strtok_r wasn't present */ - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/strtok.h b/Build/source/libs/curl/lib/strtok.h deleted file mode 100644 index c644bd9a581..00000000000 --- a/Build/source/libs/curl/lib/strtok.h +++ /dev/null @@ -1,38 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: strtok.h,v 1.5 2001/05/31 07:02:13 bagder Exp $ - *****************************************************************************/ - -#ifndef _CURL_STRTOK_R_H -#define _CURL_STRTOK_R_H - -#include "setup.h" -#include <stddef.h> - -#ifndef HAVE_STRTOK_R -char *Curl_strtok_r(char *s, const char *delim, char **last); -#define strtok_r Curl_strtok_r -#else -#include <string.h> -#endif - -#endif - diff --git a/Build/source/libs/curl/lib/telnet.c b/Build/source/libs/curl/lib/telnet.c deleted file mode 100644 index 4c119d5b245..00000000000 --- a/Build/source/libs/curl/lib/telnet.c +++ /dev/null @@ -1,1213 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: telnet.c,v 1.28 2002/01/16 14:47:50 bagder Exp $ - *****************************************************************************/ - -#include "setup.h" - -/* -- WIN32 approved -- */ -#include <stdio.h> -#include <string.h> -#include <stdarg.h> -#include <stdlib.h> -#include <ctype.h> -#include <sys/types.h> -#include <sys/stat.h> - -#include <errno.h> - -#if defined(WIN32) && !defined(__GNUC__) || defined(__MINGW32__) -#include <winsock2.h> -#include <time.h> -#include <io.h> -#else -#ifdef HAVE_SYS_SOCKET_H -#include <sys/socket.h> -#endif -#include <netinet/in.h> -#include <sys/time.h> -#include <sys/resource.h> -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif -#include <netdb.h> -#ifdef HAVE_ARPA_INET_H -#include <arpa/inet.h> -#endif -#ifdef HAVE_NET_IF_H -#include <net/if.h> -#endif -#include <sys/ioctl.h> -#include <signal.h> - -#ifdef HAVE_SYS_PARAM_H -#include <sys/param.h> -#endif - -#ifdef HAVE_SYS_SELECT_H -#include <sys/select.h> -#endif - - -#endif - -#include "urldata.h" -#include <curl/curl.h> -#include "transfer.h" -#include "sendf.h" - -#define _MPRINTF_REPLACE /* use our functions only */ -#include <curl/mprintf.h> - -#define TELOPTS -#define TELCMDS - -#include "arpa_telnet.h" - -/* The last #include file should be: */ -#ifdef MALLOCDEBUG -#include "memdebug.h" -#endif - -#define SUBBUFSIZE 512 - -#define SB_CLEAR(x) x->subpointer = x->subbuffer; -#define SB_TERM(x) { x->subend = x->subpointer; SB_CLEAR(x); } -#define SB_ACCUM(x,c) if (x->subpointer < (x->subbuffer+sizeof x->subbuffer)) { \ - *x->subpointer++ = (c); \ - } - -#define SB_GET(x) ((*x->subpointer++)&0xff) -#define SB_PEEK(x) ((*x->subpointer)&0xff) -#define SB_EOF(x) (x->subpointer >= x->subend) -#define SB_LEN(x) (x->subend - x->subpointer) - -static -void telrcv(struct connectdata *, - unsigned char *inbuf, /* Data received from socket */ - int count); /* Number of bytes received */ - -static void printoption(struct SessionHandle *data, - const char *direction, - int cmd, int option); - -static void negotiate(struct connectdata *); -static void send_negotiation(struct connectdata *, int cmd, int option); -static void set_local_option(struct connectdata *, int cmd, int option); -static void set_remote_option(struct connectdata *, int cmd, int option); - -static void printsub(struct SessionHandle *data, - int direction, unsigned char *pointer, int length); -static void suboption(struct connectdata *); - -/* For negotiation compliant to RFC 1143 */ -#define NO 0 -#define YES 1 -#define WANTYES 2 -#define WANTNO 3 - -#define EMPTY 0 -#define OPPOSITE 1 - -/* - * Telnet receiver states for fsm - */ -typedef enum -{ - TS_DATA = 0, - TS_IAC, - TS_WILL, - TS_WONT, - TS_DO, - TS_DONT, - TS_CR, - TS_SB, /* sub-option collection */ - TS_SE /* looking for sub-option end */ -} TelnetReceive; - -struct TELNET { - int please_negotiate; - int already_negotiated; - int us[256]; - int usq[256]; - int us_preferred[256]; - int him[256]; - int himq[256]; - int him_preferred[256]; - char subopt_ttype[32]; /* Set with suboption TTYPE */ - char subopt_xdisploc[128]; /* Set with suboption XDISPLOC */ - struct curl_slist *telnet_vars; /* Environment variables */ - - /* suboptions */ - char subbuffer[SUBBUFSIZE]; - char *subpointer, *subend; /* buffer for sub-options */ - - TelnetReceive telrcv_state; -}; - -static -CURLcode init_telnet(struct connectdata *conn) -{ - struct TELNET *tn; - - tn = (struct TELNET *)malloc(sizeof(struct TELNET)); - if(!tn) - return CURLE_OUT_OF_MEMORY; - - conn->proto.telnet = (void *)tn; /* make us known */ - - memset(tn, 0, sizeof(struct TELNET)); - - tn->telrcv_state = TS_DATA; - - /* Init suboptions */ - SB_CLEAR(tn); - - /* Set all options to NO */ -#if 0 - /* NO is zero => default fill pattern */ - memset(tn->us, NO, 256); - memset(tn->usq, NO, 256); - memset(tn->us_preferred, NO, 256); - memset(tn->him, NO, 256); - memset(tn->himq, NO, 256); - memset(tn->him_preferred, NO, 256); -#endif - /* Set the options we want by default */ - tn->us_preferred[TELOPT_BINARY] = YES; - tn->us_preferred[TELOPT_SGA] = YES; - tn->him_preferred[TELOPT_BINARY] = YES; - tn->him_preferred[TELOPT_SGA] = YES; - - return CURLE_OK; -} - -static void negotiate(struct connectdata *conn) -{ - int i; - struct TELNET *tn = (struct TELNET *)conn->proto.telnet; - - for(i = 0;i < NTELOPTS;i++) - { - if(tn->us_preferred[i] == YES) - set_local_option(conn, i, YES); - - if(tn->him_preferred[i] == YES) - set_remote_option(conn, i, YES); - } -} - -static void printoption(struct SessionHandle *data, - const char *direction, int cmd, int option) -{ - const char *fmt; - const char *opt; - - if (data->set.verbose) - { - if (cmd == IAC) - { - if (TELCMD_OK(option)) - Curl_infof(data, "%s IAC %s\n", direction, TELCMD(option)); - else - Curl_infof(data, "%s IAC %d\n", direction, option); - } - else - { - fmt = (cmd == WILL) ? "WILL" : (cmd == WONT) ? "WONT" : - (cmd == DO) ? "DO" : (cmd == DONT) ? "DONT" : 0; - if (fmt) - { - if (TELOPT_OK(option)) - opt = TELOPT(option); - else if (option == TELOPT_EXOPL) - opt = "EXOPL"; - else - opt = NULL; - - if(opt) - Curl_infof(data, "%s %s %s\n", direction, fmt, opt); - else - Curl_infof(data, "%s %s %d\n", direction, fmt, option); - } - else - Curl_infof(data, "%s %d %d\n", direction, cmd, option); - } - } -} - -static void send_negotiation(struct connectdata *conn, int cmd, int option) -{ - unsigned char buf[3]; - - buf[0] = IAC; - buf[1] = cmd; - buf[2] = option; - - swrite(conn->firstsocket, buf, 3); - - printoption(conn->data, "SENT", cmd, option); -} - -static -void set_remote_option(struct connectdata *conn, int option, int newstate) -{ - struct TELNET *tn = (struct TELNET *)conn->proto.telnet; - if(newstate == YES) - { - switch(tn->him[option]) - { - case NO: - tn->him[option] = WANTYES; - send_negotiation(conn, DO, option); - break; - - case YES: - /* Already enabled */ - break; - - case WANTNO: - switch(tn->himq[option]) - { - case EMPTY: - /* Already negotiating for YES, queue the request */ - tn->himq[option] = OPPOSITE; - break; - case OPPOSITE: - /* Error: already queued an enable request */ - break; - } - break; - - case WANTYES: - switch(tn->himq[option]) - { - case EMPTY: - /* Error: already negotiating for enable */ - break; - case OPPOSITE: - tn->himq[option] = EMPTY; - break; - } - break; - } - } - else /* NO */ - { - switch(tn->him[option]) - { - case NO: - /* Already disabled */ - break; - - case YES: - tn->him[option] = WANTNO; - send_negotiation(conn, DONT, option); - break; - - case WANTNO: - switch(tn->himq[option]) - { - case EMPTY: - /* Already negotiating for NO */ - break; - case OPPOSITE: - tn->himq[option] = EMPTY; - break; - } - break; - - case WANTYES: - switch(tn->himq[option]) - { - case EMPTY: - tn->himq[option] = OPPOSITE; - break; - case OPPOSITE: - break; - } - break; - } - } -} - -static -void rec_will(struct connectdata *conn, int option) -{ - struct TELNET *tn = (struct TELNET *)conn->proto.telnet; - switch(tn->him[option]) - { - case NO: - if(tn->him_preferred[option] == YES) - { - tn->him[option] = YES; - send_negotiation(conn, DO, option); - } - else - { - send_negotiation(conn, DONT, option); - } - break; - - case YES: - /* Already enabled */ - break; - - case WANTNO: - switch(tn->himq[option]) - { - case EMPTY: - /* Error: DONT answered by WILL */ - tn->him[option] = NO; - break; - case OPPOSITE: - /* Error: DONT answered by WILL */ - tn->him[option] = YES; - tn->himq[option] = EMPTY; - break; - } - break; - - case WANTYES: - switch(tn->himq[option]) - { - case EMPTY: - tn->him[option] = YES; - break; - case OPPOSITE: - tn->him[option] = WANTNO; - tn->himq[option] = EMPTY; - send_negotiation(conn, DONT, option); - break; - } - break; - } -} - -static -void rec_wont(struct connectdata *conn, int option) -{ - struct TELNET *tn = (struct TELNET *)conn->proto.telnet; - switch(tn->him[option]) - { - case NO: - /* Already disabled */ - break; - - case YES: - tn->him[option] = NO; - send_negotiation(conn, DONT, option); - break; - - case WANTNO: - switch(tn->himq[option]) - { - case EMPTY: - tn->him[option] = NO; - break; - - case OPPOSITE: - tn->him[option] = WANTYES; - tn->himq[option] = EMPTY; - send_negotiation(conn, DO, option); - break; - } - break; - - case WANTYES: - switch(tn->himq[option]) - { - case EMPTY: - tn->him[option] = NO; - break; - case OPPOSITE: - tn->him[option] = NO; - tn->himq[option] = EMPTY; - break; - } - break; - } -} - -void set_local_option(struct connectdata *conn, int option, int newstate) -{ - struct TELNET *tn = (struct TELNET *)conn->proto.telnet; - if(newstate == YES) - { - switch(tn->us[option]) - { - case NO: - tn->us[option] = WANTYES; - send_negotiation(conn, WILL, option); - break; - - case YES: - /* Already enabled */ - break; - - case WANTNO: - switch(tn->usq[option]) - { - case EMPTY: - /* Already negotiating for YES, queue the request */ - tn->usq[option] = OPPOSITE; - break; - case OPPOSITE: - /* Error: already queued an enable request */ - break; - } - break; - - case WANTYES: - switch(tn->usq[option]) - { - case EMPTY: - /* Error: already negotiating for enable */ - break; - case OPPOSITE: - tn->usq[option] = EMPTY; - break; - } - break; - } - } - else /* NO */ - { - switch(tn->us[option]) - { - case NO: - /* Already disabled */ - break; - - case YES: - tn->us[option] = WANTNO; - send_negotiation(conn, WONT, option); - break; - - case WANTNO: - switch(tn->usq[option]) - { - case EMPTY: - /* Already negotiating for NO */ - break; - case OPPOSITE: - tn->usq[option] = EMPTY; - break; - } - break; - - case WANTYES: - switch(tn->usq[option]) - { - case EMPTY: - tn->usq[option] = OPPOSITE; - break; - case OPPOSITE: - break; - } - break; - } - } -} - -static -void rec_do(struct connectdata *conn, int option) -{ - struct TELNET *tn = (struct TELNET *)conn->proto.telnet; - switch(tn->us[option]) - { - case NO: - if(tn->us_preferred[option] == YES) - { - tn->us[option] = YES; - send_negotiation(conn, WILL, option); - } - else - { - send_negotiation(conn, WONT, option); - } - break; - - case YES: - /* Already enabled */ - break; - - case WANTNO: - switch(tn->usq[option]) - { - case EMPTY: - /* Error: DONT answered by WILL */ - tn->us[option] = NO; - break; - case OPPOSITE: - /* Error: DONT answered by WILL */ - tn->us[option] = YES; - tn->usq[option] = EMPTY; - break; - } - break; - - case WANTYES: - switch(tn->usq[option]) - { - case EMPTY: - tn->us[option] = YES; - break; - case OPPOSITE: - tn->us[option] = WANTNO; - tn->himq[option] = EMPTY; - send_negotiation(conn, WONT, option); - break; - } - break; - } -} - -static -void rec_dont(struct connectdata *conn, int option) -{ - struct TELNET *tn = (struct TELNET *)conn->proto.telnet; - switch(tn->us[option]) - { - case NO: - /* Already disabled */ - break; - - case YES: - tn->us[option] = NO; - send_negotiation(conn, WONT, option); - break; - - case WANTNO: - switch(tn->usq[option]) - { - case EMPTY: - tn->us[option] = NO; - break; - - case OPPOSITE: - tn->us[option] = WANTYES; - tn->usq[option] = EMPTY; - send_negotiation(conn, WILL, option); - break; - } - break; - - case WANTYES: - switch(tn->usq[option]) - { - case EMPTY: - tn->us[option] = NO; - break; - case OPPOSITE: - tn->us[option] = NO; - tn->usq[option] = EMPTY; - break; - } - break; - } -} - - -static void printsub(struct SessionHandle *data, - int direction, /* '<' or '>' */ - unsigned char *pointer, /* where suboption data is */ - int length) /* length of suboption data */ -{ - int i = 0; - - if (data->set.verbose) - { - if (direction) - { - Curl_infof(data, "%s IAC SB ", (direction == '<')? "RCVD":"SENT"); - if (length >= 3) - { - int j; - - i = pointer[length-2]; - j = pointer[length-1]; - - if (i != IAC || j != SE) - { - Curl_infof(data, "(terminated by "); - if (TELOPT_OK(i)) - Curl_infof(data, "%s ", TELOPT(i)); - else if (TELCMD_OK(i)) - Curl_infof(data, "%s ", TELCMD(i)); - else - Curl_infof(data, "%d ", i); - if (TELOPT_OK(j)) - Curl_infof(data, "%s", TELOPT(j)); - else if (TELCMD_OK(j)) - Curl_infof(data, "%s", TELCMD(j)); - else - Curl_infof(data, "%d", j); - Curl_infof(data, ", not IAC SE!) "); - } - } - length -= 2; - } - if (length < 1) - { - Curl_infof(data, "(Empty suboption?)"); - return; - } - - if (TELOPT_OK(pointer[0])) { - switch(pointer[0]) { - case TELOPT_TTYPE: - case TELOPT_XDISPLOC: - case TELOPT_NEW_ENVIRON: - Curl_infof(data, "%s", TELOPT(pointer[0])); - break; - default: - Curl_infof(data, "%s (unsupported)", TELOPT(pointer[0])); - break; - } - } - else - Curl_infof(data, "%d (unknown)", pointer[i]); - - switch(pointer[1]) { - case TELQUAL_IS: - Curl_infof(data, " IS"); - break; - case TELQUAL_SEND: - Curl_infof(data, " SEND"); - break; - case TELQUAL_INFO: - Curl_infof(data, " INFO/REPLY"); - break; - case TELQUAL_NAME: - Curl_infof(data, " NAME"); - break; - } - - switch(pointer[0]) { - case TELOPT_TTYPE: - case TELOPT_XDISPLOC: - pointer[length] = 0; - Curl_infof(data, " \"%s\"", &pointer[2]); - break; - case TELOPT_NEW_ENVIRON: - if(pointer[1] == TELQUAL_IS) { - Curl_infof(data, " "); - for(i = 3;i < length;i++) { - switch(pointer[i]) { - case NEW_ENV_VAR: - Curl_infof(data, ", "); - break; - case NEW_ENV_VALUE: - Curl_infof(data, " = "); - break; - default: - Curl_infof(data, "%c", pointer[i]); - break; - } - } - } - break; - default: - for (i = 2; i < length; i++) - Curl_infof(data, " %.2x", pointer[i]); - break; - } - - if (direction) - { - Curl_infof(data, "\n"); - } - } -} - -static int check_telnet_options(struct connectdata *conn) -{ - struct curl_slist *head; - char option_keyword[128]; - char option_arg[256]; - char *buf; - struct SessionHandle *data = conn->data; - struct TELNET *tn = (struct TELNET *)conn->proto.telnet; - - /* Add the user name as an environment variable if it - was given on the command line */ - if(conn->bits.user_passwd) - { - char *buf = malloc(256); - sprintf(buf, "USER,%s", data->state.user); - tn->telnet_vars = curl_slist_append(tn->telnet_vars, buf); - - tn->us_preferred[TELOPT_NEW_ENVIRON] = YES; - } - - for(head = data->set.telnet_options; head; head=head->next) { - if(sscanf(head->data, "%127[^= ]%*[ =]%255s", - option_keyword, option_arg) == 2) { - - /* Terminal type */ - if(strequal(option_keyword, "TTYPE")) { - strncpy(tn->subopt_ttype, option_arg, 31); - tn->subopt_ttype[31] = 0; /* String termination */ - tn->us_preferred[TELOPT_TTYPE] = YES; - continue; - } - - /* Display variable */ - if(strequal(option_keyword, "XDISPLOC")) { - strncpy(tn->subopt_xdisploc, option_arg, 127); - tn->subopt_xdisploc[127] = 0; /* String termination */ - tn->us_preferred[TELOPT_XDISPLOC] = YES; - continue; - } - - /* Environment variable */ - if(strequal(option_keyword, "NEW_ENV")) { - buf = strdup(option_arg); - if(!buf) - return CURLE_OUT_OF_MEMORY; - tn->telnet_vars = curl_slist_append(tn->telnet_vars, buf); - tn->us_preferred[TELOPT_NEW_ENVIRON] = YES; - continue; - } - - failf(data, "Unknown telnet option %s", head->data); - return CURLE_UNKNOWN_TELNET_OPTION; - } else { - failf(data, "Syntax error in telnet option: %s", head->data); - return CURLE_TELNET_OPTION_SYNTAX; - } - } - - return CURLE_OK; -} - -/* - * suboption() - * - * Look at the sub-option buffer, and try to be helpful to the other - * side. - */ - -static void suboption(struct connectdata *conn) -{ - struct curl_slist *v; - unsigned char subchar; - unsigned char temp[2048]; - int len; - int tmplen; - char varname[128]; - char varval[128]; - struct SessionHandle *data = conn->data; - struct TELNET *tn = (struct TELNET *)conn->proto.telnet; - - printsub(data, '<', (unsigned char *)tn->subbuffer, SB_LEN(tn)+2); - switch (subchar = SB_GET(tn)) { - case TELOPT_TTYPE: - len = strlen(tn->subopt_ttype) + 4 + 2; - snprintf((char *)temp, sizeof(temp), - "%c%c%c%c%s%c%c", IAC, SB, TELOPT_TTYPE, - TELQUAL_IS, tn->subopt_ttype, IAC, SE); - swrite(conn->firstsocket, temp, len); - printsub(data, '>', &temp[2], len-2); - break; - case TELOPT_XDISPLOC: - len = strlen(tn->subopt_xdisploc) + 4 + 2; - snprintf((char *)temp, sizeof(temp), - "%c%c%c%c%s%c%c", IAC, SB, TELOPT_XDISPLOC, - TELQUAL_IS, tn->subopt_xdisploc, IAC, SE); - swrite(conn->firstsocket, temp, len); - printsub(data, '>', &temp[2], len-2); - break; - case TELOPT_NEW_ENVIRON: - snprintf((char *)temp, sizeof(temp), - "%c%c%c%c", IAC, SB, TELOPT_NEW_ENVIRON, TELQUAL_IS); - len = 4; - - for(v = tn->telnet_vars;v;v = v->next) { - tmplen = (strlen(v->data) + 1); - /* Add the variable only if it fits */ - if(len + tmplen < (int)sizeof(temp)-6) { - sscanf(v->data, "%127[^,],%s", varname, varval); - snprintf((char *)&temp[len], sizeof(temp) - len, - "%c%s%c%s", NEW_ENV_VAR, varname, - NEW_ENV_VALUE, varval); - len += tmplen; - } - } - snprintf((char *)&temp[len], sizeof(temp) - len, - "%c%c", IAC, SE); - len += 2; - swrite(conn->firstsocket, temp, len); - printsub(data, '>', &temp[2], len-2); - break; - } - return; -} - -static -void telrcv(struct connectdata *conn, - unsigned char *inbuf, /* Data received from socket */ - int count) /* Number of bytes received */ -{ - unsigned char c; - int index = 0; - struct SessionHandle *data = conn->data; - struct TELNET *tn = (struct TELNET *)conn->proto.telnet; - - while(count--) - { - c = inbuf[index++]; - - switch (tn->telrcv_state) - { - case TS_CR: - tn->telrcv_state = TS_DATA; - if (c == '\0') - { - break; /* Ignore \0 after CR */ - } - - Curl_client_write(data, CLIENTWRITE_BODY, (char *)&c, 1); - continue; - - case TS_DATA: - if (c == IAC) - { - tn->telrcv_state = TS_IAC; - break; - } - else if(c == '\r') - { - tn->telrcv_state = TS_CR; - } - - Curl_client_write(data, CLIENTWRITE_BODY, (char *)&c, 1); - continue; - - case TS_IAC: - process_iac: - switch (c) - { - case WILL: - tn->telrcv_state = TS_WILL; - continue; - case WONT: - tn->telrcv_state = TS_WONT; - continue; - case DO: - tn->telrcv_state = TS_DO; - continue; - case DONT: - tn->telrcv_state = TS_DONT; - continue; - case SB: - SB_CLEAR(tn); - tn->telrcv_state = TS_SB; - continue; - case IAC: - Curl_client_write(data, CLIENTWRITE_BODY, (char *)&c, 1); - break; - case DM: - case NOP: - case GA: - default: - printoption(data, "RCVD", IAC, c); - break; - } - tn->telrcv_state = TS_DATA; - continue; - - case TS_WILL: - printoption(data, "RCVD", WILL, c); - tn->please_negotiate = 1; - rec_will(conn, c); - tn->telrcv_state = TS_DATA; - continue; - - case TS_WONT: - printoption(data, "RCVD", WONT, c); - tn->please_negotiate = 1; - rec_wont(conn, c); - tn->telrcv_state = TS_DATA; - continue; - - case TS_DO: - printoption(data, "RCVD", DO, c); - tn->please_negotiate = 1; - rec_do(conn, c); - tn->telrcv_state = TS_DATA; - continue; - - case TS_DONT: - printoption(data, "RCVD", DONT, c); - tn->please_negotiate = 1; - rec_dont(conn, c); - tn->telrcv_state = TS_DATA; - continue; - - case TS_SB: - if (c == IAC) - { - tn->telrcv_state = TS_SE; - } - else - { - SB_ACCUM(tn,c); - } - continue; - - case TS_SE: - if (c != SE) - { - if (c != IAC) - { - /* - * This is an error. We only expect to get - * "IAC IAC" or "IAC SE". Several things may - * have happend. An IAC was not doubled, the - * IAC SE was left off, or another option got - * inserted into the suboption are all possibilities. - * If we assume that the IAC was not doubled, - * and really the IAC SE was left off, we could - * get into an infinate loop here. So, instead, - * we terminate the suboption, and process the - * partial suboption if we can. - */ - SB_ACCUM(tn, (unsigned char)IAC); - SB_ACCUM(tn, c); - tn->subpointer -= 2; - SB_TERM(tn); - - printoption(data, "In SUBOPTION processing, RCVD", IAC, c); - suboption(conn); /* handle sub-option */ - tn->telrcv_state = TS_IAC; - goto process_iac; - } - SB_ACCUM(tn,c); - tn->telrcv_state = TS_SB; - } - else - { - SB_ACCUM(tn, (unsigned char)IAC); - SB_ACCUM(tn, (unsigned char)SE); - tn->subpointer -= 2; - SB_TERM(tn); - suboption(conn); /* handle sub-option */ - tn->telrcv_state = TS_DATA; - } - break; - } - } -} - -CURLcode Curl_telnet_done(struct connectdata *conn) -{ - struct TELNET *tn = (struct TELNET *)conn->proto.telnet; - curl_slist_free_all(tn->telnet_vars); - - free(conn->proto.telnet); - conn->proto.telnet = NULL; - - return CURLE_OK; -} - -CURLcode Curl_telnet(struct connectdata *conn) -{ - CURLcode code; - struct SessionHandle *data = conn->data; - int sockfd = conn->firstsocket; -#ifdef WIN32 - WSAEVENT event_handle; - WSANETWORKEVENTS events; - HANDLE stdin_handle; - HANDLE objs[2]; - DWORD waitret; -#else - fd_set readfd; - fd_set keepfd; -#endif - bool keepon = TRUE; - char *buf = data->state.buffer; - ssize_t nread; - struct TELNET *tn; - - code = init_telnet(conn); - if(code) - return code; - - tn = (struct TELNET *)conn->proto.telnet; - - code = check_telnet_options(conn); - if(code) - return code; - -#ifdef WIN32 - /* We want to wait for both stdin and the socket. Since - ** the select() function in winsock only works on sockets - ** we have to use the WaitForMultipleObjects() call. - */ - - /* First, create a sockets event object */ - event_handle = WSACreateEvent(); - - /* The get the Windows file handle for stdin */ - stdin_handle = GetStdHandle(STD_INPUT_HANDLE); - - /* Create the list of objects to wait for */ - objs[0] = stdin_handle; - objs[1] = event_handle; - - /* Tell winsock what events we want to listen to */ - if(WSAEventSelect(sockfd, event_handle, FD_READ|FD_CLOSE) == SOCKET_ERROR) { - return 0; - } - - /* Keep on listening and act on events */ - while(keepon) { - waitret = WaitForMultipleObjects(2, objs, FALSE, INFINITE); - switch(waitret - WAIT_OBJECT_0) - { - case 0: - { - unsigned char outbuf[2]; - int out_count = 0; - ssize_t bytes_written; - char *buffer = buf; - - if(!ReadFile(stdin_handle, buf, 255, &nread, NULL)) { - keepon = FALSE; - break; - } - - while(nread--) { - outbuf[0] = *buffer++; - out_count = 1; - if(outbuf[0] == IAC) - outbuf[out_count++] = IAC; - - Curl_write(conn, conn->firstsocket, outbuf, - out_count, &bytes_written); - } - } - break; - - case 1: - if(WSAEnumNetworkEvents(sockfd, event_handle, &events) - != SOCKET_ERROR) - { - if(events.lNetworkEvents & FD_READ) - { - /* This reallu OUGHT to check its return code. */ - Curl_read(conn, sockfd, buf, BUFSIZE - 1, &nread); - - telrcv(conn, (unsigned char *)buf, nread); - - fflush(stdout); - - /* Negotiate if the peer has started negotiating, - otherwise don't. We don't want to speak telnet with - non-telnet servers, like POP or SMTP. */ - if(tn->please_negotiate && !tn->already_negotiated) { - negotiate(conn); - tn->already_negotiated = 1; - } - } - - if(events.lNetworkEvents & FD_CLOSE) - { - keepon = FALSE; - } - } - break; - } - } -#else - FD_ZERO (&readfd); /* clear it */ - FD_SET (sockfd, &readfd); - FD_SET (0, &readfd); - - keepfd = readfd; - - while (keepon) { - readfd = keepfd; /* set this every lap in the loop */ - - switch (select (sockfd + 1, &readfd, NULL, NULL, NULL)) { - case -1: /* error, stop reading */ - keepon = FALSE; - continue; - case 0: /* timeout */ - break; - default: /* read! */ - if(FD_ISSET(0, &readfd)) { /* read from stdin */ - unsigned char outbuf[2]; - int out_count = 0; - ssize_t bytes_written; - char *buffer = buf; - - nread = read(0, buf, 255); - - while(nread--) { - outbuf[0] = *buffer++; - out_count = 1; - if(outbuf[0] == IAC) - outbuf[out_count++] = IAC; - - Curl_write(conn, conn->firstsocket, outbuf, - out_count, &bytes_written); - } - } - - if(FD_ISSET(sockfd, &readfd)) { - /* This OUGHT to check the return code... */ - Curl_read(conn, sockfd, buf, BUFSIZE - 1, &nread); - - /* if we receive 0 or less here, the server closed the connection and - we bail out from this! */ - if (nread <= 0) { - keepon = FALSE; - break; - } - - telrcv(conn, (unsigned char *)buf, nread); - - /* Negotiate if the peer has started negotiating, - otherwise don't. We don't want to speak telnet with - non-telnet servers, like POP or SMTP. */ - if(tn->please_negotiate && !tn->already_negotiated) { - negotiate(conn); - tn->already_negotiated = 1; - } - } - } - } -#endif - /* mark this as "no further transfer wanted" */ - return Curl_Transfer(conn, -1, -1, FALSE, NULL, -1, NULL); -} - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/telnet.h b/Build/source/libs/curl/lib/telnet.h deleted file mode 100644 index 32d043b8d49..00000000000 --- a/Build/source/libs/curl/lib/telnet.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef __TELNET_H -#define __TELNET_H - -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: telnet.h,v 1.6 2001/01/05 10:11:43 bagder Exp $ - *****************************************************************************/ -CURLcode Curl_telnet(struct connectdata *conn); -CURLcode Curl_telnet_done(struct connectdata *conn); - -#endif diff --git a/Build/source/libs/curl/lib/timeval.c b/Build/source/libs/curl/lib/timeval.c deleted file mode 100644 index 32882d28cc3..00000000000 --- a/Build/source/libs/curl/lib/timeval.c +++ /dev/null @@ -1,89 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: timeval.c,v 1.11 2001/11/12 22:10:09 bagder Exp $ - *****************************************************************************/ - -#ifdef WIN32 -#include <windows.h> -#endif -#include "timeval.h" - -#ifndef HAVE_GETTIMEOFDAY - -#ifdef WIN32 -int -gettimeofday (struct timeval *tp, void *nothing) -{ - SYSTEMTIME st; - time_t tt; - struct tm tmtm; - /* mktime converts local to UTC */ - GetLocalTime (&st); - tmtm.tm_sec = st.wSecond; - tmtm.tm_min = st.wMinute; - tmtm.tm_hour = st.wHour; - tmtm.tm_mday = st.wDay; - tmtm.tm_mon = st.wMonth - 1; - tmtm.tm_year = st.wYear - 1900; - tmtm.tm_isdst = -1; - tt = mktime (&tmtm); - tp->tv_sec = tt; - tp->tv_usec = st.wMilliseconds * 1000; - return 1; -} -#define HAVE_GETTIMEOFDAY -#endif -#endif - -struct timeval Curl_tvnow (void) -{ - struct timeval now; -#ifdef HAVE_GETTIMEOFDAY - gettimeofday (&now, NULL); -#else - now.tv_sec = (long) time(NULL); - now.tv_usec = 0; -#endif - return now; -} - -/* - * Make sure that the first argument is the more recent time, as otherwise - * we'll get a weird negative time-diff back... - */ -long Curl_tvdiff (struct timeval newer, struct timeval older) -{ - return (newer.tv_sec-older.tv_sec)*1000+ - (499+newer.tv_usec-older.tv_usec)/1000; -} - -long Curl_tvlong (struct timeval t1) -{ - return t1.tv_sec; -} - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/timeval.h b/Build/source/libs/curl/lib/timeval.h deleted file mode 100644 index 58456b8f4f6..00000000000 --- a/Build/source/libs/curl/lib/timeval.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef __TIMEVAL_H -#define __TIMEVAL_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: timeval.h,v 1.9 2001/11/05 12:37:22 bagder Exp $ - *****************************************************************************/ - -#include "setup.h" - -#if defined(WIN32) && !defined(__GNUC__) || defined(__MINGW32__) -#include <time.h> -#include <winsock.h> -#else -#include <sys/time.h> -#endif - - -#ifndef HAVE_GETTIMEOFDAY -#if !defined(_WINSOCKAPI_) && !defined(__MINGW32__) -struct timeval { - long tv_sec; - long tv_usec; -}; -#endif -#endif - -struct timeval Curl_tvnow (void); - -/* the diff is from now on returned in number of milliseconds! */ -long Curl_tvdiff (struct timeval t1, struct timeval t2); - -long Curl_tvlong (struct timeval t1); - -#endif diff --git a/Build/source/libs/curl/lib/transfer.c b/Build/source/libs/curl/lib/transfer.c deleted file mode 100644 index bfbfda63f7d..00000000000 --- a/Build/source/libs/curl/lib/transfer.c +++ /dev/null @@ -1,1357 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2001, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: transfer.c,v 1.84 2002/02/28 15:13:35 bagder Exp $ - *****************************************************************************/ - -#include "setup.h" - -/* -- WIN32 approved -- */ -#include <stdio.h> -#include <string.h> -#include <stdarg.h> -#include <stdlib.h> -#include <ctype.h> -#include <sys/types.h> -#include <sys/stat.h> - -#include <errno.h> - -#include "strequal.h" - -#if defined(WIN32) && !defined(__GNUC__) || defined(__MINGW32__) -#include <winsock.h> -#include <time.h> -#include <io.h> -#else -#ifdef HAVE_SYS_SOCKET_H -#include <sys/socket.h> -#endif -#include <netinet/in.h> -#include <sys/time.h> -#include <sys/resource.h> -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif -#include <netdb.h> -#ifdef HAVE_ARPA_INET_H -#include <arpa/inet.h> -#endif -#ifdef HAVE_NET_IF_H -#include <net/if.h> -#endif -#include <sys/ioctl.h> -#include <signal.h> - -#ifdef HAVE_SYS_PARAM_H -#include <sys/param.h> -#endif - -#ifdef HAVE_SYS_SELECT_H -#include <sys/select.h> -#endif - -#ifndef HAVE_SELECT -#error "We can't compile without select() support!" -#endif -#ifndef HAVE_SOCKET -#error "We can't compile without socket() support!" -#endif - -#endif - -#include "urldata.h" -#include <curl/curl.h> -#include <curl/types.h> -#include "netrc.h" - -#include "hostip.h" -#include "transfer.h" -#include "sendf.h" -#include "speedcheck.h" -#include "getpass.h" -#include "progress.h" -#include "getdate.h" -#include "http.h" -#include "url.h" -#include "getinfo.h" -#include "ssluse.h" - -#define _MPRINTF_REPLACE /* use our functions only */ -#include <curl/mprintf.h> - -/* The last #include file should be: */ -#ifdef MALLOCDEBUG -#include "memdebug.h" -#endif - -#ifndef min -#define min(a, b) ((a) < (b) ? (a) : (b)) -#endif - -enum { - KEEP_NONE, - KEEP_READ, - KEEP_WRITE -}; - - -/* - * compareheader() - * - * Returns TRUE if 'headerline' contains the 'header' with given 'content'. - * Pass headers WITH the colon. - */ -static bool -compareheader(char *headerline, /* line to check */ - const char *header, /* header keyword _with_ colon */ - const char *content) /* content string to find */ -{ - /* RFC2616, section 4.2 says: "Each header field consists of a name followed - * by a colon (":") and the field value. Field names are case-insensitive. - * The field value MAY be preceded by any amount of LWS, though a single SP - * is preferred." */ - - size_t hlen = strlen(header); - size_t clen; - size_t len; - char *start; - char *end; - - if(!strnequal(headerline, header, hlen)) - return FALSE; /* doesn't start with header */ - - /* pass the header */ - start = &headerline[hlen]; - - /* pass all white spaces */ - while(*start && isspace((int)*start)) - start++; - - /* find the end of the header line */ - end = strchr(start, '\r'); /* lines end with CRLF */ - if(!end) { - /* in case there's a non-standard compliant line here */ - end = strchr(start, '\n'); - - if(!end) - /* hm, there's no line ending here, return false and bail out! */ - return FALSE; - } - - len = end-start; /* length of the content part of the input line */ - clen = strlen(content); /* length of the word to find */ - - /* find the content string in the rest of the line */ - for(;len>=clen;len--, start++) { - if(strnequal(start, content, clen)) - return TRUE; /* match! */ - } - - return FALSE; /* no match */ -} - -CURLcode Curl_readwrite(struct connectdata *conn, - bool *done) -{ - struct Curl_transfer_keeper *k = &conn->keep; - struct SessionHandle *data = conn->data; - int result; - ssize_t nread; /* number of bytes read */ - int didwhat=0; - - do { - if((k->keepon & KEEP_READ) && - FD_ISSET(conn->sockfd, &k->readfd)) { - - /* read! */ - result = Curl_read(conn, conn->sockfd, k->buf, - BUFSIZE -1, &nread); - - if(0>result) - break; /* get out of loop */ - if(result>0) - return result; - - if ((k->bytecount == 0) && (k->writebytecount == 0)) - Curl_pgrsTime(data, TIMER_STARTTRANSFER); - - didwhat |= KEEP_READ; - - /* NULL terminate, allowing string ops to be used */ - if (0 < nread) - k->buf[nread] = 0; - - /* if we receive 0 or less here, the server closed the connection and - we bail out from this! */ - else if (0 >= nread) { - k->keepon &= ~KEEP_READ; - FD_ZERO(&k->rkeepfd); - break; - } - - /* Default buffer to use when we write the buffer, it may be changed - in the flow below before the actual storing is done. */ - k->str = k->buf; - - /* Since this is a two-state thing, we check if we are parsing - headers at the moment or not. */ - if (k->header) { - /* we are in parse-the-header-mode */ - - /* header line within buffer loop */ - do { - int hbufp_index; - - /* str_start is start of line within buf */ - k->str_start = k->str; - - k->end_ptr = strchr (k->str_start, '\n'); - - if (!k->end_ptr) { - /* no more complete header lines within buffer */ - /* copy what is remaining into headerbuff */ - int str_length = (int)strlen(k->str); - - /* - * We enlarge the header buffer if it seems to be too - * smallish - */ - if (k->hbuflen + (int)str_length >= - data->state.headersize) { - char *newbuff; - long newsize=MAX((k->hbuflen+str_length)*3/2, - data->state.headersize*2); - hbufp_index = k->hbufp - data->state.headerbuff; - newbuff = (char *)realloc(data->state.headerbuff, newsize); - if(!newbuff) { - failf (data, "Failed to alloc memory for big header!"); - return CURLE_READ_ERROR; - } - data->state.headersize=newsize; - data->state.headerbuff = newbuff; - k->hbufp = data->state.headerbuff + hbufp_index; - } - strcpy (k->hbufp, k->str); - k->hbufp += strlen (k->str); - k->hbuflen += strlen (k->str); - break; /* read more and try again */ - } - - k->str = k->end_ptr + 1; /* move past new line */ - - /* - * We're about to copy a chunk of data to the end of the - * already received header. We make sure that the full string - * fit in the allocated header buffer, or else we enlarge - * it. - */ - if (k->hbuflen + (k->str - k->str_start) >= - data->state.headersize) { - char *newbuff; - long newsize=MAX((k->hbuflen+ - (k->str-k->str_start))*3/2, - data->state.headersize*2); - hbufp_index = k->hbufp - data->state.headerbuff; - newbuff = (char *)realloc(data->state.headerbuff, newsize); - if(!newbuff) { - failf (data, "Failed to alloc memory for big header!"); - return CURLE_READ_ERROR; - } - data->state.headersize= newsize; - data->state.headerbuff = newbuff; - k->hbufp = data->state.headerbuff + hbufp_index; - } - - /* copy to end of line */ - strncpy (k->hbufp, k->str_start, k->str - k->str_start); - k->hbufp += k->str - k->str_start; - k->hbuflen += k->str - k->str_start; - *k->hbufp = 0; - - k->p = data->state.headerbuff; - - /**** - * We now have a FULL header line that p points to - *****/ - - if (('\n' == *k->p) || ('\r' == *k->p)) { - /* Zero-length header line means end of headers! */ - - if ('\r' == *k->p) - k->p++; /* pass the \r byte */ - if ('\n' == *k->p) - k->p++; /* pass the \n byte */ - - if(100 == k->httpcode) { - /* - * we have made a HTTP PUT or POST and this is 1.1-lingo - * that tells us that the server is OK with this and ready - * to receive our stuff. - * However, we'll get more headers now so we must get - * back into the header-parsing state! - */ - k->header = TRUE; - k->headerline = 0; /* restart the header line counter */ - /* if we did wait for this do enable write now! */ - if (k->write_after_100_header) { - - k->write_after_100_header = FALSE; - FD_SET (conn->writesockfd, &k->writefd); /* write */ - k->keepon |= KEEP_WRITE; - k->wkeepfd = k->writefd; - } - } - else - k->header = FALSE; /* no more header to parse! */ - - if (417 == k->httpcode) { - /* - * we got: "417 Expectation Failed" this means: - * we have made a HTTP call and our Expect Header - * seems to cause a problem => abort the write operations - * (or prevent them from starting - */ - k->write_after_100_header = FALSE; - k->keepon &= ~KEEP_WRITE; - FD_ZERO(&k->wkeepfd); - } - - /* now, only output this if the header AND body are requested: - */ - k->writetype = CLIENTWRITE_HEADER; - if (data->set.http_include_header) - k->writetype |= CLIENTWRITE_BODY; - - result = Curl_client_write(data, k->writetype, - data->state.headerbuff, - k->p - data->state.headerbuff); - if(result) - return result; - - data->info.header_size += k->p - data->state.headerbuff; - conn->headerbytecount += k->p - data->state.headerbuff; - - if(!k->header) { - /* - * really end-of-headers. - * - * If we requested a "no body", this is a good time to get - * out and return home. - */ - bool stop_reading = FALSE; - - if(data->set.no_body) - stop_reading = TRUE; - else if(!conn->bits.close) { - /* If this is not the last request before a close, we must - set the maximum download size to the size of the - expected document or else, we won't know when to stop - reading! */ - if(-1 != conn->size) - conn->maxdownload = conn->size; - - /* If max download size is *zero* (nothing) we already - have nothing and can safely return ok now! */ - if(0 == conn->maxdownload) - stop_reading = TRUE; - - /* What to do if the size is *not* known? */ - } - - if(stop_reading) { - /* we make sure that this socket isn't read more now */ - k->keepon &= ~KEEP_READ; - FD_ZERO(&k->rkeepfd); - /* for a progress meter/info update before going away */ - Curl_pgrsUpdate(conn); - return CURLE_OK; - } - - break; /* exit header line loop */ - } - - /* We continue reading headers, so reset the line-based - header parsing variables hbufp && hbuflen */ - k->hbufp = data->state.headerbuff; - k->hbuflen = 0; - continue; - } - - /* - * Checks for special headers coming up. - */ - - if (!k->headerline++) { - /* This is the first header, it MUST be the error code line - or else we consiser this to be the body right away! */ - int httpversion_major; - int nc=sscanf (k->p, " HTTP/%d.%d %3d", - &httpversion_major, - &k->httpversion, - &k->httpcode); - if (nc==3) { - k->httpversion += 10 * httpversion_major; - } - else { - /* this is the real world, not a Nirvana - NCSA 1.5.x returns this crap when asked for HTTP/1.1 - */ - nc=sscanf (k->p, " HTTP %3d", &k->httpcode); - k->httpversion = 10; - } - - if (nc) { - data->info.httpcode = k->httpcode; - data->info.httpversion = k->httpversion; - - /* 404 -> URL not found! */ - if (data->set.http_fail_on_error && - (k->httpcode >= 400)) { - /* If we have been told to fail hard on HTTP-errors, - here is the check for that: */ - /* serious error, go home! */ - failf (data, "The requested file was not found"); - return CURLE_HTTP_NOT_FOUND; - } - - if(k->httpversion == 10) - /* Default action for HTTP/1.0 must be to close, unless - we get one of those fancy headers that tell us the - server keeps it open for us! */ - conn->bits.close = TRUE; - - switch(k->httpcode) { - case 204: - /* (quote from RFC2616, section 10.2.5): The server has - * fulfilled the request but does not need to return an - * entity-body ... The 204 response MUST NOT include a - * message-body, and thus is always terminated by the first - * empty line after the header fields. */ - /* FALLTHROUGH */ - case 304: - /* (quote from RFC2616, section 10.3.5): The 304 response MUST - * NOT contain a message-body, and thus is always terminated - * by the first empty line after the header fields. */ - conn->size=0; - break; - default: - /* nothing */ - break; - } - } - else { - k->header = FALSE; /* this is not a header line */ - break; - } - } - /* check for Content-Length: header lines to get size */ - if (strnequal("Content-Length:", k->p, 15) && - sscanf (k->p+15, " %ld", &k->contentlength)) { - conn->size = k->contentlength; - Curl_pgrsSetDownloadSize(data, k->contentlength); - } - /* check for Content-Type: header lines to get the mime-type */ - else if (strnequal("Content-Type:", k->p, 13)) { - char *start; - char *end; - int len; - - /* Find the first non-space letter */ - for(start=k->p+14; - *start && isspace((int)*start); - start++); - - /* count all non-space letters following */ - for(end=start, len=0; - *end && !isspace((int)*end); - end++, len++); - - /* allocate memory of a cloned copy */ - data->info.contenttype = malloc(len + 1); - if (NULL == data->info.contenttype) - return CURLE_OUT_OF_MEMORY; - - /* copy the content-type string */ - memcpy(data->info.contenttype, start, len); - data->info.contenttype[len] = 0; /* zero terminate */ - } - else if((k->httpversion == 10) && - conn->bits.httpproxy && - compareheader(k->p, "Proxy-Connection:", "keep-alive")) { - /* - * When a HTTP/1.0 reply comes when using a proxy, the - * 'Proxy-Connection: keep-alive' line tells us the - * connection will be kept alive for our pleasure. - * Default action for 1.0 is to close. - */ - conn->bits.close = FALSE; /* don't close when done */ - infof(data, "HTTP/1.0 proxy connection set to keep alive!\n"); - } - else if((k->httpversion == 10) && - compareheader(k->p, "Connection:", "keep-alive")) { - /* - * A HTTP/1.0 reply with the 'Connection: keep-alive' line - * tells us the connection will be kept alive for our - * pleasure. Default action for 1.0 is to close. - * - * [RFC2068, section 19.7.1] */ - conn->bits.close = FALSE; /* don't close when done */ - infof(data, "HTTP/1.0 connection set to keep alive!\n"); - } - else if (compareheader(k->p, "Connection:", "close")) { - /* - * [RFC 2616, section 8.1.2.1] - * "Connection: close" is HTTP/1.1 language and means that - * the connection will close when this request has been - * served. - */ - conn->bits.close = TRUE; /* close when done */ - } - else if (compareheader(k->p, "Transfer-Encoding:", "chunked")) { - /* - * [RFC 2616, section 3.6.1] A 'chunked' transfer encoding - * means that the server will send a series of "chunks". Each - * chunk starts with line with info (including size of the - * coming block) (terminated with CRLF), then a block of data - * with the previously mentioned size. There can be any amount - * of chunks, and a chunk-data set to zero signals the - * end-of-chunks. */ - conn->bits.chunk = TRUE; /* chunks coming our way */ - - /* init our chunky engine */ - Curl_httpchunk_init(conn); - } - else if (strnequal("Content-Range:", k->p, 14)) { - if (sscanf (k->p+14, " bytes %d-", &k->offset) || - sscanf (k->p+14, " bytes: %d-", &k->offset)) { - /* This second format was added August 1st 2000 by Igor - Khristophorov since Sun's webserver JavaWebServer/1.1.1 - obviously sends the header this way! :-( */ - if (conn->resume_from == k->offset) { - /* we asked for a resume and we got it */ - k->content_range = TRUE; - } - } - } - else if(data->cookies && - strnequal("Set-Cookie:", k->p, 11)) { - Curl_cookie_add(data->cookies, TRUE, k->p+12, conn->name); - } - else if(strnequal("Last-Modified:", k->p, - strlen("Last-Modified:")) && - (data->set.timecondition || data->set.get_filetime) ) { - time_t secs=time(NULL); - k->timeofdoc = curl_getdate(k->p+strlen("Last-Modified:"), - &secs); - if(data->set.get_filetime) - data->info.filetime = k->timeofdoc; - } - else if ((k->httpcode >= 300 && k->httpcode < 400) && - (data->set.http_follow_location) && - strnequal("Location:", k->p, 9)) { - /* this is the URL that the server advices us to get instead */ - char *ptr; - char *start=k->p; - char backup; - - start += 9; /* pass "Location:" */ - - /* Skip spaces and tabs. We do this to support multiple - white spaces after the "Location:" keyword. */ - while(*start && isspace((int)*start )) - start++; - ptr = start; /* start scanning here */ - - /* scan through the string to find the end */ - while(*ptr && !isspace((int)*ptr)) - ptr++; - backup = *ptr; /* store the ending letter */ - *ptr = '\0'; /* zero terminate */ - conn->newurl = strdup(start); /* clone string */ - *ptr = backup; /* restore ending letter */ - } - - /* - * End of header-checks. Write them to the client. - */ - - k->writetype = CLIENTWRITE_HEADER; - if (data->set.http_include_header) - k->writetype |= CLIENTWRITE_BODY; - - result = Curl_client_write(data, k->writetype, k->p, - k->hbuflen); - if(result) - return result; - - data->info.header_size += k->hbuflen; - conn->headerbytecount += k->hbuflen; - - /* reset hbufp pointer && hbuflen */ - k->hbufp = data->state.headerbuff; - k->hbuflen = 0; - } - while (*k->str); /* header line within buffer */ - - /* We might have reached the end of the header part here, but - there might be a non-header part left in the end of the read - buffer. */ - - if (!k->header) { - /* the next token and forward is not part of - the header! */ - - /* we subtract the remaining header size from the buffer */ - nread -= (k->str - k->buf); - } - - } /* end if header mode */ - - /* This is not an 'else if' since it may be a rest from the header - parsing, where the beginning of the buffer is headers and the end - is non-headers. */ - if (k->str && !k->header && (nread > 0)) { - - if(0 == k->bodywrites) { - /* These checks are only made the first time we are about to - write a piece of the body */ - if(conn->protocol&PROT_HTTP) { - /* HTTP-only checks */ - if (conn->newurl) { - /* abort after the headers if "follow Location" is set */ - infof (data, "Follow to new URL: %s\n", conn->newurl); - k->keepon &= ~KEEP_READ; - FD_ZERO(&k->rkeepfd); - return CURLE_OK; - } - else if (conn->resume_from && - !k->content_range && - (data->set.httpreq==HTTPREQ_GET)) { - /* we wanted to resume a download, although the server - doesn't seem to support this and we did this with a GET - (if it wasn't a GET we did a POST or PUT resume) */ - failf (data, "HTTP server doesn't seem to support " - "byte ranges. Cannot resume."); - return CURLE_HTTP_RANGE_ERROR; - } - else if(data->set.timecondition && !conn->range) { - /* A time condition has been set AND no ranges have been - requested. This seems to be what chapter 13.3.4 of - RFC 2616 defines to be the correct action for a - HTTP/1.1 client */ - if((k->timeofdoc > 0) && (data->set.timevalue > 0)) { - switch(data->set.timecondition) { - case TIMECOND_IFMODSINCE: - default: - if(k->timeofdoc < data->set.timevalue) { - infof(data, - "The requested document is not new enough\n"); - return CURLE_OK; - } - break; - case TIMECOND_IFUNMODSINCE: - if(k->timeofdoc > data->set.timevalue) { - infof(data, - "The requested document is not old enough\n"); - return CURLE_OK; - } - break; - } /* switch */ - } /* two valid time strings */ - } /* we have a time condition */ - - } /* this is HTTP */ - } /* this is the first time we write a body part */ - k->bodywrites++; - - if(conn->bits.chunk) { - /* - * Bless me father for I have sinned. Here comes a chunked - * transfer flying and we need to decode this properly. While - * the name says read, this function both reads and writes away - * the data. The returned 'nread' holds the number of actual - * data it wrote to the client. */ - CHUNKcode res = - Curl_httpchunk_read(conn, k->str, nread, &nread); - - if(CHUNKE_OK < res) { - failf(data, "Receeived problem in the chunky parser"); - return CURLE_READ_ERROR; - } - else if(CHUNKE_STOP == res) { - /* we're done reading chunks! */ - k->keepon &= ~KEEP_READ; /* read no more */ - FD_ZERO(&k->rkeepfd); - - /* There are now possibly N number of bytes at the end of the - str buffer that weren't written to the client, but we don't - care about them right now. */ - } - /* If it returned OK, we just keep going */ - } - - if((-1 != conn->maxdownload) && - (k->bytecount + nread >= conn->maxdownload)) { - nread = conn->maxdownload - k->bytecount; - if(nread < 0 ) /* this should be unusual */ - nread = 0; - - k->keepon &= ~KEEP_READ; /* we're done reading */ - FD_ZERO(&k->rkeepfd); - } - - k->bytecount += nread; - - Curl_pgrsSetDownloadCounter(data, (double)k->bytecount); - - if(!conn->bits.chunk && nread) { - /* If this is chunky transfer, it was already written */ - result = Curl_client_write(data, CLIENTWRITE_BODY, k->str, - nread); - if(result) - return result; - } - - } /* if (! header and data to read ) */ - } /* if( read from socket ) */ - - if((k->keepon & KEEP_WRITE) && - FD_ISSET(conn->writesockfd, &k->writefd)) { - /* write */ - - int i, si; - ssize_t bytes_written; - - if ((k->bytecount == 0) && (k->writebytecount == 0)) - Curl_pgrsTime(data, TIMER_STARTTRANSFER); - - didwhat |= KEEP_WRITE; - - /* only read more data if there's no upload data already - present in the upload buffer */ - if(0 == conn->upload_present) { - /* init the "upload from here" pointer */ - conn->upload_fromhere = k->uploadbuf; - - nread = data->set.fread(conn->upload_fromhere, 1, - BUFSIZE, data->set.in); - - /* the signed int typecase of nread of for systems that has - unsigned size_t */ - if (nread<=0) { - /* done */ - k->keepon &= ~KEEP_WRITE; /* we're done writing */ - FD_ZERO(&k->wkeepfd); - break; - } - - /* store number of bytes available for upload */ - conn->upload_present = nread; - - /* convert LF to CRLF if so asked */ - if (data->set.crlf) { - for(i = 0, si = 0; i < nread; i++, si++) { - if (k->buf[i] == 0x0a) { - data->state.scratch[si++] = 0x0d; - data->state.scratch[si] = 0x0a; - } - else { - data->state.scratch[si] = k->uploadbuf[i]; - } - } - nread = si; - k->buf = data->state.scratch; /* point to the new buffer */ - } - } - else { - /* We have a partial buffer left from a previous "round". Use - that instead of reading more data */ - } - - /* write to socket */ - result = Curl_write(conn, - conn->writesockfd, - conn->upload_fromhere, - conn->upload_present, - &bytes_written); - if(result) - return result; - else if(conn->upload_present != bytes_written) { - /* we only wrote a part of the buffer (if anything), deal with it! */ - - /* store the amount of bytes left in the buffer to write */ - conn->upload_present -= bytes_written; - - /* advance the pointer where to find the buffer when the next send - is to happen */ - conn->upload_fromhere += bytes_written; - } - else if(data->set.crlf) - k->buf = data->state.buffer; /* put it back on the buffer */ - else { - /* we've uploaded that buffer now */ - conn->upload_fromhere = k->uploadbuf; - conn->upload_present = 0; /* no more bytes left */ - } - - k->writebytecount += bytes_written; - Curl_pgrsSetUploadCounter(data, (double)k->writebytecount); - - } - - } while(0); /* just to break out from! */ - - if(didwhat) { - /* Update read/write counters */ - if(conn->bytecountp) - *conn->bytecountp = k->bytecount; /* read count */ - if(conn->writebytecountp) - *conn->writebytecountp = k->writebytecount; /* write count */ - } - else { - /* no read no write, this is a timeout? */ - if (k->write_after_100_header) { - /* This should allow some time for the header to arrive, but only a - very short time as otherwise it'll be too much wasted times too - often. */ - k->write_after_100_header = FALSE; - FD_SET (conn->writesockfd, &k->writefd); /* write socket */ - k->keepon |= KEEP_WRITE; - k->wkeepfd = k->writefd; - } - } - - k->now = Curl_tvnow(); - if(Curl_pgrsUpdate(conn)) - result = CURLE_ABORTED_BY_CALLBACK; - else - result = Curl_speedcheck (data, k->now); - if (result) - return result; - - if (data->set.timeout && - ((Curl_tvdiff(k->now, k->start)/1000) >= data->set.timeout)) { - failf (data, "Operation timed out with %d out of %d bytes received", - k->bytecount, conn->size); - return CURLE_OPERATION_TIMEOUTED; - } - - if(!k->keepon) { - /* - * The transfer has been performed. Just make some general checks before - * returning. - */ - - if(!(data->set.no_body) && k->contentlength && - (k->bytecount != k->contentlength) && - !conn->newurl) { - failf(data, "transfer closed with %d bytes remaining to read", - k->contentlength-k->bytecount); - return CURLE_PARTIAL_FILE; - } - else if(conn->bits.chunk && conn->proto.http->chunk.datasize) { - failf(data, "transfer closed with at least %d bytes remaining", - conn->proto.http->chunk.datasize); - return CURLE_PARTIAL_FILE; - } - if(Curl_pgrsUpdate(conn)) - return CURLE_ABORTED_BY_CALLBACK; - } - - /* Now update the "done" boolean we return */ - *done = !k->keepon; - - return CURLE_OK; -} - -CURLcode Curl_readwrite_init(struct connectdata *conn) -{ - struct SessionHandle *data = conn->data; - struct Curl_transfer_keeper *k = &conn->keep; - - memset(k, 0, sizeof(struct Curl_transfer_keeper)); - - k->start = Curl_tvnow(); /* start time */ - k->now = k->start; /* current time is now */ - k->header = TRUE; /* assume header */ - k->httpversion = -1; /* unknown at this point */ - k->conn = (struct connectdata *)conn; /* store the connection */ - - data = conn->data; /* there's the root struct */ - k->buf = data->state.buffer; - k->uploadbuf = data->state.uploadbuffer; - k->maxfd = (conn->sockfd>conn->writesockfd? - conn->sockfd:conn->writesockfd)+1; - k->hbufp = data->state.headerbuff; - - Curl_pgrsTime(data, TIMER_PRETRANSFER); - Curl_speedinit(data); - - if (!conn->getheader) { - k->header = FALSE; - if(conn->size > 0) - Curl_pgrsSetDownloadSize(data, conn->size); - } - /* we want header and/or body, if neither then don't do this! */ - if(conn->getheader || !data->set.no_body) { - - FD_ZERO (&k->readfd); /* clear it */ - if(conn->sockfd != -1) { - FD_SET (conn->sockfd, &k->readfd); /* read socket */ - k->keepon |= KEEP_READ; - } - - FD_ZERO (&k->writefd); /* clear it */ - if(conn->writesockfd != -1) { - if (data->set.expect100header) - /* wait with write until we either got 100-continue or a timeout */ - k->write_after_100_header = TRUE; - else { - FD_SET (conn->writesockfd, &k->writefd); /* write socket */ - k->keepon |= KEEP_WRITE; - } - } - - /* get these in backup variables to be able to restore them on each lap in - the select() loop */ - k->rkeepfd = k->readfd; - k->wkeepfd = k->writefd; - - } - - return CURLE_OK; -} - -void Curl_single_fdset(struct connectdata *conn, - fd_set *read_fd_set, - fd_set *write_fd_set, - fd_set *exc_fd_set, - int *max_fd) -{ - *max_fd = -1; /* init */ - if(conn->keep.keepon & KEEP_READ) { - FD_SET(conn->sockfd, read_fd_set); - *max_fd = conn->sockfd; - } - if(conn->keep.keepon & KEEP_WRITE) { - FD_SET(conn->writesockfd, write_fd_set); - if(conn->writesockfd > *max_fd) - *max_fd = conn->writesockfd; - } - /* we don't use exceptions, only touch that one to prevent compiler - warnings! */ - *exc_fd_set = *exc_fd_set; -} - - -/* - * Transfer() - * - * This function is what performs the actual transfer. It is capable of - * doing both ways simultaneously. - * The transfer must already have been setup by a call to Curl_Transfer(). - * - * Note that headers are created in a preallocated buffer of a default size. - * That buffer can be enlarged on demand, but it is never shrinken again. - * - * Parts of this function was once written by the friendly Mark Butler - * <butlerm@xmission.com>. - */ - -static CURLcode -Transfer(struct connectdata *conn) -{ - struct SessionHandle *data = conn->data; - CURLcode result; - struct Curl_transfer_keeper *k = &conn->keep; - bool done=FALSE; - - Curl_readwrite_init(conn); - - if((conn->sockfd == -1) && (conn->writesockfd == -1)) - /* nothing to read, nothing to write, we're already OK! */ - return CURLE_OK; - - /* we want header and/or body, if neither then don't do this! */ - if(!conn->getheader && data->set.no_body) - return CURLE_OK; - - while (!done) { - struct timeval interval; - k->readfd = k->rkeepfd; /* set these every lap in the loop */ - k->writefd = k->wkeepfd; - interval.tv_sec = 1; - interval.tv_usec = 0; - - switch (select (k->maxfd, &k->readfd, &k->writefd, NULL, - &interval)) { - case -1: /* select() error, stop reading */ -#ifdef EINTR - /* The EINTR is not serious, and it seems you might get this more - ofen when using the lib in a multi-threaded environment! */ - if(errno == EINTR) - ; - else -#endif - done = TRUE; /* no more read or write */ - continue; - case 0: /* timeout */ - result = Curl_readwrite(conn, &done); - break; - - default: /* readable descriptors */ - result = Curl_readwrite(conn, &done); - break; - } - if(result) - return result; - - /* "done" signals to us if the transfer(s) are ready */ - } - - return CURLE_OK; -} - -CURLcode Curl_pretransfer(struct SessionHandle *data) -{ - if(!data->change.url) - /* we can't do anything wihout URL */ - return CURLE_URL_MALFORMAT; - -#ifdef USE_SSLEAY - /* Init the SSL session ID cache here. We do it here since we want to - do it after the *_setopt() calls (that could change the size) but - before any transfer. */ - Curl_SSL_InitSessions(data, data->set.ssl.numsessions); -#endif - - data->set.followlocation=0; /* reset the location-follow counter */ - data->state.this_is_a_follow = FALSE; /* reset this */ - data->state.errorbuf = FALSE; /* no error has occurred */ - - /* Allow data->set.use_port to set which port to use. This needs to be - * disabled for example when we follow Location: headers to URLs using - * different ports! */ - data->state.allow_port = TRUE; - -#if defined(HAVE_SIGNAL) && defined(SIGPIPE) - /************************************************************* - * Tell signal handler to ignore SIGPIPE - *************************************************************/ - data->state.prev_signal = signal(SIGPIPE, SIG_IGN); -#endif - - Curl_initinfo(data); /* reset session-specific information "variables" */ - Curl_pgrsStartNow(data); - - return CURLE_OK; -} - -CURLcode Curl_posttransfer(struct SessionHandle *data) -{ -#if defined(HAVE_SIGNAL) && defined(SIGPIPE) - /* restore the signal handler for SIGPIPE before we get back */ - signal(SIGPIPE, data->state.prev_signal); -#endif - - return CURLE_OK; -} - -CURLcode Curl_perform(struct SessionHandle *data) -{ - CURLcode res; - CURLcode res2; - struct connectdata *conn=NULL; - char *newurl = NULL; /* possibly a new URL to follow to! */ - - res = Curl_pretransfer(data); - if(res) - return res; - - /* - * It is important that there is NO 'return' from this function any any - * other place than falling down the bottom! This is because we have cleanup - * stuff that must be done before we get back, and that is only performed - * after this do-while loop. - */ - - do { - Curl_pgrsTime(data, TIMER_STARTSINGLE); - res = Curl_connect(data, &conn); - if(res == CURLE_OK) { - res = Curl_do(&conn); - - if(res == CURLE_OK) { - CURLcode res2; /* just a local extra result container */ - - if(conn->protocol&PROT_FTPS) - /* FTPS, disable ssl while transfering data */ - conn->ssl.use = FALSE; - res = Transfer(conn); /* now fetch that URL please */ - if(conn->protocol&PROT_FTPS) - /* FTPS, enable ssl again after havving transferred data */ - conn->ssl.use = TRUE; - - if(res == CURLE_OK) - /* - * We must duplicate the new URL here as the connection data - * may be free()ed in the Curl_done() function. - */ - newurl = conn->newurl?strdup(conn->newurl):NULL; - else - /* The transfer phase returned error, we mark the connection to get - * closed to prevent being re-used. This is becasue we can't - * possibly know if the connection is in a good shape or not now. */ - conn->bits.close = TRUE; - - /* Always run Curl_done(), even if some of the previous calls - failed, but return the previous (original) error code */ - res2 = Curl_done(conn); - - if(CURLE_OK == res) - res = res2; - } - - /* - * Important: 'conn' cannot be used here, since it may have been closed - * in 'Curl_done' or other functions. - */ - - if((res == CURLE_OK) && newurl) { - /* Location: redirect - - This is assumed to happen for HTTP(S) only! - */ - char prot[16]; /* URL protocol string storage */ - char letter; /* used for a silly sscanf */ - - if (data->set.maxredirs && (data->set.followlocation >= data->set.maxredirs)) { - failf(data,"Maximum (%d) redirects followed", data->set.maxredirs); - res=CURLE_TOO_MANY_REDIRECTS; - break; - } - - /* mark the next request as a followed location: */ - data->state.this_is_a_follow = TRUE; - - data->set.followlocation++; /* count location-followers */ - - if(data->set.http_auto_referer) { - /* We are asked to automatically set the previous URL as the - referer when we get the next URL. We pick the ->url field, - which may or may not be 100% correct */ - - if(data->change.referer_alloc) - /* If we already have an allocated referer, free this first */ - free(data->change.referer); - - data->change.referer = strdup(data->change.url); - data->change.referer_alloc = TRUE; /* yes, free this later */ - } - - if(2 != sscanf(newurl, "%15[^?&/:]://%c", prot, &letter)) { - /*** - *DANG* this is an RFC 2068 violation. The URL is supposed - to be absolute and this doesn't seem to be that! - *** - Instead, we have to TRY to append this new path to the old URL - to the right of the host part. Oh crap, this is doomed to cause - problems in the future... - */ - char *protsep; - char *pathsep; - char *newest; - - /* we must make our own copy of the URL to play with, as it may - point to read-only data */ - char *url_clone=strdup(data->change.url); - - if(!url_clone) { - res = CURLE_OUT_OF_MEMORY; - break; /* skip out of this loop NOW */ - } - - /* protsep points to the start of the host name */ - protsep=strstr(url_clone, "//"); - if(!protsep) - protsep=url_clone; - else - protsep+=2; /* pass the slashes */ - - if('/' != newurl[0]) { - /* First we need to find out if there's a ?-letter in the URL, - and cut it and the right-side of that off */ - pathsep = strrchr(protsep, '?'); - if(pathsep) - *pathsep=0; - - /* we have a relative path to append to the last slash if - there's one available */ - pathsep = strrchr(protsep, '/'); - if(pathsep) - *pathsep=0; - } - else { - /* We got a new absolute path for this server, cut off from the - first slash */ - pathsep = strchr(protsep, '/'); - if(pathsep) - *pathsep=0; - } - - newest=(char *)malloc( strlen(url_clone) + - 1 + /* possible slash */ - strlen(newurl) + 1/* zero byte */); - - if(!newest) { - res = CURLE_OUT_OF_MEMORY; - break; /* go go go out from this loop */ - } - sprintf(newest, "%s%s%s", url_clone, ('/' == newurl[0])?"":"/", - newurl); - free(newurl); - free(url_clone); - newurl = newest; - } - else - /* This is an absolute URL, don't allow the custom port number */ - data->state.allow_port = FALSE; - - if(data->change.url_alloc) - free(data->change.url); - else - data->change.url_alloc = TRUE; /* the URL is allocated */ - - /* TBD: set the URL with curl_setopt() */ - data->change.url = newurl; - newurl = NULL; /* don't free! */ - - infof(data, "Follows Location: to new URL: '%s'\n", data->change.url); - - /* - * We get here when the HTTP code is 300-399. We need to perform - * differently based on exactly what return code there was. - * Discussed on the curl mailing list and posted about on the 26th - * of January 2001. - */ - switch(data->info.httpcode) { - case 300: /* Multiple Choices */ - case 301: /* Moved Permanently */ - case 306: /* Not used */ - case 307: /* Temporary Redirect */ - default: /* for all unknown ones */ - /* These are explicitly mention since I've checked RFC2616 and they - * seem to be OK to POST to. - */ - break; - case 302: /* Found */ - /* (From 10.3.3) - - Note: RFC 1945 and RFC 2068 specify that the client is not allowed - to change the method on the redirected request. However, most - existing user agent implementations treat 302 as if it were a 303 - response, performing a GET on the Location field-value regardless - of the original request method. The status codes 303 and 307 have - been added for servers that wish to make unambiguously clear which - kind of reaction is expected of the client. - - (From 10.3.4) - - Note: Many pre-HTTP/1.1 user agents do not understand the 303 - status. When interoperability with such clients is a concern, the - 302 status code may be used instead, since most user agents react - to a 302 response as described here for 303. - */ - case 303: /* See Other */ - /* Disable both types of POSTs, since doing a second POST when - * following isn't what anyone would want! */ - data->set.httpreq = HTTPREQ_GET; /* enforce GET request */ - infof(data, "Disables POST, goes with GET\n"); - break; - case 304: /* Not Modified */ - /* 304 means we did a conditional request and it was "Not modified". - * We shouldn't get any Location: header in this response! - */ - break; - case 305: /* Use Proxy */ - /* (quote from RFC2616, section 10.3.6): - * "The requested resource MUST be accessed through the proxy given - * by the Location field. The Location field gives the URI of the - * proxy. The recipient is expected to repeat this single request - * via the proxy. 305 responses MUST only be generated by origin - * servers." - */ - break; - } - continue; - } - } - break; /* it only reaches here when this shouldn't loop */ - - } while(1); /* loop if Location: */ - - if(newurl) - free(newurl); - - /* run post-transfer uncondionally, but don't clobber the return code if - we already have an error code recorder */ - res2 = Curl_posttransfer(data); - if(!res && res2) - res = res2; - - return res; -} - -CURLcode -Curl_Transfer(struct connectdata *c_conn, /* connection data */ - int sockfd, /* socket to read from or -1 */ - int size, /* -1 if unknown at this point */ - bool getheader, /* TRUE if header parsing is wanted */ - long *bytecountp, /* return number of bytes read or NULL */ - int writesockfd, /* socket to write to, it may very well be - the same we read from. -1 disables */ - long *writebytecountp /* return number of bytes written or - NULL */ - ) -{ - struct connectdata *conn = (struct connectdata *)c_conn; - if(!conn) - return CURLE_BAD_FUNCTION_ARGUMENT; - - /* now copy all input parameters */ - conn->sockfd = sockfd; - conn->size = size; - conn->getheader = getheader; - conn->bytecountp = bytecountp; - conn->writesockfd = writesockfd; - conn->writebytecountp = writebytecountp; - - return CURLE_OK; - -} - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/transfer.h b/Build/source/libs/curl/lib/transfer.h deleted file mode 100644 index 29c61651422..00000000000 --- a/Build/source/libs/curl/lib/transfer.h +++ /dev/null @@ -1,49 +0,0 @@ -#ifndef __TRANSFER_H -#define __TRANSFER_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2001, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: transfer.h,v 1.6 2002/01/03 15:01:23 bagder Exp $ - *****************************************************************************/ -CURLcode Curl_perform(struct SessionHandle *data); - -CURLcode Curl_pretransfer(struct SessionHandle *data); -CURLcode Curl_posttransfer(struct SessionHandle *data); - -CURLcode Curl_readwrite(struct connectdata *conn, bool *done); -void Curl_single_fdset(struct connectdata *conn, - fd_set *read_fd_set, - fd_set *write_fd_set, - fd_set *exc_fd_set, - int *max_fd); -CURLcode Curl_readwrite_init(struct connectdata *conn); - -/* This sets up a forthcoming transfer */ -CURLcode -Curl_Transfer (struct connectdata *data, - int sockfd, /* socket to read from or -1 */ - int size, /* -1 if unknown at this point */ - bool getheader, /* TRUE if header parsing is wanted */ - long *bytecountp, /* return number of bytes read */ - int writesockfd, /* socket to write to, it may very well be - the same we read from. -1 disables */ - long *writebytecountp /* return number of bytes written */ -); -#endif diff --git a/Build/source/libs/curl/lib/url.c b/Build/source/libs/curl/lib/url.c deleted file mode 100644 index a96ad4af097..00000000000 --- a/Build/source/libs/curl/lib/url.c +++ /dev/null @@ -1,2379 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2001, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: url.c,v 1.191 2002/02/28 23:31:23 bagder Exp $ - *****************************************************************************/ - -/* -- WIN32 approved -- */ - -#include "setup.h" - -#include <stdio.h> -#include <string.h> -#include <stdarg.h> -#include <stdlib.h> -#include <ctype.h> -#include <sys/types.h> -#include <sys/stat.h> - -#include <errno.h> - -#if defined(WIN32) && !defined(__GNUC__) || defined(__MINGW32__) -#include <winsock.h> -#include <time.h> -#include <io.h> -#else -#ifdef HAVE_SYS_SOCKET_H -#include <sys/socket.h> -#endif -#include <netinet/in.h> -#include <sys/time.h> -#include <sys/resource.h> -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif -#include <netdb.h> -#ifdef HAVE_ARPA_INET_H -#include <arpa/inet.h> -#endif -#ifdef HAVE_NET_IF_H -#include <net/if.h> -#endif -#include <sys/ioctl.h> -#include <signal.h> - -#ifdef HAVE_SYS_PARAM_H -#include <sys/param.h> -#endif - -#ifdef HAVE_SYS_SELECT_H -#include <sys/select.h> -#endif - -#ifdef VMS -#include <in.h> -#include <inet.h> -#endif - -#ifndef HAVE_SELECT -#error "We can't compile without select() support!" -#endif -#ifndef HAVE_SOCKET -#error "We can't compile without socket() support!" -#endif - -#endif - -#include "urldata.h" -#include "netrc.h" - -#include "formdata.h" -#include "base64.h" -#include "ssluse.h" -#include "hostip.h" -#include "if2ip.h" -#include "transfer.h" -#include "sendf.h" -#include "getpass.h" -#include "progress.h" -#include "cookie.h" -#include "strequal.h" -#include "escape.h" -#include "strtok.h" - -/* And now for the protocols */ -#include "ftp.h" -#include "dict.h" -#include "telnet.h" -#include "http.h" -#include "file.h" -#include "ldap.h" -#include "url.h" -#include "connect.h" - -#include <curl/types.h> - -#if defined(HAVE_INET_NTOA_R) && !defined(HAVE_INET_NTOA_R_DECL) -#include "inet_ntoa_r.h" -#endif - -#define _MPRINTF_REPLACE /* use our functions only */ -#include <curl/mprintf.h> - -#ifdef KRB4 -#include "security.h" -#endif -/* The last #include file should be: */ -#ifdef MALLOCDEBUG -#include "memdebug.h" -#endif - -/* Local static prototypes */ -static int ConnectionKillOne(struct SessionHandle *data); -static bool ConnectionExists(struct SessionHandle *data, - struct connectdata *needle, - struct connectdata **usethis); -static unsigned int ConnectionStore(struct SessionHandle *data, - struct connectdata *conn); - - -#if !defined(WIN32)||defined(__CYGWIN32__) -#ifndef RETSIGTYPE -#define RETSIGTYPE void -#endif -static -RETSIGTYPE alarmfunc(int signal) -{ - /* this is for "-ansi -Wall -pedantic" to stop complaining! (rabe) */ - (void)signal; - return; -} -#endif - - -/* - * This is the internal function curl_easy_cleanup() calls. This should - * cleanup and free all resources associated with this sessionhandle. - * - * NOTE: if we ever add something that attempts to write to a socket or - * similar here, we must ignore SIGPIPE first. It is currently only done - * when curl_easy_perform() is invoked. - */ - -CURLcode Curl_close(struct SessionHandle *data) -{ - /* Loop through all open connections and kill them one by one */ - while(-1 != ConnectionKillOne(data)); - -#ifdef USE_SSLEAY - /* Close down all open SSL info and sessions */ - Curl_SSL_Close_All(data); -#endif - - if(data->state.auth_host) - free(data->state.auth_host); - - if(data->change.proxy_alloc) - free(data->change.proxy); - - if(data->change.referer_alloc) - free(data->change.referer); - - if(data->change.url_alloc) - free(data->change.url); - - if(data->state.headerbuff) - free(data->state.headerbuff); - - if(data->set.cookiejar) - /* we have a "destination" for all the cookies to get dumped to */ - Curl_cookie_output(data->cookies, data->set.cookiejar); - - Curl_cookie_cleanup(data->cookies); - - /* free the connection cache */ - free(data->state.connects); - - if(data->info.contenttype) - free(data->info.contenttype); - - free(data); - return CURLE_OK; -} - -static -int my_getpass(void *clientp, const char *prompt, char* buffer, int buflen ) -{ - char *retbuf; - clientp=NULL; /* prevent compiler warning */ - - retbuf = getpass_r(prompt, buffer, buflen); - if(NULL == retbuf) - return 1; - else - return 0; /* success */ -} - - -CURLcode Curl_open(struct SessionHandle **curl) -{ - /* We don't yet support specifying the URL at this point */ - struct SessionHandle *data; - /* Very simple start-up: alloc the struct, init it with zeroes and return */ - data = (struct SessionHandle *)malloc(sizeof(struct SessionHandle)); - if(!data) - /* this is a very serious error */ - return CURLE_OUT_OF_MEMORY; - - memset(data, 0, sizeof(struct SessionHandle)); - - /* We do some initial setup here, all those fields that can't be just 0 */ - - data->state.headerbuff=(char*)malloc(HEADERSIZE); - if(!data->state.headerbuff) { - free(data); /* free the memory again */ - return CURLE_OUT_OF_MEMORY; - } - - data->state.headersize=HEADERSIZE; - - data->set.out = stdout; /* default output to stdout */ - data->set.in = stdin; /* default input from stdin */ - data->set.err = stderr; /* default stderr to stderr */ - - /* use fwrite as default function to store output */ - data->set.fwrite = (curl_write_callback)fwrite; - - /* use fread as default function to read input */ - data->set.fread = (curl_read_callback)fread; - - /* set the default passwd function */ - data->set.fpasswd = my_getpass; - - data->set.infilesize = -1; /* we don't know any size */ - - data->state.current_speed = -1; /* init to negative == impossible */ - - data->set.httpreq = HTTPREQ_GET; /* Default HTTP request */ - data->set.ftp_use_epsv = TRUE; /* FTP defaults to EPSV operations */ - - data->set.dns_cache_timeout = 60; /* Timeout every 60 seconds by default */ - - /* make libcurl quiet by default: */ - data->set.hide_progress = TRUE; /* CURLOPT_NOPROGRESS changes these */ - data->progress.flags |= PGRS_HIDE; - - /* Set the default size of the SSL session ID cache */ - data->set.ssl.numsessions = 5; - - /* create an array with connection data struct pointers */ - data->state.numconnects = 5; /* hard-coded right now */ - data->state.connects = (struct connectdata **) - malloc(sizeof(struct connectdata *) * data->state.numconnects); - - if(!data->state.connects) { - free(data); - return CURLE_OUT_OF_MEMORY; - } - - memset(data->state.connects, 0, - sizeof(struct connectdata *)*data->state.numconnects); - - *curl = data; - - return CURLE_OK; -} - -CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, ...) -{ - va_list param; - char *cookiefile; - - va_start(param, option); - - switch(option) { - case CURLOPT_DNS_CACHE_TIMEOUT: - data->set.dns_cache_timeout = va_arg(param, int); - break; - case CURLOPT_DNS_USE_GLOBAL_CACHE: - { - int use_cache = va_arg(param, int); - if (use_cache) { - Curl_global_host_cache_init(); - } - - data->set.global_dns_cache = use_cache; - } - break; - case CURLOPT_SSL_CIPHER_LIST: - /* set a list of cipher we want to use in the SSL connection */ - data->set.ssl.cipher_list = va_arg(param, char *); - break; - - case CURLOPT_RANDOM_FILE: - /* - * This is the path name to a file that contains random data to seed - * the random SSL stuff with. The file is only used for reading. - */ - data->set.ssl.random_file = va_arg(param, char *); - break; - case CURLOPT_EGDSOCKET: - /* - * The Entropy Gathering Daemon socket pathname - */ - data->set.ssl.egdsocket = va_arg(param, char *); - break; - case CURLOPT_MAXCONNECTS: - /* - * Set the absolute number of maximum simultaneous alive connection that - * libcurl is allowed to have. - */ - { - long newconnects= va_arg(param, long); - struct connectdata **newptr; - - if(newconnects < data->state.numconnects) { - /* Since this number is *decreased* from the existing number, we must - close the possibly open connections that live on the indexes that - are being removed! */ - int i; - for(i=newconnects; i< data->state.numconnects; i++) - Curl_disconnect(data->state.connects[i]); - } - if(newconnects) { - newptr= (struct connectdata **) - realloc(data->state.connects, - sizeof(struct connectdata *) * newconnects); - if(!newptr) - /* we closed a few connections in vain, but so what? */ - return CURLE_OUT_OF_MEMORY; - data->state.connects = newptr; - data->state.numconnects = newconnects; - } - else { - /* zero makes NO cache at all */ - if(data->state.connects) - free(data->state.connects); - data->state.connects=NULL; - data->state.numconnects=0; - } - } - break; - case CURLOPT_FORBID_REUSE: - /* - * When this transfer is done, it must not be left to be reused by a - * subsequent transfer but shall be closed immediately. - */ - data->set.reuse_forbid = va_arg(param, long)?TRUE:FALSE; - break; - case CURLOPT_FRESH_CONNECT: - /* - * This transfer shall not use a previously cached connection but - * should be made with a fresh new connect! - */ - data->set.reuse_fresh = va_arg(param, long)?TRUE:FALSE; - break; - case CURLOPT_VERBOSE: - /* - * Verbose means infof() calls that give a lot of information about - * the connection and transfer procedures as well as internal choices. - */ - data->set.verbose = va_arg(param, long)?TRUE:FALSE; - break; - case CURLOPT_HEADER: - /* - * Set to include the header in the general data output stream. - */ - data->set.http_include_header = va_arg(param, long)?TRUE:FALSE; - break; - case CURLOPT_NOPROGRESS: - /* - * Shut off the internal supported progress meter - */ - data->set.hide_progress = va_arg(param, long)?TRUE:FALSE; - if(data->set.hide_progress) - data->progress.flags |= PGRS_HIDE; - else - data->progress.flags &= ~PGRS_HIDE; - break; - case CURLOPT_NOBODY: - /* - * Do not include the body part in the output data stream. - */ - data->set.no_body = va_arg(param, long)?TRUE:FALSE; - break; - case CURLOPT_FAILONERROR: - /* - * Don't output the >=300 error code HTML-page, but instead only - * return error. - */ - data->set.http_fail_on_error = va_arg(param, long)?TRUE:FALSE; - break; - case CURLOPT_UPLOAD: - /* - * We want to sent data to the remote host - */ - data->set.upload = va_arg(param, long)?TRUE:FALSE; - if(data->set.upload) - /* If this is HTTP, PUT is what's needed to "upload" */ - data->set.httpreq = HTTPREQ_PUT; - break; - case CURLOPT_FILETIME: - /* - * Try to get the file time of the remote document. The time will - * later (possibly) become available using curl_easy_getinfo(). - */ - data->set.get_filetime = va_arg(param, long)?TRUE:FALSE; - break; - case CURLOPT_FTPLISTONLY: - /* - * An FTP option that changes the command to one that asks for a list - * only, no file info details. - */ - data->set.ftp_list_only = va_arg(param, long)?TRUE:FALSE; - break; - case CURLOPT_FTPAPPEND: - /* - * We want to upload and append to an existing (FTP) file. - */ - data->set.ftp_append = va_arg(param, long)?TRUE:FALSE; - break; - case CURLOPT_NETRC: - /* - * Parse the $HOME/.netrc file - */ - data->set.use_netrc = va_arg(param, long)?TRUE:FALSE; - break; - case CURLOPT_FOLLOWLOCATION: - /* - * Follow Location: header hints on a HTTP-server. - */ - data->set.http_follow_location = va_arg(param, long)?TRUE:FALSE; - break; - case CURLOPT_HTTP_VERSION: - /* - * This sets a requested HTTP version to be used. The value is one of - * the listed enums in curl/curl.h. - */ - data->set.httpversion = va_arg(param, long); - break; - case CURLOPT_TRANSFERTEXT: - /* - * This option was previously named 'FTPASCII'. Renamed to work with - * more protocols than merely FTP. - * - * Transfer using ASCII (instead of BINARY). - */ - data->set.ftp_ascii = va_arg(param, long)?TRUE:FALSE; - break; - case CURLOPT_PUT: - /* - * Use the HTTP PUT request to transfer data if this is TRUE. If this is - * FALSE, don't set the httpreq. We can't know what to revert it to! - */ - if(va_arg(param, long)) - data->set.httpreq = HTTPREQ_PUT; - break; - case CURLOPT_TIMECONDITION: - /* - * Set HTTP time condition. This must be one of the defines in the - * curl/curl.h header file. - */ - data->set.timecondition = va_arg(param, long); - break; - case CURLOPT_TIMEVALUE: - /* - * This is the value to compare with the remote document with the - * method set with CURLOPT_TIMECONDITION - */ - data->set.timevalue = va_arg(param, long); - break; - case CURLOPT_SSLVERSION: - /* - * Set explicit SSL version to try to connect with, as some SSL - * implementations are lame. - */ - data->set.ssl.version = va_arg(param, long); - break; - - case CURLOPT_COOKIEFILE: - /* - * Set cookie file to read and parse. Can be used multiple times. - */ - cookiefile = (char *)va_arg(param, void *); - if(cookiefile) - data->cookies = Curl_cookie_init(cookiefile, data->cookies); - break; - - case CURLOPT_COOKIEJAR: - /* - * Set cookie file name to dump all cookies to when we're done. - */ - data->set.cookiejar = (char *)va_arg(param, void *); - - /* - * Activate the cookie parser. This may or may not already - * have been made. - */ - data->cookies = Curl_cookie_init(NULL, data->cookies); - break; - case CURLOPT_WRITEHEADER: - /* - * Custom pointer to pass the header write callback function - */ - data->set.writeheader = (void *)va_arg(param, void *); - break; - case CURLOPT_COOKIE: - /* - * Cookie string to send to the remote server in the request. - */ - data->set.cookie = va_arg(param, char *); - break; - case CURLOPT_ERRORBUFFER: - /* - * Error buffer provided by the caller to get the human readable - * error string in. - */ - data->set.errorbuffer = va_arg(param, char *); - break; - case CURLOPT_FILE: - /* - * FILE pointer to write to or include in the data write callback - */ - data->set.out = va_arg(param, FILE *); - break; - case CURLOPT_FTPPORT: - /* - * Use FTP PORT, this also specifies which IP address to use - */ - data->set.ftpport = va_arg(param, char *); - data->set.ftp_use_port = data->set.ftpport?1:0; - break; - - case CURLOPT_FTP_USE_EPSV: - data->set.ftp_use_epsv = va_arg(param, long)?TRUE:FALSE; - break; - - case CURLOPT_HTTPHEADER: - /* - * Set a list with HTTP headers to use (or replace internals with) - */ - data->set.headers = va_arg(param, struct curl_slist *); - break; - case CURLOPT_CUSTOMREQUEST: - /* - * Set a custom string to use as request - */ - data->set.customrequest = va_arg(param, char *); - - /* we don't set - data->set.httpreq = HTTPREQ_CUSTOM; - here, we continue as if we were using the already set type - and this just changes the actual request keyword */ - break; - case CURLOPT_HTTPPOST: - /* - * Set to make us do HTTP POST - */ - data->set.httppost = va_arg(param, struct HttpPost *); - if(data->set.httppost) - data->set.httpreq = HTTPREQ_POST_FORM; - break; - - case CURLOPT_HTTPGET: - /* - * Set to force us do HTTP GET - */ - if(va_arg(param, long)) { - data->set.httpreq = HTTPREQ_GET; - data->set.upload = FALSE; /* switch off upload */ - } - break; - - case CURLOPT_INFILE: - /* - * FILE pointer to read the file to be uploaded from. Or possibly - * used as argument to the read callback. - */ - data->set.in = va_arg(param, FILE *); - break; - case CURLOPT_INFILESIZE: - /* - * If known, this should inform curl about the file size of the - * to-be-uploaded file. - */ - data->set.infilesize = va_arg(param, long); - break; - case CURLOPT_LOW_SPEED_LIMIT: - /* - * The low speed limit that if transfers are below this for - * CURLOPT_LOW_SPEED_TIME, the transfer is aborted. - */ - data->set.low_speed_limit=va_arg(param, long); - break; - case CURLOPT_LOW_SPEED_TIME: - /* - * The low speed time that if transfers are below the set - * CURLOPT_LOW_SPEED_LIMIT during this time, the transfer is aborted. - */ - data->set.low_speed_time=va_arg(param, long); - break; - case CURLOPT_URL: - /* - * The URL to fetch. - */ - if(data->change.url_alloc) { - /* the already set URL is allocated, free it first! */ - free(data->change.url); - data->change.url_alloc=FALSE; - } - data->set.set_url = va_arg(param, char *); - data->change.url = data->set.set_url; - break; - case CURLOPT_PORT: - /* - * The port number to use when getting the URL - */ - data->set.use_port = va_arg(param, long); - break; - case CURLOPT_POST: - /* Does this option serve a purpose anymore? */ - - if(va_arg(param, long)) - data->set.httpreq = HTTPREQ_POST; - break; - case CURLOPT_POSTFIELDS: - /* - * A string with POST data. Makes curl HTTP POST. - */ - data->set.postfields = va_arg(param, char *); - if(data->set.postfields) - data->set.httpreq = HTTPREQ_POST; - break; - case CURLOPT_POSTFIELDSIZE: - /* - * The size of the POSTFIELD data, if curl should now do a strlen - * to find out. Enables binary posts. - */ - data->set.postfieldsize = va_arg(param, long); - break; - case CURLOPT_REFERER: - /* - * String to set in the HTTP Referer: field. - */ - if(data->change.referer_alloc) { - free(data->change.referer); - data->change.referer_alloc = FALSE; - } - data->set.set_referer = va_arg(param, char *); - data->change.referer = data->set.set_referer; - break; - case CURLOPT_AUTOREFERER: - /* - * Switch on automatic referer that gets set if curl follows locations. - */ - data->set.http_auto_referer = va_arg(param, long)?1:0; - break; - case CURLOPT_PROXY: - /* - * Set proxy server:port to use as HTTP proxy - */ - if(data->change.proxy_alloc) { - /* - * The already set string is allocated, free that first - */ - data->change.proxy_alloc=FALSE;; - free(data->change.proxy); - } - data->set.set_proxy = va_arg(param, char *); - data->change.proxy = data->set.set_proxy; - break; - case CURLOPT_HTTPPROXYTUNNEL: - /* - * Tunnel operations through the proxy instead of normal proxy use - */ - data->set.tunnel_thru_httpproxy = va_arg(param, long)?TRUE:FALSE; - break; - case CURLOPT_PROXYPORT: - /* - * Explicitly set HTTP proxy port number. - */ - data->set.proxyport = va_arg(param, long); - break; - case CURLOPT_TIMEOUT: - /* - * The maximum time you allow curl to use for a single transfer - * operation. - */ - data->set.timeout = va_arg(param, long); - break; - case CURLOPT_CONNECTTIMEOUT: - /* - * The maximum time you allow curl to use to connect. - */ - data->set.connecttimeout = va_arg(param, long); - break; - case CURLOPT_MAXREDIRS: - /* - * The maximum amount of hops you allow curl to follow Location: - * headers. This should mostly be used to detect never-ending loops. - */ - data->set.maxredirs = va_arg(param, long); - break; - case CURLOPT_USERAGENT: - /* - * String to use in the HTTP User-Agent field - */ - data->set.useragent = va_arg(param, char *); - break; - case CURLOPT_USERPWD: - /* - * user:password to use in the operation - */ - data->set.userpwd = va_arg(param, char *); - break; - case CURLOPT_POSTQUOTE: - /* - * List of RAW FTP commands to use after a transfer - */ - data->set.postquote = va_arg(param, struct curl_slist *); - break; - case CURLOPT_PREQUOTE: - /* - * List of RAW FTP commands to use prior to RETR (Wesley Laxton) - */ - data->set.prequote = va_arg(param, struct curl_slist *); - break; - case CURLOPT_QUOTE: - /* - * List of RAW FTP commands to use before a transfer - */ - data->set.quote = va_arg(param, struct curl_slist *); - break; - case CURLOPT_PROGRESSFUNCTION: - /* - * Progress callback function - */ - data->set.fprogress = va_arg(param, curl_progress_callback); - data->progress.callback = TRUE; /* no longer internal */ - break; - case CURLOPT_PROGRESSDATA: - /* - * Custom client data to pass to the progress callback - */ - data->set.progress_client = va_arg(param, void *); - break; - case CURLOPT_PASSWDFUNCTION: - /* - * Password prompt callback - */ - data->set.fpasswd = va_arg(param, curl_passwd_callback); - break; - case CURLOPT_PASSWDDATA: - /* - * Custom client data to pass to the password callback - */ - data->set.passwd_client = va_arg(param, void *); - break; - case CURLOPT_PROXYUSERPWD: - /* - * user:password needed to use the proxy - */ - data->set.proxyuserpwd = va_arg(param, char *); - break; - case CURLOPT_RANGE: - /* - * What range of the file you want to transfer - */ - data->set.set_range = va_arg(param, char *); - break; - case CURLOPT_RESUME_FROM: - /* - * Resume transfer at the give file position - */ - data->set.set_resume_from = va_arg(param, long); - break; - case CURLOPT_STDERR: - /* - * Set to a FILE * that should receive all error writes. This - * defaults to stderr for normal operations. - */ - data->set.err = va_arg(param, FILE *); - break; - case CURLOPT_HEADERFUNCTION: - /* - * Set header write callback - */ - data->set.fwrite_header = va_arg(param, curl_write_callback); - break; - case CURLOPT_WRITEFUNCTION: - /* - * Set data write callback - */ - data->set.fwrite = va_arg(param, curl_write_callback); - break; - case CURLOPT_READFUNCTION: - /* - * Read data callback - */ - data->set.fread = va_arg(param, curl_read_callback); - break; - case CURLOPT_SSLCERT: - /* - * String that holds file name of the SSL certificate to use - */ - data->set.cert = va_arg(param, char *); - break; - case CURLOPT_SSLCERTTYPE: - /* - * String that holds file type of the SSL certificate to use - */ - data->set.cert_type = va_arg(param, char *); - break; - case CURLOPT_SSLKEY: - /* - * String that holds file name of the SSL certificate to use - */ - data->set.key = va_arg(param, char *); - break; - case CURLOPT_SSLKEYTYPE: - /* - * String that holds file type of the SSL certificate to use - */ - data->set.key_type = va_arg(param, char *); - break; - case CURLOPT_SSLKEYPASSWD: - /* - * String that holds the SSL private key password. - */ - data->set.key_passwd = va_arg(param, char *); - break; - case CURLOPT_SSLENGINE: - /* - * String that holds the SSL crypto engine. - */ -#ifdef HAVE_OPENSSL_ENGINE_H - { - const char *cpTemp = va_arg(param, char *); - ENGINE *e; - if (cpTemp && cpTemp[0]) { - e = ENGINE_by_id(cpTemp); - if (e) { - if (data->engine) { - ENGINE_free(data->engine); - } - data->engine = e; - } - else { - failf(data, "SSL Engine '%s' not found", cpTemp); - return CURLE_SSL_ENGINE_NOTFOUND; - } - } - } -#else - return CURLE_SSL_ENGINE_NOTFOUND; -#endif - break; - case CURLOPT_SSLENGINE_DEFAULT: - /* - * flag to set engine as default. - */ -#ifdef HAVE_OPENSSL_ENGINE_H - if (data->engine) { - if (ENGINE_set_default(data->engine, ENGINE_METHOD_ALL) > 0) { -#ifdef DEBUG - fprintf(stderr,"set default crypto engine\n"); -#endif - } - else { -#ifdef DEBUG - failf(data, "set default crypto engine failed"); -#endif - return CURLE_SSL_ENGINE_SETFAILED; - } - } -#endif - break; - case CURLOPT_CRLF: - /* - * Kludgy option to enable CRLF convertions. Subject for removal. - */ - data->set.crlf = va_arg(param, long)?TRUE:FALSE; - break; - case CURLOPT_INTERFACE: - /* - * Set what interface to bind to when performing an operation and thus - * what from-IP your connection will use. - */ - data->set.device = va_arg(param, char *); - break; - case CURLOPT_KRB4LEVEL: - /* - * A string that defines the krb4 security level. - */ - data->set.krb4_level = va_arg(param, char *); - data->set.krb4=data->set.krb4_level?TRUE:FALSE; - break; - case CURLOPT_SSL_VERIFYPEER: - /* - * Enable peer SSL verifying. - */ - data->set.ssl.verifypeer = va_arg(param, long); - break; - case CURLOPT_SSL_VERIFYHOST: - /* - * Enable verification of the CN contained in the peer certificate - */ - data->set.ssl.verifyhost = va_arg(param, long); - break; - case CURLOPT_CAINFO: - /* - * Set CA info for SSL connection. Specify file name of the CA certificate - */ - data->set.ssl.CAfile = va_arg(param, char *); - data->set.ssl.CApath = NULL; /*This does not work on windows.*/ - break; - case CURLOPT_TELNETOPTIONS: - /* - * Set a linked list of telnet options - */ - data->set.telnet_options = va_arg(param, struct curl_slist *); - break; - default: - /* unknown tag and its companion, just ignore: */ - return CURLE_READ_ERROR; /* correct this */ - } - return CURLE_OK; -} - -CURLcode Curl_disconnect(struct connectdata *conn) -{ - if(!conn) - return CURLE_OK; /* this is closed and fine already */ - - /* - * The range string is usually freed in curl_done(), but we might - * get here *instead* if we fail prematurely. Thus we need to be able - * to free this resource here as well. - */ - if(conn->bits.rangestringalloc) { - free(conn->range); - conn->bits.rangestringalloc = FALSE; - } - - if(-1 != conn->connectindex) { - /* unlink ourselves! */ - infof(conn->data, "Closing connection #%d\n", conn->connectindex); - conn->data->state.connects[conn->connectindex] = NULL; - } - - if(conn->curl_disconnect) - /* This is set if protocol-specific cleanups should be made */ - conn->curl_disconnect(conn); - - if(conn->proto.generic) - free(conn->proto.generic); - - if(conn->newurl) - free(conn->newurl); - - if(conn->path) /* the URL path part */ - free(conn->path); - -#ifdef USE_SSLEAY - Curl_SSL_Close(conn); -#endif /* USE_SSLEAY */ - - /* close possibly still open sockets */ - if(-1 != conn->secondarysocket) - sclose(conn->secondarysocket); - if(-1 != conn->firstsocket) - sclose(conn->firstsocket); - - if(conn->allocptr.proxyuserpwd) - free(conn->allocptr.proxyuserpwd); - if(conn->allocptr.uagent) - free(conn->allocptr.uagent); - if(conn->allocptr.userpwd) - free(conn->allocptr.userpwd); - if(conn->allocptr.rangeline) - free(conn->allocptr.rangeline); - if(conn->allocptr.ref) - free(conn->allocptr.ref); - if(conn->allocptr.cookie) - free(conn->allocptr.cookie); - if(conn->allocptr.host) - free(conn->allocptr.host); - - if(conn->proxyhost) - free(conn->proxyhost); - - free(conn); /* free all the connection oriented data */ - - return CURLE_OK; -} - -/* - * This function should return TRUE if the socket is to be assumed to - * be dead. Most commonly this happens when the server has closed the - * connection due to inactivity. - */ -static bool SocketIsDead(int sock) -{ - int sval; - bool ret_val = TRUE; - fd_set check_set; - struct timeval to; - - FD_ZERO(&check_set); - FD_SET(sock,&check_set); - - to.tv_sec = 0; - to.tv_usec = 1; - - sval = select(sock + 1, &check_set, 0, 0, &to); - if(sval == 0) - /* timeout */ - ret_val = FALSE; - - return ret_val; -} - -/* - * Given one filled in connection struct (named needle), this function should - * detect if there already is one that have all the significant details - * exactly the same and thus should be used instead. - */ -static bool -ConnectionExists(struct SessionHandle *data, - struct connectdata *needle, - struct connectdata **usethis) -{ - long i; - struct connectdata *check; - - for(i=0; i< data->state.numconnects; i++) { - /* - * Note that if we use a HTTP proxy, we check connections to that - * proxy and not to the actual remote server. - */ - check = data->state.connects[i]; - if(!check) - /* NULL pointer means not filled-in entry */ - continue; - if(!needle->bits.httpproxy || needle->protocol&PROT_SSL) { - /* The requested connection does not use a HTTP proxy or it - uses SSL. */ - - if(!(needle->protocol&PROT_SSL) && check->bits.httpproxy) - /* we don't do SSL but the cached connection has a proxy, - then don't match this */ - continue; - - if(strequal(needle->protostr, check->protostr) && - strequal(needle->name, check->name) && - (needle->remote_port == check->remote_port) ) { - bool dead; - if(strequal(needle->protostr, "FTP")) { - /* This is FTP, verify that we're using the same name and - password as well */ - if(!strequal(needle->data->state.user, check->proto.ftp->user) || - !strequal(needle->data->state.passwd, check->proto.ftp->passwd)) { - /* one of them was different */ - continue; - } - } - dead = SocketIsDead(check->firstsocket); - if(dead) { - /* - * Even though the connection seems to have passed away, we could - * still make an effort to get the name information, as we intend to - * connect to the same host again. - * - * This is now subject to discussion. What do you think? - */ - infof(data, "Connection %d seems to be dead!\n", i); - Curl_disconnect(check); /* disconnect resources */ - data->state.connects[i]=NULL; /* nothing here */ - - /* There's no need to continue search, because we only store - one connection for each unique set of identifiers */ - return FALSE; - } - - *usethis = check; - return TRUE; /* yes, we found one to use! */ - - } - } - else { /* The requested needle connection is using a proxy, - is the checked one using the same? */ - if(check->bits.httpproxy && - strequal(needle->proxyhost, check->proxyhost) && - needle->port == check->port) { - /* This is the same proxy connection, use it! */ - *usethis = check; - return TRUE; - } - } - } - return FALSE; /* no matching connecting exists */ -} - -/* - * This function frees/closes a connection in the connection cache. This - * should take the previously set policy into account when deciding which - * of the connections to kill. - */ -static int -ConnectionKillOne(struct SessionHandle *data) -{ - long i; - struct connectdata *conn; - int highscore=-1; - int connindex=-1; - int score; - CURLcode result; - struct timeval now; - - now = Curl_tvnow(); - - for(i=0; i< data->state.numconnects; i++) { - conn = data->state.connects[i]; - - if(!conn) - continue; - - /* - * By using the set policy, we score each connection. - */ - switch(data->set.closepolicy) { - case CURLCLOSEPOLICY_LEAST_RECENTLY_USED: - default: - /* - * Set higher score for the age passed since the connection - * was used. - */ - score = Curl_tvdiff(now, conn->now); - break; - case CURLCLOSEPOLICY_OLDEST: - /* - * Set higher score for the age passed since the connection - * was created. - */ - score = Curl_tvdiff(now, conn->created); - break; - } - - if(score > highscore) { - highscore = score; - connindex = i; - } - } - if(connindex >= 0) { - - /* the winner gets the honour of being disconnected */ - result = Curl_disconnect(data->state.connects[connindex]); - - /* clean the array entry */ - data->state.connects[connindex] = NULL; - } - - return connindex; /* return the available index or -1 */ -} - -/* - * The given input connection struct pointer is to be stored. If the "cache" - * is already full, we must clean out the most suitable using the previously - * set policy. - * - * The given connection should be unique. That must've been checked prior to - * this call. - */ -static unsigned int -ConnectionStore(struct SessionHandle *data, - struct connectdata *conn) -{ - long i; - for(i=0; i< data->state.numconnects; i++) { - if(!data->state.connects[i]) - break; - } - if(i == data->state.numconnects) { - /* there was no room available, kill one */ - i = ConnectionKillOne(data); - infof(data, "Connection (#%d) was killed to make room\n", i); - } - - if(-1 != i) { - /* only do this if a true index was returned, if -1 was returned there - is no room in the cache for an unknown reason and we cannot store - this there. */ - data->state.connects[i] = conn; /* fill in this */ - conn->connectindex = i; /* make the child know where the pointer to this - particular data is stored */ - } - return i; -} - -static CURLcode ConnectPlease(struct connectdata *conn) -{ - CURLcode result; - Curl_ipconnect *addr; - - /************************************************************* - * Connect to server/proxy - *************************************************************/ - result= Curl_connecthost(conn, - conn->hostaddr, - conn->port, - &conn->firstsocket, - &addr); - if(CURLE_OK == result) { - /* All is cool, then we store the current information from the hostaddr - struct to the serv_addr, as it might be needed later. The address - returned from the function above is crucial here. */ -#ifdef ENABLE_IPV6 - conn->serv_addr = addr; -#else - memset((char *) &conn->serv_addr, '\0', sizeof(conn->serv_addr)); - memcpy((char *)&(conn->serv_addr.sin_addr), - (struct in_addr *)addr, sizeof(struct in_addr)); - conn->serv_addr.sin_family = conn->hostaddr->h_addrtype; - conn->serv_addr.sin_port = htons(conn->port); -#endif - } - - return result; -} - -static CURLcode CreateConnection(struct SessionHandle *data, - struct connectdata **in_connect) -{ - char *tmp; - char *buf; - CURLcode result=CURLE_OK; - char resumerange[40]=""; - struct connectdata *conn; - struct connectdata *conn_temp; - char endbracket; - int urllen; -#ifdef HAVE_INET_NTOA_R - char ntoa_buf[64]; -#endif -#ifdef HAVE_ALARM - unsigned int prev_alarm; -#endif - -#ifdef HAVE_SIGACTION - struct sigaction keep_sigact; /* store the old struct here */ - bool keep_copysig; /* did copy it? */ -#else -#ifdef HAVE_SIGNAL - void *keep_sigact; /* store the old handler here */ -#endif -#endif - - /************************************************************* - * Check input data - *************************************************************/ - - if(!data->change.url) - return CURLE_URL_MALFORMAT; - - /* First, split up the current URL in parts so that we can use the - parts for checking against the already present connections. In order - to not have to modify everything at once, we allocate a temporary - connection data struct and fill in for comparison purposes. */ - - conn = (struct connectdata *)malloc(sizeof(struct connectdata)); - if(!conn) { - *in_connect = NULL; /* clear the pointer */ - return CURLE_OUT_OF_MEMORY; - } - /* We must set the return variable as soon as possible, so that our - parent can cleanup any possible allocs we may have done before - any failure */ - *in_connect = conn; - - /* we have to init the struct */ - memset(conn, 0, sizeof(struct connectdata)); - - /* and we setup a few fields in case we end up actually using this struct */ - conn->data = data; /* remember our daddy */ - conn->firstsocket = -1; /* no file descriptor */ - conn->secondarysocket = -1; /* no file descriptor */ - conn->connectindex = -1; /* no index */ - conn->bits.httpproxy = data->change.proxy?TRUE:FALSE; /* proxy-or-not */ - conn->bits.use_range = data->set.set_range?TRUE:FALSE; /* range status */ - conn->range = data->set.set_range; /* clone the range setting */ - conn->resume_from = data->set.set_resume_from; /* inherite resume_from */ - - /* Default protocol-independent behavior doesn't support persistant - connections, so we set this to force-close. Protocols that support - this need to set this to FALSE in their "curl_do" functions. */ - conn->bits.close = TRUE; - - /* inherite initial knowledge from the data struct */ - conn->bits.user_passwd = data->set.userpwd?1:0; - conn->bits.proxy_user_passwd = data->set.proxyuserpwd?1:0; - - /* maxdownload must be -1 on init, as 0 is a valid value! */ - conn->maxdownload = -1; /* might have been used previously! */ - - /* Store creation time to help future close decision making */ - conn->created = Curl_tvnow(); - - - /*********************************************************** - * We need to allocate memory to store the path in. We get the size of the - * full URL to be sure, and we need to make it at least 256 bytes since - * other parts of the code will rely on this fact - ***********************************************************/ -#define LEAST_PATH_ALLOC 256 - urllen=strlen(data->change.url); - if(urllen < LEAST_PATH_ALLOC) - urllen=LEAST_PATH_ALLOC; - - conn->path=(char *)malloc(urllen); - if(NULL == conn->path) - return CURLE_OUT_OF_MEMORY; /* really bad error */ - - /************************************************************* - * Parse the URL. - * - * We need to parse the url even when using the proxy, because we will need - * the hostname and port in case we are trying to SSL connect through the - * proxy -- and we don't know if we will need to use SSL until we parse the - * url ... - ************************************************************/ - if((2 == sscanf(data->change.url, "%64[^:]://%[^\n]", - conn->protostr, - conn->path)) && strequal(conn->protostr, "file")) { - /* - * we deal with file://<host>/<path> differently since it supports no - * hostname other than "localhost" and "127.0.0.1", which is unique among - * the URL protocols specified in RFC 1738 - */ - if(conn->path[0] != '/') { - /* the URL included a host name, we ignore host names in file:// URLs - as the standards don't define what to do with them */ - char *ptr=strchr(conn->path, '/'); - if(ptr) { - /* there was a slash present - - RFC1738 (section 3.1, page 5) says: - - The rest of the locator consists of data specific to the scheme, - and is known as the "url-path". It supplies the details of how the - specified resource can be accessed. Note that the "/" between the - host (or port) and the url-path is NOT part of the url-path. - - As most agents use file://localhost/foo to get '/foo' although the - slash preceeding foo is a separator and not a slash for the path, - a URL as file://localhost//foo must be valid as well, to refer to - the same file with an absolute path. - */ - - if(ptr[1] && ('/' == ptr[1])) - /* if there was two slashes, we skip the first one as that is then - used truly as a separator */ - ptr++; - - strcpy(conn->path, ptr); - } - } - - strcpy(conn->protostr, "file"); /* store protocol string lowercase */ - } - else { - /* Set default host and default path */ - strcpy(conn->gname, "curl.haxx.se"); - strcpy(conn->path, "/"); - - if (2 > sscanf(data->change.url, - "%64[^\n:]://%512[^\n/]%[^\n]", - conn->protostr, conn->gname, conn->path)) { - - /* - * The URL was badly formatted, let's try the browser-style _without_ - * protocol specified like 'http://'. - */ - if((1 > sscanf(data->change.url, "%512[^\n/]%[^\n]", - conn->gname, conn->path)) ) { - /* - * We couldn't even get this format. - */ - failf(data, "<url> malformed"); - return CURLE_URL_MALFORMAT; - } - - /* - * Since there was no protocol part specified, we guess what protocol it - * is based on the first letters of the server name. - */ - - if(strnequal(conn->gname, "FTP", 3)) { - strcpy(conn->protostr, "ftp"); - } - else if(strnequal(conn->gname, "GOPHER", 6)) - strcpy(conn->protostr, "gopher"); -#ifdef USE_SSLEAY - else if(strnequal(conn->gname, "HTTPS", 5)) - strcpy(conn->protostr, "https"); - else if(strnequal(conn->gname, "FTPS", 4)) - strcpy(conn->protostr, "ftps"); -#endif /* USE_SSLEAY */ - else if(strnequal(conn->gname, "TELNET", 6)) - strcpy(conn->protostr, "telnet"); - else if (strnequal(conn->gname, "DICT", sizeof("DICT")-1)) - strcpy(conn->protostr, "DICT"); - else if (strnequal(conn->gname, "LDAP", sizeof("LDAP")-1)) - strcpy(conn->protostr, "LDAP"); - else { - strcpy(conn->protostr, "http"); - } - - conn->protocol |= PROT_MISSING; /* not given in URL */ - } - } - - buf = data->state.buffer; /* this is our buffer */ - - /************************************************************* - * Take care of user and password authentication stuff - *************************************************************/ - - if(conn->bits.user_passwd && !data->set.use_netrc) { - data->state.user[0] =0; - data->state.passwd[0]=0; - - if(*data->set.userpwd != ':') { - /* the name is given, get user+password */ - sscanf(data->set.userpwd, "%127[^:]:%127[^\n]", - data->state.user, data->state.passwd); - } - else - /* no name given, get the password only */ - sscanf(data->set.userpwd+1, "%127[^\n]", data->state.passwd); - - /* check for password, if no ask for one */ - if( !data->state.passwd[0] ) { - if(!data->set.fpasswd || - data->set.fpasswd(data->set.passwd_client, - "password:", data->state.passwd, - sizeof(data->state.passwd))) - return CURLE_BAD_PASSWORD_ENTERED; - } - } - - /************************************************************* - * Take care of proxy authentication stuff - *************************************************************/ - if(conn->bits.proxy_user_passwd) { - data->state.proxyuser[0] =0; - data->state.proxypasswd[0]=0; - - if(*data->set.proxyuserpwd != ':') { - /* the name is given, get user+password */ - sscanf(data->set.proxyuserpwd, "%127[^:]:%127[^\n]", - data->state.proxyuser, data->state.proxypasswd); - } - else - /* no name given, get the password only */ - sscanf(data->set.proxyuserpwd+1, "%127[^\n]", data->state.proxypasswd); - - /* check for password, if no ask for one */ - if( !data->state.proxypasswd[0] ) { - if(!data->set.fpasswd || - data->set.fpasswd( data->set.passwd_client, - "proxy password:", - data->state.proxypasswd, - sizeof(data->state.proxypasswd))) - return CURLE_BAD_PASSWORD_ENTERED; - } - - } - - /************************************************************* - * Set a few convenience pointers - *************************************************************/ - conn->name = conn->gname; - conn->ppath = conn->path; - conn->hostname = conn->name; - - - /************************************************************* - * Detect what (if any) proxy to use - *************************************************************/ - if(!data->change.proxy) { - /* If proxy was not specified, we check for default proxy environment - * variables, to enable i.e Lynx compliance: - * - * http_proxy=http://some.server.dom:port/ - * https_proxy=http://some.server.dom:port/ - * ftp_proxy=http://some.server.dom:port/ - * gopher_proxy=http://some.server.dom:port/ - * no_proxy=domain1.dom,host.domain2.dom - * (a comma-separated list of hosts which should - * not be proxied, or an asterisk to override - * all proxy variables) - * all_proxy=http://some.server.dom:port/ - * (seems to exist for the CERN www lib. Probably - * the first to check for.) - * - * For compatibility, the all-uppercase versions of these variables are - * checked if the lowercase versions don't exist. - */ - char *no_proxy=NULL; - char *no_proxy_tok_buf; - char *proxy=NULL; - char proxy_env[128]; - - no_proxy=curl_getenv("no_proxy"); - if(!no_proxy) - no_proxy=curl_getenv("NO_PROXY"); - - if(!no_proxy || !strequal("*", no_proxy)) { - /* NO_PROXY wasn't specified or it wasn't just an asterisk */ - char *nope; - - nope=no_proxy?strtok_r(no_proxy, ", ", &no_proxy_tok_buf):NULL; - while(nope) { - if(strlen(nope) <= strlen(conn->name)) { - char *checkn= - conn->name + strlen(conn->name) - strlen(nope); - if(strnequal(nope, checkn, strlen(nope))) { - /* no proxy for this host! */ - break; - } - } - nope=strtok_r(NULL, ", ", &no_proxy_tok_buf); - } - if(!nope) { - /* It was not listed as without proxy */ - char *protop = conn->protostr; - char *envp = proxy_env; - char *prox; - - /* Now, build <protocol>_proxy and check for such a one to use */ - while(*protop) - *envp++ = tolower(*protop++); - - /* append _proxy */ - strcpy(envp, "_proxy"); - - /* read the protocol proxy: */ - prox=curl_getenv(proxy_env); - - /* - * We don't try the uppercase version of HTTP_PROXY because of - * security reasons: - * - * When curl is used in a webserver application - * environment (cgi or php), this environment variable can - * be controlled by the web server user by setting the - * http header 'Proxy:' to some value. - * - * This can cause 'internal' http/ftp requests to be - * arbitrarily redirected by any external attacker. - */ - if(!prox && !strequal("http_proxy", proxy_env)) { - /* There was no lowercase variable, try the uppercase version: */ - for(envp = proxy_env; *envp; envp++) - *envp = toupper(*envp); - prox=curl_getenv(proxy_env); - } - - if(prox && *prox) { /* don't count "" strings */ - proxy = prox; /* use this */ - } - else { - proxy = curl_getenv("all_proxy"); /* default proxy to use */ - if(!proxy) - proxy=curl_getenv("ALL_PROXY"); - } - - if(proxy && *proxy) { - /* we have a proxy here to set */ - data->change.proxy = proxy; - data->change.proxy_alloc=TRUE; /* this needs to be freed later */ - conn->bits.httpproxy = TRUE; - } - } /* if (!nope) - it wasn't specified non-proxy */ - } /* NO_PROXY wasn't specified or '*' */ - if(no_proxy) - free(no_proxy); - } /* if not using proxy */ - - /************************************************************* - * No protocol part in URL was used, add it! - *************************************************************/ - if(conn->protocol&PROT_MISSING) { - /* We're guessing prefixes here and if we're told to use a proxy or if - we're gonna follow a Location: later or... then we need the protocol - part added so that we have a valid URL. */ - char *reurl; - - reurl = aprintf("%s://%s", conn->protostr, data->change.url); - - if(!reurl) - return CURLE_OUT_OF_MEMORY; - - data->change.url = reurl; - data->change.url_alloc = TRUE; /* free this later */ - conn->protocol &= ~PROT_MISSING; /* switch that one off again */ - } - - /************************************************************ - * RESUME on a HTTP page is a tricky business. First, let's just check that - * 'range' isn't used, then set the range parameter and leave the resume as - * it is to inform about this situation for later use. We will then - * "attempt" to resume, and if we're talking to a HTTP/1.1 (or later) - * server, we will get the document resumed. If we talk to a HTTP/1.0 - * server, we just fail since we can't rewind the file writing from within - * this function. - ***********************************************************/ - if(conn->resume_from) { - if(!conn->bits.use_range) { - /* if it already was in use, we just skip this */ - snprintf(resumerange, sizeof(resumerange), "%d-", conn->resume_from); - conn->range=strdup(resumerange); /* tell ourselves to fetch this range */ - conn->bits.rangestringalloc = TRUE; /* mark as allocated */ - conn->bits.use_range = 1; /* switch on range usage */ - } - } - - /************************************************************* - * Setup internals depending on protocol - *************************************************************/ - - if (strequal(conn->protostr, "HTTP")) { - conn->port = (data->set.use_port && data->state.allow_port)? - data->set.use_port:PORT_HTTP; - conn->remote_port = PORT_HTTP; - conn->protocol |= PROT_HTTP; - conn->curl_do = Curl_http; - conn->curl_done = Curl_http_done; - conn->curl_connect = Curl_http_connect; - } - else if (strequal(conn->protostr, "HTTPS")) { -#ifdef USE_SSLEAY - - conn->port = (data->set.use_port && data->state.allow_port)? - data->set.use_port:PORT_HTTPS; - conn->remote_port = PORT_HTTPS; - conn->protocol |= PROT_HTTP|PROT_HTTPS|PROT_SSL; - - conn->curl_do = Curl_http; - conn->curl_done = Curl_http_done; - conn->curl_connect = Curl_http_connect; - -#else /* USE_SSLEAY */ - failf(data, LIBCURL_NAME - " was built with SSL disabled, https: not supported!"); - return CURLE_UNSUPPORTED_PROTOCOL; -#endif /* !USE_SSLEAY */ - } - else if (strequal(conn->protostr, "GOPHER")) { - conn->port = (data->set.use_port && data->state.allow_port)? - data->set.use_port:PORT_GOPHER; - conn->remote_port = PORT_GOPHER; - /* Skip /<item-type>/ in path if present */ - if (isdigit((int)conn->path[1])) { - conn->ppath = strchr(&conn->path[1], '/'); - if (conn->ppath == NULL) - conn->ppath = conn->path; - } - conn->protocol |= PROT_GOPHER; - conn->curl_do = Curl_http; - conn->curl_done = Curl_http_done; - } - else if(strequal(conn->protostr, "FTP") || - strequal(conn->protostr, "FTPS")) { - char *type; - - if(strequal(conn->protostr, "FTPS")) { -#ifdef USE_SSLEAY - conn->protocol |= PROT_FTPS|PROT_SSL; -#else - failf(data, LIBCURL_NAME - " was built with SSL disabled, ftps: not supported!"); - return CURLE_UNSUPPORTED_PROTOCOL; -#endif /* !USE_SSLEAY */ - } - - conn->port = (data->set.use_port && data->state.allow_port)? - data->set.use_port:PORT_FTP; - conn->remote_port = PORT_FTP; - conn->protocol |= PROT_FTP; - - if(data->change.proxy && - !data->set.tunnel_thru_httpproxy) { - /* Unless we have asked to tunnel ftp operations through the proxy, we - switch and use HTTP operations only */ - if(conn->protocol & PROT_FTPS) { - /* FTPS is a hacked protocol and does not work through your - ordinary http proxy! */ - failf(data, "ftps does not work through http proxy!"); - return CURLE_UNSUPPORTED_PROTOCOL; - } - conn->curl_do = Curl_http; - conn->curl_done = Curl_http_done; - } - else { - conn->curl_do = Curl_ftp; - conn->curl_done = Curl_ftp_done; - conn->curl_connect = Curl_ftp_connect; - conn->curl_disconnect = Curl_ftp_disconnect; - } - - conn->ppath++; /* don't include the initial slash */ - - /* FTP URLs support an extension like ";type=<typecode>" that - * we'll try to get now! */ - type=strstr(conn->ppath, ";type="); - if(!type) { - type=strstr(conn->gname, ";type="); - } - if(type) { - char command; - *type=0; - command = toupper(type[6]); - switch(command) { - case 'A': /* ASCII mode */ - data->set.ftp_ascii = 1; - break; - case 'D': /* directory mode */ - data->set.ftp_list_only = 1; - break; - case 'I': /* binary mode */ - default: - /* switch off ASCII */ - data->set.ftp_ascii = 0; - break; - } - } - } - else if(strequal(conn->protostr, "TELNET")) { - /* telnet testing factory */ - conn->protocol |= PROT_TELNET; - - conn->port = (data->set.use_port && data->state.allow_port)? - data->set.use_port: PORT_TELNET; - conn->remote_port = PORT_TELNET; - conn->curl_do = Curl_telnet; - conn->curl_done = Curl_telnet_done; - } - else if (strequal(conn->protostr, "DICT")) { - conn->protocol |= PROT_DICT; - conn->port = (data->set.use_port && data->state.allow_port)? - data->set.use_port:PORT_DICT; - conn->remote_port = PORT_DICT; - conn->curl_do = Curl_dict; - conn->curl_done = NULL; /* no DICT-specific done */ - } - else if (strequal(conn->protostr, "LDAP")) { - conn->protocol |= PROT_LDAP; - conn->port = (data->set.use_port && data->state.allow_port)? - data->set.use_port:PORT_LDAP; - conn->remote_port = PORT_LDAP; - conn->curl_do = Curl_ldap; - conn->curl_done = NULL; /* no LDAP-specific done */ - } - else if (strequal(conn->protostr, "FILE")) { - conn->protocol |= PROT_FILE; - - conn->curl_do = Curl_file; - /* no done() function */ - - /* anyway, this is supposed to be the connect function so we better - at least check that the file is present here! */ - result = Curl_file_connect(conn); - - /* Setup a "faked" transfer that'll do nothing */ - if(CURLE_OK == result) { - result = Curl_Transfer(conn, -1, -1, FALSE, NULL, /* no download */ - -1, NULL); /* no upload */ - } - - return result; - } - else { - /* We fell through all checks and thus we don't support the specified - protocol */ - failf(data, "Unsupported protocol: %s", conn->protostr); - return CURLE_UNSUPPORTED_PROTOCOL; - } - - /************************************************************* - * .netrc scanning coming up - *************************************************************/ - if(data->set.use_netrc) { - if(Curl_parsenetrc(conn->hostname, - data->state.user, - data->state.passwd)) { - infof(data, "Couldn't find host %s in the .netrc file, using defaults", - conn->hostname); - } - else - conn->bits.user_passwd = 1; /* enable user+password */ - - /* weather we failed or not, we don't know which fields that were filled - in anyway */ - if(!data->state.user[0]) - strcpy(data->state.user, CURL_DEFAULT_USER); - if(!data->state.passwd[0]) - strcpy(data->state.passwd, CURL_DEFAULT_PASSWORD); - } - else if(!(conn->bits.user_passwd) && - (conn->protocol & (PROT_FTP|PROT_HTTP)) ) { - /* This is a FTP or HTTP URL, and we haven't got the user+password in - * the extra parameter, we will now try to extract the possible - * user+password pair in a string like: - * ftp://user:password@ftp.my.site:8021/README */ - char *ptr=NULL; /* assign to remove possible warnings */ - if((ptr=strchr(conn->name, '@'))) { - /* there's a user+password given here, to the left of the @ */ - - data->state.user[0] =0; - data->state.passwd[0]=0; - - if(*conn->name != ':') { - /* the name is given, get user+password */ - sscanf(conn->name, "%127[^:@]:%127[^@]", - data->state.user, data->state.passwd); - } - else - /* no name given, get the password only */ - sscanf(conn->name+1, "%127[^@]", data->state.passwd); - - if(data->state.user[0]) { - char *newname=curl_unescape(data->state.user, 0); - if(strlen(newname) < sizeof(data->state.user)) { - strcpy(data->state.user, newname); - } - /* if the new name is longer than accepted, then just use - the unconverted name, it'll be wrong but what the heck */ - free(newname); - } - - /* check for password, if no ask for one */ - if( !data->state.passwd[0] ) { - if(!data->set.fpasswd || - data->set.fpasswd(data->set.passwd_client, - "password:", data->state.passwd, - sizeof(data->state.passwd))) - return CURLE_BAD_PASSWORD_ENTERED; - } - else { - /* we have a password found in the URL, decode it! */ - char *newpasswd=curl_unescape(data->state.passwd, 0); - if(strlen(newpasswd) < sizeof(data->state.passwd)) { - strcpy(data->state.passwd, newpasswd); - } - free(newpasswd); - } - - conn->name = ++ptr; - conn->bits.user_passwd=TRUE; /* enable user+password */ - } - else { - strcpy(data->state.user, CURL_DEFAULT_USER); - strcpy(data->state.passwd, CURL_DEFAULT_PASSWORD); - } - } - - /************************************************************* - * Figure out the remote port number - * - * No matter if we use a proxy or not, we have to figure out the remote - * port number of various reasons. - * - * To be able to detect port number flawlessly, we must not confuse them - * IPv6-specified addresses in the [0::1] style. (RFC2732) - *************************************************************/ - - if((1 == sscanf(conn->name, "[%*39[0-9a-fA-F:.]%c", &endbracket)) && - (']' == endbracket)) { - /* This is a (IPv6-style) specified IP-address. We support _any_ - IP within brackets to be really generic. */ - conn->name++; /* pass the starting bracket */ - - tmp = strchr(conn->name, ']'); - *tmp = 0; /* zero terminate */ - - tmp++; /* pass the ending bracket */ - if(':' != *tmp) - tmp = NULL; /* no port number available */ - } - else { - /* traditional IPv4-style port-extracting */ - tmp = strchr(conn->name, ':'); - } - - if (tmp) { - *tmp++ = '\0'; /* cut off the name there */ - conn->remote_port = atoi(tmp); - } - - if(data->change.proxy) { - /* If this is supposed to use a proxy, we need to figure out the proxy - host name name, so that we can re-use an existing connection - that may exist registered to the same proxy host. */ - - char *prox_portno; - char *endofprot; - - /* We need to make a duplicate of the proxy so that we can modify the - string safely. */ - char *proxydup=strdup(data->change.proxy); - - /* We use 'proxyptr' to point to the proxy name from now on... */ - char *proxyptr=proxydup; - - if(NULL == proxydup) { - failf(data, "memory shortage"); - return CURLE_OUT_OF_MEMORY; - } - - /* Daniel Dec 10, 1998: - We do the proxy host string parsing here. We want the host name and the - port name. Accept a protocol:// prefix, even though it should just be - ignored. */ - - /* 1. skip the protocol part if present */ - endofprot=strstr(proxyptr, "://"); - if(endofprot) { - proxyptr = endofprot+3; - } - - /* allow user to specify proxy.server.com:1080 if desired */ - prox_portno = strchr (proxyptr, ':'); - if (prox_portno) { - *prox_portno = 0x0; /* cut off number from host name */ - prox_portno ++; - /* now set the local port number */ - conn->port = atoi(prox_portno); - } - else if(data->set.proxyport) { - /* None given in the proxy string, then get the default one if it is - given */ - conn->port = data->set.proxyport; - } - - /* now, clone the cleaned proxy host name */ - conn->proxyhost = strdup(proxyptr); - - free(proxydup); /* free the duplicate pointer and not the modified */ - } - - /************************************************************* - * Check the current list of connections to see if we can - * re-use an already existing one or if we have to create a - * new one. - *************************************************************/ - - /* reuse_fresh is set TRUE if we are told to use a fresh connection - by force */ - if(!data->set.reuse_fresh && - ConnectionExists(data, conn, &conn_temp)) { - /* - * We already have a connection for this, we got the former connection - * in the conn_temp variable and thus we need to cleanup the one we - * just allocated before we can move along and use the previously - * existing one. - */ - struct connectdata *old_conn = conn; - char *path = old_conn->path; /* setup the current path pointer properly */ - char *ppath = old_conn->ppath; /* this is the modified path pointer */ - if(old_conn->proxyhost) - free(old_conn->proxyhost); - conn = conn_temp; /* use this connection from now on */ - - /* we need these pointers if we speak over a proxy */ - conn->hostname = conn->gname; - conn->name = &conn->gname[old_conn->name - old_conn->gname]; - - free(conn->path); /* free the previously allocated path pointer */ - - /* 'path' points to the allocated data, 'ppath' may have been advanced - to point somewhere within the 'path' area. */ - conn->path = path; - conn->ppath = ppath; - - /* re-use init */ - conn->bits.reuse = TRUE; /* yes, we're re-using here */ - conn->bits.chunk = FALSE; /* always assume not chunked unless told - otherwise */ - conn->maxdownload = -1; /* might have been used previously! */ - - free(old_conn); /* we don't need this anymore */ - - /* - * If we're doing a resumed transfer, we need to setup our stuff - * properly. - */ - conn->resume_from = data->set.set_resume_from; - if (conn->resume_from) { - snprintf(resumerange, sizeof(resumerange), "%d-", conn->resume_from); - if (conn->bits.rangestringalloc == TRUE) - free(conn->range); - - /* tell ourselves to fetch this range */ - conn->range = strdup(resumerange); - conn->bits.use_range = TRUE; /* enable range download */ - conn->bits.rangestringalloc = TRUE; /* mark range string allocated */ - } - else if (data->set.set_range) { - /* There is a range, but is not a resume, useful for random ftp access */ - conn->range = strdup(data->set.set_range); - conn->bits.rangestringalloc = TRUE; /* mark range string allocated */ - conn->bits.use_range = TRUE; /* enable range download */ - } - - *in_connect = conn; /* return this instead! */ - - infof(data, "Re-using existing connection! (#%d)\n", conn->connectindex); - } - else { - /* - * This is a brand new connection, so let's store it in the connection - * cache of ours! - */ - ConnectionStore(data, conn); - } - - /************************************************************* - * Set timeout if that is being used - *************************************************************/ - if(data->set.timeout || data->set.connecttimeout) { - /************************************************************* - * Set signal handler to catch SIGALRM - * Store the old value to be able to set it back later! - *************************************************************/ - -#ifdef HAVE_SIGACTION - struct sigaction sigact; - sigaction(SIGALRM, NULL, &sigact); - keep_sigact = sigact; - keep_copysig = TRUE; /* yes, we have a copy */ - sigact.sa_handler = alarmfunc; -#ifdef SA_RESTART - /* HPUX doesn't have SA_RESTART but defaults to that behaviour! */ - sigact.sa_flags &= ~SA_RESTART; -#endif - /* now set the new struct */ - sigaction(SIGALRM, &sigact, NULL); -#else - /* no sigaction(), revert to the much lamer signal() */ -#ifdef HAVE_SIGNAL - keep_sigact = signal(SIGALRM, alarmfunc); -#endif -#endif - - /* We set the timeout on the name resolving phase first, separately from - * the download/upload part to allow a maximum time on everything. This is - * a signal-based timeout, why it won't work and shouldn't be used in - * multi-threaded environments. */ - -#ifdef HAVE_ALARM - /* alarm() makes a signal get sent when the timeout fires off, and that - will abort system calls */ - prev_alarm = alarm(data->set.connecttimeout? - data->set.connecttimeout: - data->set.timeout); - /* We can expect the conn->created time to be "now", as that was just - recently set in the beginning of this function and nothing slow - has been done since then until now. */ -#endif - } - - /************************************************************* - * Resolve the name of the server or proxy - *************************************************************/ - if(!data->change.proxy) { - /* If not connecting via a proxy, extract the port from the URL, if it is - * there, thus overriding any defaults that might have been set above. */ - conn->port = conn->remote_port; /* it is the same port */ - - /* Resolve target host right on */ - if(!conn->hostaddr) { - /* it might already be set if reusing a connection */ - conn->hostaddr = Curl_resolv(data, conn->name, conn->port, - &conn->hostent_buf); - } - if(!conn->hostaddr) { - failf(data, "Couldn't resolve host '%s'", conn->name); - result = CURLE_COULDNT_RESOLVE_HOST; - /* don't return yet, we need to clean up the timeout first */ - } - } - else if(!conn->hostaddr) { - /* This is a proxy that hasn't been resolved yet. It may be resolved - if we're reusing an existing connection. */ - - /* resolve proxy */ - /* it might already be set if reusing a connection */ - conn->hostaddr = Curl_resolv(data, conn->proxyhost, conn->port, - &conn->hostent_buf); - - if(!conn->hostaddr) { - failf(data, "Couldn't resolve proxy '%s'", conn->proxyhost); - result = CURLE_COULDNT_RESOLVE_PROXY; - /* don't return yet, we need to clean up the timeout first */ - } - } - Curl_pgrsTime(data, TIMER_NAMELOOKUP); -#ifdef HAVE_ALARM - if(data->set.timeout || data->set.connecttimeout) { -#ifdef HAVE_SIGACTION - if(keep_copysig) { - /* we got a struct as it looked before, now put that one back nice - and clean */ - sigaction(SIGALRM, &keep_sigact, NULL); /* put it back */ - } -#else -#ifdef HAVE_SIGNAL - /* restore the previous SIGALRM handler */ - signal(SIGALRM, keep_sigact); -#endif -#endif - /* switch back the alarm() to either zero or to what it was before minus - the time we spent until now! */ - if(prev_alarm) { - /* there was an alarm() set before us, now put it back */ - long elapsed_ms = Curl_tvdiff(Curl_tvnow(), conn->created); - long alarm_set; - - /* the alarm period is counted in even number of seconds */ - alarm_set = prev_alarm - elapsed_ms/1000; - - if(alarm_set<=0) { - /* if it turned negative, we should fire off a SIGALRM here, but we - won't, and zero would be to switch it off so we never set it to - less than 1! */ - alarm(1); - result = CURLE_OPERATION_TIMEOUTED; - failf(data, "Previous alarm fired off!"); - } - else - alarm(alarm_set); - } - else - alarm(0); /* just shut it off */ - } -#endif - if(result) - return result; - - /************************************************************* - * Proxy authentication - *************************************************************/ - if(conn->bits.proxy_user_passwd) { - char *authorization; - snprintf(data->state.buffer, BUFSIZE, "%s:%s", - data->state.proxyuser, data->state.proxypasswd); - if(Curl_base64_encode(data->state.buffer, strlen(data->state.buffer), - &authorization) >= 0) { - if(conn->allocptr.proxyuserpwd) - free(conn->allocptr.proxyuserpwd); - conn->allocptr.proxyuserpwd = - aprintf("Proxy-authorization: Basic %s\015\012", authorization); - free(authorization); - } - } - - /************************************************************* - * Send user-agent to HTTP proxies even if the target protocol - * isn't HTTP. - *************************************************************/ - if((conn->protocol&PROT_HTTP) || data->change.proxy) { - if(data->set.useragent) { - if(conn->allocptr.uagent) - free(conn->allocptr.uagent); - conn->allocptr.uagent = - aprintf("User-Agent: %s\015\012", data->set.useragent); - } - } - - if(-1 == conn->firstsocket) { - /* Connect only if not already connected! */ - result = ConnectPlease(conn); - if(CURLE_OK != result) - return result; - - if(conn->curl_connect) { - /* is there a connect() procedure? */ - - /* set start time here for timeout purposes in the - * connect procedure, it is later set again for the - * progress meter purpose */ - conn->now = Curl_tvnow(); - - /* Call the protocol-specific connect function */ - result = conn->curl_connect(conn); - if(result != CURLE_OK) - return result; /* pass back errors */ - } - } - - Curl_pgrsTime(data, TIMER_CONNECT); /* we're connected */ - - conn->now = Curl_tvnow(); /* time this *after* the connect is done */ - conn->bytecount = 0; - conn->headerbytecount = 0; - - /* Figure out the ip-number and display the first host name it shows: */ -#ifdef ENABLE_IPV6 - { - char hbuf[NI_MAXHOST]; -#ifdef NI_WITHSCOPEID - const int niflags = NI_NUMERICHOST | NI_WITHSCOPEID; -#else - const int niflags = NI_NUMERICHOST; -#endif - struct addrinfo *ai = conn->serv_addr; - - if (getnameinfo(ai->ai_addr, ai->ai_addrlen, hbuf, sizeof(hbuf), NULL, 0, - niflags)) { - snprintf(hbuf, sizeof(hbuf), "?"); - } - if (ai->ai_canonname) { - infof(data, "Connected to %s (%s) port %d\n", ai->ai_canonname, hbuf, - conn->port); - } else { - infof(data, "Connected to %s port %d\n", hbuf, conn->port); - } - } -#else - { - struct in_addr in; - (void) memcpy(&in.s_addr, &conn->serv_addr.sin_addr, sizeof (in.s_addr)); - infof(data, "Connected to %s (%s)\n", conn->hostaddr->h_name, -#if defined(HAVE_INET_NTOA_R) - inet_ntoa_r(in, ntoa_buf, sizeof(ntoa_buf)) -#else - inet_ntoa(in) -#endif - ); - } -#endif - -#ifdef __EMX__ - /* 20000330 mgs - * the check is quite a hack... - * we're calling _fsetmode to fix the problem with fwrite converting newline - * characters (you get mangled text files, and corrupted binary files when - * you download to stdout and redirect it to a file). */ - - if ((data->set.out)->_handle == NULL) { - _fsetmode(stdout, "b"); - } -#endif - - return CURLE_OK; -} - -CURLcode Curl_connect(struct SessionHandle *data, - struct connectdata **in_connect) -{ - CURLcode code; - struct connectdata *conn; - - /* call the stuff that needs to be called */ - code = CreateConnection(data, in_connect); - - if(CURLE_OK != code) { - /* We're not allowed to return failure with memory left allocated - in the connectdata struct, free those here */ - conn = (struct connectdata *)*in_connect; - if(conn) { - Curl_disconnect(conn); /* close the connection */ - *in_connect = NULL; /* return a NULL */ - } - } - return code; -} - - -CURLcode Curl_done(struct connectdata *conn) -{ - struct SessionHandle *data=conn->data; - CURLcode result; - - /* cleanups done even if the connection is re-used */ - - if(conn->bits.rangestringalloc) { - free(conn->range); - conn->bits.rangestringalloc = FALSE; - } - - /* Cleanup possible redirect junk */ - if(conn->newurl) { - free(conn->newurl); - conn->newurl = NULL; - } - - /* this calls the protocol-specific function pointer previously set */ - if(conn->curl_done) - result = conn->curl_done(conn); - else - result = CURLE_OK; - - Curl_pgrsDone(conn); /* done with the operation */ - - /* if data->set.reuse_forbid is TRUE, it means the libcurl client has - forced us to close this no matter what we think. - - if conn->bits.close is TRUE, it means that the connection should be - closed in spite of all our efforts to be nice, due to protocol - restrictions in our or the server's end */ - if(data->set.reuse_forbid || - ((CURLE_OK == result) && conn->bits.close)) - result = Curl_disconnect(conn); /* close the connection */ - else - infof(data, "Connection #%d left intact\n", conn->connectindex); - - return result; -} - -CURLcode Curl_do(struct connectdata **connp) -{ - CURLcode result=CURLE_OK; - struct connectdata *conn = *connp; - struct SessionHandle *data=conn->data; - - if(conn->curl_do) { - /* generic protocol-specific function pointer set in curl_connect() */ - result = conn->curl_do(conn); - - /* This was formerly done in transfer.c, but we better do it here */ - - if((CURLE_WRITE_ERROR == result) && conn->bits.reuse) { - /* This was a re-use of a connection and we got a write error in the - * DO-phase. Then we DISCONNECT this connection and have another attempt - * to CONNECT and then DO again! The retry cannot possibly find another - * connection to re-use, since we only keep one possible connection for - * each. */ - - infof(data, "Re-used connection seems dead, get a new one\n"); - - conn->bits.close = TRUE; /* enforce close of this connetion */ - result = Curl_done(conn); /* we are so done with this */ - if(CURLE_OK == result) { - /* Now, redo the connect and get a new connection */ - result = Curl_connect(data, connp); - if(CURLE_OK == result) - /* ... finally back to actually retry the DO phase */ - result = conn->curl_do(*connp); - } - } - } - return result; -} - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/lib/url.h b/Build/source/libs/curl/lib/url.h deleted file mode 100644 index 60c67426dd2..00000000000 --- a/Build/source/libs/curl/lib/url.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef __URL_H -#define __URL_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2001, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: url.h,v 1.8 2002/01/03 15:01:23 bagder Exp $ - *****************************************************************************/ - -/* - * Prototypes for library-wide functions provided by url.c - */ - -CURLcode Curl_open(struct SessionHandle **curl); -CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, ...); -CURLcode Curl_close(struct SessionHandle *data); /* opposite of curl_open() */ -CURLcode Curl_connect(struct SessionHandle *, struct connectdata **); -CURLcode Curl_do(struct connectdata **); -CURLcode Curl_done(struct connectdata *); -CURLcode Curl_disconnect(struct connectdata *); - -#endif diff --git a/Build/source/libs/curl/lib/urldata.h b/Build/source/libs/curl/lib/urldata.h deleted file mode 100644 index a14816bf713..00000000000 --- a/Build/source/libs/curl/lib/urldata.h +++ /dev/null @@ -1,687 +0,0 @@ -#ifndef __URLDATA_H -#define __URLDATA_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2001, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: urldata.h,v 1.103 2002/02/28 23:31:23 bagder Exp $ - *****************************************************************************/ - -/* This file is for lib internal stuff */ - -#include "setup.h" -#include "hostip.h" -#include "hash.h" - -#define PORT_FTP 21 -#define PORT_TELNET 23 -#define PORT_GOPHER 70 -#define PORT_HTTP 80 -#define PORT_HTTPS 443 -#define PORT_DICT 2628 -#define PORT_LDAP 389 - -#define DICT_MATCH "/MATCH:" -#define DICT_MATCH2 "/M:" -#define DICT_MATCH3 "/FIND:" -#define DICT_DEFINE "/DEFINE:" -#define DICT_DEFINE2 "/D:" -#define DICT_DEFINE3 "/LOOKUP:" - -#define CURL_DEFAULT_USER "anonymous" -#define CURL_DEFAULT_PASSWORD "curl_by_daniel@haxx.se" - -#include "cookie.h" -#include "formdata.h" - -#ifdef USE_SSLEAY -/* SSLeay stuff usually in /usr/local/ssl/include */ -#ifdef USE_OPENSSL -#include "openssl/rsa.h" -#include "openssl/crypto.h" -#include "openssl/x509.h" -#include "openssl/pem.h" -#include "openssl/ssl.h" -#include "openssl/err.h" -#ifdef HAVE_OPENSSL_ENGINE_H -#include <openssl/engine.h> -#endif -#else -#include "rsa.h" -#include "crypto.h" -#include "x509.h" -#include "pem.h" -#include "ssl.h" -#include "err.h" -#endif -#endif - -#ifdef HAVE_NETINET_IN_H -#include <netinet/in.h> -#endif - -#include "timeval.h" - -#include <curl/curl.h> - -#include "http_chunks.h" /* for the structs and enum stuff */ - -/* Download buffer size, keep it fairly big for speed reasons */ -#define BUFSIZE (1024*20) - -/* Initial size of the buffer to store headers in, it'll be enlarged in case - of need. */ -#define HEADERSIZE 256 - -/* Just a convenience macro to get the larger value out of two given */ -#ifndef MAX -#define MAX(x,y) ((x)>(y)?(x):(y)) -#endif - -#ifdef KRB4 -/* Types needed for krb4-ftp connections */ -struct krb4buffer { - void *data; - size_t size; - size_t index; - int eof_flag; -}; -enum protection_level { - prot_clear, - prot_safe, - prot_confidential, - prot_private -}; -#endif - -#ifndef HAVE_OPENSSL_ENGINE_H -typedef void ENGINE; -#endif -/* struct for data related to SSL and SSL connections */ -struct ssl_connect_data { - bool use; /* use ssl encrypted communications TRUE/FALSE */ -#ifdef USE_SSLEAY - /* these ones requires specific SSL-types */ - SSL_CTX* ctx; - SSL* handle; - X509* server_cert; -#endif /* USE_SSLEAY */ -}; - -/* information about one single SSL session */ -struct curl_ssl_session { - char *name; /* host name for which this ID was used */ - void *sessionid; /* as returned from the SSL layer */ - long age; /* just a number, the higher the more recent */ - unsigned short remote_port; /* remote port to connect to */ -}; - -struct ssl_config_data { - long version; /* what version the client wants to use */ - long certverifyresult; /* result from the certificate verification */ - long verifypeer; /* set TRUE if this is desired */ - long verifyhost; /* 0: no verif, 1: check that CN exists, 2: CN must match hostname */ - char *CApath; /* DOES NOT WORK ON WINDOWS */ - char *CAfile; /* cerficate to verify peer against */ - char *random_file; /* path to file containing "random" data */ - char *egdsocket; /* path to file containing the EGD daemon socket */ - char *cipher_list; /* list of ciphers to use */ - - long numsessions; /* SSL session id cache size */ -}; - -/**************************************************************************** - * HTTP unique setup - ***************************************************************************/ -struct HTTP { - struct FormData *sendit; - int postsize; - const char *p_pragma; /* Pragma: string */ - const char *p_accept; /* Accept: string */ - long readbytecount; - long writebytecount; - - /* For FORM posting */ - struct Form form; - curl_read_callback storefread; - FILE *in; - - struct Curl_chunker chunk; -}; - -/**************************************************************************** - * FTP unique setup - ***************************************************************************/ -struct FTP { - long *bytecountp; - char *user; /* user name string */ - char *passwd; /* password string */ - char *urlpath; /* the originally given path part of the URL */ - char *dir; /* decoded directory */ - char *file; /* decoded file */ - - char *entrypath; /* the PWD reply when we logged on */ - - char *cache; /* data cache between getresponse()-calls */ - size_t cache_size; /* size of cache in bytes */ -}; - -/**************************************************************************** - * FILE unique setup - ***************************************************************************/ -struct FILE { - int fd; /* open file descriptor to read from! */ -}; - -/* - * Boolean values that concerns this connection. - */ -struct ConnectBits { - bool close; /* if set, we close the connection after this request */ - bool reuse; /* if set, this is a re-used connection */ - bool chunk; /* if set, this is a chunked transfer-encoding */ - bool httpproxy; /* if set, this transfer is done through a http proxy */ - bool user_passwd; /* do we use user+password for this connection? */ - bool proxy_user_passwd; /* user+password for the proxy? */ - - bool use_range; - bool rangestringalloc; /* the range string is malloc()'ed */ - - bool resume_done; /* nothing was transfered, resumed transfer already - complete */ -}; - -/* - * This struct is all the previously local variables from Curl_perform() moved - * to struct to allow the function to return and get re-invoked better without - * losing state. - */ - -struct Curl_transfer_keeper { - int bytecount; /* total number of bytes read */ - int writebytecount; /* number of bytes written */ - long contentlength; /* size of incoming data */ - struct timeval start; /* transfer started at this time */ - struct timeval now; /* current time */ - bool header; /* incoming data has HTTP header */ - int headerline; /* counts header lines to better track the - first one */ - char *hbufp; /* points at *end* of header line */ - int hbuflen; - char *str; /* within buf */ - char *str_start; /* within buf */ - char *end_ptr; /* within buf */ - char *p; /* within headerbuff */ - bool content_range; /* set TRUE if Content-Range: was found */ - int offset; /* possible resume offset read from the - Content-Range: header */ - int httpcode; /* error code from the 'HTTP/1.? XXX' line */ - int httpversion; /* the HTTP version*10 */ - bool write_after_100_header; /* should we enable the write after - we received a 100-continue/timeout - or directly */ - - /* for the low speed checks: */ - time_t timeofdoc; - long bodywrites; - int writetype; - - /* the highest fd we use + 1 */ - struct SessionHandle *data; - struct connectdata *conn; - char *buf; - char *uploadbuf; - int maxfd; - - /* the file descriptors to play with */ - fd_set readfd; - fd_set writefd; - fd_set rkeepfd; - fd_set wkeepfd; - int keepon; - -}; - - -/* - * The connectdata struct contains all fields and variables that should be - * unique for an entire connection. - */ -struct connectdata { - /**** Fields set when inited and not modified again */ - struct SessionHandle *data; /* link to the root CURL struct */ - int connectindex; /* what index in the connects index this particular - struct has */ - - long protocol; /* PROT_* flags concerning the protocol set */ -#define PROT_MISSING (1<<0) -#define PROT_GOPHER (1<<1) -#define PROT_HTTP (1<<2) -#define PROT_HTTPS (1<<3) -#define PROT_FTP (1<<4) -#define PROT_TELNET (1<<5) -#define PROT_DICT (1<<6) -#define PROT_LDAP (1<<7) -#define PROT_FILE (1<<8) -#define PROT_FTPS (1<<9) -#define PROT_SSL (1<<10) /* protocol requires SSL */ - - Curl_addrinfo *hostaddr; /* IP-protocol independent host info pointer list */ - char *hostent_buf; /* pointer to allocated memory for name info */ - -#ifdef ENABLE_IPV6 - struct addrinfo *serv_addr; /* the particular host we use */ -#else - struct sockaddr_in serv_addr; -#endif - char protostr[64]; /* store the protocol string in this buffer */ - char gname[513]; /* store the hostname in this buffer */ - char *name; /* host name pointer to fool around with */ - char *path; /* allocated buffer to store the URL's path part in */ - char *hostname; /* hostname to connect, as parsed from url */ - long port; /* which port to use locally */ - unsigned short remote_port; /* what remote port to connect to, - not the proxy port! */ - char *ppath; - long bytecount; - long headerbytecount; /* only count received headers */ - - char *range; /* range, if used. See README for detailed specification on - this syntax. */ - ssize_t resume_from; /* continue [ftp] transfer from here */ - - char *proxyhost; /* name of the http proxy host */ - - struct timeval now; /* "current" time */ - struct timeval created; /* creation time */ - int firstsocket; /* the main socket to use */ - int secondarysocket; /* for i.e ftp transfers */ - long maxdownload; /* in bytes, the maximum amount of data to fetch, 0 - means unlimited */ - - struct ssl_connect_data ssl; /* this is for ssl-stuff */ - - struct ConnectBits bits; /* various state-flags for this connection */ - - /* These two functions MUST be set by the curl_connect() function to be - be protocol dependent */ - CURLcode (*curl_do)(struct connectdata *connect); - CURLcode (*curl_done)(struct connectdata *connect); - - /* This function *MAY* be set to a protocol-dependent function that is run - * after the connect() and everything is done, as a step in the connection. - */ - CURLcode (*curl_connect)(struct connectdata *connect); - - /* This function *MAY* be set to a protocol-dependent function that is run - * by the curl_disconnect(), as a step in the disconnection. - */ - CURLcode (*curl_disconnect)(struct connectdata *connect); - - /* This function *MAY* be set to a protocol-dependent function that is run - * in the curl_close() function if protocol-specific cleanups are required. - */ - CURLcode (*curl_close)(struct connectdata *connect); - - /**** curl_get() phase fields */ - - /* READ stuff */ - int sockfd; /* socket to read from or -1 */ - int size; /* -1 if unknown at this point */ - bool getheader; /* TRUE if header parsing is wanted */ - long *bytecountp; /* return number of bytes read or NULL */ - - /* WRITE stuff */ - int writesockfd; /* socket to write to, it may very well be - the same we read from. -1 disables */ - long *writebytecountp; /* return number of bytes written or NULL */ - - /** Dynamicly allocated strings, may need to be freed before this **/ - /** struct is killed. **/ - struct dynamically_allocated_data { - char *proxyuserpwd; /* free later if not NULL! */ - char *uagent; /* free later if not NULL! */ - char *userpwd; /* free later if not NULL! */ - char *rangeline; /* free later if not NULL! */ - char *ref; /* free later if not NULL! */ - char *cookie; /* free later if not NULL! */ - char *host; /* free later if not NULL */ - } allocptr; - - char *newurl; /* This can only be set if a Location: was in the - document headers */ - -#ifdef KRB4 - enum protection_level command_prot; - enum protection_level data_prot; - enum protection_level request_data_prot; - - size_t buffer_size; - - struct krb4buffer in_buffer, out_buffer; - int sec_complete; - void *app_data; - - struct Curl_sec_client_mech *mech; - struct sockaddr_in local_addr; - -#endif - - /*************** Request - specific items ************/ - /* previously this was in the urldata struct */ - union { - struct HTTP *http; - struct HTTP *gopher; /* alias, just for the sake of being more readable */ - struct HTTP *https; /* alias, just for the sake of being more readable */ - struct FTP *ftp; - struct FILE *file; - void *telnet; /* private for telnet.c-eyes only */ -#if 0 /* no need for special ones for these: */ - struct LDAP *ldap; - struct DICT *dict; -#endif - void *generic; - } proto; - - /* This struct is inited when needed */ - struct Curl_transfer_keeper keep; - - /* 'upload_present' is used to keep a byte counter of how much data there is - still left in the buffer, aimed for upload. */ - int upload_present; - - /* 'upload_fromhere' is used as a read-pointer when we uploaded parts of a - buffer, so the next read should read from where this pointer points to, - and the 'upload_present' contains the number of bytes available at this - position */ - char *upload_fromhere; -}; - -/* - * Struct to keep statistical and informational data. - */ -struct PureInfo { - int httpcode; - int httpversion; - long filetime; /* If requested, this is might get set. Set to -1 if - the time was unretrievable */ - long header_size; /* size of read header(s) in bytes */ - long request_size; /* the amount of bytes sent in the request(s) */ - - char *contenttype; /* the content type of the object */ -}; - - -struct Progress { - long lastshow; /* time() of the last displayed progress meter or NULL to - force redraw at next call */ - double size_dl; - double size_ul; - double downloaded; - double uploaded; - - double current_speed; /* uses the currently fastest transfer */ - - bool callback; /* set when progress callback is used */ - int width; /* screen width at download start */ - int flags; /* see progress.h */ - - double timespent; - - double dlspeed; - double ulspeed; - - double t_nslookup; - double t_connect; - double t_pretransfer; - double t_starttransfer; - - struct timeval start; - struct timeval t_startsingle; -#define CURR_TIME (5+1) /* 6 entries for 5 seconds */ - - double speeder[ CURR_TIME ]; - struct timeval speeder_time[ CURR_TIME ]; - int speeder_c; -}; - -typedef enum { - HTTPREQ_NONE, /* first in list */ - HTTPREQ_GET, - HTTPREQ_POST, - HTTPREQ_POST_FORM, /* we make a difference internally */ - HTTPREQ_PUT, - HTTPREQ_CUSTOM, - HTTPREQ_LAST /* last in list */ -} Curl_HttpReq; - -/* - * Values that are generated, temporary or calculated internally for a - * "session handle" must be defined within the 'struct urlstate'. This struct - * will be used within the SessionHandle struct. When the 'SessionHandle' - * struct is cloned, this data MUST NOT be copied. - * - * Remember that any "state" information goes globally for the curl handle. - * Session-data MUST be put in the connectdata struct and here. */ -#define MAX_CURL_USER_LENGTH 256 -#define MAX_CURL_PASSWORD_LENGTH 256 - -struct UrlState { - /* buffers to store authentication data in, as parsed from input options */ - char user[MAX_CURL_USER_LENGTH]; - char passwd[MAX_CURL_PASSWORD_LENGTH]; - char proxyuser[MAX_CURL_USER_LENGTH]; - char proxypasswd[MAX_CURL_PASSWORD_LENGTH]; - - struct timeval keeps_speed; /* for the progress meter really */ - - /* 'connects' will be an allocated array with pointers. If the pointer is - set, it holds an allocated connection. */ - struct connectdata **connects; - long numconnects; /* size of the 'connects' array */ - - char *headerbuff; /* allocated buffer to store headers in */ - int headersize; /* size of the allocation */ - - char buffer[BUFSIZE+1]; /* download buffer */ - char uploadbuffer[BUFSIZE+1]; /* upload buffer */ - double current_speed; /* the ProgressShow() funcion sets this */ - - bool this_is_a_follow; /* this is a followed Location: request */ - - char *auth_host; /* if set, this should be the host name that we will - sent authorization to, no else. Used to make Location: - following not keep sending user+password... This is - strdup() data. - */ - - struct curl_ssl_session *session; /* array of 'numsessions' size */ - long sessionage; /* number of the most recent session */ - - char scratch[BUFSIZE*2]; /* huge buffer when doing upload CRLF replacing */ - bool errorbuf; /* Set to TRUE if the error buffer is already filled in. - This must be set to FALSE every time _easy_perform() is - called. */ - -#ifdef HAVE_SIGNAL - /* storage for the previous bag^H^H^HSIGPIPE signal handler :-) */ - void (*prev_signal)(int sig); -#endif - bool allow_port; /* Is set.use_port allowed to take effect or not. This - is always set TRUE when curl_easy_perform() is called. */ -}; - - -/* - * This 'DynamicStatic' struct defines dynamic states that actually change - * values in the 'UserDefined' area, which MUST be taken into consideration - * if the UserDefined struct is cloned or similar. You can probably just - * copy these, but each one indicate a special action on other data. - */ - -struct DynamicStatic { - char *url; /* work URL, copied from UserDefined */ - bool url_alloc; /* URL string is malloc()'ed */ - char *proxy; /* work proxy, copied from UserDefined */ - bool proxy_alloc; /* http proxy string is malloc()'ed */ - char *referer; /* referer string */ - bool referer_alloc; /* referer sting is malloc()ed */ -}; - -/* - * This 'UserDefined' struct must only contain data that is set once to go - * for many (perhaps) independent connections. Values that are generated or - * calculated internally for the "session handle" MUST be defined within the - * 'struct urlstate' instead. The only exceptions MUST note the changes in - * the 'DynamicStatic' struct. - */ - -struct UserDefined { - FILE *err; /* the stderr writes goes here */ - char *errorbuffer; /* store failure messages in here */ - char *proxyuserpwd; /* Proxy <user:password>, if used */ - long proxyport; /* If non-zero, use this port number by default. If the - proxy string features a ":[port]" that one will override - this. */ - void *out; /* the fetched file goes here */ - void *in; /* the uploaded file is read from here */ - void *writeheader; /* write the header to this is non-NULL */ - char *set_url; /* what original URL to work on */ - char *set_proxy; /* proxy to use */ - long use_port; /* which port to use (when not using default) */ - char *userpwd; /* <user:password>, if used */ - char *set_range; /* range, if used. See README for detailed specification - on this syntax. */ - long followlocation; /* as in HTTP Location: */ - long maxredirs; /* maximum no. of http(s) redirects to follow */ - char *set_referer; /* custom string */ - bool free_referer; /* set TRUE if 'referer' points to a string we - allocated */ - char *useragent; /* User-Agent string */ - char *postfields; /* if POST, set the fields' values here */ - size_t postfieldsize; /* if POST, this might have a size to use instead of - strlen(), and then the data *may* be binary (contain - zero bytes) */ - char *ftpport; /* port to send with the FTP PORT command */ - char *device; /* network interface to use */ - curl_write_callback fwrite; /* function that stores the output */ - curl_write_callback fwrite_header; /* function that stores headers */ - curl_read_callback fread; /* function that reads the input */ - curl_progress_callback fprogress; /* function for progress information */ - void *progress_client; /* pointer to pass to the progress callback */ - curl_passwd_callback fpasswd; /* call for password */ - void *passwd_client; /* pass to the passwd callback */ - long timeout; /* in seconds, 0 means no timeout */ - long connecttimeout; /* in seconds, 0 means no timeout */ - long infilesize; /* size of file to upload, -1 means unknown */ - long low_speed_limit; /* bytes/second */ - long low_speed_time; /* number of seconds */ - int set_resume_from; /* continue [ftp] transfer from here */ - char *cookie; /* HTTP cookie string to send */ - struct curl_slist *headers; /* linked list of extra headers */ - struct HttpPost *httppost; /* linked list of POST data */ - char *cert; /* certificate */ - char *cert_type; /* format for certificate (default: PEM) */ - char *key; /* private key */ - char *key_type; /* format for private key (default: PEM) */ - char *key_passwd; /* plain text private key password */ - char *crypto_engine; /* name of the crypto engine to use */ - char *cookiejar; /* dump all cookies to this file */ - bool crlf; /* convert crlf on ftp upload(?) */ - struct curl_slist *quote; /* after connection is established */ - struct curl_slist *postquote; /* after the transfer */ - struct curl_slist *prequote; /* before the transfer, after type (Wesley Laxton)*/ - struct curl_slist *telnet_options; /* linked list of telnet options */ - curl_TimeCond timecondition; /* kind of time/date comparison */ - time_t timevalue; /* what time to compare with */ - curl_closepolicy closepolicy; /* connection cache close concept */ - Curl_HttpReq httpreq; /* what kind of HTTP request (if any) is this */ - char *customrequest; /* HTTP/FTP request to use */ - long httpversion; /* when non-zero, a specific HTTP version requested to - be used in the library's request(s) */ - char *auth_host; /* if set, this is the allocated string to the host name - * to which to send the authorization data to, and no other - * host (which location-following otherwise could lead to) - */ - char *krb4_level; /* what security level */ - struct ssl_config_data ssl; /* user defined SSL stuff */ - - int dns_cache_timeout; /* DNS cache timeout */ - -/* Here follows boolean settings that define how to behave during - this session. They are STATIC, set by libcurl users or at least initially - and they don't change during operations. */ - - bool get_filetime; - bool tunnel_thru_httpproxy; - bool ftp_append; - bool ftp_ascii; - bool ftp_list_only; - bool ftp_use_port; - bool hide_progress; - bool http_fail_on_error; - bool http_follow_location; - bool include_header; -#define http_include_header include_header /* former name */ - - bool http_set_referer; - bool http_auto_referer; /* set "correct" referer when following location: */ - bool no_body; - bool set_port; - bool upload; - bool use_netrc; - bool verbose; - bool krb4; /* kerberos4 connection requested */ - bool reuse_forbid; /* forbidden to be reused, close after use */ - bool reuse_fresh; /* do not re-use an existing connection */ - bool expect100header; /* TRUE if we added Expect: 100-continue */ - bool ftp_use_epsv; /* if EPSV is to be attempted or not */ - - bool global_dns_cache; -}; - -/* - * In August 2001, this struct was redesigned and is since stricter than - * before. The 'connectdata' struct MUST have all the connection oriented - * stuff as we may now have several simultaneous connections and connection - * structs in memory. - * - * From now on, the 'SessionHandle' must only contain data that is set once to - * go for many (perhaps) independent connections. Values that are generated or - * calculated internally for the "session handle" must be defined within the - * 'struct urlstate' instead. */ - -struct SessionHandle { - curl_hash *hostcache; - struct UserDefined set; /* values set by the libcurl user */ - struct DynamicStatic change; /* possibly modified userdefined data */ - - struct CookieInfo *cookies; /* the cookies, read from files and servers */ - struct Progress progress; /* for all the progress meter data */ - struct UrlState state; /* struct for fields used for state info and - other dynamic purposes */ - struct PureInfo info; /* stats, reports and info data */ -#ifdef USE_SSLEAY - ENGINE* engine; -#endif /* USE_SSLEAY */ -}; - -#define LIBCURL_NAME "libcurl" - -#endif diff --git a/Build/source/libs/curl/lib/version.c b/Build/source/libs/curl/lib/version.c deleted file mode 100644 index da41189399c..00000000000 --- a/Build/source/libs/curl/lib/version.c +++ /dev/null @@ -1,121 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2002, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: version.c,v 1.15 2002/01/16 17:45:08 bagder Exp $ - *****************************************************************************/ - -#include "setup.h" - -#include <string.h> -#include <stdio.h> - -#include <curl/curl.h> -#include "urldata.h" - -char *curl_version(void) -{ - static char version[200]; - char *ptr; - strcpy(version, LIBCURL_NAME " " LIBCURL_VERSION ); - ptr=strchr(version, '\0'); - -#ifdef USE_SSLEAY - -#if (SSLEAY_VERSION_NUMBER >= 0x905000) - { - char sub[2]; - unsigned long ssleay_value; - sub[1]='\0'; - ssleay_value=SSLeay(); - if(ssleay_value < 0x906000) { - ssleay_value=SSLEAY_VERSION_NUMBER; - sub[0]='\0'; - } - else { - if(ssleay_value&0xff0) { - sub[0]=((ssleay_value>>4)&0xff) + 'a' -1; - } - else - sub[0]='\0'; - } - - sprintf(ptr, " (OpenSSL %lx.%lx.%lx%s)", - (ssleay_value>>28)&0xf, - (ssleay_value>>20)&0xff, - (ssleay_value>>12)&0xff, - sub); - } - -#else -#if (SSLEAY_VERSION_NUMBER >= 0x900000) - sprintf(ptr, " (SSL %lx.%lx.%lx)", - (SSLEAY_VERSION_NUMBER>>28)&0xff, - (SSLEAY_VERSION_NUMBER>>20)&0xff, - (SSLEAY_VERSION_NUMBER>>12)&0xf); -#else - { - char sub[2]; - sub[1]='\0'; - if(SSLEAY_VERSION_NUMBER&0x0f) { - sub[0]=(SSLEAY_VERSION_NUMBER&0x0f) + 'a' -1; - } - else - sub[0]='\0'; - - sprintf(ptr, " (SSL %x.%x.%x%s)", - (SSLEAY_VERSION_NUMBER>>12)&0xff, - (SSLEAY_VERSION_NUMBER>>8)&0xf, - (SSLEAY_VERSION_NUMBER>>4)&0xf, sub); - } -#endif -#endif - ptr=strchr(ptr, '\0'); -#endif - -#if defined(KRB4) || defined(ENABLE_IPV6) - strcat(ptr, " ("); - ptr+=2; -#ifdef KRB4 - sprintf(ptr, "krb4 "); - ptr += strlen(ptr); -#endif -#ifdef ENABLE_IPV6 - sprintf(ptr, "ipv6 "); - ptr += strlen(ptr); -#endif - sprintf(ptr, "enabled)"); - ptr += strlen(ptr); -#endif - -#ifdef USE_ZLIB - sprintf(ptr, " (zlib %s)", zlibVersion()); - ptr += strlen(ptr); -#endif - - return version; -} - -/* - * local variables: - * eval: (load-file "../curl-mode.el") - * end: - * vim600: fdm=marker - * vim: et sw=2 ts=2 sts=2 tw=78 - */ diff --git a/Build/source/libs/curl/ltmain.sh b/Build/source/libs/curl/ltmain.sh deleted file mode 100644 index de7d37d2331..00000000000 --- a/Build/source/libs/curl/ltmain.sh +++ /dev/null @@ -1,4998 +0,0 @@ -# ltmain.sh - Provide generalized library-building support services. -# NOTE: Changing this file will not affect anything until you rerun configure. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Check that we have a working $echo. -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then - # Yippee, $echo works! - : -else - # Restart under the correct shell, and then maybe $echo will work. - exec $SHELL "$0" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat <<EOF -$* -EOF - exit 0 -fi - -# The name of this program. -progname=`$echo "$0" | sed 's%^.*/%%'` -modename="$progname" - -# Constants. -PROGRAM=ltmain.sh -PACKAGE=libtool -VERSION=1.4.2 -TIMESTAMP=" (1.922.2.54 2001/09/11 03:33:37)" - -default_mode= -help="Try \`$progname --help' for more information." -magic="%%%MAGIC variable%%%" -mkdir="mkdir" -mv="mv -f" -rm="rm -f" - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' -sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' -SP2NL='tr \040 \012' -NL2SP='tr \015\012 \040\040' - -# NLS nuisances. -# Only set LANG and LC_ALL to C if already set. -# These must not be set unconditionally because not all systems understand -# e.g. LANG=C (notably SCO). -# We save the old values to restore during execute mode. -if test "${LC_ALL+set}" = set; then - save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL -fi -if test "${LANG+set}" = set; then - save_LANG="$LANG"; LANG=C; export LANG -fi - -# Make sure IFS has a sensible default -: ${IFS=" "} - -if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then - echo "$modename: not configured to build any kind of library" 1>&2 - echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit 1 -fi - -# Global variables. -mode=$default_mode -nonopt= -prev= -prevopt= -run= -show="$echo" -show_help= -execute_dlfiles= -lo2o="s/\\.lo\$/.${objext}/" -o2lo="s/\\.${objext}\$/.lo/" - -# Parse our command line options once, thoroughly. -while test $# -gt 0 -do - arg="$1" - shift - - case $arg in - -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; - *) optarg= ;; - esac - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - execute_dlfiles) - execute_dlfiles="$execute_dlfiles $arg" - ;; - *) - eval "$prev=\$arg" - ;; - esac - - prev= - prevopt= - continue - fi - - # Have we seen a non-optional argument yet? - case $arg in - --help) - show_help=yes - ;; - - --version) - echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" - exit 0 - ;; - - --config) - sed -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0 - exit 0 - ;; - - --debug) - echo "$progname: enabling shell trace mode" - set -x - ;; - - --dry-run | -n) - run=: - ;; - - --features) - echo "host: $host" - if test "$build_libtool_libs" = yes; then - echo "enable shared libraries" - else - echo "disable shared libraries" - fi - if test "$build_old_libs" = yes; then - echo "enable static libraries" - else - echo "disable static libraries" - fi - exit 0 - ;; - - --finish) mode="finish" ;; - - --mode) prevopt="--mode" prev=mode ;; - --mode=*) mode="$optarg" ;; - - --quiet | --silent) - show=: - ;; - - -dlopen) - prevopt="-dlopen" - prev=execute_dlfiles - ;; - - -*) - $echo "$modename: unrecognized option \`$arg'" 1>&2 - $echo "$help" 1>&2 - exit 1 - ;; - - *) - nonopt="$arg" - break - ;; - esac -done - -if test -n "$prevopt"; then - $echo "$modename: option \`$prevopt' requires an argument" 1>&2 - $echo "$help" 1>&2 - exit 1 -fi - -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= - -if test -z "$show_help"; then - - # Infer the operation mode. - if test -z "$mode"; then - case $nonopt in - *cc | *++ | gcc* | *-gcc*) - mode=link - for arg - do - case $arg in - -c) - mode=compile - break - ;; - esac - done - ;; - *db | *dbx | *strace | *truss) - mode=execute - ;; - *install*|cp|mv) - mode=install - ;; - *rm) - mode=uninstall - ;; - *) - # If we have no mode, but dlfiles were specified, then do execute mode. - test -n "$execute_dlfiles" && mode=execute - - # Just use the default operation mode. - if test -z "$mode"; then - if test -n "$nonopt"; then - $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 - else - $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 - fi - fi - ;; - esac - fi - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$execute_dlfiles" && test "$mode" != execute; then - $echo "$modename: unrecognized option \`-dlopen'" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - # Change the help message to a mode-specific one. - generic_help="$help" - help="Try \`$modename --help --mode=$mode' for more information." - - # These modes are in order of execution frequency so that they run quickly. - case $mode in - # libtool compile mode - compile) - modename="$modename: compile" - # Get the compilation command and the source file. - base_compile= - prev= - lastarg= - srcfile="$nonopt" - suppress_output= - - user_target=no - for arg - do - case $prev in - "") ;; - xcompiler) - # Aesthetically quote the previous argument. - prev= - lastarg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - - case $arg in - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - - # Add the previous argument to base_compile. - if test -z "$base_compile"; then - base_compile="$lastarg" - else - base_compile="$base_compile $lastarg" - fi - continue - ;; - esac - - # Accept any command-line options. - case $arg in - -o) - if test "$user_target" != "no"; then - $echo "$modename: you cannot specify \`-o' more than once" 1>&2 - exit 1 - fi - user_target=next - ;; - - -static) - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Wc,*) - args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` - lastarg= - save_ifs="$IFS"; IFS=',' - for arg in $args; do - IFS="$save_ifs" - - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - lastarg="$lastarg $arg" - done - IFS="$save_ifs" - lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` - - # Add the arguments to base_compile. - if test -z "$base_compile"; then - base_compile="$lastarg" - else - base_compile="$base_compile $lastarg" - fi - continue - ;; - esac - - case $user_target in - next) - # The next one is the -o target name - user_target=yes - continue - ;; - yes) - # We got the output file - user_target=set - libobj="$arg" - continue - ;; - esac - - # Accept the current argument as the source file. - lastarg="$srcfile" - srcfile="$arg" - - # Aesthetically quote the previous argument. - - # Backslashify any backslashes, double quotes, and dollar signs. - # These are the only characters that are still specially - # interpreted inside of double-quoted scrings. - lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` - - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - case $lastarg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - lastarg="\"$lastarg\"" - ;; - esac - - # Add the previous argument to base_compile. - if test -z "$base_compile"; then - base_compile="$lastarg" - else - base_compile="$base_compile $lastarg" - fi - done - - case $user_target in - set) - ;; - no) - # Get the name of the library object. - libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` - ;; - *) - $echo "$modename: you must specify a target with \`-o'" 1>&2 - exit 1 - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - xform='[cCFSfmso]' - case $libobj in - *.ada) xform=ada ;; - *.adb) xform=adb ;; - *.ads) xform=ads ;; - *.asm) xform=asm ;; - *.c++) xform=c++ ;; - *.cc) xform=cc ;; - *.cpp) xform=cpp ;; - *.cxx) xform=cxx ;; - *.f90) xform=f90 ;; - *.for) xform=for ;; - esac - - libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` - - case $libobj in - *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; - *) - $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 - exit 1 - ;; - esac - - if test -z "$base_compile"; then - $echo "$modename: you must specify a compilation command" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - # Delete any leftover library objects. - if test "$build_old_libs" = yes; then - removelist="$obj $libobj" - else - removelist="$libobj" - fi - - $run $rm $removelist - trap "$run $rm $removelist; exit 1" 1 2 15 - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2*) - pic_mode=default - ;; - esac - if test $pic_mode = no && test "$deplibs_check_method" != pass_all; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test "$compiler_c_o" = no; then - output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} - lockfile="$output_obj.lock" - removelist="$removelist $output_obj $lockfile" - trap "$run $rm $removelist; exit 1" 1 2 15 - else - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test "$need_locks" = yes; then - until $run ln "$0" "$lockfile" 2>/dev/null; do - $show "Waiting for $lockfile to be removed" - sleep 2 - done - elif test "$need_locks" = warn; then - if test -f "$lockfile"; then - echo "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit 1 - fi - echo $srcfile > "$lockfile" - fi - - if test -n "$fix_srcfile_path"; then - eval srcfile=\"$fix_srcfile_path\" - fi - - # Only build a PIC object if we are building libtool libraries. - if test "$build_libtool_libs" = yes; then - # Without this assignment, base_compile gets emptied. - fbsd_hideous_sh_bug=$base_compile - - if test "$pic_mode" != no; then - # All platforms use -DPIC, to notify preprocessed assembler code. - command="$base_compile $srcfile $pic_flag -DPIC" - else - # Don't build PIC code - command="$base_compile $srcfile" - fi - if test "$build_old_libs" = yes; then - lo_libobj="$libobj" - dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'` - if test "X$dir" = "X$libobj"; then - dir="$objdir" - else - dir="$dir/$objdir" - fi - libobj="$dir/"`$echo "X$libobj" | $Xsed -e 's%^.*/%%'` - - if test -d "$dir"; then - $show "$rm $libobj" - $run $rm $libobj - else - $show "$mkdir $dir" - $run $mkdir $dir - status=$? - if test $status -ne 0 && test ! -d $dir; then - exit $status - fi - fi - fi - if test "$compiler_o_lo" = yes; then - output_obj="$libobj" - command="$command -o $output_obj" - elif test "$compiler_c_o" = yes; then - output_obj="$obj" - command="$command -o $output_obj" - fi - - $run $rm "$output_obj" - $show "$command" - if $run eval "$command"; then : - else - test -n "$output_obj" && $run $rm $removelist - exit 1 - fi - - if test "$need_locks" = warn && - test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then - echo "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit 1 - fi - - # Just move the object if needed, then go on to compile the next one - if test x"$output_obj" != x"$libobj"; then - $show "$mv $output_obj $libobj" - if $run $mv $output_obj $libobj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - - # If we have no pic_flag, then copy the object into place and finish. - if (test -z "$pic_flag" || test "$pic_mode" != default) && - test "$build_old_libs" = yes; then - # Rename the .lo from within objdir to obj - if test -f $obj; then - $show $rm $obj - $run $rm $obj - fi - - $show "$mv $libobj $obj" - if $run $mv $libobj $obj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - - xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$obj"; then - xdir="." - else - xdir="$xdir" - fi - baseobj=`$echo "X$obj" | $Xsed -e "s%.*/%%"` - libobj=`$echo "X$baseobj" | $Xsed -e "$o2lo"` - # Now arrange that obj and lo_libobj become the same file - $show "(cd $xdir && $LN_S $baseobj $libobj)" - if $run eval '(cd $xdir && $LN_S $baseobj $libobj)'; then - # Unlock the critical section if it was locked - if test "$need_locks" != no; then - $run $rm "$lockfile" - fi - exit 0 - else - error=$? - $run $rm $removelist - exit $error - fi - fi - - # Allow error messages only from the first compilation. - suppress_output=' >/dev/null 2>&1' - fi - - # Only build a position-dependent object if we build old libraries. - if test "$build_old_libs" = yes; then - if test "$pic_mode" != yes; then - # Don't build PIC code - command="$base_compile $srcfile" - else - # All platforms use -DPIC, to notify preprocessed assembler code. - command="$base_compile $srcfile $pic_flag -DPIC" - fi - if test "$compiler_c_o" = yes; then - command="$command -o $obj" - output_obj="$obj" - fi - - # Suppress compiler output if we already did a PIC compilation. - command="$command$suppress_output" - $run $rm "$output_obj" - $show "$command" - if $run eval "$command"; then : - else - $run $rm $removelist - exit 1 - fi - - if test "$need_locks" = warn && - test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then - echo "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit 1 - fi - - # Just move the object if needed - if test x"$output_obj" != x"$obj"; then - $show "$mv $output_obj $obj" - if $run $mv $output_obj $obj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - - # Create an invalid libtool object if no PIC, so that we do not - # accidentally link it into a program. - if test "$build_libtool_libs" != yes; then - $show "echo timestamp > $libobj" - $run eval "echo timestamp > \$libobj" || exit $? - else - # Move the .lo from within objdir - $show "$mv $libobj $lo_libobj" - if $run $mv $libobj $lo_libobj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - fi - - # Unlock the critical section if it was locked - if test "$need_locks" != no; then - $run $rm "$lockfile" - fi - - exit 0 - ;; - - # libtool link mode - link | relink) - modename="$modename: link" - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - # It is impossible to link a dll without this setting, and - # we shouldn't force the makefile maintainer to figure out - # which system we are compiling for in order to pass an extra - # flag for every libtool invokation. - # allow_undefined=no - - # FIXME: Unfortunately, there are problems with the above when trying - # to make a dll which has undefined symbols, in which case not - # even a static library is built. For now, we need to specify - # -no-undefined on the libtool link line when we can be certain - # that all symbols are satisfied, otherwise we get a static library. - allow_undefined=yes - ;; - *) - allow_undefined=yes - ;; - esac - libtool_args="$nonopt" - compile_command="$nonopt" - finalize_command="$nonopt" - - compile_rpath= - finalize_rpath= - compile_shlibpath= - finalize_shlibpath= - convenience= - old_convenience= - deplibs= - old_deplibs= - compiler_flags= - linker_flags= - dllsearchpath= - lib_search_path=`pwd` - - avoid_version=no - dlfiles= - dlprefiles= - dlself=no - export_dynamic=no - export_symbols= - export_symbols_regex= - generated= - libobjs= - ltlibs= - module=no - no_install=no - objs= - prefer_static_libs=no - preload=no - prev= - prevarg= - release= - rpath= - xrpath= - perm_rpath= - temp_rpath= - thread_safe=no - vinfo= - - # We need to know -static, to get the right output filenames. - for arg - do - case $arg in - -all-static | -static) - if test "X$arg" = "X-all-static"; then - if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then - $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2 - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - else - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - fi - build_libtool_libs=no - build_old_libs=yes - prefer_static_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test $# -gt 0; do - arg="$1" - shift - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test - ;; - *) qarg=$arg ;; - esac - libtool_args="$libtool_args $qarg" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - compile_command="$compile_command @OUTPUT@" - finalize_command="$finalize_command @OUTPUT@" - ;; - esac - - case $prev in - dlfiles|dlprefiles) - if test "$preload" = no; then - # Add the symbol object into the linking commands. - compile_command="$compile_command @SYMFILE@" - finalize_command="$finalize_command @SYMFILE@" - preload=yes - fi - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test "$dlself" = no; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test "$prev" = dlprefiles; then - dlself=yes - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test "$prev" = dlfiles; then - dlfiles="$dlfiles $arg" - else - dlprefiles="$dlprefiles $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols="$arg" - if test ! -f "$arg"; then - $echo "$modename: symbol file \`$arg' does not exist" - exit 1 - fi - prev= - continue - ;; - expsyms_regex) - export_symbols_regex="$arg" - prev= - continue - ;; - release) - release="-$arg" - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit 1 - ;; - esac - if test "$prev" = rpath; then - case "$rpath " in - *" $arg "*) ;; - *) rpath="$rpath $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) xrpath="$xrpath $arg" ;; - esac - fi - prev= - continue - ;; - xcompiler) - compiler_flags="$compiler_flags $qarg" - prev= - compile_command="$compile_command $qarg" - finalize_command="$finalize_command $qarg" - continue - ;; - xlinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $wl$qarg" - prev= - compile_command="$compile_command $wl$qarg" - finalize_command="$finalize_command $wl$qarg" - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n $prev - - prevarg="$arg" - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - compile_command="$compile_command $link_static_flag" - finalize_command="$finalize_command $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 - continue - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: more than one -exported-symbols argument is not allowed" - exit 1 - fi - if test "X$arg" = "X-export-symbols"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix*) - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - ;; - esac - continue - ;; - - -L*) - dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 - exit 1 - fi - dir="$absdir" - ;; - esac - case "$deplibs " in - *" -L$dir "*) ;; - *) - deplibs="$deplibs -L$dir" - lib_search_path="$lib_search_path $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - case :$dllsearchpath: in - *":$dir:"*) ;; - *) dllsearchpath="$dllsearchpath:$dir";; - esac - ;; - esac - continue - ;; - - -l*) - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then - case $host in - *-*-cygwin* | *-*-pw32* | *-*-beos*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-mingw* | *-*-os2*) - # These systems don't actually have a C library (as such) - test "X$arg" = "X-lc" && continue - ;; - *-*-openbsd*) - # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue - ;; - esac - elif test "X$arg" = "X-lc_r"; then - case $host in - *-*-openbsd*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - deplibs="$deplibs $arg" - continue - ;; - - -module) - module=yes - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - # The PATH hackery in wrapper scripts is required on Windows - # in order for the loader to find any dlls it needs. - $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 - $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -o) prev=output ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit 1 - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - continue - ;; - - -static) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - - -Wc,*) - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - case $flag in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - flag="\"$flag\"" - ;; - esac - arg="$arg $wl$flag" - compiler_flags="$compiler_flags $flag" - done - IFS="$save_ifs" - arg=`$echo "X$arg" | $Xsed -e "s/^ //"` - ;; - - -Wl,*) - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - case $flag in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - flag="\"$flag\"" - ;; - esac - arg="$arg $wl$flag" - compiler_flags="$compiler_flags $wl$flag" - linker_flags="$linker_flags $flag" - done - IFS="$save_ifs" - arg=`$echo "X$arg" | $Xsed -e "s/^ //"` - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - # Some other compiler flag. - -* | +*) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - ;; - - *.lo | *.$objext) - # A library or standard object. - if test "$prev" = dlfiles; then - # This file was specified with -dlopen. - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $arg" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"` - prev= - else - case $arg in - *.lo) libobjs="$libobjs $arg" ;; - *) objs="$objs $arg" ;; - esac - fi - ;; - - *.$libext) - # An archive. - deplibs="$deplibs $arg" - old_deplibs="$old_deplibs $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - if test "$prev" = dlfiles; then - # This library was specified with -dlopen. - dlfiles="$dlfiles $arg" - prev= - elif test "$prev" = dlprefiles; then - # The library was specified with -dlpreopen. - dlprefiles="$dlprefiles $arg" - prev= - else - deplibs="$deplibs $arg" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - fi - done # argument parsing loop - - if test -n "$prev"; then - $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - fi - - # calculate the name of the file, without its directory - outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` - libobjs_save="$libobjs" - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` - if test "X$output_objdir" = "X$output"; then - output_objdir="$objdir" - else - output_objdir="$output_objdir/$objdir" - fi - # Create the object directory. - if test ! -d $output_objdir; then - $show "$mkdir $output_objdir" - $run $mkdir $output_objdir - status=$? - if test $status -ne 0 && test ! -d $output_objdir; then - exit $status - fi - fi - - # Determine the type of output - case $output in - "") - $echo "$modename: you must specify an output file" 1>&2 - $echo "$help" 1>&2 - exit 1 - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - specialdeplibs= - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - case "$libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - libs="$libs $deplib" - done - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - notinst_path= # paths that contain not-installed libtool libraries - case $linkmode in - lib) - passes="conv link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 - exit 1 - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=no - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - for pass in $passes; do - if test $linkmode = prog; then - # Determine which files to process - case $pass in - dlopen) - libs="$dlfiles" - save_deplibs="$deplibs" # Collect dlpreopened libraries - deplibs= - ;; - dlpreopen) libs="$dlprefiles" ;; - link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; - esac - fi - for deplib in $libs; do - lib= - found=no - case $deplib in - -l*) - if test $linkmode = oldlib && test $linkmode = obj; then - $echo "$modename: warning: \`-l' is ignored for archives/objects: $deplib" 1>&2 - continue - fi - if test $pass = conv; then - deplibs="$deplib $deplibs" - continue - fi - name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` - for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do - # Search the libtool library - lib="$searchdir/lib${name}.la" - if test -f "$lib"; then - found=yes - break - fi - done - if test "$found" != yes; then - # deplib doesn't seem to be a libtool library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test $linkmode = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - ;; # -l - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test $pass = conv && continue - newdependency_libs="$deplib $newdependency_libs" - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - ;; - prog) - if test $pass = conv; then - deplibs="$deplib $deplibs" - continue - fi - if test $pass = scan; then - deplibs="$deplib $deplibs" - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - ;; - *) - $echo "$modename: warning: \`-L' is ignored for archives/objects: $deplib" 1>&2 - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test $pass = link; then - dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) lib="$deplib" ;; - *.$libext) - if test $pass = conv; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - if test "$deplibs_check_method" != pass_all; then - echo - echo "*** Warning: This library needs some functionality provided by $deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - else - echo - echo "*** Warning: Linking the shared library $output against the" - echo "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - fi - continue - ;; - prog) - if test $pass != link; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test $pass = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - newdlprefiles="$newdlprefiles $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - newdlfiles="$newdlfiles $deplib" - fi - continue - ;; - %DEPLIBS%) - alldeplibs=yes - continue - ;; - esac # case $deplib - if test $found = yes || test -f "$lib"; then : - else - $echo "$modename: cannot find the library \`$lib'" 1>&2 - exit 1 - fi - - # Check to see that this really is a libtool archive. - if (sed -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit 1 - fi - - ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` - test "X$ladir" = "X$lib" && ladir="." - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - # If the library was installed with an old release of libtool, - # it will not redefine variable installed. - installed=yes - - # Read the .la file - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || - { test $linkmode = oldlib && test $linkmode = obj; }; then - # Add dl[pre]opened files of deplib - test -n "$dlopen" && dlfiles="$dlfiles $dlopen" - test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" - fi - - if test $pass = conv; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 - exit 1 - fi - # It is a libtool convenience library, so add in its objects. - convenience="$convenience $ladir/$objdir/$old_library" - old_convenience="$old_convenience $ladir/$objdir/$old_library" - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - tmp_libs="$tmp_libs $deplib" - done - elif test $linkmode != prog && test $linkmode != lib; then - $echo "$modename: \`$lib' is not a convenience library" 1>&2 - exit 1 - fi - continue - fi # $pass = conv - - # Get the name of the library we link against. - linklib= - for l in $old_library $library_names; do - linklib="$l" - done - if test -z "$linklib"; then - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 - exit 1 - fi - - # This library was specified with -dlopen. - if test $pass = dlopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 - exit 1 - fi - if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. - dlprefiles="$dlprefiles $lib" - else - newdlfiles="$newdlfiles $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 - $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 - abs_ladir="$ladir" - fi - ;; - esac - laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - - # Find the relevant object directory and library name. - if test "X$installed" = Xyes; then - if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - $echo "$modename: warning: library \`$lib' was moved." 1>&2 - dir="$ladir" - absdir="$abs_ladir" - libdir="$abs_ladir" - else - dir="$libdir" - absdir="$libdir" - fi - else - dir="$ladir/$objdir" - absdir="$abs_ladir/$objdir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - fi # $installed = yes - name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - - # This library was specified with -dlpreopen. - if test $pass = dlpreopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 - exit 1 - fi - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - newdlprefiles="$newdlprefiles $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - newdlprefiles="$newdlprefiles $dir/$dlname" - else - newdlprefiles="$newdlprefiles $dir/$linklib" - fi - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test $linkmode = lib; then - deplibs="$dir/$old_library $deplibs" - elif test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" - fi - continue - fi - - if test $linkmode = prog && test $pass != link; then - newlib_search_path="$newlib_search_path $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=no - if test "$link_all_deplibs" != no || test -z "$library_names" || - test "$build_libtool_libs" = no; then - linkalldeplibs=yes - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test - esac - # Need to link against all dependency_libs? - if test $linkalldeplibs = yes; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - tmp_libs="$tmp_libs $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - link_static=no # Whether the deplib will be linked statically - if test -n "$library_names" && - { test "$prefer_static_libs" = no || test -z "$old_library"; }; then - # Link against this shared library - - if test "$linkmode,$pass" = "prog,link" || - { test $linkmode = lib && test $hardcode_into_libs = yes; }; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - if test $linkmode = prog; then - # We need to hardcode the library path - if test -n "$shlibpath_var"; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath " in - *" $dir "*) ;; - *" $absdir "*) ;; - *) temp_rpath="$temp_rpath $dir" ;; - esac - fi - fi - fi # $linkmode,$pass = prog,link... - - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - - if test "$installed" = no; then - notinst_deplibs="$notinst_deplibs $lib" - need_relink=yes - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - realname="$2" - shift; shift - libname=`eval \\$echo \"$libname_spec\"` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname="$dlname" - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin*) - major=`expr $current - $age` - versuffix="-$major" - ;; - esac - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot="$soname" - soname=`echo $soroot | sed -e 's/^.*\///'` - newlib="libimp-`echo $soname | sed 's/^lib//;s/\.dll$//'`.a" - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - $show "extracting exported symbol list from \`$soname'" - save_ifs="$IFS"; IFS='~' - eval cmds=\"$extract_expsyms_cmds\" - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - $show "generating import library for \`$soname'" - save_ifs="$IFS"; IFS='~' - eval cmds=\"$old_archive_from_expsyms_cmds\" - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n $old_archive_from_expsyms_cmds - - if test $linkmode = prog || test "$mode" != relink; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test "$hardcode_direct" = no; then - add="$dir/$linklib" - elif test "$hardcode_minus_L" = no; then - case $host in - *-*-sunos*) add_shlibpath="$dir" ;; - esac - add_dir="-L$dir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = no; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - relink) - if test "$hardcode_direct" = yes; then - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$dir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test "$lib_linked" != yes; then - $echo "$modename: configuration error: unsupported hardcode properties" - exit 1 - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; - esac - fi - if test $linkmode = prog; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test "$hardcode_direct" != yes && \ - test "$hardcode_minus_L" != yes && \ - test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - fi - fi - fi - - if test $linkmode = prog || test "$mode" = relink; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - add="-l$name" - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir="-L$libdir" - add="-l$name" - fi - - if test $linkmode = prog; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test $linkmode = prog; then - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - - # Try to link the static library - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test "$hardcode_direct" != unsupported; then - test -n "$old_library" && linklib="$old_library" - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test "$build_libtool_libs" = yes; then - # Not a shared library - if test "$deplibs_check_method" != pass_all; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - echo - echo "*** Warning: This library needs some functionality provided by $lib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - if test "$module" = yes; then - echo "*** Therefore, libtool will create a static module, that should work " - echo "*** as long as the dlopening application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - convenience="$convenience $dir/$old_library" - old_convenience="$old_convenience $dir/$old_library" - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test $linkmode = lib; then - if test -n "$dependency_libs" && - { test $hardcode_into_libs != yes || test $build_old_libs = yes || - test $link_static = yes; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) xrpath="$xrpath $temp_xrpath";; - esac;; - *) temp_deplibs="$temp_deplibs $libdir";; - esac - done - dependency_libs="$temp_deplibs" - fi - - newlib_search_path="$newlib_search_path $absdir" - # Link against this library - test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - tmp_libs="$tmp_libs $deplib" - done - - if test $link_all_deplibs != no; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - case $deplib in - -L*) path="$deplib" ;; - *.la) - dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$deplib" && dir="." - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 - absdir="$dir" - fi - ;; - esac - if grep "^installed=no" $deplib > /dev/null; then - path="-L$absdir/$objdir" - else - eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit 1 - fi - if test "$absdir" != "$libdir"; then - $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 - fi - path="-L$absdir" - fi - ;; - *) continue ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$deplibs $path" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - if test $pass = dlpreopen; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test $pass != dlopen; then - test $pass != scan && dependency_libs="$newdependency_libs" - if test $pass != conv; then - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) lib_search_path="$lib_search_path $dir" ;; - esac - done - newlib_search_path= - fi - - if test "$linkmode,$pass" != "prog,link"; then - vars="deplibs" - else - vars="compile_deplibs finalize_deplibs" - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - *) - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - if test "$pass" = "conv" && - { test "$linkmode" = "lib" || test "$linkmode" = "prog"; }; then - libs="$deplibs" # reset libs - deplibs= - fi - done # for pass - if test $linkmode = prog; then - dlfiles="$newdlfiles" - dlprefiles="$newdlprefiles" - fi - - case $linkmode in - oldlib) - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 - fi - - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 - fi - - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 - fi - - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 - fi - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs="$output" - objs="$objs$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form `libNAME.la'. - case $outputname in - lib*) - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - eval libname=\"$libname_spec\" - ;; - *) - if test "$module" = no; then - $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - if test "$need_lib_prefix" != no; then - # Add the "lib" prefix for modules if required - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - eval libname=\"$libname_spec\" - else - libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - fi - ;; - esac - - if test -n "$objs"; then - if test "$deplibs_check_method" != pass_all; then - $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 - exit 1 - else - echo - echo "*** Warning: Linking the shared library $output against the non-libtool" - echo "*** objects $objs is not portable!" - libobjs="$libobjs $objs" - fi - fi - - if test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 - fi - - set dummy $rpath - if test $# -gt 2; then - $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 - fi - install_libdir="$2" - - oldlibs= - if test -z "$rpath"; then - if test "$build_libtool_libs" = yes; then - # Building a libtool convenience library. - libext=al - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 - fi - else - - # Parse the version information argument. - save_ifs="$IFS"; IFS=':' - set dummy $vinfo 0 0 0 - IFS="$save_ifs" - - if test -n "$8"; then - $echo "$modename: too many parameters to \`-version-info'" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - current="$2" - revision="$3" - age="$4" - - # Check that each of the things are valid numbers. - case $current in - 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; - *) - $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit 1 - ;; - esac - - case $revision in - 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; - *) - $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit 1 - ;; - esac - - case $age in - 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; - *) - $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit 1 - ;; - esac - - if test $age -gt $current; then - $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit 1 - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - major=.`expr $current - $age` - versuffix="$major.$age.$revision" - # Darwin ld doesn't like 0 for these options... - minor_current=`expr $current + 1` - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - ;; - - freebsd-aout) - major=".$current" - versuffix=".$current.$revision"; - ;; - - freebsd-elf) - major=".$current" - versuffix=".$current"; - ;; - - irix) - major=`expr $current - $age + 1` - verstring="sgi$major.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test $loop != 0; do - iface=`expr $revision - $loop` - loop=`expr $loop - 1` - verstring="sgi$major.$iface:$verstring" - done - - # Before this point, $major must not contain `.'. - major=.$major - versuffix="$major.$revision" - ;; - - linux) - major=.`expr $current - $age` - versuffix="$major.$age.$revision" - ;; - - osf) - major=`expr $current - $age` - versuffix=".$current.$age.$revision" - verstring="$current.$age.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$age - while test $loop != 0; do - iface=`expr $current - $loop` - loop=`expr $loop - 1` - verstring="$verstring:${iface}.0" - done - - # Make executables depend on our current version. - verstring="$verstring:${current}.0" - ;; - - sunos) - major=".$current" - versuffix=".$current.$revision" - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 filesystems. - major=`expr $current - $age` - versuffix="-$major" - ;; - - *) - $echo "$modename: unknown library version type \`$version_type'" 1>&2 - echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit 1 - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - verstring="0.0" - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring="" - ;; - *) - verstring="0.0" - ;; - esac - if test "$need_version" = no; then - versuffix= - else - versuffix=".0.0" - fi - fi - - # Remove version info from name if versioning should be avoided - if test "$avoid_version" = yes && test "$need_version" = no; then - major= - versuffix= - verstring="" - fi - - # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 - build_libtool_libs=no - build_old_libs=yes - fi - else - # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" - fi - fi - - if test "$mode" != relink; then - # Remove our outputs. - $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*" - $run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.* - fi - - # Now set the variables for building old libraries. - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then - oldlibs="$oldlibs $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - for path in $notinst_path; do - lib_search_path=`echo "$lib_search_path " | sed -e 's% $path % %g'` - deplibs=`echo "$deplibs " | sed -e 's% -L$path % %g'` - dependency_libs=`echo "$dependency_libs " | sed -e 's% -L$path % %g'` - done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - temp_xrpath="$temp_xrpath -R$libdir" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - if test $hardcode_into_libs != yes || test $build_old_libs = yes; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles="$dlfiles" - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) dlfiles="$dlfiles $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles="$dlprefiles" - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) dlprefiles="$dlprefiles $lib" ;; - esac - done - - if test "$build_libtool_libs" = yes; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - deplibs="$deplibs -framework System" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd*) - # Do not include libc due to us having libc/libc_r. - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test $build_libtool_need_lc = "yes"; then - deplibs="$deplibs -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release="" - versuffix="" - major="" - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behaviour. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $rm conftest.c - cat > conftest.c <<EOF - int main() { return 0; } -EOF - $rm conftest - $CC -o conftest conftest.c $deplibs - if test $? -eq 0 ; then - ldd_output=`ldd conftest` - for i in $deplibs; do - name="`expr $i : '-l\(.*\)'`" - # If $name is empty we are operating on a -L argument. - if test -n "$name" && test "$name" != "0"; then - libname=`eval \\$echo \"$libname_spec\"` - deplib_matches=`eval \\$echo \"$library_names_spec\"` - set dummy $deplib_matches - deplib_match=$2 - if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then - newdeplibs="$newdeplibs $i" - else - droppeddeps=yes - echo - echo "*** Warning: This library needs some functionality provided by $i." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - fi - else - newdeplibs="$newdeplibs $i" - fi - done - else - # Error occured in the first compile. Let's try to salvage the situation: - # Compile a seperate program for each library. - for i in $deplibs; do - name="`expr $i : '-l\(.*\)'`" - # If $name is empty we are operating on a -L argument. - if test -n "$name" && test "$name" != "0"; then - $rm conftest - $CC -o conftest conftest.c $i - # Did it work? - if test $? -eq 0 ; then - ldd_output=`ldd conftest` - libname=`eval \\$echo \"$libname_spec\"` - deplib_matches=`eval \\$echo \"$library_names_spec\"` - set dummy $deplib_matches - deplib_match=$2 - if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then - newdeplibs="$newdeplibs $i" - else - droppeddeps=yes - echo - echo "*** Warning: This library needs some functionality provided by $i." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - fi - else - droppeddeps=yes - echo - echo "*** Warning! Library $i is needed by this library but I was not able to" - echo "*** make it link in! You will probably need to install it or some" - echo "*** library that it depends on before this library will be fully" - echo "*** functional. Installing it before continuing would be even better." - fi - else - newdeplibs="$newdeplibs $i" - fi - done - fi - ;; - file_magic*) - set dummy $deplibs_check_method - file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` - for a_deplib in $deplibs; do - name="`expr $a_deplib : '-l\(.*\)'`" - # If $name is empty we are operating on a -L argument. - if test -n "$name" && test "$name" != "0"; then - libname=`eval \\$echo \"$libname_spec\"` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null \ - | grep " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib="$potent_lib" - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | sed 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; - *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ - | sed 10q \ - | egrep "$file_magic_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - if test -n "$a_deplib" ; then - droppeddeps=yes - echo - echo "*** Warning: This library needs some functionality provided by $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - fi - else - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - fi - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method - match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` - for a_deplib in $deplibs; do - name="`expr $a_deplib : '-l\(.*\)'`" - # If $name is empty we are operating on a -L argument. - if test -n "$name" && test "$name" != "0"; then - libname=`eval \\$echo \"$libname_spec\"` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - if eval echo \"$potent_lib\" 2>/dev/null \ - | sed 10q \ - | egrep "$match_pattern_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - if test -n "$a_deplib" ; then - droppeddeps=yes - echo - echo "*** Warning: This library needs some functionality provided by $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - fi - else - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - fi - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs="" - if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ - -e 's/ -[LR][^ ]*//g' -e 's/[ ]//g' | - grep . >/dev/null; then - echo - if test "X$deplibs_check_method" = "Xnone"; then - echo "*** Warning: inter-library dependencies are not supported in this platform." - else - echo "*** Warning: inter-library dependencies are not known to be supported." - fi - echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - fi - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` - ;; - esac - - if test "$droppeddeps" = yes; then - if test "$module" = yes; then - echo - echo "*** Warning: libtool could not satisfy all declared inter-library" - echo "*** dependencies of module $libname. Therefore, libtool will create" - echo "*** a static module, that should work as long as the dlopening" - echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - echo "*** The inter-library dependencies that have been dropped here will be" - echo "*** automatically added whenever a program is linked with this library" - echo "*** or is declared to -dlopen it." - - if test $allow_undefined = no; then - echo - echo "*** Since this library must not contain undefined symbols," - echo "*** because either the platform does not support them or" - echo "*** it was explicitly requested with -no-undefined," - echo "*** libtool will only create a static version of it." - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then - if test $hardcode_into_libs = yes; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath="$finalize_rpath" - test "$mode" != relink && rpath="$compile_rpath$rpath" - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - dep_rpath="$dep_rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval dep_rpath=\"$hardcode_libdir_flag_spec\" - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath="$finalize_shlibpath" - test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi - - # Get the real and link names of the library. - eval library_names=\"$library_names_spec\" - set dummy $library_names - realname="$2" - shift; shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - test -z "$dlname" && dlname=$soname - - lib="$output_objdir/$realname" - for link - do - linknames="$linknames $link" - done - - # Ensure that we have .o objects for linkers which dislike .lo - # (e.g. aix) in case we are running --disable-static - for obj in $libobjs; do - xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$obj"; then - xdir="." - else - xdir="$xdir" - fi - baseobj=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` - oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"` - if test ! -f $xdir/$oldobj; then - $show "(cd $xdir && ${LN_S} $baseobj $oldobj)" - $run eval '(cd $xdir && ${LN_S} $baseobj $oldobj)' || exit $? - fi - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then - $show "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $run $rm $export_symbols - eval cmds=\"$export_symbols_cmds\" - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - if test -n "$export_symbols_regex"; then - $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" - $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - $show "$mv \"${export_symbols}T\" \"$export_symbols\"" - $run eval '$mv "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' - fi - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - else - gentop="$output_objdir/${outputname}x" - $show "${rm}r $gentop" - $run ${rm}r "$gentop" - $show "mkdir $gentop" - $run mkdir "$gentop" - status=$? - if test $status -ne 0 && test ! -d "$gentop"; then - exit $status - fi - generated="$generated $gentop" - - for xlib in $convenience; do - # Extract the objects. - case $xlib in - [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; - *) xabs=`pwd`"/$xlib" ;; - esac - xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` - xdir="$gentop/$xlib" - - $show "${rm}r $xdir" - $run ${rm}r "$xdir" - $show "mkdir $xdir" - $run mkdir "$xdir" - status=$? - if test $status -ne 0 && test ! -d "$xdir"; then - exit $status - fi - $show "(cd $xdir && $AR x $xabs)" - $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? - - libobjs="$libobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP` - done - fi - fi - - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - linker_flags="$linker_flags $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? - fi - - # Do each of the archive commands. - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval cmds=\"$archive_expsym_cmds\" - else - eval cmds=\"$archive_cmds\" - fi - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? - exit 0 - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" - $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test "$module" = yes || test "$export_dynamic" = yes; then - # On all known operating systems, these are identical. - dlname="$soname" - fi - fi - ;; - - obj) - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 - fi - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 - fi - - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 - fi - - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 - fi - - case $output in - *.lo) - if test -n "$objs$old_deplibs"; then - $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 - exit 1 - fi - libobj="$output" - obj=`$echo "X$output" | $Xsed -e "$lo2o"` - ;; - *) - libobj= - obj="$output" - ;; - esac - - # Delete the old objects. - $run $rm $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec - wl= - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" - else - gentop="$output_objdir/${obj}x" - $show "${rm}r $gentop" - $run ${rm}r "$gentop" - $show "mkdir $gentop" - $run mkdir "$gentop" - status=$? - if test $status -ne 0 && test ! -d "$gentop"; then - exit $status - fi - generated="$generated $gentop" - - for xlib in $convenience; do - # Extract the objects. - case $xlib in - [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; - *) xabs=`pwd`"/$xlib" ;; - esac - xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` - xdir="$gentop/$xlib" - - $show "${rm}r $xdir" - $run ${rm}r "$xdir" - $show "mkdir $xdir" - $run mkdir "$xdir" - status=$? - if test $status -ne 0 && test ! -d "$xdir"; then - exit $status - fi - $show "(cd $xdir && $AR x $xabs)" - $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? - - reload_conv_objs="$reload_objs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP` - done - fi - fi - - # Create the old-style object. - reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test - - output="$obj" - eval cmds=\"$reload_cmds\" - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - exit 0 - fi - - if test "$build_libtool_libs" != yes; then - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - $show "echo timestamp > $libobj" - $run eval "echo timestamp > $libobj" || exit $? - exit 0 - fi - - if test -n "$pic_flag" || test "$pic_mode" != default; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output="$libobj" - eval cmds=\"$reload_cmds\" - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - else - # Just create a symlink. - $show $rm $libobj - $run $rm $libobj - xdir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$libobj"; then - xdir="." - else - xdir="$xdir" - fi - baseobj=`$echo "X$libobj" | $Xsed -e 's%^.*/%%'` - oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"` - $show "(cd $xdir && $LN_S $oldobj $baseobj)" - $run eval '(cd $xdir && $LN_S $oldobj $baseobj)' || exit $? - fi - - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - exit 0 - ;; - - prog) - case $host in - *cygwin*) output=`echo $output | sed -e 's,.exe$,,;s,$,.exe,'` ;; - esac - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 - fi - - if test "$preload" = yes; then - if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && - test "$dlopen_self_static" = unknown; then - $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." - fi - fi - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` - finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` - ;; - esac - - compile_command="$compile_command $compile_deplibs" - finalize_command="$finalize_command $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - case :$dllsearchpath: in - *":$libdir:"*) ;; - *) dllsearchpath="$dllsearchpath:$libdir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath="$rpath" - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath="$rpath" - - if test -n "$libobjs" && test "$build_old_libs" = yes; then - # Transform all the library objects into standard objects. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - fi - - dlsyms= - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - dlsyms="${outputname}S.c" - else - $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 - fi - fi - - if test -n "$dlsyms"; then - case $dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist="$output_objdir/${outputname}.nm" - - $show "$rm $nlist ${nlist}S ${nlist}T" - $run $rm "$nlist" "${nlist}S" "${nlist}T" - - # Parse the name list into a source file. - $show "creating $output_objdir/$dlsyms" - - test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ -/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ -/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -/* Prevent the only kind of declaration conflicts we can make. */ -#define lt_preloaded_symbols some_other_symbol - -/* External symbol declarations for the compiler. */\ -" - - if test "$dlself" = yes; then - $show "generating symbol list for \`$output'" - - test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - for arg in $progfiles; do - $show "extracting global C symbols from \`$arg'" - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - if test -n "$export_symbols_regex"; then - $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols="$output_objdir/$output.exp" - $run $rm $export_symbols - $run eval "sed -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - else - $run eval "sed -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"' - $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T' - $run eval 'mv "$nlist"T "$nlist"' - fi - fi - - for arg in $dlprefiles; do - $show "extracting global C symbols from \`$arg'" - name=`echo "$arg" | sed -e 's%^.*/%%'` - $run eval 'echo ": $name " >> "$nlist"' - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done - - if test -z "$run"; then - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $mv "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then - : - else - grep -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' - else - echo '/* NONE */' >> "$output_objdir/$dlsyms" - fi - - $echo >> "$output_objdir/$dlsyms" "\ - -#undef lt_preloaded_symbols - -#if defined (__STDC__) && __STDC__ -# define lt_ptr void * -#else -# define lt_ptr char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr address; -} -lt_preloaded_symbols[] = -{\ -" - - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" - - $echo >> "$output_objdir/$dlsyms" "\ - {0, (lt_ptr) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - fi - - pic_flag_for_symtable= - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - case "$compile_command " in - *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";; - esac;; - *-*-hpux*) - case "$compile_command " in - *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag -DPIC";; - esac - esac - - # Now compile the dynamic symbol file. - $show "(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" - $run eval '(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? - - # Clean up the generated files. - $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" - $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" - - # Transform the symbol file into the correct name. - compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` - ;; - *) - $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 - exit 1 - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` - fi - - if test $need_relink = no || test "$build_libtool_libs" != yes; then - # Replace the output file specification. - compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - link_command="$compile_command$compile_rpath" - - # We have no uninstalled library dependencies, so finalize right now. - $show "$link_command" - $run eval "$link_command" - status=$? - - # Delete the generated files. - if test -n "$dlsyms"; then - $show "$rm $output_objdir/${outputname}S.${objext}" - $run $rm "$output_objdir/${outputname}S.${objext}" - fi - - exit $status - fi - - if test -n "$shlibpath_var"; then - # We should set the shlibpath_var - rpath= - for dir in $temp_rpath; do - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) - # Absolute path. - rpath="$rpath$dir:" - ;; - *) - # Relative path: add a thisdir entry. - rpath="$rpath\$thisdir/$dir:" - ;; - esac - done - temp_rpath="$rpath" - fi - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - rpath="$rpath$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test "$no_install" = yes; then - # We don't need to create a wrapper script. - link_command="$compile_var$compile_command$compile_rpath" - # Replace the output file specification. - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $run $rm $output - # Link the executable and exit - $show "$link_command" - $run eval "$link_command" || exit $? - exit 0 - fi - - if test "$hardcode_action" = relink; then - # Fast installation is not supported - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - - $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 - $echo "$modename: \`$output' will be relinked during installation" 1>&2 - else - if test "$fast_install" != no; then - link_command="$finalize_var$compile_command$finalize_rpath" - if test "$fast_install" = yes; then - relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` - else - # fast_install is set to needless - relink_command= - fi - else - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - fi - fi - - # Replace the output file specification. - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname - - $show "$link_command" - $run eval "$link_command" || exit $? - - # Now create the wrapper script. - $show "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` - relink_command="$var=\"$var_value\"; export $var; $relink_command" - fi - done - relink_command="cd `pwd`; $relink_command" - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` - fi - - # Quote $echo for shipping. - if test "X$echo" = "X$SHELL $0 --fallback-echo"; then - case $0 in - [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";; - *) qecho="$SHELL `pwd`/$0 --fallback-echo";; - esac - qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` - else - qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` - fi - - # Only actually do things if our run command is non-null. - if test -z "$run"; then - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) output=`echo $output|sed 's,.exe$,,'` ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) exeext=.exe ;; - *) exeext= ;; - esac - $rm $output - trap "$rm $output; exit 1" 1 2 15 - - $echo > $output "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' -sed_quote_subst='$sed_quote_subst' - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variable: - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$echo are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - echo=\"$qecho\" - file=\"\$0\" - # Make sure echo works. - if test \"X\$1\" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift - elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then - # Yippee, \$echo works! - : - else - # Restart under the correct shell, and then maybe \$echo will work. - exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} - fi - fi\ -" - $echo >> $output "\ - - # Find the directory that this script lives in. - thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\` - done - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test "$fast_install" = yes; then - echo >> $output "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || \\ - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | sed 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $mkdir \"\$progdir\" - else - $rm \"\$progdir/\$file\" - fi" - - echo >> $output "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - $echo \"\$relink_command_output\" >&2 - $rm \"\$progdir/\$file\" - exit 1 - fi - fi - - $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $rm \"\$progdir/\$program\"; - $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $rm \"\$progdir/\$file\" - fi" - else - echo >> $output "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - echo >> $output "\ - - if test -f \"\$progdir/\$program\"; then" - - # Export our shlibpath_var if we have one. - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $echo >> $output "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` - - export $shlibpath_var -" - fi - - # fixup the dll searchpath if we need to. - if test -n "$dllsearchpath"; then - $echo >> $output "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - $echo >> $output "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. -" - case $host in - # win32 systems need to use the prog path for dll - # lookup to work - *-*-cygwin* | *-*-pw32*) - $echo >> $output "\ - exec \$progdir/\$program \${1+\"\$@\"} -" - ;; - - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2*) - $echo >> $output "\ - exec \$progdir\\\\\$program \${1+\"\$@\"} -" - ;; - - *) - $echo >> $output "\ - # Export the path to the program. - PATH=\"\$progdir:\$PATH\" - export PATH - - exec \$program \${1+\"\$@\"} -" - ;; - esac - $echo >> $output "\ - \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" - exit 1 - fi - else - # The program doesn't exist. - \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2 - \$echo \"This script is just a wrapper for \$program.\" 1>&2 - echo \"See the $PACKAGE documentation for more information.\" 1>&2 - exit 1 - fi -fi\ -" - chmod +x $output - fi - exit 0 - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs_save" - addlibs="$convenience" - build_libtool_libs=no - else - if test "$build_libtool_libs" = module; then - oldobjs="$libobjs_save" - build_libtool_libs=no - else - oldobjs="$objs$old_deplibs "`$echo "X$libobjs_save" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP` - fi - addlibs="$old_convenience" - fi - - if test -n "$addlibs"; then - gentop="$output_objdir/${outputname}x" - $show "${rm}r $gentop" - $run ${rm}r "$gentop" - $show "mkdir $gentop" - $run mkdir "$gentop" - status=$? - if test $status -ne 0 && test ! -d "$gentop"; then - exit $status - fi - generated="$generated $gentop" - - # Add in members from convenience archives. - for xlib in $addlibs; do - # Extract the objects. - case $xlib in - [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; - *) xabs=`pwd`"/$xlib" ;; - esac - xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` - xdir="$gentop/$xlib" - - $show "${rm}r $xdir" - $run ${rm}r "$xdir" - $show "mkdir $xdir" - $run mkdir "$xdir" - status=$? - if test $status -ne 0 && test ! -d "$xdir"; then - exit $status - fi - $show "(cd $xdir && $AR x $xabs)" - $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? - - oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP` - done - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then - eval cmds=\"$old_archive_from_new_cmds\" - else - # Ensure that we have .o objects in place in case we decided - # not to build a shared library, and have fallen back to building - # static libs even though --disable-static was passed! - for oldobj in $oldobjs; do - if test ! -f $oldobj; then - xdir=`$echo "X$oldobj" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$oldobj"; then - xdir="." - else - xdir="$xdir" - fi - baseobj=`$echo "X$oldobj" | $Xsed -e 's%^.*/%%'` - obj=`$echo "X$baseobj" | $Xsed -e "$o2lo"` - $show "(cd $xdir && ${LN_S} $obj $baseobj)" - $run eval '(cd $xdir && ${LN_S} $obj $baseobj)' || exit $? - fi - done - - eval cmds=\"$old_archive_cmds\" - fi - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done - - if test -n "$generated"; then - $show "${rm}r$generated" - $run ${rm}r$generated - fi - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" - $show "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` - relink_command="$var=\"$var_value\"; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - relink_command="cd `pwd`; $SHELL $0 --mode=relink $libtool_args" - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` - - # Only create the output if not a dry run. - if test -z "$run"; then - for installed in no yes; do - if test "$installed" = yes; then - if test -z "$install_libdir"; then - break - fi - output="$output_objdir/$outputname"i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` - eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit 1 - fi - newdependency_libs="$newdependency_libs $libdir/$name" - ;; - *) newdependency_libs="$newdependency_libs $deplib" ;; - esac - done - dependency_libs="$newdependency_libs" - newdlfiles= - for lib in $dlfiles; do - name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - if test -z "$libdir"; then - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit 1 - fi - newdlfiles="$newdlfiles $libdir/$name" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - if test -z "$libdir"; then - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit 1 - fi - newdlprefiles="$newdlprefiles $libdir/$name" - done - dlprefiles="$newdlprefiles" - fi - $rm $output - # place dlname in correct position for cygwin - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; - esac - $echo > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test "$installed" = no && test $need_relink = yes; then - $echo >> $output "\ -relink_command=\"$relink_command\"" - fi - done - fi - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" - $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? - ;; - esac - exit 0 - ;; - - # libtool install mode - install) - modename="$modename: install" - - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || - # Allow the use of GNU shtool's install command. - $echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then - # Aesthetically quote it. - arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) - arg="\"$arg\"" - ;; - esac - install_prog="$arg " - arg="$1" - shift - else - install_prog= - arg="$nonopt" - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) - arg="\"$arg\"" - ;; - esac - install_prog="$install_prog$arg" - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=no - stripme= - for arg - do - if test -n "$dest"; then - files="$files $dest" - dest="$arg" - continue - fi - - case $arg in - -d) isdir=yes ;; - -f) prev="-f" ;; - -g) prev="-g" ;; - -m) prev="-m" ;; - -o) prev="-o" ;; - -s) - stripme=" -s" - continue - ;; - -*) ;; - - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - prev= - else - dest="$arg" - continue - fi - ;; - esac - - # Aesthetically quote the argument. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) - arg="\"$arg\"" - ;; - esac - install_prog="$install_prog $arg" - done - - if test -z "$install_prog"; then - $echo "$modename: you must specify an install program" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - if test -n "$prev"; then - $echo "$modename: the \`$prev' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - if test -z "$files"; then - if test -z "$dest"; then - $echo "$modename: no file or destination specified" 1>&2 - else - $echo "$modename: you must specify a destination" 1>&2 - fi - $echo "$help" 1>&2 - exit 1 - fi - - # Strip any trailing slash from the destination. - dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=yes - if test "$isdir" = yes; then - destdir="$dest" - destname= - else - destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` - test "X$destdir" = "X$dest" && destdir=. - destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` - - # Not a directory, so check to see that there is only one file specified. - set dummy $files - if test $# -gt 2; then - $echo "$modename: \`$dest' is not a directory" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 - $echo "$help" 1>&2 - exit 1 - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - staticlibs="$staticlibs $file" - ;; - - *.la) - # Check to see that this really is a libtool archive. - if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - library_names= - old_library= - relink_command= - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) current_libdirs="$current_libdirs $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) future_libdirs="$future_libdirs $libdir" ;; - esac - fi - - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ - test "X$dir" = "X$file/" && dir= - dir="$dir$objdir" - - if test -n "$relink_command"; then - $echo "$modename: warning: relinking \`$file'" 1>&2 - $show "$relink_command" - if $run eval "$relink_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - continue - fi - fi - - # See the names of the shared library. - set dummy $library_names - if test -n "$2"; then - realname="$2" - shift - shift - - srcname="$realname" - test -n "$relink_command" && srcname="$realname"T - - # Install the shared library and build the symlinks. - $show "$install_prog $dir/$srcname $destdir/$realname" - $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? - if test -n "$stripme" && test -n "$striplib"; then - $show "$striplib $destdir/$realname" - $run eval "$striplib $destdir/$realname" || exit $? - fi - - if test $# -gt 0; then - # Delete the old symlinks, and create new ones. - for linkname - do - if test "$linkname" != "$realname"; then - $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" - $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" - fi - done - fi - - # Do each command in the postinstall commands. - lib="$destdir/$realname" - eval cmds=\"$postinstall_cmds\" - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - - # Install the pseudo-library for information purposes. - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - instname="$dir/$name"i - $show "$install_prog $instname $destdir/$name" - $run eval "$install_prog $instname $destdir/$name" || exit $? - - # Maybe install the static library, too. - test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` - ;; - *.$objext) - staticdest="$destfile" - destfile= - ;; - *) - $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 - $echo "$help" 1>&2 - exit 1 - ;; - esac - - # Install the libtool object if requested. - if test -n "$destfile"; then - $show "$install_prog $file $destfile" - $run eval "$install_prog $file $destfile" || exit $? - fi - - # Install the old object if enabled. - if test "$build_old_libs" = yes; then - # Deduce the name of the old-style object file. - staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` - - $show "$install_prog $staticobj $staticdest" - $run eval "$install_prog \$staticobj \$staticdest" || exit $? - fi - exit 0 - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" - fi - - # Do a test to see if this is really a libtool program. - #if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - case $host in - *cygwin*|*mingw*) - wrapper=`echo $file | sed -e 's,.exe$,,'` - ;; - *) - wrapper=$file - ;; - esac - if (sed -e '4q' $wrapper | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - - notinst_deplibs= - relink_command= - - # If there is no directory component, then add one. - case $file in - #*/* | *\\*) . $file ;; - #*) . ./$file ;; - */* | *\\*) . $wrapper ;; - *) . ./$wrapper ;; - esac - - # Check the variables that should have been set. - if test -z "$notinst_deplibs"; then - $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 - exit 1 - fi - - finalize=yes - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - # If there is no directory component, then add one. - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - fi - libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test - if test -n "$libdir" && test ! -f "$libfile"; then - $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 - finalize=no - fi - done - - relink_command= - # If there is no directory component, then add one. - case $file in - #*/* | *\\*) . $file ;; - #*) . ./$file ;; - */* | *\\*) . $wrapper ;; - *) . ./$wrapper ;; - esac - - outputname= - if test "$fast_install" = no && test -n "$relink_command"; then - if test "$finalize" = yes && test -z "$run"; then - tmpdir="/tmp" - test -n "$TMPDIR" && tmpdir="$TMPDIR" - tmpdir="$tmpdir/libtool-$$" - if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then : - else - $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2 - continue - fi - file=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - outputname="$tmpdir/$file" - # Replace the output file specification. - relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` - - $show "$relink_command" - if $run eval "$relink_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - ${rm}r "$tmpdir" - continue - fi - file="$outputname" - else - $echo "$modename: warning: cannot relink \`$file'" 1>&2 - fi - else - # Install the binary that we compiled earlier. - file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyways - case $install_prog,$host in - /usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - destfile=`echo $destfile | sed -e 's,.exe$,,'` - ;; - esac - ;; - esac - $show "$install_prog$stripme $file $destfile" - $run eval "$install_prog\$stripme \$file \$destfile" || exit $? - test -n "$outputname" && ${rm}r "$tmpdir" - ;; - esac - done - - for file in $staticlibs; do - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - - # Set up the ranlib parameters. - oldlib="$destdir/$name" - - $show "$install_prog $file $oldlib" - $run eval "$install_prog \$file \$oldlib" || exit $? - - if test -n "$stripme" && test -n "$striplib"; then - $show "$old_striplib $oldlib" - $run eval "$old_striplib $oldlib" || exit $? - fi - - # Do each command in the postinstall commands. - eval cmds=\"$old_postinstall_cmds\" - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done - - if test -n "$future_libdirs"; then - $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 - fi - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - test -n "$run" && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL $0 --finish$current_libdirs' - else - exit 0 - fi - ;; - - # libtool finish mode - finish) - modename="$modename: finish" - libdirs="$nonopt" - admincmds= - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for dir - do - libdirs="$libdirs $dir" - done - - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - eval cmds=\"$finish_cmds\" - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || admincmds="$admincmds - $cmd" - done - IFS="$save_ifs" - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $run eval "$cmds" || admincmds="$admincmds - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - test "$show" = ":" && exit 0 - - echo "----------------------------------------------------------------------" - echo "Libraries have been installed in:" - for libdir in $libdirs; do - echo " $libdir" - done - echo - echo "If you ever happen to want to link against installed libraries" - echo "in a given directory, LIBDIR, you must either use libtool, and" - echo "specify the full pathname of the library, or use the \`-LLIBDIR'" - echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - echo " - add LIBDIR to the \`$shlibpath_var' environment variable" - echo " during execution" - fi - if test -n "$runpath_var"; then - echo " - add LIBDIR to the \`$runpath_var' environment variable" - echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - echo " - use the \`$flag' linker flag" - fi - if test -n "$admincmds"; then - echo " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" - fi - echo - echo "See any operating system documentation about shared libraries for" - echo "more information, such as the ld(1) and ld.so(8) manual pages." - echo "----------------------------------------------------------------------" - exit 0 - ;; - - # libtool execute mode - execute) - modename="$modename: execute" - - # The first argument is the command name. - cmd="$nonopt" - if test -z "$cmd"; then - $echo "$modename: you must specify a COMMAND" 1>&2 - $echo "$help" - exit 1 - fi - - # Handle -dlopen flags immediately. - for file in $execute_dlfiles; do - if test ! -f "$file"; then - $echo "$modename: \`$file' is not a file" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - dir= - case $file in - *.la) - # Check to see that this really is a libtool archive. - if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - # Read the libtool library. - dlname= - library_names= - - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" - continue - fi - - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - - if test -f "$dir/$objdir/$dlname"; then - dir="$dir/$objdir" - else - $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 - exit 1 - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - ;; - - *) - $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir="$absdir" - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic="$magic" - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -*) ;; - *) - # Do a test to see if this is really a libtool program. - if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Transform arg to wrapped name. - file="$progdir/$program" - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` - args="$args \"$file\"" - done - - if test -z "$run"; then - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved enviroment variables - if test "${save_LC_ALL+set}" = set; then - LC_ALL="$save_LC_ALL"; export LC_ALL - fi - if test "${save_LANG+set}" = set; then - LANG="$save_LANG"; export LANG - fi - - # Now prepare to actually exec the command. - exec_cmd='"$cmd"$args' - else - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" - $echo "export $shlibpath_var" - fi - $echo "$cmd$args" - exit 0 - fi - ;; - - # libtool clean and uninstall mode - clean | uninstall) - modename="$modename: $mode" - rm="$nonopt" - files= - rmforce= - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - for arg - do - case $arg in - -f) rm="$rm $arg"; rmforce=yes ;; - -*) rm="$rm $arg" ;; - *) files="$files $arg" ;; - esac - done - - if test -z "$rm"; then - $echo "$modename: you must specify an RM program" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - rmdirs= - - for file in $files; do - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - if test "X$dir" = "X$file"; then - dir=. - objdir="$objdir" - else - objdir="$dir/$objdir" - fi - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - test $mode = uninstall && objdir="$dir" - - # Remember objdir for removal later, being careful to avoid duplicates - if test $mode = clean; then - case " $rmdirs " in - *" $objdir "*) ;; - *) rmdirs="$rmdirs $objdir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if (test -L "$file") >/dev/null 2>&1 \ - || (test -h "$file") >/dev/null 2>&1 \ - || test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif test "$rmforce" = yes; then - continue - fi - - rmfiles="$file" - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - . $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - rmfiles="$rmfiles $objdir/$n" - done - test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" - test $mode = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" - - if test $mode = uninstall; then - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - eval cmds=\"$postuninstall_cmds\" - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" - if test $? != 0 && test "$rmforce" != yes; then - exit_status=1 - fi - done - IFS="$save_ifs" - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - eval cmds=\"$old_postuninstall_cmds\" - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" - if test $? != 0 && test "$rmforce" != yes; then - exit_status=1 - fi - done - IFS="$save_ifs" - fi - # FIXME: should reinstall the best remaining shared library. - fi - fi - ;; - - *.lo) - if test "$build_old_libs" = yes; then - oldobj=`$echo "X$name" | $Xsed -e "$lo2o"` - rmfiles="$rmfiles $dir/$oldobj" - fi - ;; - - *) - # Do a test to see if this is a libtool program. - if test $mode = clean && - (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - relink_command= - . $dir/$file - - rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" - if test "$fast_install" = yes && test -n "$relink_command"; then - rmfiles="$rmfiles $objdir/lt-$name" - fi - fi - ;; - esac - $show "$rm $rmfiles" - $run $rm $rmfiles || exit_status=1 - done - - # Try to remove the ${objdir}s in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - $show "rmdir $dir" - $run rmdir $dir >/dev/null 2>&1 - fi - done - - exit $exit_status - ;; - - "") - $echo "$modename: you must specify a MODE" 1>&2 - $echo "$generic_help" 1>&2 - exit 1 - ;; - esac - - if test -z "$exec_cmd"; then - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$generic_help" 1>&2 - exit 1 - fi -fi # test -z "$show_help" - -if test -n "$exec_cmd"; then - eval exec $exec_cmd - exit 1 -fi - -# We need to display help for each of the modes. -case $mode in -"") $echo \ -"Usage: $modename [OPTION]... [MODE-ARG]... - -Provide generalized library-building support services. - - --config show all configuration variables - --debug enable verbose shell tracing --n, --dry-run display commands without modifying any files - --features display basic configuration information and exit - --finish same as \`--mode=finish' - --help display this help message and exit - --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] - --quiet same as \`--silent' - --silent don't print informational messages - --version print version information - -MODE must be one of the following: - - clean remove files from the build directory - compile compile a source file into a libtool object - execute automatically set library path, then run a program - finish complete the installation of libtool libraries - install install libraries or executables - link create a library or an executable - uninstall remove libraries from an installed directory - -MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for -a more detailed description of MODE." - exit 0 - ;; - -clean) - $echo \ -"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - -compile) - $echo \ -"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -prefer-pic try to building PIC objects only - -prefer-non-pic try to building non-PIC objects only - -static always build a \`.o' file suitable for static linking - -COMPILE-COMMAND is a command to be used in creating a \`standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix \`.c' with the -library object suffix, \`.lo'." - ;; - -execute) - $echo \ -"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to \`-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - -finish) - $echo \ -"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the \`--dry-run' option if you just want to see what would be executed." - ;; - -install) - $echo \ -"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the \`install' or \`cp' program. - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - -link) - $echo \ -"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -static do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -All other options (arguments beginning with \`-') are ignored. - -Every other argument is treated as a filename. Files ending in \`.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, -only library objects (\`.lo' files) may be specified, and \`-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created -using \`ar' and \`ranlib', or on Windows using \`lib'. - -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file -is created, otherwise an executable program is created." - ;; - -uninstall) - $echo \ -"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - -*) - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$help" 1>&2 - exit 1 - ;; -esac - -echo -$echo "Try \`$modename --help' for more information about other modes." - -exit 0 - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: diff --git a/Build/source/libs/curl/maketgz b/Build/source/libs/curl/maketgz deleted file mode 100644 index 5b7796a6ed8..00000000000 --- a/Build/source/libs/curl/maketgz +++ /dev/null @@ -1,128 +0,0 @@ -#! /bin/sh -# Script to build release-archives with -# - -echo "LIB version number?" -read version - -libversion="$version" - -# -# Now we have a section to get the major, minor and patch number from the -# full version string. We create a single hexadecimal number from it '0xMMmmpp' -# -perl='$a=<STDIN>;@p=split("[\\.-]",$a);for(0..2){printf STDOUT ("%02x",$p[0+$_]);}'; - -numeric=`echo $libversion | perl -e "$perl"` - -echo "CURL version number?" -read curlversion - -HEADER=include/curl/curl.h -CHEADER=src/version.h - -# Replace version number in header file: -sed -e 's/^#define LIBCURL_VERSION .*/#define LIBCURL_VERSION "'$libversion'"/g' \ - -e 's/^#define LIBCURL_VERSION_NUM .*/#define LIBCURL_VERSION_NUM 0x'$numeric'/g' \ - $HEADER >$HEADER.new - -# Save old header file -cp -p $HEADER $HEADER.old - -# Make new header: -mv $HEADER.new $HEADER - -# Replace version number in header file: -sed 's/#define CURL_VERSION.*/#define CURL_VERSION "'$curlversion'"/g' $CHEADER >$CHEADER.new - -# Save old header file -cp -p $CHEADER $CHEADER.old - -# Make new header: -mv $CHEADER.new $CHEADER - -findprog() -{ - file="$1" - for part in `echo $PATH| tr ':' ' '`; do - path="$part/$file" - if [ -x "$path" ]; then - # there it is! - return 1 - fi - done - - # no such executable - return 0 -} - -############################################################################ -# -# Enforce a rerun of configure (updates the VERSION) -# - -echo "Re-running config.status" -./config.status --recheck >/dev/null - -############################################################################ -# -# automake is needed to run to make a non-GNU Makefile.in if Makefile.am has -# been modified. -# - -if { findprog automake >/dev/null 2>/dev/null; } then - echo "- Could not find or run automake, I hope you know what you're doing!" -else - echo "Runs automake --include-deps" - automake --include-deps Makefile >/dev/null -fi - -############################################################################ -# -# Make sure we have updated HTML versions of all man pages: -# -make html - -############################################################################ -# -# Now run make dist to generate a tar.gz archive -# - -targz="curl-$version.tar.gz" -make dist - -############################################################################ -# -# Now make a bz2 archive from the tar.gz original -# - -bzip2="curl-$version.tar.bz2" -echo "Generating $bzip2" -gzip -dc $targz | bzip2 - > $bzip2 - -############################################################################ -# -# Now make a zip archive from the tar.gz original -# -makezip () -{ - rm -rf $tempdir - mkdir $tempdir - cd $tempdir - gzip -dc ../$targz | tar -xf - - find . | zip $zip -@ >/dev/null - mv $zip ../ - cd .. - rm -rf $tempdir -} - -zip="curl-$version.zip" -echo "Generating $zip" -tempdir=".builddir" -makezip - -echo "------------------" -echo "maketgz report:" -echo "" -ls -l $targz $bzip2 $zip - diff --git a/Build/source/libs/curl/missing b/Build/source/libs/curl/missing deleted file mode 100644 index 0a7fb5a2ace..00000000000 --- a/Build/source/libs/curl/missing +++ /dev/null @@ -1,283 +0,0 @@ -#! /bin/sh -# Common stub for a few missing GNU programs while installing. -# Copyright 1996, 1997, 1999, 2000 Free Software Foundation, Inc. -# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. - -# 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., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -if test $# -eq 0; then - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 -fi - -run=: - -# In the cases where this matters, `missing' is being run in the -# srcdir already. -if test -f configure.ac; then - configure_ac=configure.ac -else - configure_ac=configure.in -fi - -case "$1" in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case "$1" in - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - --run try to run the given command, and emulate it if it fails - -Supported PROGRAM values: - aclocal touch file \`aclocal.m4' - autoconf touch file \`configure' - autoheader touch file \`config.h.in' - automake touch all \`Makefile.in' files - bison create \`y.tab.[ch]', if possible, from existing .[ch] - flex create \`lex.yy.c', if possible, from existing .c - help2man touch the output file - lex create \`lex.yy.c', if possible, from existing .c - makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags - yacc create \`y.tab.[ch]', if possible, from existing .[ch]" - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing 0.3 - GNU automake" - ;; - - -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 - ;; - - aclocal) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified \`acinclude.m4' or \`${configure_ac}'. You might want - to install the \`Automake' and \`Perl' packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified \`${configure_ac}'. You might want to install the - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified \`acconfig.h' or \`${configure_ac}'. You might want - to install the \`Autoconf' and \`GNU m4' packages. Grab them - from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` - test -z "$files" && files="config.h" - touch_files= - for f in $files; do - case "$f" in - *:*) touch_files="$touch_files "`echo "$f" | - sed -e 's/^[^:]*://' -e 's/:.*//'`;; - *) touch_files="$touch_files $f.in";; - esac - done - touch $touch_files - ;; - - automake) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. - You might want to install the \`Automake' and \`Perl' packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print | - sed 's/\.am$/.in/' | - while read f; do touch "$f"; done - ;; - - bison|yacc) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package - in order for those modifications to take effect. You can get - \`Bison' from any GNU archive site." - rm -f y.tab.c y.tab.h - if [ $# -ne 1 ]; then - eval LASTARG="\${$#}" - case "$LASTARG" in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if [ ! -f y.tab.h ]; then - echo >y.tab.h - fi - if [ ! -f y.tab.c ]; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex|flex) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified a \`.l' file. You may need the \`Flex' package - in order for those modifications to take effect. You can get - \`Flex' from any GNU archive site." - rm -f lex.yy.c - if [ $# -ne 1 ]; then - eval LASTARG="\${$#}" - case "$LASTARG" in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if [ ! -f lex.yy.c ]; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified a dependency of a manual page. You may need the - \`Help2man' package in order for those modifications to take - effect. You can get \`Help2man' from any GNU archive site." - - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` - if test -z "$file"; then - file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` - fi - if [ -f "$file" ]; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit 1 - fi - ;; - - makeinfo) - if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then - # We have makeinfo, but it failed. - exit 1 - fi - - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy \`make' (AIX, - DU, IRIX). You might want to install the \`Texinfo' package or - the \`GNU make' package. Grab either from any GNU archive site." - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` - if test -z "$file"; then - file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` - fi - touch $file - ;; - - tar) - shift - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - fi - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar ${1+"$@"} && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar ${1+"$@"} && exit 0 - fi - firstarg="$1" - if shift; then - case "$firstarg" in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" ${1+"$@"} && exit 0 - ;; - esac - case "$firstarg" in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" ${1+"$@"} && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - - *) - echo 1>&2 "\ -WARNING: \`$1' is needed, and you do not seem to have it handy on your - system. You might have modified some files without having the - proper tools for further handling them. Check the \`README' file, - it often tells you about the needed prerequirements for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing \`$1' program." - exit 1 - ;; -esac - -exit 0 diff --git a/Build/source/libs/curl/mkinstalldirs b/Build/source/libs/curl/mkinstalldirs deleted file mode 100644 index 436c03c6998..00000000000 --- a/Build/source/libs/curl/mkinstalldirs +++ /dev/null @@ -1,40 +0,0 @@ -#! /bin/sh -# mkinstalldirs --- make directory hierarchy -# Author: Noah Friedman <friedman@prep.ai.mit.edu> -# Created: 1993-05-16 -# Public domain - -# $Id: mkinstalldirs,v 1.2 2000/01/10 23:36:14 bagder Exp $ - -errstatus=0 - -for file -do - set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` - shift - - pathcomp= - for d - do - pathcomp="$pathcomp$d" - case "$pathcomp" in - -* ) pathcomp=./$pathcomp ;; - esac - - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" 1>&2 - - mkdir "$pathcomp" || lasterr=$? - - if test ! -d "$pathcomp"; then - errstatus=$lasterr - fi - fi - - pathcomp="$pathcomp/" - done -done - -exit $errstatus - -# mkinstalldirs ends here diff --git a/Build/source/libs/curl/packages/EPM/Makefile.am b/Build/source/libs/curl/packages/EPM/Makefile.am deleted file mode 100644 index b010a4b038a..00000000000 --- a/Build/source/libs/curl/packages/EPM/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ -AUTOMAKE_OPTIONS = foreign - -EXTRA_DIST = README curl.list.in diff --git a/Build/source/libs/curl/packages/EPM/Makefile.in b/Build/source/libs/curl/packages/EPM/Makefile.in deleted file mode 100644 index 3a12f33be0f..00000000000 --- a/Build/source/libs/curl/packages/EPM/Makefile.in +++ /dev/null @@ -1,226 +0,0 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# 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@ - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_alias = @host_alias@ -host_triplet = @host@ -AMTAR = @AMTAR@ -AS = @AS@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -EXEEXT = @EXEEXT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -IPV6_ENABLED = @IPV6_ENABLED@ -KRB4_ENABLED = @KRB4_ENABLED@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -NROFF = @NROFF@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_ENABLED = @OPENSSL_ENABLED@ -PACKAGE = @PACKAGE@ -PERL = @PERL@ -PKGADD_NAME = @PKGADD_NAME@ -PKGADD_PKG = @PKGADD_PKG@ -PKGADD_VENDOR = @PKGADD_VENDOR@ -RANDOM_FILE = @RANDOM_FILE@ -RANLIB = @RANLIB@ -STRIP = @STRIP@ -VERSION = @VERSION@ -VERSIONNUM = @VERSIONNUM@ -YACC = @YACC@ -am__include = @am__include@ -am__quote = @am__quote@ -install_sh = @install_sh@ - -AUTOMAKE_OPTIONS = foreign - -EXTRA_DIST = README curl.list.in -subdir = packages/EPM -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/lib/config.h \ - $(top_builddir)/src/config.h \ - $(top_builddir)/tests/server/config.h -CONFIG_CLEAN_FILES = curl.list -DIST_SOURCES = -DIST_COMMON = README Makefile.am Makefile.in curl.list.in -all: all-am - -.SUFFIXES: - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign packages/EPM/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -curl.list: $(top_builddir)/config.status curl.list.in - cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status -uninstall-info-am: -tags: TAGS -TAGS: - - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile - -installdirs: - -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-generic distclean-libtool - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool uninstall uninstall-am uninstall-info-am - -# 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/Build/source/libs/curl/packages/EPM/README b/Build/source/libs/curl/packages/EPM/README deleted file mode 100644 index 3529dbf5a19..00000000000 --- a/Build/source/libs/curl/packages/EPM/README +++ /dev/null @@ -1,12 +0,0 @@ -EPM is a free UNIX software/file packaging program that generates distribution -archives from a list of files. EPM Can: - - * Generate portable script-based distribution packages complete with - installation and removal scripts. - * Generate vendor distributions in AIX, BSD, Compaq Tru64, Debian, HP-UX, - IRIX, Red Hat, and Solaris formats. - * Provide a complete, cross-platform software distribution solution for your - applications. - -http://www.easysw.com/epm/ - diff --git a/Build/source/libs/curl/packages/EPM/curl.list.in b/Build/source/libs/curl/packages/EPM/curl.list.in deleted file mode 100644 index 668575644f3..00000000000 --- a/Build/source/libs/curl/packages/EPM/curl.list.in +++ /dev/null @@ -1,58 +0,0 @@ -# Directories... -$prefix=@prefix@ -$exec_prefix=@exec_prefix@ -$bindir=@bindir@ -$confdir=@sysconfdir@ -$docdir=@prefix@/doc -$mandir=@mandir@ -$libdir=@libdir@ -$srcdir=@top_srcdir@ -$includedir=@includedir@ - -# Product information -%product curl -%copyright 1998-2002 by Daniel Stenberg -%vendor Daniel Stenberg, <daniel@haxx.se> -%license ${srcdir}/MITX.txt -%readme ${srcdir}/README -%description Curl is a command line tool for transfering data specified -%description with URL syntax -%version @VERSION@ -%packager Giuseppe "Cowo" Corbelli <cowo@lugbs.linux.it> - -f 0644 cowo pppusers ${mandir}/man1/curl.1 ./docs/curl.1 -f 0644 cowo pppusers ${mandir}/man1/curl-config.1 ./docs/curl-config.1 -f 0644 cowo pppusers ${mandir}/man3/curl_easy_cleanup.3 ./docs/curl_easy_cleanup.3 -f 0644 cowo pppusers ${mandir}/man3/curl_easy_getinfo.3 ./docs/curl_easy_getinfo.3 -f 0644 cowo pppusers ${mandir}/man3/curl_easy_init.3 ./docs/curl_easy_init.3 -f 0644 cowo pppusers ${mandir}/man3/curl_easy_perform.3 ./docs/curl_easy_perform.3 -f 0644 cowo pppusers ${mandir}/man3/curl_easy_setopt.3 ./docs/curl_easy_setopt.3 -f 0644 cowo pppusers ${mandir}/man3/curl_easy_duphandle.3 ./docs/curl_easy_duphandle.3 -f 0644 cowo pppusers ${mandir}/man3/curl_formparse.3 ./docs/curl_formparse.3 -f 0644 cowo pppusers ${mandir}/man3/curl_formadd.3 ./docs/curl_formadd.3 -f 0644 cowo pppusers ${mandir}/man3/curl_formfree.3 ./docs/curl_formfree.3 -f 0644 cowo pppusers ${mandir}/man3/curl_getdate.3 ./docs/curl_getdate.3 -f 0644 cowo pppusers ${mandir}/man3/curl_getenv.3 ./docs/curl_getenv.3 -f 0644 cowo pppusers ${mandir}/man3/curl_slist_append.3 ./docs/curl_slist_append.3 -f 0644 cowo pppusers ${mandir}/man3/curl_slist_free_all.3 ./docs/curl_slist_free_all.3 -f 0644 cowo pppusers ${mandir}/man3/curl_version.3 ./docs/curl_version.3 -f 0644 cowo pppusers ${mandir}/man3/curl_escape.3 ./docs/curl_escape.3 -f 0644 cowo pppusers ${mandir}/man3/curl_unescape.3 ./docs/curl_unescape.3 -f 0644 cowo pppusers ${mandir}/man3/curl_strequal.3 ./docs/curl_strequal.3 -f 0644 cowo pppusers ${mandir}/man3/curl_strnequal.3 ./docs/curl_strnequal.3 -f 0644 cowo pppusers ${mandir}/man3/curl_mprintf.3 ./docs/curl_mprintf.3 -f 0644 cowo pppusers ${mandir}/man3/curl_global_init.3 ./docs/curl_global_init.3 -f 0644 cowo pppusers ${mandir}/man3/curl_global_cleanup.3 ./docs/curl_global_cleanup.3 -f 0644 cowo pppusers ${mandir}/man3/libcurl.3 ./docs/libcurl.3 -f 0755 cowo pppusers ${libdir}/libcurl.so.2.0.2 ./lib/.libs/libcurl.so.2.0.2 -f 0755 cowo pppusers ${libdir}/libcurl.la ./lib/libcurl.la -f 0755 cowo pppusers ${libdir}/libcurl.la ./lib/.libs/libcurl.la -f 0644 cowo pppusers ${libdir}/libcurl.a ./lib/.libs/libcurl.a -f 0755 cowo pppusers ${bindir}/curl ./src/curl -f 0755 cowo pppusers ${bindir}/curl ./src/.libs/curl -f 0644 cowo pppusers ${includedir}/curl/curl.h ./include/curl/curl.h -f 0644 cowo pppusers ${includedir}/curl/easy.h ./include/curl/easy.h -f 0644 cowo pppusers ${includedir}/curl/mprintf.h ./include/curl/mprintf.h -f 0644 cowo pppusers ${includedir}/curl/stdcheaders.h ./include/curl/stdcheaders.h -f 0644 cowo pppusers ${includedir}/curl/types.h ./include/curl/types.h -f 0755 cowo pppusers ${bindir}/curl-config ./curl-config diff --git a/Build/source/libs/curl/packages/Linux/Makefile.am b/Build/source/libs/curl/packages/Linux/Makefile.am deleted file mode 100644 index 5753055799b..00000000000 --- a/Build/source/libs/curl/packages/Linux/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -SUBDIRS = RPM diff --git a/Build/source/libs/curl/packages/Linux/Makefile.in b/Build/source/libs/curl/packages/Linux/Makefile.in deleted file mode 100644 index a853d99e444..00000000000 --- a/Build/source/libs/curl/packages/Linux/Makefile.in +++ /dev/null @@ -1,339 +0,0 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# 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@ - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_alias = @host_alias@ -host_triplet = @host@ -AMTAR = @AMTAR@ -AS = @AS@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -EXEEXT = @EXEEXT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -IPV6_ENABLED = @IPV6_ENABLED@ -KRB4_ENABLED = @KRB4_ENABLED@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -NROFF = @NROFF@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_ENABLED = @OPENSSL_ENABLED@ -PACKAGE = @PACKAGE@ -PERL = @PERL@ -PKGADD_NAME = @PKGADD_NAME@ -PKGADD_PKG = @PKGADD_PKG@ -PKGADD_VENDOR = @PKGADD_VENDOR@ -RANDOM_FILE = @RANDOM_FILE@ -RANLIB = @RANLIB@ -STRIP = @STRIP@ -VERSION = @VERSION@ -VERSIONNUM = @VERSIONNUM@ -YACC = @YACC@ -am__include = @am__include@ -am__quote = @am__quote@ -install_sh = @install_sh@ - -SUBDIRS = RPM -subdir = packages/Linux -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/lib/config.h \ - $(top_builddir)/src/config.h \ - $(top_builddir)/tests/server/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = - -RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ - uninstall-info-recursive all-recursive install-data-recursive \ - install-exec-recursive installdirs-recursive install-recursive \ - uninstall-recursive check-recursive installcheck-recursive -DIST_COMMON = Makefile.am Makefile.in -DIST_SUBDIRS = $(SUBDIRS) -all: all-recursive - -.SUFFIXES: - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu packages/Linux/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -uninstall-info-am: - -# 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): - @set fnord $(MAKEFLAGS); amf=$$2; \ - 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) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - 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: - @set fnord $(MAKEFLAGS); amf=$$2; \ - 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) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(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 $(LISP) - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(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 "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) - -GTAGS: - here=`CDPATH=: && cd $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - for subdir in $(SUBDIRS); do \ - if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ - || exit 1; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: - -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)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -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 mostlyclean-am - -distclean: distclean-recursive - -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -uninstall-am: uninstall-info-am - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-recursive distclean \ - distclean-generic distclean-libtool distclean-recursive \ - distclean-tags distdir dvi dvi-am dvi-recursive info info-am \ - info-recursive install install-am install-data install-data-am \ - install-data-recursive install-exec install-exec-am \ - install-exec-recursive install-info install-info-am \ - install-info-recursive install-man install-recursive \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am installdirs-recursive maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive mostlyclean \ - mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ - tags tags-recursive uninstall uninstall-am uninstall-info-am \ - uninstall-info-recursive uninstall-recursive - -# 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/Build/source/libs/curl/packages/Linux/RPM/Makefile.am b/Build/source/libs/curl/packages/Linux/RPM/Makefile.am deleted file mode 100644 index 5d46d87c671..00000000000 --- a/Build/source/libs/curl/packages/Linux/RPM/Makefile.am +++ /dev/null @@ -1,2 +0,0 @@ -EXTRA_DIST = README curl-ssl.spec.in curl.spec.in make_curl_rpm - diff --git a/Build/source/libs/curl/packages/Linux/RPM/Makefile.in b/Build/source/libs/curl/packages/Linux/RPM/Makefile.in deleted file mode 100644 index f66597fc7d4..00000000000 --- a/Build/source/libs/curl/packages/Linux/RPM/Makefile.in +++ /dev/null @@ -1,227 +0,0 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# 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@ - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_alias = @host_alias@ -host_triplet = @host@ -AMTAR = @AMTAR@ -AS = @AS@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -EXEEXT = @EXEEXT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -IPV6_ENABLED = @IPV6_ENABLED@ -KRB4_ENABLED = @KRB4_ENABLED@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -NROFF = @NROFF@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_ENABLED = @OPENSSL_ENABLED@ -PACKAGE = @PACKAGE@ -PERL = @PERL@ -PKGADD_NAME = @PKGADD_NAME@ -PKGADD_PKG = @PKGADD_PKG@ -PKGADD_VENDOR = @PKGADD_VENDOR@ -RANDOM_FILE = @RANDOM_FILE@ -RANLIB = @RANLIB@ -STRIP = @STRIP@ -VERSION = @VERSION@ -VERSIONNUM = @VERSIONNUM@ -YACC = @YACC@ -am__include = @am__include@ -am__quote = @am__quote@ -install_sh = @install_sh@ - -EXTRA_DIST = README curl-ssl.spec.in curl.spec.in make_curl_rpm -subdir = packages/Linux/RPM -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/lib/config.h \ - $(top_builddir)/src/config.h \ - $(top_builddir)/tests/server/config.h -CONFIG_CLEAN_FILES = curl.spec curl-ssl.spec -DIST_SOURCES = -DIST_COMMON = README Makefile.am Makefile.in curl-ssl.spec.in \ - curl.spec.in -all: all-am - -.SUFFIXES: - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu packages/Linux/RPM/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -curl.spec: $(top_builddir)/config.status curl.spec.in - cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status -curl-ssl.spec: $(top_builddir)/config.status curl-ssl.spec.in - cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status -uninstall-info-am: -tags: TAGS -TAGS: - - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile - -installdirs: - -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-generic distclean-libtool - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool uninstall uninstall-am uninstall-info-am - -# 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/Build/source/libs/curl/packages/Linux/RPM/README b/Build/source/libs/curl/packages/Linux/RPM/README deleted file mode 100644 index a48ece0433d..00000000000 --- a/Build/source/libs/curl/packages/Linux/RPM/README +++ /dev/null @@ -1,5 +0,0 @@ -Author: Daniel (I'm not trustworthy, replace this!) - -Paul Marquis's 'make_curl_rpm' script is a fine example on how to automate the -jobs. You need to fill in your own name and email at least. - diff --git a/Build/source/libs/curl/packages/Linux/RPM/curl-ssl.spec.in b/Build/source/libs/curl/packages/Linux/RPM/curl-ssl.spec.in deleted file mode 100644 index 15713bed80f..00000000000 --- a/Build/source/libs/curl/packages/Linux/RPM/curl-ssl.spec.in +++ /dev/null @@ -1,78 +0,0 @@ -%define name curl-ssl -%define tarball curl -%define version @VERSION@ -%define release 1 -%define prefix /usr - -%define builddir $RPM_BUILD_DIR/%{tarball}-%{version} - -Summary: get a file from a FTP, GOPHER or HTTP server. -Name: %{name} -Version: %{version} -Release: %{release} -Copyright: MPL -Vendor: Daniel Stenberg <Daniel.Stenberg@haxx.se> -Packager: Loic Dachary <loic@senga.org> -Group: Utilities/Console -Source: %{tarball}-%{version}.tar.gz -URL: http://curl.haxx.se/ -BuildRoot: /tmp/%{tarball}-%{version}-root -Requires: openssl >= 0.9.5 - -%description -curl is a client to get documents/files from servers, using any of the -supported protocols. The command is designed to work without user -interaction or any kind of interactivity. - -curl offers a busload of useful tricks like proxy support, user -authentication, ftp upload, HTTP post, file transfer resume and more. - -%package devel -Summary: The includes, libs, and man pages to develop with libcurl -Group: Development/Libraries -Requires: openssl-devel >= 0.9.5 - -%description devel -libcurl is the core engine of curl; this packages contains all the libs, -headers, and manual pages to develop applications using libcurl. - -%prep -rm -rf %{builddir} - -%setup -n %{tarball}-%{version} - -%build -%configure --prefix=%{prefix} --with-ssl -make - -%install -rm -rf $RPM_BUILD_ROOT -make DESTDIR=$RPM_BUILD_ROOT install-strip - -%clean -rm -rf $RPM_BUILD_ROOT -rm -rf %{builddir} - -%post -/sbin/ldconfig - -%postun -/sbin/ldconfig - -%files -%defattr(-,root,root) -%attr(0755,root,root) %{_bindir}/curl -%attr(0644,root,root) %{_mandir}/man1/* -%{_libdir}/libcurl.so* -%doc CHANGES LEGAL MITX.txt MPL-1.1.txt README docs/BUGS -%doc docs/CONTRIBUTE docs/FAQ docs/FEATURES docs/INSTALL docs/INTERNALS -%doc docs/LIBCURL docs/MANUAL docs/README* docs/RESOURCES docs/TODO -%doc docs/TheArtOfHttpScripting - -%files devel -%defattr(-,root,root) -%attr(0644,root,root) %{_mandir}/man3/* -%attr(0644,root,root) %{_includedir}/curl/* -%{_libdir}/libcurl.a -%{_libdir}/libcurl.la -%doc docs/examples/* diff --git a/Build/source/libs/curl/packages/Linux/RPM/curl.spec.in b/Build/source/libs/curl/packages/Linux/RPM/curl.spec.in deleted file mode 100644 index a5e8d2dd7a0..00000000000 --- a/Build/source/libs/curl/packages/Linux/RPM/curl.spec.in +++ /dev/null @@ -1,84 +0,0 @@ -%define name curl -%define version @VERSION@ -%define release 1 -%define prefix /usr - -%define builddir $RPM_BUILD_DIR/%{name}-%{version} - -Summary: get a file from a FTP, GOPHER or HTTP server. -Name: %{name} -Version: %{version} -Release: %{release} -Copyright: MPL -Vendor: Daniel Stenberg <Daniel.Stenberg@haxx.se> -Packager: Loic Dachary <loic@senga.org> -Group: Utilities/Console -Source: %{name}-%{version}.tar.gz -URL: http://curl.haxx.se/ -BuildRoot: /tmp/%{name}-%{version}-root - -%description -curl is a client to get documents/files from servers, using any of the -supported protocols. The command is designed to work without user -interaction or any kind of interactivity. - -curl offers a busload of useful tricks like proxy support, user -authentication, ftp upload, HTTP post, file transfer resume and more. - -Note: this version is compiled without SSL (https:) support. - -%package devel -Summary: The includes, libs, and man pages to develop with libcurl -Group: Development/Libraries - -%description devel -libcurl is the core engine of curl; this packages contains all the libs, -headers, and manual pages to develop applications using libcurl. - -%prep -rm -rf %{builddir} - -%setup - -%build -%configure --without-ssl --prefix=%{prefix} -make - -%install -rm -rf $RPM_BUILD_ROOT -make DESTDIR=$RPM_BUILD_ROOT install-strip - -%clean -rm -rf $RPM_BUILD_ROOT -rm -rf %{builddir} - -%post -/sbin/ldconfig - -%postun -/sbin/ldconfig - -%files -%defattr(-,root,root) -%attr(0755,root,root) %{_bindir}/curl -%attr(0644,root,root) %{_mandir}/man1/* -%{prefix}/lib/libcurl.so* -%doc CHANGES LEGAL MITX.txt MPL-1.1.txt README docs/BUGS -%doc docs/CONTRIBUTE docs/FAQ docs/FEATURES docs/INSTALL docs/INTERNALS -%doc docs/LIBCURL docs/MANUAL docs/README* docs/RESOURCES docs/TODO -%doc docs/TheArtOfHttpScripting - -%files devel -%defattr(-,root,root) -%attr(0644,root,root) %{_mandir}/man3/* -%attr(0644,root,root) %{_includedir}/curl/* -%{prefix}/lib/libcurl.a -%{prefix}/lib/libcurl.la -%doc docs/examples/* - -%changelog -* Sun Jan 7 2001 Loic Dachary <loic@senga.org> - - - use _mandir instead of prefix to locate man pages because - _mandir is not always prefix/man/man?. - diff --git a/Build/source/libs/curl/packages/Linux/RPM/make_curl_rpm b/Build/source/libs/curl/packages/Linux/RPM/make_curl_rpm deleted file mode 100644 index 544a23b67fc..00000000000 --- a/Build/source/libs/curl/packages/Linux/RPM/make_curl_rpm +++ /dev/null @@ -1,62 +0,0 @@ -#! /bin/sh -# script to build curl RPM from src RPM (SSL and non-SSL versions) - -# initialize -top_dir=/usr/src/redhat -sources_dir=$top_dir/SOURCES -specs_dir=$top_dir/SPECS -rpms_dir=$top_dir/RPMS -arch=`rpm --showrc | awk 'NF == 3 && $2 == "_arch" { print $3 }'` - -# fill in your own name and email here -packager_name="Mr Joe Packager Person" -packager_email='<Joe@packager.person>' - -# make sure we're running as root -if test `id -u` -ne `id -u root` -then - echo "you must build the RPM as root" - exit 1 -fi - -# get version and release number -if test $# -lt 1 -then - echo "version number?" - read version -else - version=$1 -fi - -if test $# -lt 2 -then - echo "release number?" - read release -else - release=$2 -fi - -# build all the files -targets="curl curl-ssl" -for target in $targets -do - # make sure src RPM exist - src_rpm="$target-$version-$release.src.rpm" - if test -f $src_rpm - then - rpm -ivh $src_rpm - - # replace packager in spec file - sed -e 's/^Packager: .*/Packager: $packager_name $packager_email/' $specs_dir/$target.spec > $specs_dir/$target-$version-$arch.spec - - # build it - if ! rpm -ba $specs_dir/$target-$version-$arch.spec - then - echo "error building $target for $arch -- check output above" - fi - - echo "$target rpm is now in $rpms_dir/$arch" - else - echo $src_rpm does not exist - fi -done diff --git a/Build/source/libs/curl/packages/Makefile.am b/Build/source/libs/curl/packages/Makefile.am deleted file mode 100644 index 7cbfb6da44a..00000000000 --- a/Build/source/libs/curl/packages/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ -SUBDIRS = Win32 Linux Solaris EPM - -EXTRA_DIST = README diff --git a/Build/source/libs/curl/packages/Makefile.in b/Build/source/libs/curl/packages/Makefile.in deleted file mode 100644 index d5eb103bc8f..00000000000 --- a/Build/source/libs/curl/packages/Makefile.in +++ /dev/null @@ -1,341 +0,0 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# 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@ - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_alias = @host_alias@ -host_triplet = @host@ -AMTAR = @AMTAR@ -AS = @AS@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -EXEEXT = @EXEEXT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -IPV6_ENABLED = @IPV6_ENABLED@ -KRB4_ENABLED = @KRB4_ENABLED@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -NROFF = @NROFF@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_ENABLED = @OPENSSL_ENABLED@ -PACKAGE = @PACKAGE@ -PERL = @PERL@ -PKGADD_NAME = @PKGADD_NAME@ -PKGADD_PKG = @PKGADD_PKG@ -PKGADD_VENDOR = @PKGADD_VENDOR@ -RANDOM_FILE = @RANDOM_FILE@ -RANLIB = @RANLIB@ -STRIP = @STRIP@ -VERSION = @VERSION@ -VERSIONNUM = @VERSIONNUM@ -YACC = @YACC@ -am__include = @am__include@ -am__quote = @am__quote@ -install_sh = @install_sh@ - -SUBDIRS = Win32 Linux Solaris EPM - -EXTRA_DIST = README -subdir = packages -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/lib/config.h \ - $(top_builddir)/src/config.h \ - $(top_builddir)/tests/server/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = - -RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ - uninstall-info-recursive all-recursive install-data-recursive \ - install-exec-recursive installdirs-recursive install-recursive \ - uninstall-recursive check-recursive installcheck-recursive -DIST_COMMON = README Makefile.am Makefile.in -DIST_SUBDIRS = $(SUBDIRS) -all: all-recursive - -.SUFFIXES: - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu packages/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -uninstall-info-am: - -# 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): - @set fnord $(MAKEFLAGS); amf=$$2; \ - 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) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - 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: - @set fnord $(MAKEFLAGS); amf=$$2; \ - 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) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(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 $(LISP) - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(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 "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) - -GTAGS: - here=`CDPATH=: && cd $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = .. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - for subdir in $(SUBDIRS); do \ - if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ - || exit 1; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: - -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)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -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 mostlyclean-am - -distclean: distclean-recursive - -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -uninstall-am: uninstall-info-am - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-recursive distclean \ - distclean-generic distclean-libtool distclean-recursive \ - distclean-tags distdir dvi dvi-am dvi-recursive info info-am \ - info-recursive install install-am install-data install-data-am \ - install-data-recursive install-exec install-exec-am \ - install-exec-recursive install-info install-info-am \ - install-info-recursive install-man install-recursive \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am installdirs-recursive maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive mostlyclean \ - mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ - tags tags-recursive uninstall uninstall-am uninstall-info-am \ - uninstall-info-recursive uninstall-recursive - -# 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/Build/source/libs/curl/packages/README b/Build/source/libs/curl/packages/README deleted file mode 100644 index cb50b4018fd..00000000000 --- a/Build/source/libs/curl/packages/README +++ /dev/null @@ -1,27 +0,0 @@ - _ _ ____ _ - ___| | | | _ \| | - / __| | | | |_) | | - | (__| |_| | _ <| |___ - \___|\___/|_| \_\_____| - -PACKAGES - - This directory and all its subdirectories are for special package -information, template, scripts and docs. The files herein should be of use for -those of you who want to package curl in a binary or source format using one -of those custom formats. - - The hierarchy for these directories is something like this: - - packages/[OS]/[FORMAT]/ - - Currently, we have Win32 and Linux for [OS]. There might be different formats -for the same OS so for Linux we have RPM as format. - - We might need to add some differentiation for CPU as well, as there is -Linux-RPMs for several CPUs. However, it might not be necessary since the -packaging should be pretty much the same no matter what CPU that is used. - - For each unique OS-FORMAT pair, there's a directory to "fill"! I'd like to -see a single README with as much details as possible, and then I'd like some -template files for the package process. diff --git a/Build/source/libs/curl/packages/Solaris/Makefile.am b/Build/source/libs/curl/packages/Solaris/Makefile.am deleted file mode 100644 index 2decb12c7a1..00000000000 --- a/Build/source/libs/curl/packages/Solaris/Makefile.am +++ /dev/null @@ -1,39 +0,0 @@ -# -# $Id: Makefile.am,v 1.1 2001/05/30 04:31:33 crisb Exp $ -# - -PKGADD_PKG="@PKGADD_PKG@" -PKGADD_NAME="@PACKAGE@-@VERSION@ - @PKGADD_NAME@" -PKGADD_VENDOR="@PKGADD_VENDOR@" -PKGADD_ARCH="@host_cpu@" -PKGADD_DESC="@PACKAGE@-@VERSION@ - @PKGADD_NAME@" -PKGADD_CLASSES=none -PKGADD_BASEDIR=/ - -PKGADD_FILE=${PKGADD_PKG}-@PACKAGE@-@VERSION@-@host@.pkg - -package: - if [ ! -f release ]; then echo 0 > release; fi - if [ `find root -newer release -print|wc -l` -gt 0 ]; then expr `cat release` + 1 > release; fi - echo PKG=${PKGADD_PKG} > pkginfo - echo NAME=${PKGADD_NAME} >> pkginfo - echo VENDOR=${PKGADD_VENDOR} >> pkginfo - echo ARCH=${PKGADD_ARCH} >> pkginfo - echo DESC=${PKGADD_DESC} >> pkginfo - echo CLASSES=${PKGADD_CLASSES} >> pkginfo - echo BASEDIR=${PKGADD_BASEDIR} >> pkginfo - echo CATEGORY=application >> pkginfo - echo VERSION=`cat ./release` >> pkginfo - echo > prototype - for subdir in opt var etc usr; \ - do if [ -d root/$$subdir ]; then \ - pkgproto root/$$subdir=$$subdir >> prototype;\ - fi; done - for file in pkginfo preinstall postinstall copyright; \ - do if [ -f $$file ]; then \ - echo "i $$file=$$file" >> prototype; \ - fi; done - rm -rf ./tmp - mkdir ./tmp - pkgmk -o -d ./tmp - pkgtrans -so ./tmp ${top_srcdir}/../${PKGADD_FILE} ${PKGADD_PKG} diff --git a/Build/source/libs/curl/packages/Solaris/Makefile.in b/Build/source/libs/curl/packages/Solaris/Makefile.in deleted file mode 100644 index aa66e75eb40..00000000000 --- a/Build/source/libs/curl/packages/Solaris/Makefile.in +++ /dev/null @@ -1,257 +0,0 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# 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@ - -# -# $Id: Makefile.am,v 1.1 2001/05/30 04:31:33 crisb Exp $ -# - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_alias = @host_alias@ -host_triplet = @host@ -AMTAR = @AMTAR@ -AS = @AS@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -EXEEXT = @EXEEXT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -IPV6_ENABLED = @IPV6_ENABLED@ -KRB4_ENABLED = @KRB4_ENABLED@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -NROFF = @NROFF@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_ENABLED = @OPENSSL_ENABLED@ -PACKAGE = @PACKAGE@ -PERL = @PERL@ -RANDOM_FILE = @RANDOM_FILE@ -RANLIB = @RANLIB@ -STRIP = @STRIP@ -VERSION = @VERSION@ -VERSIONNUM = @VERSIONNUM@ -YACC = @YACC@ -am__include = @am__include@ -am__quote = @am__quote@ -install_sh = @install_sh@ -PKGADD_NAME = "@PACKAGE@-@VERSION@ - @PKGADD_NAME@" - -PKGADD_PKG = "@PKGADD_PKG@" -PKGADD_VENDOR = "@PKGADD_VENDOR@" -PKGADD_ARCH = "@host_cpu@" -PKGADD_DESC = "@PACKAGE@-@VERSION@ - @PKGADD_NAME@" -PKGADD_CLASSES = none -PKGADD_BASEDIR = / - -PKGADD_FILE = ${PKGADD_PKG}-@PACKAGE@-@VERSION@-@host@.pkg -subdir = packages/Solaris -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/lib/config.h \ - $(top_builddir)/src/config.h \ - $(top_builddir)/tests/server/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DIST_COMMON = Makefile.am Makefile.in -all: all-am - -.SUFFIXES: - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu packages/Solaris/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -uninstall-info-am: -tags: TAGS -TAGS: - - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile - -installdirs: - -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-generic distclean-libtool - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool uninstall uninstall-am uninstall-info-am - - -package: - if [ ! -f release ]; then echo 0 > release; fi - if [ `find root -newer release -print|wc -l` -gt 0 ]; then expr `cat release` + 1 > release; fi - echo PKG=${PKGADD_PKG} > pkginfo - echo NAME=${PKGADD_NAME} >> pkginfo - echo VENDOR=${PKGADD_VENDOR} >> pkginfo - echo ARCH=${PKGADD_ARCH} >> pkginfo - echo DESC=${PKGADD_DESC} >> pkginfo - echo CLASSES=${PKGADD_CLASSES} >> pkginfo - echo BASEDIR=${PKGADD_BASEDIR} >> pkginfo - echo CATEGORY=application >> pkginfo - echo VERSION=`cat ./release` >> pkginfo - echo > prototype - for subdir in opt var etc usr; \ - do if [ -d root/$$subdir ]; then \ - pkgproto root/$$subdir=$$subdir >> prototype;\ - fi; done - for file in pkginfo preinstall postinstall copyright; \ - do if [ -f $$file ]; then \ - echo "i $$file=$$file" >> prototype; \ - fi; done - rm -rf ./tmp - mkdir ./tmp - pkgmk -o -d ./tmp - pkgtrans -so ./tmp ${top_srcdir}/../${PKGADD_FILE} ${PKGADD_PKG} -# 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/Build/source/libs/curl/packages/Win32/Makefile.am b/Build/source/libs/curl/packages/Win32/Makefile.am deleted file mode 100644 index 93350ea13f9..00000000000 --- a/Build/source/libs/curl/packages/Win32/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ -SUBDIRS = cygwin - -EXTRA_DIST = README diff --git a/Build/source/libs/curl/packages/Win32/Makefile.in b/Build/source/libs/curl/packages/Win32/Makefile.in deleted file mode 100644 index ef93ba89ec9..00000000000 --- a/Build/source/libs/curl/packages/Win32/Makefile.in +++ /dev/null @@ -1,341 +0,0 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# 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@ - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_alias = @host_alias@ -host_triplet = @host@ -AMTAR = @AMTAR@ -AS = @AS@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -EXEEXT = @EXEEXT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -IPV6_ENABLED = @IPV6_ENABLED@ -KRB4_ENABLED = @KRB4_ENABLED@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -NROFF = @NROFF@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_ENABLED = @OPENSSL_ENABLED@ -PACKAGE = @PACKAGE@ -PERL = @PERL@ -PKGADD_NAME = @PKGADD_NAME@ -PKGADD_PKG = @PKGADD_PKG@ -PKGADD_VENDOR = @PKGADD_VENDOR@ -RANDOM_FILE = @RANDOM_FILE@ -RANLIB = @RANLIB@ -STRIP = @STRIP@ -VERSION = @VERSION@ -VERSIONNUM = @VERSIONNUM@ -YACC = @YACC@ -am__include = @am__include@ -am__quote = @am__quote@ -install_sh = @install_sh@ - -SUBDIRS = cygwin - -EXTRA_DIST = README -subdir = packages/Win32 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/lib/config.h \ - $(top_builddir)/src/config.h \ - $(top_builddir)/tests/server/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = - -RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ - uninstall-info-recursive all-recursive install-data-recursive \ - install-exec-recursive installdirs-recursive install-recursive \ - uninstall-recursive check-recursive installcheck-recursive -DIST_COMMON = README Makefile.am Makefile.in -DIST_SUBDIRS = $(SUBDIRS) -all: all-recursive - -.SUFFIXES: - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu packages/Win32/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -uninstall-info-am: - -# 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): - @set fnord $(MAKEFLAGS); amf=$$2; \ - 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) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - 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: - @set fnord $(MAKEFLAGS); amf=$$2; \ - 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) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(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 $(LISP) - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(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 "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) - -GTAGS: - here=`CDPATH=: && cd $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - for subdir in $(SUBDIRS); do \ - if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ - || exit 1; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: - -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)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -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 mostlyclean-am - -distclean: distclean-recursive - -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -uninstall-am: uninstall-info-am - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-recursive distclean \ - distclean-generic distclean-libtool distclean-recursive \ - distclean-tags distdir dvi dvi-am dvi-recursive info info-am \ - info-recursive install install-am install-data install-data-am \ - install-data-recursive install-exec install-exec-am \ - install-exec-recursive install-info install-info-am \ - install-info-recursive install-man install-recursive \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am installdirs-recursive maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive mostlyclean \ - mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ - tags tags-recursive uninstall uninstall-am uninstall-info-am \ - uninstall-info-recursive uninstall-recursive - -# 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/Build/source/libs/curl/packages/Win32/README b/Build/source/libs/curl/packages/Win32/README deleted file mode 100644 index 52824ca34a6..00000000000 --- a/Build/source/libs/curl/packages/Win32/README +++ /dev/null @@ -1,53 +0,0 @@ -Author: Jörn Hartroth - -DESCRIPTION - -(If you're only looking for precompiled win32 binaries, go visit -http://curl.haxx.se/download.html) - -Packaging of the curl binaries for Win32 should at this point in time be based -on the InfoZip (zip/unzip) archiver family as the de-facto standard for -Windows archives. A package should contain the main binary curl.exe along with -the appropriate documentation and license information files. For development -releases, you should also include the header directory and probably the -compiled binaries of libcurl and the appropriate Makefiles/project definition -files for the compiler used. - -A simple packaging mechanism can be based on a set of batch files which call -zip.exe with the appropriate files from the curl distribution - see the -samples included below (Long lines have been split with "\" as the split -marker, you'll want to rejoin the pieces to be all on one line in the batch -file). Call any of these batch files - after compiling the curl binaries - -with a single parameter specifying the name of the archive file to be created. - -It is implicitely assumed that all of the binary files (curl.exe, libcurl.a, -etc) have previously been copied to the main directory of the curl source -package (the directory where the main README resides), because that is where -they should end up in the zip archive. The archive should *not* be built with -absolute path information because the user will want to locally extract the -archive contents and shift the binaries to his executable directory. - -SCRIPT_TEMPLATES - -curlpkg.bat: - zip -9 %1 curl.exe CHANGES LEGAL MPL-1.0.txt README \ - docs/FAQ docs/FEATURES docs/README.curl docs/README.win32 docs/TODO - -curldevpkg.bat: - zip -9 %1 curl.exe include\README include\curl\*.h CHANGES docs\* \ - curl.spec curl-ssl.spec LEGAL lib/Makefile.m32 src/Makefile.m32 \ - libcurl.a libcurl.def libcurl.dll libcurldll.a MPL-1.0.txt README - -PROCEDURE_EXAMPLE - -A standard packaging routine (for MingW32) using the above batch files could -go like this: -(No SSL) (With SSL) -cd <curl-sourcedir>\lib cd <curl-sourcedir>\lib -make -f Makefile.m32 make -f Makefile.m32 SSL=1 -cd ..\src cd ..\src -make -f Makefile.m32 make -f Makefile.m32 SSL=1 -cd .. cd .. -copy lib\libcurl.a . copy lib\libcurl.a . -copy src\curl.exe . copy src\curl.exe . -curlpkg curl-win32-nossl.zip curlpkg curl-win32-ssl.zip diff --git a/Build/source/libs/curl/packages/Win32/cygwin/Makefile.am b/Build/source/libs/curl/packages/Win32/cygwin/Makefile.am deleted file mode 100644 index 196e481711a..00000000000 --- a/Build/source/libs/curl/packages/Win32/cygwin/Makefile.am +++ /dev/null @@ -1,35 +0,0 @@ -EXTRA_DIST = README - -# -# Build a Cygwin binary tar ball -# -# Read the README file for details on using this Makefile -# -# NOTE: As I'm not particularly familiar with Makefiles, this was the -# best I could come up with. It should probably be enhanced someday -# to actually use the correct target and pre-requisite names, etc... -# If anyone else wants to volunteer, feel free ;-) -# - -# Cygwin build number (default to "1") -CYGBUILD = 1 - -# Cygwin tarball build dir (fully-qualified name, gets deleted when done) -cygwintmp = $(CURDIR)/tmp_binbuild - -cygwinbin: - rm -rf $(cygwintmp) - $(MAKE) -C $(top_builddir) install-strip prefix=$(cygwintmp)/usr - $(STRIP) $(cygwintmp)/usr/bin/cygcurl-?.dll - $(mkinstalldirs) $(cygwintmp)/usr/doc/Cygwin \ - $(cygwintmp)/usr/doc/$(PACKAGE)-$(VERSION) - cp $(srcdir)/README \ - $(cygwintmp)/usr/doc/Cygwin/$(PACKAGE)-$(VERSION)-$(CYGBUILD).README - cd $(top_srcdir) ; cp CHANGES LEGAL MPL-1.1.txt MITX.txt README \ - docs/FAQ docs/FEATURES docs/TODO \ - $(cygwintmp)/usr/doc/$(PACKAGE)-$(VERSION) - cd $(cygwintmp) ; \ - tar cjf $(PACKAGE)-$(VERSION)-$(CYGBUILD).tar.bz2 usr - mv $(cygwintmp)/$(PACKAGE)-$(VERSION)-$(CYGBUILD).tar.bz2 . \ - && rm -rf $(cygwintmp) - diff --git a/Build/source/libs/curl/packages/Win32/cygwin/Makefile.in b/Build/source/libs/curl/packages/Win32/cygwin/Makefile.in deleted file mode 100644 index fc52eb01ee8..00000000000 --- a/Build/source/libs/curl/packages/Win32/cygwin/Makefile.in +++ /dev/null @@ -1,255 +0,0 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# 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@ - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_alias = @host_alias@ -host_triplet = @host@ -AMTAR = @AMTAR@ -AS = @AS@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -EXEEXT = @EXEEXT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -IPV6_ENABLED = @IPV6_ENABLED@ -KRB4_ENABLED = @KRB4_ENABLED@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -NROFF = @NROFF@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_ENABLED = @OPENSSL_ENABLED@ -PACKAGE = @PACKAGE@ -PERL = @PERL@ -PKGADD_NAME = @PKGADD_NAME@ -PKGADD_PKG = @PKGADD_PKG@ -PKGADD_VENDOR = @PKGADD_VENDOR@ -RANDOM_FILE = @RANDOM_FILE@ -RANLIB = @RANLIB@ -STRIP = @STRIP@ -VERSION = @VERSION@ -VERSIONNUM = @VERSIONNUM@ -YACC = @YACC@ -am__include = @am__include@ -am__quote = @am__quote@ -install_sh = @install_sh@ - -EXTRA_DIST = README - -# -# Build a Cygwin binary tar ball -# -# Read the README file for details on using this Makefile -# -# NOTE: As I'm not particularly familiar with Makefiles, this was the -# best I could come up with. It should probably be enhanced someday -# to actually use the correct target and pre-requisite names, etc... -# If anyone else wants to volunteer, feel free ;-) -# - -# Cygwin build number (default to "1") -CYGBUILD = 1 - -# Cygwin tarball build dir (fully-qualified name, gets deleted when done) -cygwintmp = $(CURDIR)/tmp_binbuild -subdir = packages/Win32/cygwin -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/lib/config.h \ - $(top_builddir)/src/config.h \ - $(top_builddir)/tests/server/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DIST_COMMON = README Makefile.am Makefile.in -all: all-am - -.SUFFIXES: - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu packages/Win32/cygwin/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -uninstall-info-am: -tags: TAGS -TAGS: - - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile - -installdirs: - -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-generic distclean-libtool - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool uninstall uninstall-am uninstall-info-am - - -cygwinbin: - rm -rf $(cygwintmp) - $(MAKE) -C $(top_builddir) install-strip prefix=$(cygwintmp)/usr - $(STRIP) $(cygwintmp)/usr/bin/cygcurl-?.dll - $(mkinstalldirs) $(cygwintmp)/usr/doc/Cygwin \ - $(cygwintmp)/usr/doc/$(PACKAGE)-$(VERSION) - cp $(srcdir)/README \ - $(cygwintmp)/usr/doc/Cygwin/$(PACKAGE)-$(VERSION)-$(CYGBUILD).README - cd $(top_srcdir) ; cp CHANGES LEGAL MPL-1.1.txt MITX.txt README \ - docs/FAQ docs/FEATURES docs/TODO \ - $(cygwintmp)/usr/doc/$(PACKAGE)-$(VERSION) - cd $(cygwintmp) ; \ - tar cjf $(PACKAGE)-$(VERSION)-$(CYGBUILD).tar.bz2 usr - mv $(cygwintmp)/$(PACKAGE)-$(VERSION)-$(CYGBUILD).tar.bz2 . \ - && rm -rf $(cygwintmp) -# 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/Build/source/libs/curl/packages/Win32/cygwin/README b/Build/source/libs/curl/packages/Win32/cygwin/README deleted file mode 100644 index 705cbbc2790..00000000000 --- a/Build/source/libs/curl/packages/Win32/cygwin/README +++ /dev/null @@ -1,85 +0,0 @@ -Curl is a tool for transferring files with URL syntax, supporting - FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. - Curl supports HTTPS certificates, HTTP POST, HTTP PUT, - FTP uploading, kerberos, HTTP form based upload, proxies, - cookies, user+password authentication, file transfer resume, - http proxy tunneling and a busload of other useful tricks. - -See /usr/doc/curl-<version>/FEATURES for more info. - - -Dependencies: - - Cygwin - - OpenSSL 0.9.6b-2+ (*) - (*) cURL can be built without SSL support: ./configure --without-ssl - - -Canonical Homepage and Downloads: - http://curl.haxx.se/ - http://curl.haxx.se/download.html - - -Cygwin specific source files (a .README template and a Makefile - for building binary tarballs) are maintained in the upstream - CVS at: <srctop>/packages/Win32/cygwin/ - - -Build Instructions (as distributed via cygwin's setup.exe): - (NOTE: as of curl 7.9.1, compiles/tests 100% cleanly OOTB under cygwin) - - Download the source, unpack it to a location of your choosing, and then: - - $ ./configure --prefix=/usr - $ make - $ make test # optional, requires perl - $ make install # (*) - - (*) LibTool 1.4.2 had a bug related to cygwin's use of ".exe" extensions, - such that "make install" blew up at curl.exe. See this URL for details: - http://mail.gnu.org/pipermail/libtool/2001-September/005549.html - The copy of ltmain.sh that is distributed with cURL includes this patch. - - -Packaging Instructions: - ---BINARY--- - Compile cleanly (./configure + make). Then: - - $ make cygwinbin CYGBUILD=n - - where n is the cygwin release number (e.g. the "1" in curl-7.9-1). - If you leave off "CYGBUILD=n", n defaults to 1. - - Assuming everything worked properly, you'll find your binary tarball - in the packages/Win32/cygwin/ sub-directory. - - ---SOURCE--- - 1. unpack the pristine source into an otherwise empty directory - 2. rename the source dir to add the "-$(REL)" suffix, e.g.: - $ mv curl-7.9 curl-7.9-1 - 3. add a CYGWIN-PATCHES directory, and add this readme to it - $ cd curl-7.9-$(REL); mkdir CYGWIN-PATCHES - $ cp packages/Win32/cygwin/README CYGWIN-PATCHES/curl-7.9-$(REL).README - 4. if applicable, document any changes in the README file - 5. create a patch which, when applied (patch -p1 < curl-7.9-$(REL).patch) - will remove any patches you've applied: - $ cd .. - $ diff -Nrup (patched-src-dir) (pristine-src-dir) > curl-7.9-$(REL).patch - and then move it into the CYGWIN-PATCHES directory - 6. repack - - ---SETUP.HINT--- - sdesc: "a client that groks URLs" - ldesc: "Curl is a tool for transferring files with URL syntax, - supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE - and LDAP. Curl supports HTTPS certificates, HTTP POST, HTTP PUT, - FTP uploading, kerberos, HTTP form based upload, proxies, - cookies, user+password authentication, file transfer resume, - http proxy tunneling and a busload of other useful tricks." - category: Web Libs - requires: cygwin openssl - - -Cygwin port maintained by: - Kevin Roth <kproth at bigfoot dot com> - Questions about cURL should be directed to curl@contactor.se. - Questions about its cygwin package should be directed to cygwin@cygwin.com. diff --git a/Build/source/libs/curl/reconf b/Build/source/libs/curl/reconf deleted file mode 100644 index 5522e0fdb5a..00000000000 --- a/Build/source/libs/curl/reconf +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# -# $Id: reconf,v 1.4 2001/05/30 07:59:47 bagder Exp $ -# -# re autoconf/automake shell script -# - -die(){ - echo "$@" ; exit -} - -aclocal -I . || die "The command 'aclocal -I .' failed" -autoheader || die "The command 'autoheader' failed" -automake || die "The command 'automake' failed" -autoconf || die "The command 'autoconf' failed" diff --git a/Build/source/libs/curl/src/Makefile.am b/Build/source/libs/curl/src/Makefile.am deleted file mode 100644 index 93ea6b5f07d..00000000000 --- a/Build/source/libs/curl/src/Makefile.am +++ /dev/null @@ -1,48 +0,0 @@ -# -# $Id: Makefile.am,v 1.20 2002/03/06 22:19:16 bagder Exp $ -# - -AUTOMAKE_OPTIONS = foreign nostdinc - -# we use srcdir/include for the static global include files -# we use builddir/src for the generated src/config.h file to get found -# we use srcdir/lib for the client-private header files -INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/src -I$(top_srcdir)/src - -bin_PROGRAMS = curl #memtest - -#memtest_SOURCES = memtest.c -#memtest_LDADD = $(top_srcdir)/lib/libcurl.la - -curl_SOURCES = main.c hugehelp.c urlglob.c writeout.c setup.h \ - config-win32.h \ - config-mac.h \ - config-vms.h \ - urlglob.h \ - version.h \ - writeout.h \ - config-win32.h \ - config-mac.h \ - config-vms.h - -curl_LDADD = ../lib/libcurl.la -curl_DEPENDENCIES = ../lib/libcurl.la -BUILT_SOURCES = hugehelp.c -CLEANFILES = hugehelp.c -NROFF=@NROFF@ - -EXTRA_DIST = mkhelp.pl curlmsg.msg \ - Makefile.vc6 Makefile.b32 Makefile.m32 config.h.in \ - macos/curl.mcp.xml.sit.hqx \ - macos/MACINSTALL.TXT \ - macos/src/curl_GUSIConfig.cpp \ - macos/src/macos_main.cpp - -MANPAGE=$(top_srcdir)/docs/curl.1 -README=$(top_srcdir)/docs/MANUAL -MKHELP=$(top_srcdir)/src/mkhelp.pl - -# This generates the hugehelp.c file -hugehelp.c: $(README) $(MANPAGE) mkhelp.pl - rm -f hugehelp.c - $(NROFF) -man $(MANPAGE) | $(PERL) $(MKHELP) $(README) > hugehelp.c diff --git a/Build/source/libs/curl/src/Makefile.b32 b/Build/source/libs/curl/src/Makefile.b32 deleted file mode 100644 index 9adabef1602..00000000000 --- a/Build/source/libs/curl/src/Makefile.b32 +++ /dev/null @@ -1,45 +0,0 @@ -############################################################ -# $Id: Makefile.b32,v 1.2 2001/08/09 09:10:36 bagder Exp $ -# -# Makefile.b32 - Borland's C++ Compiler 5.X -# -# 'src' directory -# -# Written by Jaepil Kim, pit@paradise.net.nz -############################################################ - -# Set program's name -PROGNAME = curl.exe - -# Setup environment -CXX = bcc32 -CXXFLAGS = -5 -O2 -WC -w-par -w-csu -w-aus -RM = del -TOPDIR = .. -DEFINES = -DNDEBUG -DLIBCURL_BIGENDIAN=0 -DWIN32 -D_CONSOLE -D_MBCS -LD = bcc32 -LDFLAGS = -lap -e$(PROGNAME) -INCDIRS = -I$(TOPDIR)/include -LIBCURLLIB= $(TOPDIR)/lib/libcurl.lib - -# 'BCCDIR' has to be set up in your c:\autoexec.bat -# i.e. SET BCCDIR = c:\Borland\BCC55 -# where c:\Borland\BCC55 is the compiler is installed -LINKLIB = $(BCCDIR)/lib/psdk/wsock32.lib - - -PROGRAMS = \ - curl.exe - -.c.obj: - $(CXX) -c $(INCDIRS) $(CXXFLAGS) $(DEFINES) $*.c - -all: $(PROGRAMS) - -curl.exe: $(LIBCURLLIB) $(LINKLIB) hugehelp.obj writeout.obj urlglob.obj main.obj - $(LD) $(LDFLAGS) hugehelp.obj writeout.obj urlglob.obj main.obj $(LIBCURLLIB) $(LINKLIB) - -clean: - $(RM) *.obj - $(RM) *.exe - $(RM) *.tds diff --git a/Build/source/libs/curl/src/Makefile.in b/Build/source/libs/curl/src/Makefile.in deleted file mode 100644 index 185c7924669..00000000000 --- a/Build/source/libs/curl/src/Makefile.in +++ /dev/null @@ -1,421 +0,0 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# 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@ - -# -# $Id: Makefile.am,v 1.20 2002/03/06 22:19:16 bagder Exp $ -# - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_alias = @host_alias@ -host_triplet = @host@ -AMTAR = @AMTAR@ -AS = @AS@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -EXEEXT = @EXEEXT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -IPV6_ENABLED = @IPV6_ENABLED@ -KRB4_ENABLED = @KRB4_ENABLED@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_ENABLED = @OPENSSL_ENABLED@ -PACKAGE = @PACKAGE@ -PERL = @PERL@ -PKGADD_NAME = @PKGADD_NAME@ -PKGADD_PKG = @PKGADD_PKG@ -PKGADD_VENDOR = @PKGADD_VENDOR@ -RANDOM_FILE = @RANDOM_FILE@ -RANLIB = @RANLIB@ -STRIP = @STRIP@ -VERSION = @VERSION@ -VERSIONNUM = @VERSIONNUM@ -YACC = @YACC@ -am__include = @am__include@ -am__quote = @am__quote@ -install_sh = @install_sh@ -NROFF = @NROFF@ - -AUTOMAKE_OPTIONS = foreign nostdinc - -# we use srcdir/include for the static global include files -# we use builddir/src for the generated src/config.h file to get found -# we use srcdir/lib for the client-private header files -INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/src -I$(top_srcdir)/src - -bin_PROGRAMS = curl #memtest - - -#memtest_SOURCES = memtest.c -#memtest_LDADD = $(top_srcdir)/lib/libcurl.la -curl_SOURCES = main.c hugehelp.c urlglob.c writeout.c setup.h \ - config-win32.h \ - config-mac.h \ - config-vms.h \ - urlglob.h \ - version.h \ - writeout.h \ - config-win32.h \ - config-mac.h \ - config-vms.h - - -curl_LDADD = ../lib/libcurl.la -curl_DEPENDENCIES = ../lib/libcurl.la -BUILT_SOURCES = hugehelp.c -CLEANFILES = hugehelp.c - -EXTRA_DIST = mkhelp.pl curlmsg.msg \ - Makefile.vc6 Makefile.b32 Makefile.m32 config.h.in \ - macos/curl.mcp.xml.sit.hqx \ - macos/MACINSTALL.TXT \ - macos/src/curl_GUSIConfig.cpp \ - macos/src/macos_main.cpp - - -MANPAGE = $(top_srcdir)/docs/curl.1 -README = $(top_srcdir)/docs/MANUAL -MKHELP = $(top_srcdir)/src/mkhelp.pl -subdir = src -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/lib/config.h config.h \ - $(top_builddir)/tests/server/config.h -CONFIG_CLEAN_FILES = -bin_PROGRAMS = curl$(EXEEXT) -PROGRAMS = $(bin_PROGRAMS) - -am_curl_OBJECTS = main.$(OBJEXT) hugehelp.$(OBJEXT) urlglob.$(OBJEXT) \ - writeout.$(OBJEXT) -curl_OBJECTS = $(am_curl_OBJECTS) -curl_LDFLAGS = - -DEFS = @DEFS@ -DEFAULT_INCLUDES = -CPPFLAGS = @CPPFLAGS@ -LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ -depcomp = $(SHELL) $(top_srcdir)/depcomp -@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/hugehelp.Po $(DEPDIR)/main.Po \ -@AMDEP_TRUE@ $(DEPDIR)/urlglob.Po $(DEPDIR)/writeout.Po -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ - $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -CFLAGS = @CFLAGS@ -DIST_SOURCES = $(curl_SOURCES) -DIST_COMMON = ./stamp-h2.in Makefile.am Makefile.in config.h.in -SOURCES = $(curl_SOURCES) - -all: $(BUILT_SOURCES) config.h - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -config.h: stamp-h2 - @if test ! -f $@; then \ - rm -f stamp-h2; \ - $(MAKE) stamp-h2; \ - else :; fi -stamp-h2: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h2 stamp-h2T - @echo timestamp > stamp-h2T 2> /dev/null - cd $(top_builddir) \ - && CONFIG_FILES= CONFIG_HEADERS=src/config.h \ - $(SHELL) ./config.status - @mv stamp-h2T stamp-h2 -$(srcdir)/config.h.in: $(srcdir)/./stamp-h2.in - @if test ! -f $@; then \ - rm -f $(srcdir)/./stamp-h2.in; \ - $(MAKE) $(srcdir)/./stamp-h2.in; \ - else :; fi -$(srcdir)/./stamp-h2.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) $(top_srcdir)/acconfig.h - @rm -f $(srcdir)/./stamp-h2.in $(srcdir)/./stamp-h2.inT - @echo timestamp > $(srcdir)/./stamp-h2.inT 2> /dev/null - cd $(top_srcdir) && $(AUTOHEADER) - @mv $(srcdir)/./stamp-h2.inT $(srcdir)/./stamp-h2.in - -distclean-hdr: - -rm -f config.h -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(bindir) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - if test -f $$p \ - || test -f $$p1 \ - ; then \ - f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f; \ - else :; fi; \ - done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ - rm -f $(DESTDIR)$(bindir)/$$f; \ - done - -clean-binPROGRAMS: - -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) -curl$(EXEEXT): $(curl_OBJECTS) $(curl_DEPENDENCIES) - @rm -f curl$(EXEEXT) - $(LINK) $(curl_LDFLAGS) $(curl_OBJECTS) $(curl_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) core *.core - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/hugehelp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/main.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/urlglob.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/writeout.Po@am__quote@ - -distclean-depend: - -rm -rf $(DEPDIR) - -.c.o: -@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$< - -.c.obj: -@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(COMPILE) -c `cygpath -w $<` - -.c.lo: -@AMDEP_TRUE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(LTCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$< -CCDEPMODE = @CCDEPMODE@ -uninstall-info-am: - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(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 $(LISP) - -TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(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 "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \ - || etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) - -GTAGS: - here=`CDPATH=: && cd $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = .. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - $(mkinstalldirs) $(distdir)/macos $(distdir)/macos/src - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(PROGRAMS) config.h - -installdirs: - $(mkinstalldirs) $(DESTDIR)$(bindir) - -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-compile distclean-depend \ - distclean-generic distclean-hdr distclean-libtool \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: install-binPROGRAMS - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -uninstall-am: uninstall-binPROGRAMS uninstall-info-am - -.PHONY: GTAGS all all-am check check-am clean clean-binPROGRAMS \ - clean-generic clean-libtool distclean distclean-compile \ - distclean-depend distclean-generic distclean-hdr \ - distclean-libtool distclean-tags distdir dvi dvi-am info \ - info-am install install-am install-binPROGRAMS install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool tags uninstall \ - uninstall-am uninstall-binPROGRAMS uninstall-info-am - - -# This generates the hugehelp.c file -hugehelp.c: $(README) $(MANPAGE) mkhelp.pl - rm -f hugehelp.c - $(NROFF) -man $(MANPAGE) | $(PERL) $(MKHELP) $(README) > hugehelp.c -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Build/source/libs/curl/src/Makefile.m32 b/Build/source/libs/curl/src/Makefile.m32 deleted file mode 100644 index 59563894dcb..00000000000 --- a/Build/source/libs/curl/src/Makefile.m32 +++ /dev/null @@ -1,73 +0,0 @@ -############################################################# -# $Id: Makefile.m32,v 1.6 2001/09/25 07:55:19 bagder Exp $ -# -## Makefile for building curl.exe with MingW32 (GCC-2.95) and -## optionally OpenSSL (0.9.6) -## -## Use: make -f Makefile.m32 [SSL=1] [DYN=1] -## -## Comments to: Troy Engel <tengel@sonic.net> or -## Joern Hartroth <hartroth@acm.org> - -CC = gcc -STRIP = strip -s -OPENSSL_PATH = ../../openssl-0.9.6b - -# We may need these someday -# PERL = perl -# NROFF = nroff - -######################################################## -## Nothing more to do below this line! - -INCLUDES = -I. -I.. -I../include -CFLAGS = -g -O2 -DMINGW32 -LDFLAGS = -COMPILE = $(CC) $(INCLUDES) $(CFLAGS) -LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@ - -curl_PROGRAMS = curl.exe -curl_OBJECTS = main.o hugehelp.o urlglob.o writeout.o -curl_SOURCES = main.c hugehelp.c urlglob.c writeout.c -ifdef DYN - curl_DEPENDENCIES = ../lib/libcurldll.a ../lib/libcurl.dll - curl_LDADD = -L../lib -lcurldll -else - curl_DEPENDENCIES = ../lib/libcurl.a - curl_LDADD = -L../lib -lcurl -endif -curl_LDADD += -lwsock32 -lws2_32 -ifdef SSL - curl_LDADD += -L$(OPENSSL_PATH)/out -leay32 -lssl32 -lRSAglue -endif - -PROGRAMS = $(curl_PROGRAMS) -SOURCES = $(curl_SOURCES) -OBJECTS = $(curl_OBJECTS) - -all: curl.exe - -curl.exe: $(curl_OBJECTS) $(curl_DEPENDENCIES) - -@erase $@ - $(LINK) $(curl_OBJECTS) $(curl_LDADD) - $(STRIP) $@ - -# We don't have nroff normally under win32 -# hugehelp.c: ../README.curl ../curl.1 mkhelp.pl -# -@erase hugehelp.c -# $(NROFF) -man ../curl.1 | $(PERL) mkhelp.pl ../README.curl > hugehelp.c - -.c.o: - $(COMPILE) -c $< - -.s.o: - $(COMPILE) -c $< - -.S.o: - $(COMPILE) -c $< - -clean: - -@erase $(curl_OBJECTS) - -distrib: clean - -@erase $(curl_PROGRAMS) diff --git a/Build/source/libs/curl/src/Makefile.vc6 b/Build/source/libs/curl/src/Makefile.vc6 deleted file mode 100644 index fa8f4d5cb96..00000000000 --- a/Build/source/libs/curl/src/Makefile.vc6 +++ /dev/null @@ -1,87 +0,0 @@ -######################################################## -## Makefile for building curl.exe with MSVC6 -## Use: nmake -f makefile.vc6 [release | debug] [CFG=release-ssl] -## (default is release) -## "nmake -f makefile.vc6 CFG=release-ssl" statically links OpenSSL -## into curl.exe producing a standalone SSL-enabled executable. -## -## Comments to: Troy Engel <tengel@sonic.net> -## Updated by: Craig Davison <cd@securityfocus.com> -## release-ssl added by Miklos Nemeth <mnemeth@kfkisystems.com> - -PROGRAM_NAME = curl.exe - -######################################################## -## Nothing more to do below this line! - -## Release -CCR = cl.exe /MD /O2 /D "NDEBUG" -LINKR = link.exe /incremental:no /libpath:"../lib" - -## Debug -CCD = cl.exe /MDd /Gm /ZI /Od /D "_DEBUG" /GZ -LINKD = link.exe /incremental:yes /debug /libpath:"../lib" - -CFLAGS = /I "../include" /nologo /W3 /GX /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -LFLAGS = /nologo /out:$(PROGRAM_NAME) /subsystem:console /machine:I386 -LINKLIBS = ws2_32.lib libcurl.lib -LINKLIBS_DEBUG = ws2_32.lib libcurld.lib - -RELEASE_OBJS= \ - hugehelpr.obj \ - writeoutr.obj \ - urlglobr.obj \ - mainr.obj - -DEBUG_OBJS= \ - hugehelpd.obj \ - writeoutd.obj \ - urlglobd.obj \ - maind.obj - -LINK_OBJS= \ - hugehelp.obj \ - writeout.obj \ - urlglob.obj \ - main.obj - -all : release - -release: $(RELEASE_OBJS) - $(LINKR) $(LFLAGS) $(LINKLIBS) $(LINK_OBJS) - -debug: $(DEBUG_OBJS) - $(LINKD) $(LFLAGS) $(LINKLIBS_DEBUG) $(LINK_OBJS) - -## Release -hugehelpr.obj: hugehelp.c - $(CCR) $(CFLAGS) /Zm200 hugehelp.c -writeoutr.obj: writeout.c - $(CCR) $(CFLAGS) writeout.c -urlglobr.obj: urlglob.c - $(CCR) $(CFLAGS) urlglob.c -mainr.obj: main.c - $(CCR) $(CFLAGS) main.c - -## Debug -hugehelpd.obj: hugehelp.c - $(CCD) $(CFLAGS) /Zm200 hugehelp.c -writeoutd.obj: writeout.c - $(CCD) $(CFLAGS) writeout.c -urlglobd.obj: urlglob.c - $(CCD) $(CFLAGS) urlglob.c -maind.obj: main.c - $(CCD) $(CFLAGS) main.c - -clean: - -@erase hugehelp.obj - -@erase main.obj - -@erase vc60.idb - -@erase vc60.pdb - -@erase vc60.pch - -@erase curl.ilk - -@erase curl.pdb - -distrib: clean - -@erase $(PROGRAM_NAME) - diff --git a/Build/source/libs/curl/src/config-mac.h b/Build/source/libs/curl/src/config-mac.h deleted file mode 100644 index e43a9a5932e..00000000000 --- a/Build/source/libs/curl/src/config-mac.h +++ /dev/null @@ -1,12 +0,0 @@ -#define HAVE_UNISTD_H 1 -#define HAVE_FCNTL_H 1 -#define HAVE_UTIME_H 1 -#define HAVE_SYS_UTIME_H 1 - -#define HAVE_SETVBUF 1 -#define HAVE_UTIME 1 - -#define main(x,y) curl_main(x,y) - -/* we provide our own strdup prototype */ -char *strdup(char *s1); diff --git a/Build/source/libs/curl/src/config-vms.h b/Build/source/libs/curl/src/config-vms.h deleted file mode 100644 index 26aabd927ea..00000000000 --- a/Build/source/libs/curl/src/config-vms.h +++ /dev/null @@ -1,21 +0,0 @@ -/* src/config.h. Generated automatically by configure. */ -/* Define cpu-machine-OS */ -#define OS "ALPHA-COMPAQ-VMS" - -/* Define if you have the <unistd.h> header file. */ -#define HAVE_UNISTD_H 1 - -/* Define if you have the <io.h> header file. */ -#undef HAVE_IO_H - -/* Define if you have strdup() */ -#define HAVE_STRDUP 1 - -/* Define if you have utime() */ -#undef HAVE_UTIME - -/* Define if you have the <utime.h> header file */ -#undef HAVE_UTIME_H - -/* Define if you have thhe <sys/utime.h> header file */ -#undef HAVE_SYS_UTIME_H diff --git a/Build/source/libs/curl/src/config-win32.h b/Build/source/libs/curl/src/config-win32.h deleted file mode 100644 index a606f2fb5ac..00000000000 --- a/Build/source/libs/curl/src/config-win32.h +++ /dev/null @@ -1,36 +0,0 @@ -/* src/config-win32.h. manually created to look like a config.h. */ -/* Define if you have the stricmp function. */ -#define HAVE_STRICMP 1 - -/* Define cpu-machine-OS */ -#define OS "win32" - -/* Define if you have the <io.h> header file. */ -#define HAVE_IO_H 1 - -/* Define if you have the strdup function. */ -#define HAVE_STRDUP 1 - -/* Define if you have the <fcntl.h> header file. */ -#define HAVE_FCNTL_H 1 - -/* Define if you have utime() */ -#define HAVE_UTIME 1 - -/* Define if you have the <sys/utime.h> header file */ -#define HAVE_SYS_UTIME_H 1 - -/************************************************* - * This section is for compiler specific defines.* - *************************************************/ -#ifdef MINGW32 /* Borland and MS don't have this */ - -/* Define if you have the <unistd.h> header file. */ -#define HAVE_UNISTD_H 1 - -#endif - -#ifdef FPTEX -#include <win32lib.h> -#undef vsnprintf -#endif diff --git a/Build/source/libs/curl/src/config.h.in b/Build/source/libs/curl/src/config.h.in deleted file mode 100644 index 31825bf65f0..00000000000 --- a/Build/source/libs/curl/src/config.h.in +++ /dev/null @@ -1,21 +0,0 @@ -/* src/config.h. Generated automatically by configure. */ -/* Define cpu-machine-OS */ -#undef OS - -/* Define if you have the <unistd.h> header file. */ -#undef HAVE_UNISTD_H - -/* Define if you have the <io.h> header file. */ -#undef HAVE_IO_H - -/* Define if you have strdup() */ -#undef HAVE_STRDUP - -/* Define if you have utime() */ -#undef HAVE_UTIME - -/* Define if you have the <utime.h> header file */ -#undef HAVE_UTIME_H - -/* Define if you have thhe <sys/utime.h> header file */ -#undef HAVE_SYS_UTIME_H diff --git a/Build/source/libs/curl/src/curlmsg.msg b/Build/source/libs/curl/src/curlmsg.msg deleted file mode 100644 index 7fed5a48485..00000000000 --- a/Build/source/libs/curl/src/curlmsg.msg +++ /dev/null @@ -1,56 +0,0 @@ -.TITLE CURLMSG Message files -.FACILITY CURL,1793 /PREFIX=CURL_ -.SEVERITY ERROR -.BASE 1 -UNSUPPROTO <Unsupported Protocol> -FAILINIT <Failed Initialisation> -BADURLSYN <Malformed URL Syntax> -BADURLUSER <Malformed URL User-part> -BADPROXY <Couldn't resolve proxy> -BADHOST <Couldn't resolve host> -FAILHOST <Couldn't connect to host> -FTPUNKREPLY <FTP Unknown server reply> -FTPNOACC <FTP Access denied> -FTPUSRPW <FTP User/Password incorrect> -FTPBADPASS <FTP unknown answer to PASS request> -FTPBADUSER <FTP unknown answer to USER request> -FTPBADPASV <FTP unknown answer to PASV request> -FTPBAD227 <FTP unknown 227 reply> -FTPBADHOST227 <FTP cannot resolve host from 227 reply> -FTPNORECONN <FTP Unable to reconnect to 227 Host> -FTPNOBIN <FTP Cannot select BINARY mode> -PARTIALFILE <Only a part of the file was transferred> -FTPNORETR <FTP Couldn't retrieve file> -FTPWRITERR <FTP Server reported write problems> -FTPNOQUOTE <FTP Quote command error> -HTTPPNF <HTTP page not found> -WRITERR <Local write error> -BADUSER <Username badly specified> -FTPNOSTOR <FTP STOR command failed> -READERR <Local Read error> -OUTOFMEM <Out of memory> -TIMEOUT <Operation Timed out> -FTPNOASCII <FTP Cannot select ASCII mode> -FTPNOPORT <FTP PORT command failed> -FTPNOREST <FTP REST command failed> -FTPNOSIZE <FTP SIZE command failed> -HTTPRNGERR <HTTP Range error> -HTTPPOSTERR <HTTP Post error> -SSLNOCONN <SSL Handshaking failed> -FTPBADRESUME <FTP Download resume failed> -FILENOACC <FILE couldn't open faile> -LDAPNOBIND <LDAP Bind failed> -LDAPNOSRCH <LDAP Search Failed> -LDAPNOLIB <LDAP Library not found> -LDAPNOFUNC <LDAP Function not found> -ABORTCB <Callback aborted operation> -BADPARAM <Internal Error, Bad parameter to function> -BADORDER <Internal Error, Bad function calling order> -BADPWD <Bad password entered> -MNYREDIR <Too many redirects> -UNKTELNET <Unknown TELNET option specified> -UNKMSG <Unknown message (50)> -BADSSLCERT <Remote peer's SSL certificate wasn't OK> -SRVNOERR <The Server didn't reply anything, which here is considered an error> -MAXMSG <This is the LAST KNOWN MESSAGE, appearantly more have been added> -.END diff --git a/Build/source/libs/curl/src/hugehelp.c b/Build/source/libs/curl/src/hugehelp.c deleted file mode 100644 index bd4b87bc604..00000000000 --- a/Build/source/libs/curl/src/hugehelp.c +++ /dev/null @@ -1,2132 +0,0 @@ -/* NEVER EVER edit this manually, fix the mkhelp script instead! */ -#include <stdio.h> -void hugehelp(void) -{ -puts ( -" _ _ ____ _ \n" -" Project ___| | | | _ \\| | \n" -" / __| | | | |_) | | \n" -" | (__| |_| | _ <| |___ \n" -" \\___|\\___/|_| \\_\\_____|\n" -"NAME\n" -" curl - transfer a URL\n" -"\n" -"SYNOPSIS\n" -" curl [options] [URL...]\n" -"\n" -"DESCRIPTION\n" -" curl is a client to get documents/files from or send docu\n" -" ments to a server, using any of the supported protocols\n" -); - puts( -" (HTTP, HTTPS, FTP, GOPHER, DICT, TELNET, LDAP or FILE). The\n" -" command is designed to work without user interaction or any\n" -" kind of interactivity.\n" -"\n" -" curl offers a busload of useful tricks like proxy support,\n" -" user authentication, ftp upload, HTTP post, SSL (https:)\n" -" connections, cookies, file transfer resume and more.\n" -"\n" -"URL\n" -" The URL syntax is protocol dependent. You'll find a detailed\n" -" description in RFC 2396.\n" -"\n" -); - puts( -" You can specify multiple URLs or parts of URLs by writing\n" -" part sets within braces as in:\n" -"\n" -" http://site.{one,two,three}.com\n" -"\n" -" or you can get sequences of alphanumeric series by using []\n" -" as in:\n" -"\n" -" ftp://ftp.numericals.com/file[1-100].txt\n" -" ftp://ftp.numericals.com/file[001-100].txt (with leading\n" -" zeros)\n" -" ftp://ftp.letters.com/file[a-z].txt\n" -"\n" -" It is possible to specify up to 9 sets or series for a URL,\n" -); - puts( -" but no nesting is supported at the moment:\n" -"\n" -" http://www.any.org/archive[1996-1999]/vol\n" -" ume[1-4]part{a,b,c,index}.html\n" -"\n" -" You can specify any amount of URLs on the command line. They\n" -" will be fetched in a sequential manner in the specified\n" -" order.\n" -"\n" -" Curl will attempt to re-use connections for multiple file\n" -" transfers, so that getting many files from the same server\n" -" will not do multiple connects / handshakes. This improves\n" -); - puts( -" speed. Of course this is only done on files specified on a\n" -" single command line and cannot be used between separate curl\n" -" invokes.\n" -"OPTIONS\n" -" -a/--append\n" -" (FTP) When used in a ftp upload, this will tell curl to\n" -" append to the target file instead of overwriting it. If\n" -" the file doesn't exist, it will be created.\n" -"\n" -" If this option is used twice, the second one will dis\n" -" able append mode again.\n" -"\n" -" -A/--user-agent <agent string>\n" -); - puts( -" (HTTP) Specify the User-Agent string to send to the\n" -" HTTP server. Some badly done CGIs fail if its not set\n" -" to \"Mozilla/4.0\". To encode blanks in the string, sur\n" -" round the string with single quote marks. This can\n" -" also be set with the -H/--header flag of course.\n" -"\n" -" If this option is set more than once, the last one will\n" -" be the one that's used.\n" -"\n" -" -b/--cookie <name=data>\n" -); - puts( -" (HTTP) Pass the data to the HTTP server as a cookie. It\n" -" is supposedly the data previously received from the\n" -" server in a \"Set-Cookie:\" line. The data should be in\n" -" the format \"NAME1=VALUE1; NAME2=VALUE2\".\n" -"\n" -" If no '=' letter is used in the line, it is treated as\n" -" a filename to use to read previously stored cookie\n" -" lines from, which should be used in this session if\n" -); - puts( -" they match. Using this method also activates the\n" -" \"cookie parser\" which will make curl record incoming\n" -" cookies too, which may be handy if you're using this in\n" -" combination with the -L/--location option. The file\n" -" format of the file to read cookies from should be plain\n" -" HTTP headers or the Netscape/Mozilla cookie file for\n" -" mat.\n" -"\n" -" NOTE that the file specified with -b/--cookie is only\n" -); - puts( -" used as input. No cookies will be stored in the file.\n" -" To store cookies, save the HTTP headers to a file using\n" -" -D/--dump-header!\n" -"\n" -" If this option is set more than once, the last one will\n" -" be the one that's used.\n" -"\n" -" -B/--use-ascii\n" -" Use ASCII transfer when getting an FTP file or LDAP\n" -" info. For FTP, this can also be enforced by using an\n" -" URL that ends with \";type=A\". This option causes data\n" -); - puts( -" sent to stdout to be in text mode for win32 systems.\n" -"\n" -" If this option is used twice, the second one will dis\n" -" able ASCII usage.\n" -" --ciphers <list of ciphers>\n" -" (SSL) Specifies which ciphers to use in the connection.\n" -" The list of ciphers must be using valid ciphers. Read\n" -" up on SSL cipher list details on this URL:\n" -" http://www.openssl.org/docs/apps/ciphers.html (Option\n" -" added in curl 7.9)\n" -"\n" -); - puts( -" If this option is used severl times, the last one will\n" -" override the others.\n" -"\n" -" --connect-timeout <seconds>\n" -" Maximum time in seconds that you allow the connection\n" -" to the server to take. This only limits the connection\n" -" phase, once curl has connected this option is of no\n" -" more use. This option didn't work in win32 systems\n" -" until 7.7.2. See also the --max-time option.\n" -"\n" -); - puts( -" If this option is used several times, the last one will\n" -" be used.\n" -"\n" -" -c/--cookie-jar <file name>\n" -" Specify to which file you want curl to write all cook\n" -" ies after a completed operation. Curl writes all cook\n" -" ies previously read from a specified file as well as\n" -" all cookies received from remote server(s). If no cook\n" -" ies are known, no file will be written. The file will\n" -); - puts( -" be written using the Netscape cookie file format. If\n" -" you set the file name to a single dash, \"-\", the cook\n" -" ies will be written to stdout. (Option added in curl\n" -" 7.9)\n" -"\n" -" If this option is used several times, the last specfied\n" -" file name will be used.\n" -"\n" -" -C/--continue-at <offset>\n" -" Continue/Resume a previous file transfer at the given\n" -" offset. The given offset is the exact number of bytes\n" -); - puts( -" that will be skipped counted from the beginning of the\n" -" source file before it is transfered to the destination.\n" -" If used with uploads, the ftp server command SIZE will\n" -" not be used by curl.\n" -"\n" -" Use \"-C -\" to tell curl to automatically find out\n" -" where/how to resume the transfer. It then uses the\n" -" given output/input files to figure that out.\n" -"\n" -" If this option is used several times, the last one will\n" -); - puts( -" be used.\n" -"\n" -" -d/--data <data>\n" -" (HTTP) Sends the specified data in a POST request to\n" -" the HTTP server, in a way that can emulate as if a user\n" -" has filled in a HTML form and pressed the submit but\n" -" ton. Note that the data is sent exactly as specified\n" -" with no extra processing (with all newlines cut off).\n" -" The data is expected to be \"url-encoded\". This will\n" -); - puts( -" cause curl to pass the data to the server using the\n" -" content-type application/x-www-form-urlencoded. Compare\n" -" to -F. If more than one -d/--data option is used on the\n" -" same command line, the data pieces specified will be\n" -" merged together with a separating &-letter. Thus, using\n" -" '-d name=daniel -d skill=lousy' would generate a post\n" -" chunk that looks like 'name=daniel&skill=lousy'.\n" -"\n" -); - puts( -" If you start the data with the letter @, the rest\n" -" should be a file name to read the data from, or - if\n" -" you want curl to read the data from stdin. The con\n" -" tents of the file must already be url-encoded. Multiple\n" -" files can also be specified. Posting data from a file\n" -" named 'foobar' would thus be done with \"--data @foo\n" -" bar\".\n" -"\n" -" To post data purely binary, you should instead use the\n" -); - puts( -" --data-binary option.\n" -"\n" -" -d/--data is the same as --data-ascii.\n" -"\n" -" If this option is used several times, the ones follow\n" -" ing the first will append data.\n" -"\n" -" --data-ascii <data>\n" -" (HTTP) This is an alias for the -d/--data option.\n" -"\n" -" If this option is used several times, the ones follow\n" -" ing the first will append data.\n" -"\n" -" --data-binary <data>\n" -" (HTTP) This posts data in a similar manner as --data-\n" -); - puts( -" ascii does, although when using this option the entire\n" -" context of the posted data is kept as-is. If you want\n" -" to post a binary file without the strip-newlines fea\n" -" ture of the --data-ascii option, this is for you.\n" -"\n" -" If this option is used several times, the ones follow\n" -" ing the first will append data.\n" -"\n" -" --disable-epsv\n" -" (FTP) Tell curl to disable the use of the EPSV command\n" -); - puts( -" when doing passive FTP downloads. Curl will normally\n" -" always first attempt to use EPSV before PASV, but with\n" -" this option, it will not try using EPSV.\n" -"\n" -" IF this option is used several times, each occurrence\n" -" will toggle this on/off.\n" -" -D/--dump-header <file>\n" -" (HTTP/FTP) Write the HTTP headers to this file. Write\n" -" the FTP file info to this file if -I/--head is used.\n" -"\n" -); - puts( -" This option is handy to use when you want to store the\n" -" cookies that a HTTP site sends to you. The cookies\n" -" could then be read in a second curl invoke by using the\n" -" -b/--cookie option!\n" -"\n" -" If this option is used several times, the last one will\n" -" be used.\n" -"\n" -" -e/--referer <URL>\n" -" (HTTP) Sends the \"Referer Page\" information to the HTTP\n" -" server. This can also be set with the -H/--header flag\n" -); - puts( -" of course. When used with -L/--location you can append\n" -" \";auto\" to the referer URL to make curl automatically\n" -" set the previous URL when it follows a Location:\n" -" header. The \";auto\" string can be used alone, even if\n" -" you don't set an initial referer.\n" -"\n" -" If this option is used several times, the last one will\n" -" be used.\n" -"\n" -" --egd-file <file>\n" -" (HTTPS) Specify the path name to the Entropy Gathering\n" -); - puts( -" Daemon socket. The socket is used to seed the random\n" -" engine for SSL connections. See also the --random-file\n" -" option.\n" -"\n" -" -E/--cert <certificate[:password]>\n" -" (HTTPS) Tells curl to use the specified certificate\n" -" file when getting a file with HTTPS. The certificate\n" -" must be in PEM format. If the optional password isn't\n" -" specified, it will be queried for on the terminal. Note\n" -); - puts( -" that this certificate is the private key and the pri\n" -" vate certificate concatenated!\n" -"\n" -" If this option is used several times, the last one will\n" -" be used.\n" -"\n" -" --cacert <CA certificate>\n" -" (HTTPS) Tells curl to use the specified certificate\n" -" file to verify the peer. The certificate must be in PEM\n" -" format.\n" -"\n" -" If this option is used several times, the last one will\n" -" be used.\n" -"\n" -" -f/--fail\n" -); - puts( -" (HTTP) Fail silently (no output at all) on server\n" -" errors. This is mostly done like this to better enable\n" -" scripts etc to better deal with failed attempts. In\n" -" normal cases when a HTTP server fails to deliver a doc\n" -" ument, it returns a HTML document stating so (which\n" -" often also describes why and more). This flag will pre\n" -" vent curl from outputting that and fail silently\n" -" instead.\n" -"\n" -); - puts( -" If this option is used twice, the second will again\n" -" disable silent failure.\n" -"\n" -" -F/--form <name=content>\n" -" (HTTP) This lets curl emulate a filled in form in which\n" -" a user has pressed the submit button. This causes curl\n" -" to POST data using the content-type multipart/form-data\n" -" according to RFC1867. This enables uploading of binary\n" -" files etc. To force the 'content' part to be be a file,\n" -); - puts( -" prefix the file name with an @ sign. To just get the\n" -" content part from a file, prefix the file name with the\n" -" letter <. The difference between @ and < is then that @\n" -" makes a file get attached in the post as a file upload,\n" -" while the < makes a text field and just get the con\n" -" tents for that text field from a file.\n" -"\n" -" Example, to send your password file to the server,\n" -); - puts( -" where 'password' is the name of the form-field to which\n" -" /etc/passwd will be the input:\n" -"\n" -" curl -F password=@/etc/passwd www.mypasswords.com\n" -"\n" -" To read the file's content from stdin insted of a file,\n" -" use - where the file name should've been. This goes for\n" -" both @ and < constructs.\n" -"\n" -" This option can be used multiple times.\n" -"\n" -" -g/--globoff\n" -" This option switches off the \"URL globbing parser\".\n" -); - puts( -" When you set this option, you can specify URLs that\n" -" contain the letters {}[] without having them being\n" -" interpreted by curl itself. Note that these letters are\n" -" not normal legal URL contents but they should be\n" -" encoded according to the URI standard. (Option added in\n" -" curl 7.6)\n" -"\n" -" -G/--get\n" -" When used, this option will make all data specified\n" -" with -d/--data or --data-binary to be used in a HTTP\n" -); - puts( -" GET request instead of the POST request that otherwise\n" -" would be used. The data will be appended to the URL\n" -" with a '?' separator. (Option added in curl 7.9)\n" -"\n" -" -h/--help\n" -" Usage help.\n" -"\n" -" -H/--header <header>\n" -" (HTTP) Extra header to use when getting a web page. You\n" -" may specify any number of extra headers. Note that if\n" -" you should add a custom header that has the same name\n" -); - puts( -" as one of the internal ones curl would use, your exter\n" -" nally set header will be used instead of the internal\n" -" one. This allows you to make even trickier stuff than\n" -" curl would normally do. You should not replace inter\n" -" nally set headers without knowing perfectly well what\n" -" you're doing. Replacing an internal header with one\n" -" without content on the right side of the colon will\n" -); - puts( -" prevent that header from appearing.\n" -"\n" -" This option can be used multiple times.\n" -"\n" -" -i/--include\n" -" (HTTP) Include the HTTP-header in the output. The HTTP-\n" -" header includes things like server-name, date of the\n" -" document, HTTP-version and more...\n" -"\n" -" If this option is used twice, the second will again\n" -" disable header include.\n" -"\n" -" --interface <name>\n" -" Perform an operation using a specified interface. You\n" -); - puts( -" can enter interface name, IP address or host name. An\n" -" example could look like:\n" -"\n" -" curl --interface eth0:1 http://www.netscape.com/\n" -"\n" -" If this option is used several times, the last one will\n" -" be used.\n" -"\n" -" -I/--head\n" -" (HTTP/FTP) Fetch the HTTP-header only! HTTP-servers\n" -" feature the command HEAD which this uses to get nothing\n" -" but the header of a document. When used on a FTP file,\n" -); - puts( -" curl displays the file size only.\n" -"\n" -" If this option is used twice, the second will again\n" -" disable header only.\n" -"\n" -" --krb4 <level>\n" -" (FTP) Enable kerberos4 authentication and use. The\n" -" level must be entered and should be one of 'clear',\n" -" 'safe', 'confidential' or 'private'. Should you use a\n" -" level that is not one of these, 'private' will instead\n" -" be used.\n" -"\n" -); - puts( -" If this option is used several times, the last one will\n" -" be used.\n" -"\n" -" -K/--config <config file>\n" -" Specify which config file to read curl arguments from.\n" -" The config file is a text file in which command line\n" -" arguments can be written which then will be used as if\n" -" they were written on the actual command line. Options\n" -" and their parameters must be specified on the same con\n" -); - puts( -" fig file line. If the parameter is to contain white\n" -" spaces, the parameter must be inclosed within quotes.\n" -" If the first column of a config line is a '#' charac\n" -" ter, the rest of the line will be treated as a comment.\n" -"\n" -" Specify the filename as '-' to make curl read the file\n" -" from stdin.\n" -"\n" -" This option can be used multiple times.\n" -"\n" -" -l/--list-only\n" -" (FTP) When listing an FTP directory, this switch forces\n" -); - puts( -" a name-only view. Especially useful if you want to\n" -" machine-parse the contents of an FTP directory since\n" -" the normal directory view doesn't use a standard look\n" -" or format.\n" -"\n" -" If this option is used twice, the second will again\n" -" disable list only.\n" -"\n" -" -L/--location\n" -" (HTTP/HTTPS) If the server reports that the requested\n" -" page has a different location (indicated with the\n" -); - puts( -" header line Location:) this flag will let curl attempt\n" -" to reattempt the get on the new place. If used together\n" -" with -i or -I, headers from all requested pages will be\n" -" shown. If this flag is used when making a HTTP POST,\n" -" curl will automatically switch to GET after the initial\n" -" POST has been done.\n" -"\n" -" If this option is used twice, the second will again\n" -" disable location following.\n" -"\n" -" -m/--max-time <seconds>\n" -); - puts( -" Maximum time in seconds that you allow the whole opera\n" -" tion to take. This is useful for preventing your batch\n" -" jobs from hanging for hours due to slow networks or\n" -" links going down. This doesn't work fully in win32\n" -" systems. See also the --connect-timeout option.\n" -"\n" -" If this option is used several times, the last one will\n" -" be used.\n" -"\n" -" -M/--manual\n" -" Manual. Display the huge help text.\n" -"\n" -" -n/--netrc\n" -); - puts( -" Makes curl scan the .netrc file in the user's home\n" -" directory for login name and password. This is typi\n" -" cally used for ftp on unix. If used with http, curl\n" -" will enable user authentication. See netrc(4) or ftp(1)\n" -" for details on the file format. Curl will not complain\n" -" if that file hasn't the right permissions (it should\n" -" not be world nor group readable). The environment vari\n" -); - puts( -" able \"HOME\" is used to find the home directory.\n" -"\n" -" A quick and very simple example of how to setup a\n" -" .netrc to allow curl to ftp to the machine\n" -" host.domain.com with user name 'myself' and password\n" -" 'secret' should look similar to:\n" -"\n" -" machine host.domain.com login myself password secret\n" -"\n" -" If this option is used twice, the second will again\n" -" disable netrc usage.\n" -"\n" -" -N/--no-buffer\n" -); - puts( -" Disables the buffering of the output stream. In normal\n" -" work situations, curl will use a standard buffered out\n" -" put stream that will have the effect that it will out\n" -" put the data in chunks, not necessarily exactly when\n" -" the data arrives. Using this option will disable that\n" -" buffering.\n" -"\n" -" If this option is used twice, the second will again\n" -" switch on buffering.\n" -"\n" -" -o/--output <file>\n" -); - puts( -" Write output to <file> instead of stdout. If you are\n" -" using {} or [] to fetch multiple documents, you can use\n" -" '#' followed by a number in the <file> specifier. That\n" -" variable will be replaced with the current string for\n" -" the URL being fetched. Like in:\n" -"\n" -" curl http://{one,two}.site.com -o \"file_#1.txt\"\n" -"\n" -" or use several variables like:\n" -"\n" -" curl http://{site,host}.host[1-5].com -o \"#1_#2\"\n" -"\n" -); - puts( -" You may use this option as many times as you have num\n" -" ber of URLs.\n" -"\n" -" -O/--remote-name\n" -" Write output to a local file named like the remote file\n" -" we get. (Only the file part of the remote file is used,\n" -" the path is cut off.)\n" -"\n" -" You may use this option as many times as you have num\n" -" ber of URLs.\n" -"\n" -" -p/--proxytunnel\n" -" When an HTTP proxy is used, this option will cause non-\n" -); - puts( -" HTTP protocols to attempt to tunnel through the proxy\n" -" instead of merely using it to do HTTP-like operations.\n" -" The tunnel approach is made with the HTTP proxy CONNECT\n" -" request and requires that the proxy allows direct con\n" -" nect to the remote port number curl wants to tunnel\n" -" through to.\n" -"\n" -" If this option is used twice, the second will again\n" -" disable proxy tunnel.\n" -"\n" -" -P/--ftpport <address>\n" -); - puts( -" (FTP) Reverses the initiator/listener roles when con\n" -" necting with ftp. This switch makes Curl use the PORT\n" -" command instead of PASV. In practice, PORT tells the\n" -" server to connect to the client's specified address and\n" -" port, while PASV asks the server for an ip address and\n" -" port to connect to. <address> should be one of:\n" -"\n" -" interface i.e \"eth0\" to specify which interface's IP\n" -); - puts( -" address you want to use (Unix only)\n" -"\n" -" IP address i.e \"192.168.10.1\" to specify exact IP num\n" -" ber\n" -"\n" -" host name i.e \"my.host.domain\" to specify machine\n" -"\n" -" - (any single-letter string) to make it pick\n" -" the machine's default\n" -"\n" -" If this option is used several times, the last one will be\n" -" used.\n" -"\n" -" -q If used as the first parameter on the command line, the\n" -); - puts( -" $HOME/.curlrc file will not be read and used as a con\n" -" fig file.\n" -"\n" -" -Q/--quote <comand>\n" -" (FTP) Send an arbitrary command to the remote FTP\n" -" server, by using the QUOTE command of the server. Not\n" -" all servers support this command, and the set of QUOTE\n" -" commands are server specific! Quote commands are sent\n" -" BEFORE the transfer is taking place. To make commands\n" -); - puts( -" take place after a successful transfer, prefix them\n" -" with a dash '-'. You may specify any amount of commands\n" -" to be run before and after the transfer. If the server\n" -" returns failure for one of the commands, the entire\n" -" operation will be aborted.\n" -"\n" -" This option can be used multiple times.\n" -"\n" -" --random-file <file>\n" -" (HTTPS) Specify the path name to file containing what\n" -); - puts( -" will be considered as random data. The data is used to\n" -" seed the random engine for SSL connections. See also\n" -" the --edg-file option.\n" -"\n" -" -r/--range <range>\n" -" (HTTP/FTP) Retrieve a byte range (i.e a partial docu\n" -" ment) from a HTTP/1.1 or FTP server. Ranges can be\n" -" specified in a number of ways.\n" -"\n" -" 0-499 specifies the first 500 bytes\n" -"\n" -" 500-999 specifies the second 500 bytes\n" -"\n" -); - puts( -" -500 specifies the last 500 bytes\n" -"\n" -" 9500 specifies the bytes from offset 9500 and for\n" -" ward\n" -"\n" -" 0-0,-1 specifies the first and last byte only(*)(H)\n" -"\n" -" 500-700,600-799\n" -" specifies 300 bytes from offset 500(H)\n" -"\n" -" 100-199,500-599\n" -" specifies two separate 100 bytes ranges(*)(H)\n" -"\n" -" (*) = NOTE that this will cause the server to reply with a\n" -" multipart response!\n" -"\n" -); - puts( -" You should also be aware that many HTTP/1.1 servers do not\n" -" have this feature enabled, so that when you attempt to get a\n" -" range, you'll instead get the whole document.\n" -"\n" -" FTP range downloads only support the simple syntax 'start-\n" -" stop' (optionally with one of the numbers omitted). It\n" -" depends on the non-RFC command SIZE.\n" -"\n" -" If this option is used several times, the last one will be\n" -" used.\n" -"\n" -" -R/--remote-time\n" -); - puts( -" When used, this will make libcurl attempt to figure out\n" -" the timestamp of the remote file, and if that is avail\n" -" able make the local file get that same timestamp.\n" -" If this option is used twice, the second time disables\n" -" this again.\n" -"\n" -" -s/--silent\n" -" Silent mode. Don't show progress meter or error mes\n" -" sages. Makes Curl mute.\n" -"\n" -" If this option is used twice, the second will again\n" -" disable mute.\n" -"\n" -); - puts( -" -S/--show-error\n" -" When used with -s it makes curl show error message if\n" -" it fails.\n" -"\n" -" If this option is used twice, the second will again\n" -" disable show error.\n" -"\n" -" -t/--telnet-option <OPT=val>\n" -" Pass options to the telnet protocol. Supported options\n" -" are:\n" -"\n" -" TTYPE=<term> Sets the terminal type.\n" -"\n" -" XDISPLOC=<X display> Sets the X display location.\n" -"\n" -" NEW_ENV=<var,val> Sets an environment variable.\n" -"\n" -); - puts( -" -T/--upload-file <file>\n" -" This transfers the specified local file to the remote\n" -" URL. If there is no file part in the specified URL,\n" -" Curl will append the local file name. NOTE that you\n" -" must use a trailing / on the last directory to really\n" -" prove to Curl that there is no file name or curl will\n" -" think that your last directory name is the remote file\n" -" name to use. That will most likely cause the upload\n" -); - puts( -" operation to fail. If this is used on a http(s) server,\n" -" the PUT command will be used.\n" -"\n" -" Use the file name \"-\" (a single dash) to use stdin\n" -" instead of a given file.\n" -"\n" -" If this option is used several times, the last one will\n" -" be used.\n" -"\n" -" -u/--user <user:password>\n" -" Specify user and password to use when fetching. See\n" -" README.curl for detailed examples of how to use this.\n" -); - puts( -" If no password is specified, curl will ask for it\n" -" interactively.\n" -"\n" -" If this option is used several times, the last one will\n" -" be used.\n" -" -U/--proxy-user <user:password>\n" -" Specify user and password to use for Proxy authentica\n" -" tion. If no password is specified, curl will ask for it\n" -" interactively.\n" -"\n" -" If this option is used several times, the last one will\n" -" be used.\n" -"\n" -" --url <URL>\n" -); - puts( -" Specify a URL to fetch. This option is mostly handy\n" -" when you want to specify URL(s) in a config file.\n" -"\n" -" This option may be used any number of times. To control\n" -" where this URL is written, use the -o or the -O\n" -" options.\n" -"\n" -" -v/--verbose\n" -" Makes the fetching more verbose/talkative. Mostly\n" -" usable for debugging. Lines starting with '>' means\n" -" data sent by curl, '<' means data received by curl that\n" -); - puts( -" is hidden in normal cases and lines starting with '*'\n" -" means additional info provided by curl.\n" -"\n" -" If this option is used twice, the second will again\n" -" disable verbose.\n" -"\n" -" -V/--version\n" -" Displays the full version of curl, libcurl and other\n" -" 3rd party libraries linked with the executable.\n" -"\n" -" -w/--write-out <format>\n" -" Defines what to display after a completed and success\n" -); - puts( -" ful operation. The format is a string that may contain\n" -" plain text mixed with any number of variables. The\n" -" string can be specified as \"string\", to get read from a\n" -" particular file you specify it \"@filename\" and to tell\n" -" curl to read the format from stdin you write \"@-\".\n" -"\n" -" The variables present in the output format will be sub\n" -" stituted by the value or text that curl thinks fit, as\n" -); - puts( -" described below. All variables are specified like\n" -" %{variable_name} and to output a normal % you just\n" -" write them like %%. You can output a newline by using\n" -" \\n, a carriage return with \\r and a tab space with \\t.\n" -"\n" -" NOTE: The %-letter is a special letter in the\n" -" win32-environment, where all occurrences of % must be\n" -" doubled when using this option.\n" -"\n" -" Available variables are at this point:\n" -"\n" -); - puts( -" url_effective The URL that was fetched last. This is\n" -" mostly meaningful if you've told curl to\n" -" follow location: headers.\n" -"\n" -" http_code The numerical code that was found in the\n" -" last retrieved HTTP(S) page.\n" -"\n" -" time_total The total time, in seconds, that the\n" -" full operation lasted. The time will be\n" -); - puts( -" displayed with millisecond resolution.\n" -"\n" -" time_namelookup\n" -" The time, in seconds, it took from the\n" -" start until the name resolving was com\n" -" pleted.\n" -"\n" -" time_connect The time, in seconds, it took from the\n" -" start until the connect to the remote\n" -" host (or proxy) was completed.\n" -"\n" -" time_pretransfer\n" -); - puts( -" The time, in seconds, it took from the\n" -" start until the file transfer is just\n" -" about to begin. This includes all pre-\n" -" transfer commands and negotiations that\n" -" are specific to the particular proto\n" -" col(s) involved.\n" -"\n" -" time_starttransfer\n" -" The time, in seconds, it took from the\n" -); - puts( -" start until the first byte is just about\n" -" to be transfered. This includes\n" -" time_pretransfer and also the time the\n" -" server needs to calculate the result.\n" -"\n" -" size_download The total amount of bytes that were\n" -" downloaded.\n" -"\n" -" size_upload The total amount of bytes that were\n" -" uploaded.\n" -"\n" -); - puts( -" size_header The total amount of bytes of the down\n" -" loaded headers.\n" -"\n" -" size_request The total amount of bytes that were sent\n" -" in the HTTP request.\n" -"\n" -" speed_download The average download speed that curl\n" -" measured for the complete download.\n" -"\n" -" speed_upload The average upload speed that curl mea\n" -" sured for the complete upload.\n" -); - puts( -" content_type The Content-Type of the requested docu\n" -" ment, if there was any. (Added in 7.9.5)\n" -"\n" -" If this option is used several times, the last one will be\n" -" used.\n" -"\n" -" -x/--proxy <proxyhost[:port]>\n" -" Use specified HTTP proxy. If the port number is not\n" -" specified, it is assumed at port 1080.\n" -"\n" -" Note that all operations that are performed over a HTTP\n" -" proxy will transparantly be converted to HTTP. It means\n" -); - puts( -" that certain protocol specific operations might not be\n" -" available. This is not the case if you can tunnel\n" -" through the proxy, as done with the -p/--proxytunnel\n" -" option.\n" -"\n" -" If this option is used several times, the last one will\n" -" be used.\n" -"\n" -" -X/--request <command>\n" -" (HTTP) Specifies a custom request to use when communi\n" -" cating with the HTTP server. The specified request\n" -); - puts( -" will be used instead of the standard GET. Read the HTTP\n" -" 1.1 specification for details and explanations.\n" -"\n" -" (FTP) Specifies a custom FTP command to use instead of\n" -" LIST when doing file lists with ftp.\n" -"\n" -" If this option is used several times, the last one will\n" -" be used.\n" -"\n" -" -y/--speed-time <time>\n" -" If a download is slower than speed-limit bytes per sec\n" -" ond during a speed-time period, the download gets\n" -); - puts( -" aborted. If speed-time is used, the default speed-limit\n" -" will be 1 unless set with -y.\n" -"\n" -" If this option is used several times, the last one will\n" -" be used.\n" -"\n" -" -Y/--speed-limit <speed>\n" -" If a download is slower than this given speed, in bytes\n" -" per second, for speed-time seconds it gets aborted.\n" -" speed-time is set with -Y and is 30 if not set.\n" -"\n" -" If this option is used several times, the last one will\n" -" be used.\n" -"\n" -); - puts( -" -z/--time-cond <date expression>\n" -" (HTTP) Request to get a file that has been modified\n" -" later than the given time and date, or one that has\n" -" been modified before that time. The date expression can\n" -" be all sorts of date strings or if it doesn't match any\n" -" internal ones, it tries to get the time from a given\n" -" file name instead! See the GNU date(1) or curl_get\n" -" date(3) man pages for date expression details.\n" -"\n" -); - puts( -" Start the date expression with a dash (-) to make it\n" -" request for a document that is older than the given\n" -" date/time, default is a document that is newer than the\n" -" specified date/time.\n" -"\n" -" If this option is used several times, the last one will\n" -" be used.\n" -"\n" -" -3/--sslv3\n" -" (HTTPS) Forces curl to use SSL version 3 when negotiat\n" -" ing with a remote SSL server.\n" -"\n" -" -2/--sslv2\n" -); - puts( -" (HTTPS) Forces curl to use SSL version 2 when negotiat\n" -" ing with a remote SSL server.\n" -"\n" -" -0/--http1.0\n" -" (HTTP) Forces curl to issue its requests using HTTP 1.0\n" -" instead of using its internally preferred: HTTP 1.1.\n" -"\n" -" -#/--progress-bar\n" -" Make curl display progress information as a progress\n" -" bar instead of the default statistics.\n" -"\n" -" If this option is used twice, the second will again\n" -" disable the progress bar.\n" -"\n" -); - puts( -" --crlf\n" -" (FTP) Convert LF to CRLF in upload. Useful for MVS\n" -" (OS/390).\n" -"\n" -" If this option is used twice, the second will again\n" -" disable crlf converting.\n" -"\n" -" --stderr <file>\n" -" Redirect all writes to stderr to the specified file\n" -" instead. If the file name is a plain '-', it is instead\n" -" written to stdout. This option has no point when you're\n" -" using a shell with decent redirecting capabilities.\n" -"\n" -); - puts( -" If this option is used several times, the last one will\n" -" be used.\n" -"\n" -"FILES\n" -" ~/.curlrc\n" -" Default config file.\n" -"ENVIRONMENT\n" -" http_proxy [protocol://]<host>[:port]\n" -" Sets proxy server to use for HTTP.\n" -"\n" -" HTTPS_PROXY [protocol://]<host>[:port]\n" -" Sets proxy server to use for HTTPS.\n" -"\n" -" FTP_PROXY [protocol://]<host>[:port]\n" -" Sets proxy server to use for FTP.\n" -"\n" -" GOPHER_PROXY [protocol://]<host>[:port]\n" -); - puts( -" Sets proxy server to use for GOPHER.\n" -"\n" -" ALL_PROXY [protocol://]<host>[:port]\n" -" Sets proxy server to use if no protocol-specific proxy\n" -" is set.\n" -"\n" -" NO_PROXY <comma-separated list of hosts>\n" -" list of host names that shouldn't go through any proxy.\n" -" If set to a asterisk\n" -"\n" -"EXIT CODES\n" -" There exists a bunch of different error codes and their cor\n" -" responding error messages that may appear during bad condi\n" -); - puts( -" tions. At the time of this writing, the exit codes are:\n" -"\n" -" 1 Unsupported protocol. This build of curl has no support\n" -" for this protocol.\n" -"\n" -" 2 Failed to initialize.\n" -"\n" -" 3 URL malformat. The syntax was not correct.\n" -"\n" -" 4 URL user malformatted. The user-part of the URL syntax\n" -" was not correct.\n" -"\n" -" 5 Couldn't resolve proxy. The given proxy host could not\n" -" be resolved.\n" -"\n" -" 6 Couldn't resolve host. The given remote host was not\n" -); - puts( -" resolved.\n" -"\n" -" 7 Failed to connect to host.\n" -"\n" -" 8 FTP weird server reply. The server sent data curl\n" -" couldn't parse.\n" -"\n" -" 9 FTP access denied. The server denied login.\n" -"\n" -" 10 FTP user/password incorrect. Either one or both were\n" -" not accepted by the server.\n" -" 11 FTP weird PASS reply. Curl couldn't parse the reply\n" -" sent to the PASS request.\n" -"\n" -" 12 FTP weird USER reply. Curl couldn't parse the reply\n" -); - puts( -" sent to the USER request.\n" -"\n" -" 13 FTP weird PASV reply, Curl couldn't parse the reply\n" -" sent to the PASV request.\n" -"\n" -" 14 FTP weird 227 format. Curl couldn't parse the 227-line\n" -" the server sent.\n" -"\n" -" 15 FTP can't get host. Couldn't resolve the host IP we got\n" -" in the 227-line.\n" -"\n" -" 16 FTP can't reconnect. Couldn't connect to the host we\n" -" got in the 227-line.\n" -"\n" -" 17 FTP couldn't set binary. Couldn't change transfer\n" -); - puts( -" method to binary.\n" -"\n" -" 18 Partial file. Only a part of the file was transfered.\n" -"\n" -" 19 FTP couldn't RETR file. The RETR command failed.\n" -"\n" -" 20 FTP write error. The transfer was reported bad by the\n" -" server.\n" -"\n" -" 21 FTP quote error. A quote command returned error from\n" -" the server.\n" -"\n" -" 22 HTTP not found. The requested page was not found. This\n" -" return code only appears if --fail is used.\n" -"\n" -); - puts( -" 23 Write error. Curl couldn't write data to a local\n" -" filesystem or similar.\n" -"\n" -" 24 Malformat user. User name badly specified.\n" -"\n" -" 25 FTP couldn't STOR file. The server denied the STOR\n" -" operation.\n" -"\n" -" 26 Read error. Various reading problems.\n" -"\n" -" 27 Out of memory. A memory allocation request failed.\n" -"\n" -" 28 Operation timeout. The specified time-out period was\n" -" reached according to the conditions.\n" -"\n" -); - puts( -" 29 FTP couldn't set ASCII. The server returned an unknown\n" -" reply.\n" -" 30 FTP PORT failed. The PORT command failed.\n" -"\n" -" 31 FTP couldn't use REST. The REST command failed.\n" -"\n" -" 32 FTP couldn't use SIZE. The SIZE command failed. The\n" -" command is an extension to the original FTP spec RFC\n" -" 959.\n" -"\n" -" 33 HTTP range error. The range \"command\" didn't work.\n" -"\n" -" 34 HTTP post error. Internal post-request generation\n" -" error.\n" -"\n" -); - puts( -" 35 SSL connect error. The SSL handshaking failed.\n" -"\n" -" 36 FTP bad download resume. Couldn't continue an earlier\n" -" aborted download.\n" -"\n" -" 37 FILE couldn't read file. Failed to open the file. Per\n" -" missions?\n" -"\n" -" 38 LDAP cannot bind. LDAP bind operation failed.\n" -"\n" -" 39 LDAP search failed.\n" -"\n" -" 40 Library not found. The LDAP library was not found.\n" -"\n" -" 41 Function not found. A required LDAP function was not\n" -" found.\n" -"\n" -); - puts( -" 42 Aborted by callback. An application told curl to abort\n" -" the operation.\n" -"\n" -" 43 Internal error. A function was called with a bad param\n" -" eter.\n" -"\n" -" 44 Internal error. A function was called in a bad order.\n" -"\n" -" 45 Interface error. A specified outgoing interface could\n" -" not be used.\n" -"\n" -" 46 Bad password entered. An error was signaled when the\n" -" password was entered.\n" -"\n" -" 47 Too many redirects. When following redirects, curl hit\n" -); - puts( -" the maximum amount.\n" -"\n" -" 48 Unknown TELNET option specified.\n" -"\n" -" 49 Malformed telnet option.\n" -"\n" -" 51 The remote peer's SSL certificate wasn't ok\n" -" 52 The server didn't reply anything, which here is consid\n" -" ered an error.\n" -"\n" -" XX There will appear more error codes here in future\n" -" releases. The existing ones are meant to never change.\n" -"\n" -"BUGS\n" -" If you do find bugs, mail them to curl-bug@haxx.se.\n" -"\n" -"AUTHORS / CONTRIBUTORS\n" -); - puts( -" Daniel Stenberg is the main author, but the whole list of\n" -" contributors is found in the separate THANKS file.\n" -"\n" -"WWW\n" -" http://curl.haxx.se\n" -"\n" -"FTP\n" -" ftp://ftp.sunet.se/pub/www/utilities/curl/\n" -"\n" -"SEE ALSO\n" -" ftp(1), wget(1), snarf(1)\n" -"\n" -"LATEST VERSION\n" -"\n" -" You always find news about what's going on as well as the latest versions\n" -" from the curl web pages, located at:\n" -"\n" -" http://curl.haxx.se\n" -"\n" -"SIMPLE USAGE\n" -"\n" -" Get the main page from netscape's web-server:\n" -"\n" -); - puts( -" curl http://www.netscape.com/\n" -"\n" -" Get the root README file from funet's ftp-server:\n" -"\n" -" curl ftp://ftp.funet.fi/README\n" -"\n" -" Get a web page from a server using port 8000:\n" -"\n" -" curl http://www.weirdserver.com:8000/\n" -"\n" -" Get a list of the root directory of an FTP site:\n" -"\n" -" curl ftp://cool.haxx.se/\n" -"\n" -" Get a gopher document from funet's gopher server:\n" -"\n" -" curl gopher://gopher.funet.fi\n" -"\n" -" Get the definition of curl from a dictionary:\n" -"\n" -" curl dict://dict.org/m:curl\n" -"\n" -); - puts( -" Fetch two documents at once:\n" -"\n" -" curl ftp://cool.haxx.se/ http://www.weirdserver.com:8000/\n" -"\n" -"DOWNLOAD TO A FILE\n" -"\n" -" Get a web page and store in a local file:\n" -"\n" -" curl -o thatpage.html http://www.netscape.com/\n" -"\n" -" Get a web page and store in a local file, make the local file get the name\n" -" of the remote document (if no file name part is specified in the URL, this\n" -" will fail):\n" -"\n" -" curl -O http://www.netscape.com/index.html\n" -"\n" -" Fetch two files and store them with their remote names:\n" -"\n" -); - puts( -" curl -O www.haxx.se/index.html -O curl.haxx.se/download.html\n" -"\n" -"USING PASSWORDS\n" -"\n" -" FTP\n" -"\n" -" To ftp files using name+passwd, include them in the URL like:\n" -"\n" -" curl ftp://name:passwd@machine.domain:port/full/path/to/file\n" -"\n" -" or specify them with the -u flag like\n" -"\n" -" curl -u name:passwd ftp://machine.domain:port/full/path/to/file\n" -"\n" -" HTTP\n" -"\n" -" The HTTP URL doesn't support user and password in the URL string. Curl\n" -); - puts( -" does support that anyway to provide a ftp-style interface and thus you can\n" -" pick a file like:\n" -"\n" -" curl http://name:passwd@machine.domain/full/path/to/file\n" -"\n" -" or specify user and password separately like in\n" -"\n" -" curl -u name:passwd http://machine.domain/full/path/to/file\n" -"\n" -" NOTE! Since HTTP URLs don't support user and password, you can't use that\n" -" style when using Curl via a proxy. You _must_ use the -u style fetch\n" -" during such circumstances.\n" -"\n" -" HTTPS\n" -"\n" -); - puts( -" Probably most commonly used with private certificates, as explained below.\n" -"\n" -" GOPHER\n" -"\n" -" Curl features no password support for gopher.\n" -"\n" -"PROXY\n" -"\n" -" Get an ftp file using a proxy named my-proxy that uses port 888:\n" -"\n" -" curl -x my-proxy:888 ftp://ftp.leachsite.com/README\n" -"\n" -" Get a file from a HTTP server that requires user and password, using the\n" -" same proxy as above:\n" -"\n" -" curl -u user:passwd -x my-proxy:888 http://www.get.this/\n" -"\n" -); - puts( -" Some proxies require special authentication. Specify by using -U as above:\n" -"\n" -" curl -U user:passwd -x my-proxy:888 http://www.get.this/\n" -"\n" -" See also the environment variables Curl support that offer further proxy\n" -" control.\n" -"\n" -"RANGES\n" -"\n" -" With HTTP 1.1 byte-ranges were introduced. Using this, a client can request\n" -" to get only one or more subparts of a specified document. Curl supports\n" -" this with the -r flag.\n" -"\n" -" Get the first 100 bytes of a document:\n" -"\n" -" curl -r 0-99 http://www.get.this/\n" -"\n" -); - puts( -" Get the last 500 bytes of a document:\n" -"\n" -" curl -r -500 http://www.get.this/\n" -"\n" -" Curl also supports simple ranges for FTP files as well. Then you can only\n" -" specify start and stop position.\n" -"\n" -" Get the first 100 bytes of a document using FTP:\n" -"\n" -" curl -r 0-99 ftp://www.get.this/README \n" -"\n" -"UPLOADING\n" -"\n" -" FTP\n" -"\n" -" Upload all data on stdin to a specified ftp site:\n" -"\n" -" curl -T - ftp://ftp.upload.com/myfile\n" -"\n" -" Upload data from a specified file, login with user and password:\n" -"\n" -); - puts( -" curl -T uploadfile -u user:passwd ftp://ftp.upload.com/myfile\n" -"\n" -" Upload a local file to the remote site, and use the local file name remote\n" -" too:\n" -" \n" -" curl -T uploadfile -u user:passwd ftp://ftp.upload.com/\n" -"\n" -" Upload a local file to get appended to the remote file using ftp:\n" -"\n" -" curl -T localfile -a ftp://ftp.upload.com/remotefile\n" -"\n" -" Curl also supports ftp upload through a proxy, but only if the proxy is\n" -); - puts( -" configured to allow that kind of tunneling. If it does, you can run curl in\n" -" a fashion similar to:\n" -"\n" -" curl --proxytunnel -x proxy:port -T localfile ftp.upload.com\n" -"\n" -" HTTP\n" -"\n" -" Upload all data on stdin to a specified http site:\n" -"\n" -" curl -T - http://www.upload.com/myfile\n" -"\n" -" Note that the http server must've been configured to accept PUT before this\n" -" can be done successfully.\n" -"\n" -" For other ways to do http data upload, see the POST section below.\n" -"\n" -"VERBOSE / DEBUG\n" -"\n" -); - puts( -" If curl fails where it isn't supposed to, if the servers don't let you\n" -" in, if you can't understand the responses: use the -v flag to get VERBOSE\n" -" fetching. Curl will output lots of info and all data it sends and\n" -" receives in order to let the user see all client-server interaction.\n" -"\n" -" curl -v ftp://ftp.upload.com/\n" -"\n" -"DETAILED INFORMATION\n" -"\n" -" Different protocols provide different ways of getting detailed information\n" -); - puts( -" about specific files/documents. To get curl to show detailed information\n" -" about a single file, you should use -I/--head option. It displays all\n" -" available info on a single file for HTTP and FTP. The HTTP information is a\n" -" lot more extensive.\n" -"\n" -" For HTTP, you can get the header information (the same as -I would show)\n" -" shown before the data by using -i/--include. Curl understands the\n" -" -D/--dump-header option when getting files from both FTP and HTTP, and it\n" -); - puts( -" will then store the headers in the specified file.\n" -"\n" -" Store the HTTP headers in a separate file (headers.txt in the example):\n" -"\n" -" curl --dump-header headers.txt curl.haxx.se\n" -"\n" -" Note that headers stored in a separate file can be very useful at a later\n" -" time if you want curl to use cookies sent by the server. More about that in\n" -" the cookies section.\n" -"\n" -"POST (HTTP)\n" -"\n" -" It's easy to post data using curl. This is done using the -d <data>\n" -" option. The post data must be urlencoded.\n" -"\n" -); - puts( -" Post a simple \"name\" and \"phone\" guestbook.\n" -"\n" -" curl -d \"name=Rafael%20Sagula&phone=3320780\" \\\n" -" http://www.where.com/guest.cgi\n" -"\n" -" How to post a form with curl, lesson #1:\n" -"\n" -" Dig out all the <input> tags in the form that you want to fill in. (There's\n" -" a perl program called formfind.pl on the curl site that helps with this).\n" -"\n" -" If there's a \"normal\" post, you use -d to post. -d takes a full \"post\n" -" string\", which is in the format\n" -"\n" -); - puts( -" <variable1>=<data1>&<variable2>=<data2>&...\n" -"\n" -" The 'variable' names are the names set with \"name=\" in the <input> tags, and\n" -" the data is the contents you want to fill in for the inputs. The data *must*\n" -" be properly URL encoded. That means you replace space with + and that you\n" -" write weird letters with %XX where XX is the hexadecimal representation of\n" -" the letter's ASCII code.\n" -"\n" -" Example:\n" -"\n" -" (page located at http://www.formpost.com/getthis/\n" -"\n" -); - puts( -" <form action=\"post.cgi\" method=\"post\">\n" -" <input name=user size=10>\n" -" <input name=pass type=password size=10>\n" -" <input name=id type=hidden value=\"blablabla\">\n" -" <input name=ding value=\"submit\">\n" -" </form>\n" -"\n" -" We want to enter user 'foobar' with password '12345'.\n" -"\n" -" To post to this, you enter a curl command line like:\n" -"\n" -" curl -d \"user=foobar&pass=12345&id=blablabla&dig=submit\" (continues)\n" -" http://www.formpost.com/getthis/post.cgi\n" -"\n" -"\n" -); - puts( -" While -d uses the application/x-www-form-urlencoded mime-type, generally\n" -" understood by CGI's and similar, curl also supports the more capable\n" -" multipart/form-data type. This latter type supports things like file upload.\n" -"\n" -" -F accepts parameters like -F \"name=contents\". If you want the contents to\n" -" be read from a file, use <@filename> as contents. When specifying a file,\n" -" you can also specify the file content type by appending ';type=<mime type>'\n" -); - puts( -" to the file name. You can also post the contents of several files in one\n" -" field. For example, the field name 'coolfiles' is used to send three files,\n" -" with different content types using the following syntax:\n" -"\n" -" curl -F \"coolfiles=@fil1.gif;type=image/gif,fil2.txt,fil3.html\" \\\n" -" http://www.post.com/postit.cgi\n" -"\n" -" If the content-type is not specified, curl will try to guess from the file\n" -" extension (it only knows a few), or use the previously specified type (from\n" -); - puts( -" an earlier file if several files are specified in a list) or else it will\n" -" using the default type 'text/plain'.\n" -"\n" -" Emulate a fill-in form with -F. Let's say you fill in three fields in a\n" -" form. One field is a file name which to post, one field is your name and one\n" -" field is a file description. We want to post the file we have written named\n" -" \"cooltext.txt\". To let curl do the posting of this data instead of your\n" -" favourite browser, you have to read the HTML source of the form page and\n" -); - puts( -" find the names of the input fields. In our example, the input field names\n" -" are 'file', 'yourname' and 'filedescription'.\n" -"\n" -" curl -F \"file=@cooltext.txt\" -F \"yourname=Daniel\" \\\n" -" -F \"filedescription=Cool text file with cool text inside\" \\\n" -" http://www.post.com/postit.cgi\n" -"\n" -" To send two files in one post you can do it in two ways:\n" -"\n" -" 1. Send multiple files in a single \"field\" with a single field name:\n" -" \n" -" curl -F \"pictures=@dog.gif,cat.gif\" \n" -" \n" -); - puts( -" 2. Send two fields with two field names: \n" -"\n" -" curl -F \"docpicture=@dog.gif\" -F \"catpicture=@cat.gif\" \n" -"\n" -"REFERRER\n" -"\n" -" A HTTP request has the option to include information about which address\n" -" that referred to actual page. Curl allows you to specify the\n" -" referrer to be used on the command line. It is especially useful to\n" -" fool or trick stupid servers or CGI scripts that rely on that information\n" -" being available or contain certain data.\n" -"\n" -); - puts( -" curl -e www.coolsite.com http://www.showme.com/\n" -"\n" -" NOTE: The referer field is defined in the HTTP spec to be a full URL.\n" -"\n" -"USER AGENT\n" -"\n" -" A HTTP request has the option to include information about the browser\n" -" that generated the request. Curl allows it to be specified on the command\n" -" line. It is especially useful to fool or trick stupid servers or CGI\n" -" scripts that only accept certain browsers.\n" -"\n" -" Example:\n" -"\n" -" curl -A 'Mozilla/3.0 (Win95; I)' http://www.nationsbank.com/\n" -"\n" -); - puts( -" Other common strings:\n" -" 'Mozilla/3.0 (Win95; I)' Netscape Version 3 for Windows 95\n" -" 'Mozilla/3.04 (Win95; U)' Netscape Version 3 for Windows 95\n" -" 'Mozilla/2.02 (OS/2; U)' Netscape Version 2 for OS/2\n" -" 'Mozilla/4.04 [en] (X11; U; AIX 4.2; Nav)' NS for AIX\n" -" 'Mozilla/4.05 [en] (X11; U; Linux 2.0.32 i586)' NS for Linux\n" -"\n" -" Note that Internet Explorer tries hard to be compatible in every way:\n" -" 'Mozilla/4.0 (compatible; MSIE 4.01; Windows 95)' MSIE for W95\n" -); - puts( -"\n" -" Mozilla is not the only possible User-Agent name:\n" -" 'Konqueror/1.0' KDE File Manager desktop client\n" -" 'Lynx/2.7.1 libwww-FM/2.14' Lynx command line browser\n" -"\n" -"COOKIES\n" -"\n" -" Cookies are generally used by web servers to keep state information at the\n" -" client's side. The server sets cookies by sending a response line in the\n" -" headers that looks like 'Set-Cookie: <data>' where the data part then\n" -" typically contains a set of NAME=VALUE pairs (separated by semicolons ';'\n" -); - puts( -" like \"NAME1=VALUE1; NAME2=VALUE2;\"). The server can also specify for what\n" -" path the \"cookie\" should be used for (by specifying \"path=value\"), when the\n" -" cookie should expire (\"expire=DATE\"), for what domain to use it\n" -" (\"domain=NAME\") and if it should be used on secure connections only\n" -" (\"secure\").\n" -"\n" -" If you've received a page from a server that contains a header like:\n" -" Set-Cookie: sessionid=boo123; path=\"/foo\";\n" -"\n" -); - puts( -" it means the server wants that first pair passed on when we get anything in\n" -" a path beginning with \"/foo\".\n" -"\n" -" Example, get a page that wants my name passed in a cookie:\n" -"\n" -" curl -b \"name=Daniel\" www.sillypage.com\n" -"\n" -" Curl also has the ability to use previously received cookies in following\n" -" sessions. If you get cookies from a server and store them in a file in a\n" -" manner similar to:\n" -"\n" -" curl --dump-header headers www.example.com\n" -"\n" -); - puts( -" ... you can then in a second connect to that (or another) site, use the\n" -" cookies from the 'headers' file like:\n" -"\n" -" curl -b headers www.example.com\n" -"\n" -" Note that by specifying -b you enable the \"cookie awareness\" and with -L\n" -" you can make curl follow a location: (which often is used in combination\n" -" with cookies). So that if a site sends cookies and a location, you can\n" -" use a non-existing file to trigger the cookie awareness like:\n" -"\n" -" curl -L -b empty.txt www.example.com\n" -"\n" -); - puts( -" The file to read cookies from must be formatted using plain HTTP headers OR\n" -" as netscape's cookie file. Curl will determine what kind it is based on the\n" -" file contents. In the above command, curl will parse the header and store\n" -" the cookies received from www.example.com. curl will send to the server the\n" -" stored cookies which match the request as it follows the location. The\n" -" file \"empty.txt\" may be a non-existant file.\n" -" \n" -"\n" -"PROGRESS METER\n" -"\n" -); - puts( -" The progress meter exists to show a user that something actually is\n" -" happening. The different fields in the output have the following meaning:\n" -"\n" -" % Total % Received % Xferd Average Speed Time Curr.\n" -" Dload Upload Total Current Left Speed\n" -" 0 151M 0 38608 0 0 9406 0 4:41:43 0:00:04 4:41:39 9287\n" -"\n" -" From left-to-right:\n" -" % - percentage completed of the whole transfer\n" -); - puts( -" Total - total size of the whole expected transfer\n" -" % - percentage completed of the download\n" -" Received - currently downloaded amount of bytes\n" -" % - percentage completed of the upload\n" -" Xferd - currently uploaded amount of bytes\n" -" Average Speed\n" -" Dload - the average transfer speed of the download\n" -" Average Speed\n" -" Upload - the average transfer speed of the upload\n" -" Time Total - expected time to complete the operation\n" -); - puts( -" Time Current - time passed since the invoke\n" -" Time Left - expected time left to completetion\n" -" Curr.Speed - the average transfer speed the last 5 seconds (the first\n" -" 5 seconds of a transfer is based on less time of course.)\n" -"\n" -" The -# option will display a totally different progress bar that doesn't\n" -" need much explanation!\n" -"\n" -"SPEED LIMIT\n" -"\n" -" Curl allows the user to set the transfer speed conditions that must be met\n" -); - puts( -" to let the transfer keep going. By using the switch -y and -Y you\n" -" can make curl abort transfers if the transfer speed is below the specified\n" -" lowest limit for a specified time.\n" -"\n" -" To have curl abort the download if the speed is slower than 3000 bytes per\n" -" second for 1 minute, run:\n" -"\n" -" curl -y 3000 -Y 60 www.far-away-site.com\n" -"\n" -" This can very well be used in combination with the overall time limit, so\n" -" that the above operatioin must be completed in whole within 30 minutes:\n" -"\n" -); - puts( -" curl -m 1800 -y 3000 -Y 60 www.far-away-site.com\n" -"\n" -"CONFIG FILE\n" -"\n" -" Curl automatically tries to read the .curlrc file (or _curlrc file on win32\n" -" systems) from the user's home dir on startup.\n" -"\n" -" The config file could be made up with normal command line switches, but you\n" -" can also specify the long options without the dashes to make it more\n" -" readable. You can separate the options and the parameter with spaces, or\n" -" with = or :. Comments can be used within the file. If the first letter on a\n" -); - puts( -" line is a '#'-letter the rest of the line is treated as a comment.\n" -"\n" -" If you want the parameter to contain spaces, you must inclose the entire\n" -" parameter within double quotes (\"). Within those quotes, you specify a\n" -" quote as \\\".\n" -"\n" -" NOTE: You must specify options and their arguments on the same line.\n" -"\n" -" Example, set default time out and proxy in a config file:\n" -"\n" -" # We want a 30 minute timeout:\n" -" -m 1800\n" -" # ... and we use a proxy for all accesses:\n" -); - puts( -" proxy = proxy.our.domain.com:8080\n" -"\n" -" White spaces ARE significant at the end of lines, but all white spaces\n" -" leading up to the first characters of each line are ignored.\n" -"\n" -" Prevent curl from reading the default file by using -q as the first command\n" -" line parameter, like:\n" -"\n" -" curl -q www.thatsite.com\n" -"\n" -" Force curl to get and display a local help page in case it is invoked\n" -" without URL by making a config file similar to:\n" -"\n" -" # default url to get\n" -); - puts( -" url = \"http://help.with.curl.com/curlhelp.html\"\n" -"\n" -" You can specify another config file to be read by using the -K/--config\n" -" flag. If you set config file name to \"-\" it'll read the config from stdin,\n" -" which can be handy if you want to hide options from being visible in process\n" -" tables etc:\n" -"\n" -" echo \"user = user:passwd\" | curl -K - http://that.secret.site.com\n" -"\n" -"EXTRA HEADERS\n" -"\n" -" When using curl in your own very special programs, you may end up needing\n" -); - puts( -" to pass on your own custom headers when getting a web page. You can do\n" -" this by using the -H flag.\n" -"\n" -" Example, send the header \"X-you-and-me: yes\" to the server when getting a\n" -" page:\n" -"\n" -" curl -H \"X-you-and-me: yes\" www.love.com\n" -"\n" -" This can also be useful in case you want curl to send a different text in a\n" -" header than it normally does. The -H header you specify then replaces the\n" -" header curl would normally send. If you replace an internal header with an\n" -); - puts( -" empty one, you prevent that header from being sent. To prevent the Host:\n" -" header from being used:\n" -"\n" -" curl -H \"Host:\" www.server.com\n" -"\n" -"FTP and PATH NAMES\n" -"\n" -" Do note that when getting files with the ftp:// URL, the given path is\n" -" relative the directory you enter. To get the file 'README' from your home\n" -" directory at your ftp site, do:\n" -"\n" -" curl ftp://user:passwd@my.site.com/README\n" -"\n" -" But if you want the README file from the root directory of that very same\n" -); - puts( -" site, you need to specify the absolute file name:\n" -"\n" -" curl ftp://user:passwd@my.site.com//README\n" -"\n" -" (I.e with an extra slash in front of the file name.)\n" -"\n" -"FTP and firewalls\n" -"\n" -" The FTP protocol requires one of the involved parties to open a second\n" -" connction as soon as data is about to get transfered. There are two ways to\n" -" do this.\n" -"\n" -" The default way for curl is to issue the PASV command which causes the\n" -" server to open another port and await another connection performed by the\n" -); - puts( -" client. This is good if the client is behind a firewall that don't allow\n" -" incoming connections.\n" -"\n" -" curl ftp.download.com\n" -"\n" -" If the server for example, is behind a firewall that don't allow connections\n" -" on other ports than 21 (or if it just doesn't support the PASV command), the\n" -" other way to do it is to use the PORT command and instruct the server to\n" -" connect to the client on the given (as parameters to the PORT command) IP\n" -" number and port.\n" -"\n" -); - puts( -" The -P flag to curl supports a few different options. Your machine may have\n" -" several IP-addresses and/or network interfaces and curl allows you to select\n" -" which of them to use. Default address can also be used:\n" -"\n" -" curl -P - ftp.download.com\n" -"\n" -" Download with PORT but use the IP address of our 'le0' interface (this does\n" -" not work on windows):\n" -"\n" -" curl -P le0 ftp.download.com\n" -"\n" -" Download with PORT but use 192.168.0.10 as our IP address to use:\n" -"\n" -); - puts( -" curl -P 192.168.0.10 ftp.download.com\n" -"\n" -"NETWORK INTERFACE\n" -"\n" -" Get a web page from a server using a specified port for the interface:\n" -"\n" -" curl --interface eth0:1 http://www.netscape.com/\n" -"\n" -" or\n" -"\n" -" curl --interface 192.168.1.10 http://www.netscape.com/\n" -"\n" -"HTTPS\n" -"\n" -" Secure HTTP requires SSL libraries to be installed and used when curl is\n" -" built. If that is done, curl is capable of retrieving and posting documents\n" -" using the HTTPS procotol.\n" -"\n" -" Example:\n" -"\n" -" curl https://www.secure-site.com\n" -"\n" -); - puts( -" Curl is also capable of using your personal certificates to get/post files\n" -" from sites that require valid certificates. The only drawback is that the\n" -" certificate needs to be in PEM-format. PEM is a standard and open format to\n" -" store certificates with, but it is not used by the most commonly used\n" -" browsers (Netscape and MSEI both use the so called PKCS#12 format). If you\n" -" want curl to use the certificates you use with your (favourite) browser, you\n" -); - puts( -" may need to download/compile a converter that can convert your browser's\n" -" formatted certificates to PEM formatted ones. This kind of converter is\n" -" included in recent versions of OpenSSL, and for older versions Dr Stephen\n" -" N. Henson has written a patch for SSLeay that adds this functionality. You\n" -" can get his patch (that requires an SSLeay installation) from his site at:\n" -" http://www.drh-consultancy.demon.co.uk/\n" -"\n" -); - puts( -" Example on how to automatically retrieve a document using a certificate with\n" -" a personal password:\n" -"\n" -" curl -E /path/to/cert.pem:password https://secure.site.com/\n" -"\n" -" If you neglect to specify the password on the command line, you will be\n" -" prompted for the correct password before any data can be received.\n" -"\n" -" Many older SSL-servers have problems with SSLv3 or TLS, that newer versions\n" -" of OpenSSL etc is using, therefore it is sometimes useful to specify what\n" -); - puts( -" SSL-version curl should use. Use -3 or -2 to specify that exact SSL version\n" -" to use:\n" -"\n" -" curl -2 https://secure.site.com/\n" -"\n" -" Otherwise, curl will first attempt to use v3 and then v2.\n" -"\n" -" To use OpenSSL to convert your favourite browser's certificate into a PEM\n" -" formatted one that curl can use, do something like this (assuming netscape,\n" -" but IE is likely to work similarly):\n" -"\n" -" You start with hitting the 'security' menu button in netscape. \n" -"\n" -); - puts( -" Select 'certificates->yours' and then pick a certificate in the list \n" -"\n" -" Press the 'export' button \n" -"\n" -" enter your PIN code for the certs \n" -"\n" -" select a proper place to save it \n" -"\n" -" Run the 'openssl' application to convert the certificate. If you cd to the\n" -" openssl installation, you can do it like:\n" -"\n" -" # ./apps/openssl pkcs12 -in [file you saved] -clcerts -out [PEMfile]\n" -"\n" -"\n" -"RESUMING FILE TRANSFERS\n" -"\n" -" To continue a file transfer where it was previously aborted, curl supports\n" -); - puts( -" resume on http(s) downloads as well as ftp uploads and downloads.\n" -"\n" -" Continue downloading a document:\n" -"\n" -" curl -C - -o file ftp://ftp.server.com/path/file\n" -"\n" -" Continue uploading a document(*1):\n" -"\n" -" curl -C - -T file ftp://ftp.server.com/path/file\n" -"\n" -" Continue downloading a document from a web server(*2):\n" -"\n" -" curl -C - -o file http://www.server.com/\n" -"\n" -" (*1) = This requires that the ftp server supports the non-standard command\n" -" SIZE. If it doesn't, curl will say so.\n" -"\n" -); - puts( -" (*2) = This requires that the web server supports at least HTTP/1.1. If it\n" -" doesn't, curl will say so.\n" -"\n" -"TIME CONDITIONS\n" -"\n" -" HTTP allows a client to specify a time condition for the document it\n" -" requests. It is If-Modified-Since or If-Unmodified-Since. Curl allow you to\n" -" specify them with the -z/--time-cond flag.\n" -"\n" -" For example, you can easily make a download that only gets performed if the\n" -" remote file is newer than a local copy. It would be made like:\n" -"\n" -); - puts( -" curl -z local.html http://remote.server.com/remote.html\n" -"\n" -" Or you can download a file only if the local file is newer than the remote\n" -" one. Do this by prepending the date string with a '-', as in:\n" -"\n" -" curl -z -local.html http://remote.server.com/remote.html\n" -"\n" -" You can specify a \"free text\" date as condition. Tell curl to only download\n" -" the file if it was updated since yesterday:\n" -"\n" -" curl -z yesterday http://remote.server.com/remote.html\n" -"\n" -); - puts( -" Curl will then accept a wide range of date formats. You always make the date\n" -" check the other way around by prepending it with a dash '-'.\n" -"\n" -"DICT\n" -"\n" -" For fun try\n" -"\n" -" curl dict://dict.org/m:curl\n" -" curl dict://dict.org/d:heisenbug:jargon\n" -" curl dict://dict.org/d:daniel:web1913\n" -"\n" -" Aliases for 'm' are 'match' and 'find', and aliases for 'd' are 'define'\n" -" and 'lookup'. For example,\n" -"\n" -" curl dict://dict.org/find:curl\n" -"\n" -); - puts( -" Commands that break the URL description of the RFC (but not the DICT\n" -" protocol) are\n" -"\n" -" curl dict://dict.org/show:db\n" -" curl dict://dict.org/show:strat\n" -"\n" -" Authentication is still missing (but this is not required by the RFC)\n" -"\n" -"LDAP\n" -"\n" -" If you have installed the OpenLDAP library, curl can take advantage of it\n" -" and offer ldap:// support.\n" -"\n" -" LDAP is a complex thing and writing an LDAP query is not an easy task. I do\n" -); - puts( -" advice you to dig up the syntax description for that elsewhere. Two places\n" -" that might suit you are:\n" -"\n" -" Netscape's \"Netscape Directory SDK 3.0 for C Programmer's Guide Chapter 10:\n" -" Working with LDAP URLs\":\n" -" http://developer.netscape.com/docs/manuals/dirsdk/csdk30/url.htm\n" -"\n" -" RFC 2255, \"The LDAP URL Format\" http://www.rfc-editor.org/rfc/rfc2255.txt\n" -"\n" -" To show you an example, this is now I can get all people from my local LDAP\n" -" server that has a certain sub-domain in their email address:\n" -"\n" -); - puts( -" curl -B \"ldap://ldap.frontec.se/o=frontec??sub?mail=*sth.frontec.se\"\n" -"\n" -" If I want the same info in HTML format, I can get it by not using the -B\n" -" (enforce ASCII) flag.\n" -"\n" -"ENVIRONMENT VARIABLES\n" -"\n" -" Curl reads and understands the following environment variables:\n" -"\n" -" HTTP_PROXY, HTTPS_PROXY, FTP_PROXY, GOPHER_PROXY\n" -"\n" -" They should be set for protocol-specific proxies. General proxy should be\n" -" set with\n" -" \n" -" ALL_PROXY\n" -"\n" -); - puts( -" A comma-separated list of host names that shouldn't go through any proxy is\n" -" set in (only an asterisk, '*' matches all hosts)\n" -"\n" -" NO_PROXY\n" -"\n" -" If a tail substring of the domain-path for a host matches one of these\n" -" strings, transactions with that node will not be proxied.\n" -"\n" -"\n" -" The usage of the -x/--proxy flag overrides the environment variables.\n" -"\n" -"NETRC\n" -"\n" -" Unix introduced the .netrc concept a long time ago. It is a way for a user\n" -); - puts( -" to specify name and password for commonly visited ftp sites in a file so\n" -" that you don't have to type them in each time you visit those sites. You\n" -" realize this is a big security risk if someone else gets hold of your\n" -" passwords, so therefor most unix programs won't read this file unless it is\n" -" only readable by yourself (curl doesn't care though).\n" -"\n" -" Curl supports .netrc files if told so (using the -n/--netrc option). This is\n" -); - puts( -" not restricted to only ftp, but curl can use it for all protocols where\n" -" authentication is used.\n" -"\n" -" A very simple .netrc file could look something like:\n" -"\n" -" machine curl.haxx.se login iamdaniel password mysecret\n" -"\n" -"CUSTOM OUTPUT\n" -"\n" -" To better allow script programmers to get to know about the progress of\n" -" curl, the -w/--write-out option was introduced. Using this, you can specify\n" -" what information from the previous transfer you want to extract.\n" -"\n" -); - puts( -" To display the amount of bytes downloaded together with some text and an\n" -" ending newline:\n" -"\n" -" curl -w 'We downloaded %{size_download} bytes\\n' www.download.com\n" -"\n" -"KERBEROS4 FTP TRANSFER\n" -"\n" -" Curl supports kerberos4 for FTP transfers. You need the kerberos package\n" -" installed and used at curl build time for it to be used.\n" -"\n" -" First, get the krb-ticket the normal way, like with the kauth tool. Then use\n" -" curl in way similar to:\n" -"\n" -); - puts( -" curl --krb4 private ftp://krb4site.com -u username:fakepwd\n" -"\n" -" There's no use for a password on the -u switch, but a blank one will make\n" -" curl ask for one and you already entered the real password to kauth.\n" -"\n" -"TELNET\n" -"\n" -" The curl telnet support is basic and very easy to use. Curl passes all data\n" -" passed to it on stdin to the remote server. Connect to a remote telnet\n" -" server using a command line similar to:\n" -"\n" -" curl telnet://remote.server.com\n" -"\n" -); - puts( -" And enter the data to pass to the server on stdin. The result will be sent\n" -" to stdout or to the file you specify with -o.\n" -"\n" -" You might want the -N/--no-buffer option to switch off the buffered output\n" -" for slow connections or similar.\n" -"\n" -" Pass options to the telnet protocol negotiation, by using the -t option. To\n" -" tell the server we use a vt100 terminal, try something like:\n" -"\n" -" curl -tTTYPE=vt100 telnet://remote.server.com\n" -"\n" -" Other interesting options for it -t include:\n" -"\n" -); - puts( -" - XDISPLOC=<X display> Sets the X display location.\n" -"\n" -" - NEW_ENV=<var,val> Sets an environment variable.\n" -"\n" -" NOTE: the telnet protocol does not specify any way to login with a specified\n" -" user and password so curl can't do that automatically. To do that, you need\n" -" to track when the login prompt is received and send the username and\n" -" password accordingly.\n" -"\n" -"PERSISTANT CONNECTIONS\n" -"\n" -" Specifying multiple files on a single command line will make curl transfer\n" -); - puts( -" all of them, one after the other in the specified order.\n" -"\n" -" libcurl will attempt to use persistant connections for the transfers so that\n" -" the second transfer to the same host can use the same connection that was\n" -" already initiated and was left open in the previous transfer. This greatly\n" -" decreases connection time for all but the first transfer and it makes a far\n" -" better use of the network.\n" -"\n" -" Note that curl cannot use persistant connections for transfers that are used\n" -); - puts( -" in subsequence curl invokes. Try to stuff as many URLs as possible on the\n" -" same command line if they are using the same host, as that'll make the\n" -" transfers faster. If you use a http proxy for file transfers, practicly\n" -" all transfers will be persistant.\n" -"\n" -" Persistant connections were introduced in curl 7.7.\n" -"\n" -"MAILING LISTS\n" -"\n" -" For your convenience, we have several open mailing lists to discuss curl,\n" -" its development and things relevant to this.\n" -"\n" -); - puts( -" To subscribe to the main curl list, mail curl-request@contactor.se with\n" -" \"subscribe <fill in your email address>\" in the body.\n" -"\n" -" To subscribe to the curl-library users/deverlopers list, follow the\n" -" instructions at http://curl.haxx.se/mail/\n" -"\n" -" To subscribe to the curl-announce list, to only get information about new\n" -" releases, follow the instructions at http://curl.haxx.se/mail/\n" -"\n" -" To subscribe to the curl-and-PHP list in which curl using with PHP is\n" -); - puts( -" discussed, follow the instructions at http://curl.haxx.se/mail/\n" -"\n" -" Please direct curl questions, feature requests and trouble reports to one of\n" -" these mailing lists instead of mailing any individual.\n" - ) ; -} diff --git a/Build/source/libs/curl/src/macos/MACINSTALL.TXT b/Build/source/libs/curl/src/macos/MACINSTALL.TXT deleted file mode 100644 index 17da133259b..00000000000 --- a/Build/source/libs/curl/src/macos/MACINSTALL.TXT +++ /dev/null @@ -1 +0,0 @@ -MACOS (not MACOS X)
===================
This is the first attempt at porting cURL to MacOS.
http, ftp, dict and telnet seems to work fine, other protocols and advanced
features have not been all tested.
This port is heavily based on the GUSI library from Matthias Neeracher.
GUSI (Grand Unified Socket Interface) is a POSIX/Pthreads/Sockets library
bringing some of the comforts of UNIX 98 to traditional MacOS.
The latest GUSI release can be downloaded from sourceforge
at <http://sourceforge.net/projects/gusi/>
I have also write a few functions to help port UNIX applications to MacOS.
These functions are part of the GUSI Extra library that can be downloaded at
<http://perso.wanadoo.fr/ela/resources.html#gusiextra>
OpenSSL support is still experimental but I hope to deliver a version
including SSL soon.
cURL for MacOS requires using the CodeWarrior compiler from Metrowerks.
First download GUSI, GUSI Extra and cURL. Access paths have been setup so that
GUSI, GUSI Extra and cURL directories should have the same parent directory.
Follow the instructions in GUSI Extra "readme.txt" mainly the ones related to
SIOUX and GUSI patches. If you do not apply these patches curl will not behave
correctly.
In the 'curl/src/macos' directory, decode "curl.mcp.xml.sit.hqx" (This is a
stuffit binhexed file)
From the CodeWarrior IDE, import 'curl/src/macos/curl.xml', adjust the access
paths if required. Then you should be able to build:
- the libcurl libraries for PPC and 68K.
- the curl application (also available for PPC and 68K) which is the command
line version of cURL.
If the file "hugehelp.c" is missing rename "curl/src/hugehelp.c.cvs" to
"hugehelp.c" and make sure its file type is 'TEXT'
\ No newline at end of file diff --git a/Build/source/libs/curl/src/macos/curl.mcp.xml.sit.hqx b/Build/source/libs/curl/src/macos/curl.mcp.xml.sit.hqx deleted file mode 100644 index 01650b9a148..00000000000 --- a/Build/source/libs/curl/src/macos/curl.mcp.xml.sit.hqx +++ /dev/null @@ -1 +0,0 @@ -(This file must be converted with BinHex 4.0)
:%'0eFQ`ZE@0`,RKYE#jcDA3!8dP8090*9#%!N!3F@`#3")EF8h4eCQC*G#!SBbN
a16Nh,6)`-$%J3@aKC'4TEL"6HA0dC@ec,#"*EQ-Z,#"SG(4`1Lm[Gj!$,Q&XB@4
ND@jcHA-ZBfpY,e0dG@CQ5A3[$3SD!!83!!!F@`#3!h)!!3#3!h)0,`fPT9*PFf9
bGQ9NTD8!TC!%!3!!2!!3Z$+T+EJbU5N!N!d-['F!"*UP!!!E'J#3"!m!Bh9bE#j
YBh!ZH'eX!!%`!P4&@&4$9dP&!3$rN!3!N!U!!*!*!CS!N!0K!*!%$`"#`G6)[bB
"`A,RBHAV3f@ZJUhAq'5,9!EjE+@0l9R9ECKR4kTRRh2Tr@@VMJ"@0,FaU4R&FMa
LBT)4LbVeb+BC%jqHQQI4[fPBGXP3'T4BeHdDm#H-`9$4'EUJEJ186cE)3X(8K-U
1KiJ4+5-HVi0DI[@5XBTQHb300K2--ZQmjPHEfdA)NhXMSJc'A+@kemq4P`'SeCB
TD8QEYXMK8Kk4YZRkc1,G%m39"[dp8Zmc'[eKd,jpTVh555HQXd2`S9"KrGB`laE
(r+!)8r8DP'9kbYVQeY-aSjVQRA2k-`'2pqTr9EP6Z&H-%4eK4@qp1Z(fDAd1&`A
H1IYG&T86QUHmp*%cdr$@G4fJrQ[9'8p)f"FPKmMQH6!kGBGeTA5Im1Pp*(P69-*
b8ld+I'KQIH`@CNfcIEGE&Zbb`3f,4IkZ#4Ve"2%R-a#MLYefeG"*FSMj,RD`aaE
DHh6$h8hF"r`SK84RjI*$KFfI&J3ZTk"r!J2$Nr#%K(IA803e(bAG645j1231E'$
C5$(Nr9Z2LZbqJPSH&9[h1(,+e"8!I$4XKrIeH6Y"")PlSQG2V4#-hZAbb2jBT25
(IUG-bFQ+0[bbfAlrpIDlpCradaS5G(*4d%[i*ISQ&5*3e$NVT#A+!Y3P%V*@HX9
6AGI"h1N`D@lj56PX8fB95NekUL&lk'15a*Z(38rC`Ii%$Y$E-A"!QfHG(Ed)Uhd
$e&Ckrm4jfVikK&j$D[%H)*lGX!FUK'&[Ck*%#lJUT9qiT13X#T4mK2)e"`%-JFe
)*)Sa9b+92'@Gb8N6d9E+kJ#VEA(c6+d`%E82FXcNKJYM'a,FD@Jf-Bhe0i+B2b'
4,T!!lq1IYLpFITlMfGiYPc0f$6,+MDV5TI9#X-SpJhU%)Fb8cp2EjaJ6Y-)DC*f
e'FGC5B'BdQV'H!@cS`XJID*-@m3!EFmNq*Ve20Pc0%pLrF4I`MH*iE!bAI`TJ6f
fIkZ$4)P"bTla%@'ZL"8pmd(L(R3XEa8KPe@FkheL$l%E1UF89BS&afbE`RN#pXJ
IUFD+"e#6RG6PSV[,G0B8l,Ipa2UU$4a@eA6jr+8Y,jkA1f9)d0!)UcD8pc1PCaS
$4e#PcC8bCKD'Ar-2Yr"-%XLQh@AF!9p6rj`FhAk@,R*F(2h!LB#ca(F'im+pi,L
Bf4LJV+icK26r2XR2)q9fr#K3PQ3PU)3V#9KqDVJL&pEb*`f)lAAq9FdpFU[$8N6
H43&)*h$BNrd0,c(!ICCA2Nh-i-b#,A9)Dq6b0QXcb4Cb)HG0c,H"E8"bQ0V82+K
(6bpND%LUfp6S(mNAhkhHBJTdab-6GA&I%2cqe4`NjKlSpKDmI6m!h0,h!`LC-2j
pCCGeT6#1Y62eS"hVZBAlj!YPi8DS1XV14b!3d)r5Z1C(*KTB'Df3!+cZN!#aJMU
am2DQK54epTl55RJcT[d$'Q5Me1@)lDI#N6S,Rb-#2%BpdZePl2&DZb9GH)-0FR`
3N!!5&mlD,Sp)"5ZC2f@E-bpUflPTaUfFJ4mZUlcp#`iNNNl#eBaVI1&m0!dP'F[
lT`UUYVZpKX&HPmBMVf"+'fS0*6pRfA+HccXLd0PXk",eKDrh`@MYIGqm(MRcMcP
UCb#C$m'[dhBrb438Hbh4+bDe&0"BSF1P+PPP4@i`%iP22P9ibJHTcBXRN5!leUL
LkN%bVNT!r-qGI('DMAp8jc1e[eH9VBp1+DSk0V(-aMaJD(6FHQ+T'%'h8"e3LeY
*2ldFPa@Tem)!l+PBLXN#idPfFC0i-V-9Ed2X@hEhCC!!e2J+JDccb1@@XE`Ch+V
@!I1YF"Jf&8Kc*-A[5BT"cFJ3I8rP#Vb#NHYS+"%q25(pP2,aD$5KBV4"&PiN--c
f!&h'b,[%ZDE0!j&ZY32dZD3h)p'VEr2p@kU8c8kU,K'lh$A8,)`efrhRPmImIpI
YXG)SXje6-1Z$'lrlYNl#ECVlA2V[1h9Ej6X"Q-(LA%P65$-Ka92rah%dQmeF#KH
(%CE56(aEpX$BKjEHj(6mN!"l3iEi(2#eJXU2$BHK`913!#8U6q3!&-VfilRY05#
+CbP+)RJR0D'943,GI+$+0I0+'SNaNUMBZ[q4'kLpb*c)iGMP,'c'hFQc1B6@@J6
fXPPfGrc`"VaZDc5@lD1*@AIr'1UT5C'NI$HV@!e*U##m)62YSNd$`'p*J1[@ZVM
5D'GRTkrhF6"1D9-DV'2YVR*$RV,I`+QmTjICq92DT-f+SL1lD&kp)C8`64h*aY*
AaJiFNQBGVU!$p6A1-m-e*1L9Iic!B!lQ,rZIkda"cB%TJ`U*0QP,'JVEhkFUFU&
(X5K4`r3eG5!0T0`KfYQ6-I-E-mUbb&1TIGYrd"X"EXL$@U!J)EB+%q8mMd,dFeJ
fLGJA5!N*4MXRSYfk8"8Vp9RY*4rXaR0dQ"3d!1R%CAQZRaPE1*MZ&DHdelBBaaA
(CTA1k$H!##ZMT'i$kB0JJPc9Y"5Em&M)DRM*#SIahMpP`2T[3F,Sr2JX9E@,U5L
10Sdd1Y(qAG#,G'hX$PibcN@!,X`qX*,'eM#B)#S*k1PLLI*REMpB"UmhHT-j!0&
TG)jc$@3BLI"em*jDf-B%qLmRR$,BQ1q)YN!*Q1ZNVH,YL#f$!C3-1#@Lch3a2+D
1S3dIq-1a[1C*E$*P+KPQG`THP&p'TQ$JJ-*$cK9F03c3F-aJGGic8i,3hd[fAQ(
X2Zr!KU)Rlj!!cer8P'[-pmXiEG4ETUADfi2e!+XIM"@%f)[i)Ikd3c!4jR!-4ar
q1T6*aH(Xp6eP)1"JRKV00!kq!BaZa-p*GA93QrN2e@l5U!bDcH)QqRTh9BT04b$
5Yml1!p$+q9ILbSc)r+'IfN,jLH0'9S)Z+ji4P'1GBK9MHCmrhF8AVC(Xmm"IHl#
QFBJ"3PC,19FjeHrVT3AV%qCIqAh1VJm(G,#b$Gh-aRS@jXNFTGXV8@2Eq&L#U%L
bf**dKC),j0c9*P0&V!XPRpA0'`jEQG1PDJ+Zdb`[PpRLe34(EcHI-CPm54(VIbE
2J3S%q'`"i`+,HjI3D&@MmVRC5ffqFSVlc[1eQP`@)$eHGrSTSGA@,fc&Yd%c#-[
c`N5)bZ%5b!`+QA-C%YBp[NpG`fMrU'VklXR-he$9jRbE5pBEJR2GeER[mN'1,[`
*5HDBYJFl#DN&kKi#mVHiL2@'H4Lb-%(#jb5!e"`RQeJJPfD*L#l$'($NZ1*53#4
P"Z19[8kVVN86PN0#LLPpq&`6QI1)ZR-h3b"[H'qCf&q%J1$CRiFD6AhC'iAdA!5
&9qaeYeVcr,1k'F2P%TlIY-mjXqRIMK+"1cJjQ1[ad0mTG53!aa[IQhlKS@)N-(a
pUJ$DahNB2HZ[!!fJ,p(-ACep@IGH86&XYZf#UZd`6HTD`e66bA,VjkUkQpeq)%J
hajLPmXp(SipKb*'k%k1f[e'0!D&Sh80Q"$BH&jiJb+SEbpTbQBkE2Qp,5[hLS@1
1pUZ(*&)`(+D+RH8$Z0,+br4iTZJ2rZVP,UC!FP8[XHa#3+"aHC!!DMcpKpFDeIe
D%2`@$YX20DB&iIcJUS-R%eCPc4&MSE2f3qfA9IJK5I@,R4403FVlTR'JKYF'NBr
eC`jcaFi8Bl$9bp,K,TCp"cJ33fq@Z6`!DldUA,C8J[(2MaI2,p!`$5YT12Mei`2
kEK")F$6(J8GAiLMFaTiMqpE8KiZGrrk"D3Fi#8(4*fVmGK4GIb9Pb9N,%Qh2V&b
G`4BR#1B@ZrmSF@DdRU#!!i64LJXc9abPYpjfa+I*FSZ(&IkqF2,@5XqlSfe(pJ5
@FBNcIm6`B$SBQ19pA0k8'bmMac8kRP[Q#l4qV9P3ibU$dmlE'[@*Dj1JGRJe4[Z
5M#`*0UYGpeTAFQV4)hc"Frq0Qe88T#fG+YrEd%GD5VaN8ee69)@GJLMaCTYZJ$h
Y`PmD[A8fB#4GP0TV(G5&@%i-DBILl&5HUC*fk#qhfiL-VdMPEK`@*G5aB'3@1DI
`Gmq!%mJhD-m-E@ei1#pf)H!Y)#hdYf5,Kre61KKr6-k+iC&[6#!,*8aC4V,dBda
*G-Ea,kcp`EQYmI)q(TSXdpT[&6NmmVela*&ZrNk#!a*Ek1U9e(A-C#MTiFrU*8#
GRIPS(IG0NC0@D@C,ef!3$-V,f1MmeU$hMNGflfPjdA1l$m'dhT6mE$5k,&09Rk*
35$B&A8hc`Q,f[MCL'()&ZSp9"F43Y6Gp$d@GQ1*-IFE)fQ`!Gl+4bY!)4&ME!i1
S(e$jM(!B0$aPZUklAZC&R6Q$q(JE0b`QVJ8l2ELL'2i"i$m4hNQq3$S*@r,KlPV
@0aB$#$cij*NFIiA[#P'Hmk'D%mJh*T,r&0T!Sj!!I%QRN!"4J!C25i'JdhRAG4#
+iPZ,'C)pS[%JqMbf%5Z@HYTRpTjm`P9K-jj6!9j,5+E8[jbd,$Qb,rLerVlm'a"
EJ,NAIG%b0S`!KTfSi1,Hlm6&Tl86i@XA-SjmDCVVm2JR[U[ZUaabTc`"ZLc''*T
MA06`8"HaVhrb,12m0TYp8$49BH,J(bC-qMij8S3`iIJLm!&DUAX,NDT4j(cCZq`
Sjr#YLPbe+8AqUc@cBNPJ0I"'D`jmfZPUpmQhXQ'2G"i,XrX6PZh5*UdATE`QBJT
2*-NNJ'H03hDLq3NLl8V#BcH(SN53!&)l)I#5DJXfUc)pbK*kKMMdhlkIbRYcdU*
-kaTcDabVQGjqY*`D1++%&&hPjA0$mc46dA5Pa&+%QbaXIY(9*40iKhGhE(!d(Zj
TU%6JfY"(KHR"&-pfT-D8AB"c'iDKcqH'9"0#TcflZJ5YE#(YDU4QTYFS*`lY2+'
HUH+"N6hThTfY$V%@bmP3RrZVqj*lIM!qQ&'(*R8#YUX0ViVa-8c1cLi5mSh423Y
c"ZTZ&UCCXZeRVUh#+(cU-p`4R%4,2aCl@ZeXXYH'f1j5r6'Fdp6k&d9CITqHK#@
jRIp9LG#d$jCXIJ9ZTRb1X1r#JCA&JjmSEMUfVbL!D[6I$5#JScE6Na9lmKfF0EH
V"15k'@bDdk%miP"ThZ@A0I0@V`65l5S9deFHd#$hUXR5GDT"DMik$YJL+GmY#CB
f%KC+a"&%)ihiBfR+0I#@&ENYGGfGh1ZaX"RlLlZ$l-9X9H*LaaQqEZ6LZ'rpIM*
GCa`prJ+&V"j-rb!(B[h8XVQbRfQhYc,GJ(J65aIbPCVha(mX8UAS2e@%VYZYMF(
$UMM#pf[eK66(Dj1)d*GNK+[I"ZK52ijfp01Pj098q,AA1GUbRR,5Z)jBdJMD1LZ
Y8$2iKCVB!R2!PiF*N!$Ycb2#1Nh6&f-fSDEc2YH1jp9GM@!XI'*ilG-Qc4qT0fe
dIZdlC9qP)X!!&@4T9A$EaNq-AZKQ6%R$$a54DScX[R*,M*!!k)K4LrB9Ma0[+II
jcUfa44M*R18DLAMSp36ELf),#2#qPidNRI[QVFj%D95q)Xa`RS6EjCd+5BN6MeV
%!,Q1a$r!B1`Bp3FM8IpLD)S+$G#+BR1)d#!hB9'5GRjMXFLAC-06*FkSLrBpG6X
,q$JVU-a-"TBp@F)+T`$8S[Dj!EIek6Ei!CIBUAGZpERj!eKb9(,X'RqjiBH5bbP
-M*hrM9L`Xhl"GqM#U-f9*jXA"IQeZ[b#&`DqGehATT!!(S$6dqLGCl@A-NeefUB
CPHNb!6cQp-!L[%Qal$RBVE9ZN!#qrF#!'d&V@ceTH8bbU3`DV0!06TamU$%('FZ
l0N`a41a+-&6)Jcjl2XS1jHBp[HE"-PTaj6*#rZXdIX8%X8XRqJXc(FN5iG%bELS
+b,60YmQf"J65!j!!D%+B#Ik0&-B3B@*GM[jJlJBU$RkG93B`&-#!h+HerJ8PT,@
b4!M[IeX(5fA%bFZLUp@K6(mkd@BTHhBcDkGaJh0`$CA2N!#3!%G1-Ne!SYh%drH
F,BQM`')#DqM&#U(*Y-1lG45[6@GDN!#,bMKZRMG8"D$T2Kc192P!mSK@0AC8#3E
D5,p-B+X2ZcmCQAIc,2AEdK5!+1N5*`cl9qJ@N!")h+G,fYaRJrRN`dd1NQ"E$VL
ki6&AIilJU6[Z6pR5B*U9Rm1S[dr`a6mp3Fd`ArhVJQ!TR9T#ZhI+MpjYcFC*Tpf
JP)[hkrKT5D`IVBCl"QA0TS2!TdYN8%E#epb&4PA9Q-hQ50A5SA@GjUa`kE-X-HM
+d28*r*JYMjd!ICRc,(ZrmcU5e(4KNd[IAR$U[Tm*rdK"&(P&HE,U5c&(#0[`'-D
5f6@Qdr3dIB[VAlQbBHEiXrVYae)ZjkP@,'U[dE)NKfe95B9"Jk0'I$A8b$VC&CI
hj0TB-$9m0"N8$CIaHe"M2@3-GQ$(12rHGfTrFM[EP9BMH3B`fcFE2PM'VNZ+fSm
R[kIC&VabE@DX[9ZChF-R3*X*[Gmakl`@[!XBM"Iq3#d4e2`)6dE"fe2&5r'*3)D
fB!kY""qf-#Xh!5DUNqDYG(&`URfpc*RAAS-#r+D@!A[j8r[eAi!S-rimJJ'!JGb
%*BZ5$!f,GjJjLa5D")q,RL4XR[Ppi(r8RNiP$2e@ALL+bU&lUIljbU5MXf56RSK
#8KbRX8C@f&kmYX-V,K+TmASNfml4&HPfSV$Y(&Y&J8ER)M[,N!"VmB&c'$a2h'h
c`MAp!+rpRY(4Qe8@Z#el[0+YYH#ZYd3EMkbHRechUKDqX5k8m)cfAKj'mJ*[h6'
6)pLEDAqcBBi5[CE[rpIkcC%LIUe3f4@8TFUBfZ9B6FYY-F)N[fBV'h3@(m&iB,a
)d1HkSQUS"C91!eHTUrHa9J[FLDk'K8-H9XmKc$L*'V5H'-5[*p)TC'El!$b2J"k
T0Ul!A)(4ZlVY!Te#X5V)+@[J"r1e-BdkRFe`N!#r0DcM"VUBekGkJe,*5cpX0PS
T(d3588LNcfA!1-TB8GQ`K0eIIl0N96)Nd!Rb%&4LIRETS'P3+jA+Bi9SY#qCmGI
5Ai,[V-NK#La5439PX&LDc8hTl$aLj359-bqmDJZ)GiaX1k1[k)bMZ2r(U*c[Gej
%D)m*@@+eGqbF249V)fRpkp)6e0JrHiB*[K8*9fGR-AU+jTcpi#f0+U0+L@Yc'U2
dc04kb961J1JdC5PLEV30PJSYZXJ#jfdlb$,0UrY"jX[RkUY8JLY)-L`Gj6ieH'6
%C*LCT`)3ZS@[X2!%!-SJKp1jEL2Cml64,qZhPa)'AidDL1Ybp@6`iI80l+RfHpd
Y1XF"[0[r!$B*PqDdHB95)l8[1I%*Nr,#e&Y3CCiNFC[8dj9TDKdh)Q6,,fCk(S#
pQbBT0TY@PD(I@lDhBV%Pk9GrD%IY,YpIM-V9cE(UBbG2&Xck6c5I1BcMA-YcJFA
0,Q"*[F1C16*jHTMMPV0@6HYDU5V0`dPbD&X+MPSlR&+hbi36I8(5pBhrN!$Nj*a
Z#!akZ&EGD+M,95XdGQGpfB`RY9BjCa9"Jp0EhH,EFY$Xp0#fq5DI#KVJBj,10hZ
`Bq#LBCm2%H@E,+X9!b92Xb3iDFh4MVPIpfIVl"rkr%Eie%$X)MHS6PM!XTB'1$H
kR%(U%"b&pq)aqe3a9TkCmFDMGk2qq%"HEh*XqVLk9-A,*pAd(dpZSG2Q#&qCJP2
X5cRMX'hX$'L5*+0!i`51"Yaj''JmqAJA#qUqe!P,MR-!NDje18N(qV3@5C1&B`D
IqHRl9X2i2T6ZJH'e!jK,MY#3!+TSYiGI*AaPcjIbGE,pQ5[0Bk@%Ahrf#aQ$NkU
d!GNU@XiVQ!T6'EHGZC4@(Qf-icF'*X1,1elXp1L)jmi`Y"F,'Fll%A@'$Mp1IT%
4pZjYGj%b,8rhMFlIh1-NN!#MD$'mrpeRD+18mX9YJ+9kiQE-B&U''*jE1*6raUl
$40TV"8Aj2`cF3YHakZ6%05+TZ8&#e4HlCpJjL2$)l&2RNVNKBEAbL2UqijV4C,4
!9bq*`lQDp-&$iV8-!)S2)(el3Gp5lfekXY%TkcB%-PkqfD`DRD,R`APCTf%SkYi
YkMk9pc01i''-FlHj6bF6QU%PJ+-@4DbAp91&Q,4`0mc1'1(,P6j)j1fMGbAf%BG
,M8&e!2R'Uk,%Rcm9JkL53'"eTe@IXaCCY!0!33RNL)DY5CYmjN%VhK,U8GXFG+[
8jmX*Z2'(9BE)F'c"[r"4(UF4E*Qa[Nk-j&"MM!B6UZ*0YpL'!+9)G*&k,&2l@&&
AbpQL&q)IrbB+ED(J8lRM"*Ii6%VUADiNE'dVU'q%[LHeia*6Y%89acHSZLZH(mq
I[jRmr6$mVc-RTPb8+)ZMjI@hNG(F0VT&bU@(Hq1!F"2j881[Z$Nm5SC@1$41qHC
Z*B%dX0kZFfcHDPjCH`GJrbU5DkEdIaTUI+NaK"PdSmI[LPTLJ9IJ8KA#kV"2Uia
KdERdQFN93d"lqUqXj@Mr+*qi6&"UECZ-#,*iEC&C`bZqlMfYpM(epQ)*%&C![LJ
hPR8L[G0#*-Pj,5P*C$cF+BTi2&i!bX+hlrFri`8+M'SNkXcMM(Q3!%%A2MlD*28
VCqT[JjMIq0PTUq0qPSAf4a0$XLC)-48j(c*)V1K5Pc(m%SGL+($j+p8S%dQ3!&Z
lQ%+#S[eP8p$5$[$Vq)R)6HaCkZT5CT&*Rb,2I'PA"EVrJTPJKBE@Xi$J%rQAiUE
$fqc2ald8l1R&r%FZ(Gq*VR(@l'M!MiUBId*-Kd&S!pP"YBNkYP[B[Z%YlT5SmY!
2rJF43CSX-e@Gp1FDa-d'!JQ@al9raL0r$[fkG0#D5VmHClHGEqhD`fmVA[jC+rM
(&qL@f"N"(1DT-#2bD)j)N3!`Tr&$Rep"LN@aR!Rl(5lcE1UYTUmcVKrX(f1)40K
Y4RQl"CKXF9C08YC(*$aR5a@QalMZGITR05QRZ"+h`52GmMN4pj6iXh*6MZFb8ke
arcTIYkJ%@!F4TNFBfCKU#I3SZViZSKC0e*!!"cFIrhEC%XbSMX6jaS5&9#h@!`d
[Y&`V)j*NiURXkhF0DP5e2dAG*Z,9N!$*D[l1$KF5SNi[b"J@Z2Di),1E93CDGmd
Gb1)8,k@iE`R'kNHkLYb%dGd34Y,C013(''CiPAT2BRL[dYPHEY6ZE'`i0f-mp)a
X&[HT"f3K+8rfE`T!,%MI)YZKJqZ#ZDTfGRYe'+5[Ke+2E%ecBS3pPC!!rU*,drD
&884$ZmbC%Y-Iea(IUfjblN-*cX2hB`Mr+aG#AhMaaJfKPbd5P[+H$9A'(jGqcQ-
2pAc0'J[b`hF4+N1dYV[8#-aHm&FiqHbK`R8PpZ*be,`-[a"P"q1lcb$Z8I%0RA2
X8bcClk*cpGU1Q5c6VI%#`63X"PYE,*Hi3bF21r2JTij#%Q3J'cij@e+-99)rZqB
$DdVZbrG[S8$eBj!!@$Z3!%C,DD1H[Dr+iFXKGGD&**8$2mqBZG+M+&`P%``#e8Y
13020cm&rj9ND(4q*S+D%eYGi'X(IT1lA+fV1,T!!6(fcKe2S6"!X-C-F-TqlSTB
BJTb$,U'!bY8!!!:
\ No newline at end of file diff --git a/Build/source/libs/curl/src/macos/src/curl_GUSIConfig.cpp b/Build/source/libs/curl/src/macos/src/curl_GUSIConfig.cpp deleted file mode 100644 index b13d5ec3cbd..00000000000 --- a/Build/source/libs/curl/src/macos/src/curl_GUSIConfig.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/**************** BEGIN GUSI CONFIGURATION **************************** - * - * GUSI Configuration section generated by GUSI Configurator - * last modified: Mon Oct 29 15:41:51 2001 - * - * This section will be overwritten by the next run of Configurator. - */ - -#define GUSI_SOURCE -#include <GUSIConfig.h> -#include <sys/cdefs.h> - -/* Declarations of Socket Factories */ - -__BEGIN_DECLS -void GUSIwithInetSockets(); -void GUSIwithLocalSockets(); -void GUSIwithMTInetSockets(); -void GUSIwithMTTcpSockets(); -void GUSIwithMTUdpSockets(); -void GUSIwithOTInetSockets(); -void GUSIwithOTTcpSockets(); -void GUSIwithOTUdpSockets(); -void GUSIwithPPCSockets(); -void GUSISetupFactories(); -__END_DECLS - -/* Configure Socket Factories */ - -void GUSISetupFactories() -{ -#ifdef GUSISetupFactories_BeginHook - GUSISetupFactories_BeginHook -#endif - GUSIwithInetSockets(); -#ifdef GUSISetupFactories_EndHook - GUSISetupFactories_EndHook -#endif -} - -/* Declarations of File Devices */ - -__BEGIN_DECLS -void GUSIwithNullSockets(); -void GUSISetupDevices(); -__END_DECLS - -/* Configure File Devices */ - -void GUSISetupDevices() -{ -#ifdef GUSISetupDevices_BeginHook - GUSISetupDevices_BeginHook -#endif - GUSIwithNullSockets(); -#ifdef GUSISetupDevices_EndHook - GUSISetupDevices_EndHook -#endif -} - -#ifndef __cplusplus -#error GUSISetupConfig() needs to be written in C++ -#endif - -GUSIConfiguration::FileSuffix sSuffices[] = { - "", '????', '????' -}; - -extern "C" void GUSISetupConfig() -{ - GUSIConfiguration * config = - GUSIConfiguration::CreateInstance(GUSIConfiguration::kNoResource); - - config->ConfigureDefaultTypeCreator('TEXT', 'CWIE'); - config->ConfigureSuffices( - sizeof(sSuffices)/sizeof(GUSIConfiguration::FileSuffix)-1, sSuffices); -} - -/**************** END GUSI CONFIGURATION *************************/ diff --git a/Build/source/libs/curl/src/macos/src/macos_main.cpp b/Build/source/libs/curl/src/macos/src/macos_main.cpp deleted file mode 100644 index 01ed6fe27f0..00000000000 --- a/Build/source/libs/curl/src/macos/src/macos_main.cpp +++ /dev/null @@ -1,44 +0,0 @@ -/* ========================================================================= - Copyright (C) 2001 Eric Lavigne - - Permission is granted to anyone to use this software for any purpose on any - computer system, and to redistribute it freely, subject to the following - restrictions: - - The author is not responsible for the consequences of use of this - software, no matter how awful, even if they arise from defects in it. - - The origin of this software must not be misrepresented, either by - explicit claim or by omission. - - You are allowed to distributed modified copies of the software, in source - and binary form, provided they are marked plainly as altered versions, and - are not misrepresented as being the original software. - ========================================================================= */ - -#include <stdlib.h> -#include <string.h> -#include <stdio.h> -#include <Memory.h> -#include <GUSICommandLine.h> -#include <stdlib.h> - -/* ========================================================================= */ - -DECLARE_MAIN(curl) - -REGISTER_MAIN_START -REGISTER_MAIN(curl) -REGISTER_MAIN_END - -/* ========================================================================= */ - -int main() -{ - ::MaxApplZone(); - for (int i = 1; i <= 10; i++) - ::MoreMasters(); - - (void) exec_commands(); - - return 0; -} - - diff --git a/Build/source/libs/curl/src/main.c b/Build/source/libs/curl/src/main.c deleted file mode 100644 index 1a9a14ef0d0..00000000000 --- a/Build/source/libs/curl/src/main.c +++ /dev/null @@ -1,2535 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2001, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: main.c,v 1.112 2002/02/28 23:55:18 bagder Exp $ - *****************************************************************************/ - -/* This is now designed to have its own local setup.h */ -#include "setup.h" - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <stdarg.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <ctype.h> - -#include <curl/curl.h> - -#define _MPRINTF_REPLACE /* we want curl-functions instead of native ones */ -#include <curl/mprintf.h> - -#include "urlglob.h" -#include "writeout.h" - -#define CURLseparator "--_curl_--" - -#if defined(WIN32)&&!defined(__CYGWIN32__) -#include <winsock.h> -#endif - -#include "version.h" - -#ifdef HAVE_IO_H /* typical win32 habit */ -#include <io.h> -#endif - -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif - -#ifdef HAVE_FCNTL_H -#include <fcntl.h> -#endif - -#ifdef HAVE_UTIME_H -#include <utime.h> -#else -#ifdef HAVE_SYS_UTIME_H -#include <sys/utime.h> -#endif -#endif - -/* The last #include file should be: */ -#ifdef MALLOCDEBUG -/* this is low-level hard-hacking memory leak tracking shit */ -#include "../lib/memdebug.h" -#endif - -#define DEFAULT_MAXREDIRS 50L - -#ifndef __cplusplus /* (rabe) */ -#ifndef typedef_bool -typedef char bool; -#endif -#endif /* (rabe) */ - -#define CURL_PROGRESS_STATS 0 /* default progress display */ -#define CURL_PROGRESS_BAR 1 - -typedef enum { - HTTPREQ_UNSPEC, - HTTPREQ_GET, - HTTPREQ_HEAD, - HTTPREQ_POST, - HTTPREQ_SIMPLEPOST, - HTTPREQ_CUSTOM, - HTTPREQ_LAST -} HttpReq; - -/* Just a set of bits */ -#define CONF_DEFAULT 0 - -#define CONF_AUTO_REFERER (1<<4) /* the automatic referer-system please! */ -#define CONF_VERBOSE (1<<5) /* talk a lot */ -#define CONF_HEADER (1<<8) /* throw the header out too */ -#define CONF_NOPROGRESS (1<<10) /* shut off the progress meter */ -#define CONF_NOBODY (1<<11) /* use HEAD to get http document */ -#define CONF_FAILONERROR (1<<12) /* no output on http error codes >= 300 */ -#define CONF_UPLOAD (1<<14) /* this is an upload */ -#define CONF_FTPLISTONLY (1<<16) /* Use NLST when listing ftp dir */ -#define CONF_FTPAPPEND (1<<20) /* Append instead of overwrite on upload! */ -#define CONF_NETRC (1<<22) /* read user+password from .netrc */ -#define CONF_FOLLOWLOCATION (1<<23) /* use Location: Luke! */ -#define CONF_GETTEXT (1<<24) /* use ASCII/text for transfer */ -#define CONF_HTTPPOST (1<<25) /* multipart/form-data HTTP POST */ - -#define CONF_MUTE (1<<28) /* force NOPROGRESS */ - -#ifndef HAVE_STRDUP -/* Ultrix doesn't have strdup(), so make a quick clone: */ -char *strdup(char *str) -{ - int len; - char *newstr; - - len = strlen(str); - newstr = (char *) malloc((len+1)*sizeof(char)); - if (!newstr) - return (char *)NULL; - - strcpy(newstr,str); - - return newstr; - -} -#endif - -#ifdef VMS -int vms_show = 0; -#define FAC_CURL 0xC01 -#define FAC_SYSTEM 0 -#define MSG_NORMAL 0 -#define VMS_STS(c,f,e,s) (((c&0xF)<<28)|((f&0xFFF)<<16)|((e&0x1FFF)<3)|(s&7)) -#define VMSSTS_HIDE VMS_STS(1,0,0,0) -#define SEV_WARNING 0 -#define SEV_SUCCESS 1 -#define SEV_ERROR 2 -#define SEV_INFO 3 /* success, with an extra hint */ -#define SEV_FATAL 4 -globalvalue int CURL_UNSUPPROTO; /* these are from curlmsg.msg file..... */ -globalvalue int CURL_FAILINIT; -globalvalue int CURL_BADURLSYN; -globalvalue int CURL_BADURLUSER; -globalvalue int CURL_BADPROXY; -globalvalue int CURL_BADHOST; -globalvalue int CURL_FAILHOST; -globalvalue int CURL_FTPUNKREPLY; -globalvalue int CURL_FTPNOACC; -globalvalue int CURL_FTPUSRPW; -globalvalue int CURL_FTPBADPASS; -globalvalue int CURL_FTPBADUSER; -globalvalue int CURL_FTPBADPASV; -globalvalue int CURL_FTPBAD227; -globalvalue int CURL_FTPBADHOST227; -globalvalue int CURL_FTPNORECONN; -globalvalue int CURL_FTPNOBIN; -globalvalue int CURL_PARTIALFILE; -globalvalue int CURL_FTPNORETR; -globalvalue int CURL_FTPWRITERR; -globalvalue int CURL_FTPNOQUOTE; -globalvalue int CURL_HTTPPNF; -globalvalue int CURL_WRITERR; -globalvalue int CURL_BADUSER; -globalvalue int CURL_FTPNOSTOR; -globalvalue int CURL_READERR; -globalvalue int CURL_OUTOFMEM; -globalvalue int CURL_TIMEOUT; -globalvalue int CURL_FTPNOASCII; -globalvalue int CURL_FTPNOPORT; -globalvalue int CURL_FTPNOREST; -globalvalue int CURL_FTPNOSIZE; -globalvalue int CURL_HTTPRNGERR; -globalvalue int CURL_HTTPPOSTERR; -globalvalue int CURL_SSLNOCONN; -globalvalue int CURL_FTPBADRESUME; -globalvalue int CURL_FILENOACC; -globalvalue int CURL_LDAPNOBIND; -globalvalue int CURL_LDAPNOSRCH; -globalvalue int CURL_LDAPNOLIB; -globalvalue int CURL_LDAPNOFUNC; -globalvalue int CURL_ABORTCB; -globalvalue int CURL_BADPARAM; -globalvalue int CURL_BADORDER; -globalvalue int CURL_BADPWD; -globalvalue int CURL_MNYREDIR; -globalvalue int CURL_UNKTELNET; -globalvalue int CURL_UNKMSG; -globalvalue int CURL_BADSSLCERT; -globalvalue int CURL_SRVNOERR; -globalvalue int CURL_MAXMSG; -long vms_cond[] = { - VMS_STS(1,FAC_SYSTEM,MSG_NORMAL,SEV_SUCCESS), - CURL_UNSUPPROTO, /* these are from curlmsg.msg file..... */ - CURL_FAILINIT, - CURL_BADURLSYN, - CURL_BADURLUSER, - CURL_BADPROXY, - CURL_BADHOST, - CURL_FAILHOST, - CURL_FTPUNKREPLY, - CURL_FTPNOACC, - CURL_FTPUSRPW, - CURL_FTPBADPASS, - CURL_FTPBADUSER, - CURL_FTPBADPASV, - CURL_FTPBAD227, - CURL_FTPBADHOST227, - CURL_FTPNORECONN, - CURL_FTPNOBIN, - CURL_PARTIALFILE, - CURL_FTPNORETR, - CURL_FTPWRITERR, - CURL_FTPNOQUOTE, - CURL_HTTPPNF, - CURL_WRITERR, - CURL_BADUSER, - CURL_FTPNOSTOR, - CURL_READERR, - CURL_OUTOFMEM, - CURL_TIMEOUT, - CURL_FTPNOASCII, - CURL_FTPNOPORT, - CURL_FTPNOREST, - CURL_FTPNOSIZE, - CURL_HTTPRNGERR, - CURL_HTTPPOSTERR, - CURL_SSLNOCONN, - CURL_FTPBADRESUME, - CURL_FILENOACC, - CURL_LDAPNOBIND, - CURL_LDAPNOSRCH, - CURL_LDAPNOLIB, - CURL_LDAPNOFUNC, - CURL_ABORTCB, - CURL_BADPARAM, - CURL_BADORDER, - CURL_BADPWD, - CURL_MNYREDIR, - CURL_UNKTELNET, - CURL_UNKMSG, - CURL_BADSSLCERT, - CURL_SRVNOERR, - CURL_MAXMSG -}; -#endif - -extern void hugehelp(void); - -/* - * This is the main global constructor for the app. Call this before - * _any_ libcurl usage. If this fails, *NO* libcurl functions may be - * used, or havoc may be the result. - */ -CURLcode main_init(void) -{ - return curl_global_init(CURL_GLOBAL_DEFAULT); -} - -/* - * This is the main global destructor for the app. Call this after - * _all_ libcurl usage is done. - */ -void main_free(void) -{ - curl_global_cleanup(); -} - -int SetHTTPrequest(HttpReq req, HttpReq *store) -{ - if((*store == HTTPREQ_UNSPEC) || - (*store == req)) { - *store = req; - return 0; - } - fprintf(stderr, "You can only select one HTTP request!\n"); - return 1; -} - -static void helpf(const char *fmt, ...) -{ - va_list ap; - if(fmt) { - va_start(ap, fmt); - fputs("curl: ", stderr); /* prefix it */ - vfprintf(stderr, fmt, ap); - va_end(ap); - } - fprintf(stderr, "curl: try 'curl --help' for more information\n"); -} - -/* - * A chain of these nodes contain URL to get and where to put the URL's - * contents. - */ -struct getout { - struct getout *next; - char *url; - char *outfile; - int flags; -}; -#define GETOUT_OUTFILE (1<<0) /* set when outfile is deemed done */ -#define GETOUT_URL (1<<1) /* set when URL is deemed done */ -#define GETOUT_USEREMOTE (1<<2) /* use remote file name locally */ - -static void help(void) -{ - printf(CURL_ID "%s\n" - "Usage: curl [options...] <url>\n" - "Options: (H) means HTTP/HTTPS only, (F) means FTP only\n" - " -a/--append Append to target file when uploading (F)\n" - " -A/--user-agent <string> User-Agent to send to server (H)\n" - " -b/--cookie <name=string/file> Cookie string or file to read cookies from (H)\n" - " -B/--use-ascii Use ASCII/text transfer\n", - curl_version()); - puts(" -c/--cookie-jar <file> Write all cookies to this file after operation (H)\n" - " -C/--continue-at <offset> Specify absolute resume offset\n" - " -d/--data <data> HTTP POST data (H)\n" - " --data-ascii <data> HTTP POST ASCII data (H)\n" - " --data-binary <data> HTTP POST binary data (H)\n" - " --disable-epsv Prevents curl from using EPSV (F)\n" - " -D/--dump-header <file> Write the headers to this file\n" - " --egd-file <file> EGD socket path for random data (SSL)\n" - " -e/--referer Referer page (H)"); - puts(" -E/--cert <cert[:passwd]> Specifies your certificate file and password (HTTPS)\n" - " --cert-type <type> Specifies your certificate file type (DER/PEM/ENG) (HTTPS)\n" - " --key <key> Specifies your private key file (HTTPS)\n" - " --key-type <type> Specifies your private key file type (DER/PEM/ENG) (HTTPS)\n" - " --pass <pass> Specifies your passphrase for the private key (HTTPS)"); - puts(" --engine <eng> Specifies the crypto engine to use (HTTPS)\n" - " --cacert <file> CA certifciate to verify peer against (SSL)\n" - " --ciphers <list> What SSL ciphers to use (SSL)\n" - " --connect-timeout <seconds> Maximum time allowed for connection\n" - " -f/--fail Fail silently (no output at all) on errors (H)\n" - " -F/--form <name=content> Specify HTTP POST data (H)\n" - " -g/--globoff Disable URL sequences and ranges using {} and []\n" - " -G/--get Send the -d data with a HTTP GET (H)"); - puts(" -h/--help This help text\n" - " -H/--header <line> Custom header to pass to server. (H)\n" - " -i/--include Include the HTTP-header in the output (H)\n" - " -I/--head Fetch document info only (HTTP HEAD/FTP SIZE)\n" - " --interface <interface> Specify the interface to be used\n" - " --krb4 <level> Enable krb4 with specified security level (F)\n" - " -K/--config Specify which config file to read\n" - " -l/--list-only List only names of an FTP directory (F)"); - puts(" -L/--location Follow Location: hints (H)\n" - " -m/--max-time <seconds> Maximum time allowed for the transfer\n" - " -M/--manual Display huge help text\n" - " -n/--netrc Read .netrc for user name and password\n" - " -N/--no-buffer Disables the buffering of the output stream"); - puts(" -o/--output <file> Write output to <file> instead of stdout\n" - " -O/--remote-name Write output to a file named as the remote file\n" - " -p/--proxytunnel Perform non-HTTP services through a HTTP proxy\n" - " -P/--ftpport <address> Use PORT with address instead of PASV when ftping (F)\n" - " -q When used as the first parameter disables .curlrc\n" - " -Q/--quote <cmd> Send QUOTE command to FTP before file transfer (F)"); - puts(" -r/--range <range> Retrieve a byte range from a HTTP/1.1 or FTP server\n" - " -R/--remote-time Set the remote file's time on the local output\n" - " -s/--silent Silent mode. Don't output anything\n" - " -S/--show-error Show error. With -s, make curl show errors when they occur\n" - " --stderr <file> Where to redirect stderr. - means stdout.\n" - " -t/--telnet-option <OPT=val> Set telnet option\n" - " -T/--upload-file <file> Transfer/upload <file> to remote site\n" - " --url <URL> Another way to specify URL to work with"); - puts(" -u/--user <user[:password]> Specify user and password to use\n" - " -U/--proxy-user <user[:password]> Specify Proxy authentication\n" - " -v/--verbose Makes the operation more talkative\n" - " -V/--version Outputs version number then quits\n" - " -w/--write-out [format] What to output after completion\n" - " -x/--proxy <host[:port]> Use proxy. (Default port is 1080)\n" - " --random-file <file> File to use for reading random data from (SSL)\n" - " -X/--request <command> Specific request command to use"); - puts(" -y/--speed-time Time needed to trig speed-limit abort. Defaults to 30\n" - " -Y/--speed-limit Stop transfer if below speed-limit for 'speed-time' secs\n" - " -z/--time-cond <time> Includes a time condition to the server (H)\n" - " -Z/--max-redirs <num> Set maximum number of redirections allowed (H)\n" - " -0/--http1.0 Force usage of HTTP 1.0 (H)\n" - " -1/--tlsv1 Force usage of TLSv1 (H)\n" - " -2/--sslv2 Force usage of SSLv2 (H)\n" - " -3/--sslv3 Force usage of SSLv3 (H)"); - puts(" -#/--progress-bar Display transfer progress as a progress bar\n" - " --crlf Convert LF to CRLF in upload. Useful for MVS (OS/390)"); -} - -struct LongShort { - const char *letter; - const char *lname; - bool extraparam; -}; - -struct Configurable { - bool remote_time; - char *random_file; - char *egd_file; - char *useragent; - char *cookie; /* single line with specified cookies */ - char *cookiejar; /* write to this file */ - char *cookiefile; /* read from this file */ - bool use_resume; - bool resume_from_current; - bool disable_epsv; - int resume_from; - char *postfields; - long postfieldsize; - char *referer; - long timeout; - long connecttimeout; - long maxredirs; - char *headerfile; - char *ftpport; - char *iface; - unsigned short porttouse; - char *range; - int low_speed_limit; - int low_speed_time; - bool showerror; - char *infile; - char *userpwd; - char *proxyuserpwd; - char *proxy; - bool configread; - bool proxytunnel; - long conf; - - struct getout *url_list; /* point to the first node */ - struct getout *url_last; /* point to the last/current node */ - - struct getout *url_get; /* point to the node to fill in URL */ - struct getout *url_out; /* point to the node to fill in outfile */ - - char *cipher_list; - char *cert; - char *cert_type; - char *cacert; - char *key; - char *key_type; - char *key_passwd; - char *engine; - bool crlf; - char *customrequest; - char *krb4level; - long httpversion; - bool progressmode; - bool nobuffer; - bool globoff; - bool use_httpget; - - char *writeout; /* %-styled format string to output */ - - FILE *errors; /* if stderr redirect is requested */ - - struct curl_slist *quote; - struct curl_slist *postquote; - struct curl_slist *prequote; - - long ssl_version; - curl_TimeCond timecond; - time_t condtime; - - struct curl_slist *headers; - - struct HttpPost *httppost; - struct HttpPost *last_post; - - struct curl_slist *telnet_options; - - HttpReq httpreq; -}; - -static int parseconfig(char *filename, - struct Configurable *config); -static char *my_get_line(FILE *fp); - -static void GetStr(char **string, - char *value) -{ - if(*string) - free(*string); - if(value && *value) - *string = strdup(value); - else - *string = NULL; -} - -static char *file2string(FILE *file) -{ - char buffer[256]; - char *ptr; - char *string=NULL; - int len=0; - int stringlen; - - if(file) { - while(fgets(buffer, sizeof(buffer), file)) { - ptr= strchr(buffer, '\r'); - if(ptr) - *ptr=0; - ptr= strchr(buffer, '\n'); - if(ptr) - *ptr=0; - stringlen=strlen(buffer); - if(string) - string = realloc(string, len+stringlen+1); - else - string = malloc(stringlen+1); - - strcpy(string+len, buffer); - - len+=stringlen; - } - return string; - } - else - return NULL; /* no string */ -} - -static char *file2memory(FILE *file, long *size) -{ - char buffer[1024]; - char *string=NULL; - char *newstring=NULL; - long len=0; - long stringlen=0; - - if(file) { - while((len = fread(buffer, 1, sizeof(buffer), file))) { - if(string) { - newstring = realloc(string, len+stringlen); - if(newstring) - string = newstring; - else - break; /* no more strings attached! :-) */ - } - else - string = malloc(len); - memcpy(&string[stringlen], buffer, len); - stringlen+=len; - } - *size = stringlen; - return string; - } - else - return NULL; /* no string */ -} - -void clean_getout(struct Configurable *config) -{ - struct getout *node=config->url_list; - struct getout *next; - - while(node) { - next = node->next; - if(node->url) - free(node->url); - if(node->outfile) - free(node->outfile); - free(node); - - node = next; /* GOTO next */ - } -} - -struct getout *new_getout(struct Configurable *config) -{ - struct getout *node =malloc(sizeof(struct getout)); - struct getout *last= config->url_last; - if(node) { - /* clear the struct */ - memset(node, 0, sizeof(struct getout)); - - /* append this new node last in the list */ - if(last) - last->next = node; - else - config->url_list = node; /* first node */ - - /* move the last pointer */ - config->url_last = node; - } - return node; -} - -/* Structure for storing the information needed to build a multiple files - * section -*/ -struct multi_files { - struct curl_forms form; - struct multi_files *next; -}; - -/* Add a new list entry possibly with a type_name - */ -static void *AddMultiFiles (const char *file_name, - const char *type_name, - struct multi_files **multi_start, - struct multi_files **multi_current) -{ - struct multi_files *multi; - struct multi_files *multi_type = NULL; - multi = (struct multi_files *)malloc(sizeof(struct multi_files)); - if (multi) { - memset(multi, 0, sizeof(struct multi_files)); - multi->form.option = CURLFORM_FILE; - multi->form.value = file_name; - } - else - return NULL; - if (type_name) { - multi_type = (struct multi_files *)malloc(sizeof(struct multi_files)); - if (multi_type) { - memset(multi_type, 0, sizeof(struct multi_files)); - multi_type->form.option = CURLFORM_CONTENTTYPE; - multi_type->form.value = type_name; - multi->next = multi_type; - } - else { - free (multi); - return NULL; - } - } - if (!*multi_start) - *multi_start = multi; - if (!*multi_current) { - if (multi_type) - *multi_current = multi_type; - else - *multi_current = multi; - } - else { - if (multi_type) { - (*multi_current)->next = multi; - *multi_current = multi_type; - } - else { - (*multi_current)->next = multi; - *multi_current = multi; - } - } - return *multi_current; -} - -/* Free the items of the list. - */ -static void FreeMultiInfo (struct multi_files **multi_start) -{ - struct multi_files *multi; - while (*multi_start) { - multi = *multi_start; - *multi_start = (*multi_start)->next; - free (multi); - } -} - -/*************************************************************************** - * - * formparse() - * - * Reads a 'name=value' paramter and builds the appropriate linked list. - * - * Specify files to upload with 'name=@filename'. Supports specified - * given Content-Type of the files. Such as ';type=<content-type>'. - * - * You may specify more than one file for a single name (field). Specify - * multiple files by writing it like: - * - * 'name=@filename,filename2,filename3' - * - * If you want content-types specified for each too, write them like: - * - * 'name=@filename;type=image/gif,filename2,filename3' - * - * Does use curl_formadd to fulfill it's job. Is heavily based on the - * old curl_formparse code. - * - ***************************************************************************/ - -#define FORM_FILE_SEPARATOR ',' -#define FORM_TYPE_SEPARATOR ';' - -static int formparse(char *input, - struct HttpPost **httppost, - struct HttpPost **last_post) -{ - /* nextarg MUST be a string in the format 'name=contents' and we'll - build a linked list with the info */ - char name[256]; - char *contents; - char major[128]; - char minor[128]; - char *contp; - const char *type = NULL; - char *sep; - char *sep2; - - /* Preallocate contents to the length of input to make sure we don't - overwrite anything. */ - contents = malloc(strlen(input)); - contents[0] = '\000'; - - if(1 <= sscanf(input, "%255[^=]=%[^\n]", name, contents)) { - /* the input was using the correct format */ - contp = contents; - - if('@' == contp[0]) { - struct multi_files *multi_start = NULL, *multi_current = NULL; - /* we use the @-letter to indicate file name(s) */ - contp++; - - multi_start = multi_current=NULL; - - do { - /* since this was a file, it may have a content-type specifier - at the end too */ - - sep=strchr(contp, FORM_TYPE_SEPARATOR); - sep2=strchr(contp, FORM_FILE_SEPARATOR); - - /* pick the closest */ - if(sep2 && (sep2 < sep)) { - sep = sep2; - - /* no type was specified! */ - } - if(sep) { - - /* if we got here on a comma, don't do much */ - if(FORM_FILE_SEPARATOR != *sep) - type = strstr(sep+1, "type="); - else - type=NULL; - - *sep=0; /* terminate file name at separator */ - - if(type) { - type += strlen("type="); - - if(2 != sscanf(type, "%127[^/]/%127[^,\n]", - major, minor)) { - fprintf(stderr, "Illegally formatted content-type field!\n"); - free(contents); - FreeMultiInfo (&multi_start); - return 2; /* illegal content-type syntax! */ - } - /* now point beyond the content-type specifier */ - sep = (char *)type + strlen(major)+strlen(minor)+1; - - /* find the following comma */ - sep=strchr(sep, FORM_FILE_SEPARATOR); - } - } - else { - type=NULL; - sep=strchr(contp, FORM_FILE_SEPARATOR); - } - if(sep) { - /* the next file name starts here */ - *sep =0; - sep++; - } - /* if type == NULL curl_formadd takes care of the problem */ - - if (!AddMultiFiles (contp, type, &multi_start, &multi_current)) { - fprintf(stderr, "Error building form post!\n"); - free(contents); - FreeMultiInfo (&multi_start); - return 3; - } - contp = sep; /* move the contents pointer to after the separator */ - } while(sep && *sep); /* loop if there's another file name */ - /* now we add the multiple files section */ - if (multi_start) { - struct curl_forms *forms = NULL; - struct multi_files *ptr = multi_start; - unsigned int i, count = 0; - while (ptr) { - ptr = ptr->next; - ++count; - } - forms = - (struct curl_forms *)malloc((count+1)*sizeof(struct curl_forms)); - if (!forms) - { - fprintf(stderr, "Error building form post!\n"); - free(contents); - FreeMultiInfo (&multi_start); - return 4; - } - for (i = 0, ptr = multi_start; i < count; ++i, ptr = ptr->next) - { - forms[i].option = ptr->form.option; - forms[i].value = ptr->form.value; - } - forms[count].option = CURLFORM_END; - FreeMultiInfo (&multi_start); - if (curl_formadd (httppost, last_post, - CURLFORM_COPYNAME, name, - CURLFORM_ARRAY, forms, CURLFORM_END) != 0) { - fprintf(stderr, "curl_formadd failed!\n"); - free(forms); - free(contents); - return 5; - } - free(forms); - } - } - else { - if( contp[0]=='<' ) { - if (curl_formadd (httppost, last_post, - CURLFORM_COPYNAME, name, - CURLFORM_FILECONTENT, contp+1, CURLFORM_END) != 0) { - fprintf(stderr, "curl_formadd failed!\n"); - free(contents); - return 6; - } - } - else { - if (curl_formadd (httppost, last_post, - CURLFORM_COPYNAME, name, - CURLFORM_COPYCONTENTS, contp, CURLFORM_END) != 0) { - fprintf(stderr, "curl_formadd failed!\n"); - free(contents); - return 7; - } - } - } - - } - else { - fprintf(stderr, "Illegally formatted input field!\n"); - free(contents); - return 1; - } - free(contents); - return 0; -} - - -typedef enum { - PARAM_OK, - PARAM_OPTION_AMBIGUOUS, - PARAM_OPTION_UNKNOWN, - PARAM_REQUIRES_PARAMETER, - PARAM_BAD_USE, - PARAM_HELP_REQUESTED, - PARAM_GOT_EXTRA_PARAMETER, - - PARAM_LAST -} ParameterError; - -static ParameterError getparameter(char *flag, /* f or -long-flag */ - char *nextarg, /* NULL if unset */ - bool *usedarg, /* set to TRUE if the arg - has been used */ - struct Configurable *config) -{ - char letter; - char subletter=0; /* subletters can only occur on long options */ - - const char *parse=NULL; - int res; - unsigned int j; - time_t now; - int hit=-1; - bool longopt=FALSE; - bool singleopt=FALSE; /* when true means '-o foo' used '-ofoo' */ - - - /* single-letter, - long-name, - boolean whether it takes an additional argument - */ - struct LongShort aliases[]= { - {"9", "crlf", FALSE}, - {"8", "stderr", TRUE}, - {"7", "interface", TRUE}, - {"6", "krb4", TRUE}, - {"5", "url", TRUE}, - {"5a", "random-file", TRUE}, - {"5b", "egd-file", TRUE}, - {"5c", "connect-timeout", TRUE}, - {"5d", "ciphers", TRUE}, - {"5e", "disable-epsv", FALSE}, - - {"0", "http1.0", FALSE}, - {"1", "tlsv1", FALSE}, - {"2", "sslv2", FALSE}, - {"3", "sslv3", FALSE}, - {"a", "append", FALSE}, - {"A", "user-agent", TRUE}, - {"b", "cookie", TRUE}, - {"B", "ftp-ascii", FALSE}, /* this long format is OBSOLETE now! */ - {"B", "use-ascii", FALSE}, - {"c", "cookie-jar", TRUE}, - {"C", "continue-at", TRUE}, - {"d", "data", TRUE}, - {"da", "data-ascii", TRUE}, - {"db", "data-binary", TRUE}, - {"D", "dump-header", TRUE}, - {"e", "referer", TRUE}, - {"E", "cert", TRUE}, - {"Ea", "cacert", TRUE}, - {"Eb","cert-type", TRUE}, - {"Ec","key", TRUE}, - {"Ed","key-type", TRUE}, - {"Ee","pass", TRUE}, - {"Ef","engine", TRUE}, - {"f", "fail", FALSE}, - {"F", "form", TRUE}, - {"g", "globoff", FALSE}, - {"G", "get", FALSE}, - {"h", "help", FALSE}, - {"H", "header", TRUE}, - {"i", "include", FALSE}, - {"I", "head", FALSE}, - {"K", "config", TRUE}, - {"l", "list-only", FALSE}, - {"L", "location", FALSE}, - {"m", "max-time", TRUE}, - {"M", "manual", FALSE}, - {"n", "netrc", FALSE}, - {"N", "no-buffer", FALSE}, - {"o", "output", TRUE}, - {"O", "remote-name", FALSE}, - {"p", "proxytunnel", FALSE}, - {"P", "ftpport", TRUE}, - {"q", "disable", FALSE}, - {"Q", "quote", TRUE}, - {"r", "range", TRUE}, - {"R", "remote-time", FALSE}, - {"s", "silent", FALSE}, - {"S", "show-error", FALSE}, - {"t", "telnet-options", TRUE}, - {"T", "upload-file", TRUE}, - {"u", "user", TRUE}, - {"U", "proxy-user", TRUE}, - {"v", "verbose", FALSE}, - {"V", "version", FALSE}, - {"w", "write-out", TRUE}, - {"x", "proxy", TRUE}, - {"X", "request", TRUE}, - {"X", "http-request", TRUE}, /* OBSOLETE VERSION */ - {"Y", "speed-limit", TRUE}, - {"y", "speed-time", TRUE}, - {"z", "time-cond", TRUE}, - {"Z", "max-redirs", TRUE}, - {"#", "progress-bar",FALSE}, - }; - - if(('-' != flag[0]) || - (('-' == flag[0]) && ('-' == flag[1]))) { - /* this should be a long name */ - char *word=('-' == flag[0])?flag+2:flag; - int fnam=strlen(word); - int numhits=0; - for(j=0; j< sizeof(aliases)/sizeof(aliases[0]); j++) { - if(strnequal(aliases[j].lname, word, fnam)) { - longopt = TRUE; - numhits++; - if(strequal(aliases[j].lname, word)) { - parse = aliases[j].letter; - hit = j; - numhits = 1; /* a single unique hit */ - break; - } - parse = aliases[j].letter; - hit = j; - } - } - if(numhits>1) { - /* this is at least the second match! */ - return PARAM_OPTION_AMBIGUOUS; - } - if(hit < 0) { - return PARAM_OPTION_UNKNOWN; - } - } - else { - flag++; /* prefixed with one dash, pass it */ - hit=-1; - parse = flag; - } - - do { - /* we can loop here if we have multiple single-letters */ - - if(!longopt) - letter = parse?*parse:'\0'; - else { - letter = parse[0]; - subletter = parse[1]; - } - *usedarg = FALSE; /* default is that we don't use the arg */ - -#if 0 - fprintf(stderr, "OPTION: %c %s\n", letter, nextarg?nextarg:"<null>"); -#endif - if(hit < 0) { - for(j=0; j< sizeof(aliases)/sizeof(aliases[0]); j++) { - if(letter == aliases[j].letter[0]) { - hit = j; - break; - } - } - if(hit < 0) { - return PARAM_OPTION_UNKNOWN; - } - } - if(hit < 0) { - return PARAM_OPTION_UNKNOWN; - } - if(!longopt && aliases[hit].extraparam && parse[1]) { - nextarg=(char *)&parse[1]; /* this is the actual extra parameter */ - singleopt=TRUE; /* don't loop anymore after this */ - } - else if((!nextarg || !*nextarg) && aliases[hit].extraparam) { - return PARAM_REQUIRES_PARAMETER; - } - else if(nextarg && aliases[hit].extraparam) - *usedarg = TRUE; /* mark it as used */ - - switch(letter) { - case '9': /* there is no short letter for this */ - /* LF -> CRLF conversinon? */ - config->crlf = TRUE; - break; - case '8': /* there is no short letter for this */ - if(strcmp(nextarg, "-")) - config->errors = fopen(nextarg, "wt"); - else - config->errors = stdout; - break; - case '7': /* there is no short letter for this */ - /* interface */ - GetStr(&config->iface, nextarg); - break; - case '6': /* there is no short letter for this */ - /* krb4 level string */ - GetStr(&config->krb4level, nextarg); - break; - case '5': - switch(subletter) { - case 'a': /* random-file */ - GetStr(&config->random_file, nextarg); - break; - case 'b': /* egd-file */ - GetStr(&config->egd_file, nextarg); - break; - case 'c': /* connect-timeout */ - config->connecttimeout=atoi(nextarg); - break; - case 'd': /* ciphers */ - GetStr(&config->cipher_list, nextarg); - break; - case 'e': /* --disable-epsv */ - config->disable_epsv ^= TRUE; - break; - default: /* the URL! */ - { - struct getout *url; - if(config->url_get || (config->url_get=config->url_list)) { - /* there's a node here, if it already is filled-in continue to find - an "empty" node */ - while(config->url_get && (config->url_get->flags&GETOUT_URL)) - config->url_get = config->url_get->next; - } - - /* now there might or might not be an available node to fill in! */ - - if(config->url_get) - /* existing node */ - url = config->url_get; - else - /* there was no free node, create one! */ - url=new_getout(config); - - if(url) { - /* fill in the URL */ - GetStr(&url->url, nextarg); - url->flags |= GETOUT_URL; - } - } - } - break; - case '#': /* added 19990617 larsa */ - config->progressmode ^= CURL_PROGRESS_BAR; - break; - case '0': - /* HTTP version 1.0 */ - config->httpversion = CURL_HTTP_VERSION_1_0; - break; - case '1': - /* TLS version 1 */ - config->ssl_version = CURL_SSLVERSION_TLSv1; - break; - case '2': - /* SSL version 2 */ - config->ssl_version = CURL_SSLVERSION_SSLv2; - break; - case '3': - /* SSL version 3 */ - config->ssl_version = CURL_SSLVERSION_SSLv3; - break; - case 'a': - /* This makes the FTP sessions use APPE instead of STOR */ - config->conf ^= CONF_FTPAPPEND; - break; - case 'A': - /* This specifies the User-Agent name */ - GetStr(&config->useragent, nextarg); - break; - case 'b': /* cookie string coming up: */ - if(nextarg[0] == '@') { - nextarg++; - } - else if(strchr(nextarg, '=')) { - /* A cookie string must have a =-letter */ - GetStr(&config->cookie, nextarg); - break; - } - /* We have a cookie file to read from! */ - GetStr(&config->cookiefile, nextarg); - break; - case 'B': - /* use ASCII/text when transfering */ - config->conf ^= CONF_GETTEXT; - break; - case 'c': - /* get the file name to dump all cookies in */ - GetStr(&config->cookiejar, nextarg); - break; - case 'C': - /* This makes us continue an ftp transfer at given position */ - if(!strequal(nextarg, "-")) { - config->resume_from= atoi(nextarg); - config->resume_from_current = FALSE; - } - else { - config->resume_from_current = TRUE; - config->resume_from = 0; - } - config->use_resume=TRUE; - break; - case 'd': - /* postfield data */ - { - char *postdata=NULL; - - if('@' == *nextarg) { - /* the data begins with a '@' letter, it means that a file name - or - (stdin) follows */ - FILE *file; - - nextarg++; /* pass the @ */ - - if(strequal("-", nextarg)) - file = stdin; - else - file = fopen(nextarg, "r"); - - if(subletter == 'b') /* forced binary */ - postdata = file2memory(file, &config->postfieldsize); - else - postdata = file2string(file); - if(file && (file != stdin)) - fclose(stdin); - } - else { - GetStr(&postdata, nextarg); - } - - if(config->postfields && *config->postfields) { - /* we already have a string, we append this one - with a separating &-letter */ - char *oldpost=config->postfields; - config->postfields=aprintf("%s&%s", oldpost, postdata); - free(oldpost); - free(postdata); - } - else - config->postfields=postdata; - } - - if(SetHTTPrequest(HTTPREQ_SIMPLEPOST, &config->httpreq)) - return PARAM_BAD_USE; - break; - case 'D': - /* dump-header to given file name */ - GetStr(&config->headerfile, nextarg); - break; - case 'e': - { - char *ptr = strstr(nextarg, ";auto"); - if(ptr) { - /* Automatic referer requested, this may be combined with a - set initial one */ - config->conf |= CONF_AUTO_REFERER; - *ptr = 0; /* zero terminate here */ - } - GetStr(&config->referer, nextarg); - } - break; - case 'E': - switch(subletter) { - case 'a': /* CA info PEM file */ - /* CA info PEM file */ - GetStr(&config->cacert, nextarg); - break; - case 'b': /* cert file type */ - GetStr(&config->cert_type, nextarg); - break; - case 'c': /* private key file */ - GetStr(&config->key, nextarg); - break; - case 'd': /* private key file type */ - GetStr(&config->key_type, nextarg); - break; - case 'e': /* private key passphrase */ - GetStr(&config->key_passwd, nextarg); - break; - case 'f': /* crypto engine */ - GetStr(&config->engine, nextarg); - break; - default: /* certificate file */ - { - char *ptr = strchr(nextarg, ':'); - /* Since we live in a world of weirdness and confusion, the win32 - dudes can use : when using drive letters and thus - c:\file:password needs to work. In order not to break - compatibility, we still use : as separator, but we try to detect - when it is used for a file name! On windows. */ -#ifdef WIN32 - if(ptr && - (ptr == &nextarg[1]) && - (nextarg[2] == '\\') && - (isalpha((int)nextarg[0])) ) - /* colon in the second column, followed by a backslash, and the - first character is an alphabetic letter: - - this is a drive letter colon */ - ptr = strchr(&nextarg[3], ':'); /* find the next one instead */ -#endif - if(ptr) { - /* we have a password too */ - *ptr=0; - ptr++; - GetStr(&config->key_passwd, ptr); - } - GetStr(&config->cert, nextarg); - } - } - break; - case 'f': - /* fail hard on errors */ - config->conf ^= CONF_FAILONERROR; - break; - case 'F': - /* "form data" simulation, this is a little advanced so lets do our best - to sort this out slowly and carefully */ - if(formparse(nextarg, - &config->httppost, - &config->last_post)) - return PARAM_BAD_USE; - if(SetHTTPrequest(HTTPREQ_POST, &config->httpreq)) - return PARAM_BAD_USE; - break; - - case 'g': /* g disables URLglobbing */ - config->globoff ^= TRUE; - break; - - case 'G': /* HTTP GET */ - config->use_httpget = TRUE; - break; - - case 'h': /* h for help */ - help(); - return PARAM_HELP_REQUESTED; - case 'H': - /* A custom header to append to a list */ - config->headers = curl_slist_append(config->headers, nextarg); - break; - case 'i': - config->conf ^= CONF_HEADER; /* include the HTTP header as well */ - break; - case 'I': - /* - * This is a bit tricky. We either SET both bits, or we clear both - * bits. Let's not make any other outcomes from this. - */ - if((CONF_HEADER|CONF_NOBODY) != - (config->conf&(CONF_HEADER|CONF_NOBODY)) ) { - /* one of them weren't set, set both */ - config->conf |= (CONF_HEADER|CONF_NOBODY); - if(SetHTTPrequest(HTTPREQ_HEAD, &config->httpreq)) - return PARAM_BAD_USE; - } - else { - /* both were set, clear both */ - config->conf &= ~(CONF_HEADER|CONF_NOBODY); - if(SetHTTPrequest(HTTPREQ_GET, &config->httpreq)) - return PARAM_BAD_USE; - } - break; - case 'K': - res = parseconfig(nextarg, config); - config->configread = TRUE; - if(res) - return res; - break; - case 'l': - config->conf ^= CONF_FTPLISTONLY; /* only list the names of the FTP dir */ - break; - case 'L': - config->conf ^= CONF_FOLLOWLOCATION; /* Follow Location: HTTP headers */ - break; - case 'm': - /* specified max time */ - config->timeout = atoi(nextarg); - break; - case 'M': /* M for manual, huge help */ - hugehelp(); - return PARAM_HELP_REQUESTED; - case 'n': - /* pick info from .netrc, if this is used for http, curl will - automatically enfore user+password with the request */ - config->conf ^= CONF_NETRC; - break; - case 'N': - /* disable the output I/O buffering */ - config->nobuffer ^= 1; - break; - case 'o': - case 'O': - /* output file */ - { - struct getout *url; - if(config->url_out || (config->url_out=config->url_list)) { - /* there's a node here, if it already is filled-in continue to find - an "empty" node */ - while(config->url_out && (config->url_out->flags&GETOUT_OUTFILE)) - config->url_out = config->url_out->next; - } - - /* now there might or might not be an available node to fill in! */ - - if(config->url_out) - /* existing node */ - url = config->url_out; - else - /* there was no free node, create one! */ - url=new_getout(config); - - if(url) { - /* fill in the outfile */ - if('o' == letter) - GetStr(&url->outfile, nextarg); - else { - url->outfile=NULL; /* leave it */ - url->flags |= GETOUT_USEREMOTE; - } - url->flags |= GETOUT_OUTFILE; - } - } - break; - case 'P': - /* This makes the FTP sessions use PORT instead of PASV */ - /* use <eth0> or <192.168.10.10> style addresses. Anything except - this will make us try to get the "default" address. - NOTE: this is a changed behaviour since the released 4.1! - */ - GetStr(&config->ftpport, nextarg); - break; - case 'p': - /* proxy tunnel for non-http protocols */ - config->proxytunnel ^= TRUE; - break; - - case 'q': /* if used first, already taken care of, we do it like - this so we don't cause an error! */ - break; - case 'Q': - /* QUOTE command to send to FTP server */ - switch(nextarg[0]) { - case '-': - /* prefixed with a dash makes it a POST TRANSFER one */ - nextarg++; - config->postquote = curl_slist_append(config->postquote, nextarg); - break; - case '+': - /* prefixed with a plus makes it a just-before-transfer one */ - nextarg++; - config->prequote = curl_slist_append(config->prequote, nextarg); - break; - default: - config->quote = curl_slist_append(config->quote, nextarg); - } - break; - case 'r': - /* byte range requested */ - GetStr(&config->range, nextarg); - break; - case 'R': - /* use remote file's time */ - config->remote_time ^= TRUE; - break; - case 's': - /* don't show progress meter, don't show errors : */ - config->conf |= (CONF_MUTE|CONF_NOPROGRESS); - config->showerror ^= TRUE; /* toggle off */ - break; - case 'S': - /* show errors */ - config->showerror ^= TRUE; /* toggle on if used with -s */ - break; - case 't': - /* Telnet options */ - config->telnet_options = curl_slist_append(config->telnet_options, nextarg); - break; - case 'T': - /* we are uploading */ - config->conf |= CONF_UPLOAD; - if(!strequal("-", nextarg)) - /* make - equal stdin */ - GetStr(&config->infile, nextarg); - break; - case 'u': - /* user:password */ - GetStr(&config->userpwd, nextarg); - break; - case 'U': - /* Proxy user:password */ - GetStr(&config->proxyuserpwd, nextarg); - break; - case 'v': - config->conf ^= CONF_VERBOSE; /* talk a lot */ - break; - case 'V': - printf(CURL_ID "%s\n", curl_version()); - return PARAM_HELP_REQUESTED; - case 'w': - /* get the output string */ - if('@' == *nextarg) { - /* the data begins with a '@' letter, it means that a file name - or - (stdin) follows */ - FILE *file; - nextarg++; /* pass the @ */ - if(strequal("-", nextarg)) - file = stdin; - else - file = fopen(nextarg, "r"); - config->writeout = file2string(file); - if(file && (file != stdin)) - fclose(stdin); - } - else - GetStr(&config->writeout, nextarg); - break; - case 'x': - /* proxy */ - GetStr(&config->proxy, nextarg); - break; - case 'X': - /* set custom request */ - GetStr(&config->customrequest, nextarg); - break; - case 'y': - /* low speed time */ - config->low_speed_time = atoi(nextarg); - if(!config->low_speed_limit) - config->low_speed_limit = 1; - break; - case 'Y': - /* low speed limit */ - config->low_speed_limit = atoi(nextarg); - if(!config->low_speed_time) - config->low_speed_time=30; - break; - case 'z': /* time condition coming up */ - switch(*nextarg) { - case '+': - nextarg++; - default: - /* If-Modified-Since: (section 14.28 in RFC2068) */ - config->timecond = TIMECOND_IFMODSINCE; - break; - case '-': - /* If-Unmodified-Since: (section 14.24 in RFC2068) */ - config->timecond = TIMECOND_IFUNMODSINCE; - nextarg++; - break; - case '=': - /* Last-Modified: (section 14.29 in RFC2068) */ - config->timecond = TIMECOND_LASTMOD; - nextarg++; - break; - } - now=time(NULL); - config->condtime=curl_getdate(nextarg, &now); - if(-1 == (int)config->condtime) { - /* now let's see if it is a file name to get the time from instead! */ - struct stat statbuf; - if(-1 == stat(nextarg, &statbuf)) { - /* failed, remove time condition */ - config->timecond = TIMECOND_NONE; - } - else { - /* pull the time out from the file */ - config->condtime = statbuf.st_mtime; - } - } - break; - case 'Z': - /* specified max no of redirects (http(s)) */ - config->maxredirs = atoi(nextarg); - break; - - default: /* unknown flag */ - return PARAM_OPTION_UNKNOWN; - } - hit = -1; - - } while(!longopt && !singleopt && *++parse && !*usedarg); - - return PARAM_OK; -} - - -static int parseconfig(char *filename, - struct Configurable *config) -{ - int res; - FILE *file; - char filebuffer[256]; - bool usedarg; - char *home=NULL; - - if(!filename || !*filename) { - /* NULL or no file name attempts to load .curlrc from the homedir! */ - -#define CURLRC DOT_CHAR "curlrc" - - home = curl_getenv("HOME"); /* portable environment reader */ - if(!home) - return 0; - if(strlen(home)>(sizeof(filebuffer)-strlen(CURLRC))) { - free(home); - return 0; - } - - sprintf(filebuffer, "%s%s%s", home, DIR_CHAR, CURLRC); - - filename = filebuffer; - } - - if(strcmp(filename,"-")) - file = fopen(filename, "r"); - else - file = stdin; - - if(file) { - char *line; - char *aline; - char *option; - char *param; - int lineno=0; - bool alloced_param; - -#define isseparator(x) (((x)=='=') || ((x) == ':')) - - while (NULL != (aline = my_get_line(file))) { - lineno++; - line = aline; - alloced_param=FALSE; - - /* lines with # in the fist column is a comment! */ - while(isspace((int)*line)) - line++; - - switch(*line) { - case '#': - case '/': - case '\r': - case '\n': - case '*': - case '\0': - free(line); - continue; - } - - /* the option keywords starts here */ - option = line; - while(*line && !isspace((int)*line) && !isseparator(*line)) - line++; - /* ... and has ended here */ - - *line++=0; /* zero terminate, we have a local copy of the data */ - -#ifdef DEBUG_CONFIG - fprintf(stderr, "GOT: %s\n", option); -#endif - - /* pass spaces and separator(s) */ - while(isspace((int)*line) || isseparator(*line)) - line++; - - /* the parameter starts here (unless quoted) */ - if(*line == '\"') { - char *ptr; - /* quoted parameter, do the qoute dance */ - line++; - param=strdup(line); /* parameter */ - alloced_param=TRUE; - - ptr=param; - while(*line && (*line != '\"')) { - if(*line == '\\') { - char out; - line++; - - /* default is to output the letter after the backslah */ - switch(out = *line) { - case '\0': - continue; /* this'll break out of the loop */ - case 't': - out='\t'; - break; - case 'n': - out='\n'; - break; - case 'r': - out='\r'; - break; - case 'v': - out='\v'; - break; - } - *ptr++=out; - line++; - } - else - *ptr++=*line++; - } - *ptr=0; /* always zero terminate */ - - } - else { - param=line; /* parameter starts here */ - while(*line && !isspace((int)*line)) - line++; - *line=0; /* zero terminate */ - } -#ifdef DEBUG_CONFIG - fprintf(stderr, "PARAM: \"%s\"\n", param); -#endif - res = getparameter(option, param, &usedarg, config); - - if(*param && !usedarg) - /* we passed in a parameter that wasn't used! */ - res = PARAM_GOT_EXTRA_PARAMETER; - - if(res != PARAM_OK) { - /* the help request isn't really an error */ - if(!strcmp(filename, "-")) { - filename=(char *)"<stdin>"; - } - if(PARAM_HELP_REQUESTED != res) { - const char *reason; - switch(res) { - default: - case PARAM_GOT_EXTRA_PARAMETER: - reason = "had unsupported trailing garbage"; - break; - case PARAM_OPTION_UNKNOWN: - reason = "is unknown"; - break; - case PARAM_OPTION_AMBIGUOUS: - reason = "is ambiguous"; - break; - case PARAM_REQUIRES_PARAMETER: - reason = "requires parameter"; - break; - case PARAM_BAD_USE: - reason = "is badly used here"; - break; - } - fprintf(stderr, "%s:%d: warning: '%s' %s\n", - filename, lineno, option, reason); - } - } - - if(alloced_param) - free(param); - - free(aline); - } - if(file != stdin) - fclose(file); - } - if(home) - free(home); - return 0; -} - -struct OutStruct { - char *filename; - FILE *stream; - struct Configurable *config; -}; - -int my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream) -{ - struct OutStruct *out=(struct OutStruct *)stream; - if(out && !out->stream) { - /* open file for writing */ - out->stream=fopen(out->filename, "wb"); - if(!out->stream) - return -1; /* failure */ - if(out->config->nobuffer) { - /* disable output buffering */ -#ifdef HAVE_SETVBUF - setvbuf(out->stream, NULL, _IONBF, 0); -#endif - } - } - return fwrite(buffer, size, nmemb, out->stream); -} - -struct ProgressData { - size_t total; - size_t prev; - size_t point; - int width; - FILE *out; /* where to write everything to */ -}; - -int myprogress (void *clientp, - size_t dltotal, - size_t dlnow, - size_t ultotal, - size_t ulnow) -{ - /* The original progress-bar source code was written for curl by Lars Aas, - and this new edition inherites some of his concepts. */ - - char line[256]; - char outline[256]; - char format[40]; - float frac; - float percent; - int barwidth; - int num; - int i; - - struct ProgressData *bar = (struct ProgressData *)clientp; - size_t total = dltotal + ultotal; - - bar->point = dlnow + ulnow; /* we've come this far */ - - if(0 == total) { - int prevblock = bar->prev / 1024; - int thisblock = bar->point / 1024; - while ( thisblock > prevblock ) { - fprintf( bar->out, "#" ); - prevblock++; - } - } - else { - frac = (float) bar->point / (float) total; - percent = frac * 100.0f; - barwidth = bar->width - 7; - num = (int) (((float)barwidth) * frac); - i = 0; - for ( i = 0; i < num; i++ ) { - line[i] = '#'; - } - line[i] = '\0'; - sprintf( format, "%%-%ds %%5.1f%%%%", barwidth ); - sprintf( outline, format, line, percent ); - fprintf( bar->out, "\r%s", outline ); - } - bar->prev = bar->point; - - return 0; -} - -static -void progressbarinit(struct ProgressData *bar, - struct Configurable *config) -{ -#ifdef __EMX__ - /* 20000318 mgs */ - int scr_size [2]; -#endif - char *colp; - - memset(bar, 0, sizeof(struct ProgressData)); - -/* TODO: get terminal width through ansi escapes or something similar. - try to update width when xterm is resized... - 19990617 larsa */ -#ifndef __EMX__ - /* 20000318 mgs - * OS/2 users most likely won't have this env var set, and besides that - * we're using our own way to determine screen width */ - colp = curl_getenv("COLUMNS"); - if (colp != NULL) { - bar->width = atoi(colp); - free(colp); - } - else - bar->width = 79; -#else - /* 20000318 mgs - * We use this emx library call to get the screen width, and subtract - * one from what we got in order to avoid a problem with the cursor - * advancing to the next line if we print a string that is as long as - * the screen is wide. */ - - _scrsize(scr_size); - bar->width = scr_size[0] - 1; -#endif - - bar->out = config->errors; -} - -void free_config_fields(struct Configurable *config) -{ - if(config->random_file) - free(config->random_file); - if(config->egd_file) - free(config->egd_file); - if(config->userpwd) - free(config->userpwd); - if(config->postfields) - free(config->postfields); - if(config->proxy) - free(config->proxy); - if(config->proxyuserpwd) - free(config->proxyuserpwd); - if(config->cookie) - free(config->cookie); - if(config->cookiefile) - free(config->cookiefile); - if(config->krb4level) - free(config->krb4level); - if(config->headerfile) - free(config->headerfile); - if(config->ftpport) - free(config->ftpport); - if(config->infile) - free(config->infile); - if(config->range) - free(config->range); - if(config->customrequest) - free(config->customrequest); - if(config->writeout) - free(config->writeout); - if(config->httppost) - curl_formfree(config->httppost); - if(config->cacert) - free(config->cacert); - if(config->cookiejar) - free(config->cookiejar); - - curl_slist_free_all(config->quote); /* checks for config->quote == NULL */ - curl_slist_free_all(config->postquote); /* */ - curl_slist_free_all(config->headers); /* */ -} - - -static int -operate(struct Configurable *config, int argc, char *argv[]) -{ - char errorbuffer[CURL_ERROR_SIZE]; - char useragent[128]; /* buah, we don't want a larger default user agent */ - struct ProgressData progressbar; - struct getout *urlnode; - struct getout *nextnode; - - struct OutStruct outs; - struct OutStruct heads; - - char *url = NULL; - - URLGlob *urls=NULL; - int urlnum; - char *outfiles; - int separator = 0; - - FILE *infd = stdin; - FILE *headerfilep = NULL; - char *urlbuffer=NULL; - int infilesize=-1; /* -1 means unknown */ - bool stillflags=TRUE; - - bool allocuseragent=FALSE; - - char *httpgetfields=NULL; - - CURL *curl; - int res = 0; - int i; - -#ifdef MALLOCDEBUG - /* this sends all memory debug messages to a logfile named memdump */ - char *env; - env = curl_getenv("CURL_MEMDEBUG"); - if(env) { - free(env); - curl_memdebug("memdump"); - } -#endif - - errorbuffer[0]=0; /* prevent junk from being output */ - - main_init(); /* inits */ - - config->showerror=TRUE; - config->conf=CONF_DEFAULT; - config->use_httpget=FALSE; - - if(argc>1 && - (!strnequal("--", argv[1], 2) && (argv[1][0] == '-')) && - strchr(argv[1], 'q')) { - /* - * The first flag, that is not a verbose name, but a shortname - * and it includes the 'q' flag! - */ - ; - } - else { - res = parseconfig(NULL, config); - if(res) - return res; - } - - if ((argc < 2) && !config->url_list) { - helpf(NULL); - return CURLE_FAILED_INIT; - } - - /* Parse options */ - for (i = 1; i < argc; i++) { - if(stillflags && - ('-' == argv[i][0])) { - char *nextarg; - bool passarg; - char *origopt=argv[i]; - - char *flag = argv[i]; - - if(strequal("--", argv[i])) - /* this indicates the end of the flags and thus enables the - following (URL) argument to start with -. */ - stillflags=FALSE; - else { - nextarg= (i < argc - 1)? argv[i+1]: NULL; - - res = getparameter(flag, nextarg, &passarg, config); - if(res) { - switch(res) { - case PARAM_OPTION_AMBIGUOUS: - helpf("option %s is ambiguous\n", origopt); - break; - case PARAM_OPTION_UNKNOWN: - helpf("option %s is unknown\n", origopt); - break; - case PARAM_REQUIRES_PARAMETER: - helpf("option %s requires an extra argument!\n", origopt); - break; - case PARAM_BAD_USE: - helpf("option %s was wrongly used!\n", origopt); - break; - case PARAM_HELP_REQUESTED: - /* no text */ - break; - } - clean_getout(config); - return CURLE_FAILED_INIT; - } - - if(passarg) /* we're supposed to skip this */ - i++; - } - } - else { - bool used; - /* just add the URL please */ - res = getparameter((char *)"--url", argv[i], &used, config); - if(res) - return res; - } - } - - if(!config->url_list) { - helpf("no URL specified!\n"); - return CURLE_FAILED_INIT; - } - if(NULL == config->useragent) { - /* set non-zero default values: */ - snprintf(useragent, sizeof(useragent), - CURL_NAME "/" CURL_VERSION " (" OS ") " "%s", curl_version()); - config->useragent= useragent; - } - else - allocuseragent = TRUE; - - if (config->postfields) { - if (config->use_httpget) { - /* Use the postfields data for a http get */ - httpgetfields = strdup(config->postfields); - free(config->postfields); - config->postfields = NULL; - if(SetHTTPrequest((config->conf&CONF_NOBODY?HTTPREQ_HEAD:HTTPREQ_GET), - &config->httpreq)) { - free(httpgetfields); - return PARAM_BAD_USE; - } - } - else { - if(SetHTTPrequest(HTTPREQ_SIMPLEPOST, &config->httpreq)) - return PARAM_BAD_USE; - } - } - - /* - * Get a curl handle to use for all forthcoming curl transfers. Cleanup - * when all transfers are done. This is supported with libcurl 7.7 and - * should not be attempted on previous versions. - */ - curl = curl_easy_init(); - if(!curl) - return CURLE_FAILED_INIT; - - urlnode = config->url_list; - - /* loop through the list of given URLs */ - while(urlnode) { - - /* get the full URL (it might be NULL) */ - url=urlnode->url; - - if(NULL == url) { - /* This node had no URL, skip it and continue to the next */ - if(urlnode->outfile) - free(urlnode->outfile); - - /* move on to the next URL */ - nextnode=urlnode->next; - free(urlnode); /* free the node */ - urlnode = nextnode; - continue; /* next please */ - } - - /* default output stream is stdout */ - outs.stream = stdout; - outs.config = config; - - if(!config->globoff) { - /* Unless explicitly shut off, we expand '{...}' and '[...]' expressions - and return total number of URLs in pattern set */ - res = glob_url(&urls, url, &urlnum); - if(res != CURLE_OK) - return res; - } - - - /* save outfile pattern before expansion */ - outfiles = urlnode->outfile?strdup(urlnode->outfile):NULL; - - if ((!outfiles || strequal(outfiles, "-")) && urlnum > 1) { - /* multiple files extracted to stdout, insert separators! */ - separator = 1; - } - for(i = 0; - (url = urls?next_url(urls):(i?NULL:strdup(url))); - i++) { - char *outfile; - outfile = outfiles?strdup(outfiles):NULL; - - if((urlnode->flags&GETOUT_USEREMOTE) || - (outfile && !strequal("-", outfile)) ) { - - /* - * We have specified a file name to store the result in, or we have - * decided we want to use the remote file name. - */ - - if(!outfile) { - /* Find and get the remote file name */ - char * pc =strstr(url, "://"); - if(pc) - pc+=3; - else - pc=url; - pc = strrchr(pc, '/'); - outfile = (char *) NULL == pc ? NULL : strdup(pc+1) ; - if(!outfile) { - helpf("Remote file name has no length!\n"); - return CURLE_WRITE_ERROR; - } - } - else if(urls) { - /* fill '#1' ... '#9' terms from URL pattern */ - char *storefile = outfile; - outfile = match_url(storefile, urls); - free(storefile); - } - - if(config->resume_from_current) { - /* we're told to continue where we are now, then we get the size of - the file as it is now and open it for append instead */ - - struct stat fileinfo; - -/*VMS?? -- Danger, the filesize is only valid for stream files */ - if(0 == stat(outfile, &fileinfo)) { - /* set offset to current file size: */ - config->resume_from = fileinfo.st_size; - } - /* else let offset remain 0 */ - } - - if(config->resume_from) { - /* open file for output: */ - outs.stream=(FILE *) fopen(outfile, config->resume_from?"ab":"wb"); - if (!outs.stream) { - helpf("Can't open '%s'!\n", outfile); - return CURLE_WRITE_ERROR; - } - } - else { - outs.filename = outfile; - outs.stream = NULL; /* open when needed */ - } - } - if(config->infile) { - /* - * We have specified a file to upload - */ - struct stat fileinfo; - - /* If no file name part is given in the URL, we add this file name */ - char *ptr=strstr(url, "://"); - if(ptr) - ptr+=3; - else - ptr=url; - ptr = strrchr(ptr, '/'); - if(!ptr || !strlen(++ptr)) { - /* The URL has no file name part, add the local file name. In order - to be able to do so, we have to create a new URL in another - buffer.*/ - - /* We only want the part of the local path that is on the right - side of the rightmost slash and backslash. */ - char *filep = strrchr(config->infile, '/'); - char *file2 = strrchr(filep?filep:config->infile, '\\'); - - if(file2) - filep = file2+1; - else if(filep) - filep++; - else - filep = config->infile; - - urlbuffer=(char *)malloc(strlen(url) + strlen(filep) + 3); - if(!urlbuffer) { - helpf("out of memory\n"); - return CURLE_OUT_OF_MEMORY; - } - if(ptr) - /* there is a trailing slash on the URL */ - sprintf(urlbuffer, "%s%s", url, filep); - else - /* thers is no trailing slash on the URL */ - sprintf(urlbuffer, "%s/%s", url, filep); - - url = urlbuffer; /* use our new URL instead! */ - } -/*VMS??-- Reading binary from files can be a problem... */ -/*VMS?? Only FIXED, VAR etc WITHOUT implied CC will work */ -/*VMS?? Others need a \n appended to a line */ -/*VMS??-- Stat gives a size but this is UNRELIABLE in VMS */ -/*VMS?? As a f.e. a fixed file with implied CC needs to have a byte added */ -/*VMS?? for every record processed, this can by derived from Filesize & recordsize */ -/*VMS?? for VARiable record files the records need to be counted! */ -/*VMS?? for every record add 1 for linefeed and subtract 2 for the record header */ -/*VMS?? for VARIABLE header files only the bare record data needs to be considered with one appended if implied CC */ - - infd=(FILE *) fopen(config->infile, "rb"); - if (!infd || stat(config->infile, &fileinfo)) { - helpf("Can't open '%s'!\n", config->infile); - return CURLE_READ_ERROR; - } - infilesize=fileinfo.st_size; - - } - if((config->conf&CONF_UPLOAD) && - config->resume_from_current) { - config->resume_from = -1; /* -1 will then force get-it-yourself */ - } - if(config->headerfile) { - /* open file for output: */ - if(strcmp(config->headerfile,"-")) { - heads.filename = config->headerfile; - headerfilep=NULL; - } - else - headerfilep=stdout; - heads.stream = headerfilep; - heads.config = config; - } - - if(outs.stream && isatty(fileno(outs.stream)) && - !(config->conf&(CONF_UPLOAD|CONF_HTTPPOST))) - /* we send the output to a tty and it isn't an upload operation, - therefore we switch off the progress meter */ - config->conf |= CONF_NOPROGRESS; - - - if (urlnum > 1) { - fprintf(stderr, "\n[%d/%d]: %s --> %s\n", - i+1, urlnum, url, outfile ? outfile : "<stdout>"); - if (separator) - printf("%s%s\n", CURLseparator, url); - } - if (httpgetfields) { - /* Find out whether the url contains a file name */ - char *pc =strstr(url, "://"); - char separator='?'; - if(pc) - pc+=3; - else - pc=url; - - pc = strrchr(pc, '/'); /* check for a slash */ - - if(pc) { - /* there is a slash present in the URL */ - - if(strchr(pc, '?')) - /* Ouch, there's already a question mark in the URL string, we - then appead the data with an amperand separator instead! */ - separator='&'; - } - /* - * Then append ? followed by the get fields to the url. - */ - urlbuffer=(char *)malloc(strlen(url) + strlen(httpgetfields) + 2); - if(!urlbuffer) { - helpf("out of memory\n"); - return CURLE_OUT_OF_MEMORY; - } - if (pc) - sprintf(urlbuffer, "%s%c%s", url, separator, httpgetfields); - else - /* Append / before the ? to create a well-formed url - if the url contains a hostname only - */ - sprintf(urlbuffer, "%s/?%s", url, httpgetfields); - - free(url); /* free previous URL */ - url = urlbuffer; /* use our new URL instead! */ - } - - if(!config->errors) - config->errors = stderr; - -#if defined(WIN32) && !defined(__CYGWIN32__) - if(!outfile && !(config->conf & CONF_GETTEXT)) { - /* We get the output to stdout and we have not got the ASCII/text flag, - then set stdout to be binary */ - setmode( 1, O_BINARY ); - } -#endif - - curl_easy_setopt(curl, CURLOPT_SSLENGINE, config->engine); - curl_easy_setopt(curl, CURLOPT_SSLENGINE_DEFAULT, 1); - - curl_easy_setopt(curl, CURLOPT_FILE, (FILE *)&outs); /* where to store */ - /* what call to write: */ - curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, my_fwrite); - curl_easy_setopt(curl, CURLOPT_INFILE, infd); /* for uploads */ - /* size of uploaded file: */ - curl_easy_setopt(curl, CURLOPT_INFILESIZE, infilesize); - curl_easy_setopt(curl, CURLOPT_URL, url); /* what to fetch */ - curl_easy_setopt(curl, CURLOPT_PROXY, config->proxy); /* proxy to use */ - curl_easy_setopt(curl, CURLOPT_VERBOSE, config->conf&CONF_VERBOSE); - curl_easy_setopt(curl, CURLOPT_HEADER, config->conf&CONF_HEADER); - curl_easy_setopt(curl, CURLOPT_NOPROGRESS, config->conf&CONF_NOPROGRESS); - curl_easy_setopt(curl, CURLOPT_NOBODY, config->conf&CONF_NOBODY); - curl_easy_setopt(curl, CURLOPT_FAILONERROR, - config->conf&CONF_FAILONERROR); - curl_easy_setopt(curl, CURLOPT_UPLOAD, config->conf&CONF_UPLOAD); - curl_easy_setopt(curl, CURLOPT_FTPLISTONLY, - config->conf&CONF_FTPLISTONLY); - curl_easy_setopt(curl, CURLOPT_FTPAPPEND, config->conf&CONF_FTPAPPEND); - curl_easy_setopt(curl, CURLOPT_NETRC, config->conf&CONF_NETRC); - curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, - config->conf&CONF_FOLLOWLOCATION); - curl_easy_setopt(curl, CURLOPT_TRANSFERTEXT, config->conf&CONF_GETTEXT); - curl_easy_setopt(curl, CURLOPT_MUTE, config->conf&CONF_MUTE); - curl_easy_setopt(curl, CURLOPT_USERPWD, config->userpwd); - curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, config->proxyuserpwd); - curl_easy_setopt(curl, CURLOPT_RANGE, config->range); - curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errorbuffer); - curl_easy_setopt(curl, CURLOPT_TIMEOUT, config->timeout); - curl_easy_setopt(curl, CURLOPT_POSTFIELDS, config->postfields); - - /* new in libcurl 7.2: */ - curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, config->postfieldsize); - - curl_easy_setopt(curl, CURLOPT_REFERER, config->referer); - curl_easy_setopt(curl, CURLOPT_AUTOREFERER, - config->conf&CONF_AUTO_REFERER); - curl_easy_setopt(curl, CURLOPT_USERAGENT, config->useragent); - curl_easy_setopt(curl, CURLOPT_FTPPORT, config->ftpport); - curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, config->low_speed_limit); - curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, config->low_speed_time); - curl_easy_setopt(curl, CURLOPT_RESUME_FROM, - config->use_resume?config->resume_from:0); - curl_easy_setopt(curl, CURLOPT_COOKIE, config->cookie); - curl_easy_setopt(curl, CURLOPT_HTTPHEADER, config->headers); - curl_easy_setopt(curl, CURLOPT_HTTPPOST, config->httppost); - curl_easy_setopt(curl, CURLOPT_SSLCERT, config->cert); - curl_easy_setopt(curl, CURLOPT_SSLCERTTYPE, config->cert_type); - curl_easy_setopt(curl, CURLOPT_SSLKEY, config->key); - curl_easy_setopt(curl, CURLOPT_SSLKEYTYPE, config->key_type); - curl_easy_setopt(curl, CURLOPT_SSLKEYPASSWD, config->key_passwd); - - if(config->cacert) { - curl_easy_setopt(curl, CURLOPT_CAINFO, config->cacert); - curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, TRUE); - curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 2); - } - else - curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 1); - - if((config->conf&CONF_NOBODY) || - config->remote_time) { - /* no body or use remote time */ - curl_easy_setopt(curl, CURLOPT_FILETIME, TRUE); - } - - if (config->maxredirs) - curl_easy_setopt(curl, CURLOPT_MAXREDIRS, config->maxredirs); - else - curl_easy_setopt(curl, CURLOPT_MAXREDIRS, DEFAULT_MAXREDIRS); - - curl_easy_setopt(curl, CURLOPT_CRLF, config->crlf); - curl_easy_setopt(curl, CURLOPT_QUOTE, config->quote); - curl_easy_setopt(curl, CURLOPT_POSTQUOTE, config->postquote); - curl_easy_setopt(curl, CURLOPT_WRITEHEADER, - config->headerfile?&heads:NULL); - curl_easy_setopt(curl, CURLOPT_COOKIEFILE, config->cookiefile); - /* cookie jar was added in 7.9 */ - curl_easy_setopt(curl, CURLOPT_COOKIEJAR, config->cookiejar); - curl_easy_setopt(curl, CURLOPT_SSLVERSION, config->ssl_version); - curl_easy_setopt(curl, CURLOPT_TIMECONDITION, config->timecond); - curl_easy_setopt(curl, CURLOPT_TIMEVALUE, config->condtime); - curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, config->customrequest); - curl_easy_setopt(curl, CURLOPT_STDERR, config->errors); - - /* three new ones in libcurl 7.3: */ - curl_easy_setopt(curl, CURLOPT_HTTPPROXYTUNNEL, config->proxytunnel); - curl_easy_setopt(curl, CURLOPT_INTERFACE, config->iface); - curl_easy_setopt(curl, CURLOPT_KRB4LEVEL, config->krb4level); - - if((config->progressmode == CURL_PROGRESS_BAR) && - !(config->conf&(CONF_NOPROGRESS|CONF_MUTE))) { - /* we want the alternative style, then we have to implement it - ourselves! */ - progressbarinit(&progressbar, config); - curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, myprogress); - curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, &progressbar); - } - - /* new in libcurl 7.6.2: */ - curl_easy_setopt(curl, CURLOPT_TELNETOPTIONS, config->telnet_options); - - /* new in libcurl 7.7: */ - curl_easy_setopt(curl, CURLOPT_RANDOM_FILE, config->random_file); - curl_easy_setopt(curl, CURLOPT_EGDSOCKET, config->egd_file); - curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, config->connecttimeout); - - if(config->cipher_list) - curl_easy_setopt(curl, CURLOPT_SSL_CIPHER_LIST, config->cipher_list); - - if(config->httpversion) - curl_easy_setopt(curl, CURLOPT_HTTP_VERSION, config->httpversion); - - /* new in libcurl 7.9.2: */ - if(config->disable_epsv) - /* disable it */ - curl_easy_setopt(curl, CURLOPT_FTP_USE_EPSV, FALSE); - - res = curl_easy_perform(curl); - - if(config->writeout) { - ourWriteOut(curl, config->writeout); - } - -#ifdef VMS - if (!config->showerror) { - vms_show = VMSSTS_HIDE; - } -#else - if((res!=CURLE_OK) && config->showerror) - fprintf(config->errors, "curl: (%d) %s\n", res, errorbuffer); -#endif - - if(config->headerfile && !headerfilep && heads.stream) - fclose(heads.stream); - - if (outfile && !strequal(outfile, "-") && outs.stream) - fclose(outs.stream); - -#ifdef HAVE_UTIME - /* Important that we set the time _after_ the file has been - closed, as is done above here */ - if(config->remote_time && outs.filename) { - /* as libcurl if we got a time. Pretty please */ - long filetime; - curl_easy_getinfo(curl, CURLINFO_FILETIME, &filetime); - if(filetime >= 0) { - struct utimbuf times; - times.actime = filetime; - times.modtime = filetime; - utime(outs.filename, ×); /* set the time we got */ - } - } -#endif - - if (config->infile) - fclose(infd); - if(headerfilep) - fclose(headerfilep); - - if (httpgetfields) - free(httpgetfields); - - if(url) - free(url); - - if(outfile) - free(outfile); - } - if(outfiles) - free(outfiles); - - if(urls) - /* cleanup memory used for URL globbing patterns */ - glob_cleanup(urls); - - /* empty this urlnode struct */ - if(urlnode->url) - free(urlnode->url); - if(urlnode->outfile) - free(urlnode->outfile); - - /* move on to the next URL */ - nextnode=urlnode->next; - free(urlnode); /* free the node */ - urlnode = nextnode; - - } /* while-loop through all URLs */ - - if(allocuseragent) - free(config->useragent); - - /* cleanup the curl handle! */ - curl_easy_cleanup(curl); - - if((config->errors != stderr) && - (config->errors != stdout)) - /* it wasn't directed to stdout or stderr so close the file! */ - fclose(config->errors); - - main_free(); /* cleanup */ - - return res; -} - - -int main(int argc, char *argv[]) -{ - int res; - struct Configurable config; - memset(&config, 0, sizeof(struct Configurable)); - - res = operate(&config, argc, argv); - free_config_fields(&config); - -#ifdef VMS - if (res > 52) res = 53; /* MAXMSG, porting helper */ - return (vms_cond[res]|vms_show); -#else - return res; -#endif -} - -static char *my_get_line(FILE *fp) -{ - char buf[4096]; - char *nl = NULL; - char *retval = NULL; - - do - { - if (NULL == fgets(buf, sizeof(buf), fp)) - break; - if (NULL == retval) - retval = strdup(buf); - else - { - if (NULL == (retval = realloc(retval, - strlen(retval) + strlen(buf) + 1))) - break; - strcat(retval, buf); - } - } - while (NULL == (nl = strchr(retval, '\n'))); - - if (NULL != nl) - *nl = '\0'; - - return retval; -} diff --git a/Build/source/libs/curl/src/mkhelp.pl b/Build/source/libs/curl/src/mkhelp.pl deleted file mode 100644 index edc8d173e2e..00000000000 --- a/Build/source/libs/curl/src/mkhelp.pl +++ /dev/null @@ -1,94 +0,0 @@ -#!/usr/local/bin/perl - -# Yeah, I know, probably 1000 other persons already wrote a script like -# this, but I'll tell ya: - -# THEY DON'T FIT ME :-) - -# Get readme file as parameter: -$README = $ARGV[0]; - -if($README eq "") { - print "usage: mkreadme.pl <README>\n"; - exit; -} - - -push @out, " _ _ ____ _ \n"; -push @out, " Project ___| | | | _ \\| | \n"; -push @out, " / __| | | | |_) | | \n"; -push @out, " | (__| |_| | _ <| |___ \n"; -push @out, " \\___|\\___/|_| \\_\\_____|\n"; - -$head=0; -loop: -while (<STDIN>) { - $line = $_; - - # this kind should be removed first: - $line =~ s/_//g; - - # then this: - $line =~ s/.//g; - - if($line =~ /^curl/i) { - # cut off the page headers - $head=1; - next loop; - } - - if($line =~ /^[ \t]*\n/) { - $wline++; - # we only make one empty line max - next loop; - } - if($wline) { - $wline = 0; - if(!$head) { - push @out, "\n"; - } - $head =0; - } - push @out, $line; -} -push @out, "\n"; # just an extra newline - -open(READ, "<$README") || - die "couldn't read the README infile"; - -while(<READ>) { - push @out, $_; -} -close(READ); - - -print "/* NEVER EVER edit this manually, fix the mkhelp script instead! */\n" -; -print "#include <stdio.h>\n"; -print "void hugehelp(void)\n"; -print "{\n"; -print "puts (\n"; - -$outsize=0; -for(@out) { - chop; - - $new = $_; - - $outsize += length($new)+1; # one for the newline - - $new =~ s/\\/\\\\/g; - $new =~ s/\"/\\\"/g; - - # gcc 2.96 claims ISO C89 only is required to support 509 letter strings - if($outsize > 500) { - # terminate and make another puts() call here - print ");\n puts(\n"; - $outsize=length($new)+1; - } - printf("\"%s\\n\"\n", $new); - -} - -print " ) ;\n}\n" - diff --git a/Build/source/libs/curl/src/setup.h b/Build/source/libs/curl/src/setup.h deleted file mode 100644 index 387fde05391..00000000000 --- a/Build/source/libs/curl/src/setup.h +++ /dev/null @@ -1,80 +0,0 @@ -#ifndef __CLIENT_SETUP_H -#define __CLIENT_SETUP_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2001, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: setup.h,v 1.11 2002/02/20 23:24:04 bagder Exp $ - *****************************************************************************/ - -#include <stdio.h> - -#if !defined(WIN32) && defined(_WIN32) -/* This _might_ be a good Borland fix. Please report whether this works or - not! */ -#define WIN32 -#endif - -#ifdef HAVE_CONFIG_H -#ifdef VMS -#include "config-vms.h" -#else -#include "config.h" /* the configure script results */ -#endif -#else -#ifdef WIN32 -/* include the hand-modified win32 adjusted config.h! */ -#include "config-win32.h" -#endif -#ifdef macintosh -/* this is not the same as Mac OS X */ -#include "config-mac.h" -#endif -#endif - -#ifndef OS -#define OS "unknown" -#endif - -#if !defined(fileno) && !defined(WIN32) /* sunos 4 have this as a macro! */ -int fileno( FILE *stream); -#endif - -#ifdef WIN32 -#define PATH_CHAR ";" -#define DIR_CHAR "\\" -#define DOT_CHAR "_" -#else -#ifdef __EMX__ -/* 20000318 mgs - * OS/2 supports leading dots in filenames if the volume is formatted - * with JFS or HPFS. */ -#define PATH_CHAR ";" -#define DIR_CHAR "\\" -#define DOT_CHAR "." -#else - -#define PATH_CHAR ":" -#define DIR_CHAR "/" -#define DOT_CHAR "." - -#endif -#endif - -#endif /* __SETUP_H */ diff --git a/Build/source/libs/curl/src/stamp-h2.in b/Build/source/libs/curl/src/stamp-h2.in deleted file mode 100644 index 9788f70238c..00000000000 --- a/Build/source/libs/curl/src/stamp-h2.in +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/Build/source/libs/curl/src/urlglob.c b/Build/source/libs/curl/src/urlglob.c deleted file mode 100644 index d77240c9593..00000000000 --- a/Build/source/libs/curl/src/urlglob.c +++ /dev/null @@ -1,472 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2002, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: urlglob.c,v 1.16 2002/03/06 22:52:00 bagder Exp $ - *****************************************************************************/ - -/* client-local setup.h */ -#include "setup.h" - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <ctype.h> -#include <curl/curl.h> -#include "urlglob.h" - -#ifdef MALLOCDEBUG -#include "../lib/memdebug.h" -#endif - -typedef enum { - GLOB_OK, - GLOB_ERROR -} GlobCode; - -/* - * glob_word() - * - * Input a full globbed string, set the forth argument to the amount of - * strings we get out of this. Return GlobCode. - */ -GlobCode glob_word(URLGlob *, /* object anchor */ - char *, /* globbed string */ - int, /* position */ - int *); /* returned number of strings */ - -GlobCode glob_set(URLGlob *glob, char *pattern, int pos, int *amount) -{ - /* processes a set expression with the point behind the opening '{' - ','-separated elements are collected until the next closing '}' - */ - char* buf = glob->glob_buffer; - URLPattern *pat; - - pat = (URLPattern*)&glob->pattern[glob->size / 2]; - /* patterns 0,1,2,... correspond to size=1,3,5,... */ - pat->type = UPTSet; - pat->content.Set.size = 0; - pat->content.Set.ptr_s = 0; - pat->content.Set.elements = (char**)malloc(0); - ++glob->size; - - while (1) { - switch (*pattern) { - case '\0': /* URL ended while set was still open */ - /*printf("error: unmatched brace at pos %d\n", pos);*/ - return GLOB_ERROR; - - case '{': - case '[': /* no nested expressions at this time */ - /*printf("error: nested braces not supported %d\n", pos);*/ - return GLOB_ERROR; - - case ',': - case '}': /* set element completed */ - *buf = '\0'; - pat->content.Set.elements = - realloc(pat->content.Set.elements, - (pat->content.Set.size + 1) * sizeof(char*)); - if (!pat->content.Set.elements) { - /*printf("out of memory in set pattern\n");*/ - return GLOB_ERROR; - } - pat->content.Set.elements[pat->content.Set.size] = - strdup(glob->glob_buffer); - ++pat->content.Set.size; - - if (*pattern == '}') { - /* entire set pattern completed */ - int wordamount; - - /* always check for a literal (may be "") between patterns */ - if(GLOB_ERROR == glob_word(glob, ++pattern, ++pos, &wordamount)) - wordamount=1; - *amount = pat->content.Set.size * wordamount; - - return GLOB_OK; - } - - buf = glob->glob_buffer; - ++pattern; - ++pos; - break; - - case ']': /* illegal closing bracket */ - /*printf("error: illegal pattern at pos %d\n", pos);*/ - return GLOB_ERROR; - - case '\\': /* escaped character, skip '\' */ - if (*(buf+1) == '\0') { /* but no escaping of '\0'! */ - /*printf("error: illegal pattern at pos %d\n", pos); */ - return GLOB_ERROR; - } - ++pattern; - ++pos; /* intentional fallthrough */ - - default: - *buf++ = *pattern++; /* copy character to set element */ - ++pos; - } - } - return GLOB_ERROR; -} - -GlobCode glob_range(URLGlob *glob, char *pattern, int pos, int *amount) -{ - /* processes a range expression with the point behind the opening '[' - - char range: e.g. "a-z]", "B-Q]" - - num range: e.g. "0-9]", "17-2000]" - - num range with leading zeros: e.g. "001-999]" - expression is checked for well-formedness and collected until the next ']' - */ - URLPattern *pat; - char *c; - int wordamount=1; - - pat = (URLPattern*)&glob->pattern[glob->size / 2]; - /* patterns 0,1,2,... correspond to size=1,3,5,... */ - ++glob->size; - - if (isalpha((int)*pattern)) { /* character range detected */ - pat->type = UPTCharRange; - if (sscanf(pattern, "%c-%c]", &pat->content.CharRange.min_c, - &pat->content.CharRange.max_c) != 2 || - pat->content.CharRange.min_c >= pat->content.CharRange.max_c || - pat->content.CharRange.max_c - pat->content.CharRange.min_c > 'z' - 'a') { - /* the pattern is not well-formed */ -#if 0 - printf("error: illegal pattern or range specification after pos %d\n", - pos); -#endif - return GLOB_ERROR; - } - pat->content.CharRange.ptr_c = pat->content.CharRange.min_c; - /* always check for a literal (may be "") between patterns */ - - if(GLOB_ERROR == glob_word(glob, pattern + 4, pos + 4, &wordamount)) - wordamount=1; - - *amount = (pat->content.CharRange.max_c - - pat->content.CharRange.min_c + 1) * - wordamount; - - return GLOB_OK; - } - - if (isdigit((int)*pattern)) { /* numeric range detected */ - - pat->type = UPTNumRange; - pat->content.NumRange.padlength = 0; - if (sscanf(pattern, "%d-%d]", - &pat->content.NumRange.min_n, - &pat->content.NumRange.max_n) != 2 || - pat->content.NumRange.min_n >= pat->content.NumRange.max_n) { - /* the pattern is not well-formed */ -#if 0 - printf("error: illegal pattern or range specification after pos %d\n", - pos); -#endif - return GLOB_ERROR; - } - if (*pattern == '0') { /* leading zero specified */ - c = pattern; - while (isdigit((int)*c++)) - ++pat->content.NumRange.padlength; /* padding length is set for all - instances of this pattern */ - } - pat->content.NumRange.ptr_n = pat->content.NumRange.min_n; - c = (char*)(strchr(pattern, ']') + 1); /* continue after next ']' */ - - /* always check for a literal (may be "") between patterns */ - - if(GLOB_ERROR == glob_word(glob, c, pos + (c - pattern), &wordamount)) - wordamount = 1; - - *amount = (pat->content.NumRange.max_n - - pat->content.NumRange.min_n + 1) * - wordamount; - - return GLOB_OK; - } - /*printf("error: illegal character in range specification at pos %d\n", - pos);*/ - return GLOB_ERROR; -} - -GlobCode glob_word(URLGlob *glob, char *pattern, int pos, int *amount) -{ - /* processes a literal string component of a URL - special characters '{' and '[' branch to set/range processing functions - */ - char* buf = glob->glob_buffer; - int litindex; - - *amount = 1; /* default is one single string */ - - while (*pattern != '\0' && *pattern != '{' && *pattern != '[') { - if (*pattern == '}' || *pattern == ']') - return GLOB_ERROR; - - /* only allow \ to escape known "special letters" */ - if (*pattern == '\\' && - (*(pattern+1) == '{' || *(pattern+1) == '[' || - *(pattern+1) == '}' || *(pattern+1) == ']') ) { - - /* escape character, skip '\' */ - ++pattern; - ++pos; - if (*pattern == '\0') /* but no escaping of '\0'! */ - return GLOB_ERROR; - } - *buf++ = *pattern++; /* copy character to literal */ - ++pos; - } - *buf = '\0'; - litindex = glob->size / 2; - /* literals 0,1,2,... correspond to size=0,2,4,... */ - glob->literal[litindex] = strdup(glob->glob_buffer); - ++glob->size; - - switch (*pattern) { - case '\0': - return GLOB_OK; /* singular URL processed */ - - case '{': - /* process set pattern */ - return glob_set(glob, ++pattern, ++pos, amount); - - case '[': - /* process range pattern */ - return glob_range(glob, ++pattern, ++pos, amount); - } - - return GLOB_ERROR; /* something got wrong */ -} - -int glob_url(URLGlob** glob, char* url, int *urlnum) -{ - /* - * We can deal with any-size, just make a buffer with the same length - * as the specified URL! - */ - URLGlob *glob_expand; - int amount; - char *glob_buffer=(char *)malloc(strlen(url)+1); - - if(NULL == glob_buffer) - return CURLE_OUT_OF_MEMORY; - - glob_expand = (URLGlob*)malloc(sizeof(URLGlob)); - if(NULL == glob_expand) { - free(glob_buffer); - return CURLE_OUT_OF_MEMORY; - } - glob_expand->size = 0; - glob_expand->urllen = strlen(url); - glob_expand->glob_buffer = glob_buffer; - glob_expand->beenhere=0; - if(GLOB_OK == glob_word(glob_expand, url, 1, &amount)) - *urlnum = amount; - else { - /* it failed, we cleanup */ - free(glob_buffer); - free(glob_expand); - glob_expand = NULL; - *urlnum = 1; - } - - *glob = glob_expand; - return CURLE_OK; -} - -void glob_cleanup(URLGlob* glob) -{ - int i, elem; - - for (i = glob->size - 1; i >= 0; --i) { - if (!(i & 1)) { /* even indexes contain literals */ - free(glob->literal[i/2]); - } else { /* odd indexes contain sets or ranges */ - if (glob->pattern[i/2].type == UPTSet) { - for (elem = glob->pattern[i/2].content.Set.size - 1; elem >= 0; --elem) { - free(glob->pattern[i/2].content.Set.elements[elem]); - } - free(glob->pattern[i/2].content.Set.elements); - } - } - } - free(glob->glob_buffer); - free(glob); -} - -char *next_url(URLGlob *glob) -{ - char *buf = glob->glob_buffer; - URLPattern *pat; - char *lit; - signed int i; - int carry; - - if (!glob->beenhere) - glob->beenhere = 1; - else { - carry = 1; - - /* implement a counter over the index ranges of all patterns, - starting with the rightmost pattern */ - for (i = glob->size / 2 - 1; carry && i >= 0; --i) { - carry = 0; - pat = &glob->pattern[i]; - switch (pat->type) { - case UPTSet: - if (++pat->content.Set.ptr_s == pat->content.Set.size) { - pat->content.Set.ptr_s = 0; - carry = 1; - } - break; - case UPTCharRange: - if (++pat->content.CharRange.ptr_c > pat->content.CharRange.max_c) { - pat->content.CharRange.ptr_c = pat->content.CharRange.min_c; - carry = 1; - } - break; - case UPTNumRange: - if (++pat->content.NumRange.ptr_n > pat->content.NumRange.max_n) { - pat->content.NumRange.ptr_n = pat->content.NumRange.min_n; - carry = 1; - } - break; - default: - printf("internal error: invalid pattern type (%d)\n", pat->type); - exit (CURLE_FAILED_INIT); - } - } - if (carry) /* first pattern ptr has run into overflow, done! */ - return NULL; - } - - for (i = 0; i < glob->size; ++i) { - if (!(i % 2)) { /* every other term (i even) is a literal */ - lit = glob->literal[i/2]; - strcpy(buf, lit); - buf += strlen(lit); - } - else { /* the rest (i odd) are patterns */ - pat = &glob->pattern[i/2]; - switch(pat->type) { - case UPTSet: - strcpy(buf, pat->content.Set.elements[pat->content.Set.ptr_s]); - buf += strlen(pat->content.Set.elements[pat->content.Set.ptr_s]); - break; - case UPTCharRange: - *buf++ = pat->content.CharRange.ptr_c; - break; - case UPTNumRange: - sprintf(buf, "%0*d", pat->content.NumRange.padlength, pat->content.NumRange.ptr_n); - buf += strlen(buf); /* make no sprint() return code assumptions */ - break; - default: - printf("internal error: invalid pattern type (%d)\n", pat->type); - exit (CURLE_FAILED_INIT); - } - } - } - *buf = '\0'; - return strdup(glob->glob_buffer); -} - -char *match_url(char *filename, URLGlob *glob) -{ - char *target; - URLPattern pat; - int i; - int allocsize; - int stringlen=0; - char numbuf[18]; - char *appendthis; - int appendlen; - - /* We cannot use the glob_buffer for storage here since the filename may - * be longer than the URL we use. We allocate a good start size, then - * we need to realloc in case of need. - */ - allocsize=strlen(filename); - target = malloc(allocsize); - if(NULL == target) - return NULL; /* major failure */ - - while (*filename != '\0') { - if (*filename == '#') { - if (!isdigit((int)*++filename) || - *filename == '0') { /* only '#1' ... '#9' allowed */ - /* printf("illegal matching expression\n"); - exit(CURLE_URL_MALFORMAT);*/ - continue; - } - i = *filename - '1'; - if (i + 1 > glob->size / 2) { - /*printf("match against nonexisting pattern\n"); - exit(CURLE_URL_MALFORMAT);*/ - continue; - } - pat = glob->pattern[i]; - switch (pat.type) { - case UPTSet: - appendthis = pat.content.Set.elements[pat.content.Set.ptr_s]; - appendlen = (int)strlen(pat.content.Set.elements[pat.content.Set.ptr_s]); - break; - case UPTCharRange: - numbuf[0]=pat.content.CharRange.ptr_c; - numbuf[1]=0; - appendthis=numbuf; - appendlen=1; - break; - case UPTNumRange: - sprintf(numbuf, "%0*d", pat.content.NumRange.padlength, pat.content.NumRange.ptr_n); - appendthis = numbuf; - appendlen = (int)strlen(numbuf); - break; - default: - printf("internal error: invalid pattern type (%d)\n", pat.type); - return NULL; - } - ++filename; - } - else { - appendthis=filename++; - appendlen=1; - } - if(appendlen + stringlen >= allocsize) { - char *newstr; - allocsize = (appendlen + stringlen)*2; - newstr=realloc(target, allocsize); - if(NULL ==newstr) { - free(target); - return NULL; - } - target=newstr; - } - memcpy(&target[stringlen], appendthis, appendlen); - stringlen += appendlen; - } - target[stringlen]= '\0'; - return target; -} diff --git a/Build/source/libs/curl/src/urlglob.h b/Build/source/libs/curl/src/urlglob.h deleted file mode 100644 index fa1f6843ed6..00000000000 --- a/Build/source/libs/curl/src/urlglob.h +++ /dev/null @@ -1,61 +0,0 @@ -#ifndef __URLGLOB_H -#define __URLGLOB_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: urlglob.h,v 1.8 2001/01/08 07:37:44 bagder Exp $ - *****************************************************************************/ -typedef enum {UPTSet=1,UPTCharRange,UPTNumRange} URLPatternType; - -typedef struct { - URLPatternType type; - union { - struct { - char **elements; - short size; - short ptr_s; - } Set; - struct { - char min_c, max_c; - char ptr_c; - } CharRange; - struct { - int min_n, max_n; - short padlength; - int ptr_n; - } NumRange ; - } content; -} URLPattern; - -typedef struct { - char* literal[10]; - URLPattern pattern[9]; - int size; - int urllen; - char *glob_buffer; - char beenhere; -} URLGlob; - -int glob_url(URLGlob**, char*, int *); -char* next_url(URLGlob*); -char* match_url(char*, URLGlob *); -void glob_cleanup(URLGlob* glob); - -#endif diff --git a/Build/source/libs/curl/src/version.h b/Build/source/libs/curl/src/version.h deleted file mode 100644 index ec1798c84dd..00000000000 --- a/Build/source/libs/curl/src/version.h +++ /dev/null @@ -1,3 +0,0 @@ -#define CURL_NAME "curl" -#define CURL_VERSION "7.9.5" -#define CURL_ID CURL_NAME " " CURL_VERSION " (" OS ") " diff --git a/Build/source/libs/curl/src/writeout.c b/Build/source/libs/curl/src/writeout.c deleted file mode 100644 index 01bcaeb2f18..00000000000 --- a/Build/source/libs/curl/src/writeout.c +++ /dev/null @@ -1,217 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: writeout.c,v 1.9 2002/02/25 07:40:49 bagder Exp $ - *****************************************************************************/ - -#include <stdio.h> -#include <string.h> - -#include <curl/curl.h> - -#define _MPRINTF_REPLACE /* we want curl-functions instead of native ones */ -#include <curl/mprintf.h> - -#include "writeout.h" - -typedef enum { - VAR_NONE, /* must be the first */ - VAR_TOTAL_TIME, - VAR_NAMELOOKUP_TIME, - VAR_CONNECT_TIME, - VAR_PRETRANSFER_TIME, - VAR_STARTTRANSFER_TIME, - VAR_SIZE_DOWNLOAD, - VAR_SIZE_UPLOAD, - VAR_SPEED_DOWNLOAD, - VAR_SPEED_UPLOAD, - VAR_HTTP_CODE, - VAR_HEADER_SIZE, - VAR_REQUEST_SIZE, - VAR_EFFECTIVE_URL, - VAR_CONTENT_TYPE, - VAR_NUM_OF_VARS /* must be the last */ -} replaceid; - -struct variable { - const char *name; - replaceid id; -}; - - -static struct variable replacements[]={ - {"url_effective", VAR_EFFECTIVE_URL}, - {"http_code", VAR_HTTP_CODE}, - {"time_total", VAR_TOTAL_TIME}, - {"time_namelookup", VAR_NAMELOOKUP_TIME}, - {"time_connect", VAR_CONNECT_TIME}, - {"time_pretransfer", VAR_PRETRANSFER_TIME}, - {"time_starttransfer", VAR_STARTTRANSFER_TIME}, - {"size_header", VAR_HEADER_SIZE}, - {"size_request", VAR_REQUEST_SIZE}, - {"size_download", VAR_SIZE_DOWNLOAD}, - {"size_upload", VAR_SIZE_UPLOAD}, - {"speed_download", VAR_SPEED_DOWNLOAD}, - {"speed_upload", VAR_SPEED_UPLOAD}, - {"content_type", VAR_CONTENT_TYPE}, - {NULL, 0} -}; - -void ourWriteOut(CURL *curl, char *writeinfo) -{ - FILE *stream = stdout; - char *ptr=writeinfo; - char *stringp; - long longinfo; - double doubleinfo; - - while(*ptr) { - if('%' == *ptr) { - if('%' == ptr[1]) { - /* an escaped %-letter */ - fputc('%', stream); - ptr+=2; - } - else { - /* this is meant as a variable to output */ - char *end; - char keepit; - int i; - if(('{' == ptr[1]) && (end=strchr(ptr, '}'))) { - ptr+=2; /* pass the % and the { */ - keepit=*end; - *end=0; /* zero terminate */ - for(i=0; replacements[i].name; i++) { - if(strequal(ptr, replacements[i].name)) { - switch(replacements[i].id) { - case VAR_EFFECTIVE_URL: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &stringp)) - fputs(stringp, stream); - break; - case VAR_HTTP_CODE: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_HTTP_CODE, &longinfo)) - fprintf(stream, "%03d", longinfo); - break; - case VAR_HEADER_SIZE: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_HEADER_SIZE, &longinfo)) - fprintf(stream, "%d", longinfo); - break; - case VAR_REQUEST_SIZE: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_REQUEST_SIZE, &longinfo)) - fprintf(stream, "%d", longinfo); - break; - case VAR_TOTAL_TIME: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME, &doubleinfo)) - fprintf(stream, "%.3f", doubleinfo); - break; - case VAR_NAMELOOKUP_TIME: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_NAMELOOKUP_TIME, - &doubleinfo)) - fprintf(stream, "%.3f", doubleinfo); - break; - case VAR_CONNECT_TIME: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_CONNECT_TIME, &doubleinfo)) - fprintf(stream, "%.3f", doubleinfo); - break; - case VAR_PRETRANSFER_TIME: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_PRETRANSFER_TIME, &doubleinfo)) - fprintf(stream, "%.3f", doubleinfo); - break; - case VAR_STARTTRANSFER_TIME: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_STARTTRANSFER_TIME, &doubleinfo)) - fprintf(stream, "%.3f", doubleinfo); - break; - case VAR_SIZE_UPLOAD: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_SIZE_UPLOAD, &doubleinfo)) - fprintf(stream, "%.0f", doubleinfo); - break; - case VAR_SIZE_DOWNLOAD: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_SIZE_DOWNLOAD, &doubleinfo)) - fprintf(stream, "%.0f", doubleinfo); - break; - case VAR_SPEED_DOWNLOAD: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_SPEED_DOWNLOAD, &doubleinfo)) - fprintf(stream, "%.3f", doubleinfo); - break; - case VAR_SPEED_UPLOAD: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_SPEED_UPLOAD, &doubleinfo)) - fprintf(stream, "%.3f", doubleinfo); - break; - case VAR_CONTENT_TYPE: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_CONTENT_TYPE, &stringp)) - fputs(stringp, stream); - break; - default: - break; - } - break; - } - } - ptr=end+1; /* pass the end */ - *end = keepit; - } - else { - /* illegal syntax, then just output the characters that are used */ - fputc('%', stream); - fputc(ptr[1], stream); - ptr+=2; - } - } - } - else if('\\' == *ptr) { - switch(ptr[1]) { - case 'r': - fputc('\r', stream); - break; - case 'n': - fputc('\n', stream); - break; - case 't': - fputc('\t', stream); - break; - default: - /* unknown, just output this */ - fputc(*ptr, stream); - fputc(ptr[1], stream); - break; - } - ptr+=2; - } - else { - fputc(*ptr, stream); - ptr++; - } - } - -} diff --git a/Build/source/libs/curl/src/writeout.h b/Build/source/libs/curl/src/writeout.h deleted file mode 100644 index 621ad5daba1..00000000000 --- a/Build/source/libs/curl/src/writeout.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef __WRITEOUT_H -#define __WRITEOUT_H -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al. - * - * In order to be useful for every potential user, curl and libcurl are - * dual-licensed under the MPL and the MIT/X-derivate licenses. - * - * 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 MPL or the MIT/X-derivate - * licenses. You may pick one of these licenses. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id: writeout.h,v 1.2 2001/01/03 09:29:34 bagder Exp $ - *****************************************************************************/ - -void ourWriteOut(CURL *curl, char *out); - -#endif diff --git a/Build/source/libs/curl/tests/FILEFORMAT b/Build/source/libs/curl/tests/FILEFORMAT deleted file mode 100644 index 6eb143485e0..00000000000 --- a/Build/source/libs/curl/tests/FILEFORMAT +++ /dev/null @@ -1,79 +0,0 @@ - The file format of the test suite is a very simple and extendable format. All -data for a single test case resides in a single ASCII file. Labels mark the -beginning and the end of all sections. Each label must be written in its own -line and is resembling XML/HTML. - - Each file is split up in three main sections: reply, client and verify. The -reply section is used for the server to know what to send as a reply for the -requests curl sends, the client section defines how the client should behave -while the verify section defines how to verify that the data stored after a -command has been run ended up correctly. - - Each main section has a number of available subsections that can be -specified, that will be checked/used if specified. This document includes all -the subsections currently supported. - -<reply> -<data [nocheck=1]> -data to sent to the client on its request and later verified that it arrived -safely. Set the nocheck=1 to prevent the test script to verify the arrival -of this data. -</data> -<datacheck> -if the data is sent but this is what should be checked afterwards -</datacheck> -<size> -number to return on a ftp SIZE command -</size> -<cmd> -special purpose server-command to control its behavior *before* the -reply is sent -</cmd> -<postcmd> -special purpose server-command to control its behavior *after* the -reply is sent -</postcmd> -</reply> - -<client> -<name> -test case description -</name> -<command [option=no-output]> -command line to run, there's a bunch of %variables that get replaced -accordingly. more about them elsewhere - -Set 'option=no-output' to prevent the test script to slap on the --output -argument that directs the output to a file. The --output is also not added if -the client/stdout section is used. -</command> -<file name="log/filename"> -this creates the named file with this content before the test case is run -which is useful if the test case needs a file to act on. -</file> -</client> - -<verify> -<errorcode> -numerical error code curl is supposed to return -</errorcode> -<strip> -One regex per line that is removed from the protocol dumps before the -comparison is made. This is very useful to remove dependencies on dynamicly -changing protocol data such as port numbers or user-agent strings. -</strip> -<protocol [nonewline=yes]> -the protocol dump curl should transmit, if 'nonewline' is set, we will cut -off the trailing newline of this given data before comparing with the one -actually sent by the client -</protocol> -<stdout> -This verfies that this data was passed to stdout. -</stdout> -<file name="log/filename"> -the file's contents must be identical to this -</file> -<upload> -the contents of the upload data curl should have sent -</upload> -</verify> diff --git a/Build/source/libs/curl/tests/Makefile.am b/Build/source/libs/curl/tests/Makefile.am deleted file mode 100644 index e0326c968c3..00000000000 --- a/Build/source/libs/curl/tests/Makefile.am +++ /dev/null @@ -1,28 +0,0 @@ -EXTRA_DIST = ftpserver.pl httpserver.pl httpsserver.pl runtests.pl \ - ftpsserver.pl stunnel.pm getpart.pm FILEFORMAT README \ - stunnel.pem memanalyze.pl - -SUBDIRS = data server - -PERLFLAGS = -I$(srcdir) - -all: -install: - -curl: - @(cd ..; make) - -test: server/sws - @cd data && exec $(MAKE) test - srcdir=$(srcdir) $(PERL) $(PERLFLAGS) $(srcdir)/runtests.pl - -quiet-test: server/sws - @cd data && exec $(MAKE) test - srcdir=$(srcdir) $(PERL) $(PERLFLAGS) $(srcdir)/runtests.pl -s -a - -clean: - rm -rf log - find . -name "*~" | xargs rm -f - -server/sws: - cd server; make sws diff --git a/Build/source/libs/curl/tests/Makefile.in b/Build/source/libs/curl/tests/Makefile.in deleted file mode 100644 index 93327c0ccbe..00000000000 --- a/Build/source/libs/curl/tests/Makefile.in +++ /dev/null @@ -1,365 +0,0 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# 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@ - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_alias = @host_alias@ -host_triplet = @host@ -AMTAR = @AMTAR@ -AS = @AS@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -EXEEXT = @EXEEXT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -IPV6_ENABLED = @IPV6_ENABLED@ -KRB4_ENABLED = @KRB4_ENABLED@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -NROFF = @NROFF@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_ENABLED = @OPENSSL_ENABLED@ -PACKAGE = @PACKAGE@ -PERL = @PERL@ -PKGADD_NAME = @PKGADD_NAME@ -PKGADD_PKG = @PKGADD_PKG@ -PKGADD_VENDOR = @PKGADD_VENDOR@ -RANDOM_FILE = @RANDOM_FILE@ -RANLIB = @RANLIB@ -STRIP = @STRIP@ -VERSION = @VERSION@ -VERSIONNUM = @VERSIONNUM@ -YACC = @YACC@ -am__include = @am__include@ -am__quote = @am__quote@ -install_sh = @install_sh@ - -EXTRA_DIST = ftpserver.pl httpserver.pl httpsserver.pl runtests.pl \ - ftpsserver.pl stunnel.pm getpart.pm FILEFORMAT README \ - stunnel.pem memanalyze.pl - - -SUBDIRS = data server - -PERLFLAGS = -I$(srcdir) -subdir = tests -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/lib/config.h \ - $(top_builddir)/src/config.h \ - $(top_builddir)/tests/server/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = - -RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ - uninstall-info-recursive all-recursive install-data-recursive \ - install-exec-recursive installdirs-recursive install-recursive \ - uninstall-recursive check-recursive installcheck-recursive -DIST_COMMON = README Makefile.am Makefile.in -DIST_SUBDIRS = $(SUBDIRS) -all: all-recursive - -.SUFFIXES: - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -uninstall-info-am: - -# 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): - @set fnord $(MAKEFLAGS); amf=$$2; \ - 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) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - 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: - @set fnord $(MAKEFLAGS); amf=$$2; \ - 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) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(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 $(LISP) - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(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 "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) - -GTAGS: - here=`CDPATH=: && cd $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = .. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - for subdir in $(SUBDIRS); do \ - if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ - || exit 1; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -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)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -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 mostlyclean-am - -distclean: distclean-recursive - -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -uninstall-am: uninstall-info-am - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-recursive distclean \ - distclean-generic distclean-libtool distclean-recursive \ - distclean-tags distdir dvi dvi-am dvi-recursive info info-am \ - info-recursive install install-am install-data install-data-am \ - install-data-recursive install-exec install-exec-am \ - install-exec-recursive install-info install-info-am \ - install-info-recursive install-man install-recursive \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am installdirs-recursive maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive mostlyclean \ - mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ - tags tags-recursive uninstall uninstall-am uninstall-info-am \ - uninstall-info-recursive uninstall-recursive - - -all: -install: - -curl: - @(cd ..; make) - -test: server/sws - @cd data && exec $(MAKE) test - srcdir=$(srcdir) $(PERL) $(PERLFLAGS) $(srcdir)/runtests.pl - -quiet-test: server/sws - @cd data && exec $(MAKE) test - srcdir=$(srcdir) $(PERL) $(PERLFLAGS) $(srcdir)/runtests.pl -s -a - -clean: - rm -rf log - find . -name "*~" | xargs rm -f - -server/sws: - cd server; make sws -# 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/Build/source/libs/curl/tests/README b/Build/source/libs/curl/tests/README deleted file mode 100644 index 41b0f7e0212..00000000000 --- a/Build/source/libs/curl/tests/README +++ /dev/null @@ -1,80 +0,0 @@ - _ _ ____ _ - ___| | | | _ \| | - / __| | | | |_) | | - | (__| |_| | _ <| |___ - \___|\___/|_| \_\_____| - -The cURL Test Suite - -Requires: - perl (and a unix-style shell) - diff (when a test fail, a diff is shown) - stunnel (for HTTPS and FTPS tests) - -Run: - 'make test'. This invokes the 'runtests.pl' perl script. Edit the top - variables of that script in case you have some specific needs. - - The script breaks on the first test that doesn't do OK. Use -a to prevent - the script to abort on the first error. Run the script with -v for more - verbose output. Use -d to run the test servers with debug output enabled as - well. - - Use -s for shorter output, or pass test numbers to run specific tests only - (like "./runtests.pl 3 4" to test 3 and 4 only). It also supports test case - ranges with 'to'. As in "./runtests 3 to 9" which runs the seven tests from - 3 to 9. - -Memory: - The test script will check that all allocated memory is freed properly IF - curl has been built with the MALLOCDEBUG define set. The script will - automatically detect if that is the case, and it will use the ../memanalyze - script to analyze the memory debugging output. - -Debug: - If a test case fails, you can conveniently get the script to invoke the - debugger (gdb) for you with the server running and the exact same command - line parameters that failed. Just invoke 'runtests.pl <test number> -g' and - then just type 'run' in the debugger to perform the command through the - debugger. - - If a test case causes a core dump, analyze it by running gdb like: - - # gdb ../curl/src core - - ... and get a stack trace with the gdb command: - - (gdb) where - -Logs: - All logs are generated in the logs/ subdirctory (it is emtpied first - in the runtests.pl script) - -Data: - All test-data are put in the data/ subdirctory. Each test is stored in the - file named according to the test number. - - The test case file format is simply a way to store different sections within - the same physical file. The different sections are to be described here - within shortly. - - -TEST CASE NUMBERS - - So far, I've used this system: - - 1 - 99 HTTP - 100 - 199 FTP - 200 - 299 FILE - 300 - 399 HTTPS - 400 - 499 FTPS - - ... if we run out of test numbers for a particular protocol, then we need - to fix it. - -TODO: - - * Port old test cases to the new file format - - * Make httpserver.pl work when we PUT without Content-Length: - * Add persistant connection support and test cases diff --git a/Build/source/libs/curl/tests/data/Makefile.am b/Build/source/libs/curl/tests/data/Makefile.am deleted file mode 100644 index 2517626fb86..00000000000 --- a/Build/source/libs/curl/tests/data/Makefile.am +++ /dev/null @@ -1,19 +0,0 @@ -all: -install: - -test: - [ -f test1 ] || ln -s $(srcdir)/test* . - -EXTRA_DIST = \ -test1 test108 test117 test127 test20 test27 test34 test46 \ -test10 test109 test118 test13 test200 test28 test36 test47 \ -test100 test11 test119 test14 test201 test29 test37 test5 \ -test101 test110 test12 test15 test202 test3 test4 test6 \ -test102 test111 test120 test16 test21 test30 test400 test7 \ -test103 test112 test121 test17 test22 test300 test401 test8 \ -test104 test113 test122 test18 test23 test301 test402 test9 \ -test105 test114 test123 test19 test24 test302 test43 test31 \ -test106 test115 test124 test190 test25 test303 test44 test38 \ -test107 test116 test125 test2 test26 test33 test45 test126 \ -test304 - diff --git a/Build/source/libs/curl/tests/data/Makefile.in b/Build/source/libs/curl/tests/data/Makefile.in deleted file mode 100644 index 47bd4a00daf..00000000000 --- a/Build/source/libs/curl/tests/data/Makefile.in +++ /dev/null @@ -1,238 +0,0 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# 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@ - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_alias = @host_alias@ -host_triplet = @host@ -AMTAR = @AMTAR@ -AS = @AS@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -EXEEXT = @EXEEXT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -IPV6_ENABLED = @IPV6_ENABLED@ -KRB4_ENABLED = @KRB4_ENABLED@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -NROFF = @NROFF@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_ENABLED = @OPENSSL_ENABLED@ -PACKAGE = @PACKAGE@ -PERL = @PERL@ -PKGADD_NAME = @PKGADD_NAME@ -PKGADD_PKG = @PKGADD_PKG@ -PKGADD_VENDOR = @PKGADD_VENDOR@ -RANDOM_FILE = @RANDOM_FILE@ -RANLIB = @RANLIB@ -STRIP = @STRIP@ -VERSION = @VERSION@ -VERSIONNUM = @VERSIONNUM@ -YACC = @YACC@ -am__include = @am__include@ -am__quote = @am__quote@ -install_sh = @install_sh@ - -EXTRA_DIST = \ -test1 test108 test117 test127 test20 test27 test34 test46 \ -test10 test109 test118 test13 test200 test28 test36 test47 \ -test100 test11 test119 test14 test201 test29 test37 test5 \ -test101 test110 test12 test15 test202 test3 test4 test6 \ -test102 test111 test120 test16 test21 test30 test400 test7 \ -test103 test112 test121 test17 test22 test300 test401 test8 \ -test104 test113 test122 test18 test23 test301 test402 test9 \ -test105 test114 test123 test19 test24 test302 test43 test31 \ -test106 test115 test124 test190 test25 test303 test44 test38 \ -test107 test116 test125 test2 test26 test33 test45 test126 \ -test304 - -subdir = tests/data -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/lib/config.h \ - $(top_builddir)/src/config.h \ - $(top_builddir)/tests/server/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DIST_COMMON = Makefile.am Makefile.in -all: all-am - -.SUFFIXES: - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu tests/data/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -uninstall-info-am: -tags: TAGS -TAGS: - - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile - -installdirs: -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-generic distclean-libtool - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool uninstall uninstall-am uninstall-info-am - - -all: -install: - -test: - [ -f test1 ] || ln -s $(srcdir)/test* . -# 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/Build/source/libs/curl/tests/data/test1 b/Build/source/libs/curl/tests/data/test1 deleted file mode 100644 index 5dd5f11ccc7..00000000000 --- a/Build/source/libs/curl/tests/data/test1 +++ /dev/null @@ -1,44 +0,0 @@ -# -# Server-side -<reply name="1"> -<data> -HTTP/1.1 200 OK -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT -ETag: "21025-dc7-39462498" -Accept-Ranges: bytes -Content-Length: 6 -Connection: close -Content-Type: text/html -Funny-head: yesyes - -<foo> -</data> -</reply> - -# -# Client-side -<client> - <name> -simple HTTP GET - </name> - <command> -http://%HOSTIP:%HOSTPORT/1 -</command> -</client> - -# -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET /1 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test10 b/Build/source/libs/curl/tests/data/test10 deleted file mode 100644 index 6672da85e61..00000000000 --- a/Build/source/libs/curl/tests/data/test10 +++ /dev/null @@ -1,56 +0,0 @@ -# Server-side -<reply> -<data> -HTTP/1.0 200 OK -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake - -blablabla - -</data> -</reply> - -# Client-side -<client> - <name> -simple HTTP PUT from file - </name> - <command> -http://%HOSTIP:%HOSTPORT/we/want/10 -T log/test10.txt -</command> -<file name="log/test10.txt"> -Weird - file - to - upload -for - testing -the - PUT - feature -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -PUT /we/want/10 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* -Content-Length: 78 - -Weird - file - to - upload -for - testing -the - PUT - feature -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test100 b/Build/source/libs/curl/tests/data/test100 deleted file mode 100644 index 436d94015b7..00000000000 --- a/Build/source/libs/curl/tests/data/test100 +++ /dev/null @@ -1,44 +0,0 @@ -# -# Server-side -<reply name="1"> -<data> -total 20 -drwxr-xr-x 8 98 98 512 Oct 22 13:06 . -drwxr-xr-x 8 98 98 512 Oct 22 13:06 .. -drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT --r--r--r-- 1 0 1 35 Jul 16 1996 README -lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin -dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev -drwxrwxrwx 2 98 98 512 May 29 16:04 download.html -dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc -drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub -dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr -</data> -</reply> - -# -# Client-side -<client> - <name> -FTP dir list PASV - </name> - <command> -ftp://%HOSTIP:%FTPPORT/ -</command> -</test> - -# -# Verify data after the test has been "shot" -<verify> -<strip> -filter off really nothing -</strip> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -EPSV -TYPE A -LIST -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test101 b/Build/source/libs/curl/tests/data/test101 deleted file mode 100644 index 877d7babcdd..00000000000 --- a/Build/source/libs/curl/tests/data/test101 +++ /dev/null @@ -1,44 +0,0 @@ -# Server-side -<reply> -<data> -total 20 -drwxr-xr-x 8 98 98 512 Oct 22 13:06 . -drwxr-xr-x 8 98 98 512 Oct 22 13:06 .. -drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT --r--r--r-- 1 0 1 35 Jul 16 1996 README -lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin -dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev -drwxrwxrwx 2 98 98 512 May 29 16:04 download.html -dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc -drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub -dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr -</data> -</reply> - -# Client-side -<client> - <name> -FTP dir list, PORT with specified IP - </name> - <command> -ftp://%HOSTIP:%FTPPORT/ -P %HOSTIP -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -# strip all kinds of PORT, EPRT and LPRT curl can do -<strip> -^PORT 127,0,0,1,.* -^EPRT.* -^LPRT.* -</strip> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -PORT 127,0,0,1,243,212 -TYPE A -LIST -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test102 b/Build/source/libs/curl/tests/data/test102 deleted file mode 100644 index 536d4f0c8d3..00000000000 --- a/Build/source/libs/curl/tests/data/test102 +++ /dev/null @@ -1,39 +0,0 @@ -# Server-side -<reply> -<data> -data - to - see -that FTP -works - so does it? -</data> -</reply> - -# Client-side -<client> - <name> -FTP RETR PASV - </name> - <command> -ftp://%HOSTIP:%FTPPORT/102 -</command> -</test> -<file name="log/ftpserver.cmd"> -REPLY EPSV 500 no such command -</file> - - -# Verify data after the test has been "shot" -<verify> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -EPSV -PASV -TYPE I -SIZE 102 -RETR 102 -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test103 b/Build/source/libs/curl/tests/data/test103 deleted file mode 100644 index 3c7188b05fc..00000000000 --- a/Build/source/libs/curl/tests/data/test103 +++ /dev/null @@ -1,40 +0,0 @@ -# Server-side -<reply> -<data> -data - to - see -that FTP -works - so does it? -</data> -</reply> - -# Client-side -<client> - <name> -FTP RETR PORT with CWD - </name> - <command> -ftp://%HOSTIP:%FTPPORT/a/path/103 -P - -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^PORT .* -^EPRT.* -^LPRT.* -</strip> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -CWD a/path -PORT 127,0,0,1,246,33 -TYPE I -SIZE 103 -RETR 103 -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test104 b/Build/source/libs/curl/tests/data/test104 deleted file mode 100644 index d44dcad2947..00000000000 --- a/Build/source/libs/curl/tests/data/test104 +++ /dev/null @@ -1,29 +0,0 @@ -# Server-side -<reply> -<size> -51 -</size> -</reply> - -# Client-side -<client> - <name> -FTP --head to get file size only - </name> - <command> -ftp://%HOSTIP:%FTPPORT/a/path/103 --head -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -CWD a/path -MDTM 103 -TYPE I -SIZE 103 -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test105 b/Build/source/libs/curl/tests/data/test105 deleted file mode 100644 index 259d7a98186..00000000000 --- a/Build/source/libs/curl/tests/data/test105 +++ /dev/null @@ -1,39 +0,0 @@ -# Server-side -<reply> -<data> -data - to - see -that FTP -works - so does it? -</data> -</reply> - -# Client-side -<client> - <name> -FTP user+password in URL and ASCII transfer - </name> - <command> -ftp://userdude:passfellow@%HOSTIP:%FTPPORT/103 --use-ascii -</command> -<file name="log/ftpserver.cmd"> -REPLY EPSV 500 no such command -REPLY SIZE 500 no such command -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<protocol> -USER userdude -PASS passfellow -PWD -EPSV -PASV -TYPE A -SIZE 103 -RETR 103 -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test106 b/Build/source/libs/curl/tests/data/test106 deleted file mode 100644 index 8c7f294be3c..00000000000 --- a/Build/source/libs/curl/tests/data/test106 +++ /dev/null @@ -1,35 +0,0 @@ -# Server-side -<reply> -<data> -data - to - see -that FTP -works - so does it? -</data> -</reply> - -# Client-side -<client> - <name> -FTP GET with type=A style ASCII URL using %20 codes - </name> - <command> -"ftp://%HOSTIP:%FTPPORT//path%20with%20%20spaces/and%20things2/106;type=A" -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -CWD /path with spaces/and things2 -EPSV -TYPE A -SIZE 106 -RETR 106 -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test107 b/Build/source/libs/curl/tests/data/test107 deleted file mode 100644 index c975ed2e804..00000000000 --- a/Build/source/libs/curl/tests/data/test107 +++ /dev/null @@ -1,38 +0,0 @@ - -# Client-side -<client> - <name> -FTP PASV upload file - </name> -<file name="log/test107.txt"> -data - to - see -that FTP -works - so does it? -</file> - <command> -ftp://%HOSTIP:%FTPPORT/107 -T log/test107.txt -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<upload> -data - to - see -that FTP -works - so does it? -</upload> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -EPSV -TYPE I -STOR 107 -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test108 b/Build/source/libs/curl/tests/data/test108 deleted file mode 100644 index 69ddf912f97..00000000000 --- a/Build/source/libs/curl/tests/data/test108 +++ /dev/null @@ -1,41 +0,0 @@ -# Server-side -<reply> -<data> -</data> -</reply> - -# Client-side -<client> - <name> -FTP PORT upload with CWD - </name> - <command> -ftp://%HOSTIP:%FTPPORT/CWD/STOR/RETR/108 -T log/upload108 -P - -</command> -<file name="log/upload108"> -Moooooooooooo - upload this -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^PORT .* -^EPRT .* -^LPRT .* -</strip> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -CWD CWD/STOR/RETR -PORT 127,0,0,1,5,109 -TYPE I -STOR 108 -</protocol> -<upload> -Moooooooooooo - upload this -</upload> -</verify> diff --git a/Build/source/libs/curl/tests/data/test109 b/Build/source/libs/curl/tests/data/test109 deleted file mode 100644 index 2f19737b06a..00000000000 --- a/Build/source/libs/curl/tests/data/test109 +++ /dev/null @@ -1,37 +0,0 @@ -# Server-side -<reply> -<data> -</data> -</reply> - -# Client-side -<client> - <name> -FTP PASV upload append - </name> - <command> -ftp://%HOSTIP:%FTPPORT/109 -T log/upload109 --append -</command> -<file name="log/upload109"> -Moooooooooooo - upload this -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -</strip> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -EPSV -TYPE I -APPE 109 -</protocol> -<upload> -Moooooooooooo - upload this -</upload> -</verify> diff --git a/Build/source/libs/curl/tests/data/test11 b/Build/source/libs/curl/tests/data/test11 deleted file mode 100644 index 4d80c9d09ab..00000000000 --- a/Build/source/libs/curl/tests/data/test11 +++ /dev/null @@ -1,64 +0,0 @@ -# Server-side -<reply> -<data> -HTTP/1.1 301 This is a weirdo text message -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake -Location: data/110002.txt?coolsite=yes -Connection: close - -This server reply is for testing a simple Location: following - -</data> -<data2> -HTTP/1.1 200 Followed here fine -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake - -If this is received, the location following worked - -</data2> -<datacheck> -HTTP/1.1 301 This is a weirdo text message -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake -Location: data/110002.txt?coolsite=yes -Connection: close - -HTTP/1.1 200 Followed here fine -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake - -If this is received, the location following worked - -</datacheck> -</reply> - -# Client-side -<client> - <name> -simple HTTP Location: following - </name> - <command> -http://%HOSTIP:%HOSTPORT/want/11 -L -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET /want/11 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -GET /want/data/110002.txt?coolsite=yes HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test110 b/Build/source/libs/curl/tests/data/test110 deleted file mode 100644 index e93c2cc4d99..00000000000 --- a/Build/source/libs/curl/tests/data/test110 +++ /dev/null @@ -1,40 +0,0 @@ -# Server-side -<reply> -<data> -expected to be a file without the first part -but we emulate that -</data> -<size> -85 -</size> -</reply> - -# Client-side -<client> - <name> -FTP download resume with set limit - </name> - <command> -ftp://%HOSTIP:%FTPPORT/110 -C 20 -</command> -<file name="log/ftpserver.cmd"> -REPLY EPSV 500 no such command -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -</strip> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -EPSV -PASV -TYPE I -SIZE 110 -REST 20 -RETR 110 -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test111 b/Build/source/libs/curl/tests/data/test111 deleted file mode 100644 index a8052254b55..00000000000 --- a/Build/source/libs/curl/tests/data/test111 +++ /dev/null @@ -1,33 +0,0 @@ -# Server-side -<reply> -<size> -85 -</size> -</reply> - -# Client-side -<client> - <name> -FTP download resume beyond file size - </name> - <command> -ftp://%HOSTIP:%FTPPORT/111 -C 2000 -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<errorcode> -36 -</errorcode> -<strip> -</strip> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -EPSV -TYPE I -SIZE 111 -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test112 b/Build/source/libs/curl/tests/data/test112 deleted file mode 100644 index 001faa198c9..00000000000 --- a/Build/source/libs/curl/tests/data/test112 +++ /dev/null @@ -1,37 +0,0 @@ -# Server-side -<reply> -</reply> - -# Client-side -<client> - <name> -FTP PASV upload resume - </name> - <command> -ftp://%HOSTIP:%FTPPORT/112 -T log/upload112 -C 40 -</command> -<file name="log/upload112"> -this is the *****crap******** that we're gonna upload - -worx? -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -</strip> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -EPSV -TYPE I -APPE 112 -</protocol> -<upload> - gonna upload - -worx? -</upload> -</verify> diff --git a/Build/source/libs/curl/tests/data/test113 b/Build/source/libs/curl/tests/data/test113 deleted file mode 100644 index 93cb1c782bb..00000000000 --- a/Build/source/libs/curl/tests/data/test113 +++ /dev/null @@ -1,26 +0,0 @@ -# Server-side -<reply> -</reply> - -# Client-side -<client> - <name> -FTP download, failed login: USER not valid - </name> - <command> -ftp://%HOSTIP:%FTPPORT/113 -</command> -<file name="log/ftpserver.cmd"> -REPLY USER 314 bluah you fewl! -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<errorcode> -12 -</errorcode> -<protocol> -USER anonymous -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test114 b/Build/source/libs/curl/tests/data/test114 deleted file mode 100644 index 7b35277d741..00000000000 --- a/Build/source/libs/curl/tests/data/test114 +++ /dev/null @@ -1,27 +0,0 @@ -# Server-side -<reply> -</reply> - -# Client-side -<client> - <name> -FTP download, failed login: PASS not valid - </name> - <command> -ftp://%HOSTIP:%FTPPORT/114 -</command> -<file name="log/ftpserver.cmd"> -REPLY PASS 314 bluah you f00l! -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<errorcode> -11 -</errorcode> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test115 b/Build/source/libs/curl/tests/data/test115 deleted file mode 100644 index e4bb77ec617..00000000000 --- a/Build/source/libs/curl/tests/data/test115 +++ /dev/null @@ -1,31 +0,0 @@ -# Server-side -<reply> -</reply> - -# Client-side -<client> - <name> -FTP download, failed PASV - </name> - <command> -ftp://%HOSTIP:%FTPPORT/115 -</command> -<file name="log/ftpserver.cmd"> -REPLY PASV 314 bluah you f00l! -REPLY EPSV 314 bluah you f00l! -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<errorcode> -13 -</errorcode> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -EPSV -PASV -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test116 b/Build/source/libs/curl/tests/data/test116 deleted file mode 100644 index d84ffe9fcfa..00000000000 --- a/Build/source/libs/curl/tests/data/test116 +++ /dev/null @@ -1,33 +0,0 @@ -# Server-side -<reply> -</reply> - -# Client-side -<client> - <name> -FTP download, failed PORT - </name> - <command> -ftp://%HOSTIP:%FTPPORT/116 -P 127.0.0.1 -</command> -<file name="log/ftpserver.cmd"> -REPLY PORT 314 bluah you f00l! -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<errorcode> -30 -</errorcode> -<strip> -^PORT 127,0,0,1,.* -^EPRT .* -^LPRT .* -</strip> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test117 b/Build/source/libs/curl/tests/data/test117 deleted file mode 100644 index 549f21c307c..00000000000 --- a/Build/source/libs/curl/tests/data/test117 +++ /dev/null @@ -1,32 +0,0 @@ -# Server-side -<reply> -</reply> - -# Client-side -<client> - <name> -FTP download, failed TYPE - </name> - <command> -ftp://%HOSTIP:%FTPPORT/117 -</command> -<file name="log/ftpserver.cmd"> -REPLY EPSV 314 bluah you f00l! -REPLY TYPE 314 bluah you f00l! -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<errorcode> -17 -</errorcode> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -EPSV -PASV -TYPE I -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test118 b/Build/source/libs/curl/tests/data/test118 deleted file mode 100644 index db317c7b34e..00000000000 --- a/Build/source/libs/curl/tests/data/test118 +++ /dev/null @@ -1,34 +0,0 @@ -# Server-side -<reply> -</reply> - -# Client-side -<client> - <name> -FTP download, failed RETR - </name> - <command> -ftp://%HOSTIP:%FTPPORT/118 -</command> -<file name="log/ftpserver.cmd"> -REPLY RETR 314 bluah you f00l! -REPLY EPSV 314 bluah you f00l! -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<errorcode> -19 -</errorcode> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -EPSV -PASV -TYPE I -SIZE 118 -RETR 118 -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test119 b/Build/source/libs/curl/tests/data/test119 deleted file mode 100644 index dfcc50928b3..00000000000 --- a/Build/source/libs/curl/tests/data/test119 +++ /dev/null @@ -1,36 +0,0 @@ -# Server-side -<reply> -</reply> - -# Client-side -<client> - <name> -FTP download, failed RETR with PORT - </name> - <command> -ftp://%HOSTIP:%FTPPORT/119 -P - -</command> -<file name="log/ftpserver.cmd"> -REPLY RETR 314 bluah you f00l! -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<errorcode> -19 -</errorcode> -<strip> -^PORT.* -^EPRT .* -^LPRT .* -</strip> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -TYPE I -SIZE 119 -RETR 119 -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test12 b/Build/source/libs/curl/tests/data/test12 deleted file mode 100644 index 6af9037db09..00000000000 --- a/Build/source/libs/curl/tests/data/test12 +++ /dev/null @@ -1,44 +0,0 @@ -# Server-side -<reply> -<data> -HTTP/1.1 206 Partial Content -Date: Mon, 13 Nov 2000 13:41:09 GMT -Server: Apache/1.3.11 (Unix) PHP/3.0.14 -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT -ETag: "21025-dc7-39462498" -Accept-Ranges: bytes -Content-Length: 101 -Content-Range: bytes 100-200/3527 -Connection: close -Content-Type: text/html - -ink="#ffffff" vlink="#cccccc"> -<table width=100% cellspacing=0 cellpadding=0 border=0> - <tr> 0123456 -</data> -</reply> - -# Client-side -<client> - <name> -HTTP range support - </name> - <command> -http://%HOSTIP:%HOSTPORT/want/12 -r 100-200 -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET /want/12 HTTP/1.1 -Range: bytes=100-200 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test120 b/Build/source/libs/curl/tests/data/test120 deleted file mode 100644 index 30e03f9287f..00000000000 --- a/Build/source/libs/curl/tests/data/test120 +++ /dev/null @@ -1,39 +0,0 @@ -# Server-side -<reply> -<data> -data - to - see -that FTP -works - so does it? -</data> -</reply> - -# Client-side -<client> - <name> -ftp download with post-quote delete operation - </name> - <command> -ftp://%HOSTIP:%FTPPORT/120 -Q "-DELE file" -</command> -<file name="log/ftpserver.cmd"> -REPLY EPSV 314 bluah you f00l! -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -EPSV -PASV -TYPE I -SIZE 120 -RETR 120 -DELE file -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test121 b/Build/source/libs/curl/tests/data/test121 deleted file mode 100644 index 34c22db6852..00000000000 --- a/Build/source/libs/curl/tests/data/test121 +++ /dev/null @@ -1,36 +0,0 @@ -# Server-side -<reply> -<data> -data - to - see -that FTP -works - so does it? -</data> -</reply> - -# Client-side -<client> - <name> -ftp download with post- and pre-transfer delete operations - </name> - <command> -ftp://%HOSTIP:%FTPPORT/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -DELE before_transfer -EPSV -TYPE I -SIZE 121 -RETR 121 -DELE after_transfer -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test122 b/Build/source/libs/curl/tests/data/test122 deleted file mode 100644 index ba867c60207..00000000000 --- a/Build/source/libs/curl/tests/data/test122 +++ /dev/null @@ -1,32 +0,0 @@ -# Server-side -<reply> -<size> -5 -</size> -</reply> - -# Client-side -<client> - <name> -FTP download resume with whole file already downloaded - </name> - <command> -ftp://%HOSTIP:%FTPPORT/122 -C 5 -</command> -<file name="log/ftpserver.cmd"> -REPLY EPSV 500 no such command -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -EPSV -PASV -TYPE I -SIZE 122 -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test123 b/Build/source/libs/curl/tests/data/test123 deleted file mode 100644 index d824fb61518..00000000000 --- a/Build/source/libs/curl/tests/data/test123 +++ /dev/null @@ -1,27 +0,0 @@ -# Server-side -<reply> -</reply> - -# Client-side -<client> - <name> -FTP upload resume with whole file already downloaded - </name> - <command> -ftp://%HOSTIP:%FTPPORT/123 -T log/upload123 -C 51 -</command> -<file name="log/upload123"> --------------------------------------------------- -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -EPSV -TYPE I -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test124 b/Build/source/libs/curl/tests/data/test124 deleted file mode 100644 index 6eebcee35bf..00000000000 --- a/Build/source/libs/curl/tests/data/test124 +++ /dev/null @@ -1,34 +0,0 @@ -# Server-side -<reply> -<data> -we can still send data even if pwd fails! -</data> -</reply> - -# Client-side -<client> - <name> -FTP download, failed PWD - </name> - <command> -ftp://%HOSTIP:%FTPPORT/124 -</command> -<file name="log/ftpserver.cmd"> -REPLY PWD 314 bluah you f00l! -REPLY EPSV 314 bluah you f00l! -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -EPSV -PASV -TYPE I -SIZE 124 -RETR 124 -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test125 b/Build/source/libs/curl/tests/data/test125 deleted file mode 100644 index 1f7be3d6711..00000000000 --- a/Build/source/libs/curl/tests/data/test125 +++ /dev/null @@ -1,29 +0,0 @@ -# Server-side -<reply> -</reply> - -# Client-side -<client> - <name> -FTP download, failed CWD - </name> - <command> -ftp://%HOSTIP:%FTPPORT/path/to/file/125 -</command> -<file name="log/ftpserver.cmd"> -REPLY CWD 314 bluah you f00l! -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<errorcode> -9 -</errorcode> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -CWD path/to/file -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test126 b/Build/source/libs/curl/tests/data/test126 deleted file mode 100644 index 9b227224cc1..00000000000 --- a/Build/source/libs/curl/tests/data/test126 +++ /dev/null @@ -1,33 +0,0 @@ -# Server-side -<reply> -<data> -this is file contents -</data> -</reply> - -# Client-side -<client> - <name> -FTP download with multiple replies at once in RETR - </name> - <command> -ftp://%HOSTIP:%FTPPORT/blalbla/lululul/126 -</command> -<file name="log/ftpserver.cmd"> -RETRWEIRDO -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -CWD blalbla/lululul -EPSV -TYPE I -SIZE 126 -RETR 126 -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test127 b/Build/source/libs/curl/tests/data/test127 deleted file mode 100644 index 97aa45849ce..00000000000 --- a/Build/source/libs/curl/tests/data/test127 +++ /dev/null @@ -1,30 +0,0 @@ -# Server-side -<reply> -<data> -moooooooo -</data> -</reply> - -# Client-side -<client> - <name> -FTP --disable-epsv - </name> - <command> -ftp://%HOSTIP:%FTPPORT/path/to/file/127 --disable-epsv -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -CWD path/to/file -PASV -TYPE I -SIZE 127 -RETR 127 -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test13 b/Build/source/libs/curl/tests/data/test13 deleted file mode 100644 index 1a7d3605615..00000000000 --- a/Build/source/libs/curl/tests/data/test13 +++ /dev/null @@ -1,34 +0,0 @@ -# Server-side -<reply> -<data> -HTTP/1.1 200 Read you -Deleted: suppose we got a header like this! ;-) - -blabla custom request result - -</data> -</reply> - -# Client-side -<client> - <name> -HTTP custom request 'DELETE' - </name> - <command> -http://%HOSTIP:%HOSTPORT/want/13 -X DELETE -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -DELETE /want/13 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test14 b/Build/source/libs/curl/tests/data/test14 deleted file mode 100644 index 7f02b438aba..00000000000 --- a/Build/source/libs/curl/tests/data/test14 +++ /dev/null @@ -1,34 +0,0 @@ -# Server-side -<reply> -<data> -HTTP/1.1 200 OK -Server: thebest/1.0 -Connection: close - -</data> -</reply> - -# Client-side -<client> - <name> -HTTP HEAD with Connection: close - </name> - <command> -http://%HOSTIP:%HOSTPORT/want/14 -i --head -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -HEAD /want/14 HTTP/1.1 -User-Agent: curl/7.4.2-pre4 (sparc-sun-solaris2.7) libcurl 7.4.2-pre4 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test15 b/Build/source/libs/curl/tests/data/test15 deleted file mode 100644 index b2a8befa5f3..00000000000 --- a/Build/source/libs/curl/tests/data/test15 +++ /dev/null @@ -1,44 +0,0 @@ -# Server-side -<reply> -<data nocheck=true> -HTTP/1.4 200 OK -Fake: yes -Fake: yes -Fake: yes - -Repeated nonsense-headers -</data> -</reply> - -# Client-side -<client> - <name> ---write-out test - </name> - <command> -http://%HOSTIP:%HOSTPORT/want/15 --write-out '%{url_effective} %{http_code} %{size_download}\n' -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<stdout> -HTTP/1.4 200 OK -Fake: yes -Fake: yes -Fake: yes - -Repeated nonsense-headers -http://127.0.0.1:8999/want/15 200 26 -</stdout> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET /want/15 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test16 b/Build/source/libs/curl/tests/data/test16 deleted file mode 100644 index 18ce653679c..00000000000 --- a/Build/source/libs/curl/tests/data/test16 +++ /dev/null @@ -1,37 +0,0 @@ -# Server-side -<reply> -<data> -HTTP/1.1 200 OK -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake -Content-Type: text/html -Funny-head: yesyes - -the content goes here -</data> -</reply> - -# Client-side -<client> - <name> -HTTP with proxy athorization - </name> - <command> - -U fake@user:§§§looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x %HOSTIP:%HOSTPORT http://we.want.that.site.com/16 -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET http://we.want.that.site.com/16 HTTP/1.1 -Proxy-authorization: Basic ZmFrZUB1c2VyOqenp2xvb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb28= -Host: we.want.that.site.com -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test17 b/Build/source/libs/curl/tests/data/test17 deleted file mode 100644 index 572252e5eca..00000000000 --- a/Build/source/libs/curl/tests/data/test17 +++ /dev/null @@ -1,42 +0,0 @@ -# Server-side -<reply> -<data> -HTTP/1.1 200 OK -Funny-head: yesyes - -This is the proof it works -</data> -</reply> - -# Client-side -<client> - <name> -HTTP with config file on stdin - </name> - <stdin> -# -# Use a silly request without '--': -request MOOO -# -# Set the user-agent using a short-option: --A "agent007 license to drill\t" -# -# long option *with* '--': ---max-time 180 - </stdin> - <command> --K - %HOSTIP:%HOSTPORT/that.site.com/17 -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<protocol> -MOOO /that.site.com/17 HTTP/1.1 -User-Agent: agent007 license to drill -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test18 b/Build/source/libs/curl/tests/data/test18 deleted file mode 100644 index 3f33ae6cdcd..00000000000 --- a/Build/source/libs/curl/tests/data/test18 +++ /dev/null @@ -1,75 +0,0 @@ -# Server-side -<reply> -<data nocheck=1> -HTTP/1.1 200 OK -Funny-head: yesyes - -moo -</data> -<data2> -HTTP/1.1 200 OK -Funny-head: yesyes - -foo -</data2> -<data3> -HTTP/1.1 200 OK -Funny-head: yesyes - -hoo -</data3> -</reply> - -# Client-side -<client> - <name> -multiple requests using {} in URL - </name> - <command> -'%HOSTIP:%HOSTPORT/{18,180002,180003}' -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET /18 HTTP/1.1 -User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled) -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -GET /180002 HTTP/1.1 -User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled) -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -GET /180003 HTTP/1.1 -User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled) -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -<stdout> ---_curl_--127.0.0.1:8999/18 -HTTP/1.1 200 OK -Funny-head: yesyes - -moo ---_curl_--127.0.0.1:8999/180002 -HTTP/1.1 200 OK -Funny-head: yesyes - -foo ---_curl_--127.0.0.1:8999/180003 -HTTP/1.1 200 OK -Funny-head: yesyes - -hoo -</stdout> -</verify> diff --git a/Build/source/libs/curl/tests/data/test19 b/Build/source/libs/curl/tests/data/test19 deleted file mode 100644 index 5e2b352c384..00000000000 --- a/Build/source/libs/curl/tests/data/test19 +++ /dev/null @@ -1,22 +0,0 @@ -# Server-side -<reply> -<data> -</data> -</reply> - -# Client-side -<client> - <name> -attempt connect to non-listening socket - </name> - <command> -%HOSTIP:60000 -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<errorcode> -7 -</errorcode> -</verify> diff --git a/Build/source/libs/curl/tests/data/test190 b/Build/source/libs/curl/tests/data/test190 deleted file mode 100644 index fc131f78b17..00000000000 --- a/Build/source/libs/curl/tests/data/test190 +++ /dev/null @@ -1,30 +0,0 @@ -# Server-side -<reply> -moooooooo -</reply> - -# Client-side -<client> - <name> -FTP download with strict timeout and slow CWD - </name> - <command> -ftp://%HOSTIP:%FTPPORT/path/to/file/126 -m 3 -</command> -<file name="log/ftpserver.cmd"> -DELAY CWD 15 -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<errorcode> -28 -</errorcode> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -CWD path/to/file -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test2 b/Build/source/libs/curl/tests/data/test2 deleted file mode 100644 index fc0ebe845e2..00000000000 --- a/Build/source/libs/curl/tests/data/test2 +++ /dev/null @@ -1,42 +0,0 @@ -# -# Server-side -<reply> -<data> -HTTP/1.1 200 OK -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake -Content-Type: text/html -Funny-head: yesyes - -</data> -</reply> - -# -# Client-side -<client> - <name> -HTTP GET with user and password - </name> - <command> - -u fake:user http://%HOSTIP:%HOSTPORT/2 -</command> -</test> - -# -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET /2 HTTP/1.1 -Authorization: Basic ZmFrZTp1c2Vy -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -<data> -[insert full protocol verifiction dump here] -</data> -</verify> diff --git a/Build/source/libs/curl/tests/data/test20 b/Build/source/libs/curl/tests/data/test20 deleted file mode 100644 index 943596430bf..00000000000 --- a/Build/source/libs/curl/tests/data/test20 +++ /dev/null @@ -1,22 +0,0 @@ -# Server-side -<reply> -<data> -</data> -</reply> - -# Client-side -<client> - <name> -attempt connect to non-existing host name - </name> - <command> -non-existing-and-weeeeeeirdname -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<errorcode> -6 -</errorcode> -</verify> diff --git a/Build/source/libs/curl/tests/data/test200 b/Build/source/libs/curl/tests/data/test200 deleted file mode 100644 index 709de52fe61..00000000000 --- a/Build/source/libs/curl/tests/data/test200 +++ /dev/null @@ -1,31 +0,0 @@ -# Server-side -<reply> -<data> -foo - bar -bar - foo -moo -</data> -</reply> - -# Client-side -<client> - <name> -basic file:// file - </name> - <command> -file://localhost/%PWD/log/test200.txt -</command> -<file name="log/test200.txt"> -foo - bar -bar - foo -moo -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -</verify> diff --git a/Build/source/libs/curl/tests/data/test201 b/Build/source/libs/curl/tests/data/test201 deleted file mode 100644 index f441be801a2..00000000000 --- a/Build/source/libs/curl/tests/data/test201 +++ /dev/null @@ -1,22 +0,0 @@ -# Server-side -<reply> -<data> -</data> -</reply> - -# Client-side -<client> - <name> -missing file:// file - </name> - <command> -file://localhost/%PWD/log/non-existant-file.txt -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<errorcode> -37 -</errorcode> -</verify> diff --git a/Build/source/libs/curl/tests/data/test202 b/Build/source/libs/curl/tests/data/test202 deleted file mode 100644 index 4a7fd313e81..00000000000 --- a/Build/source/libs/curl/tests/data/test202 +++ /dev/null @@ -1,26 +0,0 @@ -# Server-side -<reply> -<data> -</data> -</reply> - -# Client-side -<client> - <name> -two file:// URLs to stdout - </name> - <command> -file://localhost/%PWD/log/test202.txt file://localhost/%PWD/log/test202.txt -</command> -<file name="log/test202.txt"> -contents in a single file -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<stdout> -contents in a single file -contents in a single file -</stdout> -</verify> diff --git a/Build/source/libs/curl/tests/data/test21 b/Build/source/libs/curl/tests/data/test21 deleted file mode 100644 index b8aa3e1b744..00000000000 --- a/Build/source/libs/curl/tests/data/test21 +++ /dev/null @@ -1,22 +0,0 @@ -# Server-side -<reply> -<data> -</data> -</reply> - -# Client-side -<client> - <name> -use curl with multiple request methods - </name> - <command> --I -d FOOO localhost -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<errorcode> -2 -</errorcode> -</verify> diff --git a/Build/source/libs/curl/tests/data/test22 b/Build/source/libs/curl/tests/data/test22 deleted file mode 100644 index 1179cd29014..00000000000 --- a/Build/source/libs/curl/tests/data/test22 +++ /dev/null @@ -1,34 +0,0 @@ -# Server-side -<reply> -<data> -HTTP/1.1 200 OK -Funny-head: yesyes - -This is the proof it works -</data> -</reply> - -# Client-side -<client> - <name> -get HTTP with URL > 10000 bytes - </name> - <command> -%HOSTIP:%HOSTPORT/`perl -e 'print "a" x 10000;'`/22 -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent: curl/.* -</strip> -<protocol> -GET /aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 HTTP/1.1 -User-Agent: curl/7.4.2 (sparc-sun-solaris2.7) libcurl 7.4.2 (SSL 0.9.6) -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol -</verify> diff --git a/Build/source/libs/curl/tests/data/test23 b/Build/source/libs/curl/tests/data/test23 deleted file mode 100644 index 1a30b303d4d..00000000000 --- a/Build/source/libs/curl/tests/data/test23 +++ /dev/null @@ -1,22 +0,0 @@ -# Server-side -<reply> -<data> -</data> -</reply> - -# Client-side -<client> - <name> -unsupported protocol:// URL - </name> - <command> -htfp://%HOSTIP:%HOSTPORT/none.htfml -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<errorcode> -1 -</errorcode> -</verify> diff --git a/Build/source/libs/curl/tests/data/test24 b/Build/source/libs/curl/tests/data/test24 deleted file mode 100644 index 1b8d528a97b..00000000000 --- a/Build/source/libs/curl/tests/data/test24 +++ /dev/null @@ -1,37 +0,0 @@ -# Server-side -<reply> -<data nocheck=1> -HTTP/1.0 404 BAD BOY -Content-Type: text/html - -This silly page doesn't reaaaaaly exist so you should not get it. -</data> -</reply> - -# Client-side -<client> - <name> -HTTP GET fail silently on HTTP error return - </name> - <command> -http://%HOSTIP:%HOSTPORT/24 --fail -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent: curl/.* -</strip> -<protocol> -GET /24 HTTP/1.1 -User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled) -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -<errorcode> -22 -</errorcode> -</verify> diff --git a/Build/source/libs/curl/tests/data/test25 b/Build/source/libs/curl/tests/data/test25 deleted file mode 100644 index a5592a00948..00000000000 --- a/Build/source/libs/curl/tests/data/test25 +++ /dev/null @@ -1,109 +0,0 @@ -# Server-side -<reply> -<data> -HTTP/1.1 301 This is a weirdo text message -Server: test-server/fake -Location: data/reply/25 -Content-Length: 32 -Connection: close - -Redirect to the same URL again! -</data> -<datacheck> -HTTP/1.1 301 This is a weirdo text message -Server: test-server/fake -Location: data/reply/25 -Content-Length: 32 -Connection: close - -HTTP/1.1 301 This is a weirdo text message -Server: test-server/fake -Location: data/reply/25 -Content-Length: 32 -Connection: close - -HTTP/1.1 301 This is a weirdo text message -Server: test-server/fake -Location: data/reply/25 -Content-Length: 32 -Connection: close - -HTTP/1.1 301 This is a weirdo text message -Server: test-server/fake -Location: data/reply/25 -Content-Length: 32 -Connection: close - -HTTP/1.1 301 This is a weirdo text message -Server: test-server/fake -Location: data/reply/25 -Content-Length: 32 -Connection: close - -HTTP/1.1 301 This is a weirdo text message -Server: test-server/fake -Location: data/reply/25 -Content-Length: 32 -Connection: close - -</datacheck> -</reply> - -# Client-side -<client> - <name> -looping HTTP Location: following with --max-redirs, no persistance - </name> - <command> -http://%HOSTIP:%HOSTPORT/want/25 -L --max-redirs 5 -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent: curl/.* -</strip> -<protocol> -GET /want/25 HTTP/1.1 -User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled) -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -GET /want/data/reply/25 HTTP/1.1 -User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled) -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -GET /want/data/reply/data/reply/25 HTTP/1.1 -User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled) -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -GET /want/data/reply/data/reply/data/reply/25 HTTP/1.1 -User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled) -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -GET /want/data/reply/data/reply/data/reply/data/reply/25 HTTP/1.1 -User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled) -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -GET /want/data/reply/data/reply/data/reply/data/reply/data/reply/25 HTTP/1.1 -User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled) -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> - -<errorcode> -47 -</errorcode> -</verify> diff --git a/Build/source/libs/curl/tests/data/test26 b/Build/source/libs/curl/tests/data/test26 deleted file mode 100644 index 75530b1a304..00000000000 --- a/Build/source/libs/curl/tests/data/test26 +++ /dev/null @@ -1,35 +0,0 @@ -# Server-side -<reply> -<data> -HTTP/1.1 200 Mooo -Server: test-server/fake -Connection: close - -*flopp* -</data> -</reply> - -# Client-side -<client> - <name> -specify more -o than URLs - </name> - <command> -http://%HOSTIP:%HOSTPORT/want/26 -o - -o - -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent: curl.* -</strip> -<protocol> -GET /want/26 HTTP/1.1 -User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled) -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test27 b/Build/source/libs/curl/tests/data/test27 deleted file mode 100644 index 830bb3dabeb..00000000000 --- a/Build/source/libs/curl/tests/data/test27 +++ /dev/null @@ -1,46 +0,0 @@ -# Server-side -<reply> -<data> -HTTP/1.1 200 Mooo -Connection: close -Set-Cookie: path=/; thewinneris=nowayyouwin; - -*flopp* -</data> -</reply> - -# Client-side -<client> - <name> -Get same cookie page several times - </name> - <command> -'http://%HOSTIP:%HOSTPORT/want/{27,27,27}' -b none -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent: curl.* -</strip> -<protocol> -GET /want/27 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -GET /want/27 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* -Cookie: thewinneris=nowayyouwin - -GET /want/27 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* -Cookie: thewinneris=nowayyouwin - -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test28 b/Build/source/libs/curl/tests/data/test28 deleted file mode 100644 index bea7edd4787..00000000000 --- a/Build/source/libs/curl/tests/data/test28 +++ /dev/null @@ -1,64 +0,0 @@ -# Server-side -<reply> -<data> -HTTP/1.1 301 This is a weirdo text message -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake -Location: /online/1,1795,Welcome,00.html/280002.txt?logout=TRUE -Connection: close - -This server reply is for testing a simple Location: following - -</data> -<data2> -HTTP/1.1 200 Followed here fine -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake - -If this is received, the location following worked - -</data2> -<datacheck> -HTTP/1.1 301 This is a weirdo text message -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake -Location: /online/1,1795,Welcome,00.html/280002.txt?logout=TRUE -Connection: close - -HTTP/1.1 200 Followed here fine -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake - -If this is received, the location following worked - -</datacheck> -</reply> - -# Client-side -<client> - <name> -HTTP Location: following with extra spaces in header - </name> - <command> -http://%HOSTIP:%HOSTPORT/want/28 -L -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET /want/28 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -GET /online/1,1795,Welcome,00.html/280002.txt?logout=TRUE HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test29 b/Build/source/libs/curl/tests/data/test29 deleted file mode 100644 index e447c53d86c..00000000000 --- a/Build/source/libs/curl/tests/data/test29 +++ /dev/null @@ -1,40 +0,0 @@ -# Server-side -<reply> -<data> -HTTP/1.1 200 OK -Date: Thu, 09 Nov 2010 14:49:00 GMT -Connection: close - -<html>result</html> -</data> -<postcmd> -wait 10 -</postcmd> -</reply> - -# Client-side -<client> - <name> -HTTP with 2 secs timeout - </name> - <command> -http://%HOSTIP:%HOSTPORT/want/29 -m 2 -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET /want/29 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -<errorcode> -28 -</errorcode> -</verify> diff --git a/Build/source/libs/curl/tests/data/test3 b/Build/source/libs/curl/tests/data/test3 deleted file mode 100644 index 0e2d9d95f9d..00000000000 --- a/Build/source/libs/curl/tests/data/test3 +++ /dev/null @@ -1,42 +0,0 @@ -# -# Server-side -<reply name="1"> -<data> -HTTP/1.0 200 OK -Server: test-server/fake -Content-Type: text/html -Content-Length: 0 - -this is data even though Content-Length is set to zero -</data> -</reply> - -# -# Client-side -<client> - <name> -HTTP POST with user and password - </name> - <command> - -d "fooo=mooo&pooo=clue&doo=%20%20%20++++" -u "fake:-user" http://%HOSTIP:%HOSTPORT/3 -</command> -</test> - -# -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol nonewline=yes> -POST /3 HTTP/1.1 -Authorization: Basic ZmFrZTotdXNlcg== -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* -Content-Length: 37 -Content-Type: application/x-www-form-urlencoded - -fooo=mooo&pooo=clue&doo=%20%20%20++++ -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test30 b/Build/source/libs/curl/tests/data/test30 deleted file mode 100644 index f8a1087dc0a..00000000000 --- a/Build/source/libs/curl/tests/data/test30 +++ /dev/null @@ -1,32 +0,0 @@ -# Server-side -<reply> -<data> -</data> -</reply> - -# Client-side -<client> - <name> -HTTP with no data in server reply - </name> - <command> -http://%HOSTIP:%HOSTPORT/want/30 -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET /want/30 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -<errorcode> -52 -</errorcode> -</verify> diff --git a/Build/source/libs/curl/tests/data/test300 b/Build/source/libs/curl/tests/data/test300 deleted file mode 100644 index faad4d0599f..00000000000 --- a/Build/source/libs/curl/tests/data/test300 +++ /dev/null @@ -1,38 +0,0 @@ -# -# Server-side -<reply> -<data> -HTTP/1.1 200 OK -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake -Content-Length: 7 - -MooMoo -</data> -</reply> - -# -# Client-side -<client> - <name> -simple HTTPS GET - </name> - <command> -https://%HOSTIP:%HTTPSPORT/300 -</command> -</test> - -# -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET /300 HTTP/1.1 -Host: 127.0.0.1:8433 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test301 b/Build/source/libs/curl/tests/data/test301 deleted file mode 100644 index c84c57407c8..00000000000 --- a/Build/source/libs/curl/tests/data/test301 +++ /dev/null @@ -1,42 +0,0 @@ -# -# Server-side -<reply> -<data> -HTTP/1.1 200 OK -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake -Content-Type: text/html -Funny-head: yesyes - -</data> -</reply> - -# -# Client-side -<client> - <name> -HTTPS GET with user and password - </name> - <command> - -u fake:user https://%HOSTIP:%HTTPSPORT/2 -</command> -</test> - -# -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET /2 HTTP/1.1 -Authorization: Basic ZmFrZTp1c2Vy -Host: 127.0.0.1:8433 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -<data> -[insert full protocol verifiction dump here] -</data> -</verify> diff --git a/Build/source/libs/curl/tests/data/test302 b/Build/source/libs/curl/tests/data/test302 deleted file mode 100644 index e31ce2ec93a..00000000000 --- a/Build/source/libs/curl/tests/data/test302 +++ /dev/null @@ -1,31 +0,0 @@ -# -# Server-side -<reply> -</reply> - -# -# Client-side -<client> - <name> -HTTPS GET over HTTP proxy fails - </name> - <command> - -U fake:user -x %HOSTIP:%HOSTPORT https://ssl.fakeurl-to.test/slash/302 -</command> -</test> - -# -# Verify data after the test has been "shot" -<verify> -<errorcode> -26 -</errorcode> -<strip> -^User-Agent:.* -</strip> -<protocol> -</protocol> -<data> -[insert full protocol verifiction dump here] -</data> -</verify> diff --git a/Build/source/libs/curl/tests/data/test303 b/Build/source/libs/curl/tests/data/test303 deleted file mode 100644 index d925b143660..00000000000 --- a/Build/source/libs/curl/tests/data/test303 +++ /dev/null @@ -1,40 +0,0 @@ -# Server-side -<reply> -<data> -HTTP/1.1 200 OK -Date: Thu, 09 Nov 2010 14:49:00 GMT -Connection: close - -<html>result</html> -</data> -<postcmd> -wait 10 -</postcmd> -</reply> - -# Client-side -<client> - <name> -HTTPS with 2 secs timeout - </name> - <command> -http://%HOSTIP:%HOSTPORT/want/303 -m 2 -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET /want/303 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -<errorcode> -28 -</errorcode> -</verify> diff --git a/Build/source/libs/curl/tests/data/test304 b/Build/source/libs/curl/tests/data/test304 deleted file mode 100644 index 8d151abef63..00000000000 --- a/Build/source/libs/curl/tests/data/test304 +++ /dev/null @@ -1,58 +0,0 @@ -# Server-side -<reply> -<data> -HTTP/1.1 200 OK -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake - -blablabla - -</data> -</reply> - -# Client-side -<client> - <name> -HTTPS multipart formpost - </name> - <command> -https://%HOSTIP:%HTTPSPORT/we/want/304 -F name=daniel -F tool=curl -F file=@log/test304.txt -</command> -# We create this file before the command is invoked! -<file name="log/test304.txt"> -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^(User-Agent:|Content-Type: multipart/form-data;|--curl).* -</strip> -<protocol> -POST /we/want/304 HTTP/1.1 -User-Agent: curl/7.9.5-pre4 (sparc-sun-solaris2.7) libcurl 7.9.5-pre4 (OpenSSL 0.9.6c) (krb4 enabled) -Host: 127.0.0.1:8433 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* -Content-Length: 1354 -Expect: 100-continue -Content-Type: multipart/form-data; boundary=curlfPpkLyYwSYaH6Fkg0WkEldoJyAQ - ---curlfPpkLyYwSYaH6Fkg0WkEldoJyAQ -Content-Disposition: form-data; name="name" - -daniel ---curlfPpkLyYwSYaH6Fkg0WkEldoJyAQ -Content-Disposition: form-data; name="tool" - -curl ---curlfPpkLyYwSYaH6Fkg0WkEldoJyAQ -Content-Disposition: form-data; name="file"; filename="log/test304.txt" -Content-Type: text/plain - -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa - ---curlfPpkLyYwSYaH6Fkg0WkEldoJyAQ-- -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test31 b/Build/source/libs/curl/tests/data/test31 deleted file mode 100644 index 037a872ef03..00000000000 --- a/Build/source/libs/curl/tests/data/test31 +++ /dev/null @@ -1,56 +0,0 @@ -# Server-side -<reply> -<data> -HTTP/1.1 200 OK -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake -Content-Type: text/html -Funny-head: yesyes -Set-Cookie: foobar=name; domain=127.0.0.1; path=/ ; secure -Set-Cookie:mismatch=this ; domain=127.0.0.1; path=/silly/ -Set-Cookie: partmatch=present; domain=127.0.0.1 ; path=/; -Set-Cookie: eat=this; domain=moo.foo.moo; -Set-Cookie: eat=this-too; domain=.foo.moo; -Set-Cookie: nodomainnovalue -Set-Cookie: nodomain=value; expires=Tue Feb 1 11:56:27 MET 2014 -Set-Cookie: nodomainnovalue; domain=reallysilly - -boo -</data> -</reply> - -# Client-side -<client> - <name> -HTTP with weirdly formatted cookies and cookiejar storage - </name> - <command> -http://%HOSTIP:%HOSTPORT/we/want/31 -b none -c log/jar31.txt -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET /we/want/31 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -<file name="log/jar31.txt"> -# Netscape HTTP Cookie File -# http://www.netscape.com/newsref/std/cookie_spec.html -# This file was generated by libcurl! Edit at your own risk. - -127.0.0.1 FALSE / TRUE 0 foobar name -127.0.0.1 FALSE /silly/ FALSE 0 ismatch this -127.0.0.1 FALSE / FALSE 0 partmatch present -moo.foo.moo FALSE / FALSE 0 eat this -.foo.moo TRUE / FALSE 0 eat this-too -127.0.0.1 FALSE / FALSE 1391252187 nodomain value -</file> -</verify> diff --git a/Build/source/libs/curl/tests/data/test33 b/Build/source/libs/curl/tests/data/test33 deleted file mode 100644 index d8706adda7b..00000000000 --- a/Build/source/libs/curl/tests/data/test33 +++ /dev/null @@ -1,50 +0,0 @@ -# Server-side -<reply> -<data> - -</data> -</reply> - -# Client-side -<client> - <name> -HTTP PUT with resume - </name> -<file name="log/test33.txt"> -012345678 -012345678 -012345678 -012345678 -012345678 -012345678 -012345678 -012345678 -012345678 -012345678 -</file> - <command> -http://%HOSTIP:%HOSTPORT/33 -Tlog/test33.txt -C 50 -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -PUT /33 HTTP/1.1 -Content-Range: bytes 50-99/100 -User-Agent: curl/7.6 (sparc-sun-solaris2.7) libcurl 7.6-pre4 (SSL 0.9.6) (krb4 enabled) -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* -Content-Length: 50 - -012345678 -012345678 -012345678 -012345678 -012345678 -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test34 b/Build/source/libs/curl/tests/data/test34 deleted file mode 100644 index 1786cb60c76..00000000000 --- a/Build/source/libs/curl/tests/data/test34 +++ /dev/null @@ -1,55 +0,0 @@ -# -# Server-side -<reply> -<data> -HTTP/1.1 200 funky chunky! -Server: fakeit/0.9 fakeitbad/1.0 -Transfer-Encoding: chunked -Connection: mooo - -40 -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -30 -bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb -21;heresatest=moooo -cccccccccccccccccccccccccccccccc - -0 -muuu -</data> -<datacheck> -HTTP/1.1 200 funky chunky! -Server: fakeit/0.9 fakeitbad/1.0 -Transfer-Encoding: chunked -Connection: mooo - -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccc -</datacheck> -</reply> - -# -# Client-side -<client> - <name> -HTTP GET with chunked Transfer-Encoding - </name> - <command> -http://%HOSTIP:%HOSTPORT/34 -</command> -</test> - -# -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET /34 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -</verify> - diff --git a/Build/source/libs/curl/tests/data/test36 b/Build/source/libs/curl/tests/data/test36 deleted file mode 100644 index 0983beefde3..00000000000 --- a/Build/source/libs/curl/tests/data/test36 +++ /dev/null @@ -1,54 +0,0 @@ -# -# Server-side -<reply> -<data> -HTTP/1.1 200 funky chunky! -Server: fakeit/0.9 fakeitbad/1.0 -Transfer-Encoding: chunked -Connection: mooo - -2 -a - -ILLEGAL -bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb -</data> -<datacheck> -HTTP/1.1 200 funky chunky! -Server: fakeit/0.9 fakeitbad/1.0 -Transfer-Encoding: chunked -Connection: mooo - -a -</datacheck> -</reply> - -# -# Client-side -<client> - <name> -HTTP GET with bad chunked Transfer-Encoding - </name> - <command> -http://%HOSTIP:%HOSTPORT/36 -</command> -</test> - -# -# Verify data after the test has been "shot" -<verify> -<errorcode> -26 -</errocode> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET /36 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -</verify> - diff --git a/Build/source/libs/curl/tests/data/test37 b/Build/source/libs/curl/tests/data/test37 deleted file mode 100644 index 5ebd6776cc6..00000000000 --- a/Build/source/libs/curl/tests/data/test37 +++ /dev/null @@ -1,36 +0,0 @@ -# -# Server-side -<reply> -<data> -</data> -</reply> - -# -# Client-side -<client> - <name> -HTTP GET with nothing returned from server - </name> - <command> -http://%HOSTIP:%HOSTPORT/37 -</command> -</test> - -# -# Verify data after the test has been "shot" -<verify> -<errorcode> -52 -</errocode> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET /37 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -</verify> - diff --git a/Build/source/libs/curl/tests/data/test38 b/Build/source/libs/curl/tests/data/test38 deleted file mode 100644 index 5b7b4fef7d6..00000000000 --- a/Build/source/libs/curl/tests/data/test38 +++ /dev/null @@ -1,49 +0,0 @@ -# Server-side -<reply> -<data nocheck=1> -HTTP/1.0 200 Mooo -Date: Mon, 13 Nov 2000 13:41:09 GMT -Server: myown/1.0 -Connection: close - -todelooooo lalalala yada yada, we know nothing about ranges ;-) -</data> -</reply> - -# Client-side -<client> - <name> -HTTP resume request without server supporting it - </name> - <command option="no-output"> -http://%HOSTIP:%HOSTPORT/want/38 -C - -i -o log/fewl.txt -</command> -<file name="log/fewl.txt"> -This text is here to simulate a partly downloaded file to resume -download on. -</file> -</client> - -# Verify data after the test has been "shot" -<verify> -<errorcode> -33 -</errorcode> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET /want/38 HTTP/1.1 -Range: bytes=78- -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> - -# the download target file must remain untouched -<file name="log/fewl.txt"> -This text is here to simulate a partly downloaded file to resume -download on. -</file> -</verify> diff --git a/Build/source/libs/curl/tests/data/test4 b/Build/source/libs/curl/tests/data/test4 deleted file mode 100644 index 47fc4d3ce38..00000000000 --- a/Build/source/libs/curl/tests/data/test4 +++ /dev/null @@ -1,39 +0,0 @@ -# -# Server-side -<reply name="1"> -<data> -HTTP/1.1 200 OK -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake -Content-Type: text/html -Funny-head: yesyes - -</data> -</reply> - -# -# Client-side -<client> - <name> -Replaced internal and added custom HTTP headers - </name> - <command> - -H "extra-header: here" -H "Accept: replaced" http://%HOSTIP:%HOSTPORT/4 -</command> -</test> - -# -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET /4 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -extra-header: here -Accept: replaced - -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test400 b/Build/source/libs/curl/tests/data/test400 deleted file mode 100644 index b389cff7300..00000000000 --- a/Build/source/libs/curl/tests/data/test400 +++ /dev/null @@ -1,48 +0,0 @@ -# -# Server-side -<reply name="1"> -<data> -total 20 -drwxr-xr-x 8 98 98 512 Oct 22 13:06 . -drwxr-xr-x 8 98 98 512 Oct 22 13:06 .. -drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT --r--r--r-- 1 0 1 35 Jul 16 1996 README -lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin -dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev -drwxrwxrwx 2 98 98 512 May 29 16:04 download.html -dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc -drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub -dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr -</data> -</reply> - -# -# Client-side -<client> - <name> -FTPS dir list PASV - </name> - <command> -ftps://%HOSTIP:%FTPSPORT/ -</command> -<file name="log/ftpserver.cmd"> -REPLY EPSV 500 no such command -</file> -</test> - -# -# Verify data after the test has been "shot" -<verify> -<strip> -filter off really nothing -</strip> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -EPSV -PASV -TYPE A -LIST -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test401 b/Build/source/libs/curl/tests/data/test401 deleted file mode 100644 index 461b9ba8bb3..00000000000 --- a/Build/source/libs/curl/tests/data/test401 +++ /dev/null @@ -1,30 +0,0 @@ -# Server-side -<reply> -moooooooo -</reply> - -# Client-side -<client> - <name> -FTPS download with strict timeout and slow CWD - </name> - <command> -ftps://%HOSTIP:%FTPSPORT/path/to/file/401 -m 4 -</command> -<file name="log/ftpserver.cmd"> -DELAY CWD 15 -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<errorcode> -28 -</errorcode> -<protocol> -USER anonymous -PASS curl_by_daniel@haxx.se -PWD -CWD path/to/file -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test402 b/Build/source/libs/curl/tests/data/test402 deleted file mode 100644 index 27b265c34cd..00000000000 --- a/Build/source/libs/curl/tests/data/test402 +++ /dev/null @@ -1,21 +0,0 @@ -# Server-side -<reply> -moooooooo -</reply> - -# Client-side -<client> - <name> -FTPS operation to FTP port - </name> - <command> -ftps://%HOSTIP:%FTPPORT/path/to/file/402 -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<errorcode> -35 -</errorcode> -</verify> diff --git a/Build/source/libs/curl/tests/data/test43 b/Build/source/libs/curl/tests/data/test43 deleted file mode 100644 index 0a34a97890f..00000000000 --- a/Build/source/libs/curl/tests/data/test43 +++ /dev/null @@ -1,64 +0,0 @@ -# Server-side -<reply> -<data> -HTTP/1.1 301 This is a weirdo text message -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake -Location: data/110002.txt?coolsite=yes -Connection: close - -This server reply is for testing a simple Location: following - -</data> -<data2> -HTTP/1.1 200 Followed here fine -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake - -If this is received, the location following worked - -</data2> -<datacheck> -HTTP/1.1 301 This is a weirdo text message -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake -Location: data/110002.txt?coolsite=yes -Connection: close - -HTTP/1.1 200 Followed here fine -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake - -If this is received, the location following worked - -</datacheck> -</reply> - -# Client-side -<client> - <name> -HTTP Location: following over HTTP proxy - </name> - <command> -http://%HOSTIP:%HOSTPORT/want/11 -L -x %HOSTIP:%HOSTPORT -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET http://127.0.0.1:8999/want/11 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -GET http://127.0.0.1:8999/want/data/110002.txt?coolsite=yes HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test44 b/Build/source/libs/curl/tests/data/test44 deleted file mode 100644 index 2426c61939c..00000000000 --- a/Build/source/libs/curl/tests/data/test44 +++ /dev/null @@ -1,60 +0,0 @@ -# Server-side -<reply> -<data> -HTTP/1.1 200 OK -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake - -blablabla - -</data> -</reply> - -# Client-side -<client> - <name> -HTTP RFC1867-type formposting without Expect: header - </name> - <command> -http://%HOSTIP:%HOSTPORT/we/want/44 -F name=daniel -F tool=curl -F file=@log/test44.txt -H 'Expect:' -</command> -# We create this file before the command is invoked! -<file name="log/test44.txt"> -foo- -This is a moo- -bar -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^(User-Agent:|Content-Type: multipart/form-data;|--curl).* -</strip> -<protocol> -POST /we/want/44 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* -Content-Length: 376 -Content-Type: multipart/form-data; boundary=curluczemxkcWWsxptLlAImrFQHwQ3W - ---curluczemxkcWWsxptLlAImrFQHwQ3W -Content-Disposition: form-data; name="name" - -daniel ---curluczemxkcWWsxptLlAImrFQHwQ3W -Content-Disposition: form-data; name="tool" - -curl ---curluczemxkcWWsxptLlAImrFQHwQ3W -Content-Disposition: form-data; name="file"; filename="log/test44.txt" -Content-Type: text/plain - -foo- -This is a moo- -bar ---curluczemxkcWWsxptLlAImrFQHwQ3W-- - -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test45 b/Build/source/libs/curl/tests/data/test45 deleted file mode 100644 index ec6a972d5b7..00000000000 --- a/Build/source/libs/curl/tests/data/test45 +++ /dev/null @@ -1,64 +0,0 @@ -# Server-side -<reply> -<data> -HTTP/1.1 301 This is a weirdo text message -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake -Location: data.cgi?moo=http://&/110002 -Connection: close - -This server reply is for testing a simple Location: following - -</data> -<data2> -HTTP/1.1 200 Followed here fine -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake - -If this is received, the location following worked - -</data2> -<datacheck> -HTTP/1.1 301 This is a weirdo text message -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake -Location: data.cgi?moo=http://&/110002 -Connection: close - -HTTP/1.1 200 Followed here fine -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake - -If this is received, the location following worked - -</datacheck> -</reply> - -# Client-side -<client> - <name> -simple HTTP Location: without protocol in initial URL - </name> - <command> -%HOSTIP:%HOSTPORT/want/45 -L -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET /want/45 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -GET /want/data.cgi?moo=http://&/110002 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test46 b/Build/source/libs/curl/tests/data/test46 deleted file mode 100644 index 94e01b05f3c..00000000000 --- a/Build/source/libs/curl/tests/data/test46 +++ /dev/null @@ -1,62 +0,0 @@ -# Server-side -<reply> -<data> -HTTP/1.1 200 OK -Server: Microsoft-IIS/4.0 -Date: Tue, 25 Sep 2001 19:37:44 GMT -Content-Type: text/html -Set-Cookie: ckyPersistent=permanent; expires=Tue, 01-Jan-2010 05:00:00 GMT; path=/ -Set-Cookie: ckySession=temporary; path=/ -Set-Cookie: ASPSESSIONIDQGGQQSJJ=GKNBDIFAAOFDPDAIEAKDIBKE; path=/ -Cache-control: private - -This server reply is for testing a simple Location: following - -</data> -</reply> - -# Client-side -<client> - <name> -HTTP, get cookies and store in cookie jar - </name> - <command> -%HOSTIP:%HOSTPORT/want/46 -c log/jar46 -b log/injar46 -</command> -<file name="log/injar46"> -# Netscape HTTP Cookie File -# http://www.netscape.com/newsref/std/cookie_spec.html -# This is generated by libcurl! Do not edit. - -www.fake.come FALSE / FALSE 1022144953 cookiecliente si -www.loser.com FALSE / FALSE 1139150993 UID 99 -127.0.0.1 FALSE / FALSE 1139150993 mooo indeed -</file> -</client> - -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET /want/46 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* -Cookie: mooo=indeed - -</protocol> -<file name="log/jar46"> -# Netscape HTTP Cookie File -# http://www.netscape.com/newsref/std/cookie_spec.html -# This file was generated by libcurl! Edit at your own risk. - -www.fake.come FALSE / FALSE 1022144953 cookiecliente si -www.loser.com FALSE / FALSE 1139150993 UID 99 -127.0.0.1 FALSE / FALSE 1139150993 mooo indeed -127.0.0.1 FALSE / FALSE 1262322000 ckyPersistent permanent -127.0.0.1 FALSE / FALSE 0 ckySession temporary -127.0.0.1 FALSE / FALSE 0 ASPSESSIONIDQGGQQSJJ GKNBDIFAAOFDPDAIEAKDIBKE -</file> -</verify> diff --git a/Build/source/libs/curl/tests/data/test47 b/Build/source/libs/curl/tests/data/test47 deleted file mode 100644 index 3acfeb4677d..00000000000 --- a/Build/source/libs/curl/tests/data/test47 +++ /dev/null @@ -1,38 +0,0 @@ -# -# Server-side -<reply name="47"> -<data> -HTTP/1.0 200 OK -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake - -<foo> within foo </foo> -</data> -</reply> - -# -# Client-side -<client> - <name> -simple HTTP 1.0 GET - </name> - <command> -http://%HOSTIP:%HOSTPORT/47 -0 -</command> -</test> - -# -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET /47 HTTP/1.0 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -</verify> - diff --git a/Build/source/libs/curl/tests/data/test5 b/Build/source/libs/curl/tests/data/test5 deleted file mode 100644 index 1052c1e9fab..00000000000 --- a/Build/source/libs/curl/tests/data/test5 +++ /dev/null @@ -1,38 +0,0 @@ -# -# Server-side -<reply> -<data> -HTTP/1.1 200 OK -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake -Content-Type: text/html -Funny-head: yesyes - -</data> -</reply> - -# -# Client-side -<client> - <name> -HTTP over proxy - </name> - <command> -http://%HOSTIP:%HOSTPORT/we/want/that/page/5 -x %HOSTIP:%HOSTPORT -</command> -</test> - -# -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET http://127.0.0.1:8999/we/want/that/page/5 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test6 b/Build/source/libs/curl/tests/data/test6 deleted file mode 100644 index d3e6ae321f1..00000000000 --- a/Build/source/libs/curl/tests/data/test6 +++ /dev/null @@ -1,36 +0,0 @@ -# Server-side -<reply> -<data> -HTTP/1.1 200 OK -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake -Content-Type: text/html -Funny-head: yesyes - -</data> -</reply> - -# Client-side -<client> - <name> -HTTP with simple cookie send - </name> - <command> -http://%HOSTIP:%HOSTPORT/we/want/that/page/6 -b "name=contents;name2=content2" -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET /we/want/that/page/6 HTTP/1.1 -Cookie: name=contents;name2=content2 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test7 b/Build/source/libs/curl/tests/data/test7 deleted file mode 100644 index c550feb41b2..00000000000 --- a/Build/source/libs/curl/tests/data/test7 +++ /dev/null @@ -1,49 +0,0 @@ -# Server-side -<reply> -<data> -HTTP/1.1 200 OK -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake -Content-Type: text/html -Funny-head: yesyes -Set-Cookie: foobar=name; domain=127.0.0.1; path=/; -Set-Cookie: mismatch=this; domain=127.0.0.1; path="/silly/"; -Set-Cookie: partmatch=present; domain=.0.0.1; path=/; - -</data> -</reply> - -# Client-side -<client> - <name> -HTTP with cookie parser and header recording - </name> - <command> -http://%HOSTIP:%HOSTPORT/we/want/7 -b none -D log/heads7.txt -</command> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET /we/want/7 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* - -</protocol> -<file name="log/heads7.txt"> -HTTP/1.1 200 OK -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake -Content-Type: text/html -Funny-head: yesyes -Set-Cookie: foobar=name; domain=127.0.0.1; path=/; -Set-Cookie: mismatch=this; domain=127.0.0.1; path="/silly/"; -Set-Cookie: partmatch=present; domain=.0.0.1; path=/; - -</file> -</verify> diff --git a/Build/source/libs/curl/tests/data/test8 b/Build/source/libs/curl/tests/data/test8 deleted file mode 100644 index 4c1695b92a0..00000000000 --- a/Build/source/libs/curl/tests/data/test8 +++ /dev/null @@ -1,47 +0,0 @@ -# Server-side -<reply> -<data> -HTTP/1.1 200 OK -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake - -</data> -</reply> - -# Client-side -<client> - <name> -HTTP with cookie parsing from header file - </name> - <command> -http://%HOSTIP:%HOSTPORT/we/want/8 -b log/heads8.txt -</command> - -# We create this file before the command is invoked! -<file name="log/heads8.txt"> -HTTP/1.1 200 OK -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake -Content-Type: text/html -Funny-head: yesyes -Set-Cookie: foobar=name; domain=127.0.0.1; path=/; -Set-Cookie: mismatch=this; domain=127.0.0.1; path="/silly/"; -Set-Cookie: partmatch=present; domain=.0.0.1; path=/; - -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^User-Agent:.* -</strip> -<protocol> -GET /we/want/8 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* -Cookie: partmatch=present; foobar=name - -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/data/test9 b/Build/source/libs/curl/tests/data/test9 deleted file mode 100644 index e6883a979ef..00000000000 --- a/Build/source/libs/curl/tests/data/test9 +++ /dev/null @@ -1,61 +0,0 @@ -# Server-side -<reply> -<data> -HTTP/1.1 200 OK -Date: Thu, 09 Nov 2010 14:49:00 GMT -Server: test-server/fake - -blablabla - -</data> -</reply> - -# Client-side -<client> - <name> -HTTP RFC1867-type formposting - </name> - <command> -http://%HOSTIP:%HOSTPORT/we/want/9 -F name=daniel -F tool=curl -F file=@log/test9.txt -</command> -# We create this file before the command is invoked! -<file name="log/test9.txt"> -foo- -This is a moo- -bar -</file> -</test> - -# Verify data after the test has been "shot" -<verify> -<strip> -^(User-Agent:|Content-Type: multipart/form-data;|--curl).* -</strip> -<protocol> -POST /we/want/9 HTTP/1.1 -Host: 127.0.0.1:8999 -Pragma: no-cache -Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* -Content-Length: 375 -Expect: 100-continue -Content-Type: multipart/form-data; boundary=curluczemxkcWWsxptLlAImrFQHwQ3W - ---curluczemxkcWWsxptLlAImrFQHwQ3W -Content-Disposition: form-data; name="name" - -daniel ---curluczemxkcWWsxptLlAImrFQHwQ3W -Content-Disposition: form-data; name="tool" - -curl ---curluczemxkcWWsxptLlAImrFQHwQ3W -Content-Disposition: form-data; name="file"; filename="log/test9.txt" -Content-Type: text/plain - -foo- -This is a moo- -bar ---curluczemxkcWWsxptLlAImrFQHwQ3W-- - -</protocol> -</verify> diff --git a/Build/source/libs/curl/tests/ftpserver.pl b/Build/source/libs/curl/tests/ftpserver.pl deleted file mode 100644 index 084639a9cdb..00000000000 --- a/Build/source/libs/curl/tests/ftpserver.pl +++ /dev/null @@ -1,502 +0,0 @@ -#!/usr/bin/perl -# -# $Id: ftpserver.pl,v 1.25 2001/12/03 13:46:56 bagder Exp $ -# This is the FTP server designed for the curl test suite. -# -# It is meant to exercise curl, it is not meant to be a fully working -# or even very standard compliant server. -# -# You may optionally specify port on the command line, otherwise it'll -# default to port 8921. -# - -use Socket; -use Carp; -use FileHandle; - -use strict; - -require "getpart.pm"; - -open(FTPLOG, ">log/ftpd.log") || - print STDERR "failed to open log file, runs without logging\n"; - -sub logmsg { print FTPLOG "$$: "; print FTPLOG @_; } - -sub ftpmsg { print INPUT @_; } - -my $verbose=0; # set to 1 for debugging -my $retrweirdo=0; - -my $port = 8921; # just a default -do { - if($ARGV[0] eq "-v") { - $verbose=1; - } - elsif($ARGV[0] =~ /^(\d+)$/) { - $port = $1; - } -} while(shift @ARGV); - -my $proto = getprotobyname('tcp') || 6; - -socket(Server, PF_INET, SOCK_STREAM, $proto)|| die "socket: $!"; -setsockopt(Server, SOL_SOCKET, SO_REUSEADDR, - pack("l", 1)) || die "setsockopt: $!"; -bind(Server, sockaddr_in($port, INADDR_ANY))|| die "bind: $!"; -listen(Server,SOMAXCONN) || die "listen: $!"; - -#print "FTP server started on port $port\n"; - -open(PID, ">.ftp.pid"); -print PID $$; -close(PID); - -my $waitedpid = 0; -my $paddr; - -sub REAPER { - $waitedpid = wait; - $SIG{CHLD} = \&REAPER; # loathe sysV - logmsg "reaped $waitedpid" . ($? ? " with exit $?\n" : "\n"); -} - -# USER is ok in fresh state -my %commandok = ( - 'USER' => 'fresh', - 'PASS' => 'passwd', - 'PASV' => 'loggedin|twosock', - 'EPSV' => 'loggedin|twosock', - 'PORT' => 'loggedin|twosock', - 'TYPE' => 'loggedin|twosock', - 'LIST' => 'twosock', - 'NLST' => 'twosock', - 'RETR' => 'twosock', - 'STOR' => 'twosock', - 'APPE' => 'twosock', - 'REST' => 'twosock', - 'CWD' => 'loggedin|twosock', - 'SYST' => 'loggedin', - 'SIZE' => 'loggedin|twosock', - 'PWD' => 'loggedin|twosock', - 'QUIT' => 'loggedin|twosock', - 'DELE' => 'loggedin|twosock' - ); - -# initially, we're in 'fresh' state -my %statechange = ( 'USER' => 'passwd', # USER goes to passwd state - 'PASS' => 'loggedin', # PASS goes to loggedin state - 'PORT' => 'twosock', # PORT goes to twosock - 'PASV' => 'twosock', # PASV goes to twosock - 'EPSV' => 'twosock', # EPSV goes to twosock - ); - -# this text is shown before the function specified below is run -my %displaytext = ('USER' => '331 We are happy you popped in!', - 'PASS' => '230 Welcome you silly person', - 'PORT' => '200 You said PORT - I say FINE', - 'TYPE' => '200 I modify TYPE as you wanted', - 'LIST' => '150 here comes a directory', - 'NLST' => '150 here comes a directory', - 'CWD' => '250 CWD command successful.', - 'SYST' => '215 UNIX Type: L8', # just fake something - 'QUIT' => '221 bye bye baby', # just reply something - 'PWD' => '257 "/nowhere/anywhere" is current directory', - 'REST' => '350 Yeah yeah we set it there for you', - 'DELE' => '200 OK OK OK whatever you say' - ); - -# callback functions for certain commands -my %commandfunc = ( 'PORT' => \&PORT_command, - 'LIST' => \&LIST_command, - 'NLST' => \&NLST_command, - 'PASV' => \&PASV_command, - 'EPSV' => \&PASV_command, - 'RETR' => \&RETR_command, - 'SIZE' => \&SIZE_command, - 'REST' => \&REST_command, - 'STOR' => \&STOR_command, - 'APPE' => \&STOR_command, # append looks like upload - ); - -my $rest=0; -sub REST_command { - $rest = $_[0]; - logmsg "Set REST position to $rest\n" -} - -sub LIST_command { - # print "150 ASCII data connection for /bin/ls (193.15.23.1,59196) (0 bytes)\r\n"; - -# this is a built-in fake-dir ;-) -my @ftpdir=("total 20\r\n", -"drwxr-xr-x 8 98 98 512 Oct 22 13:06 .\r\n", -"drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..\r\n", -"drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT\r\n", -"-r--r--r-- 1 0 1 35 Jul 16 1996 README\r\n", -"lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin\r\n", -"dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev\r\n", -"drwxrwxrwx 2 98 98 512 May 29 16:04 download.html\r\n", -"dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc\r\n", -"drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub\r\n", -"dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr\r\n"); - - logmsg "$$: pass data to child pid\n"; - for(@ftpdir) { - print SOCK $_; - } - close(SOCK); - logmsg "$$: done passing data to child pid\n"; - - print "226 ASCII transfer complete\r\n"; - return 0; -} - -sub NLST_command { - my @ftpdir=("file", "with space", "fake", "..", " ..", "funny", "README"); - for(@ftpdir) { - print SOCK "$_\r\n"; - } - close(SOCK); - print "226 ASCII transfer complete\r\n"; - return 0; -} - -sub SIZE_command { - my $testno = $_[0]; - - loadtest("data/test$testno"); - - logmsg "SIZE number $testno\n"; - - my @data = getpart("reply", "size"); - - my $size = $data[0]; - - if($size) { - print "213 $size\r\n"; - logmsg "SIZE $testno returned $size\n"; - } - else { - $size=0; - @data = getpart("reply", "data"); - for(@data) { - $size += length($_); - } - if($size) { - print "213 $size\r\n"; - logmsg "SIZE $testno returned $size\n"; - } - else { - print "550 $testno: No such file or directory.\r\n"; - logmsg "SIZE $testno: no such file\n"; - } - } - return 0; -} - -sub RETR_command { - my $testno = $_[0]; - - logmsg "RETR test number $testno\n"; - - if($testno =~ /^verifiedserver$/) { - # this is the secret command that verifies that this actually is - # the curl test server - print "150 Binary junk (10 bytes).\r\n"; - print SOCK "WE ROOLZ\r\n"; - close(SOCK); - print "226 File transfer complete\r\n"; - return 0; - } - - loadtest("data/test$testno"); - - my @data = getpart("reply", "data"); - - my $size=0; - for(@data) { - $size += length($_); - } - - if($size) { - - if($rest) { - # move read pointer forward - $size -= $rest; - logmsg "REST $rest was removed from size, makes $size left\n"; - $rest = 0; # reset REST offset again - } - if($retrweirdo) { - print "150 Binary data connection for $testno () ($size bytes).\r\n", - "226 File transfer complete\r\n"; - logmsg "150+226 in one shot!\n"; - - for(@data) { - my $send = $_; - print SOCK $send; - } - close(SOCK); - $retrweirdo=0; # switch off the weirdo again! - } - else { - print "150 Binary data connection for $testno () ($size bytes).\r\n"; - logmsg "150 Binary data connection for $testno ($size bytes).\n"; - - for(@data) { - my $send = $_; - print SOCK $send; - } - close(SOCK); - - print "226 File transfer complete\r\n"; - } - } - else { - print "550 $testno: No such file or directory.\r\n"; - logmsg "550 $testno: no such file\n"; - } - return 0; -} - -sub STOR_command { - my $testno=$_[0]; - - logmsg "STOR test number $testno\n"; - - my $filename = "log/upload.$testno"; - - print "125 Gimme gimme gimme!\r\n"; - - open(FILE, ">$filename") || - return 0; # failed to open output - - my $line; - my $ulsize=0; - while (defined($line = <SOCK>)) { - $ulsize += length($line); - print FILE $line; - } - close(FILE); - close(SOCK); - - logmsg "received $ulsize bytes upload\n"; - - print "226 File transfer complete\r\n"; - return 0; -} - -my $pasvport=9000; -sub PASV_command { - my ($arg, $cmd)=@_; - - socket(Server2, PF_INET, SOCK_STREAM, $proto) || die "socket: $!"; - setsockopt(Server2, SOL_SOCKET, SO_REUSEADDR, - pack("l", 1)) || die "setsockopt: $!"; - - my $ok=0; - - $pasvport++; # don't reuse the previous - for(1 .. 10) { - if($pasvport > 65535) { - $pasvport = 1025; - } - if(bind(Server2, sockaddr_in($pasvport, INADDR_ANY))) { - $ok=1; - last; - } - $pasvport+= 3; # try another port please - } - if(!$ok) { - print "500 no free ports!\r\n"; - logmsg "couldn't find free port\n"; - return 0; - } - listen(Server2,SOMAXCONN) || die "listen: $!"; - - if($cmd ne "EPSV") { - # PASV reply - logmsg "replying to a $cmd command\n"; - printf("227 Entering Passive Mode (127,0,0,1,%d,%d)\n", - ($pasvport/256), ($pasvport%256)); - } - else { - # EPSV reply - logmsg "replying to a $cmd command\n"; - printf("229 Entering Passive Mode (|||%d|)\n", $pasvport); - } - - my $paddr = accept(SOCK, Server2); - my($iport,$iaddr) = sockaddr_in($paddr); - my $name = gethostbyaddr($iaddr,AF_INET); - - close(Server2); # close the listener when its served its purpose! - - logmsg "$$: data connection from $name [", inet_ntoa($iaddr), "] at port $iport\n"; - - return; -} - - -sub PORT_command { - my $arg = $_[0]; - - if($arg !~ /(\d+),(\d+),(\d+),(\d+),(\d+),(\d+)/) { - logmsg "bad PORT-line: $arg\n"; - print "500 silly you, go away\r\n"; - return 0; - } - my $iaddr = inet_aton("$1.$2.$3.$4"); - - my $port = ($5<<8)+$6; - - if(!$port || $port > 65535) { - print STDERR "very illegal PORT number: $port\n"; - return 1; - } - - my $paddr = sockaddr_in($port, $iaddr); - my $proto = getprotobyname('tcp') || 6; - - socket(SOCK, PF_INET, SOCK_STREAM, $proto) || die "major failure"; - connect(SOCK, $paddr) || return 1; - - return \&SOCK; -} - -$SIG{CHLD} = \&REAPER; - -my %customreply; -my %delayreply; -sub customize { - undef %customreply; - open(CUSTOM, "<log/ftpserver.cmd") || - return 1; - - logmsg "FTPD: Getting commands from log/ftpserver.cmd\n"; - - while(<CUSTOM>) { - if($_ =~ /REPLY ([A-Z]+) (.*)/) { - $customreply{$1}=$2; - } - elsif($_ =~ /DELAY ([A-Z]+) (\d*)/) { - $delayreply{$1}=$2; - } - elsif($_ =~ /RETRWEIRDO/) { - print "instructed to use RETRWEIRDO\n"; - $retrweirdo=1; - } - } - close(CUSTOM); -} - -my @welcome=( - '220- _ _ ____ _ '."\r\n", - '220- ___| | | | _ \| | '."\r\n", - '220- / __| | | | |_) | | '."\r\n", - '220- | (__| |_| | _ <| |___ '."\r\n", - '220 \___|\___/|_| \_\_____|'."\r\n"); - -for ( $waitedpid = 0; - ($paddr = accept(Client,Server)) || $waitedpid; - $waitedpid = 0, close Client) -{ - next if $waitedpid and not $paddr; - my($port,$iaddr) = sockaddr_in($paddr); - my $name = gethostbyaddr($iaddr,AF_INET); - - # flush data: - $| = 1; - - logmsg "connection from $name [", inet_ntoa($iaddr), "] at port $port\n"; - - open(STDIN, "<&Client") || die "can't dup client to stdin"; - open(STDOUT, ">&Client") || die "can't dup client to stdout"; - - open(INPUT, ">log/server.input") || - logmsg "failed to open log/server.input\n"; - - FTPLOG->autoflush(1); - INPUT->autoflush(1); - - &customize(); # read test control instructions - - print @welcome; - if($verbose) { - print STDERR "OUT:\n"; - print STDERR @welcome; - } - my $state="fresh"; - - while(1) { - - last unless defined ($_ = <STDIN>); - - ftpmsg $_; - - # Remove trailing CRLF. - s/[\n\r]+$//; - - unless (m/^([A-Z]{3,4})\s?(.*)/i) { - print "500 '$_': command not understood.\r\n"; - next; - } - my $FTPCMD=$1; - my $FTPARG=$2; - my $full=$_; - - logmsg "GOT: ($1) $_\n"; - - if($verbose) { - print STDERR "IN: $full\n"; - } - - my $ok = $commandok{$FTPCMD}; - if($ok !~ /$state/) { - print "500 $FTPCMD not OK in state: $state!\r\n"; - next; - } - - my $newstate=$statechange{$FTPCMD}; - if($newstate eq "") { - # remain in the same state - } - else { - $state = $newstate; - } - - my $delay = $delayreply{$FTPCMD}; - if($delay) { - # just go sleep this many seconds! - sleep($delay); - } - - my $text; - $text = $customreply{$FTPCMD}; - my $fake = $text; - if($text eq "") { - $text = $displaytext{$FTPCMD}; - } - else { - logmsg "$FTPCMD made to send '$text'\n"; - } - if($text) { - print "$text\r\n"; - } - - if($fake eq "") { - # only perform this if we're not faking a reply - # see if the new state is a function caller. - my $func = $commandfunc{$FTPCMD}; - if($func) { - # it is! - \&$func($FTPARG, $FTPCMD); - } - } - - logmsg "set to state $state\n"; - - } # while(1) - close(Client); - close(Client2); -} diff --git a/Build/source/libs/curl/tests/ftpsserver.pl b/Build/source/libs/curl/tests/ftpsserver.pl deleted file mode 100644 index b6bb11b036a..00000000000 --- a/Build/source/libs/curl/tests/ftpsserver.pl +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/perl -# -# $Id: ftpsserver.pl,v 1.2 2001/09/17 08:55:32 bagder Exp $ -# This is the HTTPS server designed for the curl test suite. -# -# It is actually just a layer that runs stunnel properly. - -use strict; - -use stunnel; - -my $stunnel = &checkstunnel; - -if(!$stunnel) { - exit; -} - -# -# -p pemfile -# -P pid dir -# -d listen port -# -r target port - -my $verbose=0; # set to 1 for debugging - -my $port = 8821; # just our default, weird enough -my $ftp = 8921; # test ftp-server port -do { - if($ARGV[0] eq "-v") { - $verbose=1; - } - elsif($ARGV[0] eq "-r") { - $ftp=$ARGV[1]; - shift @ARGV; - } - elsif($ARGV[0] =~ /^(\d+)$/) { - $port = $1; - } -} while(shift @ARGV); - -my $path = `pwd`; -chomp $path; -my $cmd = "$stunnel -p $path/stunnel.pem -P $path/.ftps.pid -d $port -r $ftp"; - -if($verbose) { - print "FTPS server: $cmd\n"; -} -system($cmd); diff --git a/Build/source/libs/curl/tests/getpart.pm b/Build/source/libs/curl/tests/getpart.pm deleted file mode 100644 index d288000882f..00000000000 --- a/Build/source/libs/curl/tests/getpart.pm +++ /dev/null @@ -1,203 +0,0 @@ - -#use strict; - -my @xml; - -my $warning=0; -my $trace=0; - -sub getpartattr { - my ($section, $part)=@_; - - my %hash; - my $inside=0; - - # print "Section: $section, part: $part\n"; - - for(@xml) { - # print "$inside: $_"; - if(!$inside && ($_ =~ /^ *\<$section/)) { - $inside++; - } - elsif((1 ==$inside) && ($_ =~ /^ *\<$part([^>]*)/)) { - $inside++; - my $attr=$1; - my @p=split("[ \t]", $attr); - my $assign; - - foreach $assign (@p) { - # $assign is a 'name="contents"' pair - - if($assign =~ / *([^=]*)=\"([^\"]*)\"/) { - # *with* quotes - $hash{$1}=$2; - } - elsif($assign =~ / *([^=]*)=([^\"]*)/) { - # *without* quotes - $hash{$1}=$2; - } - } - last; - } - elsif((2 ==$inside) && ($_ =~ /^ *\<\/$part/)) { - $inside--; - } - } - return %hash; -} - -sub getpart { - my ($section, $part)=@_; - - my @this; - my $inside=0; - - # print "Section: $section, part: $part\n"; - - for(@xml) { - # print "$inside: $_"; - if(!$inside && ($_ =~ /^ *\<$section/)) { - $inside++; - } - elsif((1 ==$inside) && ($_ =~ /^ *\<$part[ \>]/)) { - $inside++; - } - elsif((2 ==$inside) && ($_ =~ /^ *\<\/$part/)) { - $inside--; - } - elsif((1==$inside) && ($_ =~ /^ *\<\/$section/)) { - if($trace) { - print STDERR "*** getpart.pm: $section/$part returned data!\n"; - } - if(!@this && $warning) { - print STDERR "*** getpart.pm: $section/$part returned empty!\n"; - } - return @this; - } - elsif(2==$inside) { - push @this, $_; - } - } - if($warning) { - print STDERR "*** getpart.pm: $section/$part returned empty!\n"; - } - return @this; #empty! -} - -sub loadtest { - my ($file)=@_; - - undef @xml; - open(XML, "<$file") || - return 1; # failure! - while(<XML>) { - push @xml, $_; - } - close(XML); - return 0; -} - -# -# Strip off all lines that match the specified pattern and return -# the new array. -# - -sub striparray { - my ($pattern, $arrayref) = @_; - - my @array; - - for(@$arrayref) { - if($_ !~ /$pattern/) { - push @array, $_; - } - } - return @array; -} - -# -# pass array *REFERENCES* ! -# -sub compareparts { - my ($firstref, $secondref)=@_; - - my $sizefirst=scalar(@$firstref); - my $sizesecond=scalar(@$secondref); - - if($sizefirst != $sizesecond) { - return -1; - } - - for(1 .. $sizefirst) { - my $index = $_ - 1; - if($firstref->[$index] ne $secondref->[$index]) { - (my $aa = $firstref->[$index]) =~ s/\r+\n$/\n/; - (my $bb = $secondref->[$index]) =~ s/\r+\n$/\n/; - if($aa ne $bb) { - return 1+$index; - } - } - } - return 0; -} - -# -# Write a given array to the specified file -# -sub writearray { - my ($filename, $arrayref)=@_; - - open(TEMP, ">$filename"); - binmode(TEMP,":raw"); # cygwin fix by Kevin Roth - for(@$arrayref) { - print TEMP $_; - } - close(TEMP); -} - -# -# Load a specified file an return it as an array -# -sub loadarray { - my ($filename)=@_; - my @array; - - open(TEMP, "<$filename"); - while(<TEMP>) { - push @array, $_; - } - close(TEMP); - return @array; -} - -# -# Given two array references, this function will store them in two -# temporary files, run 'diff' on them, store the result, remove the -# temp files and return the diff output! -# -sub showdiff { - my ($firstref, $secondref)=@_; - - my $file1=".array1"; - my $file2=".array2"; - - open(TEMP, ">$file1"); - for(@$firstref) { - print TEMP $_; - } - close(TEMP); - - open(TEMP, ">$file2"); - for(@$secondref) { - print TEMP $_; - } - close(TEMP); - - my @out = `diff $file1 $file2`; - - unlink $file1, $file2; - return @out; -} - - -1; diff --git a/Build/source/libs/curl/tests/httpserver.pl b/Build/source/libs/curl/tests/httpserver.pl deleted file mode 100644 index 7faef92f9b1..00000000000 --- a/Build/source/libs/curl/tests/httpserver.pl +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env perl - -use strict; - -my $verbose=0; # set to 1 for debugging - -my $port = 8999; # just a default -do { - if($ARGV[0] eq "-v") { - $verbose=1; - } - elsif($ARGV[0] =~ /^(\d+)$/) { - $port = $1; - } -} while(shift @ARGV); - -exec("server/sws $port"); diff --git a/Build/source/libs/curl/tests/httpsserver.pl b/Build/source/libs/curl/tests/httpsserver.pl deleted file mode 100644 index 7c93f075eba..00000000000 --- a/Build/source/libs/curl/tests/httpsserver.pl +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/perl -# -# $Id: httpsserver.pl,v 1.2 2001/09/17 08:41:01 bagder Exp $ -# This is the HTTPS server designed for the curl test suite. -# -# It is actually just a layer that runs stunnel properly. - -use strict; - -use stunnel; - -my $stunnel = &checkstunnel; - -if(!$stunnel) { - exit; -} - -# -# -p pemfile -# -P pid dir -# -d listen port -# -r target port - -my $verbose=0; # set to 1 for debugging - -my $port = 8433; # just a default -my $http = 8999; # http-port -do { - if($ARGV[0] eq "-v") { - $verbose=1; - } - if($ARGV[0] eq "-w") { - return 0; # return success, means we have stunnel working! - } - elsif($ARGV[0] eq "-r") { - $http=$ARGV[1]; - shift @ARGV; - } - elsif($ARGV[0] =~ /^(\d+)$/) { - $port = $1; - } -} while(shift @ARGV); - -my $path = `pwd`; -chomp $path; -my $cmd = "$stunnel -p $path/stunnel.pem -P $path/.https.pid -d $port -r $http"; - -if($verbose) { - print "$cmd\n"; -} -system($cmd); diff --git a/Build/source/libs/curl/tests/memanalyze.pl b/Build/source/libs/curl/tests/memanalyze.pl deleted file mode 100644 index f16f2d8a9e7..00000000000 --- a/Build/source/libs/curl/tests/memanalyze.pl +++ /dev/null @@ -1,269 +0,0 @@ -#!/usr/bin/perl -# -# Example input: -# -# MEM mprintf.c:1094 malloc(32) = e5718 -# MEM mprintf.c:1103 realloc(e5718, 64) = e6118 -# MEM sendf.c:232 free(f6520) - -do { - if($ARGV[0] eq "-v") { - $verbose=1; - } - elsif($ARGV[0] eq "-t") { - $trace=1; - } -} while (shift @ARGV); - -my $maxmem; - -sub newtotal { - my ($newtot)=@_; - # count a max here - - if($newtot > $maxmem) { - $maxmem= $newtot; - } -} - -while(<STDIN>) { - chomp $_; - $line = $_; - - if($line =~ /^MEM ([^:]*):(\d*) (.*)/) { - # generic match for the filename+linenumber - $source = $1; - $linenum = $2; - $function = $3; - - if($function =~ /free\(0x([0-9a-f]*)/) { - $addr = $1; - if($sizeataddr{$addr} == 0) { - print "FREE ERROR: No memory allocated: $line\n"; - } - elsif(-1 == $sizeataddr{$addr}) { - print "FREE ERROR: Memory freed twice: $line\n"; - print "FREE ERROR: Previously freed at: ".$getmem{$addr}."\n"; - } - else { - $totalmem -= $sizeataddr{$addr}; - if($trace) { - print "FREE: malloc at ".$getmem{$addr}." is freed again at $source:$linenum\n"; - printf("FREE: %d bytes freed, left allocated: $totalmem bytes\n", $sizeataddr{$addr}); - } - - newtotal($totalmem); - $frees++; - - $sizeataddr{$addr}=-1; # set -1 to mark as freed - $getmem{$addr}="$source:$linenum"; - - } - } - elsif($function =~ /malloc\((\d*)\) = 0x([0-9a-f]*)/) { - $size = $1; - $addr = $2; - - if($sizeataddr{$addr}>0) { - # this means weeeeeirdo - print "Fucked up debug compile, rebuild curl now\n"; - } - - $sizeataddr{$addr}=$size; - $totalmem += $size; - - if($trace) { - print "MALLOC: malloc($size) at $source:$linenum", - " makes totally $totalmem bytes\n"; - } - - newtotal($totalmem); - $mallocs++; - - $getmem{$addr}="$source:$linenum"; - } - elsif($function =~ /realloc\(0x([0-9a-f]*), (\d*)\) = 0x([0-9a-f]*)/) { - $oldaddr = $1; - $newsize = $2; - $newaddr = $3; - - $totalmem -= $sizeataddr{$oldaddr}; - if($trace) { - printf("REALLOC: %d less bytes and ", $sizeataddr{$oldaddr}); - } - $sizeataddr{$oldaddr}=0; - - $totalmem += $newsize; - $sizeataddr{$newaddr}=$newsize; - - if($trace) { - printf("%d more bytes ($source:$linenum)\n", $newsize); - } - - newtotal($totalmem); - $reallocs++; - - $getmem{$oldaddr}=""; - $getmem{$newaddr}="$source:$linenum"; - } - elsif($function =~ /strdup\(0x([0-9a-f]*)\) \((\d*)\) = 0x([0-9a-f]*)/) { - # strdup(a5b50) (8) = df7c0 - - $dup = $1; - $size = $2; - $addr = $3; - $getmem{$addr}="$source:$linenum"; - $sizeataddr{$addr}=$size; - - $totalmem += $size; - - if($trace) { - printf("STRDUP: $size bytes at %s, makes totally: %d bytes\n", - $getmem{$addr}, $totalmem); - } - - newtotal($totalmem); - $strdups++; - } - else { - print "Not recognized input line: $function\n"; - } - } - # FD url.c:1282 socket() = 5 - elsif($_ =~ /^FD ([^:]*):(\d*) (.*)/) { - # generic match for the filename+linenumber - $source = $1; - $linenum = $2; - $function = $3; - - if($function =~ /socket\(\) = (\d*)/) { - $filedes{$1}=1; - $getfile{$1}="$source:$linenum"; - $openfile++; - } - elsif($function =~ /accept\(\) = (\d*)/) { - $filedes{$1}=1; - $getfile{$1}="$source:$linenum"; - $openfile++; - } - elsif($function =~ /sclose\((\d*)\)/) { - if($filedes{$1} != 1) { - print "Close without open: $line\n"; - } - else { - $filedes{$1}=0; # closed now - $openfile--; - } - } - } - # FILE url.c:1282 fopen("blabla") = 0x5ddd - elsif($_ =~ /^FILE ([^:]*):(\d*) (.*)/) { - # generic match for the filename+linenumber - $source = $1; - $linenum = $2; - $function = $3; - - if($function =~ /fopen\(\"([^\"]*)\"\) = (\(nil\)|0x([0-9a-f]*))/) { - if($2 eq "(nil)") { - ; - } - else { - $fopen{$3}=1; - $fopenfile{$3}="$source:$linenum"; - $fopens++; - } - } - # fclose(0x1026c8) - elsif($function =~ /fclose\(0x([0-9a-f]*)\)/) { - if(!$fopen{$1}) { - print "fclose() without fopen(): $line\n"; - } - else { - $fopen{$1}=0; - $fopens--; - } - } - } - # ADDR url.c:1282 getaddrinfo() = 0x5ddd - elsif($_ =~ /^ADDR ([^:]*):(\d*) (.*)/) { - # generic match for the filename+linenumber - $source = $1; - $linenum = $2; - $function = $3; - - if($function =~ /getaddrinfo\(\) = (\(nil\)|0x([0-9a-f]*))/) { - my $add = $2; - if($add eq "(nil)") { - ; - } - else { - $addrinfo{$add}=1; - $addrinfofile{$add}="$source:$linenum"; - $addrinfos++; - } - } - # fclose(0x1026c8) - elsif($function =~ /freeaddrinfo\(0x([0-9a-f]*)\)/) { - if(!$addrinfo{$1}) { - print "freeaddrinfo() without getaddrinfo(): $line\n"; - } - else { - $addrinfo{$1}=0; - $addrinfos--; - } - } - - - } - else { - print "Not recognized prefix line: $line\n"; - } -} - -if($totalmem) { - print "Leak detected: memory still allocated: $totalmem bytes\n"; - - for(keys %sizeataddr) { - $addr = $_; - $size = $sizeataddr{$addr}; - if($size > 0) { - print "At $addr, there's $size bytes.\n"; - print " allocated by ".$getmem{$addr}."\n"; - } - } -} - -if($openfile) { - for(keys %filedes) { - if($filedes{$_} == 1) { - print "Open file descriptor created at ".$getfile{$_}."\n"; - } - } -} - -if($fopens) { - print "Open FILE handles left at:\n"; - for(keys %fopen) { - if($fopen{$_} == 1) { - print "fopen() called at ".$fopenfile{$_}."\n"; - } - } -} - -if($addrinfos) { - print "IPv6-style name resolve data left at:\n"; - for(keys %addrinfofile) { - if($addrinfo{$_} == 1) { - print "getaddrinfo() called at ".$addrinfofile{$_}."\n"; - } - } -} - -if($verbose) { - print "Mallocs: $mallocs\n", - "Reallocs: $reallocs\n", - "Strdups: $strdups\n", - "Frees: $frees\n"; - - print "Maximum allocated: $maxmem\n"; -} diff --git a/Build/source/libs/curl/tests/runtests.pl b/Build/source/libs/curl/tests/runtests.pl deleted file mode 100644 index 20bef5c68fb..00000000000 --- a/Build/source/libs/curl/tests/runtests.pl +++ /dev/null @@ -1,973 +0,0 @@ -#!/usr/bin/env perl -# $Id: runtests.pl,v 1.57 2002/03/01 09:20:03 bagder Exp $ -# -# Main curl test script, in perl to run on more platforms -# -####################################################################### -# These should be the only variables that might be needed to get edited: - -use strict; - -@INC=(@INC, $ENV{'srcdir'}, "."); - -require "stunnel.pm"; # stunnel functions -require "getpart.pm"; # array functions - -my $srcdir = $ENV{'srcdir'} || '.'; -my $HOSTIP="127.0.0.1"; -my $HOSTPORT=8999; # bad name, but this is the HTTP server port -my $HTTPSPORT=8433; # this is the HTTPS server port -my $FTPPORT=8921; # this is the FTP server port -my $FTPSPORT=8821; # this is the FTPS server port -my $CURL="../src/curl"; # what curl executable to run on the tests -my $LOGDIR="log"; -my $TESTDIR="data"; -my $SERVERIN="$LOGDIR/server.input"; # what curl sent the server -my $CURLLOG="$LOGDIR/curl.log"; # all command lines run -my $FTPDCMD="$LOGDIR/ftpserver.cmd"; # copy ftp server instructions here - -# Normally, all test cases should be run, but at times it is handy to -# simply run a particular one: -my $TESTCASES="all"; - -# To run specific test cases, set them like: -# $TESTCASES="1 2 3 7 8"; - -####################################################################### -# No variables below this point should need to be modified -# - -my $HTTPPIDFILE=".http.pid"; -my $HTTPSPIDFILE=".https.pid"; -my $FTPPIDFILE=".ftp.pid"; -my $FTPSPIDFILE=".ftps.pid"; - -# invoke perl like this: -my $perl="perl -I$srcdir"; - -# this gets set if curl is compiled with memory debugging: -my $memory_debug=0; - -# name of the file that the memory debugging creates: -my $memdump="memdump"; - -# the path to the script that analyzes the memory debug output file: -my $memanalyze="./memanalyze.pl"; - -my $checkstunnel = &checkstunnel; - -my $ssl_version; # set if libcurl is built with SSL support - -####################################################################### -# variables the command line options may set -# - -my $short; -my $verbose; -my $debugprotocol; -my $anyway; -my $gdbthis; # run test case with gdb debugger -my $keepoutfiles; # keep stdout and stderr files after tests -my $listonly; # only list the tests - -my $pwd; # current working directory - -chomp($pwd = `pwd`); - -# enable memory debugging if curl is compiled with it -$ENV{'CURL_MEMDEBUG'} = 1; - -####################################################################### -# Return the pid of the server as found in the given pid file -# -sub serverpid { - my $PIDFILE = $_[0]; - open(PFILE, "<$PIDFILE"); - my $PID=<PFILE>; - close(PFILE); - return $PID; -} - -####################################################################### -# stop the given test server -# -sub stopserver { - my $PIDFILE = $_[0]; - # check for pidfile - if ( -f $PIDFILE ) { - my $PID = serverpid($PIDFILE); - - my $res = kill (9, $PID); # die! - unlink $PIDFILE; # server is killed - - if($res && $verbose) { - print "Test server pid $PID signalled to die\n"; - } - elsif($verbose) { - print "Test server pid $PID didn't exist\n"; - } - } -} - -####################################################################### -# check the given test server if it is still alive -# -sub checkserver { - my ($pidfile)=@_; - my $RUNNING=0; - my $PID=0; - - # check for pidfile - if ( -f $pidfile ) { - $PID=serverpid($pidfile); - if ($PID ne "" && kill(0, $PID)) { - $RUNNING=1; - } - else { - $RUNNING=0; - $PID = -$PID; # negative means dead process - } - } - else { - $RUNNING=0; - } - return $PID -} - -####################################################################### -# start the http server, or if it already runs, verify that it is our -# test server on the test-port! -# -sub runhttpserver { - my $verbose = $_[0]; - my $RUNNING; - my $pid; - - $pid = checkserver ($HTTPPIDFILE); - - # verify if our/any server is running on this port - my $data=`$CURL --silent -i $HOSTIP:$HOSTPORT/verifiedserver`; - - if ( $data =~ /WE ROOLZ(: |)(\d*)/ ) { - if($2) { - $pid = 0+$2; - } - - if(!$pid) { - print "Test server already running with unknown pid! Use it...\n"; - return; - } - - if($verbose) { - print "Test server already running with pid $pid, killing it...\n"; - } - } - elsif($data ne "") { - print "GOT: $data\n"; - print "An alien HTTP server is running on port $HOSTPORT\n", - "Edit runtests.pl to use another port and rerun the test script\n"; - exit; - } - else { - if($verbose) { - print "No server running, start it\n"; - } - } - - if($pid > 0) { - my $res = kill (9, $pid); # die! - if(!$res) { - print "Failed to kill our HTTP test server, do it manually and", - " restart the tests.\n"; - exit; - } - sleep(2); - } - - my $flag=$debugprotocol?"-v ":""; - my $cmd="$perl $srcdir/httpserver.pl $flag $HOSTPORT &"; - system($cmd); - if($verbose) { - print "CMD: $cmd\n"; - } - -} - -####################################################################### -# start the https server (or rather, tunnel) if needed -# -sub runhttpsserver { - my $verbose = $_[0]; - my $STATUS; - my $RUNNING; - my $PID=checkserver($HTTPSPIDFILE ); - - if($PID > 0) { - # kill previous stunnel! - if($verbose) { - print "kills off running stunnel at $PID\n"; - } - stopserver($HTTPSPIDFILE); - } - - my $flag=$debugprotocol?"-v ":""; - my $cmd="$perl $srcdir/httpsserver.pl $flag -r $HOSTPORT $HTTPSPORT &"; - system($cmd); - if($verbose) { - print "CMD: $cmd\n"; - } -} - -####################################################################### -# start the ftp server if needed -# -sub runftpserver { - my $verbose = $_[0]; - my $STATUS; - my $RUNNING; - # check for pidfile - my $pid = checkserver ($FTPPIDFILE ); - - if ($pid <= 0) { - my $flag=$debugprotocol?"-v ":""; - - # verify that our server is NOT running on this port: - my $data=`$CURL --silent -i ftp://$HOSTIP:$FTPPORT/verifiedserver`; - - if ( $data =~ /WE ROOLZ/ ) { - print "A previous FTP server session is already running and we ", - "can't kill it!\n"; - exit; - } - - my $cmd="$perl $srcdir/ftpserver.pl $flag $FTPPORT &"; - if($verbose) { - print "CMD: $cmd\n"; - } - system($cmd); - } - else { - if($verbose) { - print "ftpd ($pid) is already running\n"; - } - - # verify that our server is one one running on this port: - my $data=`$CURL --silent -i ftp://$HOSTIP:$FTPPORT/verifiedserver`; - - if ( $data !~ /WE ROOLZ/ ) { - print "Another FTP server is running on port $FTPPORT\n", - "Edit runtests.pl to use another FTP port and rerun the ", - "test script\n"; - exit; - } - - if($verbose) { - print "The running FTP server has been verified to be our server\n"; - } - } -} - -####################################################################### -# start the ftps server (or rather, tunnel) if needed -# -sub runftpsserver { - my $verbose = $_[0]; - my $STATUS; - my $RUNNING; - my $PID=checkserver($FTPSPIDFILE ); - - if($PID > 0) { - # kill previous stunnel! - if($verbose) { - print "kills off running stunnel at $PID\n"; - } - stopserver($FTPSPIDFILE); - } - - my $flag=$debugprotocol?"-v ":""; - my $cmd="$perl $srcdir/ftpsserver.pl $flag -r $FTPPORT $FTPSPORT &"; - system($cmd); - if($verbose) { - print "CMD: $cmd\n"; - } -} - -####################################################################### -# Remove all files in the specified directory -# -sub cleardir { - my $dir = $_[0]; - my $count; - my $file; - - # Get all files - opendir(DIR, $dir) || - return 0; # can't open dir - while($file = readdir(DIR)) { - if($file !~ /^\./) { - unlink("$dir/$file"); - $count++; - } - } - closedir DIR; - return $count; -} - -####################################################################### -# filter out the specified pattern from the given input file and store the -# results in the given output file -# -sub filteroff { - my $infile=$_[0]; - my $filter=$_[1]; - my $ofile=$_[2]; - - open(IN, "<$infile") - || return 1; - - open(OUT, ">$ofile") - || return 1; - - # print "FILTER: off $filter from $infile to $ofile\n"; - - while(<IN>) { - $_ =~ s/$filter//; - print OUT $_; - } - close(IN); - close(OUT); - return 0; -} - -####################################################################### -# compare test results with the expected output, we might filter off -# some pattern that is allowed to differ, output test results -# - -sub compare { - # filter off patterns _before_ this comparison! - my ($firstref, $secondref)=@_; - - my $result = compareparts($firstref, $secondref); - - if(!$short && $result) { - print showdiff($firstref, $secondref); - } - return $result; -} - -####################################################################### -# display information about curl and the host the test suite runs on -# -sub displaydata { - - unlink($memdump); # remove this if there was one left - - my $version=`$CURL -V`; - chomp $version; - - my $curl = $version; - - $curl =~ s/^(.*)(libcurl.*)/$1/g; - my $libcurl = $2; - - my $hostname=`hostname`; - my $hosttype=`uname -a`; - - print "********* System characteristics ******** \n", - "* $curl\n", - "* $libcurl\n", - "* Host: $hostname", - "* System: $hosttype"; - - if($libcurl =~ /SSL/i) { - $ssl_version=1; - } - - if( -r $memdump) { - # if this exists, curl was compiled with memory debugging - # enabled and we shall verify that no memory leaks exist - # after each and every test! - $memory_debug=1; - } - printf("* Memory debugging: %s\n", $memory_debug?"ON":"OFF"); - printf("* HTTPS server: %s\n", $checkstunnel?"ON":"OFF"); - printf("* FTPS server: %s\n", $checkstunnel?"ON":"OFF"); - printf("* libcurl SSL: %s\n", $ssl_version?"ON":"OFF"); - print "***************************************** \n"; -} - -####################################################################### -# Run a single specified test case -# - -sub singletest { - my $testnum=$_[0]; - - # load the test case file definition - if(loadtest("${TESTDIR}/test${testnum}")) { - if($verbose) { - # this is not a test - print "$testnum doesn't look like a test case!\n"; - } - return -1; - } - - # extract the reply data - my @reply = getpart("reply", "data"); - my @replycheck = getpart("reply", "datacheck"); - - if (@replycheck) { - # we use this file instead to check the final output against - @reply=@replycheck; - } - - # curl command to run - my @curlcmd= getpart("client", "command"); - - # this is the valid protocol blurb curl should generate - my @protocol= getpart("verify", "protocol"); - - # redirected stdout/stderr to these files - $STDOUT="$LOGDIR/stdout$testnum"; - $STDERR="$LOGDIR/stderr$testnum"; - - # if this section exists, we verify that the stdout contained this: - my @validstdout = getpart("verify", "stdout"); - - # if this section exists, we verify upload - my @upload = getpart("verify", "upload"); - - # if this section exists, it is FTP server instructions: - my @ftpservercmd = getpart("server", "instruction"); - - my $CURLOUT="$LOGDIR/curl$testnum.out"; # curl output if not stdout - - # name of the test - my @testname= getpart("client", "name"); - - print "test $testnum..."; - if(!$short) { - my $name = $testname[0]; - $name =~ s/\n//g; - print "[$name]\n"; - } - - if($listonly) { - return 0; # look successful - } - - # remove previous server output logfile - unlink($SERVERIN); - - if(@ftpservercmd) { - # write the instructions to file - writearray($FTPDCMD, \@ftpservercmd); - } - - # get the command line options to use - my ($cmd, @blaha)= getpart("client", "command"); - - # make some nice replace operations - $cmd =~ s/\n//g; # no newlines please - $cmd =~ s/%HOSTIP/$HOSTIP/g; - $cmd =~ s/%HOSTPORT/$HOSTPORT/g; - $cmd =~ s/%HTTPSPORT/$HTTPSPORT/g; - $cmd =~ s/%FTPPORT/$FTPPORT/g; - $cmd =~ s/%FTPSPORT/$FTPSPORT/g; - $cmd =~ s/%SRCDIR/$srcdir/g; - $cmd =~ s/%PWD/$pwd/g; - - #$cmd =~ s/%HOSTNAME/$HOSTNAME/g; - - if($memory_debug) { - unlink($memdump); - } - - my @inputfile=getpart("client", "file"); - if(@inputfile) { - # we need to generate a file before this test is invoked - my %hash = getpartattr("client", "file"); - - my $filename=$hash{'name'}; - if(!$filename) { - print "ERROR: section client=>file has no name attribute!\n"; - exit; - } - writearray($filename, \@inputfile); - } - - my %cmdhash = getpartattr("client", "command"); - - my $out=""; - - if($cmdhash{'option'} eq "no-output") { - #print "*** We don't slap on --output\n"; - } - else { - if (!@validstdout) { - $out="--output $CURLOUT "; - } - } - - # run curl, add -v for debug information output - my $cmdargs="$out--include -v $cmd"; - - my @stdintest = getpart("client", "stdin"); - - if(@stdintest) { - my $stdinfile="$LOGDIR/stdin-for-$testnum"; - writearray($stdinfile, \@stdintest); - - $cmdargs .= " <$stdinfile"; - } - my $CMDLINE="$CURL $cmdargs >$STDOUT 2>$STDERR"; - - if($verbose) { - print "$CMDLINE\n"; - } - - print CMDLOG "$CMDLINE\n"; - - my $res; - # run the command line we built - if($gdbthis) { - open(GDBCMD, ">log/gdbcmd"); - print GDBCMD "set args $cmdargs\n"; - print GDBCMD "show args\n"; - close(GDBCMD); - system("gdb $CURL -x log/gdbcmd"); - $res =0; # makes it always continue after a debugged run - } - else { - $res = system("$CMDLINE"); - $res /= 256; - } - - # remove the special FTP command file after each test! - unlink($FTPDCMD); - - my @err = getpart("verify", "errorcode"); - my $errorcode = $err[0]; - - if($errorcode || $res) { - if($errorcode == $res) { - if(!$short) { - print " error OK"; - } - } - else { - if(!$short) { - print "curl returned $res, ".(0+$errorcode)." was expected\n"; - } - print " error FAILED\n"; - return 1; - } - } - - if (@validstdout) { - # verify redirected stdout - my @actual = loadarray($STDOUT); - - $res = compare(\@actual, \@validstdout); - if($res) { - print " stdout FAILED\n"; - return 1; - } - if(!$short) { - print " stdout OK"; - } - } - - my %replyattr = getpartattr("reply", "data"); - if(!$replyattr{'nocheck'} && - @reply) { - # verify the received data - my @out = loadarray($CURLOUT); - $res = compare(\@out, \@reply); - if ($res) { - print " data FAILED\n"; - return 1; - } - if(!$short) { - print " data OK"; - } - } - - if(@upload) { - # verify uploaded data - my @out = loadarray("$LOGDIR/upload.$testnum"); - $res = compare(\@out, \@upload); - if ($res) { - print " upload FAILED\n"; - return 1; - } - if(!$short) { - print " upload OK"; - } - } - - if(@protocol) { - # verify the sent request - my @out = loadarray($SERVERIN); - - # what to cut off from the live protocol sent by curl - my @strip = getpart("verify", "strip"); - - my @protstrip=@protocol; - - # check if there's any attributes on the verify/protocol section - my %hash = getpartattr("verify", "protocol"); - - if($hash{'nonewline'}) { - # Yes, we must cut off the final newline from the final line - # of the protocol data - chomp($protstrip[$#protstrip]); - } - - for(@strip) { - # strip all patterns from both arrays - @out = striparray( $_, \@out); - @protstrip= striparray( $_, \@protstrip); - } - - $res = compare(\@out, \@protstrip); - if($res) { - print " protocol FAILED\n"; - return 1; - } - if(!$short) { - print " protocol OK"; - } - } - - my @outfile=getpart("verify", "file"); - if(@outfile) { - # we're supposed to verify a dynamicly generated file! - my %hash = getpartattr("verify", "file"); - - my $filename=$hash{'name'}; - if(!$filename) { - print "ERROR: section verify=>file has no name attribute!\n"; - exit; - } - my @generated=loadarray($filename); - - $res = compare(\@generated, \@outfile); - if($res) { - print " output FAILED\n"; - return 1; - } - if(!$short) { - print " output OK"; - } - } - - if(!$keepoutfiles) { - # remove the stdout and stderr files - unlink($STDOUT); - unlink($STDERR); - unlink($CURLOUT); # remove the downloaded results - - unlink("$LOGDIR/upload.$testnum"); # remove upload leftovers - } - - unlink($FTPDCMD); # remove the instructions for this test - - if($memory_debug) { - if(! -f $memdump) { - print "\n** ALERT! memory debuggin without any output file?\n"; - } - else { - my @memdata=`$memanalyze < $memdump`; - my $leak=0; - for(@memdata) { - if($_ ne "") { - # well it could be other memory problems as well, but - # we call it leak for short here - $leak=1; - } - } - if($leak) { - print "\n** MEMORY FAILURE\n"; - print @memdata; - return 1; - } - else { - if(!$short) { - print " memory OK"; - } - } - } - } - if($short) { - print "OK"; - } - print "\n"; - - return 0; -} - -my %run; - -############################################################################## -# This function makes sure the right set of server is running for the -# specified test case. This is a useful design when we run single tests as not -# all servers need to run then! - -sub serverfortest { - my ($testnum)=@_; - - if($testnum< 100) { - # 0 - 99 is for HTTP - if(!$run{'http'}) { - runhttpserver($verbose); - $run{'http'}=$HTTPPIDFILE; - } - } - elsif($testnum< 200) { - # 100 - 199 is for FTP - if(!$run{'ftp'}) { - runftpserver($verbose); - $run{'ftp'}=$FTPPIDFILE; - } - } - elsif($testnum< 300) { - # 200 - 299 is for FILE, no server! - $run{'file'}="moo"; - } - elsif($testnum< 400) { - # 300 - 399 is for HTTPS, two servers! - - if(!$checkstunnel || !$ssl_version) { - # we can't run https tests without stunnel - # or if libcurl is SSL-less - return 1; - } - - if(!$run{'http'}) { - runhttpserver($verbose); - $run{'http'}=$HTTPPIDFILE; - } - if(!$run{'https'}) { - runhttpsserver($verbose); - $run{'https'}=$HTTPSPIDFILE; - } - } - elsif($testnum< 500) { - # 400 - 499 is for FTPS, also two servers - - if(!$checkstunnel || !$ssl_version) { - # we can't run https tests without stunnel - # or if libcurl is SSL-less - return 1; - } - if(!$run{'ftp'}) { - runftpserver($verbose); - $run{'ftp'}=$FTPPIDFILE; - } - if(!$run{'ftps'}) { - runftpsserver($verbose); - $run{'ftps'}=$FTPSPIDFILE; - } - } - else { - print "Bad test number, no server available\n"; - return 100; - } - sleep 1; # give a second for the server(s) to startup - return 0; # ok -} - -####################################################################### -# Check options to this test program -# - -my $number=0; -my $fromnum=-1; -my @testthis; -do { - if ($ARGV[0] eq "-v") { - # verbose output - $verbose=1; - } - elsif ($ARGV[0] eq "-c") { - # use this path to curl instead of default - $CURL=$ARGV[1]; - shift @ARGV; - } - elsif ($ARGV[0] eq "-d") { - # have the servers display protocol output - $debugprotocol=1; - } - elsif ($ARGV[0] eq "-g") { - # run this test with gdb - $gdbthis=1; - } - elsif($ARGV[0] eq "-s") { - # short output - $short=1; - } - elsif($ARGV[0] eq "-a") { - # continue anyway, even if a test fail - $anyway=1; - } - elsif($ARGV[0] eq "-l") { - # lists the test case names only - $listonly=1; - } - elsif($ARGV[0] eq "-k") { - # keep stdout and stderr files after tests - $keepoutfiles=1; - } - elsif($ARGV[0] eq "-h") { - # show help text - print <<EOHELP -Usage: runtests.pl [options] - -a continue even if a test fails - -d display server debug info - -g run the test case with gdb - -h this help text - -k keep stdout and stderr files present after tests - -l list all test case names/descriptions - -s short output - -v verbose output - [num] like "5 6 9" or " 5 to 22 " to run those tests only -EOHELP - ; - exit; - } - elsif($ARGV[0] =~ /^(\d+)/) { - $number = $1; - if($fromnum >= 0) { - for($fromnum .. $number) { - push @testthis, $_; - } - $fromnum = -1; - } - else { - push @testthis, $1; - } - } - elsif($ARGV[0] =~ /^to$/i) { - $fromnum = $number+1; - } -} while(shift @ARGV); - -if($testthis[0] ne "") { - $TESTCASES=join(" ", @testthis); -} - -####################################################################### -# Output curl version and host info being tested -# - -if(!$listonly) { - displaydata(); -} - -####################################################################### -# clear and create logging directory: -# -cleardir($LOGDIR); -mkdir($LOGDIR, 0777); - -####################################################################### -# If 'all' tests are requested, find out all test numbers -# - -if ( $TESTCASES eq "all") { - # Get all commands and find out their test numbers - opendir(DIR, $TESTDIR) || die "can't opendir $TESTDIR: $!"; - my @cmds = grep { /^test([0-9]+)$/ && -f "$TESTDIR/$_" } readdir(DIR); - closedir DIR; - - $TESTCASES=""; # start with no test cases - - # cut off everything but the digits - for(@cmds) { - $_ =~ s/[a-z\/\.]*//g; - } - # the the numbers from low to high - for(sort { $a <=> $b } @cmds) { - $TESTCASES .= " $_"; - } -} - -####################################################################### -# Start the command line log -# -open(CMDLOG, ">$CURLLOG") || - print "can't log command lines to $CURLLOG\n"; - -####################################################################### -# The main test-loop -# - -my $failed; -my $testnum; -my $ok=0; -my $total=0; -my $skipped=0; - -foreach $testnum (split(" ", $TESTCASES)) { - - my $serverproblem = serverfortest($testnum); - - if($serverproblem) { - # there's a problem with the server, don't run - # this particular server, but count it as "skipped" - $skipped++; - next; - } - - my $error = singletest($testnum); - if(-1 != $error) { - # valid test case number - $total++; - } - if($error>0) { - $failed.= "$testnum "; - if(!$anyway) { - # a test failed, abort - print "\n - abort tests\n"; - last; - } - } - elsif(!$error) { - $ok++; - } - - # loop for next test -} - -####################################################################### -# Close command log -# -close(CMDLOG); - -####################################################################### -# Tests done, stop the servers -# - -for(keys %run) { - stopserver($run{$_}); # the pid file is in the hash table -} - -if($total) { - printf("$ok tests out of $total reported OK: %d%%\n", - $ok/$total*100); - - if($ok != $total) { - print "These test cases failed: $failed\n"; - } -} -else { - print "No tests were performed!\n"; -} -if($skipped) { - print "$skipped tests were skipped due to restraints\n"; -} -if($total && ($ok != $total)) { - exit 1; -} diff --git a/Build/source/libs/curl/tests/server/Makefile.am b/Build/source/libs/curl/tests/server/Makefile.am deleted file mode 100644 index cb98c20e102..00000000000 --- a/Build/source/libs/curl/tests/server/Makefile.am +++ /dev/null @@ -1,12 +0,0 @@ -# sws is the Silly Web Server -# -# Original http server code contributed by Georg Horn. Heavily modified since. -# - -AUTOMAKE_OPTIONS = foreign - -noinst_PROGRAMS = sws - -sws_SOURCES= sws.c getpart.c - -extra_DIST = config.h.in diff --git a/Build/source/libs/curl/tests/server/Makefile.in b/Build/source/libs/curl/tests/server/Makefile.in deleted file mode 100644 index 16db3025f9c..00000000000 --- a/Build/source/libs/curl/tests/server/Makefile.in +++ /dev/null @@ -1,358 +0,0 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# 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@ - -# sws is the Silly Web Server -# -# Original http server code contributed by Georg Horn. Heavily modified since. -# - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_alias = @host_alias@ -host_triplet = @host@ -AMTAR = @AMTAR@ -AS = @AS@ -AWK = @AWK@ -CC = @CC@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -EXEEXT = @EXEEXT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -IPV6_ENABLED = @IPV6_ENABLED@ -KRB4_ENABLED = @KRB4_ENABLED@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -NROFF = @NROFF@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_ENABLED = @OPENSSL_ENABLED@ -PACKAGE = @PACKAGE@ -PERL = @PERL@ -PKGADD_NAME = @PKGADD_NAME@ -PKGADD_PKG = @PKGADD_PKG@ -PKGADD_VENDOR = @PKGADD_VENDOR@ -RANDOM_FILE = @RANDOM_FILE@ -RANLIB = @RANLIB@ -STRIP = @STRIP@ -VERSION = @VERSION@ -VERSIONNUM = @VERSIONNUM@ -YACC = @YACC@ -am__include = @am__include@ -am__quote = @am__quote@ -install_sh = @install_sh@ - -AUTOMAKE_OPTIONS = foreign - -noinst_PROGRAMS = sws - -sws_SOURCES = sws.c getpart.c - -extra_DIST = config.h.in -subdir = tests/server -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/lib/config.h \ - $(top_builddir)/src/config.h config.h -CONFIG_CLEAN_FILES = -noinst_PROGRAMS = sws$(EXEEXT) -PROGRAMS = $(noinst_PROGRAMS) - -am_sws_OBJECTS = sws.$(OBJEXT) getpart.$(OBJEXT) -sws_OBJECTS = $(am_sws_OBJECTS) -sws_LDADD = $(LDADD) -sws_DEPENDENCIES = -sws_LDFLAGS = - -DEFS = @DEFS@ -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/lib -I$(top_builddir)/src -I. -CPPFLAGS = @CPPFLAGS@ -LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ -depcomp = $(SHELL) $(top_srcdir)/depcomp -@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/getpart.Po $(DEPDIR)/sws.Po -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ - $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -CFLAGS = @CFLAGS@ -DIST_SOURCES = $(sws_SOURCES) -DIST_COMMON = ./stamp-h3.in Makefile.am Makefile.in config.h.in -SOURCES = $(sws_SOURCES) - -all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign tests/server/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status -config.h: stamp-h3 - @if test ! -f $@; then \ - rm -f stamp-h3; \ - $(MAKE) stamp-h3; \ - else :; fi -stamp-h3: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h3 stamp-h3T - @echo timestamp > stamp-h3T 2> /dev/null - cd $(top_builddir) \ - && CONFIG_FILES= CONFIG_HEADERS=tests/server/config.h \ - $(SHELL) ./config.status - @mv stamp-h3T stamp-h3 -$(srcdir)/config.h.in: $(srcdir)/./stamp-h3.in - @if test ! -f $@; then \ - rm -f $(srcdir)/./stamp-h3.in; \ - $(MAKE) $(srcdir)/./stamp-h3.in; \ - else :; fi -$(srcdir)/./stamp-h3.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) $(top_srcdir)/acconfig.h - @rm -f $(srcdir)/./stamp-h3.in $(srcdir)/./stamp-h3.inT - @echo timestamp > $(srcdir)/./stamp-h3.inT 2> /dev/null - cd $(top_srcdir) && $(AUTOHEADER) - @mv $(srcdir)/./stamp-h3.inT $(srcdir)/./stamp-h3.in - -distclean-hdr: - -rm -f config.h - -clean-noinstPROGRAMS: - -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) -sws$(EXEEXT): $(sws_OBJECTS) $(sws_DEPENDENCIES) - @rm -f sws$(EXEEXT) - $(LINK) $(sws_LDFLAGS) $(sws_OBJECTS) $(sws_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) core *.core - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getpart.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/sws.Po@am__quote@ - -distclean-depend: - -rm -rf $(DEPDIR) - -.c.o: -@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$< - -.c.obj: -@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(COMPILE) -c `cygpath -w $<` - -.c.lo: -@AMDEP_TRUE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(LTCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$< -CCDEPMODE = @CCDEPMODE@ -uninstall-info-am: - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(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 $(LISP) - -TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(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 "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \ - || etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) - -GTAGS: - here=`CDPATH=: && cd $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH - -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ - fi; \ - if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(PROGRAMS) config.h - -installdirs: - -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ - mostlyclean-am - -distclean: distclean-am - -distclean-am: clean-am distclean-compile distclean-depend \ - distclean-generic distclean-hdr distclean-libtool \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -uninstall-am: uninstall-info-am - -.PHONY: GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstPROGRAMS distclean distclean-compile \ - distclean-depend distclean-generic distclean-hdr \ - distclean-libtool distclean-tags distdir dvi dvi-am info \ - info-am install install-am install-data install-data-am \ - install-exec install-exec-am install-info install-info-am \ - install-man install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool tags uninstall uninstall-am \ - uninstall-info-am - -# 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/Build/source/libs/curl/tests/server/config.h.in b/Build/source/libs/curl/tests/server/config.h.in deleted file mode 100644 index 544ce104766..00000000000 --- a/Build/source/libs/curl/tests/server/config.h.in +++ /dev/null @@ -1,2 +0,0 @@ - -#undef HAVE_SIGNAL diff --git a/Build/source/libs/curl/tests/server/getpart.c b/Build/source/libs/curl/tests/server/getpart.c deleted file mode 100644 index c2160a59785..00000000000 --- a/Build/source/libs/curl/tests/server/getpart.c +++ /dev/null @@ -1,153 +0,0 @@ - -#include <stdio.h> -#include <ctype.h> -#include <string.h> -#include <stdlib.h> - -#define EAT_SPACE(ptr) while( ptr && *ptr && isspace(*ptr) ) ptr++ -#define EAT_WORD(ptr) while( ptr && *ptr && !isspace(*ptr) && ('>' != *ptr)) ptr++ - -#ifdef DEBUG -#define show(x) printf x -#else -#define show(x) -#endif - -static -char *appendstring(char *string, /* original string */ - char *buffer, /* to append */ - int *stringlen, int *stralloc) -{ - int len = strlen(buffer); - - if((len + *stringlen) > *stralloc) { - char *newptr= realloc(string, *stralloc*2); - if(newptr) { - string = newptr; - *stralloc *= 2; - } - else - return NULL; - } - strcpy(&string[*stringlen], buffer); - *stringlen += len; - - return string; -} - -char *spitout(FILE *stream, char *main, char *sub, int *size) -{ - char buffer[8192]; /* big enough for anything */ - char cmain[128]=""; /* current main section */ - char csub[128]=""; /* current sub section */ - char *ptr; - char *end; - char display = 0; - - char *string; - int stringlen=0; - int stralloc=256; - - enum { - STATE_OUTSIDE, - STATE_INMAIN, - STATE_INSUB, - STATE_ILLEGAL - } state = STATE_OUTSIDE; - - string = (char *)malloc(stralloc); - - while(fgets(buffer, sizeof(buffer), stream)) { - - ptr = buffer; - - /* pass white spaces */ - EAT_SPACE(ptr); - - if('<' != *ptr) { - if(display) { - show(("=> %s", buffer)); - string = appendstring(string, buffer, &stringlen, &stralloc); - show(("* %s\n", buffer)); - } - continue; - } - - ptr++; - EAT_SPACE(ptr); - - if('/' == *ptr) { - /* end of a section */ - ptr++; - EAT_SPACE(ptr); - - end = ptr; - EAT_WORD(end); - *end = 0; - - if((state == STATE_INSUB) && - !strcmp(csub, ptr)) { - /* this is the end of the currently read sub section */ - state--; - csub[0]=0; /* no sub anymore */ - display=0; - } - else if((state == STATE_INMAIN) && - !strcmp(cmain, ptr)) { - /* this is the end of the currently read main section */ - state--; - cmain[0]=0; /* no main anymore */ - display=0; - } - } - else if(!display) { - /* this is the beginning of a section */ - end = ptr; - EAT_WORD(end); - - *end = 0; - switch(state) { - case STATE_OUTSIDE: - strcpy(cmain, ptr); - state = STATE_INMAIN; - break; - case STATE_INMAIN: - strcpy(csub, ptr); - state = STATE_INSUB; - break; - } - } - if(display) { - string = appendstring(string, buffer, &stringlen, &stralloc); - show(("* %s\n", buffer)); - } - - if((STATE_INSUB == state) && - !strcmp(cmain, main) && - !strcmp(csub, sub)) { - show(("* (%d bytes) %s\n", stringlen, buffer)); - display = 1; /* start displaying */ - } - else { - show(("%d (%s/%s): %s\n", state, cmain, csub, buffer)); - display = 0; /* no display */ - } - } - - *size = stringlen; - return string; -} - -#ifdef TEST -int main(int argc, char **argv) -{ - if(argc< 3) { - printf("./moo main sub\n"); - } - else { - int size; - char *buffer = spitout(stdin, argv[1], argv[2], &size); - } - return 0; -} -#endif diff --git a/Build/source/libs/curl/tests/server/stamp-h3.in b/Build/source/libs/curl/tests/server/stamp-h3.in deleted file mode 100644 index 9788f70238c..00000000000 --- a/Build/source/libs/curl/tests/server/stamp-h3.in +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/Build/source/libs/curl/tests/server/sws.c b/Build/source/libs/curl/tests/server/sws.c deleted file mode 100644 index 01991bbc0dc..00000000000 --- a/Build/source/libs/curl/tests/server/sws.c +++ /dev/null @@ -1,426 +0,0 @@ -/* sws.c: simple (silly?) web server */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> -#include <signal.h> -#include <time.h> -#include <sys/time.h> -#include <sys/types.h> -#include <sys/wait.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <netdb.h> - -char *spitout(FILE *stream, char *main, char *sub, int *size); - -#define DEFAULT_PORT 8999 - -#ifndef DEFAULT_LOGFILE -#define DEFAULT_LOGFILE "log/sws.log" -#endif - -#define DOCBUFSIZE 4 -#define BUFFERSIZE (DOCBUFSIZE * 1024) - -#define VERSION "cURL test suite HTTP server/0.1" - -#define REQUEST_DUMP "log/server.input" - -#define TEST_DATA_PATH "data/test%d" - -static char *docfriends = "HTTP/1.1 200 Mighty fine indeed\r\n\r\nWE ROOLZ\r\n"; -static char *doc404 = "HTTP/1.1 404 Not Found\n" - "Server: " VERSION "\n" - "Connection: close\n" - "Content-Type: text/html\n" - "\n" - "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n" - "<HTML><HEAD>\n" - "<TITLE>404 Not Found</TITLE>\n" - "</HEAD><BODY>\n" - "<H1>Not Found</H1>\n" - "The requested URL was not found on this server.\n" - "<P><HR><ADDRESS>" VERSION "</ADDRESS>\n" "</BODY></HTML>\n"; - -static volatile int sigpipe, sigterm; -static FILE *logfp; - - -static void logmsg(const char *msg) -{ - time_t t = time(NULL); - struct tm *curr_time = localtime(&t); - char loctime[80]; - - strcpy(loctime, asctime(curr_time)); - loctime[strlen(loctime) - 1] = '\0'; - fprintf(logfp, "%s: pid %d: %s\n", loctime, getpid(), msg); -#ifdef DEBUG - fprintf(stderr, "%s: pid %d: %s\n", loctime, getpid(), msg); -#endif - fflush(logfp); -} - - -static void sigpipe_handler(int sig) -{ - sigpipe = 1; -} - - -static void sigterm_handler(int sig) -{ - char logbuf[100]; - snprintf(logbuf, 100, "Got signal %d, terminating", sig); - logmsg(logbuf); - sigterm = 1; -} - -int ProcessRequest(char *request) -{ - char *line=request; - unsigned long contentlength=0; - -#define END_OF_HEADERS "\r\n\r\n" - - char *end; - end = strstr(request, END_OF_HEADERS); - - if(!end) - /* we don't have a complete request yet! */ - return 0; - - /* **** Persistancy **** - * - * If the request is a HTTP/1.0 one, we close the connection unconditionally - * when we're done. - * - * If the request is a HTTP/1.1 one, we MUST check for a "Connection:" - * header that might say "close". If it does, we close a connection when - * this request is processed. Otherwise, we keep the connection alive for X - * seconds. - */ - - do { - if(!strncasecmp("Content-Length:", line, 15)) - contentlength = strtol(line+15, &line, 10); - - line = strchr(line, '\n'); - if(line) - line++; - } while(line); - - if(contentlength > 0 ) { - if(contentlength <= strlen(end+strlen(END_OF_HEADERS))) - return 1; /* done */ - else - return 0; /* not complete yet */ - } - return 1; /* done */ -} - -/* store the entire request in a file */ -void storerequest(char *reqbuf) -{ - FILE *dump; - - dump = fopen(REQUEST_DUMP, "ab"); /* b is for windows-preparing */ - if(dump) { - fwrite(reqbuf, 1, strlen(reqbuf), dump); - - fclose(dump); - } - -} - - -#define REQBUFSIZ 50000 -#define REQBUFSIZ_TXT "49999" - -/* very-big-path support */ -#define MAXDOCNAMELEN 40000 -#define MAXDOCNAMELEN_TXT "39999" - -#define REQUEST_KEYWORD_SIZE 256 -static int get_request(int sock, int *part) -{ - static char reqbuf[REQBUFSIZ], doc[MAXDOCNAMELEN]; - static char request[REQUEST_KEYWORD_SIZE]; - unsigned int offset = 0; - int prot_major, prot_minor; - char logbuf[256]; - - *part = 0; /* part zero equals none */ - - while (offset < REQBUFSIZ) { - int got = recv(sock, reqbuf + offset, REQBUFSIZ - offset, 0); - if (got <= 0) { - if (got < 0) { - perror("recv"); - return -1; - } - logmsg("Connection closed by client"); - return -1; - } - offset += got; - - reqbuf[offset] = 0; - - if(ProcessRequest(reqbuf)) - break; - } - - if (offset >= REQBUFSIZ) { - logmsg("Request buffer overflow, closing connection"); - return -1; - } - reqbuf[offset]=0; - - logmsg("Received a request"); - - /* dump the request to an external file */ - storerequest(reqbuf); - - if (sscanf(reqbuf, "%" REQBUFSIZ_TXT"s %" MAXDOCNAMELEN_TXT "s HTTP/%d.%d", - request, - doc, - &prot_major, - &prot_minor) == 4) { - char *ptr; - int test_no=0; - - /* find the last slash */ - ptr = strrchr(doc, '/'); - - /* get the number after it */ - if(ptr) { - - if((strlen(doc) + strlen(request)) < 200) - sprintf(logbuf, "Got request: %s %s HTTP/%d.%d", - request, doc, prot_major, prot_minor); - else - sprintf(logbuf, "Got a *HUGE* request HTTP/%d.%d", - prot_major, prot_minor); - logmsg(logbuf); - - if(!strncmp("/verifiedserver", ptr, 15)) { - logmsg("Are-we-friendly question received"); - return -2; - } - - ptr++; /* skip the slash */ - - test_no = strtol(ptr, &ptr, 10); - - if(test_no > 10000) { - *part = test_no % 10000; - test_no /= 10000; - } - - sprintf(logbuf, "Found test number %d in path", test_no); - logmsg(logbuf); - } - else { - - logmsg("Did not find test number in PATH"); - } - - return test_no; - } - - logmsg("Got illegal request"); - fprintf(stderr, "Got illegal request\n"); - return -1; -} - - -static int send_doc(int sock, int doc, int part_no) -{ - int written; - int count; - char *buffer; - char *ptr; - FILE *stream; - char *cmd=NULL; - int cmdsize; - - char filename[256]; - char partbuf[80]="data"; - - if(doc < 0) { - if(-2 == doc) - /* we got a "friends?" question, reply back that we sure are */ - buffer = docfriends; - else - buffer = doc404; - ptr = NULL; - stream=NULL; - - count = strlen(buffer); - } - else { - if(0 != part_no) { - sprintf(partbuf, "data%d", part_no); - } - - - sprintf(filename, TEST_DATA_PATH, doc); - - stream=fopen(filename, "rb"); - if(!stream) { - logmsg("Couldn't open test file"); - return 0; - } - else { - ptr = buffer = spitout(stream, "reply", partbuf, &count); - fclose(stream); - } - - /* re-open the same file again */ - stream=fopen(filename, "rb"); - if(!stream) { - logmsg("Couldn't open test file"); - return 0; - } - else { - /* get the custom server control "commands" */ - cmd = spitout(stream, "reply", "postcmd", &cmdsize); - fclose(stream); - } - } - - do { - written = send(sock, buffer, count, 0); - if (written < 0) { - return -1; - } - count -= written; - buffer += written; - } while(count>0); - - if(ptr) - free(ptr); - - if(cmdsize > 0 ) { - char command[32]; - int num; - char *ptr=cmd; - do { - if(2 == sscanf(ptr, "%31s %d", command, &num)) { - if(!strcmp("wait", command)) - sleep(num); /* wait this many seconds */ - else { - logmsg("Unknown command in reply command section"); - } - } - ptr = strchr(ptr, '\n'); - if(ptr) - ptr++; - else - ptr = NULL; - } while(ptr && *ptr); - } - if(cmd) - free(cmd); - - return 0; -} - -int main(int argc, char *argv[]) -{ - struct sockaddr_in me; - int sock, msgsock, flag; - unsigned short port = DEFAULT_PORT; - char *logfile = DEFAULT_LOGFILE; - int part_no; - FILE *pidfile; - - if(argc>1) - port = atoi(argv[1]); - - /* FIX: write our pid to a file name */ - - logfp = fopen(logfile, "a"); - if (!logfp) { - perror(logfile); - exit(1); - } - -#ifdef HAVE_SIGNAL - /* FIX: make a more portable signal handler */ - signal(SIGPIPE, sigpipe_handler); - signal(SIGINT, sigterm_handler); - signal(SIGTERM, sigterm_handler); - - siginterrupt(SIGPIPE, 1); - siginterrupt(SIGINT, 1); - siginterrupt(SIGTERM, 1); -#endif - - sock = socket(AF_INET, SOCK_STREAM, 0); - if (sock < 0) { - perror("opening stream socket"); - fprintf(logfp, "Error opening socket -- aborting\n"); - fclose(logfp); - exit(1); - } - - flag = 1; - if (setsockopt - (sock, SOL_SOCKET, SO_REUSEADDR, (const void *) &flag, - sizeof(int)) < 0) { - perror("setsockopt(SO_REUSEADDR)"); - } - - me.sin_family = AF_INET; - me.sin_addr.s_addr = INADDR_ANY; - me.sin_port = htons(port); - if (bind(sock, (struct sockaddr *) &me, sizeof me) < 0) { - perror("binding stream socket"); - fprintf(logfp, "Error binding socket -- aborting\n"); - fclose(logfp); - exit(1); - } - - pidfile = fopen(".http.pid", "w"); - if(pidfile) { - fprintf(pidfile, "%d\n", (int)getpid()); - fclose(pidfile); - } - else - fprintf(stderr, "Couldn't write pid file\n"); - - /* start accepting connections */ - listen(sock, 5); - - fprintf(stderr, "*** %s listening on port %u ***\n", VERSION, port); - - while (!sigterm) { - int doc; - - msgsock = accept(sock, NULL, NULL); - - if (msgsock == -1) { - if (sigterm) { - break; - } - /* perror("accept"); */ - continue; - } - - logmsg("New client connected"); - - doc = get_request(msgsock, &part_no); - send_doc(msgsock, doc, part_no); - - close(msgsock); - } - - close(sock); - fclose(logfp); - - return 0; -} - diff --git a/Build/source/libs/curl/tests/stunnel.pem b/Build/source/libs/curl/tests/stunnel.pem deleted file mode 100644 index 2668a4bd12d..00000000000 --- a/Build/source/libs/curl/tests/stunnel.pem +++ /dev/null @@ -1,31 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIICXQIBAAKBgQDQPvaAU+Pdd5B0XlR71lDw0LyMridewzGaN6H3T+vRKYkvxyZw -nrxhYSLWn4g9wcu/EWcTN23A07Oa4HSZ/wHQ/yO+Yv01OmfGHylWZNN0eb/qemv8 -wp/bFRaubeuIGz9hl4r1HM5Mn3cNjhDjIjDqzGorObUItigCHY4ZDNHOOQIDAQAB -AoGAfK4V3ANeHEznuiR4JKTOVUBEg14JyFzJp/HDEVVSdSqPLoHn6+m+E/eaajGd -2ovbNwxuUD0Rgy+9Cu90IHdjV+8i7xo/ttnzg8UDUUhT0BMuOsbEPGGABqPxXEoM -+c58smG9r30K+5ToctRlsYuH4xQvHL3fc2DHRDEwPDD+KdkCQQD3kO9D6sV9/So3 -wWLamW0AFK/spK0i1MqSdPi/gnor37WNqOxBz2MVYDmTWeDWtq9HuG2QRKCNiqGB -tAUyKSVjAkEA11ccOxGleOM+scugobGkktnCniyMJSxQijMpIDmO/S0DBH5SiTee -BywwtcadjUWn4uQGJ0CQCJo2mjsmY13OswJBAKJgPJ7WWKyXJV6mh9kLMrQP3Yeg -RzMGUMuYzyKFSO6H74O3nSZZCQsXLwxXsiICdpra+3nZmVjc6aux0Iqi9DMCQQCh -DXaAux7t/c9q/CeEJy814YWL9TdPqggGhGLyxfmqYprKJowmMiGPrb40hXpaKUl6 -CR6NBt1ygZvq1+hLEuK/AkBYJ0ikl3YHkWqSFgiw/yDsVa3CDpChLGxjlheX5gop -LKrKE8RO3rtT3CdWyI/IBWPyc0h+qCTEqUdqKW1vRYeS ------END RSA PRIVATE KEY----- ------BEGIN CERTIFICATE----- -MIICcTCCAdqgAwIBAgIBADANBgkqhkiG9w0BAQQFADBzMQswCQYDVQQGEwJTRTEO -MAwGA1UECBMFU29sbmExDTALBgNVBAcTBE1vb28xDTALBgNVBAoTBEhheHgxDjAM -BgNVBAsTBUNvb2x4MRIwEAYDVQQDEwlzdG9yZWJyb3IxEjAQBgNVBAMTCWxvY2Fs -aG9zdDAeFw0wMTA0MjAxODI2MjhaFw0wMjA0MjAxODI2MjhaMHMxCzAJBgNVBAYT -AlNFMQ4wDAYDVQQIEwVTb2xuYTENMAsGA1UEBxMETW9vbzENMAsGA1UEChMESGF4 -eDEOMAwGA1UECxMFQ29vbHgxEjAQBgNVBAMTCXN0b3JlYnJvcjESMBAGA1UEAxMJ -bG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQPvaAU+Pdd5B0 -XlR71lDw0LyMridewzGaN6H3T+vRKYkvxyZwnrxhYSLWn4g9wcu/EWcTN23A07Oa -4HSZ/wHQ/yO+Yv01OmfGHylWZNN0eb/qemv8wp/bFRaubeuIGz9hl4r1HM5Mn3cN -jhDjIjDqzGorObUItigCHY4ZDNHOOQIDAQABoxUwEzARBglghkgBhvhCAQEEBAMC -BkAwDQYJKoZIhvcNAQEEBQADgYEASTzH6Af6xmkpPGAdL/lecdkeuChfgb7tVkOE -rTzgxE5fVcW9NK79HXZ3OND2uHyu9WMieIr7QKyzfK1uskxQcY6mPApn/Z+yD1vn -TYBuyP8I+khaLKA69QzVv+5yVBR0xlAaXGwTKxNzBTXznSmshgvYt5nsmcMw2Xfg -CMkSsOU= ------END CERTIFICATE----- diff --git a/Build/source/libs/curl/tests/stunnel.pm b/Build/source/libs/curl/tests/stunnel.pm deleted file mode 100644 index d1b9d9fd9bf..00000000000 --- a/Build/source/libs/curl/tests/stunnel.pm +++ /dev/null @@ -1,11 +0,0 @@ -sub checkstunnel { - my @paths=("/usr/sbin", "/usr/local/sbin", "/sbin", "/usr/bin", - "/usr/local/bin"); - for(@paths) { - if( -x "$_/stunnel") { - return "$_/stunnel"; - } - } -} - -1; diff --git a/Build/source/libs/howto/freetype b/Build/source/libs/howto/freetype deleted file mode 100644 index 70c8d8169aa..00000000000 --- a/Build/source/libs/howto/freetype +++ /dev/null @@ -1,7 +0,0 @@ -The following files have been added: - freeetype.ac withenable.ac - -Modifications: - configure.in: - disable AM_DISABLE_STATIC - add AM_DISABLE_SHARED diff --git a/Build/source/libs/howto/freetype2 b/Build/source/libs/howto/freetype2 deleted file mode 100644 index 94fb1fa0634..00000000000 --- a/Build/source/libs/howto/freetype2 +++ /dev/null @@ -1,15 +0,0 @@ -The freetype2 directory contains Freetype 2.2.1 sources from: - - http://download.savannah.gnu.org/releases/freetype/freetype-2.2.1.tar.bz2 - -The following files have been added: - - freetype2.ac - withenable.ac - -Modifications: - - freetype2/builds/unix/configure - - edited to ignore the --srcdir argument, as this doesn't work properly - in the tex-live build - diff --git a/Build/source/libs/howto/icu-xetex b/Build/source/libs/howto/icu-xetex deleted file mode 100644 index bc749e4d8a5..00000000000 --- a/Build/source/libs/howto/icu-xetex +++ /dev/null @@ -1,9 +0,0 @@ -The icu-xetex directory contains a *MODIFIED* copy of ICU release 3.4, -used in building xetex. - -The following files have been added: - - icu-xetex.ac - withenable.ac - -See libs/icu-xetex/README for more information. diff --git a/Build/source/libs/howto/libpng b/Build/source/libs/howto/libpng deleted file mode 100644 index 39e148f8ad5..00000000000 --- a/Build/source/libs/howto/libpng +++ /dev/null @@ -1,13 +0,0 @@ -Downloading: - http://www.libpng.org/ - http://libpng.sourceforge.net/ - -libpng is the original distribution, but with added - Makefile.in libpng.ac withenable.ac - -The directories - contrib projects scripts -are not needed for teTeX and can be removed. - -libpng is configured by libs/configure, so the (original) -libs/libpng/configure is not used by teTeX. diff --git a/Build/source/libs/howto/libtiff b/Build/source/libs/howto/libtiff deleted file mode 100644 index 9745e486efb..00000000000 --- a/Build/source/libs/howto/libtiff +++ /dev/null @@ -1,23 +0,0 @@ -Downloading: - http://www.libtiff.org/ - http://freshmeat.net/projects/libtiff/ - -Which files are in libtiff: - from the original distribution: - COPYRIGHT RELEASE-DATE VERSION libtiff/* dist/tiff.alpha - - added for teTeX: - acconfig.h aclocal.m4 configure.in libtiff.ac withenable.ac port.h - Makefile.in (replacing the original file) - added for fpTeX: - win32 win32.mak - -Generated files: - the commands - autoheader -m ../../texk/etc/autoconf - autoconf -m ../../texk/etc/autoconf - have generated - c-auto.in configure - - by make depend: - depend.mak diff --git a/Build/source/libs/howto/ncurses b/Build/source/libs/howto/ncurses deleted file mode 100644 index beb1b9c1efb..00000000000 --- a/Build/source/libs/howto/ncurses +++ /dev/null @@ -1,48 +0,0 @@ -Downloading: - http://www.gnu.org/software/ncurses/ncurses.html - ftp://ftp.gnu.org/pub/gnu/ncurses/ - ftp://dickey.his.com/ncurses/ - -The ncurses directory contains the original distribution except: - Ada95 c++ doc form menu misc panel progs tack test - -The following files have been added: - ncurses.ac withenable.ac - -Modifications: - Makefile.in: - remove install from the list in the end. Create an empty install:: - target somewhere earlier in the file. - - protect "test ... || ..." in Makefile.in with - - - aclocal.m4, remove the following lines (thus disabling misc test - c++ subdirs): - SRC_SUBDIRS="$SRC_SUBDIRS test" - test -z "$MAKE_TERMINFO" && SRC_SUBDIRS="$SRC_SUBDIRS misc" - test "$cf_with_cxx_binding" != no && SRC_SUBDIRS="$SRC_SUBDIRS c++" - - include/Makefile.in - add symlink to AUTO_SRC variable - add a rule - symlink: - @test -d ncurses || ln -s . ncurses - add the line - -rm -f ncurses - to the clean:: target - - configure.in: - remove that ldconfig stuff - remove that cxx stuff - remove that ada stuff - cf_with_progs=no (instead of yes) - remove the line - modules_to_build="$modules_to_build panel menu form" - with_debug=no (instead of yes) - move one line below (after CF_DIRS_TO_MAKE): - CF_SRC_MODULES($modules_to_build) - remove the line - test "$use_database" = yes && SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in" - -Run autoconf with version 2.52.20011227. Patch available at - http://invisible-island.net/autoconf/ diff --git a/Build/source/libs/howto/ncurses-fix b/Build/source/libs/howto/ncurses-fix deleted file mode 100755 index 432797e93b7..00000000000 --- a/Build/source/libs/howto/ncurses-fix +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -mv aclocal.m4 aclocal.m4-$$ -sed \ - -e "s/: .{BUILD_\(.*\):='\(.*\)'}/: \${BUILD_\1=\`echo '\2'\`}/" \ - -e "s/\`echo ''\`//" < aclocal.m4-$$ > aclocal.m4 -rm -f aclocal.m4-$$ diff --git a/Build/source/libs/howto/t1lib b/Build/source/libs/howto/t1lib deleted file mode 100644 index d99ef1c278e..00000000000 --- a/Build/source/libs/howto/t1lib +++ /dev/null @@ -1,2 +0,0 @@ -Downloading: - ftp://sunsite.unc.edu/pub/Linux/libs/graphics/t1lib-5.0.2.tar.gz diff --git a/Build/source/libs/howto/teckit b/Build/source/libs/howto/teckit deleted file mode 100644 index 1c2497b21af..00000000000 --- a/Build/source/libs/howto/teckit +++ /dev/null @@ -1,13 +0,0 @@ -The teckit directory contains the source of the TECkit (Text Encoding Conversion -toolkit) library and tools. See http://scripts.sil.org/teckit. - -The TECkit library is needed to build xetex. - -The subtrees teckit/source/teckitjni and teckit/perl_binaries have been removed -as these are not relevant to building xetex or using the basic TECkit library. -The copy of zlib source code found in the teckit tree has also been removed. - -The following files have been added: - - teckit.ac - withenable.ac (currently empty) diff --git a/Build/source/libs/howto/xpdf b/Build/source/libs/howto/xpdf deleted file mode 100644 index b5fc337f6f3..00000000000 --- a/Build/source/libs/howto/xpdf +++ /dev/null @@ -1,15 +0,0 @@ -Downloading: - http://www.foolabs.com/xpdf/download.html - -Files in xpdf directory: - the files of the xpdf distribution, except - ltk misc/hello.pdf - -Replaced files: - Makefile.in - configure.in - xpdf/Makefile.in - goo/Makefile.in - -Added files: - libxpdf.ac diff --git a/Build/source/libs/howto/zlib b/Build/source/libs/howto/zlib deleted file mode 100644 index acf52047724..00000000000 --- a/Build/source/libs/howto/zlib +++ /dev/null @@ -1,22 +0,0 @@ -Downloading: - http://www.gzip.org/zlib/ - -Files in zlib: - From the distribution: - everything, except: - INDEX Make_vms.com Makefile Makefile.riscos algorithm.txt amiga - configure descrip.mms msdos nt os2 zlib.html - - Replaced file: - Makefile.in - - Added for teTeX: - withenable.ac zlib.ac - - Added for fpTeX: - win32.mak - contrib/minizip/win32.mak - contrib/untgz/win32.mak - - Automatically generated: - depend.mak |