@@ -42,7 +42,7 @@ macro(curl_build)
42
42
# Setup use of openssl, use the same OpenSSL library
43
43
# for libcurl as is used for tarantool itself.
44
44
get_filename_component (FOUND_OPENSSL_ROOT_DIR ${OPENSSL_INCLUDE_DIR} DIRECTORY )
45
- list (APPEND LIBCURL_CMAKE_FLAGS "-DCMAKE_USE_OPENSSL =ON" )
45
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_USE_OPENSSL =ON" )
46
46
list (APPEND LIBCURL_CMAKE_FLAGS "-DOPENSSL_ROOT_DIR=${FOUND_OPENSSL_ROOT_DIR} " )
47
47
list (APPEND LIBCURL_CMAKE_FLAGS "-DCMAKE_MODULE_PATH=${PROJECT_SOURCE_DIR} /cmake" )
48
48
@@ -55,6 +55,10 @@ macro(curl_build)
55
55
list (APPEND LIBCURL_FIND_ROOT_PATH ${ARES_INSTALL_DIR} )
56
56
else ()
57
57
set (ENABLE_ARES "OFF" )
58
+ # libcurl build system enables threaded resolver when c-ares is
59
+ # disabled, we duplicate this logic because we cannot rely on upstream
60
+ # defaults, they may vary across time.
61
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DENABLE_THREADED_RESOLVER=ON" )
58
62
endif ()
59
63
list (APPEND LIBCURL_CMAKE_FLAGS "-DENABLE_ARES=${ENABLE_ARES} " )
60
64
@@ -70,13 +74,14 @@ macro(curl_build)
70
74
string (REPLACE ";" "$<SEMICOLON>" LIBCURL_FIND_ROOT_PATH_STR "${LIBCURL_FIND_ROOT_PATH} " )
71
75
list (APPEND LIBCURL_CMAKE_FLAGS "-DCMAKE_FIND_ROOT_PATH=${LIBCURL_FIND_ROOT_PATH_STR} " )
72
76
73
- # On cmake CMAKE_USE_LIBSSH2 flag is enabled by default, we need to switch it
77
+ # On cmake CURL_USE_LIBSSH2 flag is enabled by default, we need to switch it
74
78
# off to avoid of issues, like:
75
79
# ld: libssh2.c:(.text+0x4d8): undefined reference to `libssh2_*...
76
- list (APPEND LIBCURL_CMAKE_FLAGS "-DCMAKE_USE_LIBSSH2 =OFF" )
80
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_USE_LIBSSH2 =OFF" )
77
81
78
82
# Switch off the group of protocols with special flag HTTP_ONLY:
79
- # ftp, file, ldap, ldaps, rtsp, dict, telnet, tftp, pop3, imap, smtp.
83
+ # ftp, file, ldap, ldaps, rtsp, dict, telnet, tftp, pop3, imap, smtp,
84
+ # gopher, mqtt, smb.
80
85
list (APPEND LIBCURL_CMAKE_FLAGS "-DHTTP_ONLY=OFF" )
81
86
82
87
# Additionaly disable some more protocols.
@@ -115,13 +120,17 @@ macro(curl_build)
115
120
list (APPEND LIBCURL_CMAKE_FLAGS "-DBUILD_CURL_EXE=OFF" )
116
121
list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_BROTLI=OFF" )
117
122
list (APPEND LIBCURL_CMAKE_FLAGS "-DUSE_GNUTLS=OFF" )
118
- list (APPEND LIBCURL_CMAKE_FLAGS "-DCMAKE_USE_MBEDTLS =OFF" )
119
- list (APPEND LIBCURL_CMAKE_FLAGS "-DCMAKE_USE_WOLFSSL =OFF" )
120
- list (APPEND LIBCURL_CMAKE_FLAGS "-DCMAKE_USE_NSS =OFF" )
123
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_USE_MBEDTLS =OFF" )
124
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_USE_WOLFSSL =OFF" )
125
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_USE_NSS =OFF" )
121
126
list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_CA_BUNDLE=none" )
127
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_CA_BUNDLE_SET=ON" )
122
128
list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_CA_PATH=none" )
129
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_CA_PATH_SET=ON" )
130
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_CA_FALLBACK=OFF" )
123
131
list (APPEND LIBCURL_CMAKE_FLAGS "-DUSE_LIBRTMP=OFF" )
124
132
list (APPEND LIBCURL_CMAKE_FLAGS "-DHAVE_LIBIDN2=OFF" )
133
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DUSE_LIBIDN2=ON" )
125
134
list (APPEND LIBCURL_CMAKE_FLAGS "-DUSE_NGTCP2=OFF" )
126
135
list (APPEND LIBCURL_CMAKE_FLAGS "-DUSE_NGHTTP3=OFF" )
127
136
list (APPEND LIBCURL_CMAKE_FLAGS "-DUSE_QUICHE=OFF" )
@@ -141,7 +150,39 @@ macro(curl_build)
141
150
list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_TFTP=ON" )
142
151
list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_POP3=ON" )
143
152
list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_IMAP=ON" )
153
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_MQTT=ON" )
144
154
list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_SMTP=OFF" )
155
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_ALTSVC=ON" )
156
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_DOH=OFF" )
157
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_GETOPTIONS=OFF" )
158
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_HSTS=OFF" )
159
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_HTTP_AUTH=OFF" )
160
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_LIBCURL_OPTION=OFF" )
161
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_MIME=OFF" )
162
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_NETRC=OFF" )
163
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_NTLM=ON" )
164
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_OPENSSL_AUTO_LOAD_CONFIG=OFF" )
165
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_PARSEDATE=OFF" )
166
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_PROGRESS_METER=OFF" )
167
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_PROXY=OFF" )
168
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_SHUFFLE_DNS=ON" )
169
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_SOCKETPAIR=OFF" )
170
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_VERBOSE_STRINGS=OFF" )
171
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_ENABLE_EXPORT_TARGET=ON" )
172
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_ENABLE_SSL=ON" )
173
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_LTO=OFF" )
174
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_USE_BEARSSL=OFF" )
175
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_USE_GSSAPI=OFF" )
176
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_USE_LIBSSH=OFF" )
177
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_USE_OPENLDAP=OFF" )
178
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_WERROR=OFF" )
179
+ # CURL_ZSTD adds zstd encoding/decoding support. Tuning libcurl's build to
180
+ # catch the symbols may require extra work.
181
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DCURL_ZSTD=OFF" )
182
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DLIBCURL_OUTPUT_NAME=libcurl" )
183
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DENABLE_CURLDEBUG=OFF" )
184
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DENABLE_DEBUG=OFF" )
185
+ list (APPEND LIBCURL_CMAKE_FLAGS "-DUSE_MSH3=OFF" )
145
186
146
187
# We need PIC at least to enable build for Fedora on
147
188
# ARM64 CPU. Without it configuration with Fedora
0 commit comments