Commit Graph

564 Commits

Author SHA1 Message Date
Yang Tse
b772f3a321 configure: get API info for a couple of OpenSSL functions 2011-06-06 20:47:36 +02:00
Yang Tse
10a7d05be3 unit tests: disable unit tests for a given cross-compilation configuration.
cross-compilation of unit tests static library/programs fails when
libcurl shared library is also built. This might be due to a libtool or
automake issue. In this case we disable unit tests.
2011-06-03 20:08:00 +02:00
Yang Tse
910d7953aa unit tests: make unit tests building actually depend on --enable-debug option. 2011-06-02 17:02:46 +02:00
Yang Tse
aa76dec33a unit tests: more build adjustments 2011-06-01 21:40:09 +02:00
Daniel Stenberg
a87102c792 configure.ac: skip /dev/urandom check when cross-compiling
Bug: http://curl.haxx.se/bug/view.cgi?id=3307835
2011-05-30 11:59:13 +02:00
Daniel Stenberg
c33aee1667 treaded-resolver: better error messages
Now use gai_strerror() to get proper error messages when getaddrinfo()
has failed. Detect the function in configure.

Code based on work and suggestions by Jeff Pohlmeyer and Guenter Knauf
2011-04-28 15:25:03 +02:00
Daniel Stenberg
fde795894f configure: libssh2 link fix without pkg-config
The script didn't properly add the -lssh2 link option when it enabled
libssh2 linking where pkg-config isn't found.

Reported by: Saqib Ali
Bug: http://curl.haxx.se/mail/lib-2011-04/0054.html
2011-04-12 22:10:29 +02:00
Daniel Stenberg
ee4c1206de libcurl.pc: version number fix
This hasn't show the version number correctly since the $VERSION change
in the configure, and now it works again.
2011-04-06 12:09:27 +02:00
Dan Fandrich
6eb484942b Don't list NTLM in curl-config when HTTP is disabled
Also, fixed Curl_proxyCONNECT() stub with HTTP disabled.
2011-04-05 22:29:21 -07:00
Yang Tse
4913a08cb6 configure: fix libtool warning 2011-03-27 04:36:14 +02:00
Peter Sylvester
2531cd94a5 TSL-SRP: enabled with OpenSSL
If a new enough OpenSSL version is used, configure detects the TLS-SRP
support and enables it.
2011-03-25 23:09:28 +01:00
Daniel Stenberg
0355e33b5f configure: avoid $VERSION
To reduce the risk of variable name conflicts, use CURLVERSION instead
of VERSION.
2011-03-20 19:32:54 +01:00
Daniel Stenberg
511f491cf2 configure: stop using the deprecated AM_INIT_AUTOMAKE syntax 2011-03-15 11:27:44 +01:00
Daniel Stenberg
c40ae2cbd2 configure: removed wrongly claimed default paths
Several --with-XXX options claimed the wrong default path in their help
outputs.

Reported by: Vincent Torri
2011-03-14 10:42:15 +01:00
Daniel Stenberg
8a26a8d833 configure: update the copyright year in the output 2011-03-09 23:05:44 +01:00
Todd A Ouska
9e60d8fd9e SSL: (part 2) Added CyaSSL to SSL abstraction layer
This is the modified existing files commit.
2011-03-08 13:54:58 +01:00
Daniel Stenberg
4ba3d8bd00 configure: TLS-SRP wasn't added as a feature
Test case 1014 failed since TLS-SRP was correctly set to the features
variable so curl-config --features didn't output it.
2011-01-19 21:27:06 +01:00
Quinn Slack
59cf93ccdb TLS-SRP: support added when using GnuTLS 2011-01-19 20:35:02 +01:00
Daniel Stenberg
35e1d6538a unittest: framework for unit-testing
This is the first approach at doing fairly clean and easy to write and
debug unit tests.
2011-01-03 19:38:10 +01:00
Yang Tse
15aeb94f3f test harness: take in account that Windows does not support LD_PRELOAD
configure.ac: Test harness libhostname library will not be built for Windows.

