summaryrefslogtreecommitdiff
path: root/pkg/curl/gen.lua
blob: b40d72d8e707411403ab87a5dbd7bc7753e37e43 (plain)
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
143
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_listhelp.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'