1
0
mirror of https://github.com/moparisthebest/curl synced 2024-11-16 06:25:03 -05:00
Commit Graph

307 Commits

Author SHA1 Message Date
Daniel Stenberg
7b074a460b CURL_CHECK_CA_BUNDLE: don't check for paths when cross-compiling
When cross-compiling we can't scan and detect existing files or paths.

Bug: http://curl.haxx.se/mail/lib-2013-04/0294.html
2013-04-18 23:37:56 +02:00
Daniel Stenberg
32144ca241 configure: remove CURL_CHECK_FUNC_RECVFROM
1 - We don't use the results from the test and we never did. recvfrom()
is only used by the TFTP code and it has not caused any problems.

2 - the CURL_CHECK_FUNC_RECVFROM function is extremely slow
2013-04-08 22:22:43 +02:00
Colin Watson
c07a6f3ff3 configure: fix cross pkg-config detection
When cross-compiling, CURL_CHECK_PKGCONFIG was checking for the cross
pkg-config using ${host}-pkg-config.

The gold standard for doing this correctly is pkg-config's own macro,
PKG_PROG_PKG_CONFIG.  However, on the assumption that you have a good
reason not to use that directly (reduced dependencies for maintainer
builds?), the behaviour of cURL's version should at least match.
PKG_PROG_PKG_CONFIG uses AC_PATH_TOOL, which ultimately ends up trying
${host_alias}-pkg-config; this is not quite the same as what cURL does,
and may differ because ${host} has been run through config.sub.  For
instance, when cross-building to the armhf architecture on Ubuntu,
${host_alias} is arm-linux-gnueabihf while ${host} is
arm-unknown-linux-gnueabihf.  This may also have been the cause of the
problem reported at http://curl.haxx.se/mail/lib-2012-04/0224.html.

AC_PATH_TOOL is significantly simpler than cURL's current code, and
dates back to well before the current minimum of Autoconf 2.57, so let's
use it instead.
2012-12-08 22:10:02 +01:00
Yang Tse
068f7ae264 build: prevent global LIBS from influencing src and lib build targets
Currently, LIBS is already used through other macros.
2012-12-03 22:41:18 +01:00
Yang Tse
16a8281f71 build: avoid linkage of directly unused libraries 2012-11-28 18:31:23 +01:00
Yang Tse
665adcd4b7 build: fix AIX compilation and usage
AIX sys/poll.h header file defines 'events' and 'revents' as C
preprocessor macros. Usage of these literals in libcurl's external
API was introduced in commit de24d7bd4c causing AIX build failures.
Appropriate inclusion of sys/poll.h by libcurl's external interface
fixes AIX build and usage issues while avoiding a SONAME bump.
2012-11-23 17:57:00 +01:00
Yang Tse
38ae6ec1a2 configure: NATIVE_WINDOWS no longer defined in config files 2012-04-12 13:08:48 +02:00
Albert Chin
a2d4a98ddd configure - m4: make CURL_CHECK_DEF ignore leading whitespace on symbol def
When using Sun C compiler the preprocessor somehow inserts an extra space
in front of replaced symbol, breaking CURL_CHECK_DEF macro. To workaround
this, macro CURL_CHECK_DEF now ignores all leading whitespace in front of
symbol substitution result.
2011-09-27 22:01:58 +02:00
Yang Tse
0126b4a959 configure: avoid direct usage of AS_TR_* macros 2011-06-17 21:01:41 +02:00
Yang Tse
e8d73c9c2d configure: fix recvfrom 5th arg type qualifier detection (followup) 2011-06-08 15:57:36 +02:00
Yang Tse
8a3c0fe56c configure: fix recvfrom 5th arg type qualifier detection 2011-06-08 13:37:35 +02:00
Manuel Massing
c042340b2a CURL_CHECK_FUNC_RECVFROM: android/bionic fix
recvfrom in bionic (the android libc) deviates from POSIX and uses a
const in the 5th argument ("const struct sockaddr *") so the check now
tests for that as well.
2011-03-12 23:38:10 +01:00
Guenter Knauf
7fcbdd68b9 Fixed configure define for Win32.
Submitted by Vincent Torri.
2011-01-18 15:04:53 +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
Dan Fandrich
8e2f16e66f Link curl and the test apps with -lrt explicitly when necessary
When curl calls a function from that library then it needs to
explicitly link to the library instead of piggybacking on
libcurl's own dependency.  Without this, GNU ld with the
--no-add-needed flag fails when linking (which Fedora now does
by default).

