kumquat-buildroot/package/gobject-introspection/Config.in
Adam Duskett 330bbd6892 package/gobject-introspection/Config.in: Allow RISCV_32 builds
Qemu 6.0.0 no longer segfaults when running qemu-riscv32. As such, it's now
possible to allow riscv32 to compile gobject-introspection.

This partially reverts commit c94a212390.
The symbol BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS is kept, even
though it is now equivalent to BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS,
because it's likely that architecture dependencies will pop up again in
the future.

The configuration of a previously failing autobuilder [1] now passes.

[1] http://autobuild.buildroot.org/results/668397b1df42297505e6fc8353c4752290a5628d

Signed-off-by: Adam Duskett <aduskett@rivian.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-05-18 22:30:17 +02:00

49 lines
2.0 KiB
Plaintext

config BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS
bool
default y
depends on BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS
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