Add builtin library dependency for introspection draft gir-dependency

Sat, 09 Aug 2025 18:12:31 +0800

author
Gong Zhile <gongzl@stu.hebust.edu.cn>
date
Sat, 09 Aug 2025 18:12:31 +0800
branch
gir-dependency
changeset 43305
4ede49515766
parent 43303
cddf3066f1bc

Add builtin library dependency for introspection

Without specifying, gir defaults to the system pidgin/purple libraries by default,
which fails the build when new symbols were added and gir failed to link for them.

libpurple/meson.build file | annotate | diff | comparison | revisions
pidgin/meson.build file | annotate | diff | comparison | revisions
--- a/libpurple/meson.build	Sat Aug 09 02:43:31 2025 -0500
+++ b/libpurple/meson.build	Sat Aug 09 18:12:31 2025 +0800
@@ -331,6 +331,13 @@
       f'plugindir=${libdir}/@purple_filebase@',
     ])
 
+libpurple_dep = declare_dependency(
+    # Ensure purple headers built before any dependencies:
+    sources : [purple_builtheaders] + purple_generated_sources,
+    include_directories : [toplevel_inc, libpurple_inc],
+    link_with : libpurple,
+    dependencies : [birb_dep, gdk_pixbuf, gstreamer, gplugin_dep, glib, gio, pango_dep])
+
 if enable_introspection
 	introspection_sources = (purple_coresources + purple_coreheaders +
 	                         purple_builtheaders + purple_request_headers)
@@ -344,20 +351,13 @@
 	    identifier_prefix : 'Purple',
 	    export_packages : purple_filebase,
 	    nsversion : f'@purple_api_major_version@.@purple_api_minor_version@',
-	    dependencies: [birb_dep, gplugin_dep],
+	    dependencies: [birb_dep, gplugin_dep, libpurple_dep],
 	    install : true,
 	    extra_args : ['-DPURPLE_COMPILATION', '--quiet'])
 
 	purple_generated_sources += libpurple_gir
 endif
 
-libpurple_dep = declare_dependency(
-    # Ensure purple headers built before any dependencies:
-    sources : [purple_builtheaders] + purple_generated_sources,
-    include_directories : [toplevel_inc, libpurple_inc],
-    link_with : libpurple,
-    dependencies : [birb_dep, gdk_pixbuf, gstreamer, gplugin_dep, glib, gio, pango_dep])
-
 meson.override_dependency(purple_filebase, libpurple_dep)
 
 subdir('tests')
--- a/pidgin/meson.build	Sat Aug 09 02:43:31 2025 -0500
+++ b/pidgin/meson.build	Sat Aug 09 18:12:31 2025 +0800
@@ -250,7 +250,7 @@
 		identifier_prefix : 'Pidgin',
 		export_packages : f'pidgin-@purple_api_major_version@',
 		nsversion : f'@purple_api_major_version@.@purple_api_minor_version@',
-		dependencies : _libpidgin_dependencies,
+		dependencies : [_libpidgin_dependencies, libpidgin_dep],
 		install : true,
 		extra_args : ['-DPIDGIN_COMPILATION', '--quiet'])
 endif

mercurial