From dab769a08ccc576697f0e3faf50938e47ebfc5f6 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Tue, 25 Jun 2019 20:30:11 +0200 Subject: [PATCH] meson: cups: use cups-config for looking up cups We were looking for the cups headers and the cups lib in the default locations which for example breaks with OpenBSD where the cups headers are under /usr/local/include/ Instead just use the "cups" dependency type from meson which internally uses cups-config. Fixes #1967 --- modules/printbackends/meson.build | 43 ++++++++++--------------------- 1 file changed, 13 insertions(+), 30 deletions(-) diff --git a/modules/printbackends/meson.build b/modules/printbackends/meson.build index ef6af610ab..a3dd649e5a 100644 --- a/modules/printbackends/meson.build +++ b/modules/printbackends/meson.build @@ -69,38 +69,21 @@ if enabled_print_backends.contains('cloudprint') endif if enabled_print_backends.contains('cups') - cups_error = '' - if cc.has_header('cups/cups.h') - cups_major_version = cc.compute_int('CUPS_VERSION_MAJOR', prefix : '#include ') - cups_minor_version = cc.compute_int('CUPS_VERSION_MINOR', prefix : '#include ') - cups_version = '@0@.@1@'.format(cups_major_version, cups_minor_version) - message('Found CUPS version: @0@'.format(cups_version)) - if cups_version.version_compare('<1.7') - cups_error = 'Need CUPS version >= 1.7' - else - libcups = cc.find_library('cups', required : true) - endif - else - cups_error = 'Cannot find CUPS headers in default prefix.' - endif + cups_dep = dependency('cups', version : '>=1.7', required: print_strict_deps) + if cups_dep.found() + cups_extra_deps = [] - cups_extra_deps = [] - 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) - cdata.set('HAVE_COLORD', colord_dep.found() ? 1 : false) - cups_extra_deps += [colord_dep] - endif - - if cups_error != '' - if print_strict_deps - error(cups_error) - else - message(cups_error) + 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) + cdata.set('HAVE_COLORD', colord_dep.found() ? 1 : false) + cups_extra_deps += [colord_dep] endif - else + print_backends += ['cups'] + else + message('\'cups\' backend disabled: missing dependencies') endif endif @@ -168,7 +151,7 @@ if print_backends.contains('cups') 'cups/gtkcupsutils.c', 'cups/gtkcupssecretsutils.c', c_args: printbackends_args, - dependencies: [libgtk_dep, libcups] + cups_extra_deps, + dependencies: [libgtk_dep, cups_dep] + cups_extra_deps, install_dir: printbackends_install_dir, install : true) endif