diff options
author | Alexander Kanavin <alexander.kanavin@linux.intel.com> | 2016-03-09 17:01:52 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-03-12 22:11:17 +0000 |
commit | 142cd4399a742f5482c1f83efe77bd85069bd7a7 (patch) | |
tree | dc5bb25627d5ad9186bc0c9e259122a982b3937c | |
parent | da023f17f92e2815b3cfbbee66ec4c83223f1aee (diff) | |
download | openembedded-core-142cd4399a742f5482c1f83efe77bd85069bd7a7.tar.gz openembedded-core-142cd4399a742f5482c1f83efe77bd85069bd7a7.tar.bz2 openembedded-core-142cd4399a742f5482c1f83efe77bd85069bd7a7.zip |
gobject-introspection.bbclass: add a class that enables gobject introspection
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/gobject-introspection.bbclass | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/meta/classes/gobject-introspection.bbclass b/meta/classes/gobject-introspection.bbclass new file mode 100644 index 0000000000..ef5162974f --- /dev/null +++ b/meta/classes/gobject-introspection.bbclass @@ -0,0 +1,39 @@ +# Inherit this class in recipes to enable building their introspection files + +# This allows disabling introspection support in recipes +# (and therefore avoiding the use of qemu) +# if gobject-introspection-data is omitted from DISTRO_FEATURES and MACHINE_FEATURES. +EXTRA_OECONF_prepend = "${@bb.utils.contains('COMBINED_FEATURES', 'gobject-introspection-data', '--enable-introspection', '--disable-introspection', d)} " + +UNKNOWN_CONFIGURE_WHITELIST_append = " --enable-introspection --disable-introspection" + +# Generating introspection data depends on a combination of native and target introspection tools, +# and qemu to run the target tools. +DEPENDS_append = " gobject-introspection gobject-introspection-native qemu-native" + +# This is necessary for python scripts to succeed - distutils +# failes if these are not set +export BUILD_SYS +export HOST_SYS +export STAGING_LIBDIR +export STAGING_INCDIR + +# This is used by introspection tools to find .gir includes +export XDG_DATA_DIRS = "${STAGING_DATADIR}" + +do_configure_prepend_class-target () { + # introspection.m4 pre-packaged with upstream tarballs does not yet + # have our fixes + mkdir -p ${S}/m4 + cp ${STAGING_DIR_TARGET}/${datadir}/aclocal/introspection.m4 ${S}/m4 +} + + +# .typelib files are needed at runtime and so they go to the main package +# (so they'll be together with libraries they support). +FILES_${PN}_append = " ${libdir}/girepository-*/*.typelib" + +# .gir files go to dev package, as they're needed for developing (but not for running) +# things that depends on introspection. +FILES_${PN}-dev_append = " ${datadir}/gir-*/*.gir" + |