# `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