153a5a1b3Sopenharmony_cilibpulsecommon_sources = [
253a5a1b3Sopenharmony_ci  'pulse/client-conf.c',
353a5a1b3Sopenharmony_ci  'pulse/error.c',
453a5a1b3Sopenharmony_ci  'pulse/fork-detect.c',
553a5a1b3Sopenharmony_ci  'pulse/format.c',
653a5a1b3Sopenharmony_ci  'pulse/mainloop-api.c',
753a5a1b3Sopenharmony_ci  'pulse/xmalloc.c',
853a5a1b3Sopenharmony_ci  'pulse/proplist.c',
953a5a1b3Sopenharmony_ci  'pulse/utf8.c',
1053a5a1b3Sopenharmony_ci  'pulse/channelmap.c',
1153a5a1b3Sopenharmony_ci  'pulse/sample.c',
1253a5a1b3Sopenharmony_ci  'pulse/util.c',
1353a5a1b3Sopenharmony_ci  'pulse/timeval.c',
1453a5a1b3Sopenharmony_ci  'pulse/rtclock.c',
1553a5a1b3Sopenharmony_ci  'pulse/volume.c',
1653a5a1b3Sopenharmony_ci  'pulsecore/authkey.c',
1753a5a1b3Sopenharmony_ci  'pulsecore/conf-parser.c',
1853a5a1b3Sopenharmony_ci  'pulsecore/core-error.c',
1953a5a1b3Sopenharmony_ci  'pulsecore/core-format.c',
2053a5a1b3Sopenharmony_ci  'pulsecore/core-rtclock.c',
2153a5a1b3Sopenharmony_ci  'pulsecore/core-util.c',
2253a5a1b3Sopenharmony_ci  'pulsecore/dynarray.c',
2353a5a1b3Sopenharmony_ci  'pulsecore/fdsem.c',
2453a5a1b3Sopenharmony_ci  'pulsecore/flist.c',
2553a5a1b3Sopenharmony_ci  'pulsecore/g711.c',
2653a5a1b3Sopenharmony_ci  'pulsecore/hashmap.c',
2753a5a1b3Sopenharmony_ci  'pulsecore/i18n.c',
2853a5a1b3Sopenharmony_ci  'pulsecore/idxset.c',
2953a5a1b3Sopenharmony_ci  'pulsecore/arpa-inet.c',
3053a5a1b3Sopenharmony_ci  'pulsecore/iochannel.c',
3153a5a1b3Sopenharmony_ci  'pulsecore/ioline.c',
3253a5a1b3Sopenharmony_ci  'pulsecore/ipacl.c',
3353a5a1b3Sopenharmony_ci  'pulsecore/json.c',
3453a5a1b3Sopenharmony_ci  'pulsecore/lock-autospawn.c',
3553a5a1b3Sopenharmony_ci  'pulsecore/log.c',
3653a5a1b3Sopenharmony_ci  'pulsecore/ratelimit.c',
3753a5a1b3Sopenharmony_ci  'pulsecore/mcalign.c',
3853a5a1b3Sopenharmony_ci  'pulsecore/memblock.c',
3953a5a1b3Sopenharmony_ci  'pulsecore/memblockq.c',
4053a5a1b3Sopenharmony_ci  'pulsecore/memchunk.c',
4153a5a1b3Sopenharmony_ci  'pulsecore/native-common.c',
4253a5a1b3Sopenharmony_ci  'pulsecore/once.c',
4353a5a1b3Sopenharmony_ci  'pulsecore/packet.c',
4453a5a1b3Sopenharmony_ci  'pulsecore/parseaddr.c',
4553a5a1b3Sopenharmony_ci  'pulsecore/pdispatch.c',
4653a5a1b3Sopenharmony_ci  'pulsecore/pid.c',
4753a5a1b3Sopenharmony_ci  'pulsecore/pipe.c',
4853a5a1b3Sopenharmony_ci  'pulsecore/memtrap.c',
4953a5a1b3Sopenharmony_ci  'pulsecore/aupdate.c',
5053a5a1b3Sopenharmony_ci  'pulsecore/proplist-util.c',
5153a5a1b3Sopenharmony_ci  'pulsecore/pstream-util.c',
5253a5a1b3Sopenharmony_ci  'pulsecore/pstream.c',
5353a5a1b3Sopenharmony_ci  'pulsecore/queue.c',
5453a5a1b3Sopenharmony_ci  'pulsecore/random.c',
5553a5a1b3Sopenharmony_ci  'pulsecore/srbchannel.c',
5653a5a1b3Sopenharmony_ci  'pulsecore/sample-util.c',
5753a5a1b3Sopenharmony_ci  'pulsecore/shm.c',
5853a5a1b3Sopenharmony_ci  'pulsecore/bitset.c',
5953a5a1b3Sopenharmony_ci  'pulsecore/socket-client.c',
6053a5a1b3Sopenharmony_ci  'pulsecore/socket-util.c',
6153a5a1b3Sopenharmony_ci  'pulsecore/strbuf.c',
6253a5a1b3Sopenharmony_ci  'pulsecore/strlist.c',
6353a5a1b3Sopenharmony_ci  'pulsecore/tagstruct.c',
6453a5a1b3Sopenharmony_ci  'pulsecore/time-smoother.c',
6553a5a1b3Sopenharmony_ci  'pulsecore/time-smoother_2.c',
6653a5a1b3Sopenharmony_ci  'pulsecore/tokenizer.c',
6753a5a1b3Sopenharmony_ci  'pulsecore/usergroup.c',
6853a5a1b3Sopenharmony_ci  'pulsecore/sndfile-util.c',
6953a5a1b3Sopenharmony_ci]
7053a5a1b3Sopenharmony_ci
7153a5a1b3Sopenharmony_cilibpulsecommon_headers = [
7253a5a1b3Sopenharmony_ci  'pulse/client-conf.h',
7353a5a1b3Sopenharmony_ci  'pulse/error.h',
7453a5a1b3Sopenharmony_ci  'pulse/fork-detect.h',
7553a5a1b3Sopenharmony_ci  'pulse/format.h',
7653a5a1b3Sopenharmony_ci  'pulse/mainloop-api.h',
7753a5a1b3Sopenharmony_ci  'pulse/xmalloc.h',
7853a5a1b3Sopenharmony_ci  'pulse/proplist.h',
7953a5a1b3Sopenharmony_ci  'pulse/utf8.h',
8053a5a1b3Sopenharmony_ci  'pulse/channelmap.h',
8153a5a1b3Sopenharmony_ci  'pulse/sample.h',
8253a5a1b3Sopenharmony_ci  'pulse/util.h',
8353a5a1b3Sopenharmony_ci  'pulse/timeval.h',
8453a5a1b3Sopenharmony_ci  'pulse/rtclock.h',
8553a5a1b3Sopenharmony_ci  'pulse/volume.h',
8653a5a1b3Sopenharmony_ci  'pulsecore/atomic.h',
8753a5a1b3Sopenharmony_ci  'pulsecore/authkey.h',
8853a5a1b3Sopenharmony_ci  'pulsecore/conf-parser.h',
8953a5a1b3Sopenharmony_ci  'pulsecore/core-error.h',
9053a5a1b3Sopenharmony_ci  'pulsecore/core-format.h',
9153a5a1b3Sopenharmony_ci  'pulsecore/core-rtclock.h',
9253a5a1b3Sopenharmony_ci  'pulsecore/core-util.h',
9353a5a1b3Sopenharmony_ci  'pulsecore/creds.h',
9453a5a1b3Sopenharmony_ci  'pulsecore/dynarray.h',
9553a5a1b3Sopenharmony_ci  'pulsecore/endianmacros.h',
9653a5a1b3Sopenharmony_ci  'pulsecore/fdsem.h',
9753a5a1b3Sopenharmony_ci  'pulsecore/flist.h',
9853a5a1b3Sopenharmony_ci  'pulsecore/g711.h',
9953a5a1b3Sopenharmony_ci  'pulsecore/hashmap.h',
10053a5a1b3Sopenharmony_ci  'pulsecore/i18n.h',
10153a5a1b3Sopenharmony_ci  'pulsecore/idxset.h',
10253a5a1b3Sopenharmony_ci  'pulsecore/arpa-inet.h',
10353a5a1b3Sopenharmony_ci  'pulsecore/iochannel.h',
10453a5a1b3Sopenharmony_ci  'pulsecore/ioline.h',
10553a5a1b3Sopenharmony_ci  'pulsecore/ipacl.h',
10653a5a1b3Sopenharmony_ci  'pulsecore/json.h',
10753a5a1b3Sopenharmony_ci  'pulsecore/llist.h',
10853a5a1b3Sopenharmony_ci  'pulsecore/lock-autospawn.h',
10953a5a1b3Sopenharmony_ci  'pulsecore/log.h',
11053a5a1b3Sopenharmony_ci  'pulsecore/ratelimit.h',
11153a5a1b3Sopenharmony_ci  'pulsecore/macro.h',
11253a5a1b3Sopenharmony_ci  'pulsecore/mcalign.h',
11353a5a1b3Sopenharmony_ci  'pulsecore/mem.h',
11453a5a1b3Sopenharmony_ci  'pulsecore/memblock.h',
11553a5a1b3Sopenharmony_ci  'pulsecore/memblockq.h',
11653a5a1b3Sopenharmony_ci  'pulsecore/memchunk.h',
11753a5a1b3Sopenharmony_ci  'pulsecore/mutex.h',
11853a5a1b3Sopenharmony_ci  'pulsecore/native-common.h',
11953a5a1b3Sopenharmony_ci  'pulsecore/once.h',
12053a5a1b3Sopenharmony_ci  'pulsecore/packet.h',
12153a5a1b3Sopenharmony_ci  'pulsecore/parseaddr.h',
12253a5a1b3Sopenharmony_ci  'pulsecore/pdispatch.h',
12353a5a1b3Sopenharmony_ci  'pulsecore/pid.h',
12453a5a1b3Sopenharmony_ci  'pulsecore/pipe.h',
12553a5a1b3Sopenharmony_ci  'pulsecore/memtrap.h',
12653a5a1b3Sopenharmony_ci  'pulsecore/aupdate.h',
12753a5a1b3Sopenharmony_ci  'pulsecore/proplist-util.h',
12853a5a1b3Sopenharmony_ci  'pulsecore/pstream-util.h',
12953a5a1b3Sopenharmony_ci  'pulsecore/pstream.h',
13053a5a1b3Sopenharmony_ci  'pulsecore/queue.h',
13153a5a1b3Sopenharmony_ci  'pulsecore/random.h',
13253a5a1b3Sopenharmony_ci  'pulsecore/refcnt.h',
13353a5a1b3Sopenharmony_ci  'pulsecore/srbchannel.h',
13453a5a1b3Sopenharmony_ci  'pulsecore/sample-util.h',
13553a5a1b3Sopenharmony_ci  'pulsecore/semaphore.h',
13653a5a1b3Sopenharmony_ci  'pulsecore/shm.h',
13753a5a1b3Sopenharmony_ci  'pulsecore/bitset.h',
13853a5a1b3Sopenharmony_ci  'pulsecore/socket-client.h',
13953a5a1b3Sopenharmony_ci  'pulsecore/socket-util.h',
14053a5a1b3Sopenharmony_ci  'pulsecore/strbuf.h',
14153a5a1b3Sopenharmony_ci  'pulsecore/strlist.h',
14253a5a1b3Sopenharmony_ci  'pulsecore/tagstruct.h',
14353a5a1b3Sopenharmony_ci  'pulsecore/thread.h',
14453a5a1b3Sopenharmony_ci  'pulsecore/time-smoother.h',
14553a5a1b3Sopenharmony_ci  'pulsecore/time-smoother_2.h',
14653a5a1b3Sopenharmony_ci  'pulsecore/tokenizer.h',
14753a5a1b3Sopenharmony_ci  'pulsecore/usergroup.h',
14853a5a1b3Sopenharmony_ci  'pulsecore/sndfile-util.h',
14953a5a1b3Sopenharmony_ci  'pulsecore/socket.h',
15053a5a1b3Sopenharmony_ci]
15153a5a1b3Sopenharmony_ci
15253a5a1b3Sopenharmony_ciif dbus_dep.found()
15353a5a1b3Sopenharmony_ci  libpulsecommon_sources += [
15453a5a1b3Sopenharmony_ci    'pulsecore/dbus-util.c',
15553a5a1b3Sopenharmony_ci    'pulsecore/rtkit.c',
15653a5a1b3Sopenharmony_ci  ]
15753a5a1b3Sopenharmony_ci  libpulsecommon_headers += [
15853a5a1b3Sopenharmony_ci    'pulsecore/dbus-util.h',
15953a5a1b3Sopenharmony_ci    'pulsecore/rtkit.h',
16053a5a1b3Sopenharmony_ci  ]
16153a5a1b3Sopenharmony_ciendif
16253a5a1b3Sopenharmony_ci
16353a5a1b3Sopenharmony_ciif x11_dep.found()
16453a5a1b3Sopenharmony_ci  libpulsecommon_sources += [
16553a5a1b3Sopenharmony_ci    'pulse/client-conf-x11.c',
16653a5a1b3Sopenharmony_ci    'pulsecore/x11prop.c',
16753a5a1b3Sopenharmony_ci  ]
16853a5a1b3Sopenharmony_ci  libpulsecommon_headers += [
16953a5a1b3Sopenharmony_ci    'pulse/client-conf-x11.h',
17053a5a1b3Sopenharmony_ci    'pulsecore/x11prop.h',
17153a5a1b3Sopenharmony_ci  ]
17253a5a1b3Sopenharmony_ciendif
17353a5a1b3Sopenharmony_ci
17453a5a1b3Sopenharmony_ci# FIXME: Do non-POSIX thread things
17553a5a1b3Sopenharmony_ciif host_machine.system() == 'windows'
17653a5a1b3Sopenharmony_ci  libpulsecommon_sources += [
17753a5a1b3Sopenharmony_ci    'pulsecore/mutex-win32.c',
17853a5a1b3Sopenharmony_ci    'pulsecore/poll-win32.c',
17953a5a1b3Sopenharmony_ci    'pulsecore/semaphore-win32.c',
18053a5a1b3Sopenharmony_ci    'pulsecore/thread-win32.c',
18153a5a1b3Sopenharmony_ci  ]
18253a5a1b3Sopenharmony_cielse
18353a5a1b3Sopenharmony_ci  libpulsecommon_sources += [
18453a5a1b3Sopenharmony_ci    'pulsecore/mutex-posix.c',
18553a5a1b3Sopenharmony_ci    'pulsecore/semaphore-posix.c',
18653a5a1b3Sopenharmony_ci    'pulsecore/thread-posix.c'
18753a5a1b3Sopenharmony_ci  ]
18853a5a1b3Sopenharmony_ciendif
18953a5a1b3Sopenharmony_ci# FIXME: Do SIMD things
19053a5a1b3Sopenharmony_ci
19153a5a1b3Sopenharmony_ciif not get_option('client')
19253a5a1b3Sopenharmony_ci  libpulsecommon_dep = cc.find_library('pulsecommon-' + pa_version_major_minor, dirs : privlibdir, required : true)
19353a5a1b3Sopenharmony_ci  libpulse_dep = dependency('libpulse', required : true)
19453a5a1b3Sopenharmony_ci  libpulse_simple_dep = dependency('libpulse-simple', required : true)
19553a5a1b3Sopenharmony_cielse
19653a5a1b3Sopenharmony_ci  libpulsecommon = shared_library('pulsecommon-' + pa_version_major_minor,
19753a5a1b3Sopenharmony_ci    libpulsecommon_sources,
19853a5a1b3Sopenharmony_ci    libpulsecommon_headers,
19953a5a1b3Sopenharmony_ci    include_directories : [configinc, topinc],
20053a5a1b3Sopenharmony_ci    c_args : [pa_c_args],
20153a5a1b3Sopenharmony_ci    link_args : [nodelete_link_args],
20253a5a1b3Sopenharmony_ci    install : true,
20353a5a1b3Sopenharmony_ci    install_dir : privlibdir,
20453a5a1b3Sopenharmony_ci    dependencies : [
20553a5a1b3Sopenharmony_ci      libm_dep, thread_dep, dl_dep, shm_dep, iconv_dep, sndfile_dep, dbus_dep,
20653a5a1b3Sopenharmony_ci      x11_dep, libsystemd_dep, glib_dep.partial_dependency(compile_args: true),
20753a5a1b3Sopenharmony_ci      gtk_dep.partial_dependency(compile_args: true), asyncns_dep, libintl_dep,
20853a5a1b3Sopenharmony_ci      platform_dep, platform_socket_dep, execinfo_dep,
20953a5a1b3Sopenharmony_ci    ],
21053a5a1b3Sopenharmony_ci    implicit_include_directories : false)
21153a5a1b3Sopenharmony_ci
21253a5a1b3Sopenharmony_ci  libpulsecommon_dep = declare_dependency(link_with: libpulsecommon)
21353a5a1b3Sopenharmony_ci
21453a5a1b3Sopenharmony_ci  subdir('pulse')
21553a5a1b3Sopenharmony_ciendif
21653a5a1b3Sopenharmony_ci
21753a5a1b3Sopenharmony_ciif get_option('daemon')
21853a5a1b3Sopenharmony_ci  subdir('pulsecore')
21953a5a1b3Sopenharmony_ci  subdir('daemon')
22053a5a1b3Sopenharmony_ci  subdir('modules')
22153a5a1b3Sopenharmony_ciendif
22253a5a1b3Sopenharmony_ciif get_option('tests')
22353a5a1b3Sopenharmony_ci  subdir('tests')
22453a5a1b3Sopenharmony_ciendif
22553a5a1b3Sopenharmony_cisubdir('utils')
226