master hovercats/oakiss / pkg / sndio / gen.lua
 1cflags{
 2	'-std=c99', '-Wall', '-Wpedantic',
 3	'-Wno-format-truncation', '-Wno-maybe-uninitialized',
 4	'-D _GNU_SOURCE',
 5	'-I $srcdir/libsndio',
 6	'-I $srcdir/bsd-compat',
 7	'-isystem $builddir/pkg/tinyalsa/include',
 8	'-include $dir/config.h',
 9}
10
11pkg.deps = {
12	'pkg/tinyalsa/headers',
13}
14pkg.hdrs = copy('$outdir/include', '$srcdir/libsndio', {'sndio.h'})
15
16-- everything but mio.c and sio.c
17local objs = objects[[
18	libsndio/(
19		debug.c aucat.c
20		mio.c mio_aucat.c
21		sio_aucat.c
22		sioctl.c sioctl_aucat.c
23	)
24	bsd-compat/(getpeereid.c issetugid.c strlcat.c strlcpy.c strtonum.c clock_gettime.c)
25	$builddir/pkg/tinyalsa/libtinyalsa.a
26]]
27
28-- build mio.c and sio.c for sndiod with alsa support
29for _, src in ipairs{'sio.c', 'sio_alsa.c'} do
30	build('cc', '$outdir/sndiod/'..src..'.o', {'$srcdir/libsndio/'..src, '||', '$gendir/deps'}, {
31		cflags='$cflags -D USE_ALSA',
32	})
33end
34lib('libsndio.a', {objs, 'libsndio/sio.c'})
35
36exe('bin/sndiod', {objs, paths[[
37	sndiod/(
38		abuf.c utils.c dev.c dev_sioctl.c dsp.c file.c listen.c midi.c miofile.c
39		opt.c siofile.c sndiod.c sock.c
40
41		sio.c.o sio_alsa.c.o
42	)
43	$builddir/pkg/tinyalsa/libtinyalsa.a
44]]})
45file('bin/sndiod', '755', '$outdir/bin/sndiod')
46man{'sndiod/sndiod.8'}
47
48exe('bin/sndioctl', 'sndioctl/sndioctl.c libsndio.a')
49file('bin/sndioctl', '755', '$outdir/bin/sndioctl')
50man{'sndioctl/sndioctl.1'}
51
52exe('bin/aucat', 'aucat/(abuf.c afile.c aucat.c dsp.c utils.c) libsndio.a')
53file('bin/aucat', '755', '$outdir/bin/aucat')
54man{'aucat/aucat.1'}
55
56fetch 'git'