mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-10-29 05:40:23 -04:00 
			
		
		
		
	build-sys: meson: Rearrange dependencies under client and daemon options
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/659>
This commit is contained in:
		
							parent
							
								
									6dd14ad9f1
								
							
						
					
					
						commit
						80c0a497d3
					
				
					 2 changed files with 273 additions and 252 deletions
				
			
		
							
								
								
									
										430
									
								
								meson.build
									
										
									
									
									
								
							
							
						
						
									
										430
									
								
								meson.build
									
										
									
									
									
								
							|  | @ -585,158 +585,176 @@ if host_machine.cpu_family() == 'arm' | ||||||
| endif | endif | ||||||
| # NEON checks are automatically done by the unstable-simd module | # NEON checks are automatically done by the unstable-simd module | ||||||
| 
 | 
 | ||||||
| if get_option('daemon') | # Dependencies common to client, daemon and modules | ||||||
|   # FIXME: make sure it's >= 2.2 |  | ||||||
|   ltdl_dep = cc.find_library('ltdl', required : true) |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| # FIXME: can meson support libtool -dlopen/-dlpreopen things? |  | ||||||
| #        and do we still want to support this at all? |  | ||||||
| cdata.set('DISABLE_LIBTOOL_PRELOAD', 1) |  | ||||||
| 
 |  | ||||||
| if get_option('database') == 'tdb' |  | ||||||
|   database_dep = dependency('tdb') |  | ||||||
| elif get_option('database') == 'gdbm' |  | ||||||
|   database_dep = cc.find_library('gdbm', required : true) |  | ||||||
| else |  | ||||||
|   database_dep = dependency('', required: false) |  | ||||||
| endif |  | ||||||
| 
 | 
 | ||||||
| if get_option('ipv6') | if get_option('ipv6') | ||||||
|   cdata.set('HAVE_IPV6', 1) |   cdata.set('HAVE_IPV6', 1) | ||||||
| endif | endif | ||||||
| 
 | 
 | ||||||
| if get_option('legacy-database-entry-format') |  | ||||||
|   cdata.set('ENABLE_LEGACY_DATABASE_ENTRY_FORMAT', 1) |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| if get_option('stream-restore-clear-old-devices') |  | ||||||
|   cdata.set('STREAM_RESTORE_CLEAR_OLD_DEVICES', 1) |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| if get_option('running-from-build-tree') |  | ||||||
|   cdata.set('HAVE_RUNNING_FROM_BUILD_TREE', 1) |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| if get_option('enable-smoother-2') |  | ||||||
|   cdata.set('USE_SMOOTHER_2', 1) |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| alsa_dep = dependency('alsa', version : '>= 1.0.24', required : get_option('alsa')) |  | ||||||
| if alsa_dep.found() |  | ||||||
|   cdata.set('HAVE_ALSA', 1) |  | ||||||
|   cdata.set('HAVE_ALSA_UCM', 1) |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| asyncns_dep = dependency('libasyncns', version : '>= 0.1', required : get_option('asyncns')) |  | ||||||
| if asyncns_dep.found() |  | ||||||
|   cdata.set('HAVE_LIBASYNCNS', 1) |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| dbus_dep = dependency('dbus-1', version : '>= 1.4.12', required : get_option('dbus')) | dbus_dep = dependency('dbus-1', version : '>= 1.4.12', required : get_option('dbus')) | ||||||
| if dbus_dep.found() | if dbus_dep.found() | ||||||
|   cdata.set('HAVE_DBUS', 1) |   cdata.set('HAVE_DBUS', 1) | ||||||
| endif | endif | ||||||
| 
 | 
 | ||||||
| gio_dep = dependency('gio-2.0', version : '>= 2.26.0') |  | ||||||
| if get_option('gsettings').enabled() |  | ||||||
|   assert(gio_dep.found(), 'GSettings support needs glib I/O library (GIO)') |  | ||||||
|   cdata.set('HAVE_GSETTINGS', 1) |  | ||||||
| else |  | ||||||
|   cdata.set('HAVE_GSETTINGS', 0) |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| glib_dep = dependency('glib-2.0', version : '>= 2.28.0', required: get_option('glib')) |  | ||||||
| if glib_dep.found() |  | ||||||
|   cdata.set('HAVE_GLIB', 1) |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| gtk_dep = dependency('gtk+-3.0', required : get_option('gtk')) |  | ||||||
| if gtk_dep.found() |  | ||||||
|   cdata.set('HAVE_GTK', 1) |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| have_orcc = false |  | ||||||
| orcc_args = [] |  | ||||||
| orc_dep = dependency('orc-0.4', version : '>= 0.4.11', required : get_option('orc')) |  | ||||||
| orcc = find_program('orcc', required : get_option('orc')) |  | ||||||
| if orc_dep.found() and orcc.found() |  | ||||||
|   have_orcc = true |  | ||||||
|   orcc_args = [orcc] |  | ||||||
|   #orcc_args = [orcc, '--include', 'glib.h'] |  | ||||||
|   cdata.set('HAVE_ORC', 1) |  | ||||||
| else |  | ||||||
|   cdata.set('DISABLE_ORC', 1) |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| samplerate_dep = dependency('samplerate', version : '>= 0.1.0', required : get_option('samplerate')) |  | ||||||
| if samplerate_dep.found() |  | ||||||
|   cdata.set('HAVE_LIBSAMPLERATE', 1) |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| sndfile_dep = dependency('sndfile', version : '>= 1.0.20') | sndfile_dep = dependency('sndfile', version : '>= 1.0.20') | ||||||
| 
 | 
 | ||||||
