docs: Allow building man pages without the reference documentation

Now that the reference documentation uses gi-docgen, it's more
troublesome to generate in less standard build scenarios like
cross-compiling.

In distributions like Debian, reference documentation is generally
packaged separately (in libglib2.0-doc in Debian's case), but man pages
are generally packaged alongside the executables themselves (in the
libglib2.0-bin and libglib2.0-dev-bin packages, in Debian's case). We
can exclude the reference documentation when cross-compiling, but ideally
we would like the man pages to still be built, so that a cross-compiled
libglib2.0-bin or libglib2.0-dev-bin package has the same content as a
native build.

Signed-off-by: Simon McVittie <smcv@debian.org>
This commit is contained in:
Simon McVittie 2024-01-11 15:39:51 +00:00 committed by Simon McVittie
parent 38f5ba3c2f
commit aa28326b87
6 changed files with 191 additions and 181 deletions

View File

@ -19,7 +19,8 @@ if get_option('man-pages').enabled()
endforeach
endif
expand_content_files = [
if get_option('documentation') and enable_gir
expand_content_files = [
'dbus-error.md',
'dbus-introspection.md',
'dbus-name-owning.md',
@ -38,11 +39,11 @@ expand_content_files = [
'pollable-utils.md',
'tls-overview.md',
'unix-mounts.md',
]
]
gio_toml = configure_file(input: 'gio.toml.in', output: 'gio.toml', configuration: toml_conf)
gio_toml = configure_file(input: 'gio.toml.in', output: 'gio.toml', configuration: toml_conf)
custom_target('gio-docs',
custom_target('gio-docs',
input: [ gio_toml, gio_gir[0] ],
output: 'gio',
command: [
@ -59,4 +60,5 @@ custom_target('gio-docs',
install: true,
install_dir: docs_dir,
install_tag: 'doc',
)
)
endif

View File

@ -1,10 +1,11 @@
girepository_toml = configure_file(
if get_option('documentation') and enable_gir
girepository_toml = configure_file(
input: 'girepository.toml.in',
output: 'girepository.toml',
configuration: toml_conf,
)
)
custom_target('girepository-docs',
custom_target('girepository-docs',
input: [ girepository_toml, girepository_gir[0] ],
output: 'girepository',
command: [
@ -20,4 +21,5 @@ custom_target('girepository-docs',
'@INPUT1@',
],
build_by_default: true,
)
)
endif

View File

@ -53,7 +53,8 @@ if get_option('documentation')
endif
endif
expand_content_files = [
if get_option('documentation') and enable_gir
expand_content_files = [
'atomic.md',
'base64.md',
'building.md',
@ -95,11 +96,11 @@ expand_content_files = [
'version.md',
'warnings.md',
'windows.md',
]
]
glib_toml = configure_file(input: 'glib.toml.in', output: 'glib.toml', configuration: toml_conf)
glib_toml = configure_file(input: 'glib.toml.in', output: 'glib.toml', configuration: toml_conf)
custom_target('glib-docs',
custom_target('glib-docs',
input: [ glib_toml, glib_gir[0] ],
output: 'glib',
command: [
@ -116,4 +117,5 @@ custom_target('glib-docs',
install: true,
install_dir: docs_dir,
install_tag: 'doc',
)
)
endif

View File

@ -1,10 +1,11 @@
expand_content_files = [
if get_option('documentation') and enable_gir
expand_content_files = [
'modules.md',
]
]
gmodule_toml = configure_file(input: 'gmodule.toml.in', output: 'gmodule.toml', configuration: toml_conf)
gmodule_toml = configure_file(input: 'gmodule.toml.in', output: 'gmodule.toml', configuration: toml_conf)
custom_target('gmodule-docs',
custom_target('gmodule-docs',
input: [ gmodule_toml, gmodule_gir[0] ],
output: 'gmodule',
command: [
@ -21,4 +22,5 @@ custom_target('gmodule-docs',
install: true,
install_dir: docs_dir,
install_tag: 'doc',
)
)
endif

View File

@ -17,7 +17,8 @@ if get_option('man-pages').enabled()
endforeach
endif
expand_content_files = [
if get_option('documentation') and enable_gir
expand_content_files = [
'boxed.md',
'concepts.md',
'enum-types.md',
@ -27,11 +28,11 @@ expand_content_files = [
'types.md',
'signals.md',
'value-collection.md',
]
]
gobject_toml = configure_file(input: 'gobject.toml.in', output: 'gobject.toml', configuration: toml_conf)
gobject_toml = configure_file(input: 'gobject.toml.in', output: 'gobject.toml', configuration: toml_conf)
custom_target('gobject-docs',
custom_target('gobject-docs',
input: [ gobject_toml, gobject_gir[0] ],
output: 'gobject',
command: [
@ -48,4 +49,5 @@ custom_target('gobject-docs',
install: true,
install_dir: docs_dir,
install_tag: 'doc',
)
)
endif

View File

@ -16,10 +16,10 @@ if get_option('documentation') and enable_gir
]
docs_dir = glib_datadir / 'doc' / 'glib-2.0'
subdir('glib')
subdir('gmodule')
subdir('gobject')
subdir('gio')
subdir('girepository')
endif
subdir('glib')
subdir('gmodule')
subdir('gobject')
subdir('gio')
subdir('girepository')