Reported by: Quanah Gibson-Mount
Bug: http://curl.haxx.se/mail/lib-2010-09/0085.html
2010-09-11 17:08:23 -07:00
Daniel Stenberg
2309b4e330 remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
Yang Tse
a07bc79117 removed trailing whitespace 2010-02-14 19:40:18 +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
Daniel Stenberg
e47c939822 extended CURL_CHECK_PKGCONFIG to check for a host-specific version of the
pkg-config first before the "normal" one (if cross-compiling)
2009-09-02 17:48:26 +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
Yang Tse
e96a9190a3 Refactor how libraries are checked for connect() function, follow-up. 2009-06-21 02:42:34 +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
61a967095d John E. Malmberg noticed that the configure script was failing to detect the
timeval struct on VMS when building with _XOPEN_SOURCE_EXTENDED undefined due
to definition taking place in socket.h instead of time.h
2009-06-01 09:19:16 +00:00
Yang Tse
3ae470eedf Fix preprocessor conditional expression 2009-05-15 01:08:17 +00:00
Yang Tse
7a928b40f3 Proper naming for the experimental compiler test and moved to *-compilers.m4 2009-05-07 13:58:15 +00:00
Yang Tse
cfda3e6a48 Moved *_CHECK_COMPILER_HALT_ON_ERROR and *_CHECK_COMPILER_ARRAY_SIZE_NEGATIVE to *-compilers.m4 along with other *_CHECK_COMPILER_* 2009-05-07 11:06:48 +00:00
Yang Tse
afe06b48d6 Use autobuilds to verify if a couple of experimental compiler tests pass on all of them.
This will be removed in 24 or 48 hours.
2009-05-06 18:37:24 +00:00
Yang Tse
4dbc7850bd HP-UX's X/Open network library requirement check follow-up 2009-05-03 19:41:12 +00:00
Yang Tse
9b4253fe67 HP-UX's X/Open network library requirement check follow-up 2009-05-03 17:35:44 +00:00
Yang Tse
9137e717b0 Use build-time configured curl_socklen_t instead of socklen_t 2009-05-02 02:37:32 +00:00
Yang Tse
8469db016d Check definition of _XOPEN_SOURCE_EXTENDED with the compiler 2009-05-01 02:03:42 +00:00
Yang Tse
256489639c Rearrange placement inside file of CURL_DEFINE_UNQUOTED, CURL_CONFIGURE_LONG
and CURL_CONFIGURE_CURL_SOCKLEN_T to ease future maintainance.
2009-04-28 10:37:06 +00:00
Yang Tse
e323abe5d9 Moved CURL_INCLUDES_INTTYPES to curl-functions.m4 along with other CURL_INCLUDES_* 2009-04-28 10:27:04 +00:00
Yang Tse
afc00b08d7 Remove temporary debug tracing for curl_socklen_t detection failures 2009-04-28 09:40:12 +00:00
Yang Tse
217f7a7ea7 Take 2 at handling getpeername() prototypes with a void pointer for third argument 2009-04-27 14:08:24 +00:00
Yang Tse
317d351423 Attempt to handle getpeername() prototypes with a void pointer for third argument 2009-04-27 12:41:05 +00:00
Yang Tse
f4d8728df9 Add temporary debug tracing for curl_socklen_t detection failures 2009-04-27 10:13:23 +00:00
Yang Tse
1e5ed4fa33 Rearrange curl_socklen_t tests to improve speed of usual results 2009-04-27 00:17:11 +00:00
Yang Tse
0daeab3b8d Initial step towards a configure time curl_socklen_t definition 2009-04-26 18:51:03 +00:00
Yang Tse
9770899a4b Moved potential inclusion of system's malloc.h and memory.h header files to
setup_once.h.  Inclusion of each header file is based on the definition of
NEED_MALLOC_H and NEED_MEMORY_H respectively.
2009-04-21 10:26:58 +00:00
Daniel Stenberg
b9fdc0c251 - Based on bug report #2498665 (http://curl.haxx.se/bug/view.cgi?id=2498665)
by Daniel Black, I've now added magic to the configure script that makes it
  use pkg-config to detect gnutls details as well if the existing method
  (using libgnutls-config) fails. While doing this, I cleaned up and unified
  the pkg-config usage when detecting openssl and nss as well.