runtests.pl: LD_PRELOAD mechanism will not be used to load libhostname
library on operating systems which lack LD_PRELOAD support.
2010-12-28 16:52:20 +01:00
Daniel Stenberg
68b2a9818b configure: make --with-axtls set prefix
In tradition with other options, have this point to the directory prefix
and not the lib directory. Otherwise we can't set the include path
reliably.
2010-12-15 16:05:17 +01:00
Eric Hu
6761cf49f2 Simple update to configure script to notify user of --with-axtls switch. 2010-12-15 16:05:17 +01:00
Eric Hu
108d7693a4 Preparing for axTLS. Actual SSL API functions are only stubbed.
Added axTLS to autotool files and glue code to misc other files.
axtls.h maps SSL API functions, but may change.
axtls.c is just a stub file and will definitely change.
2010-12-15 16:05:17 +01:00
Yang Tse
ef24ecde68 symbol-scan: use configure script knowledge about how to run the C preprocessor 2010-11-25 21:05:20 +01:00
Julien Chaffraix
5046dd02b9 configure: Prevent link errors with --librtmp.
If --librtmp was specified but pkg-config could not find the librtmp
file, we would have undefined symbols when linking curl.

We prevent this error by disabling this case as suggested on the mailing
list.
2010-11-17 21:16:45 -08:00
Yang Tse
465865c3cb configure: fix autoconf 2.68 warning: no AC_LANG_SOURCE call detected in body 2010-11-13 04:15:48 +01:00
Yang Tse
2b2ac9068e configure: remove temporary autobuilds exercising of xattr function tests 2010-11-11 12:11:19 +01:00
Yang Tse
890425ecd7 configure: use autobuilds to temporarily exercise xattr function tests 2010-11-10 19:05:18 +01:00
Stefan Tomanek
f1db21218b write extended attributes by using fsetxattr
Instead of reopening the downloaded file, fsetxattr uses the (already
open) file descriptor to attach extended attributes. This makes the
procedure more robust against errors caused by moved or deleted files.
2010-11-10 10:43:05 +01:00
Daniel Stenberg
95719fbea6 xattr: add configure check and #ifdefs
setxattr is a glibc call to set extended attributes, so configure now
checks for it and the code is adapted to only build when the
functionality is present.
2010-11-05 14:07:38 +01:00
Daniel Stenberg
e214cd4a73 SSH: use libssh2_session_handshake()
In libssh2 1.2.8, libssh2_session_handshake() replaces
libssh2_session_startup() to fix the previous portability problem with
the socket type that was too small for win64 and thus easily could cause
crashes and more.
2010-10-20 23:31:34 +02:00
Julien Chaffraix
e4128f90ba configure: Fix the LDAPS disable message
... for example when LDAP is not compiled.

Fixed the logic to match the rest of the options' message that is we
update the default message only if the option is not disabled after the
different checks.

Reported by: Guenter Knauf
2010-09-22 23:14:55 +02:00
Daniel Stenberg
5fcc4332d6 configure: don't enable RTMP if the lib detect fails
librtmp is often statically linked and using sub dependencies like
OpenSSL, so we need to make sure we can actually link with it properly
before enabling it. Otherwise we easily end up trying to link with a
RTMP lib that fails.
2010-09-20 23:56:51 +02:00
Daniel Stenberg
f3df524b62 configure: check for gcrypt if using GnuTLS
1 - libcurl assumes that there are gcrypt functions available when
GnuTLS is.

2 - GnuTLS can be built to use libnettle instead as crypto library,
which breaks assumption (1)

This change makes configure make sure that if GnuTLS is requested and
detected, it also makes sure that gcrypt is present or it errors
out. This is mostly a way to make the user more aware of this flaw, the
correct fix would be to detect which crypto layer that is in use and
adapt our code to use that instead of blindly assuming gcrypt.

