# swipl supports arch for which libc fenv.h provides all four macros: # FE_DOWNWARD, FE_TONEAREST, FE_TOWARDZERO, FE_UPWARD # See for example in glibc https://sourceware.org/git/glibc.git # git grep -E '^[[:space:]]*#[[:space:]]*define[[:space:]]+FE_(TONEAREST|UPWARD|DOWNWARD|TOWARDZERO)' sysdeps/ config BR2_PACKAGE_SWIPL_ARCH_SUPPORTS bool default y if BR2_aarch64 || BR2_aarch64_be default y if BR2_arceb || BR2_arcle default y if BR2_arm || BR2_armeb default y if BR2_i386 default y if BR2_m68k # BR2_microblaze has only FE_TONEAREST default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el default y if BR2_or1k default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le default y if BR2_riscv default y if BR2_s390x # BR2_sh has only FE_{TONEAREST,TOWARDZERO} default y if BR2_sparc || BR2_sparc64 default y if BR2_x86_64 # BR2_xtensa supports only uclibc which does not have fenv.h config BR2_PACKAGE_SWIPL bool "swipl" depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # __has_attribute() depends on BR2_PACKAGE_SWIPL_ARCH_SUPPORTS # swipl needs fenv.h which is not provided by uclibc depends on !BR2_TOOLCHAIN_USES_UCLIBC select BR2_PACKAGE_ZLIB help SWI-Prolog offers a comprehensive free Prolog environment. Since its start in 1987, SWI-Prolog development has been driven by the needs of real world applications. SWI-Prolog is widely used in research and education as well as commercial applications. https://www.swi-prolog.org comment "swipl needs a glibc or musl toolchain w/ gcc >= 5" depends on BR2_PACKAGE_SWIPL_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5 || \ BR2_TOOLCHAIN_USES_UCLIBC