1configure_file( 2 input : 'version.h.in', 3 output : 'version.h', 4 configuration : cdata, 5 install_dir : join_paths(includedir, 'pulse'), 6) 7 8libpulse_sources = [ 9 'channelmap.c', 10 'context.c', 11 'direction.c', 12 'error.c', 13 'ext-device-manager.c', 14 'ext-device-restore.c', 15 'ext-stream-restore.c', 16 'format.c', 17 'internal.h', 18 'introspect.c', 19 'mainloop-api.c', 20 'mainloop-signal.c', 21 'mainloop.c', 22 'operation.c', 23 'proplist.c', 24 'rtclock.c', 25 'sample.c', 26 'scache.c', 27 'stream.c', 28 'subscribe.c', 29 'thread-mainloop.c', 30 'timeval.c', 31 'utf8.c', 32 'util.c', 33 'volume.c', 34 'xmalloc.c', 35] 36 37libpulse_headers = [ 38 'cdecl.h', 39 'channelmap.h', 40 'context.h', 41 'def.h', 42 'direction.h', 43 'error.h', 44 'ext-device-manager.h', 45 'ext-device-restore.h', 46 'ext-stream-restore.h', 47 'format.h', 48 'gccmacro.h', 49 'introspect.h', 50 'mainloop-api.h', 51 'mainloop-signal.h', 52 'mainloop.h', 53 'operation.h', 54 'proplist.h', 55 'pulseaudio.h', 56 'rtclock.h', 57 'sample.h', 58 'scache.h', 59 'stream.h', 60 'subscribe.h', 61 'thread-mainloop.h', 62 'timeval.h', 63 'utf8.h', 64 'util.h', 65 'volume.h', 66 'xmalloc.h', 67] 68 69if glib_dep.found() 70 libpulse_headers += 'glib-mainloop.h' 71endif 72 73if host_machine.system() != 'windows' and host_machine.system() != 'darwin' 74 run_target('update-map-file', 75 command : [ join_paths(meson.source_root(), 'scripts/generate-map-file.sh'), 'map-file', 'libpulse.def', 76 [ libpulse_headers, 'simple.h', join_paths(meson.build_root(), 'src', 'pulse', 'version.h') ] ]) 77 78 versioning_link_args = ['-Wl,-version-script=' + join_paths(meson.source_root(), 'src', 'pulse', 'map-file')] 79else 80 versioning_link_args = [] 81endif 82 83libpulse = shared_library('pulse', 84 libpulse_sources, 85 libpulse_headers, 86 version : libpulse_version, 87 include_directories : [configinc, topinc], 88 c_args : [pa_c_args], 89 link_args : [nodelete_link_args, versioning_link_args], 90 install : true, 91 install_rpath : privlibdir, 92 dependencies : [libm_dep, thread_dep, libpulsecommon_dep, dbus_dep, dl_dep, iconv_dep, libintl_dep, platform_dep, platform_socket_dep, libatomic_ops_dep], 93 implicit_include_directories : false, 94 vs_module_defs : 'libpulse.def', 95) 96 97libpulse_dep = declare_dependency(link_with: libpulse) 98 99install_headers( 100 libpulse_headers, 'simple.h', 101 subdir : 'pulse' 102) 103 104libpulse_simple = shared_library('pulse-simple', 105 'simple.c', 106 'simple.h', 107 version : libpulse_simple_version, 108 c_args : [pa_c_args], 109 link_args : [nodelete_link_args, versioning_link_args], 110 include_directories : [configinc, topinc], 111 dependencies : [libpulse_dep, libpulsecommon_dep], 112 install : true, 113 install_rpath : privlibdir, 114) 115 116libpulse_simple_dep = declare_dependency(link_with: libpulse_simple) 117 118if glib_dep.found() 119 libpulse_mainloop_glib = shared_library('pulse-mainloop-glib', 120 'glib-mainloop.c', 121 'glib-mainloop.h', 122 version : libpulse_mainloop_glib_version, 123 c_args : [pa_c_args], 124 link_args : [nodelete_link_args, versioning_link_args], 125 include_directories : [configinc, topinc], 126 dependencies : [libpulse_dep, libpulsecommon_dep, glib_dep], 127 install : true, 128 install_rpath : privlibdir, 129 ) 130 131 libpulse_mainloop_glib_dep = declare_dependency(link_with: libpulse_mainloop_glib) 132endif 133 134# Configuration files 135 136client_conf = configuration_data() 137client_conf.set('PA_BINARY', cdata.get_unquoted('PA_BINARY')) 138 139client_conf_file = configure_file( 140 input : 'client.conf.in', 141 output : 'client.conf', 142 configuration : client_conf, 143 install_dir : pulsesysconfdir, 144)