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