summaryrefslogtreecommitdiff
path: root/pkg/tinyemu/gen.lua
blob: bb9211731ba7f3deb2440a015c5cc5efbaa43d32 (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
cflags{
	'-D _GNU_SOURCE',
	'-D CONFIG_FS_NET',
	'-D CONFIG_RISCV_MAX_XLEN=64',
	'-D CONFIG_SLIRP',
	'-D CONFIG_X86EMU',
	[[-D 'CONFIG_VERSION="2019-02-10"']],
	'-I $builddir/pkg/curl/include',
	'-I $builddir/pkg/libressl/include',
}

pkg.deps = {
	'pkg/curl/headers',
	'pkg/libressl/headers',
}

build('cc', '$outdir/riscv_cpu32.o', '$srcdir/riscv_cpu.c', {cflags='$cflags -DMAX_XLEN=32'})
build('cc', '$outdir/riscv_cpu64.o', '$srcdir/riscv_cpu.c', {cflags='$cflags -DMAX_XLEN=64'})

exe('temu', [[
	virtio.c pci.c fs.c cutils.c iomem.c simplefb.c
	json.c machine.c temu.c
	slirp/(
		bootp.c ip_icmp.c mbuf.c slirp.c tcp_output.c cksum.c ip_input.c
		misc.c socket.c tcp_subr.c udp.c if.c ip_output.c sbuf.c
		tcp_input.c tcp_timer.c
	)
	fs_disk.c fs_net.c fs_wget.c fs_utils.c block_net.c
	riscv_machine.c softfp.c riscv_cpu32.o riscv_cpu64.o
	x86_cpu.c x86_machine.c ide.c ps2.c vmmouse.c pckbd.c vga.c
	$builddir/pkg/curl/libcurl.a.d
	$builddir/pkg/libressl/libcrypto.a.d
]])
file('bin/temu', '755', '$outdir/temu')

fetch 'curl'