Add extra-dir options for gtkdoc-fixxref to correctly link to other gtkdoc books

Sat, 02 Jan 2021 18:52:11 -0600

author
Gary Kramlich <grim@reaperworld.com>
date
Sat, 02 Jan 2021 18:52:11 -0600
changeset 40678
8f1d8122f07e
parent 40677
da66e75a4221
child 40679
062a4574af3e

Add extra-dir options for gtkdoc-fixxref to correctly link to other gtkdoc books

Testing Done:
Verified that the "Missing Link" warnings are no longer present when dependencies are already installed on the system as well as when they are built as subprojects.

Reviewed at https://reviews.imfreedom.org/r/319/

doc/reference/finch/meson.build file | annotate | diff | comparison | revisions
doc/reference/libpurple/meson.build file | annotate | diff | comparison | revisions
doc/reference/pidgin/meson.build file | annotate | diff | comparison | revisions
doc/reference/protocols/facebook/meson.build file | annotate | diff | comparison | revisions
finch/meson.build file | annotate | diff | comparison | revisions
meson.build file | annotate | diff | comparison | revisions
--- a/doc/reference/finch/meson.build	Sat Jan 02 00:37:22 2021 -0600
+++ b/doc/reference/finch/meson.build	Sat Jan 02 18:52:11 2021 -0600
@@ -18,6 +18,12 @@
     '--ignore-files=' + ' '.join(ignore_hfiles),
 ]
 
+# Extra options to supply to fixxrefs
+fixxref_args = [
+    '--extra-dir=@0@'.format(libgnt_docpath),
+    '--extra-dir=../libpurple',
+]
+
 configure_file(
     input : 'version.xml.in',
     output : 'version.xml',
@@ -30,4 +36,5 @@
     install : true,
     scan_args : scan_args,
     mkdb_args : mkdb_args,
+    fixxref_args : fixxref_args,
     gobject_typesfile : DOC_MODULE + '.types')
--- a/doc/reference/libpurple/meson.build	Sat Jan 02 00:37:22 2021 -0600
+++ b/doc/reference/libpurple/meson.build	Sat Jan 02 18:52:11 2021 -0600
@@ -28,6 +28,11 @@
     '--ignore-files=' + ' '.join(ignore_hfiles),
 ]
 
+# Extra options to supply to gtkdoc-fixxref
+fixxref_args = [
+    '--extra-dir=@0@'.format(gplugin_docpath),
+]
+
 libpurple_version_xml = configure_file(
     input : 'version.xml.in',
     output : 'version.xml',
@@ -62,5 +67,6 @@
     install : true,
     scan_args : scan_args,
     mkdb_args : mkdb_args,
+    fixxref_args: fixxref_args,
     gobject_typesfile : DOC_MODULE + '.types',
     content_files : content_files)
--- a/doc/reference/pidgin/meson.build	Sat Jan 02 00:37:22 2021 -0600
+++ b/doc/reference/pidgin/meson.build	Sat Jan 02 18:52:11 2021 -0600
@@ -23,6 +23,13 @@
     '--ignore-files=' + ' '.join(ignore_hfiles),
 ]
 
+# Extra options to supply to fixxref
+fixxref_args = [
+    '--extra-dir=@0@'.format(gplugin_gtk_docpath),
+    '--extra-dir=@0@'.format(talkatu_docpath),
+    '--extra-dir=../libpurple',
+]
+
 configure_file(
     input : 'version.xml.in',
     output : 'version.xml',
@@ -43,5 +50,6 @@
     install : true,
     scan_args : scan_args,
     mkdb_args : mkdb_args,
+    fixxref_args : fixxref_args,
     gobject_typesfile : DOC_MODULE + '.types',
     content_files : content_files)
--- a/doc/reference/protocols/facebook/meson.build	Sat Jan 02 00:37:22 2021 -0600
+++ b/doc/reference/protocols/facebook/meson.build	Sat Jan 02 18:52:11 2021 -0600
@@ -12,6 +12,11 @@
     '--ignore-headers=' + ' '.join(ignore_hfiles),
 ]
 