| soxr_dep = dependency('soxr', version : '>= 0.1.1', required : get_option('soxr')) |  | ||||||
| if soxr_dep.found() |  | ||||||
|   cdata.set('HAVE_SOXR', 1) |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| libsystemd_dep = dependency('libsystemd', required : get_option('systemd')) | libsystemd_dep = dependency('libsystemd', required : get_option('systemd')) | ||||||
| if libsystemd_dep.found() | if libsystemd_dep.found() | ||||||
|   cdata.set('HAVE_SYSTEMD_DAEMON', 1) |   cdata.set('HAVE_SYSTEMD_DAEMON', 1) | ||||||
|   cdata.set('HAVE_SYSTEMD_LOGIN', 1) |   cdata.set('HAVE_SYSTEMD_LOGIN', 1) | ||||||
|   cdata.set('HAVE_SYSTEMD_JOURNAL', 1) |   cdata.set('HAVE_SYSTEMD_JOURNAL', 1) | ||||||
| endif | endif | ||||||
| systemd_dep = dependency('systemd', required : get_option('systemd')) |  | ||||||
| if systemd_dep.found() and systemduserunitdir == '' |  | ||||||
|   systemduserunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir') |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| libelogind_dep = dependency('libelogind', required : get_option('elogind')) |  | ||||||
| if libelogind_dep.found() |  | ||||||
|   cdata.set('HAVE_SYSTEMD_LOGIN', 1) |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| tcpwrap_dep = cc.find_library('wrap', required: get_option('tcpwrap')) |  | ||||||
| if cc.has_header('tcpd.h') and cc.has_function('hosts_access', dependencies : tcpwrap_dep) |  | ||||||
|   cdata.set('HAVE_LIBWRAP', 1) |  | ||||||
| endif |  | ||||||
| 
 | 
 | ||||||
| x11_dep = dependency('x11-xcb', required : get_option('x11')) | x11_dep = dependency('x11-xcb', required : get_option('x11')) | ||||||
| if x11_dep.found() |  | ||||||
|   xcb_dep  = dependency('xcb',  required : true, version : '>= 1.6') |  | ||||||
|   ice_dep  = dependency('ice',  required : get_option('daemon')) |  | ||||||
|   sm_dep   = dependency('sm',   required : get_option('daemon')) |  | ||||||
|   xtst_dep = dependency('xtst', required : get_option('daemon')) |  | ||||||
|   cdata.set('HAVE_X11', 1) |  | ||||||
|   if cc.has_function('XSetIOErrorExitHandler', dependencies: x11_dep) |  | ||||||
|     cdata.set('HAVE_XSETIOERROREXITHANDLER', 1) |  | ||||||
|   endif |  | ||||||
| endif |  | ||||||
| 
 | 
 | ||||||
| # Module dependencies | # OSS support | ||||||
| if cc.has_header('sys/soundcard.h', required: get_option('oss-output')) | if cc.has_header('sys/soundcard.h', required: get_option('oss-output')) | ||||||
|  |   # OSS output via daemon module-detect | ||||||
|   cdata.set('HAVE_OSS_OUTPUT', 1) |   cdata.set('HAVE_OSS_OUTPUT', 1) | ||||||
|  |   # OSS wrapper | ||||||
|   cdata.set('HAVE_OSS_WRAPPER', 1) |   cdata.set('HAVE_OSS_WRAPPER', 1) | ||||||
|   cdata.set('PULSEDSP_LOCATION', pulsedsp_location) |   cdata.set('PULSEDSP_LOCATION', pulsedsp_location) | ||||||
| endif | endif | ||||||
| 
 | 
 | ||||||
| if get_option('hal-compat') | # Client library dependencies | ||||||
|   cdata.set('HAVE_HAL_COMPAT', 1) | 
 | ||||||
|  | if get_option('client') | ||||||
|  |   asyncns_dep = dependency('libasyncns', version : '>= 0.1', required : get_option('asyncns')) | ||||||
|  |   if asyncns_dep.found() | ||||||
|  |     cdata.set('HAVE_LIBASYNCNS', 1) | ||||||
|  |   endif | ||||||
|  | 
 | ||||||
|  |   glib_dep = dependency('glib-2.0', version : '>= 2.28.0', required: get_option('glib')) | ||||||
|  |   if glib_dep.found() | ||||||
|  |     cdata.set('HAVE_GLIB', 1) | ||||||
|  |     cdata.set('HAVE_GLIB20', 1) # to match the AM_CONDITIONAL for CMake file generation | ||||||
|  |   endif | ||||||
|  | 
 | ||||||
|  |   gtk_dep = dependency('gtk+-3.0', required : get_option('gtk')) | ||||||
|  |   if gtk_dep.found() | ||||||
|  |     cdata.set('HAVE_GTK', 1) | ||||||
|  |   endif | ||||||
| endif | endif | ||||||
| 
 | 
 | ||||||
