mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
gtk-doc.bbclass: unify option setting for meson-based recipes
This is done similarly to gobject-introspection work by Andreas Müller, and allows dropping duplicate clutter from the recipes. (From OE-Core rev: ff578f4451a0a199202e576b647840910b4d3f59) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
8833afc0e0
commit
07d29e7cec
@@ -10,13 +10,24 @@
|
||||
GTKDOC_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', \
|
||||
bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'True', 'False', d), 'False', d)}"
|
||||
|
||||
# meson: default option name to enable/disable gtk-doc. This matches most
|
||||
# project's configuration. In doubts - check meson_options.txt in project's
|
||||
# source path.
|
||||
GTKDOC_MESON_OPTION ?= 'docs'
|
||||
GTKDOC_MESON_ENABLE_FLAG ?= 'true'
|
||||
GTKDOC_MESON_DISABLE_FLAG ?= 'false'
|
||||
|
||||
# Auto enable/disable based on GTKDOC_ENABLED
|
||||
EXTRA_OECONF_prepend_class-target = "${@bb.utils.contains('GTKDOC_ENABLED', 'True', '--enable-gtk-doc --enable-gtk-doc-html --disable-gtk-doc-pdf', \
|
||||
'--disable-gtk-doc', d)} "
|
||||
EXTRA_OEMESON_prepend_class-target = "-D${GTKDOC_MESON_OPTION}=${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_MESON_ENABLE_FLAG}', '${GTKDOC_MESON_DISABLE_FLAG}', d)} "
|
||||
|
||||
# When building native recipes, disable gtkdoc, as it is not necessary,
|
||||
# pulls in additional dependencies, and makes build times longer
|
||||
EXTRA_OECONF_prepend_class-native = "--disable-gtk-doc "
|
||||
EXTRA_OECONF_prepend_class-nativesdk = "--disable-gtk-doc "
|
||||
EXTRA_OEMESON_prepend_class-native = "-D${GTKDOC_MESON_OPTION}=${GTKDOC_MESON_DISABLE_FLAG} "
|
||||
EXTRA_OEMESON_prepend_class-nativesdk = "-D${GTKDOC_MESON_OPTION}=${GTKDOC_MESON_DISABLE_FLAG} "
|
||||
|
||||
# Even though gtkdoc is disabled on -native, gtk-doc package is still
|
||||
# needed for m4 macros.
|
||||
|
||||
@@ -30,11 +30,7 @@ LEAD_SONAME = "libglib-2.0.*"
|
||||
|
||||
inherit meson gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages distro_features_check
|
||||
|
||||
GTKDOC_ENABLE_FLAG = "-Dgtk_doc=true"
|
||||
GTKDOC_DISABLE_FLAG = "-Dgtk_doc=false"
|
||||
|
||||
EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
|
||||
'${GTKDOC_DISABLE_FLAG}', d)} "
|
||||
GTKDOC_MESON_OPTION = "gtk_doc"
|
||||
|
||||
# This avoids the need to depend on target python3, which in case of mingw is not even possible.
|
||||
# meson's python configuration pokes into python3 configuration, so this provides the native config to it.
|
||||
|
||||
@@ -34,14 +34,8 @@ SRC_URI[sha256sum] = "dd50973c7757bcde15de6bcd3a6d462a445efd552604ae6435a0532fbb
|
||||
|
||||
inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gtk-doc lib_package
|
||||
|
||||
GTKDOC_ENABLE_FLAG = "-Ddocs=true"
|
||||
GTKDOC_DISABLE_FLAG = "-Ddocs=false"
|
||||
|
||||
GIR_MESON_OPTION = 'gir'
|
||||
|
||||
EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
|
||||
'${GTKDOC_DISABLE_FLAG}', d)} "
|
||||
|
||||
EXTRA_OEMESON_append = " ${@bb.utils.contains('PTEST_ENABLED', '1', '-Dinstalled_tests=true', '-Dinstalled_tests=false', d)}"
|
||||
|
||||
LIBV = "2.10.0"
|
||||
|
||||
@@ -28,6 +28,8 @@ SRC_URI_append_class-native = " file://0001-Relocate-the-repository-directory-fo
|
||||
|
||||
inherit meson pkgconfig gtk-doc python3native qemu gobject-introspection-data upstream-version-is-even multilib_script
|
||||
|
||||
GTKDOC_MESON_OPTION = "gtk_doc"
|
||||
|
||||
MULTILIB_SCRIPTS = "${PN}:${bindir}/g-ir-annotation-tool ${PN}:${bindir}/g-ir-scanner"
|
||||
|
||||
DEPENDS_append = " libffi zlib glib-2.0 python3 flex-native bison-native autoconf-archive"
|
||||
|
||||
@@ -19,13 +19,6 @@ SRC_URI[archive.sha256sum] = "720c5f4379513dc11fd97dc75336eb0c0d3338c53128044d9f
|
||||
|
||||
PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native"
|
||||
|
||||
# This builds both API docs (via gtk-doc)
|
||||
GTKDOC_ENABLE_FLAG = "-Ddocs=true"
|
||||
GTKDOC_DISABLE_FLAG = "-Ddocs=false"
|
||||
|
||||
EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
|
||||
'${GTKDOC_DISABLE_FLAG}', d)} "
|
||||
|
||||
do_install_append() {
|
||||
if ! ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then
|
||||
rm -rf ${D}${datadir}/installed-tests ${D}${libexecdir}
|
||||
|
||||
@@ -13,10 +13,6 @@ ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
|
||||
DEPENDS = "clutter-1.0 gtk+3"
|
||||
PACKAGES =+ "${PN}-examples"
|
||||
|
||||
GTKDOC_ENABLE_FLAG = "-Denable_docs=true"
|
||||
GTKDOC_DISABLE_FLAG = "-Denable_docs=false"
|
||||
|
||||
EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
|
||||
'${GTKDOC_DISABLE_FLAG}', d)} "
|
||||
GTKDOC_MESON_OPTION = "enable_docs"
|
||||
|
||||
GIR_MESON_OPTION = 'enable_gi'
|
||||
|
||||
@@ -26,10 +26,7 @@ DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo h
|
||||
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
|
||||
PACKAGECONFIG[x11] = ",,virtual/libx11 libxft"
|
||||
|
||||
GTKDOC_ENABLE_FLAG = "-Denable_docs=true"
|
||||
GTKDOC_DISABLE_FLAG = "-Denable_docs=false"
|
||||
EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
|
||||
'${GTKDOC_DISABLE_FLAG}', d)} "
|
||||
GTKDOC_MESON_OPTION = "enable_docs"
|
||||
GIR_MESON_OPTION = 'gir'
|
||||
|
||||
LEAD_SONAME = "libpango-1.0*"
|
||||
|
||||
@@ -22,11 +22,7 @@ inherit meson gtk-doc gettext systemd pkgconfig upstream-version-is-even gobject
|
||||
EXTRA_OEMESON = " -Dsystemd_user_dir=${systemd_user_unitdir} \
|
||||
-Ddbus_daemon=${bindir}/dbus-daemon"
|
||||
|
||||
GTKDOC_ENABLE_FLAG = "-Denable_docs=true"
|
||||
GTKDOC_DISABLE_FLAG = "-Denable_docs=false"
|
||||
|
||||
EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
|
||||
'${GTKDOC_DISABLE_FLAG}', d)} "
|
||||
GTKDOC_MESON_OPTION = "enable_docs"
|
||||
|
||||
GIR_MESON_OPTION = 'enable-introspection'
|
||||
GIR_MESON_ENABLE_FLAG = 'yes'
|
||||
|
||||
@@ -14,12 +14,6 @@ DEPENDS = "gettext-native glib-2.0"
|
||||
GNOMEBASEBUILDCLASS = "meson"
|
||||
inherit gnomebase gtk-doc gettext upstream-version-is-even gobject-introspection
|
||||
|
||||
GTKDOC_ENABLE_FLAG = "-Ddocs=true"
|
||||
GTKDOC_DISABLE_FLAG = "-Ddocs=false"
|
||||
|
||||
EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
|
||||
'${GTKDOC_DISABLE_FLAG}', d)} "
|
||||
|
||||
SRC_URI_append = " \
|
||||
file://0001-meson.build-enable-introspection-for-cross-compile.patch \
|
||||
file://0001-Switch-from-filename-to-basename.patch \
|
||||
|
||||
@@ -26,12 +26,7 @@ PACKAGECONFIG[gssapi] = "-Dgssapi=true,-Dgssapi=false,krb5"
|
||||
|
||||
EXTRA_OEMESON_append = " -Dvapi=false"
|
||||
|
||||
GTKDOC_ENABLE_FLAG = "-Ddoc=true"
|
||||
GTKDOC_DISABLE_FLAG = "-Ddoc=false"
|
||||
|
||||
EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
|
||||
'${GTKDOC_DISABLE_FLAG}', d)} "
|
||||
|
||||
GTKDOC_MESON_OPTION = "doc"
|
||||
|
||||
# When built without gnome support, libsoup-2.4 will contain only one shared lib
|
||||
# and will therefore become subject to renaming by debian.bbclass. Prevent
|
||||
|
||||
Reference in New Issue
Block a user