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