| avahi_dep = dependency('avahi-client', version : '>= 0.6.0', required : get_option('avahi'), disabler : true) | # Daemon and module dependencies | ||||||
| if avahi_dep.found() | 
 | ||||||
|  | if get_option('daemon') | ||||||
|  |   # FIXME: make sure it's >= 2.2 | ||||||
|  |   ltdl_dep = cc.find_library('ltdl', required : true) | ||||||
|  | 
 | ||||||
|  |   # FIXME: can meson support libtool -dlopen/-dlpreopen things? | ||||||
|  |   #        and do we still want to support this at all? | ||||||
|  |   cdata.set('DISABLE_LIBTOOL_PRELOAD', 1) | ||||||
|  | 
 | ||||||
|  |   if get_option('database') == 'tdb' | ||||||
|  |     database_dep = dependency('tdb') | ||||||
|  |   elif get_option('database') == 'gdbm' | ||||||
|  |     database_dep = cc.find_library('gdbm', required : true) | ||||||
|  |   else | ||||||
|  |     database_dep = dependency('', required: false) | ||||||
|  |   endif | ||||||
|  | 
 | ||||||
|  |   if get_option('legacy-database-entry-format') | ||||||
|  |     cdata.set('ENABLE_LEGACY_DATABASE_ENTRY_FORMAT', 1) | ||||||
|  |   endif | ||||||
|  | 
 | ||||||
|  |   if get_option('stream-restore-clear-old-devices') | ||||||
|  |     cdata.set('STREAM_RESTORE_CLEAR_OLD_DEVICES', 1) | ||||||
|  |   endif | ||||||
|  | 
 | ||||||
|  |   if get_option('running-from-build-tree') | ||||||
|  |     cdata.set('HAVE_RUNNING_FROM_BUILD_TREE', 1) | ||||||
|  |   endif | ||||||
|  | 
 | ||||||
|  |   if get_option('enable-smoother-2') | ||||||
|  |     cdata.set('USE_SMOOTHER_2', 1) | ||||||
|  |   endif | ||||||
|  | 
 | ||||||
|  |   alsa_dep = dependency('alsa', version : '>= 1.0.24', required : get_option('alsa')) | ||||||
|  |   if alsa_dep.found() | ||||||
|  |     cdata.set('HAVE_ALSA', 1) | ||||||
|  |     cdata.set('HAVE_ALSA_UCM', 1) | ||||||
|  |   endif | ||||||
|  | 
 | ||||||
|  |   gio_dep = dependency('gio-2.0', version : '>= 2.26.0') | ||||||
|  |   if get_option('gsettings').enabled() | ||||||
|  |     assert(gio_dep.found(), 'GSettings support needs glib I/O library (GIO)') | ||||||
|  |     cdata.set('HAVE_GSETTINGS', 1) | ||||||
|  |   else | ||||||
|  |     cdata.set('HAVE_GSETTINGS', 0) | ||||||
|  |   endif | ||||||
|  | 
 | ||||||
|  |   have_orcc = false | ||||||
|  |   orcc_args = [] | ||||||
|  |   orc_dep = dependency('orc-0.4', version : '>= 0.4.11', required : get_option('orc')) | ||||||
|  |   orcc = find_program('orcc', required : get_option('orc')) | ||||||
|  |   if orc_dep.found() and orcc.found() | ||||||
|  |     have_orcc = true | ||||||
|  |     orcc_args = [orcc] | ||||||
|  |     #orcc_args = [orcc, '--include', 'glib.h'] | ||||||
|  |     cdata.set('HAVE_ORC', 1) | ||||||
|  |   else | ||||||
|  |     cdata.set('DISABLE_ORC', 1) | ||||||
|  |   endif | ||||||
|  | 
 | ||||||
|  |   samplerate_dep = dependency('samplerate', version : '>= 0.1.0', required : get_option('samplerate')) | ||||||
|  |   if samplerate_dep.found() | ||||||
|  |     cdata.set('HAVE_LIBSAMPLERATE', 1) | ||||||
|  |   endif | ||||||
|  | 
 | ||||||
|  |   speex_dep = dependency('speexdsp', version : '>= 1.2', required : get_option('speex')) | ||||||
|  |   if speex_dep.found() | ||||||
|  |     cdata.set('HAVE_SPEEX', 1) | ||||||
|  |   endif | ||||||
|  | 
 | ||||||
|  |   soxr_dep = dependency('soxr', version : '>= 0.1.1', required : get_option('soxr')) | ||||||
|  |   if soxr_dep.found() | ||||||
|  |     cdata.set('HAVE_SOXR', 1) | ||||||
|  |   endif | ||||||
|  | 
 | ||||||
|  |   webrtc_dep = dependency('webrtc-audio-processing', version : '>= 0.2', required : get_option('webrtc-aec')) | ||||||
|  |   if webrtc_dep.found() | ||||||
|  |     cdata.set('HAVE_WEBRTC', 1) | ||||||
|  |   endif | ||||||
|  | 
 | ||||||
|  |   systemd_dep = dependency('systemd', required : get_option('systemd')) | ||||||
|  |   if systemd_dep.found() and systemduserunitdir == '' | ||||||
|  |     systemduserunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir') | ||||||
|  |   endif | ||||||
|  | 
 | ||||||
