274 lines
5 KiB
Meson
274 lines
5 KiB
Meson
# `curl_config.h` generation. {{
|
|
|
|
config_h = configure_file(
|
|
configuration: cdata,
|
|
input: '../meson/curl_config.h.meson',
|
|
output: 'curl_config.h',
|
|
)
|
|
|
|
add_project_arguments('-DHAVE_CONFIG_H', language: 'c')
|
|
|
|
# }}}
|
|
|
|
# To update this list: `make -f meson/rewrite.mk curl_lib_src`.
|
|
curl_lib_src = files(
|
|
'vauth/cleartext.c',
|
|
'vauth/cram.c',
|
|
'vauth/digest.c',
|
|
'vauth/digest_sspi.c',
|
|
'vauth/gsasl.c',
|
|
'vauth/krb5_gssapi.c',
|
|
'vauth/krb5_sspi.c',
|
|
'vauth/ntlm.c',
|
|
'vauth/ntlm_sspi.c',
|
|
'vauth/oauth2.c',
|
|
'vauth/spnego_gssapi.c',
|
|
'vauth/spnego_sspi.c',
|
|
'vauth/vauth.c',
|
|
'vquic/curl_msh3.c',
|
|
'vquic/curl_ngtcp2.c',
|
|
'vquic/curl_osslq.c',
|
|
'vquic/curl_quiche.c',
|
|
'vquic/vquic-tls.c',
|
|
'vquic/vquic.c',
|
|
'vssh/libssh.c',
|
|
'vssh/libssh2.c',
|
|
'vssh/wolfssh.c',
|
|
'vtls/bearssl.c',
|
|
'vtls/cipher_suite.c',
|
|
'vtls/gtls.c',
|
|
'vtls/hostcheck.c',
|
|
'vtls/keylog.c',
|
|
'vtls/mbedtls.c',
|
|
'vtls/mbedtls_threadlock.c',
|
|
'vtls/openssl.c',
|
|
'vtls/rustls.c',
|
|
'vtls/schannel.c',
|
|
'vtls/schannel_verify.c',
|
|
'vtls/sectransp.c',
|
|
'vtls/vtls.c',
|
|
'vtls/wolfssl.c',
|
|
'vtls/x509asn1.c',
|
|
'altsvc.c',
|
|
'amigaos.c',
|
|
'asyn-ares.c',
|
|
'asyn-thread.c',
|
|
'base64.c',
|
|
'bufq.c',
|
|
'bufref.c',
|
|
'c-hyper.c',
|
|
'cf-h1-proxy.c',
|
|
'cf-h2-proxy.c',
|
|
'cf-haproxy.c',
|
|
'cf-https-connect.c',
|
|
'cf-socket.c',
|
|
'cfilters.c',
|
|
'conncache.c',
|
|
'connect.c',
|
|
'content_encoding.c',
|
|
'cookie.c',
|
|
'curl_addrinfo.c',
|
|
'curl_des.c',
|
|
'curl_endian.c',
|
|
'curl_fnmatch.c',
|
|
'curl_get_line.c',
|
|
'curl_gethostname.c',
|
|
'curl_gssapi.c',
|
|
'curl_memrchr.c',
|
|
'curl_multibyte.c',
|
|
'curl_ntlm_core.c',
|
|
'curl_path.c',
|
|
'curl_range.c',
|
|
'curl_rtmp.c',
|
|
'curl_sasl.c',
|
|
'curl_sha512_256.c',
|
|
'curl_sspi.c',
|
|
'curl_threads.c',
|
|
'curl_trc.c',
|
|
'cw-out.c',
|
|
'dict.c',
|
|
'dllmain.c',
|
|
'doh.c',
|
|
'dynbuf.c',
|
|
'dynhds.c',
|
|
'easy.c',
|
|
'easygetopt.c',
|
|
'easyoptions.c',
|
|
'escape.c',
|
|
'file.c',
|
|
'fileinfo.c',
|
|
'fopen.c',
|
|
'formdata.c',
|
|
'ftp.c',
|
|
'ftplistparser.c',
|
|
'getenv.c',
|
|
'getinfo.c',
|
|
'gopher.c',
|
|
'hash.c',
|
|
'headers.c',
|
|
'hmac.c',
|
|
'hostasyn.c',
|
|
'hostip.c',
|
|
'hostip4.c',
|
|
'hostip6.c',
|
|
'hostsyn.c',
|
|
'hsts.c',
|
|
'http.c',
|
|
'http1.c',
|
|
'http2.c',
|
|
'http_aws_sigv4.c',
|
|
'http_chunks.c',
|
|
'http_digest.c',
|
|
'http_negotiate.c',
|
|
'http_ntlm.c',
|
|
'http_proxy.c',
|
|
'idn.c',
|
|
'if2ip.c',
|
|
'imap.c',
|
|
'inet_ntop.c',
|
|
'inet_pton.c',
|
|
'krb5.c',
|
|
'ldap.c',
|
|
'llist.c',
|
|
'macos.c',
|
|
'md4.c',
|
|
'md5.c',
|
|
'memdebug.c',
|
|
'mime.c',
|
|
'mprintf.c',
|
|
'mqtt.c',
|
|
'multi.c',
|
|
'netrc.c',
|
|
'nonblock.c',
|
|
'noproxy.c',
|
|
'openldap.c',
|
|
'parsedate.c',
|
|
'pingpong.c',
|
|
'pop3.c',
|
|
'progress.c',
|
|
'psl.c',
|
|
'rand.c',
|
|
'rename.c',
|
|
'request.c',
|
|
'rtsp.c',
|
|
'select.c',
|
|
'sendf.c',
|
|
'setopt.c',
|
|
'sha256.c',
|
|
'share.c',
|
|
'slist.c',
|
|
'smb.c',
|
|
'smtp.c',
|
|
'socketpair.c',
|
|
'socks.c',
|
|
'socks_gssapi.c',
|
|
'socks_sspi.c',
|
|
'speedcheck.c',
|
|
'splay.c',
|
|
'strcase.c',
|
|
'strdup.c',
|
|
'strerror.c',
|
|
'strtok.c',
|
|
'strtoofft.c',
|
|
'system_win32.c',
|
|
'telnet.c',
|
|
'tftp.c',
|
|
'timediff.c',
|
|
'timeval.c',
|
|
'transfer.c',
|
|
'url.c',
|
|
'urlapi.c',
|
|
'version.c',
|
|
'version_win32.c',
|
|
'warnless.c',
|
|
'ws.c',
|
|
)
|
|
|
|
curl_lib = library(
|
|
'curl',
|
|
config_h,
|
|
curl_lib_src,
|
|
c_args: [
|
|
'-DBUILDING_LIBCURL',
|
|
curl_symbols_hiding_flags,
|
|
public_args,
|
|
],
|
|
dependencies: [lib_deps, sys_deps],
|
|
gnu_symbol_visibility: curl_symbols_hiding_visibility,
|
|
include_directories: [CURL_PUBLIC_INC, CURL_INTERNAL_INC],
|
|
install: true,
|
|
version: '4.8.0',
|
|
)
|
|
|
|
pkg.generate(
|
|
curl_lib,
|
|
description: 'Library to transfer files with ftp, http, etc.',
|
|
extra_cflags: public_args,
|
|
name: 'libcurl',
|
|
unescaped_variables: (
|
|
# NOTE: variables with empty values are not allowed…
|
|
(
|
|
enabled_features.length() > 0 ? {
|
|
'supported_features': ' '.join(enabled_features),
|
|
} : {}
|
|
) + (
|
|
enabled_protocols.length() > 0 ? {
|
|
'supported_protocols': ' '.join(enabled_protocols),
|
|
} : {}
|
|
)
|
|
),
|
|
url: 'https://curl.se/',
|
|
)
|
|
|
|
curl_dep = declare_dependency(
|
|
compile_args: public_args,
|
|
include_directories: CURL_PUBLIC_INC,
|
|
link_with: curl_lib,
|
|
sources: config_h,
|
|
)
|
|
|
|
meson.override_dependency('libcurl', curl_dep)
|
|
|
|
lib_deps_iflags = []
|
|
foreach _dep : lib_deps
|
|
lib_deps_iflags += _dep.partial_dependency(
|
|
compile_args: true,
|
|
includes: true,
|
|
)
|
|
endforeach
|
|
|
|
curl_iflags_dep = declare_dependency(
|
|
dependencies: lib_deps_iflags,
|
|
include_directories: [CURL_PUBLIC_INC, CURL_INTERNAL_INC],
|
|
)
|
|
|
|
curl_ilib_dep = declare_dependency(
|
|
dependencies: [curl_dep, curl_iflags_dep, sys_deps],
|
|
)
|
|
|
|
curlu_flags = [
|
|
'-DCURL_STATICLIB',
|
|
'-DUNITTESTS',
|
|
]
|
|
|
|
curlu_lib = static_library(
|
|
'curlu',
|
|
config_h,
|
|
curl_lib_src,
|
|
c_args: [
|
|
curlu_flags,
|
|
'-DBUILDING_LIBCURL',
|
|
],
|
|
dependencies: [build_unittests, lib_deps],
|
|
include_directories: [CURL_PUBLIC_INC, CURL_INTERNAL_INC],
|
|
)
|
|
|
|
curlu_dep = declare_dependency(
|
|
dependencies: sys_deps,
|
|
include_directories: [CURL_INTERNAL_INC, CURL_PUBLIC_INC],
|
|
link_with: curlu_lib,
|
|
sources: config_h,
|
|
)
|
|
|
|
# vim: foldmethod=marker foldlevel=0
|