diff options
Diffstat (limited to 'meta-oe/recipes-support/gperftools/gperftools_2.15.bb')
-rw-r--r-- | meta-oe/recipes-support/gperftools/gperftools_2.15.bb | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/gperftools/gperftools_2.15.bb b/meta-oe/recipes-support/gperftools/gperftools_2.15.bb new file mode 100644 index 000000000..bd3b2afae --- /dev/null +++ b/meta-oe/recipes-support/gperftools/gperftools_2.15.bb | |||
@@ -0,0 +1,65 @@ | |||
1 | SUMMARY = "Fast, multi-threaded malloc() and nifty performance analysis tools" | ||
2 | HOMEPAGE = "https://github.com/gperftools/gperftools" | ||
3 | DESCRIPTION = "The gperftools, previously called google-perftools, package contains some \ | ||
4 | utilities to improve and analyze the performance of C++ programs. \ | ||
5 | Included are an optimized thread-caching malloc() and cpu and heap profiling utilities. \ | ||
6 | " | ||
7 | |||
8 | LICENSE = "BSD-3-Clause" | ||
9 | LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a" | ||
10 | |||
11 | DEPENDS:append:libc-musl = " libucontext" | ||
12 | |||
13 | SRCREV = "365060c4213a48adb27f63d5dfad41b3dfbdd62e" | ||
14 | SRC_URI = "git://github.com/gperftools/gperftools;branch=master;protocol=https \ | ||
15 | file://0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch \ | ||
16 | file://disable_libunwind_aarch64.patch \ | ||
17 | file://0001-src-mmap_hook.cc-Fix-build-for-32bit-machine.patch \ | ||
18 | " | ||
19 | |||
20 | SRC_URI:append:libc-musl = " file://ppc-musl.patch" | ||
21 | |||
22 | inherit autotools | ||
23 | |||
24 | S = "${WORKDIR}/git" | ||
25 | |||
26 | # On mips, we have the following error. | ||
27 | # do_page_fault(): sending SIGSEGV to ls for invalid read access from 00000008 | ||
28 | # Segmentation fault (core dumped) | ||
29 | COMPATIBLE_HOST:mipsarch = "null" | ||
30 | COMPATIBLE_HOST:riscv64 = "null" | ||
31 | COMPATIBLE_HOST:riscv32 = "null" | ||
32 | |||
33 | # Disable thumb1 | ||
34 | # {standard input}: Assembler messages: | ||
35 | # {standard input}:434: Error: lo register required -- `ldr pc,[sp]' | ||
36 | # Makefile:4538: recipe for target 'src/base/libtcmalloc_la-linuxthreads.lo' failed | ||
37 | ARM_INSTRUCTION_SET:armv5 = "arm" | ||
38 | ARM_INSTRUCTION_SET:toolchain-clang:arm = "arm" | ||
39 | |||
40 | EXTRA_OECONF:append:libc-musl:powerpc64le = " --disable-cpu-profiler" | ||
41 | EXTRA_OECONF:append:libc-musl:powerpc = " --disable-cpu-profiler" | ||
42 | PACKAGECONFIG ?= "libunwind static" | ||
43 | PACKAGECONFIG:remove:arm:libc-musl = "libunwind" | ||
44 | PACKAGECONFIG:remove:riscv64 = "libunwind" | ||
45 | PACKAGECONFIG:remove:riscv32 = "libunwind" | ||
46 | |||
47 | PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind" | ||
48 | PACKAGECONFIG[static] = "--enable-static,--disable-static," | ||
49 | |||
50 | PACKAGE_BEFORE_PN += "libtcmalloc-minimal" | ||
51 | FILES:libtcmalloc-minimal = "${libdir}/libtcmalloc_minimal*${SOLIBS} ${libdir}/libtcmalloc_minimal_debug*${SOLIBS}" | ||
52 | |||
53 | # pprof tool requires Getopt::long and POSIX perl5 modules. | ||
54 | # Also runs `objdump` on each cpuprofile data file | ||
55 | RDEPENDS:${PN} += " \ | ||
56 | binutils \ | ||
57 | curl \ | ||
58 | perl-module-carp \ | ||
59 | perl-module-cwd \ | ||
60 | perl-module-getopt-long \ | ||
61 | perl-module-overloading \ | ||
62 | perl-module-posix \ | ||
63 | " | ||
64 | |||
65 | RDEPENDS:${PN} += "libtcmalloc-minimal (= ${EXTENDPKGV})" | ||