blob: ee34acec248679afd00c367c5c4b4b0e11e4cfa1 [file] [log] [blame]
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08001SUMMARY = "Fast, multi-threaded malloc() and nifty performance analysis tools"
2HOMEPAGE = "https://github.com/gperftools/gperftools"
Brad Bishop6a62e0e2019-10-21 08:11:42 -04003LICENSE = "BSD-3-Clause"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08004LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08005
6SRCREV = "9608fa3bcf8020d35f59fbf70cd3cbe4b015b972"
7SRC_URI = "git://github.com/gperftools/gperftools \
8 file://0001-Support-Atomic-ops-on-clang.patch \
9 file://0001-fix-build-with-musl-libc.patch \
10 file://0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch \
11 file://disable_libunwind_aarch64.patch \
12 file://sgidef.patch \
13 "
14
15inherit autotools
16
17S = "${WORKDIR}/git"
18
19# On mips, we have the following error.
20# do_page_fault(): sending SIGSEGV to ls for invalid read access from 00000008
21# Segmentation fault (core dumped)
Brad Bishop23eaf032019-11-20 05:15:02 -050022COMPATIBLE_HOST_mipsarch = "null"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080023# Disable thumb1
24# {standard input}: Assembler messages:
25# {standard input}:434: Error: lo register required -- `ldr pc,[sp]'
26# Makefile:4538: recipe for target 'src/base/libtcmalloc_la-linuxthreads.lo' failed
27ARM_INSTRUCTION_SET_armv5 = "arm"
Brad Bishop19323692019-04-05 15:28:33 -040028ARM_INSTRUCTION_SET_toolchain-clang_arm = "arm"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080029
Brad Bishop23eaf032019-11-20 05:15:02 -050030PACKAGECONFIG ?= "libunwind static"
31PACKAGECONFIG_remove_arm_libc-musl = "libunwind"
32
33PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind"
34PACKAGECONFIG[static] = "--enable-static,--disable-static,"
Brad Bishop26bdd442019-08-16 17:08:17 -040035
36PACKAGE_BEFORE_PN += "libtcmalloc-minimal"
37FILES_libtcmalloc-minimal = "${libdir}/libtcmalloc_minimal*${SOLIBS} ${libdir}/libtcmalloc_minimal_debug*${SOLIBS}"
Brad Bishop996bc452019-12-02 13:05:15 -050038
39# pprof tool requires Getopt::long and POSIX perl5 modules.
40# Also runs `objdump` on each cpuprofile data file
41RDEPENDS_${PN} += "binutils perl-module-getopt-long perl-module-posix"
42
Brad Bishop26bdd442019-08-16 17:08:17 -040043RDEPENDS_${PN} += "libtcmalloc-minimal (= ${EXTENDPKGV})"
44