xref: /OK3568_Linux_fs/buildroot/package/gobject-introspection/Config.in (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyunconfig BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS
2*4882a593Smuzhiyun	bool
3*4882a593Smuzhiyun	default y
4*4882a593Smuzhiyun	depends on BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS
5*4882a593Smuzhiyun
6*4882a593Smuzhiyunconfig BR2_PACKAGE_GOBJECT_INTROSPECTION
7*4882a593Smuzhiyun	bool "gobject-introspection"
8*4882a593Smuzhiyun	depends on BR2_USE_MMU # python3, libglib2
9*4882a593Smuzhiyun	depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS
10*4882a593Smuzhiyun	# While gcc 4.8 might be compatible with gobject-introspection,
11*4882a593Smuzhiyun	# The autobuilders use some toolchains from codesourcery which
12*4882a593Smuzhiyun	# have gcc 4.8 and a very old version of glibc, which will cause
13*4882a593Smuzhiyun	# compile errors with locale.c. As such, require 4.9 until this
14*4882a593Smuzhiyun	# can be verified.
15*4882a593Smuzhiyun	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
16*4882a593Smuzhiyun	depends on BR2_HOST_GCC_AT_LEAST_8 # host-qemu
17*4882a593Smuzhiyun	depends on BR2_TOOLCHAIN_USES_GLIBC
18*4882a593Smuzhiyun	# gobject-introspection does not require python3 to run on the
19*4882a593Smuzhiyun	# target; however, because the tools run in a qemu wrapper, a
20*4882a593Smuzhiyun	# cross-compiled python3 must be installed to staging. As there
21*4882a593Smuzhiyun	# is no current mechanism to tell Buildroot only to install
22*4882a593Smuzhiyun	# python to staging, then python must also be installed
23*4882a593Smuzhiyun	# unconditionally to the target when building
24*4882a593Smuzhiyun	# gobject-introspection.
25*4882a593Smuzhiyun	depends on BR2_PACKAGE_PYTHON3
26*4882a593Smuzhiyun	select BR2_PACKAGE_HOST_QEMU
27*4882a593Smuzhiyun	select BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE
28*4882a593Smuzhiyun	select BR2_PACKAGE_LIBFFI
29*4882a593Smuzhiyun	select BR2_PACKAGE_LIBGLIB2
30*4882a593Smuzhiyun	select BR2_PACKAGE_ZLIB
31*4882a593Smuzhiyun	help
32*4882a593Smuzhiyun	  GObject introspection is a middleware layer between C
33*4882a593Smuzhiyun	  libraries (using GObject) and language bindings. The C library
34*4882a593Smuzhiyun	  can be scanned at compile time and generate a metadata file,
35*4882a593Smuzhiyun	  in addition to the actual native C library. Then at runtime,
36*4882a593Smuzhiyun	  language bindings can read this metadata and automatically
37*4882a593Smuzhiyun	  provide bindings to call into the C library.
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun	  https://wiki.gnome.org/action/show/Projects/GObjectIntrospection
40*4882a593Smuzhiyun
41*4882a593Smuzhiyuncomment "gobject-introspection needs python3"
42*4882a593Smuzhiyun	depends on !BR2_PACKAGE_PYTHON3
43*4882a593Smuzhiyun	depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS
44*4882a593Smuzhiyun
45*4882a593Smuzhiyuncomment "gobject-introspection needs a glibc toolchain, gcc >= 4.9, host gcc >= 8"
46*4882a593Smuzhiyun	depends on BR2_USE_MMU
47*4882a593Smuzhiyun	depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS
48*4882a593Smuzhiyun	depends on !BR2_TOOLCHAIN_USES_GLIBC || \
49*4882a593Smuzhiyun		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \
50*4882a593Smuzhiyun		!BR2_HOST_GCC_AT_LEAST_8
51