1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
cflags{
'-std=c99', '-Wall', '-Wpedantic', '-Wno-maybe-uninitialized',
'-D _DEFAULT_SOURCE',
'-D HAVE_CONFIG_H',
'-D BUILDING_LIBCURL',
'-D CURL_STATICLIB',
'-I $outdir',
'-I $outdir/include/curl',
'-I $outdir/include',
'-I $srcdir/lib',
'-I $srcdir/src',
'-isystem $builddir/pkg/bearssl/include',
'-isystem $builddir/pkg/linux-headers/include',
'-isystem $builddir/pkg/zlib/include',
}
build('cat', '$outdir/curl_config.h', {
'$dir/curl_config.h',
'$builddir/probe/SIZEOF_LONG',
'$builddir/probe/SIZEOF_SIZE_T',
'$builddir/probe/SIZEOF_TIME_T',
})
pkg.hdrs = copy('$outdir/include/curl', '$srcdir/include/curl', {
'curl.h',
'curlver.h',
'easy.h',
'mprintf.h',
'stdcheaders.h',
'multi.h',
'typecheck-gcc.h',
'system.h',
'urlapi.h',
'options.h',
})
pkg.deps = {
'$outdir/curl_config.h',
'$gendir/headers',
'pkg/bearssl/headers',
'pkg/linux-headers/headers',
'pkg/zlib/headers',
}
-- src/lib/Makefile.inc:/^CSOURCES
lib('libcurl.a', [[
lib/(
altsvc.c amigaos.c asyn-ares.c asyn-thread.c base64.c bufref.c
c-hyper.c conncache.c connect.c content_encoding.c cookie.c
curl_addrinfo.c curl_ctype.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_ntlm_wb.c
curl_path.c curl_range.c curl_rtmp.c curl_sasl.c curl_sspi.c
curl_threads.c dict.c doh.c dotdot.c dynbuf.c easy.c
easygetopt.c easyoptions.c escape.c file.c fileinfo.c formdata.c
ftp.c ftplistparser.c getenv.c getinfo.c gopher.c hash.c hmac.c
hostasyn.c hostcheck.c hostip.c hostip4.c hostip6.c hostsyn.c
hsts.c http.c http2.c http_chunks.c http_digest.c
http_negotiate.c http_ntlm.c http_proxy.c http_aws_sigv4.c
idn_win32.c if2ip.c imap.c inet_ntop.c inet_pton.c krb5.c ldap.c
llist.c md4.c md5.c memdebug.c mime.c mprintf.c mqtt.c multi.c
netrc.c non-ascii.c nonblock.c openldap.c parsedate.c pingpong.c
pop3.c progress.c psl.c rand.c rename.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 timeval.c transfer.c url.c
urlapi.c version.c version_win32.c warnless.c wildcard.c
x509asn1.c
vauth/(
cleartext.c cram.c digest.c digest_sspi.c
gsasl.c krb5_gssapi.c krb5_sspi.c ntlm.c
ntlm_sspi.c oauth2.c spnego_gssapi.c
spnego_sspi.c vauth.c
)
vtls/(
bearssl.c gskit.c gtls.c keylog.c mbedtls.c
mbedtls_threadlock.c mesalink.c nss.c
openssl.c rustls.c schannel.c schannel_verify.c
sectransp.c vtls.c wolfssl.c
)
vquic/(ngtcp2.c quiche.c vquic.c)
vssh/(libssh.c libssh2.c wolfssh.c)
)
$builddir/pkg/bearssl/libbearssl.a
$builddir/pkg/zlib/libz.a
]])
build('cc', '$outdir/tool_hugehelp.c.o', {
'$dir/tool_hugehelp.c', '||', '$gendir/deps', '$srcdir/src/tool_hugehelp.h',
})
-- src/src/Makefile.inc:/^CURL_CFILES
exe('curl', [[
src/(
slist_wc.c
tool_binmode.c
tool_bname.c
tool_cb_dbg.c
tool_cb_hdr.c
tool_cb_prg.c
tool_cb_rea.c
tool_cb_see.c
tool_cb_wrt.c
tool_cfgable.c
tool_convert.c
tool_dirhie.c
tool_doswin.c
tool_easysrc.c
tool_filetime.c
tool_formparse.c
tool_getparam.c
tool_getpass.c
tool_help.c
tool_helpers.c
tool_homedir.c
tool_libinfo.c
tool_main.c
tool_msgs.c
tool_operate.c
tool_operhlp.c
tool_panykey.c
tool_paramhlp.c
tool_parsecfg.c
tool_progress.c
tool_strdup.c
tool_setopt.c
tool_sleep.c
tool_urlglob.c
tool_util.c
tool_vms.c
tool_writeout.c
tool_writeout_json.c
tool_xattr.c
)
tool_hugehelp.c.o
libcurl.a.d
]])
file('bin/curl', '755', '$outdir/curl')
man{'docs/curl.1'}
fetch 'curl'
|