2009-01-11 23:41:50 +00:00
Dan Fandrich
c4f4fa4089 Automatically detect OpenBSD's CA cert bundle. 2008-11-21 06:36:21 +00:00
Yang Tse
17d2a464ad Refactor configure script detection of functions used to set sockets into
non-blocking mode, and decouple function detection from function capability.
2008-11-13 18:56:55 +00:00
Yang Tse
0989cd358a Initial attempt to detect at configuration time if the getaddrinfo()
function returns an addrinfo with an unfreeable ai_addr member ptr.
2008-10-28 19:13:25 +00:00
Yang Tse
0abaf22467 #include <stdlib.h> for exit() prototype 2008-10-23 00:38:23 +00:00
Yang Tse
2245ac2f88 Initial attempt to support configure's --(dis|en)able-warnings
option to specify dis(activation) of picky compiler warnings.

If option is specified, it will be honored independant of the
--(dis|en)able-debug option.

If option is not specified, it will follow --(dis|en)able-debug
setting, whose default is disabled if not specified.
2008-10-02 03:56:55 +00:00
Yang Tse
4aee6822ca now compiler warnings are activated for all gcc builds, not only debug ones. 2008-09-30 12:39:54 +00:00
Yang Tse
4e909ee8b1 ntoa() and inet_ntoa_r() no longer used 2008-09-24 12:22:16 +00:00
Yang Tse
a8323cc3f5 icc adjustments 2008-09-18 13:56:56 +00:00
Yang Tse
d84440d53b improve detection of gethostbyaddr_r() and gethostbyname_r() 2008-09-17 16:03:49 +00:00
Yang Tse
d7e406e020 improve detection of gethostname(), localtime_r() and strstr() 2008-09-17 08:14:28 +00:00
Yang Tse
b93ad10fa5 improve detection of fdopen() and strerror_r() 2008-09-12 01:16:26 +00:00
Yang Tse
3072c5b8a1 icc adjustments 2008-09-09 12:19:16 +00:00
Dan Fandrich
304537c24f Search for the FreeBSD CA cert file /usr/local/share/certs/ca-root.crt 2008-09-03 18:04:47 +00:00
Yang Tse
f9894f4ebc Don't abort configuration if recvfrom() is not available. 2008-08-27 00:25:02 +00:00
Yang Tse
fef60d9d41 Added check and symbol definition for WIN32 file API usage in configure,
supporting configure's --disable-largefile option for WIN32 targets also.
Non-configure systems which do not use config-win32.h configuration file,
and want to use the WIN32 file API, must define USE_WIN32_LARGE_FILES or
USE_WIN32_SMALL_FILES as appropriate in their own configuration files.
2008-08-26 12:54:12 +00:00
Yang Tse
f164260eee For congruency sake with the naming of other CURL_XXXXXX_CURL_OFF_T macros,
the name of the curl_off_t data type used now becomes CURL_TYPEOF_CURL_OFF_T

CURL_OFF_T -> CURL_TYPEOF_CURL_OFF_T
2008-08-25 01:18:49 +00:00
Yang Tse
a091121293 Rename some shell vars with more descriptive names:
x_typeof -> curl_typeof_curl_off_t
x_sizeof -> curl_sizeof_curl_off_t
x_format -> curl_format_curl_off_t
u_format -> curl_format_curl_off_tu
2008-08-25 00:56:50 +00:00
Yang Tse
66fb9ca5f6 For congruency sake with the naming of other CURL_XXXXXX_CURL_OFF_T macros,
the names of the curl_off_t formatting string directives now become
CURL_FORMAT_CURL_OFF_T and CURL_FORMAT_CURL_OFF_TU.

CURL_FMT_OFF_T  -> CURL_FORMAT_CURL_OFF_T
CURL_FMT_OFF_TU -> CURL_FORMAT_CURL_OFF_TU

Remove the use of an internal name for the curl_off_t formatting string directives
and use the common one available from the inside and outside of the library.

