• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1libpulsecommon_sources = [
2  'pulse/client-conf.c',
3  'pulse/error.c',
4  'pulse/fork-detect.c',
5  'pulse/format.c',
6  'pulse/mainloop-api.c',
7  'pulse/xmalloc.c',
8  'pulse/proplist.c',
9  'pulse/utf8.c',
10  'pulse/channelmap.c',
11  'pulse/sample.c',
12  'pulse/util.c',
13  'pulse/timeval.c',
14  'pulse/rtclock.c',
15  'pulse/volume.c',
16  'pulsecore/authkey.c',
17  'pulsecore/conf-parser.c',
18  'pulsecore/core-error.c',
19  'pulsecore/core-format.c',
20  'pulsecore/core-rtclock.c',
21  'pulsecore/core-util.c',
22  'pulsecore/dynarray.c',
23  'pulsecore/fdsem.c',
24  'pulsecore/flist.c',
25  'pulsecore/g711.c',
26  'pulsecore/hashmap.c',
27  'pulsecore/i18n.c',
28  'pulsecore/idxset.c',
29  'pulsecore/arpa-inet.c',
30  'pulsecore/iochannel.c',
31  'pulsecore/ioline.c',
32  'pulsecore/ipacl.c',
33  'pulsecore/json.c',
34  'pulsecore/lock-autospawn.c',
35  'pulsecore/log.c',
36  'pulsecore/ratelimit.c',
37  'pulsecore/mcalign.c',
38  'pulsecore/memblock.c',
39  'pulsecore/memblockq.c',
40  'pulsecore/memchunk.c',
41  'pulsecore/native-common.c',
42  'pulsecore/once.c',
43  'pulsecore/packet.c',
44  'pulsecore/parseaddr.c',
45  'pulsecore/pdispatch.c',
46  'pulsecore/pid.c',
47  'pulsecore/pipe.c',
48  'pulsecore/memtrap.c',
49  'pulsecore/aupdate.c',
50  'pulsecore/proplist-util.c',
51  'pulsecore/pstream-util.c',
52  'pulsecore/pstream.c',
53  'pulsecore/queue.c',
54  'pulsecore/random.c',
55  'pulsecore/srbchannel.c',
56  'pulsecore/sample-util.c',
57  'pulsecore/shm.c',
58  'pulsecore/bitset.c',
59  'pulsecore/socket-client.c',
60  'pulsecore/socket-util.c',
61  'pulsecore/strbuf.c',
62  'pulsecore/strlist.c',
63  'pulsecore/tagstruct.c',
64  'pulsecore/time-smoother.c',
65  'pulsecore/time-smoother_2.c',
66  'pulsecore/tokenizer.c',
67  'pulsecore/usergroup.c',
68  'pulsecore/sndfile-util.c',
69]
70
71libpulsecommon_headers = [
72  'pulse/client-conf.h',
73  'pulse/error.h',
74  'pulse/fork-detect.h',
75  'pulse/format.h',
76  'pulse/mainloop-api.h',
77  'pulse/xmalloc.h',
78  'pulse/proplist.h',
79  'pulse/utf8.h',
80  'pulse/channelmap.h',
81  'pulse/sample.h',
82  'pulse/util.h',
83  'pulse/timeval.h',
84  'pulse/rtclock.h',
85  'pulse/volume.h',
86  'pulsecore/atomic.h',
87  'pulsecore/authkey.h',
88  'pulsecore/conf-parser.h',
89  'pulsecore/core-error.h',
90  'pulsecore/core-format.h',
91  'pulsecore/core-rtclock.h',
92  'pulsecore/core-util.h',
93  'pulsecore/creds.h',
94  'pulsecore/dynarray.h',
95  'pulsecore/endianmacros.h',
96  'pulsecore/fdsem.h',
97  'pulsecore/flist.h',
98  'pulsecore/g711.h',
99  'pulsecore/hashmap.h',
100  'pulsecore/i18n.h',
101  'pulsecore/idxset.h',
102  'pulsecore/arpa-inet.h',
103  'pulsecore/iochannel.h',
104  'pulsecore/ioline.h',
105  'pulsecore/ipacl.h',
106  'pulsecore/json.h',
107  'pulsecore/llist.h',
108  'pulsecore/lock-autospawn.h',
109  'pulsecore/log.h',
110  'pulsecore/ratelimit.h',
111  'pulsecore/macro.h',
112  'pulsecore/mcalign.h',
113  'pulsecore/mem.h',
114  'pulsecore/memblock.h',
115  'pulsecore/memblockq.h',
116  'pulsecore/memchunk.h',
117  'pulsecore/mutex.h',
118  'pulsecore/native-common.h',
119  'pulsecore/once.h',
120  'pulsecore/packet.h',
121  'pulsecore/parseaddr.h',
122  'pulsecore/pdispatch.h',
123  'pulsecore/pid.h',
124  'pulsecore/pipe.h',
125  'pulsecore/memtrap.h',
126  'pulsecore/aupdate.h',
127  'pulsecore/proplist-util.h',
128  'pulsecore/pstream-util.h',
129  'pulsecore/pstream.h',
130  'pulsecore/queue.h',
131  'pulsecore/random.h',
132  'pulsecore/refcnt.h',
133  'pulsecore/srbchannel.h',
134  'pulsecore/sample-util.h',
135  'pulsecore/semaphore.h',
136  'pulsecore/shm.h',
137  'pulsecore/bitset.h',
138  'pulsecore/socket-client.h',
139  'pulsecore/socket-util.h',
140  'pulsecore/strbuf.h',
141  'pulsecore/strlist.h',
142  'pulsecore/tagstruct.h',
143  'pulsecore/thread.h',
144  'pulsecore/time-smoother.h',
145  'pulsecore/time-smoother_2.h',
146  'pulsecore/tokenizer.h',
147  'pulsecore/usergroup.h',
148  'pulsecore/sndfile-util.h',
149  'pulsecore/socket.h',
150]
151
152if dbus_dep.found()
153  libpulsecommon_sources += [
154    'pulsecore/dbus-util.c',
155    'pulsecore/rtkit.c',
156  ]
157  libpulsecommon_headers += [
158    'pulsecore/dbus-util.h',
159    'pulsecore/rtkit.h',
160  ]
161endif
162
163if x11_dep.found()
164  libpulsecommon_sources += [
165    'pulse/client-conf-x11.c',
166    'pulsecore/x11prop.c',
167  ]
168  libpulsecommon_headers += [
169    'pulse/client-conf-x11.h',
170    'pulsecore/x11prop.h',
171  ]
172endif
173
174# FIXME: Do non-POSIX thread things
175if host_machine.system() == 'windows'
176  libpulsecommon_sources += [
177    'pulsecore/mutex-win32.c',
178    'pulsecore/poll-win32.c',
179    'pulsecore/semaphore-win32.c',
180    'pulsecore/thread-win32.c',
181  ]
182else
183  libpulsecommon_sources += [
184    'pulsecore/mutex-posix.c',
185    'pulsecore/semaphore-posix.c',
186    'pulsecore/thread-posix.c'
187  ]
188endif
189# FIXME: Do SIMD things
190
191if not get_option('client')
192  libpulsecommon_dep = cc.find_library('pulsecommon-' + pa_version_major_minor, dirs : privlibdir, required : true)
193  libpulse_dep = dependency('libpulse', required : true)
194  libpulse_simple_dep = dependency('libpulse-simple', required : true)
195else
196  libpulsecommon = shared_library('pulsecommon-' + pa_version_major_minor,
197    libpulsecommon_sources,
198    libpulsecommon_headers,
199    include_directories : [configinc, topinc],
200    c_args : [pa_c_args],
201    link_args : [nodelete_link_args],
202    install : true,
203    install_dir : privlibdir,
204    dependencies : [
205      libm_dep, thread_dep, dl_dep, shm_dep, iconv_dep, sndfile_dep, dbus_dep,
206      x11_dep, libsystemd_dep, glib_dep.partial_dependency(compile_args: true),
207      gtk_dep.partial_dependency(compile_args: true), asyncns_dep, libintl_dep,
208      platform_dep, platform_socket_dep, execinfo_dep,
209    ],
210    implicit_include_directories : false)
211
212  libpulsecommon_dep = declare_dependency(link_with: libpulsecommon)
213
214  subdir('pulse')
215endif
216
217if get_option('daemon')
218  subdir('pulsecore')
219  subdir('daemon')
220  subdir('modules')
221endif
222if get_option('tests')
223  subdir('tests')
224endif
225subdir('utils')
226