|  |   libelogind_dep = dependency('libelogind', required : get_option('elogind')) | ||||||
|  |   if libelogind_dep.found() | ||||||
|  |     cdata.set('HAVE_SYSTEMD_LOGIN', 1) | ||||||
|  |   endif | ||||||
|  | 
 | ||||||
|  |   tcpwrap_dep = cc.find_library('wrap', required: get_option('tcpwrap')) | ||||||
|  |   if cc.has_header('tcpd.h') and cc.has_function('hosts_access', dependencies : tcpwrap_dep) | ||||||
|  |     cdata.set('HAVE_LIBWRAP', 1) | ||||||
|  |   endif | ||||||
|  | 
 | ||||||
|  |   if x11_dep.found() | ||||||
|  |     xcb_dep  = dependency('xcb',  required : true, version : '>= 1.6') | ||||||
|  |     ice_dep  = dependency('ice',  required : true) | ||||||
|  |     sm_dep   = dependency('sm',   required : true) | ||||||
|  |     xtst_dep = dependency('xtst', required : true) | ||||||
|  |     cdata.set('HAVE_X11', 1) | ||||||
|  |     if cc.has_function('XSetIOErrorExitHandler', dependencies: x11_dep) | ||||||
|  |       cdata.set('HAVE_XSETIOERROREXITHANDLER', 1) | ||||||
|  |     endif | ||||||
|  |   endif | ||||||
|  | 
 | ||||||
|  |   avahi_dep = dependency('avahi-client', version : '>= 0.6.0', required : get_option('avahi'), disabler : true) | ||||||
|  |   if avahi_dep.found() | ||||||
|     cdata.set('HAVE_AVAHI', 1) |     cdata.set('HAVE_AVAHI', 1) | ||||||
| else |   else | ||||||
|     cdata.set('HAVE_AVAHI', 0) |     cdata.set('HAVE_AVAHI', 0) | ||||||
| endif |   endif | ||||||
| 
 | 
 | ||||||
| sbc_dep = dependency('sbc', version : '>= 1.0', required : false) |   sbc_dep = dependency('sbc', version : '>= 1.0', required : false) | ||||||
| 
 | 
 | ||||||
| bluez_dep = dependency('bluez', required : get_option('bluez5')) |   bluez_dep = dependency('bluez', required : get_option('bluez5')) | ||||||
| 
 | 
 | ||||||
| if bluez_dep.found() |   if bluez_dep.found() | ||||||
|     assert(dbus_dep.found(), 'BlueZ requires D-Bus support') |     assert(dbus_dep.found(), 'BlueZ requires D-Bus support') | ||||||
|     assert(sbc_dep.found(), 'BlueZ requires SBC support') |     assert(sbc_dep.found(), 'BlueZ requires SBC support') | ||||||
|     cdata.set('HAVE_SBC', 1) |     cdata.set('HAVE_SBC', 1) | ||||||
|  | @ -748,68 +766,60 @@ if bluez_dep.found() | ||||||
|     if get_option('bluez5-ofono-headset') |     if get_option('bluez5-ofono-headset') | ||||||
|       cdata.set('HAVE_BLUEZ_5_OFONO_HEADSET', 1) |       cdata.set('HAVE_BLUEZ_5_OFONO_HEADSET', 1) | ||||||
|     endif |     endif | ||||||
| endif |   endif | ||||||
| 
 | 
 | ||||||
| fftw_dep = dependency('fftw3f', required : get_option('fftw')) |   fftw_dep = dependency('fftw3f', required : get_option('fftw')) | ||||||
| if fftw_dep.found() |   if fftw_dep.found() | ||||||
|     cdata.set('HAVE_FFTW', 1) |     cdata.set('HAVE_FFTW', 1) | ||||||
| endif |   endif | ||||||
| 
 | 
 | ||||||
| jack_dep = dependency('jack', version : '>= 0.117.0', required : get_option('jack')) |   jack_dep = dependency('jack', version : '>= 0.117.0', required : get_option('jack')) | ||||||
| if jack_dep.found() |   if jack_dep.found() | ||||||
|     cdata.set('HAVE_JACK', 1) |     cdata.set('HAVE_JACK', 1) | ||||||
| endif |   endif | ||||||
| 
 | 
 | ||||||
| lirc_dep = dependency('lirc', required : get_option('lirc')) |   lirc_dep = dependency('lirc', required : get_option('lirc')) | ||||||
| if lirc_dep.found() |   if lirc_dep.found() | ||||||
|     cdata.set('HAVE_LIRC', 1) |     cdata.set('HAVE_LIRC', 1) | ||||||
| endif |   endif | ||||||
| 
 | 
 | ||||||
| openssl_dep = dependency('openssl', version : '>= 0.9', required : get_option('openssl')) |   openssl_dep = dependency('openssl', version : '>= 0.9', required : get_option('openssl')) | ||||||
| if openssl_dep.found() |   if openssl_dep.found() | ||||||
|     cdata.set('HAVE_OPENSSL', 1) |     cdata.set('HAVE_OPENSSL', 1) | ||||||
| endif |   endif | ||||||
| 
 | 
 | ||||||
