1pulseaudio_sources = [ 2 'caps.c', 3 'cmdline.c', 4 'cpulimit.c', 5 'daemon-conf.c', 6 'dumpmodules.c', 7 'ltdl-bind-now.c', 8 'main.c', 9] 10 11pulseaudio_headers = [ 12 'caps.h', 13 'cmdline.h', 14 'cpulimit.h', 15 'daemon-conf.h', 16 'dumpmodules.h', 17 'ltdl-bind-now.h', 18] 19 20if dbus_dep.found() 21 pulseaudio_sources += 'server-lookup.c' 22 pulseaudio_headers += 'server-lookup.h' 23endif 24 25# FIXME: dependencies 26executable('pulseaudio', 27 pulseaudio_sources, 28 pulseaudio_headers, 29 install: true, 30 install_rpath : privlibdir, 31 include_directories : [configinc, topinc], 32 link_args : ['-ffast-math'], 33 link_with : [libpulsecore], 34 dependencies : [ltdl_dep, cap_dep, dbus_dep, libsystemd_dep, dl_dep, libintl_dep, platform_dep, platform_socket_dep, libpulsecommon_dep, libpulse_dep], 35 c_args : pa_c_args, 36) 37 38if x11_dep.found() 39 conf = configuration_data() 40 conf.set('PACTL_BINARY', join_paths(bindir, 'pactl')) 41 42 configure_file( 43 input : 'start-pulseaudio-x11.in', 44 output : 'start-pulseaudio-x11', 45 configuration : conf, 46 install : true, 47 install_dir : bindir, 48 ) 49 50 configure_file( 51 input : 'start-pulseaudio-x11.in', 52 output : '00-pulseaudio-x11', 53 configuration : conf, 54 install : true, 55 install_dir : join_paths(sysconfdir, 'xdg', 'Xwayland-session.d'), 56 ) 57 58 desktop_file = i18n.merge_file( 59 input : 'pulseaudio.desktop.in', 60 output : 'pulseaudio.desktop', 61 po_dir : po_dir, 62 type : 'desktop', 63 install : true, 64 install_dir : join_paths(sysconfdir, 'xdg', 'autostart'), 65 ) 66 67 desktop_utils = find_program('desktop-file-validate', required: false) 68 if desktop_utils.found() 69 test('Validate desktop file', desktop_utils, 70 args: [ desktop_file ], 71 ) 72 endif 73endif 74 75# Configuration files 76 77m4 = find_program('m4', required: true) 78 79daemon_conf = configuration_data() 80daemon_conf.merge_from(cdata) 81daemon_conf.set('PA_DEFAULT_CONFIG_DIR', cdata.get_unquoted('PA_DEFAULT_CONFIG_DIR')) 82 83daemon_template_file = configure_file( 84 input : 'daemon.conf.in', 85 output : 'daemon.conf.tmp', 86 configuration : daemon_conf, 87) 88 89custom_target('daemon.conf', 90 input : daemon_template_file, 91 output : 'daemon.conf', 92 capture : true, 93 command : [m4, '@INPUT@'], 94 build_by_default : true, 95 install : true, 96 install_dir : pulsesysconfdir, 97) 98 99default_conf = configuration_data() 100default_conf.merge_from(cdata) 101default_conf.set('PA_BINARY', cdata.get_unquoted('PA_BINARY')) 102default_conf.set('PA_SOEXT', cdata.get_unquoted('PA_SOEXT')) 103default_conf.set10('HAVE_AF_UNIX', cc.has_header('sys/un.h') ? true : cc.has_header('winsock2.h')) 104default_conf.set10('OS_IS_WIN32', host_machine.system() == 'windows') 105default_conf.set10('HAVE_MKFIFO', cc.has_function('mkfifo')) 106 107default_template_file = configure_file( 108 input : 'default.pa.in', 109 output : 'default.pa.tmp', 110 configuration : default_conf, 111) 112 113custom_target('default.pa', 114 input : default_template_file, 115 output : 'default.pa', 116 capture : true, 117 command : [m4, '@INPUT@'], 118 build_by_default : true, 119 install : true, 120 install_dir : pulsesysconfdir, 121) 122 123system_conf = configuration_data() 124system_conf.merge_from(default_conf) 125 126system_template_file = configure_file( 127 input : 'system.pa.in', 128 output : 'system.pa.tmp', 129 configuration : system_conf, 130) 131 132custom_target('system.pa', 133 input : system_template_file, 134 output : 'system.pa', 135 capture : true, 136 command : [m4, '@INPUT@'], 137 build_by_default : true, 138 install : true, 139 install_dir : pulsesysconfdir, 140) 141 142if dbus_dep.found() 143 install_data('pulseaudio-system.conf', 144 install_dir : join_paths(sysconfdir, 'dbus-1', 'system.d') 145 ) 146endif 147 148if systemd_dep.found() 149 sd_user_service_conf = configuration_data() 150 sd_user_service_conf.set('PA_BINARY', cdata.get_unquoted('PA_BINARY')) 151 sd_user_service_conf.set('PACTL_BINARY', join_paths(bindir, 'pactl')) 152 sd_user_service_conf.set('PA_X11_BINARY', join_paths(bindir, 'start-pulseaudio-x11')) 153 154 sd_user_service_file = configure_file( 155 input : 'systemd/user/pulseaudio.service.in', 156 output : 'pulseaudio.service', 157 configuration : sd_user_service_conf, 158 install : true, 159 install_dir : systemduserunitdir, 160 ) 161 162 sd_user_x11_service_file = configure_file( 163 input : 'systemd/user/pulseaudio-x11.service.in', 164 output : 'pulseaudio-x11.service', 165 configuration : sd_user_service_conf, 166 install : true, 167 install_dir : systemduserunitdir, 168 ) 169 170 install_data('systemd/user/pulseaudio.socket', 171 install_dir: systemduserunitdir, 172 ) 173endif 174