diff options
Diffstat (limited to 'libcurl/libcurl')
-rw-r--r-- | libcurl/libcurl/.gitattributes | 2 | ||||
-rw-r--r-- | libcurl/libcurl/buildfile | 53 | ||||
-rw-r--r-- | libcurl/libcurl/curl_config.h | 76 |
3 files changed, 68 insertions, 63 deletions
diff --git a/libcurl/libcurl/.gitattributes b/libcurl/libcurl/.gitattributes new file mode 100644 index 0000000..c58ac78 --- /dev/null +++ b/libcurl/libcurl/.gitattributes @@ -0,0 +1,2 @@ +include symlink=dir +lib symlink=dir diff --git a/libcurl/libcurl/buildfile b/libcurl/libcurl/buildfile index d44293f..5f783c1 100644 --- a/libcurl/libcurl/buildfile +++ b/libcurl/libcurl/buildfile @@ -29,6 +29,40 @@ vsc{libcurl}: lib/in{libcurl} CURL_LT_SHLIB_VERSIONED_FLAVOUR = 'OPENSSL_' } +# It seems that for earlier versions of clang the __has_include_next() macro +# is broken in the -frewrite-includes mode. So, in particular, the following +# fragment of llvm-6.0's stdatomic.h: +# +# #if __STDC_HOSTED__ && __has_include_next(<stdatomic.h>) +# # include_next <stdatomic.h> +# #else +# ... +# typedef _Atomic(_Bool) atomic_bool; +# ... +# #endif +# +# expands into: +# +# #if __STDC_HOSTED__ && (1)/*__has_include_next(<stdatomic.h>)*/ +# #if 0 /* expanded by -frewrite-includes */ +# # include_next <stdatomic.h> +# #endif /* expanded by -frewrite-includes */ +# # 31 "/usr/lib/llvm-6.0/lib/clang/6.0.0/include/stdatomic.h" 3 +# # 32 "/usr/lib/llvm-6.0/lib/clang/6.0.0/include/stdatomic.h" 3 +# #else +# ... +# typedef _Atomic(_Bool) atomic_bool; +# ... +# #endif +# +# This ends up with no atomic_* types defined, etc. +# +# Thus, we enable reprocessing for the source files which (indirectly) include +# <stdatomic.h> for Clang versions prior to 7.0. +# +#if ($c.id == 'clang' && $c.version.major < 7) +# lib/obj{easy version}: cc.reprocess = true + # Build options. # c.poptions += -DBUILDING_LIBCURL -DHAVE_CONFIG_H \ @@ -37,15 +71,8 @@ c.poptions += -DBUILDING_LIBCURL -DHAVE_CONFIG_H \ if! $windows c.poptions += -DCURL_HIDDEN_SYMBOLS -# Note that the upstream package uses the -pthread compiler/linker option on -# Linux and FreeBSD. The option is unsupported by build2 so we pass -# -D_REENTRANT and -lpthread preprocessor/linker options instead. -# switch $tclass, $tsys { - case 'linux' | 'bsd' - c.poptions += -D_REENTRANT - case 'windows', 'win32-msvc' c.poptions += -DWIN32 } @@ -64,9 +91,11 @@ switch $c.class # Disable warnings that pop up with -Wall -Wextra. Upstream doesn't seem # to care about these and it is not easy to disable specific warnings in a # way that works across compilers/version (some -Wno-* options are only - # recognized in newer versions). + # recognized in newer versions). There are still some warnings left that + # appear for certain platforms/compilers. We pass them through but disable + # treating them as errors. # - c.coptions += -Wno-all -Wno-extra -Wno-deprecated-declarations + c.coptions += -Wno-all -Wno-extra -Wno-deprecated-declarations -Wno-error } case 'msvc' { @@ -85,7 +114,7 @@ switch $tclass, $tsys c.loptions += -Wl,--no-undefined c.loptions += "-Wl,--version-script=$out_base/libcurl.vers" - c.libs += -lpthread + c.libs += -pthread } case 'macos' { @@ -95,7 +124,9 @@ switch $tclass, $tsys # used for the API function declarations. Thus, we don't bother # generating/passing the exported symbol list file. # - c.libs += -framework CoreFoundation -framework Security + c.libs += -framework CoreFoundation \ + -framework SystemConfiguration \ + -framework Security } case 'windows', 'mingw32' { diff --git a/libcurl/libcurl/curl_config.h b/libcurl/libcurl/curl_config.h index 3bebb85..8458725 100644 --- a/libcurl/libcurl/curl_config.h +++ b/libcurl/libcurl/curl_config.h @@ -53,7 +53,6 @@ /* Enabled features. */ #define ENABLE_IPV6 1 -#define HAVE_ZLIB_H 1 #define HAVE_LIBZ 1 #undef CURL_DISABLE_COOKIES @@ -84,6 +83,9 @@ #undef CURL_DISABLE_GETOPTIONS #undef CURL_DISABLE_MQTT #undef CURL_DISABLE_SOCKETPAIR +#undef CURL_DISABLE_HEADERS_API +#undef CURL_DISABLE_HSTS +#undef CURL_DISABLE_NTLM /* Diabled features. */ @@ -96,16 +98,12 @@ #undef HAVE_LDAP_URL_PARSE #undef USE_LIBSSH #undef USE_LIBSSH2 -#undef HAVE_LIBSSH2_H -#undef HAVE_LIBSSH_LIBSSH_H #undef USE_AMISSL #undef USE_GNUTLS #undef USE_ARES #undef USE_LIBPSL #undef USE_MANUAL #undef USE_MBEDTLS -#undef USE_MESALINK -#undef USE_METALINK #undef USE_NGHTTP2 #undef USE_NGHTTP3 #undef USE_NGTCP2 @@ -115,10 +113,11 @@ #undef USE_QUICHE #undef USE_BEARSSL #undef USE_GSASL -#undef USE_HSTS #undef USE_HYPER #undef USE_RUSTLS #undef USE_WOLFSSH +#undef USE_MSH3 +#undef USE_WEBSOCKETS /* Specific for (non-) Linux. */ @@ -176,6 +175,7 @@ # define HAVE_POLL_H 1 # define HAVE_PWD_H 1 # define HAVE_ALARM 1 +# define HAVE_FCNTL 1 # define HAVE_FCNTL_O_NONBLOCK 1 # define HAVE_FNMATCH 1 # define HAVE_GETEUID 1 @@ -202,6 +202,9 @@ # define HAVE_TERMIOS_H 1 # define HAVE_UTIMES 1 # define HAVE_SUSECONDS_T 1 +# define HAVE_FCHMOD 1 +# define HAVE_NETINET_UDP_H 1 +# define HAVE_SENDMSG 1 # define CURL_SA_FAMILY_T sa_family_t # define GETHOSTNAME_TYPE_ARG2 size_t @@ -221,16 +224,12 @@ # define USE_WIN32_LARGE_FILES 1 # define USE_WINDOWS_SSPI 1 -# define WANT_IDN_PROTOTYPES 1 - -# define HAVE_PROCESS_H 1 # define HAVE_CLOSESOCKET 1 # define HAVE_IOCTLSOCKET_FIONBIO 1 # define HAVE_IO_H 1 # define HAVE_SYS_UTIME_H 1 # define HAVE_WINDOWS_H 1 # define HAVE_WINSOCK2_H 1 -# define HAVE_WINSOCK_H 1 # undef _UNICODE # undef UNICODE @@ -290,8 +289,7 @@ # define HAVE_VARIADIC_MACROS_GCC 1 # define HAVE_OPENSSL_SRP 1 # define HAVE_FTRUNCATE 1 - -# define TIME_WITH_SYS_TIME 1 +# define HAVE_SCHED_YIELD 1 #else # define USE_THREADS_WIN32 1 # undef USE_THREADS_POSIX @@ -301,10 +299,8 @@ /* Common for all supported OSes/compilers. */ -#define HAVE_ASSERT_H 1 #define HAVE_STDBOOL_H 1 #define HAVE_BOOL_T 1 -#define HAVE_ERRNO_H 1 #define HAVE_FCNTL_H 1 #define HAVE_WS2TCPIP_H 1 #define HAVE_SIGNAL_H 1 @@ -313,15 +309,12 @@ #define HAVE_GETADDRINFO 1 #define HAVE_FREEADDRINFO 1 #define HAVE_GETADDRINFO_THREADSAFE 1 -#define HAVE_GETHOSTBYNAME 1 #define HAVE_GETHOSTNAME 1 #define HAVE_GETPEERNAME 1 #define HAVE_GETSOCKNAME 1 #define HAVE_LONGLONG 1 -#define HAVE_OPENSSL_VERSION 1 #define HAVE_SOCKET 1 #define HAVE_SELECT 1 -#define HAVE_SIG_ATOMIC_T 1 #define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1 #define HAVE_STRDUP 1 #define HAVE_STRTOLL 1 @@ -329,11 +322,19 @@ #define HAVE_STRUCT_TIMEVAL 1 #define HAVE_SYS_STAT_H 1 #define HAVE_SYS_TYPES_H 1 -#define HAVE_TIME_H 1 #define HAVE_UTIME 1 #define HAVE_VARIADIC_MACROS_C99 1 +#define HAVE_STRICMP 1 +#define HAVE_SNPRINTF 1 +#define HAVE_STDATOMIC_H 1 +#define HAVE_ATOMIC 1 + +/* SSL_set0_wbio() was added in OpenSSL 1.1.0 and we don't care about earlier + * versions. + */ +#define HAVE_SSL_SET0_WBIO 1 -#define STDC_HEADERS 1 +#define STDC_HEADERS 1 #undef _ALL_SOURCE #undef _LARGE_FILES @@ -346,7 +347,6 @@ #undef HAVE_IDN2_H #undef HAVE_LIBIDN2 #undef HAVE_BROTLI -#undef HAVE_STRUCT_POLLFD #undef HAVE_DECL_GETPWUID_R_MISSING #undef HAVE_GETPASS_R #undef HAVE_GSSAPI @@ -356,14 +356,10 @@ #undef HAVE_PK11_CREATEMANAGEDGENERICOBJECT #undef HAVE_PROTO_BSDSOCKET_H #undef HAVE_RAND_EGD -#undef HAVE_SETSOCKOPT_SO_NONBLOCK -#undef HAVE_SIG_ATOMIC_T_VOLATILE -#undef HAVE_SSLV2_CLIENT_METHOD #undef HAVE_STRCMPI #undef HAVE_STROPTS_H #undef HAVE_TERMIO_H #undef HAVE_TIME_T_UNSIGNED -#undef HAVE_WOLFSSLV3_CLIENT_METHOD #undef HAVE_WOLFSSL_GET_PEER_CERTIFICATE #undef HAVE_WOLFSSL_USEALPN #undef HAVE_WRITABLE_ARGV @@ -376,31 +372,10 @@ #undef HAVE_CLOSE_S #undef HAVE_EXTRA_STRDUP_H #undef HAVE_EXTRA_STRICMP_H -#undef HAVE_LIBSSH2_VERSION #undef HAVE_SSL_GET_SHUTDOWN -#undef HAVE_VXWORKS_STRERROR_R -#undef RECVFROM_TYPE_ARG6_IS_VOID - -#undef HAVE_GETNAMEINFO -#undef GETNAMEINFO_QUAL_ARG1 -#undef GETNAMEINFO_TYPE_ARG1 -#undef GETNAMEINFO_TYPE_ARG2 -#undef GETNAMEINFO_TYPE_ARG46 -#undef GETNAMEINFO_TYPE_ARG7 - -#undef HAVE_RECVFROM -#undef RECVFROM_TYPE_ARG1 -#undef RECVFROM_TYPE_ARG2 -#undef RECVFROM_TYPE_ARG3 -#undef RECVFROM_TYPE_ARG4 -#undef RECVFROM_TYPE_ARG5 -#undef RECVFROM_TYPE_ARG6 -#undef RECVFROM_TYPE_RETV - -#undef HAVE_ICONV -#undef CURL_ICONV_CODESET_OF_HOST - -#undef NEED_MEMORY_H +#undef HAVE_IOCTLSOCKET_CAMEL +#undef HAVE_WOLFSSL_FULL_BIO + #undef NEED_REENTRANT #undef NEED_THREAD_SAFE @@ -412,8 +387,6 @@ #undef CURLDEBUG #undef DEBUGBUILD #undef ENABLE_QUIC -#undef OPEN_NEEDS_ARG3 -#undef CURL_DOES_CONVERSIONS /* While upstream defines the macro for Clang, it fails to build for older * version of Clang on Mac OS. Thus, we never define it. @@ -501,7 +474,6 @@ */ #define SIZEOF_CURL_OFF_T 8 -#define RETSIGTYPE void #define SEND_QUAL_ARG2 const /* We can probably assume that on platforms we build for, these keywords, @@ -522,6 +494,6 @@ #undef LONG_MAX #undef LONG_MIN -*/ + */ #endif /* LIBCURL_CURL_CONFIG_H */ |