docs: Split out platform specific GIO and GLib documentation

This creates `GioUnix`, `GioWin32`, `GLibUnix` and `GLibWin32`. These
bodies of documentation are in addition to the main, platform agnostic,
documentation for both libraries.

This commit necessarily includes various mechanical changes to update
the repository namespace used in various existing documentation links to
platform specific APIs.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Helps: #3037
This commit is contained in:
Philip Withnall
2024-02-06 15:36:14 +00:00
parent 5021d002ab
commit c498c9a8c9
16 changed files with 363 additions and 56 deletions

View File

@@ -0,0 +1,51 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# Copyright 2023 Matthias Clasen
# Copyright 2023 Philip Withnall
[library]
name = "GLibUnix"
version = "@VERSION@"
browse_url = "https://gitlab.gnome.org/GNOME/glib/"
repository_url = "https://gitlab.gnome.org/GNOME/glib.git"
website_url = "https://www.gtk.org"
docs_url = "https://docs.gtk.org/glib-unix/"
authors = "GLib Development Team"
license = "LGPL-2.1-or-later"
description = "Unix-specific APIs in GLib"
dependencies = [ "GLib-2.0" ]
related = [ "GModule-2.0", "GObject-2.0", "Gio-2.0" ]
devhelp = true
search_index = true
[dependencies."GLib-2.0"]
name = "GLib"
description = "The base utility library"
docs_url = "https://docs.gtk.org/glib/"
[related."GModule-2.0"]
name = "GModule"
description = "Portable API for dynamically loading modules"
docs_url = "https://docs.gtk.org/gmodule/"
[related."GObject-2.0"]
name = "GObject"
description = "The base type system library"
docs_url = "https://docs.gtk.org/gobject/"
[related."Gio-2.0"]
name = "GIO"
description = "GObject Interfaces and Objects, Networking, IPC, and I/O"
docs_url = "https://docs.gtk.org/gio/"
[theme]
name = "basic"
show_index_summary = true
show_class_hierarchy = true
[extra]
urlmap_file = "../urlmap.js"
# The same order will be used when generating the index
content_files = [
"unix.md",
]
content_images = []

View File

@@ -0,0 +1,51 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# Copyright 2023 Matthias Clasen
# Copyright 2023 Philip Withnall
[library]
name = "GLibWin32"
version = "@VERSION@"
browse_url = "https://gitlab.gnome.org/GNOME/glib/"
repository_url = "https://gitlab.gnome.org/GNOME/glib.git"
website_url = "https://www.gtk.org"
docs_url = "https://docs.gtk.org/glib-win32/"
authors = "GLib Development Team"
license = "LGPL-2.1-or-later"
description = "Windows-specific APIs in GLib"
dependencies = [ "GLib-2.0" ]
related = [ "GModule-2.0", "GObject-2.0", "Gio-2.0" ]
devhelp = true
search_index = true
[dependencies."GLib-2.0"]
name = "GLib"
description = "The base utility library"
docs_url = "https://docs.gtk.org/glib/"
[related."GModule-2.0"]
name = "GModule"
description = "Portable API for dynamically loading modules"
docs_url = "https://docs.gtk.org/gmodule/"
[related."GObject-2.0"]
name = "GObject"
description = "The base type system library"
docs_url = "https://docs.gtk.org/gobject/"
[related."Gio-2.0"]
name = "GIO"
description = "GObject Interfaces and Objects, Networking, IPC, and I/O"
docs_url = "https://docs.gtk.org/gio/"
[theme]
name = "basic"
show_index_summary = true
show_class_hierarchy = true
[extra]
urlmap_file = "../urlmap.js"
# The same order will be used when generating the index
content_files = [
"windows.md",
]
content_images = []

View File

