summaryrefslogtreecommitdiff
path: root/pkg/curl/gen.lua
blob: 904224235e7f5d620fe81d620094a2c47d5825bc (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
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
		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 dotdot.c easy.c escape.c
		file.c fileinfo.c formdata.c ftp.c url.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 http.c http2.c http_chunks.c http_digest.c http_negotiate.c
		http_ntlm.c http_proxy.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 doh.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 urlapi.c version.c warnless.c wildcard.c x509asn1.c dynbuf.c
		version_win32.c easyoptions.c easygetopt.c hsts.c
		vauth/(
			cleartext.c cram.c digest.c
			digest_sspi.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 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_metalink.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'