blob: eb30c6011f8087f4cfd558de9c57b70861f7adec [file] [log] [blame]
Patrick Williams92b42cb2022-09-03 06:53:57 -05001#
2# Copyright OpenEmbedded Contributors
3#
4# SPDX-License-Identifier: MIT
5#
6
7# gi-docgen is a new gnome documentation generator, which
8# seems to be a successor to gtk-doc:
9# https://gitlab.gnome.org/GNOME/gi-docgen
10
11# This variable is set to True if api-documentation is in
12# DISTRO_FEATURES, and False otherwise.
Patrick Williamse760df82023-05-26 11:10:49 -050013GIDOCGEN_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation gobject-introspection-data', 'True', 'False', d)}"
14
Patrick Williams92b42cb2022-09-03 06:53:57 -050015# When building native recipes, disable gi-docgen, as it is not necessary,
16# pulls in additional dependencies, and makes build times longer
17GIDOCGEN_ENABLED:class-native = "False"
18GIDOCGEN_ENABLED:class-nativesdk = "False"
19
20# meson: default option name to enable/disable gi-docgen. This matches most
21# projects' configuration. In doubts - check meson_options.txt in project's
22# source path.
23GIDOCGEN_MESON_OPTION ?= 'gtk_doc'
24GIDOCGEN_MESON_ENABLE_FLAG ?= 'true'
25GIDOCGEN_MESON_DISABLE_FLAG ?= 'false'
26
27# Auto enable/disable based on GIDOCGEN_ENABLED
28EXTRA_OEMESON:prepend = "-D${GIDOCGEN_MESON_OPTION}=${@bb.utils.contains('GIDOCGEN_ENABLED', 'True', '${GIDOCGEN_MESON_ENABLE_FLAG}', '${GIDOCGEN_MESON_DISABLE_FLAG}', d)} "
29
30DEPENDS:append = "${@' gi-docgen-native gi-docgen' if d.getVar('GIDOCGEN_ENABLED') == 'True' else ''}"
31