FORMAT_OFF_T  -> CURL_FORMAT_CURL_OFF_T
FORMAT_OFF_TU -> CURL_FORMAT_CURL_OFF_TU
2008-08-15 02:58:15 +00:00
Yang Tse
709a2ed474 Take three at trying to detect signed and unsigned curl_off_t integer constant
suffixes, using a test-and-try suffix approach letting the compiler validate it.
2008-08-14 18:30:19 +00:00
Yang Tse
34281925d6 Change CURL_CHECK_DEF_INTXX_C suffix definition detection.
Add debug tracing for CURL_CHECK_DEF_INTXX_C.
2008-08-14 01:39:49 +00:00
Yang Tse
a06e077938 Use autoconf's result of AC_CHECK_SIZEOF(long) in CURL_CONFIGURE_LONG 2008-08-13 19:49:19 +00:00
Yang Tse
7bdae7be4f Ensure that the compiler 'knows' the 'long' type in CURL_CONFIGURE_LONG 2008-08-13 18:57:48 +00:00
Yang Tse
2abf9221e3 Using the name of a macro inside AC_MSG_WARN takes aclocal to NeverLand. 2008-08-13 17:23:13 +00:00
Yang Tse
feb03e4717 The size of long is a build time characteristic and as such it is now recorded
in curlbuild.h as CURL_SIZEOF_LONG. Definition now done from configure process
and in CVS curlbuild.h.dist for non-configure systems.
2008-08-13 15:32:20 +00:00
Yang Tse
2eba5f33b9 Fix CURL_CHECK_DEF_INTXX_C suffix definition detection 2008-08-12 07:20:44 +00:00
Yang Tse
b5b25b39e9 Added missing signed and unsigned curl_off_t integer constant suffixes for
internal and external use. CURL_SUFFIX_CURL_OFF_T, CURL_SUFFIX_CURL_OFF_TU.
2008-08-11 18:27:21 +00:00
Yang Tse
b7ac885d38 Remove debug tracing for DO_CURL_OFF_T_CHECK and CURL_CHECK_DEF 2008-08-09 21:10:31 +00:00
Yang Tse
cbd9dcbe41 Use int64_t in favour of __int64 for curl_off_t when both are available. 2008-08-09 17:46:25 +00:00
Yang Tse
4594187732 Improve CURL_CHECK_DEF 2008-08-09 17:26:24 +00:00
Yang Tse
3cc40a2584 Add debug tracing for DO_CURL_OFF_T_CHECK 2008-08-08 17:42:58 +00:00
Yang Tse
c11933b3fd Remove some redundancy 2008-08-08 16:53:02 +00:00
Yang Tse
4687699726 Remove potential overquoting 2008-08-08 16:25:07 +00:00
Yang Tse
dabd3cd355 Add debug tracing for CURL_CHECK_DEF 2008-08-08 11:34:08 +00:00
Yang Tse
479466a495 Skip data type check in DO_CURL_OFF_T_CHECK macro when argument is empty. 2008-08-07 19:03:46 +00:00
Yang Tse
ddfa33be79 Fix CURL_CHECK_DEF so that when the expansion of the preprocessor symbol results
in a set of double-quoted strings, this macro will now return an expansion which
consists of a single double-quoted string result of concatenating all of them.
2008-08-07 16:07:26 +00:00
Yang Tse
14240e9e10 Initial support of curlbuild.h and curlrules.h which allows
to have a curl_off_t data type no longer gated to off_t.
2008-08-07 00:29:08 +00:00
Yang Tse
b4fdccf87a Autoconf 2.62 has changed the behaviour of the AC_AIX macro which we use.
Prior versions of autoconf defined _ALL_SOURCE if _AIX was defined. But,
autoconf 2.62 version of AC_AIX defines _ALL_SOURCE along with other four
preprocessor symbols no matter if the system is AIX or not. To keep the
traditional behaviour, as well as an uniform one, across autoconf versions
AC_AIX is replaced with our own internal macro.
2008-08-04 06:48:11 +00:00
Yang Tse
9cef14dfb2 Add a whitespace 2008-08-01 06:21:34 +00:00
Yang Tse
2d15d84a01 Ensure that reserved keyword AC_DEFUN is only used for its purpose. 2008-08-01 06:07:43 +00:00
Yang Tse
1035469662 Removed definition of CURL_CHECK_WORKING_RESOLVER from acinclude.m4 it has
not been in use since revision 1.81 of configure.in 6 years, 9 months ago.
2008-08-01 05:24:19 +00:00
Yang Tse
a3498f96ef Reinstate the 'aclocal -I m4' in buildconf and 'ACLOCAL_AMFLAGS = -I m4' way of
including our local m4/reentrant.m4 file. This even takes care of including the
file in the distribution tarball.
2008-07-30 03:10:03 +00:00
Yang Tse
52d9a3c34f Tests done using 'aclocal -I m4' in buildconf and 'ACLOCAL_AMFLAGS = -I m4
in top Makefile.am triggered a problem that prevented aclocal from running
successfully on SunOS 5.10 with GNU m4 1.4.5 and GNU Autoconf 2.61

