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 73run_target('update-map-file', 74 command : [ join_paths(meson.source_root(), 'scripts/generate-map-file.sh'), 'map-file', 75 [ libpulse_headers, 'simple.h', join_paths(meson.build_root(), 'src', 'pulse', 'version.h') ] ]) 76 77versioning_link_args = '-Wl,-version-script=' + join_paths(meson.source_root(), 'src', 'pulse', 'map-file') 78 79libpulse = shared_library('pulse', 80 libpulse_sources, 81 libpulse_headers, 82 version : libpulse_version, 83 include_directories : [configinc, topinc], 84 c_args : [pa_c_args], 85 link_args : [nodelete_link_args, versioning_link_args], 86 install : true, 87 install_rpath : privlibdir, 88 dependencies : [libm_dep, thread_dep, libpulsecommon_dep, dbus_dep, dl_dep, iconv_dep, libintl_dep, platform_dep, platform_socket_dep], 89 implicit_include_directories : false) 90 91libpulse_dep = declare_dependency(link_with: libpulse) 92 93install_headers( 94 libpulse_headers, 'simple.h', 95 subdir : 'pulse' 96) 97 98libpulse_simple = shared_library('pulse-simple', 99 'simple.c', 100 'simple.h', 101 version : libpulse_simple_version, 102 c_args : [pa_c_args], 103 link_args : [nodelete_link_args, versioning_link_args], 104 include_directories : [configinc, topinc], 105 dependencies : [libpulse_dep, libpulsecommon_dep], 106 install : true, 107 install_rpath : privlibdir, 108) 109 110libpulse_simple_dep = declare_dependency(link_with: libpulse_simple) 111 112if glib_dep.found() 113 libpulse_mainloop_glib = shared_library('pulse-mainloop-glib', 114 'glib-mainloop.c', 115 'glib-mainloop.h', 116 version : libpulse_mainloop_glib_version, 117 c_args : [pa_c_args], 118 link_args : [nodelete_link_args, versioning_link_args], 119 include_directories : [configinc, topinc], 120 dependencies : [libpulse_dep, libpulsecommon_dep, glib_dep], 121 install : true, 122 install_rpath : privlibdir, 123 ) 124 125 libpulse_mainloop_glib_dep = declare_dependency(link_with: libpulse_mainloop_glib) 126endif 127 128# Configuration files 129 130client_conf = configuration_data() 131client_conf.set('PA_BINARY', cdata.get_unquoted('PA_BINARY')) 132 133client_conf_file = configure_file( 134 input : 'client.conf.in', 135 output : 'client.conf', 136 configuration : client_conf, 137 install_dir : pulsesysconfdir, 138) 139