blob: a7ef6f0970732917d3a7930d2d042ef431a83a40 [file] [edit]
config BR2_PACKAGE_HEAPTRACK
bool "heaptrack"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS # boost, libunwind, elfutils
depends on BR2_USE_WCHAR # boost, elfutils
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
depends on BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS # libunwind
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17 filesystem
depends on !BR2_STATIC_LIBS # libunwind, elfutils
depends on !BR2_TOOLCHAIN_USES_UCLIBC # no dlmopen() support
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_BOOST_IOSTREAMS
select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
# For heaptrack_print
select BR2_PACKAGE_BOOST_FILESYSTEM
select BR2_PACKAGE_ELFUTILS
select BR2_PACKAGE_LIBUNWIND
select BR2_PACKAGE_ZLIB
help
Heaptrack traces all memory allocations and annotates these
events with stack traces. Dedicated analysis tools then allow
you to interpret the heap memory profile to find hotspots,
memory leaks, allocation hotspots and temporary allocations.
Zstandard offers better (de)compression performance compared
with gzip/zlib, making heaptrack faster and datafiles smaller,
so enabling BR2_PACKAGE_ZSTD is recommended.
https://apps.kde.org/heaptrack/
comment "heaptrack needs a glibc or musl toolchain w/ C++, threads, wchar, gcc >= 8, dynamic library"
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
depends on BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS
depends on !BR2_INSTALL_LIBSTDCPP \
|| !BR2_TOOLCHAIN_HAS_THREADS \
|| !BR2_USE_WCHAR \
|| !BR2_TOOLCHAIN_GCC_AT_LEAST_8 \
|| BR2_STATIC_LIBS \
|| BR2_TOOLCHAIN_USES_UCLIBC