A tarball which reproduces mentioned problem is the one dated July-28-2008
http://cool.haxx.se/curl-daily/curl-7.19.0-20080728.tar.gz

We actually don't need all the bells and whistles that the above mechanism
provides. We only need to include our m4/reentrant.m4 file in acinclude.m4
so here we go with this simpler mechanism.
2008-07-29 02:26:21 +00:00
Yang Tse
9b0110f50c Assert that SED and GREP are set 2008-07-27 21:47:22 +00:00
Yang Tse
b377e857bd simplify multi '#' char comment line 2008-07-26 12:11:22 +00:00
Yang Tse
8a323f8354 Another step towards detecting if _REENTRANT is already defined or actually
needed, and being able to define it if appropriate for further configure tests
as well as for the generated config file.

Introduced reentrant.m4 intended for our reentrant related autotools/m4 macros.
2008-07-24 15:20:35 +00:00
Yang Tse
e933b28aaf cleanup duplicate line 2008-07-22 19:13:35 +00:00
Yang Tse
1bc490077a Make sure that configure process tests are done with the same _REENTRANT
setting as the one actually used when finally building the library.
2008-07-22 19:04:16 +00:00
Yang Tse
7d773abe50 checks for gethostbyaddr_r with 7 and 8 args now also done with -D_REENTRANT
checks for gethostbyname_r with 5 and 6 args now also done with -D_REENTRANT
2008-07-22 18:56:46 +00:00
Yang Tse
bffe69a151 when recvfrom prototype uses a void pointer for arguments 2, 5 or 6 this will
now cause the definition of RECVFROM_TYPE_ARG2_IS_VOID, RECVFROM_TYPE_ARG5_IS_VOID
or RECVFROM_TYPE_ARG6_IS_VOID, as appropriate.
2008-07-21 00:36:55 +00:00
Yang Tse
facc5f7ec5 Remove showing additional info needed to debug configure
failure to properly detect recvfrom arg types on Solaris
2008-07-20 09:51:52 +00:00
Yang Tse
184229b1e5 Added "pointer to void" as another data type to check for the sixth argument of
function recvfrom as a result of the info additionally logged when running on a
Solaris system.

The compiler error showed that the prototype being used on Solaris was the one
declared in line 427 of "/usr/include/sys/socket.h" as:

function(int,
         pointer to void,
         unsigned int,
         int,
         pointer to struct sockaddr,
         pointer to void) returning int
2008-07-20 09:46:52 +00:00
Yang Tse
3e488c4f19 Temporarily show additional info needed to debug configure
failure to properly detect recvfrom arg types on Solaris
2008-07-19 18:32:27 +00:00
Yang Tse
39f23aec6b RECVFROM_TYPE_ARG2, RECVFROM_TYPE_ARG5 and RECVFROM_TYPE_ARG6 are now defined
to the data type pointed by its respective argument and not the pointer type.
2008-07-17 03:07:54 +00:00
Yang Tse
a9dc900515 Configure process now checks availability of recvfrom() socket function and
finds out its return type and the types of its arguments. Added definitions
for non-configure systems config files, and introduced macro sreadfrom which
will be used on udp sockets as a recvfrom() wrapper.
2008-07-16 19:16:41 +00:00
Yang Tse
97333deb3f fallback to gettimeofday when monotonic clock is unavailable at run-time 2008-07-02 03:04:56 +00:00
Yang Tse
72b4b3c7f8 make check message wording more precise 2008-06-30 14:10:27 +00:00
Yang Tse
e6c23672b2 fix C style comment 2008-06-29 11:08:52 +00:00
Yang Tse
1058e5fdde John Lightsey filed bug report #1999181: "CLOCK_MONOTONIC always fails on
some systems" (http://curl.haxx.se/bug/view.cgi?id=1999181). The problem was
that the configure script did not use the _POSIX_MONOTONIC_CLOCK feature test
macro when checking monotonic clock availability. This is now fixed and the
monotonic clock will not be used unless the feature test macro is defined
with a value greater than zero indicating always supported.
2008-06-29 03:19:20 +00:00
Yang Tse
2c61e9c76a Modified configuration script to actually verify if the compiler is good
enough at detecting compilation errors or at least it has been properly
configured to do so. Configuration heavily depends on this capability, so
if this compiler sanity check fails the configuration process will now fail.
2008-06-20 18:09:48 +00:00