master hovercats/oakiss / pkg / alsa-lib / gen.lua
  1cflags{
  2	'-std=gnu99', '-Wall', '-Wno-unused-const-variable', '-Wno-maybe-uninitialized',
  3	'-D _GNU_SOURCE',
  4	'-I $outdir',
  5	'-I $dir',
  6	'-I $dir/alsa',
  7	'-I $srcdir/include',
  8	'-isystem $builddir/pkg/linux-headers/include',
  9}
 10
 11build('cat', '$outdir/config.h', {
 12	'$builddir/probe/HAVE__THREAD_LOCAL',
 13	'$dir/config.h',
 14})
 15
 16pkg.hdrs = {
 17	copy('$outdir/include/alsa', '$srcdir/include/alsa', {
 18		'asoundef.h',
 19		'conf.h',
 20		'control.h',
 21		'error.h',
 22		'global.h',
 23		'input.h',
 24		'mixer.h',
 25		'mixer_abst.h',
 26		'output.h',
 27		'pcm.h',
 28		'pcm_old.h',
 29		'pcm_plugin.h',
 30		'pcm_rate.h',
 31		'rawmidi.h',
 32		'seq.h',
 33		'seq_event.h',
 34		'seq_midi_event.h',
 35		'seqmid.h',
 36		'timer.h',
 37		'ump.h',
 38	}),
 39	copy('$outdir/include/alsa', '$dir/alsa', {'asoundlib.h', 'version.h'}),
 40}
 41pkg.deps = {
 42	'$outdir/config.h',
 43	'pkg/linux-headers/headers',
 44}
 45
 46cc('src/pcm/pcm.c')
 47build('objcopy', '$outdir/src/pcm/pcm.nowarn.c.o', '$outdir/src/pcm/pcm.c.o', {
 48	objcopyflags='-R .gnu.warning.snd_pcm_hwsync',
 49})
 50
 51lib('libasound.a', [[src/(
 52	conf.c confeval.c confmisc.c input.c output.c async.c error.c dlmisc.c socket.c shmarea.c userfile.c names.c
 53	control/(
 54		cards.c tlv.c eld.c namehint.c hcontrol.c
 55		control.c control_hw.c control_empty.c
 56		setup.c ctlparse.c
 57		control_symbols.c
 58		control_remap.c
 59		control_shm.c
 60		control_ext.c
 61	)
 62	mixer/(bag.c mixer.c simple.c simple_none.c)
 63	pcm/(
 64		mask.c interval.c
 65		pcm.nowarn.c.o pcm_params.c pcm_simple.c
 66		pcm_hw.c pcm_misc.c pcm_mmap.c pcm_symbols.c
 67		pcm_generic.c pcm_plugin.c
 68		pcm_copy.c
 69		pcm_linear.c
 70		pcm_route.c
 71		pcm_mulaw.c
 72		pcm_alaw.c
 73		pcm_adpcm.c
 74		pcm_rate.c pcm_rate_linear.c
 75		pcm_plug.c
 76		pcm_multi.c
 77		pcm_shm.c
 78		pcm_file.c
 79		pcm_null.c
 80		pcm_empty.c
 81		pcm_share.c
 82		pcm_hooks.c
 83		pcm_lfloat.c
 84		pcm_dmix.c
 85		pcm_dshare.c
 86		pcm_dsnoop.c
 87		pcm_direct.c
 88		pcm_asym.c
 89		pcm_iec958.c
 90		pcm_softvol.c
 91		pcm_extplug.c
 92		pcm_ioplug.c
 93		pcm_mmap_emul.c
 94	)
 95	rawmidi/(
 96		rawmidi.c rawmidi_hw.c rawmidi_symbols.c
 97	)
 98	seq/(
 99		seq_hw.c seq.c seq_event.c seqmid.c seq_midi_event.c
100		seq_symbols.c
101	)
102	timer/(
103		timer.c timer_hw.c timer_query.c timer_query_hw.c
104		timer_symbols.c
105	)
106)]])
107
108local conf = [[
109	alsa.conf
110	cards/(
111		aliases.conf
112		AACI.conf
113		ATIIXP.conf
114		ATIIXP-SPDMA.conf
115		ATIIXP-MODEM.conf
116		AU8810.conf
117		AU8820.conf
118		AU8830.conf
119		Audigy.conf
120		Audigy2.conf
121		Aureon51.conf
122		Aureon71.conf
123		CA0106.conf
124		CMI8338.conf
125		CMI8338-SWIEC.conf
126		CMI8738-MC6.conf
127		CMI8738-MC8.conf
128		CMI8788.conf
129		CS46xx.conf
130		Echo_Echo3G.conf
131		EMU10K1.conf
132		EMU10K1X.conf
133		ENS1370.conf
134		ENS1371.conf
135		ES1968.conf
136		FM801.conf
137		FWSpeakers.conf
138		FireWave.conf
139		GUS.conf
140		HDA-Intel.conf
141		HdmiLpeAudio.conf
142		ICE1712.conf
143		ICE1724.conf
144		ICH.conf
145		ICH4.conf
146		ICH-MODEM.conf
147		Loopback.conf
148		Maestro3.conf
149		NFORCE.conf
150		PC-Speaker.conf
151		pistachio-card.conf
152		PMac.conf
153		PMacToonie.conf
154		PS3.conf
155		RME9636.conf
156		RME9652.conf
157		SI7018.conf
158		SB-XFi.conf
159		TRID4DWAVENX.conf
160		USB-Audio.conf
161		YMF744.conf
162		vc4-hdmi.conf
163		VIA686A.conf
164		VIA8233.conf
165		VIA8233A.conf
166		VIA8237.conf
167		VX222.conf
168		VXPocket.conf
169		VXPocket440.conf
170	)
171	ctl/default.conf
172	pcm/(
173		default.conf front.conf rear.conf center_lfe.conf side.conf
174		surround21.conf surround40.conf surround41.conf
175		surround50.conf surround51.conf
176		surround71.conf iec958.conf hdmi.conf modem.conf
177		dmix.conf dsnoop.conf
178		dpl.conf
179	)
180]]
181for f in iterpaths(conf) do
182	file('share/alsa/'..f, '644', '$srcdir/src/conf/'..f)
183end
184
185fetch 'git'