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

@@ -53,67 +53,69 @@ if get_option('documentation')
endif
endif
expand_content_files = [
'atomic.md',
'base64.md',
'building.md',
'character-set.md',
'checked-math.md',
'compiling.md',
'cross-compiling.md',
'datalist-and-dataset.md',
'error-reporting.md',
'file-utils.md',
'gvariant-format-strings.md',
'gvariant-text-format.md',
'i18n.md',
'logging.md',
'main-loop.md',
'memory.md',
'memory-slices.md',
'numerical.md',
'random.md',
'reference-counting.md',
'running.md',
'testing.md',
'threads.md',
'threads-deprecated.md',
'markup.md',
'misc-utils.md',
'goption.md',
'host-utils.md',
'data-structures.md',
'programming.md',
'resources.md',
'shell.md',
'spawn.md',
'string-utils.md',
'types.md',
'unicode.md',
'unix.md',
'uuid.md',
'version.md',
'warnings.md',
'windows.md',
]
if get_option('documentation') and enable_gir
expand_content_files = [
'atomic.md',
'base64.md',
'building.md',
'character-set.md',
'checked-math.md',
'compiling.md',
'cross-compiling.md',
'datalist-and-dataset.md',
'error-reporting.md',
'file-utils.md',
'gvariant-format-strings.md',
'gvariant-text-format.md',
'i18n.md',
'logging.md',
'main-loop.md',
'memory.md',
'memory-slices.md',
'numerical.md',
'random.md',
'reference-counting.md',
'running.md',
'testing.md',
'threads.md',
'threads-deprecated.md',
'markup.md',
'misc-utils.md',
'goption.md',
'host-utils.md',
'data-structures.md',
'programming.md',
'resources.md',
'shell.md',
'spawn.md',
'string-utils.md',
'types.md',
'unicode.md',
'unix.md',
'uuid.md',
'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',
input: [ glib_toml, glib_gir[0] ],
output: 'glib',
command: [
gidocgen,
'generate',
gidocgen_common_args,
'--config=@INPUT0@',
'--output-dir=@OUTPUT@',
'--content-dir=@0@'.format(meson.current_source_dir()),
'@INPUT1@',
],
build_by_default: true,
depend_files: expand_content_files,
install: true,
install_dir: docs_dir,
install_tag: 'doc',
)
custom_target('glib-docs',
input: [ glib_toml, glib_gir[0] ],
output: 'glib',
command: [
gidocgen,
'generate',
gidocgen_common_args,
'--config=@INPUT0@',
'--output-dir=@OUTPUT@',
'--content-dir=@0@'.format(meson.current_source_dir()),
'@INPUT1@',
],
build_by_default: true,
depend_files: expand_content_files,
install: true,
install_dir: docs_dir,
install_tag: 'doc',
)
endif