| speex_dep = dependency('speexdsp', version : '>= 1.2', required : get_option('speex')) |   udev_dep = dependency('libudev', version : '>= 143', required : get_option('udev')) | ||||||
| if speex_dep.found() |   if udev_dep.found() | ||||||
|   cdata.set('HAVE_SPEEX', 1) |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| udev_dep = dependency('libudev', version : '>= 143', required : get_option('udev')) |  | ||||||
| if udev_dep.found() |  | ||||||
|     cdata.set('HAVE_UDEV', 1) |     cdata.set('HAVE_UDEV', 1) | ||||||
| endif |   endif | ||||||
| 
 | 
 | ||||||
| webrtc_dep = dependency('webrtc-audio-processing', version : '>= 0.2', required : get_option('webrtc-aec')) |   if get_option('hal-compat') | ||||||
| if webrtc_dep.found() |     cdata.set('HAVE_HAL_COMPAT', 1) | ||||||
|   cdata.set('HAVE_WEBRTC', 1) |   endif | ||||||
| endif |  | ||||||
| 
 | 
 | ||||||
| gst_dep = dependency('gstreamer-1.0', version : '>= 1.14', required : get_option('gstreamer')) |   gst_dep = dependency('gstreamer-1.0', version : '>= 1.14', required : get_option('gstreamer')) | ||||||
| gstapp_dep = dependency('gstreamer-app-1.0', required : get_option('gstreamer')) |   gstapp_dep = dependency('gstreamer-app-1.0', required : get_option('gstreamer')) | ||||||
| gstrtp_dep = dependency('gstreamer-rtp-1.0', required : get_option('gstreamer')) |   gstrtp_dep = dependency('gstreamer-rtp-1.0', required : get_option('gstreamer')) | ||||||
| 
 | 
 | ||||||
| have_gstreamer = false |   have_gstreamer = false | ||||||
| if gst_dep.found() and gstapp_dep.found() and gstrtp_dep.found() |   if gst_dep.found() and gstapp_dep.found() and gstrtp_dep.found() | ||||||
|     assert(gio_dep.found(), 'GStreamer-based RTP needs glib I/O library (GIO)') |     assert(gio_dep.found(), 'GStreamer-based RTP needs glib I/O library (GIO)') | ||||||
|     have_gstreamer = true |     have_gstreamer = true | ||||||
| endif |   endif | ||||||
| 
 | 
 | ||||||
| bluez5_gst_dep = dependency('gstreamer-1.0', version : '>= 1.14', required : get_option('bluez5-gstreamer')) |   bluez5_gst_dep = dependency('gstreamer-1.0', version : '>= 1.14', required : get_option('bluez5-gstreamer')) | ||||||
| bluez5_gstapp_dep = dependency('gstreamer-app-1.0', required : get_option('bluez5-gstreamer')) |   bluez5_gstapp_dep = dependency('gstreamer-app-1.0', required : get_option('bluez5-gstreamer')) | ||||||
| have_bluez5_gstreamer = false |   have_bluez5_gstreamer = false | ||||||
| if bluez5_gst_dep.found() and bluez5_gstapp_dep.found() |   if bluez5_gst_dep.found() and bluez5_gstapp_dep.found() | ||||||
|     have_bluez5_gstreamer = true |     have_bluez5_gstreamer = true | ||||||
|     cdata.set('HAVE_GSTLDAC', 1) |     cdata.set('HAVE_GSTLDAC', 1) | ||||||
|     cdata.set('HAVE_GSTAPTX', 1) |     cdata.set('HAVE_GSTAPTX', 1) | ||||||
|  |   endif | ||||||
| endif | endif | ||||||
| 
 | 
 | ||||||
| # These are required for the CMake file generation | # These are required for the CMake file generation | ||||||
| cdata.set('PA_LIBDIR', libdir) | cdata.set('PA_LIBDIR', libdir) | ||||||
| cdata.set('PA_INCDIR', includedir) | cdata.set('PA_INCDIR', includedir) | ||||||
| if glib_dep.found() |  | ||||||
|   cdata.set('HAVE_GLIB20', 1) # to match the AM_CONDITIONAL for CMake file generation |  | ||||||
| endif |  | ||||||
| 
 | 
 | ||||||
| # Test dependencies | # Test dependencies | ||||||
| 
 | 
 | ||||||
|  | @ -838,10 +848,10 @@ endif | ||||||
| # Now generate config.h from everything above | # Now generate config.h from everything above | ||||||
| configure_file(output : 'config.h', configuration : cdata) | configure_file(output : 'config.h', configuration : cdata) | ||||||
| 
 | 
 | ||||||
| # pkg-config files |  | ||||||
| 
 |  | ||||||
| if get_option('client') | if get_option('client') | ||||||
| 
 | 
 | ||||||
|  | # pkg-config files | ||||||
|  | 
 | ||||||
| pc_cdata = configuration_data() | pc_cdata = configuration_data() | ||||||
| 
 | 
 | ||||||
| pc_cdata.set('prefix', prefix) | pc_cdata.set('prefix', prefix) | ||||||
|  | @ -874,12 +884,8 @@ foreach file : pc_files | ||||||
|     install_dir : pkgconfigdir) |     install_dir : pkgconfigdir) | ||||||
| endforeach | endforeach | ||||||
| 
 | 
 | ||||||
