1
0
mirror of https://gitlab.gnome.org/GNOME/glib.git synced 2025-05-24 14:30:41 +02:00

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
docs/reference

@ -19,44 +19,46 @@ if get_option('man-pages').enabled()
endforeach endforeach
endif endif
expand_content_files = [ if get_option('documentation') and enable_gir
'dbus-error.md', expand_content_files = [
'dbus-introspection.md', 'dbus-error.md',
'dbus-name-owning.md', 'dbus-introspection.md',
'dbus-name-watching.md', 'dbus-name-owning.md',
'dbus-utils.md', 'dbus-name-watching.md',
'error.md', 'dbus-utils.md',
'file-attributes.md', 'error.md',
'io-scheduler.md', 'file-attributes.md',
'menu-exporter.md', 'io-scheduler.md',
'migrating-gconf.md', 'menu-exporter.md',
'migrating-gdbus.md', 'migrating-gconf.md',
'migrating-gnome-vfs.md', 'migrating-gdbus.md',
'migrating-posix.md', 'migrating-gnome-vfs.md',
'networking.md', 'migrating-posix.md',
'overview.md', 'networking.md',
'pollable-utils.md', 'overview.md',
'tls-overview.md', 'pollable-utils.md',
'unix-mounts.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] ], input: [ gio_toml, gio_gir[0] ],
output: 'gio', output: 'gio',
command: [ command: [
gidocgen, gidocgen,
'generate', 'generate',
gidocgen_common_args, gidocgen_common_args,
'--config=@INPUT0@', '--config=@INPUT0@',
'--output-dir=@OUTPUT@', '--output-dir=@OUTPUT@',
'--content-dir=@0@'.format(meson.current_source_dir()), '--content-dir=@0@'.format(meson.current_source_dir()),
'@INPUT1@', '@INPUT1@',
], ],
build_by_default: true, build_by_default: true,
depend_files: expand_content_files, depend_files: expand_content_files,
install: true, install: true,
install_dir: docs_dir, install_dir: docs_dir,
install_tag: 'doc', install_tag: 'doc',
) )
endif

@ -1,23 +1,25 @@
girepository_toml = configure_file( if get_option('documentation') and enable_gir
input: 'girepository.toml.in', girepository_toml = configure_file(
output: 'girepository.toml', input: 'girepository.toml.in',
configuration: toml_conf, output: 'girepository.toml',
) configuration: toml_conf,
)
custom_target('girepository-docs', custom_target('girepository-docs',
input: [ girepository_toml, girepository_gir[0] ], input: [ girepository_toml, girepository_gir[0] ],
output: 'girepository', output: 'girepository',
command: [ command: [
gidocgen, gidocgen,
'generate', 'generate',
gidocgen_common_args, gidocgen_common_args,
'--config=@INPUT0@', '--config=@INPUT0@',
'--output-dir=@OUTPUT@', '--output-dir=@OUTPUT@',
'--content-dir=@0@'.format(meson.current_source_dir()), '--content-dir=@0@'.format(meson.current_source_dir()),
'--add-include-path=@0@'.format(meson.current_build_dir() / '../../../gobject'), '--add-include-path=@0@'.format(meson.current_build_dir() / '../../../gobject'),
'--add-include-path=@0@'.format(meson.current_build_dir() / '../../../gmodule'), '--add-include-path=@0@'.format(meson.current_build_dir() / '../../../gmodule'),
'--add-include-path=@0@'.format(meson.current_build_dir() / '../../../gio'), '--add-include-path=@0@'.format(meson.current_build_dir() / '../../../gio'),
'@INPUT1@', '@INPUT1@',
], ],
build_by_default: true, build_by_default: true,
) )
endif

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

@ -1,24 +1,26 @@
expand_content_files = [ if get_option('documentation') and enable_gir
'modules.md', 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] ], input: [ gmodule_toml, gmodule_gir[0] ],
output: 'gmodule', output: 'gmodule',
command: [ command: [
gidocgen, gidocgen,
'generate', 'generate',
gidocgen_common_args, gidocgen_common_args,
'--config=@INPUT0@', '--config=@INPUT0@',
'--output-dir=@OUTPUT@', '--output-dir=@OUTPUT@',
'--content-dir=@0@'.format(meson.current_source_dir()), '--content-dir=@0@'.format(meson.current_source_dir()),
'@INPUT1@', '@INPUT1@',
], ],
build_by_default: true, build_by_default: true,
depend_files: expand_content_files, depend_files: expand_content_files,
install: true, install: true,
install_dir: docs_dir, install_dir: docs_dir,
install_tag: 'doc', install_tag: 'doc',
) )
endif

@ -17,35 +17,37 @@ if get_option('man-pages').enabled()
endforeach endforeach
endif endif
expand_content_files = [ if get_option('documentation') and enable_gir
'boxed.md', expand_content_files = [
'concepts.md', 'boxed.md',
'enum-types.md', 'concepts.md',
'floating-refs.md', 'enum-types.md',
'gvalue.md', 'floating-refs.md',
'tutorial.md', 'gvalue.md',
'types.md', 'tutorial.md',
'signals.md', 'types.md',
'value-collection.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] ], input: [ gobject_toml, gobject_gir[0] ],
output: 'gobject', output: 'gobject',
command: [ command: [
gidocgen, gidocgen,
'generate', 'generate',
gidocgen_common_args, gidocgen_common_args,
'--config=@INPUT0@', '--config=@INPUT0@',
'--output-dir=@OUTPUT@', '--output-dir=@OUTPUT@',
'--content-dir=@0@'.format(meson.current_source_dir()), '--content-dir=@0@'.format(meson.current_source_dir()),
'@INPUT1@', '@INPUT1@',
], ],
build_by_default: true, build_by_default: true,
depend_files: expand_content_files, depend_files: expand_content_files,
install: true, install: true,
install_dir: docs_dir, install_dir: docs_dir,
install_tag: 'doc', install_tag: 'doc',
) )
endif

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