draconisplusplus/subprojects/curl-8.10.1/lib/meson.build

274 lines
5 KiB
Meson
Raw Normal View History

2025-02-20 14:49:18 -05:00
# `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