mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-10-29 05:40:23 -04:00 
			
		
		
		
	meson: Add optional GSettings support
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
This commit is contained in:
		
							parent
							
								
									639c54546d
								
							
						
					
					
						commit
						35bd2e70f9
					
				
					 5 changed files with 66 additions and 0 deletions
				
			
		|  | @ -39,10 +39,13 @@ assert(prefix.startswith('/'), 'Prefix is not absolute: "@0@"'.format(prefix)) | ||||||
| 
 | 
 | ||||||
| bindir = join_paths(prefix, get_option('bindir')) | bindir = join_paths(prefix, get_option('bindir')) | ||||||
| libdir = join_paths(prefix, get_option('libdir')) | libdir = join_paths(prefix, get_option('libdir')) | ||||||
|  | libexecdir = join_paths(prefix, get_option('libexecdir')) | ||||||
| datadir = join_paths(prefix, get_option('datadir')) | datadir = join_paths(prefix, get_option('datadir')) | ||||||
| localstatedir = join_paths(prefix, get_option('localstatedir')) | localstatedir = join_paths(prefix, get_option('localstatedir')) | ||||||
| sysconfdir = join_paths(prefix, get_option('sysconfdir')) | sysconfdir = join_paths(prefix, get_option('sysconfdir')) | ||||||
| 
 | 
 | ||||||
|  | pulselibexecdir = join_paths(libexecdir, 'pulse') | ||||||
|  | 
 | ||||||
| pulsedspdir = get_option('pulsedspdir') | pulsedspdir = get_option('pulsedspdir') | ||||||
| if pulsedspdir == '' | if pulsedspdir == '' | ||||||
|   join_paths(libdir, 'pulseaudio') |   join_paths(libdir, 'pulseaudio') | ||||||
|  | @ -230,6 +233,11 @@ 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', required : get_option('gsettings')) | ||||||
|  | if gio_dep.found() | ||||||
|  |   cdata.set('HAVE_GSETTINGS', 1) | ||||||
|  | endif | ||||||
|  | 
 | ||||||
| glib_dep = dependency('glib-2.0', version : '>= 2.4.0', required: get_option('glib')) | glib_dep = dependency('glib-2.0', version : '>= 2.4.0', required: get_option('glib')) | ||||||
| if glib_dep.found() | if glib_dep.found() | ||||||
|   cdata.set('HAVE_GLIB', 1) |   cdata.set('HAVE_GLIB', 1) | ||||||
|  |  | ||||||
|  | @ -41,6 +41,9 @@ option('fftw', | ||||||
| option('glib', | option('glib', | ||||||
|        type : 'feature', value : 'auto', |        type : 'feature', value : 'auto', | ||||||
|        description : 'Optional GLib 2 support') |        description : 'Optional GLib 2 support') | ||||||
|  | option('gsettings', | ||||||
|  |        type : 'feature', value : 'auto', | ||||||
|  |        description : 'Optional GSettings support') | ||||||
| option('gtk', | option('gtk', | ||||||
|        type : 'feature', value : 'auto', |        type : 'feature', value : 'auto', | ||||||
|        description : 'Optional Gtk+ 3 support') |        description : 'Optional Gtk+ 3 support') | ||||||
|  |  | ||||||
							
								
								
									
										37
									
								
								src/modules/gsettings/meson.build
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								src/modules/gsettings/meson.build
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,37 @@ | ||||||
|  | # GSettings helper | ||||||
|  | 
 | ||||||
|  | gsettings_helper_sources = [ | ||||||
|  |   'gsettings-helper.c', | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | gsettings_helper = executable('gsettings-helper', | ||||||
|  |   gsettings_helper_sources, | ||||||
|  |   c_args : pa_c_args, | ||||||
|  |   include_directories : [configinc, topinc], | ||||||
|  |   link_with : [libpulsecommon, libpulse], | ||||||
|  |   dependencies : [gio_dep], | ||||||
|  |   install_dir : pulselibexecdir, | ||||||
|  |   install : true, | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | # GSettings schemas | ||||||
|  | 
 | ||||||
|  | compile_schemas = find_program('glib-compile-schemas', required : false) | ||||||
|  | if compile_schemas.found() | ||||||
|  |   test('Validate schema files in ' + meson.current_source_dir(), | ||||||
|  |     compile_schemas, | ||||||
|  |     args: ['--strict', '--dry-run', meson.current_source_dir()] | ||||||
|  |   ) | ||||||
|  | endif | ||||||
|  | 
 | ||||||
|  | install_data('org.freedesktop.pulseaudio.gschema.xml', | ||||||
|  |   install_dir : join_paths(datadir, 'glib-2.0', 'schemas') | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | meson.add_install_script('post-install.sh', datadir) | ||||||
|  | 
 | ||||||
|  | # Conversion from GConf to GSettings | ||||||
|  | 
 | ||||||
|  | install_data('pulseaudio.convert', | ||||||
|  |   install_dir : join_paths(datadir, 'GConf', 'gsettings') | ||||||
|  | ) | ||||||
							
								
								
									
										9
									
								
								src/modules/gsettings/post-install.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										9
									
								
								src/modules/gsettings/post-install.sh
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,9 @@ | ||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | set -e | ||||||
|  | set -u | ||||||
|  | 
 | ||||||
|  | DATADIR="$1" | ||||||
|  | 
 | ||||||
|  | echo "Compiling GSettings schemas..." | ||||||
|  | glib-compile-schemas "$DATADIR/glib-2.0/schemas" | ||||||
|  | @ -137,6 +137,15 @@ if dbus_dep.found() and fftw_dep.found() | ||||||
|   ] |   ] | ||||||
| endif | endif | ||||||
| 
 | 
 | ||||||
|  | if gio_dep.found() | ||||||
|  |   subdir('gsettings') | ||||||
|  |   all_modules += [ | ||||||
|  |     [ 'module-gsettings', | ||||||
|  |       [ 'gsettings/module-gsettings.c', 'stdin-util.c', 'stdin-util.h' ], | ||||||
|  |       [], ['-DPA_GSETTINGS_HELPER="' + pulselibexecdir + 'gsettings-helper"'] ] | ||||||
|  |   ] | ||||||
|  | endif | ||||||
|  | 
 | ||||||
| if jack_dep.found() | if jack_dep.found() | ||||||
|   all_modules += [ |   all_modules += [ | ||||||
|     [ 'module-jack-sink', 'jack/module-jack-sink.c', [], [], [jack_dep] ], |     [ 'module-jack-sink', 'jack/module-jack-sink.c', [], [], [jack_dep] ], | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Arnaud Rebillout
						Arnaud Rebillout