summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2018-02-14 13:55:32 +0000
committerEmmanuele Bassi <ebassi@gnome.org>2018-02-14 14:14:22 +0000
commit1440db1570f9ca616d6eeb7fe3b3cf7df8d5f37f (patch)
tree6d77a805e5b56e88f498ef264abeed162def3ede /modules
parent2e7fef7d180530d210df0ade91ddb9ccedef6abd (diff)
downloadgtk+-1440db1570f9ca616d6eeb7fe3b3cf7df8d5f37f.tar.gz
build: Coalesce print backends options into one
Instead of having separate options for each print backend, we can use the same approach as the input method modules: a single option, with a comma-separated list of print backends.
Diffstat (limited to 'modules')
-rw-r--r--modules/printbackends/meson.build25
1 files changed, 21 insertions, 4 deletions
diff --git a/modules/printbackends/meson.build b/modules/printbackends/meson.build
index a348fda185..fa6ef4567d 100644
--- a/modules/printbackends/meson.build
+++ b/modules/printbackends/meson.build
@@ -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