depends on BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS # bdwgc
depends on BR2_USE_WCHAR # needs wctomb
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
- depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # gnulib
select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # less
select BR2_PACKAGE_BDWGC
select BR2_PACKAGE_LESS # runtime
https://www.gnu.org/software/poke/
-comment "poke needs a glibc or musl toolchain w/ NPTL, wchar"
+comment "poke needs a toolchain w/ NPTL, wchar"
depends on BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS
- depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) \
- ||!BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_USE_WCHAR
+ depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_USE_WCHAR
POKE_DEPENDENCIES = host-flex host-bison host-pkgconf bdwgc readline
+# poke bundle gnulib that doesn't support the case where
+# host_os='linux-uclibc'. When cross-compiling, the guessed
+# answers are mostly wrong and gnulib will try to replace
+# snprintf with rpl_snprintf. This lead to "undefined reference
+# to `rpl_snprintf'" errors.
+ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
+POKE_CONF_ENV = gl_cv_func_printf_positions=yes \
+ gl_cv_func_snprintf_retval_c99=yes \
+ gl_cv_func_printf_sizes_c99=yes \
+ gl_cv_func_printf_infinite_long_double=yes \
+ gl_cv_func_snprintf_retval_c99=yes \
+ gl_cv_func_snprintf_truncation_c99=yes \
+ gl_cv_func_snprintf_usable=yes \
+ gl_cv_func_strerror_0_works=yes \
+ gl_cv_header_working_stdint_h=yes \
+ gl_cv_func_printf_infinite=yes \
+ gl_cv_func_printf_flag_zero=yes \
+ gl_cv_func_printf_enomem=yes \
+ gl_cv_func_printf_directive_f=yes \
+ gl_cv_func_printf_directive_a=yes \
+ gl_cv_func_snprintf_directive_n=yes \
+ gl_cv_func_vsnprintf_posix=yes \
+ gl_cv_func_vsnprintf_zerosize_c99=yes
+endif
+
POKE_CONF_OPTS = \
--disable-gui \
--disable-libnbd \