| endif # client |  | ||||||
| 
 |  | ||||||
| # CMake files | # CMake files | ||||||
| 
 | 
 | ||||||
| if get_option('client') |  | ||||||
| 
 |  | ||||||
| m4 = find_program('m4', required: true) | m4 = find_program('m4', required: true) | ||||||
| 
 | 
 | ||||||
| cmakedir = join_paths(libdir, 'cmake', 'PulseAudio') | cmakedir = join_paths(libdir, 'cmake', 'PulseAudio') | ||||||
|  | @ -939,49 +945,66 @@ summary = [ | ||||||
| #  'LIBS:                          @0@'.format(${LIBS}), | #  'LIBS:                          @0@'.format(${LIBS}), | ||||||
|   '', |   '', | ||||||
|   'Enable pulseaudio daemon:      @0@'.format(get_option('daemon')), |   'Enable pulseaudio daemon:      @0@'.format(get_option('daemon')), | ||||||
|  |   'Enable pulseaudio client:      @0@'.format(get_option('client')), | ||||||
|   '', |   '', | ||||||
|   'Enable memfd shared memory:    @0@'.format(cdata.has('HAVE_MEMFD')), |   'Enable memfd shared memory:    @0@'.format(cdata.has('HAVE_MEMFD')), | ||||||
|   'Enable X11:                    @0@'.format(x11_dep.found()), |   'Enable X11:                    @0@'.format(x11_dep.found()), | ||||||
|   '  Safe X11 I/O errors:         @0@'.format(cdata.has('HAVE_XSETIOERROREXITHANDLER')), |  | ||||||
|   'Enable OSS Output:             @0@'.format(cdata.has('HAVE_OSS_OUTPUT')), |  | ||||||
|   'Enable OSS Wrapper:            @0@'.format(cdata.has('HAVE_OSS_WRAPPER')), |  | ||||||
| #  'Enable EsounD:                 @0@'.format(${ENABLE_ESOUND}), |  | ||||||
|   'Enable Alsa:                   @0@'.format(alsa_dep.found()), |  | ||||||
| #  'Enable CoreAudio:              @0@'.format(${ENABLE_COREAUDIO}), |  | ||||||
| #  'Enable Solaris:                @0@'.format(${ENABLE_SOLARIS}), |  | ||||||
| #  'Enable WaveOut:                @0@'.format(${ENABLE_WAVEOUT}), |  | ||||||
|   'Enable GLib 2:                 @0@'.format(glib_dep.found()), |  | ||||||
|   'Enable GSettings:              @0@'.format(gio_dep.found()), |  | ||||||
|   'Enable Gtk+ 3:                 @0@'.format(gtk_dep.found()), |  | ||||||
|   'Enable Avahi:                  @0@'.format(avahi_dep.found()), |  | ||||||
|   'Enable Jack:                   @0@'.format(jack_dep.found()), |  | ||||||
|   'Enable Async DNS:              @0@'.format(asyncns_dep.found()), |  | ||||||
|   'Enable LIRC:                   @0@'.format(lirc_dep.found()), |  | ||||||
|   'Enable D-Bus:                  @0@'.format(dbus_dep.found()), |   'Enable D-Bus:                  @0@'.format(dbus_dep.found()), | ||||||
|   '  Enable BlueZ 5:              @0@'.format(cdata.has('HAVE_BLUEZ_5')), |   'Enable systemd integration:    @0@'.format(libsystemd_dep.found()), | ||||||
|   '    Enable native headsets:    @0@'.format(cdata.has('HAVE_BLUEZ_5_NATIVE_HEADSET')), |  | ||||||
|   '    Enable  ofono headsets:    @0@'.format(cdata.has('HAVE_BLUEZ_5_OFONO_HEADSET')), |  | ||||||
|   '    Enable GStreamer based codecs: @0@'.format(have_bluez5_gstreamer), |  | ||||||
|   'Enable udev:                   @0@'.format(udev_dep.found()), |  | ||||||
|   '  Enable HAL->udev compat:     @0@'.format(get_option('hal-compat')), |  | ||||||
|   'Enable systemd:                @0@'.format(libsystemd_dep.found()), |  | ||||||
|   'Enable elogind:                @0@'.format(libelogind_dep.found()), |  | ||||||
|   'Enable TCP Wrappers:           @0@'.format(tcpwrap_dep.found()), |  | ||||||
|   'Enable libsamplerate:          @0@'.format(samplerate_dep.found()), |  | ||||||
|   'Enable IPv6:                   @0@'.format(get_option('ipv6')), |   'Enable IPv6:                   @0@'.format(get_option('ipv6')), | ||||||
|   'Enable OpenSSL (for Airtunes): @0@'.format(openssl_dep.found()), |  | ||||||
|   'Enable FFTW:                   @0@'.format(fftw_dep.found()), |  | ||||||
|   'Enable ORC:                    @0@'.format(have_orcc), |  | ||||||
|   'Enable GStreamer:              @0@'.format(have_gstreamer), |  | ||||||
|   'Enable Adrian echo canceller:  @0@'.format(get_option('adrian-aec')), |  | ||||||
|   'Enable Speex (resampler, AEC): @0@'.format(speex_dep.found()), |  | ||||||
|   'Enable SoXR (resampler):       @0@'.format(soxr_dep.found()), |  | ||||||
|   'Enable WebRTC echo canceller:  @0@'.format(webrtc_dep.found()), |  | ||||||
|   'Enable Gcov coverage:          @0@'.format(get_option('gcov')), |   'Enable Gcov coverage:          @0@'.format(get_option('gcov')), | ||||||
|   'Enable Valgrind:               @0@'.format(cdata.has('HAVE_VALGRIND_MEMCHECK_H')), |   'Enable Valgrind:               @0@'.format(cdata.has('HAVE_VALGRIND_MEMCHECK_H')), | ||||||
|   'Enable man pages:              @0@'.format(get_option('man')), |   'Enable man pages:              @0@'.format(get_option('man')), | ||||||
|   'Enable unit tests:             @0@'.format(get_option('tests')), |   'Enable unit tests:             @0@'.format(get_option('tests')), | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | if get_option('client') | ||||||
|  | summary += [ | ||||||
|   '', |   '', | ||||||
|  |   '--- Pulseaudio client features ---', | ||||||
|  |   '', | ||||||
|  |   'Enable GLib 2:                 @0@'.format(glib_dep.found()), | ||||||
|  |   'Enable Gtk+ 3:                 @0@'.format(gtk_dep.found()), | ||||||
|  |   'Enable Async DNS:              @0@'.format(asyncns_dep.found()), | ||||||
|  |   'Enable OSS Wrapper:            @0@'.format(cdata.has('HAVE_OSS_WRAPPER')), | ||||||
|  | ] | ||||||
|  | endif | ||||||
|  | 
 | ||||||
|  | if get_option('daemon') | ||||||
|  | summary += [ | ||||||
|  |   '', | ||||||
|  |   '--- Pulseaudio daemon features ---', | ||||||
|  |   '', | ||||||
|  |   'Safe X11 I/O errors:           @0@'.format(cdata.has('HAVE_XSETIOERROREXITHANDLER')), | ||||||
|  |   'Enable Avahi:                  @0@'.format(avahi_dep.found()), | ||||||
|  |   'Enable OSS Output:             @0@'.format(cdata.has('HAVE_OSS_OUTPUT')), | ||||||
|  | #  'Enable EsounD:                 @0@'.format(${ENABLE_ESOUND}), | ||||||
|  |   'Enable Alsa:                   @0@'.format(alsa_dep.found()), | ||||||
|  |   'Enable Jack:                   @0@'.format(jack_dep.found()), | ||||||
|  |   'Enable LIRC:                   @0@'.format(lirc_dep.found()), | ||||||
|  | #  'Enable CoreAudio:              @0@'.format(${ENABLE_COREAUDIO}), | ||||||
|  | #  'Enable Solaris:                @0@'.format(${ENABLE_SOLARIS}), | ||||||
|  | #  'Enable WaveOut:                @0@'.format(${ENABLE_WAVEOUT}), | ||||||
|  |   'Enable GSettings:              @0@'.format(gio_dep.found()), | ||||||
|  |   'Enable BlueZ 5:              @0@'.format(cdata.has('HAVE_BLUEZ_5')), | ||||||
|  |   '  Enable native headsets:    @0@'.format(cdata.has('HAVE_BLUEZ_5_NATIVE_HEADSET')), | ||||||
|  |   '  Enable  ofono headsets:    @0@'.format(cdata.has('HAVE_BLUEZ_5_OFONO_HEADSET')), | ||||||
|  |   '  Enable GStreamer based codecs: @0@'.format(have_bluez5_gstreamer), | ||||||
|  |   'Enable GStreamer:              @0@'.format(have_gstreamer), | ||||||
|  |   'Enable libsamplerate:          @0@'.format(samplerate_dep.found()), | ||||||
|  |   'Enable FFTW:                   @0@'.format(fftw_dep.found()), | ||||||
|  |   'Enable ORC:                    @0@'.format(have_orcc), | ||||||
|  |   'Enable Adrian echo canceller:  @0@'.format(get_option('adrian-aec')), | ||||||
|  |   'Enable Speex (resampler, AEC): @0@'.format(speex_dep.found()), | ||||||
|  |   'Enable SoXR (resampler):       @0@'.format(soxr_dep.found()), | ||||||
|  |   'Enable WebRTC echo canceller:  @0@'.format(webrtc_dep.found()), | ||||||
|  |   '', | ||||||
|  |   'Enable udev:                   @0@'.format(udev_dep.found()), | ||||||
|  |   '  Enable HAL->udev compat:     @0@'.format(get_option('hal-compat')), | ||||||
|  |   'Enable systemd units:          @0@'.format(systemd_dep.found()), | ||||||
|  |   'Enable elogind:                @0@'.format(libelogind_dep.found()), | ||||||
|  |   'Enable TCP Wrappers:           @0@'.format(tcpwrap_dep.found()), | ||||||
|  |   'Enable OpenSSL (for Airtunes): @0@'.format(openssl_dep.found()), | ||||||
|   'Database:                      @0@'.format(get_option('database')), |   'Database:                      @0@'.format(get_option('database')), | ||||||
|   'Legacy Database Entry Support: @0@'.format(get_option('legacy-database-entry-format')), |   'Legacy Database Entry Support: @0@'.format(get_option('legacy-database-entry-format')), | ||||||
|   'module-stream-restore:', |   'module-stream-restore:', | ||||||
|  | @ -994,6 +1017,7 @@ summary = [ | ||||||
| #  'Force preopen:                 @0@'.format(${FORCE_PREOPEN}), | #  'Force preopen:                 @0@'.format(${FORCE_PREOPEN}), | ||||||
| #  'Preopened modules:             @0@'.format(${PREOPEN_MODS}), | #  'Preopened modules:             @0@'.format(${PREOPEN_MODS}), | ||||||
| ] | ] | ||||||
|  | endif | ||||||
| 
 | 
 | ||||||
| message('\n    '.join(summary)) | message('\n    '.join(summary)) | ||||||
| 
 | 
 | ||||||
|  | @ -1003,12 +1027,11 @@ if get_option('daemon') and not speex_dep.found() and not webrtc_dep.found() and | ||||||
|   error('At least one echo canceller implementation must be available!') |   error('At least one echo canceller implementation must be available!') | ||||||
| endif | endif | ||||||
| 
 | 
 | ||||||
| if samplerate_dep.found() | if get_option('daemon') and samplerate_dep.found() | ||||||
|   warning('Support for libsamplerate is DEPRECATED') |   warning('Support for libsamplerate is DEPRECATED') | ||||||
| endif | endif | ||||||
| 
 | 
 | ||||||
| if host_machine.system() != 'windows' | if host_machine.system() != 'windows' and not dbus_dep.found() | ||||||
|   if not dbus_dep.found() |  | ||||||
|   message = [ |   message = [ | ||||||
|     'You do not have D-Bus support enabled. It is strongly recommended', |     'You do not have D-Bus support enabled. It is strongly recommended', | ||||||
|     'that you enable D-Bus support if your platform supports it.', |     'that you enable D-Bus support if your platform supports it.', | ||||||
|  | @ -1018,8 +1041,9 @@ if host_machine.system() != 'windows' | ||||||
|     'controlling the PulseAudio daemon itself.', |     'controlling the PulseAudio daemon itself.', | ||||||
|   ] |   ] | ||||||
|   warning('\n' + '\n'.join(message)) |   warning('\n' + '\n'.join(message)) | ||||||
|   endif | endif | ||||||
|   if host_machine.system() == 'linux' and not udev_dep.found() and get_option('daemon') | 
 | ||||||
|  | if get_option('daemon') and host_machine.system() == 'linux' and not udev_dep.found() | ||||||
|   message = [ |   message = [ | ||||||
|     'You do not have udev support enabled. It is strongly recommended', |     'You do not have udev support enabled. It is strongly recommended', | ||||||
|     'that you enable udev support if your platform supports it as it is', |     'that you enable udev support if your platform supports it as it is', | ||||||
|  | @ -1027,8 +1051,9 @@ if host_machine.system() != 'windows' | ||||||
|     'and is thus a critical part of PulseAudio on that platform.', |     'and is thus a critical part of PulseAudio on that platform.', | ||||||
|   ] |   ] | ||||||
|   warning('\n' + '\n'.join(message)) |   warning('\n' + '\n'.join(message)) | ||||||
|   endif | endif | ||||||
|   if not speex_dep.found() and get_option('daemon') | 
 | ||||||
|  | if get_option('daemon') and host_machine.system() != 'windows' and not speex_dep.found() | ||||||
|   message = [ |   message = [ | ||||||
|     'You do not have speex support enabled. It is strongly recommended', |     'You do not have speex support enabled. It is strongly recommended', | ||||||
|     'that you enable speex support if your platform supports it as it is', |     'that you enable speex support if your platform supports it as it is', | ||||||
|  | @ -1036,5 +1061,4 @@ if host_machine.system() != 'windows' | ||||||
|     'part of PulseAudio on that platform.', |     'part of PulseAudio on that platform.', | ||||||
|   ] |   ] | ||||||
|   warning('\n' + '\n'.join(message)) |   warning('\n' + '\n'.join(message)) | ||||||
|   endif |  | ||||||
| endif | endif | ||||||
|  |  | ||||||
|  | @ -192,9 +192,6 @@ if not get_option('client') | ||||||
|   libpulsecommon_dep = cc.find_library('pulsecommon-' + pa_version_major_minor, dirs : privlibdir, required : true) |   libpulsecommon_dep = cc.find_library('pulsecommon-' + pa_version_major_minor, dirs : privlibdir, required : true) | ||||||
|   libpulse_dep = dependency('libpulse', required : true) |   libpulse_dep = dependency('libpulse', required : true) | ||||||
|   libpulse_simple_dep = dependency('libpulse-simple', required : true) |   libpulse_simple_dep = dependency('libpulse-simple', required : true) | ||||||
|   if glib_dep.found() |  | ||||||
|     libpulse_mainloop_glib_dep = dependency('libpulse-mainloop-glib', required : true) |  | ||||||
|   endif |  | ||||||
| else | else | ||||||
| 
 | 
 | ||||||
| libpulsecommon = shared_library('pulsecommon-' + pa_version_major_minor, | libpulsecommon = shared_library('pulsecommon-' + pa_version_major_minor, | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Igor V. Kovalenko
						Igor V. Kovalenko