Reported by: Michal Gorny
Bug: http://curl.haxx.se/bug/view.cgi?id=3071038
2010-09-20 23:19:07 +02:00
Peter Pentchev
5393f08df8 Fix a bashism: test a = b is more portable than ==. 2010-09-12 23:11:47 +02:00
Cameron Kaiser
201637d468 Gopher protocol support (initial release) 2010-08-25 14:19:58 +02:00
Kamil Dudka
d0dea8f869 AC_INIT: avoid a warning with autoconf 2.66
It was complaining about the '=>' operator, introduced in e3fc0d5.
2010-08-19 16:43:40 +02:00
Yang Tse
cfbdbf9783 build: fix previous push 2010-08-09 13:06:27 +02:00
Yang Tse
b24e872502 build: don't build libhostname unless shared libcurl is built 2010-08-09 09:33:53 +02:00
Yang Tse
50a1d5ee1c build: libhostname and chkhostname linkage adjustments followup 2010-08-09 05:45:11 +02:00
Daniel Stenberg
f8cf037ecf SCP: send large files properly with new enough libssh2
libssh2 1.2.6 and later handle >32bit file sizes properly even on 32bit
architectures and we make sure to use that ability.

Reported by: Mikael Johansson
Bug: http://curl.haxx.se/mail/lib-2010-08/0052.html
2010-08-04 18:29:13 +02:00
Daniel Stenberg
a13128596c curl-config: --built-shared returns shared info
The curl-config now features a --built-shared command line option that
will output 'yes' or 'no' depending if the build process was asked to
build shared library/libraries or not.

It is primarily made to offer more details to the test suite to know
what kind of stunts it can expect to work.
2010-07-25 17:48:07 +02:00
Ben Greear
d6981cb508 build: Enable configure --enable-werror
This passes -Werror to gcc when building curl and libcurl,
  allowing easy dection of compile warnings.

Signed-off-by: Ben Greear <greearb@candelatech.com>
2010-07-21 21:29:47 +02:00
Daniel Stenberg
157e6d4e7e configure: document the STATICLIB variable 2010-07-12 23:40:16 +02:00
Daniel Stenberg
241b704e1f configure: allow environments variable to override internals
configure checks for grep, egrep, sed and ar and set the variables GREP,
EGREP, SED and AR accordingly. We now let already set variables override
the internal choices to let users make decisions when they know the
right choice already. This is a regression as our configure script used
to allow this back before commit 0b57c475 (up to 7.18.2).

Reported by: "kdekker"
Bug: http://curl.haxx.se/bug/view.cgi?id=3028318
2010-07-12 18:45:21 +02:00
Kamil Dudka
f3b77e5611 http_ntlm: add support for NSS
When configured with '--without-ssl --with-nss', NTLM authentication
now uses NSS crypto library for MD5 and DES.  For MD4 we have a local
implementation in that case.  More details are available at
https://bugzilla.redhat.com/603783

In order to get it working, curl_global_init() must be called with
CURL_GLOBAL_SSL or CURL_GLOBAL_ALL.  That's necessary because NSS needs
to be initialized globally and we do so only when the NSS library is
actually required by protocol.  The mentioned call of curl_global_init()
is responsible for creating of the initialization mutex.

There was also slightly changed the NSS initialization scenario, in
particular, loading of the NSS PEM module.  It used to be loaded always
right after the NSS library was initialized.  Now the library is
initialized as soon as any SSL or NTLM is required, while the PEM module
is prevented from being loaded until the SSL is actually required.
2010-06-30 13:12:25 +02:00
Yang Tse
43d20d81a5 Enable OpenLDAP support for cygwin builds.
Enable OpenLDAP support for cygwin builds. This support was disabled back
in 2008 due to incompatibilities between OpenSSL and OpenLDAP headers.
cygwin's OpenSSL 0.9.8l and OpenLDAP 2.3.43 versions on cygwin 1.5.25
allow building an OpenLDAP enabled libcurl supporting back to Windows 95.

