summaryrefslogtreecommitdiff
path: root/recipes/oprofile/oprofile.inc
blob: 5d891fa559d2afd54eac083b41eb69f1e049942d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
SECTION = "devel"
DESCRIPTION = "OProfile is a system-wide profiler for Linux systems, capable \
of profiling all running code at low overhead."
LICENSE = "GPL"
DEPENDS = "popt binutils"
RDEPENDS_${PN} += "binutils-symlinks"
RRECOMMENDS_${PN} += "kernel-vmlinux"
INC_PR = "r12"

S = "${WORKDIR}/oprofile-${PV}"
SRC_URI = "\
	${SOURCEFORGE_MIRROR}/oprofile/oprofile-${PV}.tar.gz;name=tarball \
	file://acinclude.m4 \
	"

inherit autotools

# NOTE: this disables the build of the kernel modules.
# Should add the oprofile kernel modules, for those with 2.4
# kernels, as a seperate .oe file.
EXTRA_OECONF = "--with-kernel-support \
		--without-x \
		--disable-werror "

do_configure () {
	cp ${WORKDIR}/acinclude.m4 ${S}/
	autotools_do_configure
}
# Available config options
#  --enable-abi                 enable abi portability code (default is disabled)
#  --enable-pch                 enable precompiled header (default is disabled)
#  --enable-gcov                enable option for gcov coverage testing (default is disabled)
#  --disable-werror            disable -Werror flag (default is enabled for non-release)
#  --disable-optimization      disable optimization flags (default is enabled)
#  --with-kernel-support        Use 2.6 kernel (no kernel source tree required)
#  --with-linux=dir             Path to Linux source tree
#  --with-module-dir=dir        Path to module installation directory
#  --with-extra-includes=DIR    add extra include paths
#  --with-extra-libs=DIR        add extra library paths
#  --with-x                use the X Window System
#  --with-qt-dir           where the root of Qt is installed
#  --with-qt-includes      where the Qt includes are.
#  --with-qt-libraries     where the Qt library is installed.

do_stage () {
	# As of 0.9.4 there is a libopagent library to compile and link against.
	autotools_stage_all
}

OPROFILE_ARCH = "${TARGET_ARCH}"
OPROFILE_ARCH_i586 = "i386"
# note this excludes the ppc64 directory 
# but we do not support ppc64 targets yet.
OPROFILE_ARCH_powerpc = "ppc"

FILES_${PN} = "${bindir} ${datadir}/oprofile/rtc ${datadir}/oprofile/stl.pat ${datadir}/oprofile/${OPROFILE_ARCH}"
FILES_${PN} += "\
	${libdir}/oprofile/libopagent.so.* \
"

FILES_${PN}-dev += "\
	${libdir}/oprofile/lib*.so \
	${libdir}/oprofile/lib*.a \
	${libdir}/oprofile/lib*.la \
"