mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-29 06:51:10 +00:00
Merge branch 'issue-2' into 'master'
Update the configuration options Closes #2 See merge request GNOME/gtk!11
This commit is contained in:
commit
753138a7cc
30
meson.build
30
meson.build
@ -87,27 +87,34 @@ gtk_soversion = '0.@0@.@1@'.format(gtk_binary_age - gtk_interface_age, gtk_inter
|
||||
|
||||
gtk_api_version = '4.0'
|
||||
|
||||
x11_enabled = get_option('enable-x11-backend')
|
||||
wayland_enabled = get_option('enable-wayland-backend')
|
||||
broadway_enabled = get_option('enable-broadway-backend')
|
||||
quartz_enabled = get_option('enable-quartz-backend')
|
||||
win32_enabled = get_option('enable-win32-backend')
|
||||
cloudproviders_enabled = get_option('enable-cloudproviders')
|
||||
x11_enabled = get_option('x11-backend')
|
||||
wayland_enabled = get_option('wayland-backend')
|
||||
broadway_enabled = get_option('broadway-backend')
|
||||
quartz_enabled = get_option('quartz-backend')
|
||||
win32_enabled = get_option('win32-backend')
|
||||
|
||||
os_unix = false
|
||||
os_linux = false
|
||||
os_win32 = false
|
||||
os_darwin = false
|
||||
|
||||
if host_machine.system().contains('darwin')
|
||||
# Some windowing system backends depend on the platform we're
|
||||
# building for, so we need to ensure they are disabled; in other
|
||||
# cases, they are the only windowing system available, so we need
|
||||
# to ensure they are enabled
|
||||
if host_machine.system() == 'darwin'
|
||||
os_darwin = true
|
||||
win32_enabled = false
|
||||
elif host_machine.system() == 'windows'
|
||||
os_win32 = true
|
||||
win32_enabled = true
|
||||
x11_enabled = false
|
||||
wayland_enabled = false
|
||||
elif host_machine.system().contains('linux')
|
||||
quartz_enabled = false
|
||||
elif host_machine.system() == 'linux'
|
||||
os_linux = true
|
||||
win32_enabled = false
|
||||
quartz_enabled = false
|
||||
endif
|
||||
|
||||
os_unix = not os_win32
|
||||
@ -500,7 +507,7 @@ if x11_enabled
|
||||
endif
|
||||
endif
|
||||
|
||||
enable_xinerama = get_option('enable-xinerama')
|
||||
enable_xinerama = get_option('xinerama')
|
||||
if enable_xinerama != 'no'
|
||||
want_xinerama = enable_xinerama == 'yes'
|
||||
xinerama_dep = dependency('xinerama', required: want_xinerama)
|
||||
@ -553,7 +560,7 @@ have_vulkan = false
|
||||
vulkan_pkg_found = false
|
||||
vulkan_dep = []
|
||||
|
||||
enable_vulkan = get_option('enable-vulkan')
|
||||
enable_vulkan = get_option('vulkan')
|
||||
if enable_vulkan == 'no'
|
||||
message('Vulkan support explicitly disabled')
|
||||
else
|
||||
@ -578,7 +585,7 @@ else
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
cloudproviders_enabled = get_option('cloudproviders')
|
||||
if cloudproviders_enabled
|
||||
cloudproviders_dep = dependency('cloudproviders', required: true)
|
||||
if cloudproviders_dep.found()
|
||||
@ -704,6 +711,7 @@ summary = [
|
||||
'',
|
||||
' Enabled backends: @0@'.format(pkg_targets.strip()),
|
||||
' Vulkan support: @0@'.format(have_vulkan),
|
||||
' Print backends: @0@'.format(' '.join(print_backends)),
|
||||
' Tests: @0@'.format(get_option('build-tests')),
|
||||
' Documentation: @0@'.format(get_option('documentation')),
|
||||
' Demos: @0@'.format(get_option('demos')),
|
||||
|
@ -1,39 +1,44 @@
|
||||
option('enable-colord', type: 'combo', choices : ['yes', 'no', 'auto'], value : 'auto',
|
||||
description : 'Build colord support code')
|
||||
option('enable-x11-backend', type: 'boolean', value: 'true',
|
||||
description : 'Enable the X11 gdk backend')
|
||||
option('enable-wayland-backend', type: 'boolean', value: 'true',
|
||||
description : 'Enable the wayland gdk backend')
|
||||
option('enable-broadway-backend', type: 'boolean', value: 'false',
|
||||
# GDK backends
|
||||
option('x11-backend', type: 'boolean', value: true,
|
||||
description : 'Enable the X11 gdk backend (only when building on Linux or macOS)')
|
||||
option('wayland-backend', type: 'boolean', value: true,
|
||||
description : 'Enable the wayland gdk backend (only when building on Linux)')
|
||||
option('broadway-backend', type: 'boolean', value: false,
|
||||
description : 'Enable the broadway (HTML5) gdk backend')
|
||||
option('enable-win32-backend', type: 'boolean', value: 'false',
|
||||
description : 'Enable the Windows gdk backend')
|
||||
option('enable-quartz-backend', type: 'boolean', value: 'false',
|
||||
description : 'Enable the macOS gdk backend')
|
||||
option('enable-vulkan', type: 'combo', choices : ['yes', 'no', 'auto'], value : 'auto',
|
||||
option('win32-backend', type: 'boolean', value: true,
|
||||
description : 'Enable the Windows gdk backend (only when building on Windows)')
|
||||
option('quartz-backend', type: 'boolean', value: true,
|
||||
description : 'Enable the macOS gdk backend (only when building on macOS)')
|
||||
|
||||
# Optional dependencies
|
||||
option('vulkan', type: 'combo', choices : ['yes', 'no', 'auto'], value : 'auto',
|
||||
description : 'Enable support for the Vulkan graphics API')
|
||||
option('enable-test-print-backend', type: 'combo', choices : ['yes', 'no', 'auto'], value : 'no',
|
||||
description : 'Enable the test print backend')
|
||||
option('enable-cups-print-backend', type: 'combo', choices : ['yes', 'no', 'auto'], value : 'auto',
|
||||
description : 'Enable the CUPS print backend')
|
||||
option('enable-papi-print-backend', type: 'combo', choices : ['yes', 'no', 'auto'], value : 'auto',
|
||||
description : 'Enable the papi print backend')
|
||||
option('enable-cloudprint-print-backend', type: 'combo', choices : ['yes', 'no', 'auto'], value : 'auto',
|
||||
description : 'Enable the cloudprint print backend')
|
||||
option('enable-cloudproviders', type: 'boolean', value: false,
|
||||
description : 'Enable the cloudproviders support')
|
||||
option('enable-xinerama', type: 'combo', choices : ['yes', 'no', 'auto'], value : 'auto',
|
||||
option('xinerama', type: 'combo', choices : ['yes', 'no', 'auto'], value : 'auto',
|
||||
description : 'Enable support for the Xinerama extension')
|
||||
option('disable-modules', type: 'boolean', value : 'false',
|
||||
description : 'Disable dynamic module loading')
|
||||
option('with-included-immodules', type: 'string', value : '',
|
||||
description : 'Build the specified input methods into gtk (comma-separated list or "all" or "none")')
|
||||
option('cloudproviders', type: 'boolean', value: false,
|
||||
description : 'Enable the cloudproviders support')
|
||||
|
||||
# Print backends
|
||||
option('print-backends', type : 'string', value : 'cups,papi',
|
||||
description : 'Build the specified print backends (comma-separated list, "all", or "none")')
|
||||
option('colord', type: 'combo', choices : ['yes', 'no', 'auto'], value : 'auto',
|
||||
description : 'Build colord support for the CUPS printing backend')
|
||||
|
||||
# Modules
|
||||
option('dynamic-modules', type: 'boolean', value : true,
|
||||
description : 'Allow dynamic module loading')
|
||||
option('included-immodules', type: 'string', value : 'none',
|
||||
description : 'Build the specified input methods (comma-separated list, "all", or "none")')
|
||||
|
||||
# Documentation and introspection
|
||||
option('documentation', type: 'boolean', value: 'false',
|
||||
description : 'Build API reference and tools documentation')
|
||||
option('man-pages', type: 'boolean', value: 'false',
|
||||
description : 'Build man pages for installed tools')
|
||||
option('introspection', type: 'boolean', value: 'true',
|
||||
description : 'Build introspection data (requires gobject-introspection)')
|
||||
|
||||
# Demos and binaries
|
||||
option('demos', type: 'boolean', value: 'true',
|
||||
description : 'Build demos and example programs')
|
||||
option('build-tests', type: 'boolean', value: 'true',
|
||||
|
@ -6,8 +6,8 @@
|
||||
# there is a bit of an ordering problem which we solve by collecting all the
|
||||
# information here but moving the actual build definitions to gtk/meson.build.
|
||||
build_dynamic_modules = false
|
||||
disable_modules = get_option('disable-modules')
|
||||
if not disable_modules
|
||||
dynamic_modules = get_option('dynamic-modules')
|
||||
if dynamic_modules
|
||||
gmodule_supported = dependency('gmodule-no-export-2.0').get_pkgconfig_variable('gmodule_supported')
|
||||
if gmodule_supported == 'true'
|
||||
build_dynamic_modules = true
|
||||
@ -32,20 +32,14 @@ all_immodules = [
|
||||
all_immodules += backend_immodules
|
||||
|
||||
# Allow building some or all immodules included
|
||||
included_immodules = get_option('with-included-immodules')
|
||||
if included_immodules == 'none'
|
||||
included_immodules = ''
|
||||
elif included_immodules == 'all' or included_immodules == 'yes'
|
||||
included_immodules = ','.join(all_immodules)
|
||||
included_immodules = get_option('included-immodules').split(',')
|
||||
if included_immodules.contains('none')
|
||||
included_immodules = []
|
||||
elif included_immodules.contains('all')
|
||||
included_immodules = all_immodules
|
||||
endif
|
||||
|
||||
if included_immodules == ''
|
||||
have_included_immodules = false
|
||||
included_immodules = []
|
||||
else
|
||||
have_included_immodules = true
|
||||
included_immodules = included_immodules.split(',')
|
||||
endif
|
||||
have_included_immodules = included_immodules.length() > 0
|
||||
|
||||
foreach im: included_immodules
|
||||
if not all_immodules.contains(im)
|
||||
@ -107,5 +101,3 @@ foreach m: method_defs
|
||||
endif
|
||||
endif
|
||||
endforeach
|
||||
|
||||
# TODO: post-install gtk4-query-immodules run to create immodules.c
|
||||
|
@ -1,4 +1,4 @@
|
||||
enable_colord = get_option('enable-colord')
|
||||
enable_colord = get_option('colord')
|
||||
if enable_colord != 'no'
|
||||
want_colord = enable_colord == 'yes'
|
||||
colord_dep = dependency('colord', version: '>= 0.1.9', required: want_colord)
|
||||
|
@ -1,7 +1,23 @@
|
||||
all_print_backends = [
|
||||
'cups',
|
||||
'papi',
|
||||
'cloudprint',
|
||||
'test',
|
||||
]
|
||||
|
||||
enabled_print_backends = get_option('print-backends').split(',')
|
||||
|
||||
if enabled_print_backends.contains('none')
|
||||
enabled_print_backends = []
|
||||
elif enabled_print_backends.contains('all')
|
||||
enabled_print_backends = all_print_backends
|
||||
endif
|
||||
|
||||
# The 'file' print backend cannot be disabled
|
||||
print_backends = ['file']
|
||||
|
||||
# Checks to see if we should compile with CUPS backend for GTK+
|
||||
enable_cups = get_option('enable-cups-print-backend')
|
||||
enable_cups = enabled_print_backends.contains('cups')
|
||||
if enable_cups != 'no'
|
||||
want_cups = enable_cups == 'yes'
|
||||
#cups_config = find_program('cups-config', required : want_cups)
|
||||
@ -37,7 +53,7 @@ if enable_cups != 'no'
|
||||
endif
|
||||
|
||||
# Checks to see if we should compile with PAPI backend for GTK+
|
||||
enable_papi = get_option('enable-papi-print-backend')
|
||||
enable_papi = enabled_print_backends.contains('papi')
|
||||
if enable_papi != 'no'
|
||||
want_papi = enable_papi == 'yes'
|
||||
libpapi = cc.find_library('libpapi', required : false)
|
||||
@ -49,7 +65,7 @@ if enable_papi != 'no'
|
||||
endif
|
||||
|
||||
# Checks to see if we should compile with cloudprint backend for GTK+
|
||||
enable_cloudprint = get_option('enable-cloudprint-print-backend')
|
||||
enable_cloudprint = enabled_print_backends.contains('cloudprint')
|
||||
if enable_cloudprint != 'no'
|
||||
want_cloudprint = enable_cloudprint == 'yes'
|
||||
rest_dep = dependency('rest-0.7', required : want_cloudprint)
|
||||
@ -72,10 +88,11 @@ if os_unix
|
||||
endif
|
||||
endif
|
||||
|
||||
if get_option('enable-test-print-backend') == 'yes'
|
||||
if enabled_print_backends.contains('test')
|
||||
print_backends += ['test']
|
||||
endif
|
||||
|
||||
# Automatic fall-back to the lpr backend
|
||||
if not print_backends.contains('papi') and not print_backends.contains('cups')
|
||||
print_backends += ['lpr']
|
||||
endif
|
||||
|
Loading…
Reference in New Issue
Block a user