Remove non-functional CURL_LDAP_HYBRID code and references.
2010-06-04 15:14:31 +02:00
Yang Tse
e1c2c9be1a fix ldaps option issue 2010-06-01 21:26:19 +02:00
Yang Tse
89da532445 fix ldap related compilation issues 2010-06-01 17:25:03 +02:00
Howard Chu
b1c1b9bb76 LDAPS: list availability depending on SSL's presence 2010-05-28 12:23:28 +02:00
Howard Chu
2e056353b0 LDAP: properly implemented as a curl_handler
makes the LDAP code much cleaner, nicer and in general being a
better libcurl citizen. If a new enough OpenLDAP version is
detect, the new and shiny lib/openldap.c code is then used
instead of the old cruft

Code by Howard, minor cleanups by Daniel.
2010-05-25 00:44:42 +02:00
Howard Chu
027ceb37a1 RMTP: the version code is now rtmp aware 2010-05-15 22:13:17 +02:00
Hoi-Ho Chan
83305cbf9f Remove support for BSD version of PolarSSL
"The BSD version of PolarSSL was made for migratory purposes only and is not
maintained. The GPL version of PolarSSL is actually the only actively
developed version, so I would be very reluctant to use the BSD version." /
Paul Bakker, PolarSSL hacker.

Signed-off-by: Hoi-Ho Chan <hoiho.chan@gmail.com>
2010-05-13 21:50:52 +02:00
Howard Chu
04cb15ae9d RTMP: initial support added, powered by librtmp
librtmp is found at http://rtmpdump.mplayerhq.hu/
2010-05-12 23:07:20 +02:00
Hoi-Ho Chan
51427e1947 PolarSSL: initial support added
This is Hoi-Ho Chan's patch with some minor fixes by me. There
are some potential issues in this, but none worse than we can
sort out on the list and over time.
2010-05-05 22:30:46 +02:00
Daniel Stenberg
79dc74e84d new configure option --enable-threaded-resolver 2010-04-25 23:24:05 +02:00
Daniel Stenberg
6be508dcc2 configure: check for libssh2_init and libssh2_exit 2010-04-25 23:06:41 +02:00
Paul Howarth
cca192e58f configure: GSSAPI detection on ancient Linux distros
On some ancient distributions such as RHEL-3, <gssapi/gssapi_krb5.h> needs
to be processed after <gssapi/gssapi.h>, but does not include it itself.
This patch checks for <gssapi/gssapi.h> first and then includes it
in the test for <gssapi/gssapi_krb5.h>, resolving the problem.

Without the patch, <gssapi/gssapi_krb5.h> is "present but cannot be
compiled".
2010-04-16 15:09:32 +02:00
Daniel Stenberg
a681d46c1b update the generic copyright year range 2010-03-31 23:55:57 +02:00
Daniel Stenberg
2309b4e330 remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
Daniel Stenberg
f5d8c0befc Daniel Johnson provided fixes for building with the clang compiler 2010-03-05 22:53:30 +00:00
Daniel Stenberg
013d5a72d4 - [Daniel Johnson] I've been trying to build libcurl with clang on Darwin and
ran into some issues with the GSSAPI tests in configure.ac. The tests first
  try to determine the include dirs and libs and set CPPFLAGS and LIBS
  accordingly. It then checks for the headers and finally sets LIBS a second
  time, causing the libs to be included twice. The first setting of LIBS seems
  redundant and should be left out, since the first part is otherwise just
  about finding headers.

  My second issue is that 'krb5-config --libs gssapi' on Darwin is less than
  useless and returns junk that, while it happens to work with gcc, causes
  clang to choke. For example, --libs returns $CFLAGS along with the libs,
  which is really retarded. Simply setting 'LIBS="$LIBS -lgssapi_krb5
  -lresolv"' on Darwin is sufficient.
