mirror of
https://git.yoctoproject.org/poky
synced 2026-04-21 03:32:12 +02:00
libsecret: add meson option introspection
Add meson option 'introspection' for libsecret. For bsp which doesn't support qemu usermode, it could disable gobject introspection build. Then remove distro feature check for 'gobject-introspection-data' too. (From OE-Core rev: 019dd3afb8b49dc268bd7fb122a236b730ed67db) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -0,0 +1,137 @@
|
||||
meson: add option introspection
|
||||
|
||||
Add an option 'introspection' for meson which could control whether
|
||||
build GIR files or not.
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/libsecret/-/merge_requests/53]
|
||||
|
||||
Signed-off-by: Kai Kang <kai.kang@windriver.com>
|
||||
---
|
||||
libsecret/meson.build | 86 ++++++++++++++++++++++---------------------
|
||||
meson.build | 1 +
|
||||
meson_options.txt | 1 +
|
||||
3 files changed, 46 insertions(+), 42 deletions(-)
|
||||
|
||||
diff --git a/libsecret/meson.build b/libsecret/meson.build
|
||||
index 759b5ef..2ee8850 100644
|
||||
--- a/libsecret/meson.build
|
||||
+++ b/libsecret/meson.build
|
||||
@@ -104,50 +104,52 @@ libsecret_dep = declare_dependency(
|
||||
)
|
||||
|
||||
# GObject Introspection
|
||||
-libsecret_gir_sources = [
|
||||
- 'secret-attributes.c',
|
||||
- 'secret-attributes.h',
|
||||
- 'secret-backend.c',
|
||||
- 'secret-backend.h',
|
||||
- 'secret-collection.c',
|
||||
- 'secret-collection.h',
|
||||
- 'secret-item.c',
|
||||
- 'secret-item.h',
|
||||
- 'secret-methods.c',
|
||||
- 'secret-password.c',
|
||||
- 'secret-password.h',
|
||||
- 'secret-paths.c',
|
||||
- 'secret-paths.h',
|
||||
- 'secret-prompt.c',
|
||||
- 'secret-prompt.h',
|
||||
- 'secret-retrievable.c',
|
||||
- 'secret-retrievable.h',
|
||||
- 'secret-schema.c',
|
||||
- 'secret-schema.h',
|
||||
- 'secret-schemas.c',
|
||||
- 'secret-schemas.h',
|
||||
- 'secret-service.c',
|
||||
- 'secret-service.h',
|
||||
- 'secret-types.h',
|
||||
- 'secret-value.c',
|
||||
- 'secret-value.h',
|
||||
-]
|
||||
-libsecret_gir_sources += version_h
|
||||
-libsecret_gir_sources += _enums_generated
|
||||
-
|
||||
-libsecret_gir = gnome.generate_gir(libsecret,
|
||||
- sources: libsecret_gir_sources,
|
||||
- namespace: 'Secret',
|
||||
- nsversion: api_version_major,
|
||||
- export_packages: 'libsecret-@0@'.format(api_version_major),
|
||||
- includes: [ 'GObject-2.0', 'Gio-2.0' ],
|
||||
- header: 'libsecret/secret.h',
|
||||
- extra_args: [ '-D SECRET_COMPILATION'],
|
||||
- install: true,
|
||||
-)
|
||||
+if with_gir
|
||||
+ libsecret_gir_sources = [
|
||||
+ 'secret-attributes.c',
|
||||
+ 'secret-attributes.h',
|
||||
+ 'secret-backend.c',
|
||||
+ 'secret-backend.h',
|
||||
+ 'secret-collection.c',
|
||||
+ 'secret-collection.h',
|
||||
+ 'secret-item.c',
|
||||
+ 'secret-item.h',
|
||||
+ 'secret-methods.c',
|
||||
+ 'secret-password.c',
|
||||
+ 'secret-password.h',
|
||||
+ 'secret-paths.c',
|
||||
+ 'secret-paths.h',
|
||||
+ 'secret-prompt.c',
|
||||
+ 'secret-prompt.h',
|
||||
+ 'secret-retrievable.c',
|
||||
+ 'secret-retrievable.h',
|
||||
+ 'secret-schema.c',
|
||||
+ 'secret-schema.h',
|
||||
+ 'secret-schemas.c',
|
||||
+ 'secret-schemas.h',
|
||||
+ 'secret-service.c',
|
||||
+ 'secret-service.h',
|
||||
+ 'secret-types.h',
|
||||
+ 'secret-value.c',
|
||||
+ 'secret-value.h',
|
||||
+ ]
|
||||
+ libsecret_gir_sources += version_h
|
||||
+ libsecret_gir_sources += _enums_generated
|
||||
+
|
||||
+ libsecret_gir = gnome.generate_gir(libsecret,
|
||||
+ sources: libsecret_gir_sources,
|
||||
+ namespace: 'Secret',
|
||||
+ nsversion: api_version_major,
|
||||
+ export_packages: 'libsecret-@0@'.format(api_version_major),
|
||||
+ includes: [ 'GObject-2.0', 'Gio-2.0' ],
|
||||
+ header: 'libsecret/secret.h',
|
||||
+ extra_args: [ '-D SECRET_COMPILATION'],
|
||||
+ install: true,
|
||||
+ )
|
||||
+endif
|
||||
|
||||
# Vapi
|
||||
-if with_vapi
|
||||
+if with_vapi and with_gir
|
||||
libsecret_vapi = gnome.generate_vapi('libsecret-@0@'.format(api_version_major),
|
||||
sources: libsecret_gir[0],
|
||||
metadata_dirs: meson.source_root() / 'libsecret',
|
||||
diff --git a/meson.build b/meson.build
|
||||
index a26d046..d22e008 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -22,6 +22,7 @@ with_gcrypt = get_option('gcrypt')
|
||||
enable_debug = get_option('debugging')
|
||||
with_vapi = get_option('vapi')
|
||||
with_gtkdoc = get_option('gtk_doc')
|
||||
+with_gir = get_option('introspection')
|
||||
|
||||
# Some variables
|
||||
config_h_dir = include_directories('.')
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index c1fda5d..445aeb0 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -3,3 +3,4 @@ option('gcrypt', type: 'boolean', value: true, description: 'With gcrypt and tra
|
||||
option('debugging', type: 'boolean', value: false, description: 'Turn debugging on/off')
|
||||
option('vapi', type: 'boolean', value: true, description: 'Create VAPI file.')
|
||||
option('gtk_doc', type: 'boolean', value: true, description: 'Build reference documentation using gtk-doc')
|
||||
+option('introspection', type: 'boolean', value: true, description: 'Create GIR file.')
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -9,19 +9,17 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=23c2a5e0106b99d75238986559bb5fc6"
|
||||
|
||||
GNOMEBASEBUILDCLASS = "meson"
|
||||
|
||||
inherit gnomebase gtk-doc vala gobject-introspection manpages features_check
|
||||
inherit gnomebase gtk-doc vala gobject-introspection manpages
|
||||
|
||||
DEPENDS += "glib-2.0 libgcrypt gettext-native"
|
||||
|
||||
SRC_URI += "file://0001-meson-add-option-introspection.patch"
|
||||
|
||||
SRC_URI[archive.md5sum] = "47c3fdfeb111a87b509ad271e4a6f496"
|
||||
SRC_URI[archive.sha256sum] = "4fcb3c56f8ac4ab9c75b66901fb0104ec7f22aa9a012315a14c0d6dffa5290e4"
|
||||
|
||||
GTKDOC_MESON_OPTION = 'gtk_doc'
|
||||
|
||||
# gobject-introspection is mandatory and cannot be configured
|
||||
REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
|
||||
UNKNOWN_CONFIGURE_WHITELIST_append = " introspection"
|
||||
|
||||
PACKAGECONFIG[manpages] = "-Dmanpage=true,-Dmanpage=false,libxslt-native xmlto-native"
|
||||
|
||||
# http://errors.yoctoproject.org/Errors/Details/20228/
|
||||
|
||||
Reference in New Issue
Block a user