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'