2010-03-02 22:02:56 +00:00
Yang Tse
8044366134 Added size check for 'short' data type 2010-02-04 14:40:11 +00:00
Yang Tse
22ed0f5059 minor fixes for --enable-ares configure option 2010-01-26 15:07:40 +00:00
Yang Tse
4a8a731476 adjust rtsp protocol support in curl-config and libcurl.pc when http is disabled 2010-01-22 16:38:32 +00:00
Daniel Stenberg
c047fe8e90 In spite claiming to tbe disabled by default, RTSP is enabled and it now
also says so. I also made the list of protocols get sorted.
2010-01-22 12:52:35 +00:00
Daniel Stenberg
bc4582b68a Chris Conroy brought support for RTSP transfers, and with it comes 8(!) new
libcurl options for controlling what to get and how to receive posssibly
interleaved RTP data. Initial commit.
2010-01-21 13:58:30 +00:00
Kamil Dudka
383bf1e476 - Suppressed side effect of OpenSSL configure checks, which prevented NSS from
being properly detected under certain circumstances. It had been caused by
  strange behavior of pkg-config when handling PKG_CONFIG_LIBDIR. pkg-config
  distinguishes among empty and non-existent environment variable in that case.
2010-01-14 01:37:55 +00:00
Kamil Dudka
4344215309 remove trailing spaces from configure.ac 2010-01-13 01:13:23 +00:00
Daniel Stenberg
10a11e3abe - David Byron fixed Curl_ossl_cleanup to actually call ENGINE_cleanup when
available.
2009-12-17 13:29:41 +00:00
Daniel Stenberg
19b8a80ee9 might as well output all supported protocols at the end of configure to
make it more obvious how the output will be
2009-12-12 22:39:29 +00:00
Daniel Stenberg
30eb452adf show POP3S, IMAPS and SMTPS as protocols if SSL is enabled 2009-12-12 22:33:18 +00:00
Daniel Stenberg
92b9b46831 support disabling POP3, IMAP and SMTP and now they also appear in curl-config
--protocols output
2009-12-12 22:31:00 +00:00
Yang Tse
19f79e5a79 When using icc, compile with -fpic and link with intel dynamic libraries. 2009-11-24 16:12:22 +00:00
Yang Tse
f9e55c9908 Make configure remove the curlbuild.h file included in distribution tarballs
for use by non-configure systems. As intended, configure would overwrite the
distributed one when doing in-tree builds. But VPATH builds would end having
two curlbuild.h files, one in the source tree and another in the build tree.
2009-11-22 05:31:57 +00:00
Kamil Dudka
530fde3a22 - David Byron improved the configure script to use pkg-config to find OpenSSL
(and in particular the list of required libraries) even if a path is given
  as argument to --with-ssl
2009-11-15 15:23:43 +00:00
Yang Tse
581ce03345 Remove enable-thread / disable-thread configure option. These were only placebo
options. The library is always built as thread safe as possible on every system.
2009-11-15 02:45:23 +00:00
Claes Jakobsson
f7f76e17c3 Added '--configure' option to curl-config to display original configure arguments when curl was built 2009-11-14 19:23:26 +00:00
Yang Tse
1cbc93fb54 Refactor how preprocessor symbol _THREAD_SAFE definition is done. 2009-11-14 18:51:37 +00:00
Daniel Stenberg
eb16c0e1eb - Claes Jakobsson restored the configure functionality to detect NSS when
--with-nss is set but not "yes".

  I think we can still improve that to check for pkg-config in that path etc,
  but at least this patch brings back the same functionality we had before.
