1 # libunwind is only available for a certain subset of the
2 # architectures (as visible in the list of architectures supported
3 # with the glibc C library below).
5 # In addition to this, on some architectures libunwind requires the
6 # *context() function from the C library, which are only available on
7 # certain architectures in uClibc, and not available at all on
8 # musl. But on some other architectures, libunwind works without using
9 # the *context() functions, which allows it to be built with musl.
10 config BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS
12 default y if BR2_TOOLCHAIN_USES_GLIBC && \
13 (((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \
14 BR2_mips || BR2_mipsel || BR2_mips64 || \
15 BR2_mips64el || BR2_powerpc || BR2_sh || BR2_i386 || BR2_x86_64)
16 default y if BR2_TOOLCHAIN_USES_UCLIBC && \
17 (((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \
18 BR2_i386 || BR2_mips || BR2_mipsel || \
19 BR2_mips64 || BR2_mips64el || BR2_x86_64)
20 default y if BR2_TOOLCHAIN_USES_MUSL && \
21 (((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \
22 BR2_i386 || BR2_x86_64)
24 config BR2_PACKAGE_LIBUNWIND
26 depends on BR2_TOOLCHAIN_HAS_THREADS
27 depends on BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS
29 C API to determine the call-chain of a program.
31 http://www.nongnu.org/libunwind/index.html
33 comment "libunwind needs a toolchain w/ threads"
34 depends on BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS
35 depends on !BR2_TOOLCHAIN_HAS_THREADS