diff options
Diffstat (limited to 'meta/recipes-devtools/valgrind/valgrind_3.10.0.bb')
-rw-r--r-- | meta/recipes-devtools/valgrind/valgrind_3.10.0.bb | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/meta/recipes-devtools/valgrind/valgrind_3.10.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.10.0.bb new file mode 100644 index 0000000000..4c6e1a7a0a --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind_3.10.0.bb | |||
@@ -0,0 +1,98 @@ | |||
1 | SUMMARY = "Valgrind memory debugger and instrumentation framework" | ||
2 | HOMEPAGE = "http://valgrind.org/" | ||
3 | BUGTRACKER = "http://valgrind.org/support/bug_reports.html" | ||
4 | LICENSE = "GPLv2 & GPLv2+ & BSD" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=c46082167a314d785d012a244748d803 \ | ||
6 | file://include/pub_tool_basics.h;beginline=1;endline=29;md5=e7071929a50d4b0fc27a3014b315b0f7 \ | ||
7 | file://include/valgrind.h;beginline=1;endline=56;md5=92df8a1bde56fe2af70931ff55f6622f \ | ||
8 | file://COPYING.DOCS;md5=8fdeb5abdb235a08e76835f8f3260215" | ||
9 | |||
10 | X11DEPENDS = "virtual/libx11" | ||
11 | DEPENDS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}" | ||
12 | |||
13 | SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \ | ||
14 | file://fixed-perl-path.patch \ | ||
15 | file://Added-support-for-PPC-instructions-mfatbu-mfatbl.patch \ | ||
16 | file://sepbuildfix.patch \ | ||
17 | file://glibc-2.20.patch \ | ||
18 | file://force-nostabs.patch \ | ||
19 | file://remove-arm-variant-specific.patch \ | ||
20 | file://remove-ppc-tests-failing-build.patch \ | ||
21 | file://valgrind-remove-rpath.patch \ | ||
22 | file://add-ptest.patch \ | ||
23 | file://run-ptest \ | ||
24 | " | ||
25 | |||
26 | SRC_URI[md5sum] = "7c311a72a20388aceced1aa5573ce970" | ||
27 | SRC_URI[sha256sum] = "03047f82dfc6985a4c7d9d2700e17bc05f5e1a0ca6ad902e5d6c81aeb720edc9" | ||
28 | |||
29 | COMPATIBLE_HOST = '(i.86|x86_64|powerpc|powerpc64).*-linux' | ||
30 | COMPATIBLE_HOST_armv7a = 'arm.*-linux' | ||
31 | |||
32 | inherit autotools ptest | ||
33 | |||
34 | EXTRA_OECONF = "--enable-tls --without-mpicc" | ||
35 | EXTRA_OECONF_armv7a = "--enable-tls -host=armv7-none-linux-gnueabi --without-mpicc" | ||
36 | EXTRA_OEMAKE = "-w" | ||
37 | PARALLEL_MAKE = "" | ||
38 | |||
39 | do_install_append () { | ||
40 | install -m 644 ${B}/default.supp ${D}/${libdir}/valgrind/ | ||
41 | } | ||
42 | |||
43 | RDEPENDS_${PN} += "perl" | ||
44 | |||
45 | FILES_${PN}-dbg += "${libdir}/${PN}/*/.debug/*" | ||
46 | |||
47 | # valgrind needs debug information for ld.so at runtime in order to | ||
48 | # redirect functions like strlen. | ||
49 | RRECOMMENDS_${PN} += "${TCLIBC}-dbg" | ||
50 | |||
51 | RDEPENDS_${PN}-ptest += " sed perl glibc-utils" | ||
52 | |||
53 | do_compile_ptest() { | ||
54 | oe_runmake check | ||
55 | } | ||
56 | |||
57 | |||
58 | do_install_ptest() { | ||
59 | chmod +x ${B}/tests/vg_regtest | ||
60 | |||
61 | # The test application binaries are not automatically installed. | ||
62 | # Grab them from the build directory. | ||
63 | # | ||
64 | # The regression tests require scripts and data files that are not | ||
65 | # copied to the build directory. They must be copied from the | ||
66 | # source directory. | ||
67 | saved_dir=$PWD | ||
68 | for parent_dir in ${S} ${B} ; do | ||
69 | cd $parent_dir | ||
70 | |||
71 | # exclude shell or the package won't install | ||
72 | rm -rf none/tests/shell* 2>/dev/null | ||
73 | |||
74 | subdirs="tests cachegrind/tests callgrind/tests drd/tests helgrind/tests massif/tests memcheck/tests none/tests" | ||
75 | |||
76 | # Get the vg test scripts, filters, and expected files | ||
77 | for dir in $subdirs ; do | ||
78 | find $dir | cpio -pvdu ${D}${PTEST_PATH} | ||
79 | done | ||
80 | cd $saved_dir | ||
81 | done | ||
82 | |||
83 | # clean out build artifacts before building the rpm | ||
84 | find ${D}${PTEST_PATH} \ | ||
85 | \( -name "Makefile*" \ | ||
86 | -o -name "*.o" \ | ||
87 | -o -name "*.c" \ | ||
88 | -o -name "*.S" \ | ||
89 | -o -name "*.h" \) \ | ||
90 | -exec rm {} \; | ||
91 | |||
92 | # needed by massif tests | ||
93 | cp ${B}/massif/ms_print ${D}${PTEST_PATH}/massif/ms_print | ||
94 | |||
95 | # handle multilib | ||
96 | sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest | ||
97 | } | ||
98 | |||