2009-11-14 09:13:47 +00:00
Yang Tse
9fced16efb libssh2 detection changes mentioned in http://curl.haxx.se/mail/lib-2009-10/0343.html 2009-10-28 00:33:28 +00:00
Yang Tse
21af9bf1cd Fix spelling 2009-10-27 16:56:20 +00:00
Daniel Stenberg
1951cd1eee - Attempt to use pkg-config for finding out libssh2 installation details
during configure.
2009-10-21 14:56:25 +00:00
Yang Tse
f49427d364 Use *_CHECK_PATH_SEPARATOR_REQUIRED to ensure that *_CHECK_PATH_SEPARATOR
is only expanded and included once in the configure script.
2009-10-19 04:13:12 +00:00
Yang Tse
6d4e6cc813 Check for basename() is now done the same as other function checks 2009-10-18 03:37:39 +00:00
Yang Tse
b64dd3c63d Added check for memrchr function or macro 2009-09-28 12:16:29 +00:00
Dan Fandrich
62ed553054 Moved the libssh2 checks after the SSL library checks. This helps when
statically linking since libssh2 needs the SSL library link flags to be
set up already to satisfy its dependencies. This wouldn't be necessary
if the libssh2 configure check was changed to use pkg-config since the
--static flag would add the dependencies automatically.
2009-09-16 03:19:39 +00:00
Gunter Knauf
223c0b980b added --with-nss to configure output. 2009-09-04 17:46:59 +00:00
Daniel Stenberg
ddb1fb7535 a failed libssh2 check must not pollute the variables 2009-09-01 08:39:39 +00:00
Daniel Stenberg
ceda7e98f8 - configure now tries to use pkg-config for a number of sub-dependencies even
when cross-compiling. The key to success is then you properly setup
  PKG_CONFIG_PATH before invoking configure.

  I also improved how NSS is detected by trying nss-config if pkg-config isn't
  present, and as a last resort just use the lib name and force the user to
  setup the LIBS/LDFLAGS/CFLAGS etc properly. The previous last resort would
  add a range of various libs that would almost never be quite correct.
2009-09-01 06:53:01 +00:00
Daniel Stenberg
0cb6f3053f - Marc de Bruin pointed out that configure --with-gnutls=PATH didn't work
properly and provided a fix. http://curl.haxx.se/bug/view.cgi?id=2843008
2009-08-24 11:38:59 +00:00
Gunter Knauf
f671d0513c renamed generated config.h to curl_config.h in order to avoid clashes when libcurl is used with other projects which also have a config.h. 2009-07-14 13:25:14 +00:00
Daniel Stenberg
966cc10fcc bring back the libgnutls-config use for checking for GnuTLS if pkg-config
doesn't work, to better fine older gnutls installs
2009-07-09 18:10:25 +00:00
Yang Tse
1ff4e9008b Refactor how libraries are checked for connect() function,
and check for connect() as it is done for other functions.
2009-06-20 17:24:43 +00:00
Yang Tse
d6d63147b6 add CloseSocket camel case function check 2009-06-18 12:36:10 +00:00
Yang Tse
37eba37019 socket() and closesocket() prototypes might be in socket.h 2009-06-17 12:51:24 +00:00
Yang Tse
40b2f2553b check for socket() and closesocket() as it is done for other functions 2009-06-17 09:12:19 +00:00
Yang Tse
065047dc62 Added --enable-curldebug configure option to enable and disable building
with the low-level curl debug memory tracking 'feature' to allow decoupled
setting from --enable-debug.
2009-06-09 17:59:28 +00:00
Daniel Stenberg
f90551ff41 - Triggered by bug report #2798852 and the patch in there, I fixed configure
to detect gnutls build options with pkg-config only and not libgnutls-config
  anymore since GnuTLS has stopped distributing that tool. If an explicit path
  is given to configure, we will instead guess on how to link and use that
  lib. I did not use the patch from the bug report.
2009-06-08 21:12:59 +00:00
Yang Tse
8d581f7fe4 Revert delegating c-ares linking magic on libtool and auto-makefiles when using
the uninstalled c-ares libtool archive built from the CVS embedded tree.

This embedded c-ares linking is again handled from the configure script.
2009-06-06 13:20:39 +00:00