@@ -75,8 +75,6 @@ content_files = [
"checked-math.md",
"threads.md",
"spawn.md",
"unix.md",
"windows.md",
"random.md",
"numerical.md",
"markup.md",

View File

@@ -91,10 +91,14 @@ if get_option('documentation') and enable_gir
'string-utils.md',
'types.md',
'unicode.md',
'unix.md',
'uuid.md',
'version.md',
'warnings.md',
]
expand_content_unix_files = [
'unix.md',
]
expand_content_win32_files = [
'windows.md',
]
@@ -118,4 +122,48 @@ if get_option('documentation') and enable_gir
install_dir: docs_dir,
install_tag: 'doc',
)
if host_system == 'windows'
glib_win32_toml = configure_file(input: 'glib-win32.toml.in', output: 'glib-win32.toml', configuration: toml_conf)
custom_target('glib-win32-docs',
input: [ glib_win32_toml, glib_win32_gir[0] ],
output: 'glib-win32',
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_win32_files,
install: true,
install_dir: docs_dir,
install_tag: 'doc',
)
else
glib_unix_toml = configure_file(input: 'glib-unix.toml.in', output: 'glib-unix.toml', configuration: toml_conf)
custom_target('glib-unix-docs',
input: [ glib_unix_toml, glib_unix_gir[0] ],
output: 'glib-unix',
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_unix_files,
install: true,
install_dir: docs_dir,
install_tag: 'doc',
)
endif
endif

View File

@@ -14,12 +14,12 @@ To use these functions, you must explicitly include the
## File Descriptors
* [func@GLib.unix_open_pipe]
* [func@GLib.unix_set_fd_nonblocking]
* [func@GLibUnix.unix_open_pipe]
* [func@GLibUnix.unix_set_fd_nonblocking]
## Pipes
The [struct@GLib.UnixPipe] structure can be used to conveniently open and
The [struct@GLibUnix.UnixPipe] structure can be used to conveniently open and
manipulate a Unix pipe.
<!-- FIXME: https://gitlab.gnome.org/GNOME/gi-docgen/-/issues/173 -->
@@ -33,16 +33,16 @@ The methods for it are all static inline for efficiency. They are:
## Signals
* [func@GLib.unix_signal_add]
* [func@GLib.unix_signal_add_full]
* [func@GLib.unix_signal_source_new]
* [func@GLibUnix.unix_signal_add]
* [func@GLibUnix.unix_signal_add_full]
* [func@GLibUnix.unix_signal_source_new]
## Polling
* [func@GLib.unix_fd_add]
* [func@GLib.unix_fd_add_full]
* [func@GLib.unix_fd_source_new]
* [func@GLibUnix.unix_fd_add]
* [func@GLibUnix.unix_fd_add_full]
* [func@GLibUnix.unix_fd_source_new]
## User Database
* [func@GLib.unix_get_passwd_entry]
* [func@GLibUnix.unix_get_passwd_entry]

View File

@@ -8,19 +8,19 @@ These functions provide some level of Unix emulation on the
Windows platform. If your application really needs the POSIX
APIs, we suggest you try the [Cygwin project](https://cygwin.com/).
* [type@GLib.Win32OSType]
* [func@GLib.win32_check_windows_version]
* [func@GLib.win32_get_command_line]
* [func@GLib.win32_error_message]
* [func@GLib.win32_getlocale]
* [func@GLib.win32_get_package_installation_directory]
* [func@GLib.win32_get_package_installation_directory_of_module]
* [func@GLib.win32_get_package_installation_subdirectory]
* [func@GLib.win32_get_windows_version]
* [func@GLib.win32_locale_filename_from_utf8]
* [func@GLib.WIN32_HAVE_WIDECHAR_API]
* [func@GLib.WIN32_IS_NT_BASED]
* [type@GLibWin32.Win32OSType]
* [func@GLibWin32.win32_check_windows_version]
* [func@GLibWin32.win32_get_command_line]
* [func@GLibWin32.win32_error_message]
* [func@GLibWin32.win32_getlocale]
* [func@GLibWin32.win32_get_package_installation_directory]
* [func@GLibWin32.win32_get_package_installation_directory_of_module]
* [func@GLibWin32.win32_get_package_installation_subdirectory]
* [func@GLibWin32.win32_get_windows_version]
* [func@GLibWin32.win32_locale_filename_from_utf8]
* [func@GLibWin32.WIN32_HAVE_WIDECHAR_API]
* [func@GLibWin32.WIN32_IS_NT_BASED]
## Deprecated API
* [func@GLib.WIN32_DLLMAIN_FOR_DLL_NAME]
* [func@GLibWin32.WIN32_DLLMAIN_FOR_DLL_NAME]