+# Extra options to supply to fixxref
+fixxref_args = [
+    '--extra-dir=../../libpurple',
+]
+
 # Extra SGML files that are included by $(DOC_MAIN_XML_FILE).
 content_files = [
     libpurple_version_xml,
@@ -23,5 +28,6 @@
     dependencies : facebook_dep,
     install : true,
     scan_args : scan_args,
+    fixxref_args : fixxref_args,
     gobject_typesfile : DOC_MODULE + '.types',
     content_files : content_files)
--- a/finch/meson.build	Sat Jan 02 00:37:22 2021 -0600
+++ b/finch/meson.build	Sat Jan 02 18:52:11 2021 -0600
@@ -2,6 +2,8 @@
 if get_option('consoleui')
 	libgnt_dep = dependency('gnt3', version : '>= 3.0.0', required : false)
 	if libgnt_dep.found()
+		libgnt_docpath = libgnt_dep.get_pkgconfig_variable('prefix') / 'share/gtk-doc/html'
+
 		if enable_introspection
 			libgnt_gir = ['Gnt-3.0']
 		endif
@@ -14,6 +16,7 @@
 		)
 		libgnt_dep = libgnt_proj.get_variable('libgnt_dep')
 
+		libgnt_docpath = meson.build_root() / 'subprojects/libgnt/doc/'
 		if enable_introspection
 			libgnt_gir = libgnt_proj.get_variable('libgnt_gir')
 		endif
--- a/meson.build	Sat Jan 02 00:37:22 2021 -0600
+++ b/meson.build	Sat Jan 02 18:52:11 2021 -0600
@@ -255,6 +255,8 @@
 
 	talkatu_dep = dependency('talkatu', version: '>=0.1.0', required : false)
 	if talkatu_dep.found()
+		talkatu_docpath = talkatu_dep.get_pkgconfig_variable('prefix') / 'share/gtk-doc/html'
+
 		if enable_introspection
 			talkatu_gir = 'Talkatu-0.0'
 			talkatu_include_directories = include_directories(
@@ -271,6 +273,8 @@
 		    ]
 		)
 		talkatu_dep = talkatu_proj.get_variable('talkatu_dep')
+
+		talkatu_docpath = meson.build_root() / 'subprojects/talkatu/talkatu/reference/'
 		if enable_introspection
 			talkatu_gir = talkatu_proj.get_variable('talkatu_gir')[0]
 		endif
@@ -562,6 +566,8 @@
 #######################################################################
 gplugin_dep = dependency('gplugin', version : '>= 0.29.1', required : false)
 if gplugin_dep.found()
+	gplugin_docpath = gplugin_dep.get_pkgconfig_variable('prefix') / 'share/gtk-doc/html'
+
 	if enable_introspection
 		gplugin_gir = 'GPlugin-1.0'
 		gplugin_include_directories = include_directories(
@@ -573,6 +579,7 @@
 	if get_option('gtkui')
 		gplugin_gtk_dep = dependency('gplugin-gtk', required : true)
 
+		gplugin_gtk_docpath = gplugin_gtk_dep.get_pkgconfig_variable('prefix') / 'share/gtk-doc/html'
 		if enable_introspection
 			gplugin_gtk_gir = 'GPluginGtk-1.0'
 			gplugin_gtk_include_directories = include_directories(
@@ -592,6 +599,9 @@
 	)
 
 	gplugin_dep = gplugin_proj.get_variable('gplugin_dep')
+
+	gplugin_docpath = meson.build_root() / 'subprojects/gplugin/gplugin/reference/'
+
 	if enable_introspection
 		gplugin_gir = gplugin_proj.get_variable('gplugin_gir')[0]
 	endif
@@ -600,6 +610,8 @@
 	if get_option('gtkui')
 		gplugin_gtk_dep = gplugin_proj.get_variable('gplugin_gtk_dep')
 
+		gplugin_gtk_docpath = meson.build_root() / 'subprojects/gplugin/gplugin-gtk/reference/'
+
 		if enable_introspection
 			gplugin_gtk_gir = gplugin_proj.get_variable('gplugin_gtk_gir')[0]
 		endif

mercurial