@@ -3,6 +3,10 @@ config BR2_PACKAGE_LIBDEX
depends on BR2_USE_MMU # libglib2
depends on BR2_USE_WCHAR # libglib2, gettext
depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
+ depends on BR2_TOOLCHAIN_HAS_UCONTEXT || \
+ BR2_PACKAGE_LIBUCONTEXT_ARCH_SUPPORTS
+ select BR2_PACKAGE_LIBUCONTEXT if \
+ BR2_PACKAGE_LIBUCONTEXT_ARCH_SUPPORTS
select BR2_PACKAGE_LIBGLIB2
help
Dex provides Future-based programming for GLib-based
@@ -12,6 +16,8 @@ config BR2_PACKAGE_LIBDEX
https://gitlab.gnome.org/GNOME/libdex
-comment "libdex needs a toolchain w/ wchar, threads"
+comment "libdex needs a toolchain w/ wchar, threads, ucontext"
depends on BR2_USE_MMU
- depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
+ !(BR2_TOOLCHAIN_HAS_UCONTEXT || \
+ BR2_PACKAGE_LIBUCONTEXT_ARCH_SUPPORTS)
@@ -22,6 +22,11 @@ LIBDEX_CONF_OPTS = \
-Deventfd=enabled \
-Dintrospection=disabled
+ifeq ($(BR2_PACKAGE_LIBUCONTEXT),y)
+LIBDEX_DEPENDENCIES += libucontext
+LIBDEX_LDFLAGS += $(TARGET_LDFLAGS) -lucontext
+endif
+
ifeq ($(BR2_PACKAGE_LIBURING),y)
LIBDEX_CONF_OPTS += -Dliburing=enabled
LIBDEX_DEPENDENCIES += liburing
libdex needs ucontext since its addition in commit 70319b47f646f74f407ed3355baf5b581a10518a: /home/autobuild/autobuild/instance-11/output-1/host/lib/gcc/aarch64-buildroot-linux-musl/13.3.0/../../../../aarch64-buildroot-linux-musl/bin/ld: src/libdex-1.a.p/dex-fiber.c.o: in function `dex_fiber_context_init': /home/autobuild/autobuild/instance-11/output-1/build/libdex-0.6.1/build/../src/dex-fiber-context-private.h:131:(.text+0x30c): undefined reference to `getcontext' [...] In file included from ../src/dex-fiber-private.h:34, from ../src/dex-scheduler.c:25: ../src/dex-fiber-context-private.h: In function '_dex_fiber_context_makecontext': ../src/dex-fiber-context-private.h:108:3: error: implicit declaration of function 'makecontext' [-Werror=implicit-function-declaration] 108 | makecontext (ucontext, | ^~~~~~~~~~~ Fixes: 70319b47f646f74f407ed3355baf5b581a10518a - http://autobuild.buildroot.org/results/5f23b0e41f2957b0562c5d168f35e42f13bdad0b - http://autobuild.buildroot.org/results/67d958e9a8e1dfb147ac7be4fcb74fcafbbce987 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> --- package/libdex/Config.in | 10 ++++++++-- package/libdex/libdex.mk | 5 +++++ 2 files changed, 13 insertions(+), 2 deletions(-)