config BR2_PACKAGE_LTRACE_ARCH_SUPPORTS
	bool
	default y if BR2_aarch64
	default y if BR2_arm
	default y if BR2_i386
	default y if BR2_mips
	default y if BR2_mipsel
	default y if BR2_powerpc
	default y if BR2_sparc
	default y if BR2_x86_64
	default y if BR2_xtensa

config BR2_PACKAGE_LTRACE
	bool "ltrace"
	depends on BR2_USE_WCHAR # elfutils
	depends on !BR2_STATIC_LIBS # elfutils
	depends on BR2_TOOLCHAIN_HAS_THREADS # elfutils
	depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils
	depends on BR2_PACKAGE_LTRACE_ARCH_SUPPORTS
	select BR2_PACKAGE_ELFUTILS
	help
	  Debugging program which runs a specified command until it
	  exits. While the command is executing, ltrace intercepts and
	  records the dynamic library calls which are called by the
	  executed process and the signals received by that process.

	  http://ltrace.org

comment "ltrace needs a uClibc or glibc toolchain w/ wchar, dynamic library, threads"
	depends on BR2_PACKAGE_LTRACE_ARCH_SUPPORTS
	depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS \
		|| !BR2_TOOLCHAIN_HAS_THREADS \
		|| !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC)
