[libnma/ac/release: 8/9] meson: enable GCR support for libnma-gtk4
- From: Ana Cabral <acabral src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libnma/ac/release: 8/9] meson: enable GCR support for libnma-gtk4
- Date: Mon, 21 Mar 2022 10:32:58 +0000 (UTC)
commit 1aa982c564106fc2a5c237fd6f7f0e0d37329241
Author: Lubomir Rintel <lkundrak v3 sk>
Date: Tue Mar 8 21:03:43 2022 +0100
meson: enable GCR support for libnma-gtk4
meson.build | 29 +++++++++++++++++++++++++----
meson_options.txt | 1 +
src/meson.build | 21 +++++++++++++++------
3 files changed, 41 insertions(+), 10 deletions(-)
---
diff --git a/meson.build b/meson.build
index 0ca5e516..1571f01a 100644
--- a/meson.build
+++ b/meson.build
@@ -185,10 +185,6 @@ libnm_dep = declare_dependency(
compile_args: cflags
)
-# No such thing yet, just same lame duck placeholders.
-# it may actually end up being called differently.
-config_h.set10('WITH_GCR_GTK4', false)
-
# GCR API is declared subject to change, do an extensive check of the prototypes
gcr_api_check_src = '''
#ifndef GCR_API_SUBJECT_TO_CHANGE
@@ -270,6 +266,31 @@ if enable_gcr
endif
config_h.set10('WITH_GCR', enable_gcr)
+# GCR for PKCS#11 enabled certificate chooser for libnma-gtk4
+enable_gcr_gtk4 = get_option('gcr_gtk4')
+if enable_gcr_gtk4
+ assert(enable_libnma_gtk4, 'gcr-gtk4 support was requested, but the libnma-gtk4 build was not enabled.')
+
+ deps = [
+ dependency('gcr-gtk4-3', version: '>= 3.90'),
+ dependency('gck-1', version: '>= 3.90')
+ ]
+
+ cflags = [
+ '-DGCR_API_SUBJECT_TO_CHANGE',
+ '-DGCK_API_SUBJECT_TO_CHANGE'
+ ]
+
+ # GCR API is declared subject to change, do an extensive check of the prototypes
+ assert(cc.compiles(gcr_api_check_src, dependencies: deps), 'gcr-gtk4 support was requested with
-Dgcr_gtk4=true, but the gcr-gtk4 library is not available.')
+
+ gcr_gtk4_dep = declare_dependency(
+ dependencies: deps,
+ compile_args: cflags
+ )
+endif
+config_h.set10('WITH_GCR_GTK4', enable_gcr_gtk4)
+
# introspection support
enable_introspection = get_option('introspection')
if enable_introspection
diff --git a/meson_options.txt b/meson_options.txt
index cc6f30d0..1dd1354c 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,5 +1,6 @@
option('libnma_gtk4', type: 'boolean', value: false, description: 'build EXPERIMENTAL library libnma-gtk4
for use with GTK4')
option('gcr', type: 'boolean', value: true, description: 'Enable advanced certificate chooser.')
+option('gcr_gtk4', type: 'boolean', value: false, description: 'Enable advanced certificate chooser for
EXPERIMENTAL library libnma-gtk4.')
option('more_asserts', type: 'string', value: '0', description: 'Enable more assertions for debugging.')
option('iso_codes', type: 'boolean', value: true, description: 'check for iso-codes at build-time')
option('mobile_broadband_provider_info', type: 'boolean', value: true, description: 'check for
mobile-broadband-provider-info at build-time')
diff --git a/src/meson.build b/src/meson.build
index 2064ddb0..1fdea6d7 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -61,6 +61,11 @@ gir_sources = [version_header] + nma_ws_sources + files(
'nma-wifi-dialog.c'
)
+pkcs11_sources = files(
+ 'nma-pkcs11-cert-chooser-dialog.c',
+ 'nma-pkcs11-token-login-dialog.c'
+)
+
incs = [
top_inc,
shared_inc,
@@ -89,10 +94,7 @@ symbol_map = join_paths(meson.current_source_dir(), 'libnma.ver')
nma_deps = [ deps, gtk_dep ]
nma_sources = [ gir_sources, built_sources ]
if enable_gcr
- nma_sources += files(
- 'nma-pkcs11-cert-chooser-dialog.c',
- 'nma-pkcs11-token-login-dialog.c'
- )
+ nma_sources += pkcs11_sources
nma_deps += gcr_dep
endif
@@ -115,12 +117,19 @@ libnma_dep = declare_dependency(
)
if enable_libnma_gtk4
+ nma_gtk4_deps = [ deps, gtk4_dep ]
+ nma_gtk4_sources = [ gir_sources, built_sources ]
+ if enable_gcr_gtk4
+ nma_gtk4_sources += pkcs11_sources
+ nma_gtk4_deps += gcr_gtk4_dep
+ endif
+
libnma_gtk4 = shared_library(
'nma-gtk4',
- sources: gir_sources + built_sources,
+ sources: nma_gtk4_sources,
version: libversion,
include_directories: incs,
- dependencies: [ deps, gtk4_dep ],
+ dependencies: nma_gtk4_deps,
c_args: cflags,
link_args: '-Wl,--version-script,' + symbol_map,
link_depends: symbol_map,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]