4.10.0 no longer builds introspection data by default
Regressed by !5382 (merged) CC @alex.kanavin. enabled() ignores auto
. If disabling introspection
is intentional then the default value
in meson_options.txt doesn't make sense. However, upstream defaults are used as recommendations for downstream thus introspection
may end up disabled in distros, similar to vulkan
.
$ meson setup _build
[...]
Program g-ir-scanner found: YES (/usr/bin/g-ir-scanner)
[...]
Introspection : False
Workaround:
diff --git a/meson.build b/meson.build
index ffcfd8aced..00fb6b55d9 100644
--- a/meson.build
+++ b/meson.build
@@ -728,7 +728,7 @@ endif
# Introspection
gir = find_program('g-ir-scanner', required : get_option('introspection'))
-build_gir = gir.found() and get_option('introspection').enabled()
+build_gir = gir.found() and get_option('introspection').allowed()
project_build_root = meson.current_build_dir()
Possible fix:
diff --git a/docs/reference/meson.build b/docs/reference/meson.build
index 292e82163e..8e172ce549 100644
--- a/docs/reference/meson.build
+++ b/docs/reference/meson.build
@@ -14,7 +14,7 @@ endif
docs_dir = gtk_datadir / 'doc'
-if get_option('gtk_doc') and not build_gir
+if get_option('gtk_doc') and not gir_dep.found()
error('API reference requires introspection.')
endif
diff --git a/gtk/meson.build b/gtk/meson.build
index b4e9c9fe3e..c11a2671fa 100644
--- a/gtk/meson.build
+++ b/gtk/meson.build
@@ -1174,7 +1174,7 @@ libgtk = shared_library('gtk-4',
gtk_dep_sources = [gtkversion, gtktypebuiltins_h]
# Introspection
-if build_gir
+if gir_dep.found()
gir_args = [
'-DGTK_COMPILATION',
'--quiet',
diff --git a/meson.build b/meson.build
index ffcfd8aced..239129599c 100644
--- a/meson.build
+++ b/meson.build
@@ -727,8 +727,7 @@ int main () {
endif
# Introspection
-gir = find_program('g-ir-scanner', required : get_option('introspection'))
-build_gir = gir.found() and get_option('introspection').enabled()
+gir_dep = dependency('gobject-introspection-1.0', required : get_option('introspection'))
project_build_root = meson.current_build_dir()
@@ -885,7 +884,7 @@ summary('Linker', cc.get_linker_id(), section: 'Toolchain')
# Build
summary('Debugging', get_option('debug'), section: 'Build')
summary('Optimization', get_option('optimization'), section: 'Build')
-summary('Introspection', build_gir, section: 'Build')
+summary('Introspection', gir_dep.found(), section: 'Build')
summary('Documentation', get_option('gtk_doc'), section: 'Build')
summary('Man pages', get_option('man-pages'), section: 'Build')
summary('Tests', get_option('build-tests'), section: 'Build')
diff --git a/testsuite/meson.build b/testsuite/meson.build
index 688a253978..26269a07ef 100644
--- a/testsuite/meson.build
+++ b/testsuite/meson.build
@@ -59,6 +59,6 @@ subdir('a11y')
subdir('tools')
subdir('reftests')
-if build_gir
+if gir_dep.found()
subdir('introspection')
endif