blob: 57c569704e1eae3c8b46818d686df41892cc4579 [file] [log] [blame]
config BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS
bool
default y
depends on BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS
depends on !BR2_RISCV_32 # qemu-riscv32 segfaults in qemu-5.0.0
config BR2_PACKAGE_GOBJECT_INTROSPECTION
bool "gobject-introspection"
depends on BR2_USE_MMU # python3, libglib2
depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS
# While gcc 4.8 might be compatible with gobject-introspection,
# The autobuilders use some toolchains from codesourcery which
# have gcc 4.8 and a very old version of glibc, which will cause
# compile errors with locale.c. As such, require 4.9 until this
# can be verified.
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
depends on BR2_TOOLCHAIN_USES_GLIBC
# gobject-introspection does not require python3 to run on the
# target; however, because the tools run in a qemu wrapper, a
# cross-compiled python3 must be installed to staging. As there
# is no current mechanism to tell Buildroot only to install
# python to staging, then python must also be installed
# unconditionally to the target when building
# gobject-introspection.
depends on BR2_PACKAGE_PYTHON3
select BR2_PACKAGE_HOST_QEMU
select BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE
select BR2_PACKAGE_LIBFFI
select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_ZLIB
help
GObject introspection is a middleware layer between C
libraries (using GObject) and language bindings. The C library
can be scanned at compile time and generate a metadata file,
in addition to the actual native C library. Then at runtime,
language bindings can read this metadata and automatically
provide bindings to call into the C library.
https://wiki.gnome.org/action/show/Projects/GObjectIntrospection
comment "gobject-introspection needs python3"
depends on !BR2_PACKAGE_PYTHON3
depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS
comment "gobject-introspection needs a glibc toolchain, gcc >= 4.9"
depends on BR2_USE_MMU
depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS
depends on !BR2_TOOLCHAIN_USES_GLIBC || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9