mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-05-30 13:00:02 +00:00
oprofile: move from oe-core, as it's being deprecated there
oe-core will focus on perf as a better alternative moving forward. Existing users of oprofile are encouraged to move to perf, but for now can be unblocked with oprofile moved to meta-oe. Signed-off-by: Denys Dmytriyenko <denys@ti.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
committed by
Martin Jansa
parent
095c366c29
commit
22e6e7d5a8
@@ -0,0 +1,65 @@
|
|||||||
|
SUMMARY = "System-Wide Profiler"
|
||||||
|
DESCRIPTION = "OProfile is a system-wide profiler for Linux systems, capable \
|
||||||
|
of profiling all running code at low overhead."
|
||||||
|
HOMEPAGE = "http://oprofile.sourceforge.net/news/"
|
||||||
|
BUGTRACKER = "http://sourceforge.net/tracker/?group_id=16191&atid=116191"
|
||||||
|
|
||||||
|
LICENSE = "LGPLv2.1+ & GPLv2"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
|
||||||
|
file://libopagent/opagent.h;beginline=5;endline=26;md5=4f16f72c7a493d8a4704aa18d03d15c6 \
|
||||||
|
"
|
||||||
|
SECTION = "devel"
|
||||||
|
|
||||||
|
DEPENDS = "popt binutils"
|
||||||
|
RDEPENDS_${PN} = "binutils-symlinks"
|
||||||
|
RRECOMMENDS_${PN} = "kernel-vmlinux"
|
||||||
|
|
||||||
|
FILES_${PN} = "${bindir} ${libdir}/${BPN}/lib*${SOLIBS} ${datadir}/${BPN}"
|
||||||
|
FILES_${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/lib*.la"
|
||||||
|
FILES_${PN}-staticdev += "${libdir}/${BPN}/lib*.a"
|
||||||
|
|
||||||
|
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
|
||||||
|
file://acinclude.m4 \
|
||||||
|
file://automake-foreign.patch \
|
||||||
|
file://oprofile-cross-compile-tests.patch \
|
||||||
|
file://run-ptest \
|
||||||
|
file://root-home-dir.patch \
|
||||||
|
file://0001-Add-rmb-definition-for-NIOS2-architecture.patch \
|
||||||
|
file://0001-Fix-FTBFS-problem-with-GCC-6.patch \
|
||||||
|
"
|
||||||
|
UPSTREAM_CHECK_REGEX = "oprofile-(?P<pver>\d+(\.\d+)+)/"
|
||||||
|
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/oprofile/files/oprofile/"
|
||||||
|
|
||||||
|
SRC_URI_append_libc-musl = " file://musl.patch"
|
||||||
|
|
||||||
|
inherit autotools pkgconfig ptest
|
||||||
|
|
||||||
|
EXTRA_OECONF = "--with-kernel=${STAGING_DIR_HOST}${prefix} --without-x ac_cv_prog_XSLTPROC="
|
||||||
|
do_configure () {
|
||||||
|
cp ${WORKDIR}/acinclude.m4 ${S}/
|
||||||
|
autotools_do_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
EXTRA_OEMAKE = "SRCDIR=${PTEST_PATH}/libutil++/tests"
|
||||||
|
do_compile_ptest() {
|
||||||
|
oe_runmake check
|
||||||
|
}
|
||||||
|
|
||||||
|
do_install_ptest() {
|
||||||
|
subdirs="libdb/tests libutil++/tests libregex/tests libutil/tests libop/tests libdb/tests "
|
||||||
|
for tooltest in ${subdirs}
|
||||||
|
do
|
||||||
|
find ${tooltest} -perm /u=x -type f| cpio -pvdu ${D}${PTEST_PATH}
|
||||||
|
done
|
||||||
|
|
||||||
|
# needed by some libop tests
|
||||||
|
cp -r events ${D}${PTEST_PATH}
|
||||||
|
|
||||||
|
# needed by libregex regex_test
|
||||||
|
cp libregex/stl.pat ${D}${PTEST_PATH}/libregex
|
||||||
|
cp libregex/tests/mangled-name ${D}${PTEST_PATH}/libregex/tests
|
||||||
|
|
||||||
|
# needed by litutil++ file_manip_tests
|
||||||
|
cp ${S}/libutil++/tests/file_manip_tests.cpp \
|
||||||
|
libutil++/tests/file_manip_tests.o ${D}${PTEST_PATH}/libutil++/tests
|
||||||
|
}
|
||||||
+30
@@ -0,0 +1,30 @@
|
|||||||
|
From 34b0d9b1a32fb404a30327a7ae8931c7c75583bf Mon Sep 17 00:00:00 2001
|
||||||
|
From: Marek Vasut <marex@denx.de>
|
||||||
|
Date: Tue, 9 Feb 2016 02:00:29 +0100
|
||||||
|
Subject: [PATCH] Add rmb() definition for NIOS2 architecture
|
||||||
|
|
||||||
|
Signed-off-by: Marek Vasut <marex@denx.de>
|
||||||
|
Upstream-Status: Submitted [ http://marc.info/?l=oprofile-list&m=145501915931874&w=2 ]
|
||||||
|
---
|
||||||
|
libperf_events/operf_utils.h | 5 +++++
|
||||||
|
1 file changed, 5 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/libperf_events/operf_utils.h b/libperf_events/operf_utils.h
|
||||||
|
index 32954cc..8270e53 100644
|
||||||
|
--- a/libperf_events/operf_utils.h
|
||||||
|
+++ b/libperf_events/operf_utils.h
|
||||||
|
@@ -178,6 +178,11 @@ void op_release_resources(void);
|
||||||
|
#define cpu_relax() asm volatile("" ::: "memory")
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#ifdef __nios2__
|
||||||
|
+#define rmb() asm volatile("" ::: "memory")
|
||||||
|
+#define cpu_relax() asm volatile("" ::: "memory")
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#ifdef __tile__
|
||||||
|
#include <asm/unistd.h>
|
||||||
|
#define rmb() __insn_mf()
|
||||||
|
--
|
||||||
|
2.7.0
|
||||||
|
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
From 39d4d46a0bd504ac708ffe72df87bf74cd12ad30 Mon Sep 17 00:00:00 2001
|
||||||
|
From: William Cohen <wcohen@redhat.com>
|
||||||
|
Date: Fri, 5 Feb 2016 17:30:19 -0500
|
||||||
|
Subject: [PATCH] Fix FTBFS problem with GCC-6
|
||||||
|
|
||||||
|
GCC-6 is pickier about some of the type conversions causing the Fedora
|
||||||
|
24 mass rebuild the build of oprofile failed with:
|
||||||
|
|
||||||
|
make[3]: Entering directory '/builddir/build/BUILD/oprofile-1.1.0/libutil++'
|
||||||
|
g++ -DHAVE_CONFIG_H -I. -I.. -I ../libutil -I ../libop -I ../libpp -W -Wall -fno-common -ftemplate-depth-50 -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -c -o op_bfd.o op_bfd.cpp
|
||||||
|
op_bfd.cpp: In member function 'void op_bfd::get_symbol_range(symbol_index_t, long long unsigned int&, long long unsigned int&) const':
|
||||||
|
op_bfd.cpp:538:47: error: cannot convert 'std::ostream {aka std::basic_ostream<char>}' to 'const bool' in initialization
|
||||||
|
bool const verbose = cverb << (vbfd & vlevel1);
|
||||||
|
^
|
||||||
|
op_bfd.cpp:546:7: error: in argument to unary !
|
||||||
|
if (!verbose)
|
||||||
|
^~~~~~~
|
||||||
|
|
||||||
|
Avoid the intermediate bool type to make GCC-6 happy.
|
||||||
|
|
||||||
|
Signed-off-by: William Cohen <wcohen@redhat.com>
|
||||||
|
---
|
||||||
|
Upstream-Status: Backport
|
||||||
|
|
||||||
|
libutil++/op_bfd.cpp | 4 +---
|
||||||
|
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libutil++/op_bfd.cpp b/libutil++/op_bfd.cpp
|
||||||
|
index 389c920..f2eb42b 100644
|
||||||
|
--- a/libutil++/op_bfd.cpp
|
||||||
|
+++ b/libutil++/op_bfd.cpp
|
||||||
|
@@ -535,15 +535,13 @@ void op_bfd::get_symbol_range(symbol_index_t sym_idx,
|
||||||
|
{
|
||||||
|
op_bfd_symbol const & sym = syms[sym_idx];
|
||||||
|
|
||||||
|
- bool const verbose = cverb << (vbfd & vlevel1);
|
||||||
|
-
|
||||||
|
if (anon_obj)
|
||||||
|
start = sym.vma();
|
||||||
|
else
|
||||||
|
start = sym.filepos();
|
||||||
|
end = start + sym.size();
|
||||||
|
|
||||||
|
- if (!verbose)
|
||||||
|
+ if (!(cverb << (vbfd & vlevel1)))
|
||||||
|
return;
|
||||||
|
|
||||||
|
io_state state(cverb << (vbfd & vlevel1));
|
||||||
|
--
|
||||||
|
1.9.1
|
||||||
|
|
||||||
@@ -0,0 +1,581 @@
|
|||||||
|
dnl AX_KERNEL_OPTION(option, action-if-found, action-if-not-found)
|
||||||
|
dnl see if autoconf.h defines the option
|
||||||
|
AC_DEFUN([AX_KERNEL_OPTION], [
|
||||||
|
SAVE_CFLAGS=$CFLAGS
|
||||||
|
CFLAGS="-I$KINC -O2 -D__KERNEL__"
|
||||||
|
AC_TRY_COMPILE( [#include <linux/config.h>],
|
||||||
|
[
|
||||||
|
#ifndef $1
|
||||||
|
break_me_hard(\\\);
|
||||||
|
#endif
|
||||||
|
],[$2],[$3],)
|
||||||
|
CFLAGS=$SAVE_CFLAGS
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl Handle the 2.4 module inside module/
|
||||||
|
AC_DEFUN([AX_CONFIG_MODULE],
|
||||||
|
[
|
||||||
|
if test ! -f $KINC/linux/autoconf.h; then
|
||||||
|
AC_MSG_ERROR([no suitably configured kernel include tree found])
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl --- Get Linux kernel version and compile parameters ---
|
||||||
|
|
||||||
|
AC_SUBST(KVERS)
|
||||||
|
AC_MSG_CHECKING([for kernel version])
|
||||||
|
dnl it's like this to handle mandrake's fubar version.h - bug #471448
|
||||||
|
eval KVERS=`gcc -I$KINC -E -dM $KINC/linux/version.h | grep -w UTS_RELEASE | awk '{print $[]3}'`
|
||||||
|
AC_MSG_RESULT([$KVERS])
|
||||||
|
case "$KVERS" in
|
||||||
|
2.2.*|2.4.*) ;;
|
||||||
|
*) AC_MSG_ERROR([Unsupported kernel version])
|
||||||
|
esac
|
||||||
|
|
||||||
|
dnl Check for the minimal kernel version supported
|
||||||
|
AC_MSG_CHECKING([kernel version])
|
||||||
|
AX_KERNEL_VERSION(2, 2, 10, <=, AC_MSG_RESULT([ok]), AC_MSG_ERROR([check html documentation install section]))
|
||||||
|
|
||||||
|
dnl linux/spinlock.h added at some point in past
|
||||||
|
AC_MSG_CHECKING([for $KINC/linux/spinlock.h])
|
||||||
|
if test -f $KINC/linux/spinlock.h; then
|
||||||
|
EXTRA_CFLAGS_MODULE="$EXTRA_CFLAGS_MODULE -DHAVE_LINUX_SPINLOCK_HEADER"
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([for rtc_lock])
|
||||||
|
gcc -I$KINC -E $KINC/linux/mc146818rtc.h | grep rtc_lock >/dev/null
|
||||||
|
if test "$?" -eq 0; then
|
||||||
|
EXTRA_CFLAGS_MODULE="$EXTRA_CFLAGS_MODULE -DRTC_LOCK"
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
fi
|
||||||
|
|
||||||
|
arch="unknown"
|
||||||
|
AC_MSG_CHECKING(for x86-64 architecture)
|
||||||
|
AX_KERNEL_OPTION(CONFIG_X86_64, x8664=1, x8664=0)
|
||||||
|
AX_MSG_RESULT_YN($x8664)
|
||||||
|
BUILD_HAMMER=no
|
||||||
|
if test "$x8664" -eq 1; then
|
||||||
|
arch="x86"
|
||||||
|
BUILD_HAMMER=yes
|
||||||
|
else
|
||||||
|
AC_MSG_CHECKING(for x86 architecture)
|
||||||
|
AX_KERNEL_OPTION(CONFIG_X86, x86=1, x86=0)
|
||||||
|
AX_KERNEL_OPTION(CONFIG_X86_WP_WORKS_OK, x86=1, x86=$x86)
|
||||||
|
AX_MSG_RESULT_YN($x86)
|
||||||
|
test "$x86" = 1 && arch="x86"
|
||||||
|
|
||||||
|
if test "$arch" = "unknown"; then
|
||||||
|
AC_MSG_CHECKING(for ia64 architecture)
|
||||||
|
AX_KERNEL_OPTION(CONFIG_IA64, ia64=1, ia64=0)
|
||||||
|
AX_MSG_RESULT_YN($ia64)
|
||||||
|
test "$ia64" = 1 && arch="ia64"
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
AC_SUBST(BUILD_HAMMER)
|
||||||
|
|
||||||
|
test "$arch" = "unknown" && AC_MSG_ERROR(Unsupported architecture)
|
||||||
|
|
||||||
|
dnl check to see if kernel verion appropriate for arch
|
||||||
|
AC_MSG_CHECKING(arch/kernel version combination)
|
||||||
|
case "$arch" in
|
||||||
|
ia64)
|
||||||
|
AX_KERNEL_VERSION(2, 4, 18, <, AC_MSG_RESULT([ok]),
|
||||||
|
AC_MSG_ERROR([unsupported arch/kernel])) ;;
|
||||||
|
*) AC_MSG_RESULT([ok])
|
||||||
|
esac
|
||||||
|
|
||||||
|
dnl for now we do not support PREEMPT patch
|
||||||
|
AC_MSG_CHECKING([for preempt patch])
|
||||||
|
AX_KERNEL_OPTION(CONFIG_PREEMPT,preempt=1,preempt=0)
|
||||||
|
AX_MSG_RESULT_YN([$preempt])
|
||||||
|
test "$preempt" = 0 || AC_MSG_ERROR([unsupported kernel configuration : CONFIG_PREEMPT])
|
||||||
|
|
||||||
|
AC_SUBST(KINC)
|
||||||
|
|
||||||
|
MODINSTALLDIR=/lib/modules/$KVERS
|
||||||
|
|
||||||
|
OPROFILE_MODULE_ARCH=$arch
|
||||||
|
AC_SUBST(OPROFILE_MODULE_ARCH)
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
dnl AX_MSG_RESULT_YN(a)
|
||||||
|
dnl results "yes" iff a==1, "no" else
|
||||||
|
AC_DEFUN([AX_MSG_RESULT_YN], [x=no
|
||||||
|
test "x$1" = "x1" && x=yes
|
||||||
|
AC_MSG_RESULT($x)])
|
||||||
|
|
||||||
|
dnl AX_MALLOC_ATTRIBUTE - see if gcc will take __attribute__((malloc))
|
||||||
|
AC_DEFUN([AX_MALLOC_ATTRIBUTE],
|
||||||
|
[
|
||||||
|
AC_MSG_CHECKING([whether malloc attribute is understood])
|
||||||
|
SAVE_CFLAGS=$CFLAGS
|
||||||
|
CFLAGS="-Werror $CFLAGS"
|
||||||
|
AC_TRY_COMPILE(,[
|
||||||
|
void monkey() __attribute__((malloc));
|
||||||
|
],AC_MSG_RESULT([yes]); AC_DEFINE(MALLOC_ATTRIBUTE_OK, 1, [whether malloc attribute is understood]), AC_MSG_RESULT([no]))
|
||||||
|
CFLAGS=$SAVE_CFLAGS
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
dnl builtin_expect is used in module we can't add that in config.h
|
||||||
|
AC_DEFUN([AX_BUILTIN_EXPECT],
|
||||||
|
[
|
||||||
|
AC_MSG_CHECKING([whether __builtin_expect is understood])
|
||||||
|
SAVE_CFLAGS=$CFLAGS
|
||||||
|
CFLAGS="-Werror $CFLAGS"
|
||||||
|
AC_TRY_LINK(,[
|
||||||
|
int i;
|
||||||
|
if (__builtin_expect(i, 0)) { }
|
||||||
|
],
|
||||||
|
AC_MSG_RESULT([yes]); EXTRA_CFLAGS_MODULE="$EXTRA_CFLAGS_MODULE -DEXPECT_OK",
|
||||||
|
AC_MSG_RESULT([no]);)
|
||||||
|
CFLAGS=$SAVE_CFLAGS
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
dnl AX_EXTRA_DIRS - Let user specify extra dirs for include/libs
|
||||||
|
AC_DEFUN([AX_EXTRA_DIRS],
|
||||||
|
[
|
||||||
|
AC_ARG_WITH(extra-includes,
|
||||||
|
[ --with-extra-includes=DIR add extra include paths],
|
||||||
|
use_extra_includes="$withval",
|
||||||
|
use_extra_includes=NO
|
||||||
|
)
|
||||||
|
if test -n "$use_extra_includes" && \
|
||||||
|
test "$use_extra_includes" != "NO"; then
|
||||||
|
ac_save_ifs=$IFS
|
||||||
|
IFS=':'
|
||||||
|
for dir in $use_extra_includes; do
|
||||||
|
extra_includes="$extra_includes -I$dir"
|
||||||
|
done
|
||||||
|
IFS=$ac_save_ifs
|
||||||
|
CPPFLAGS="$CPPFLAGS $extra_includes"
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_ARG_WITH(extra-libs,
|
||||||
|
[ --with-extra-libs=DIR add extra library paths],
|
||||||
|
use_extra_libs=$withval,
|
||||||
|
use_extra_libs=NO
|
||||||
|
)
|
||||||
|
if test -n "$use_extra_libs" && \
|
||||||
|
test "$use_extra_libs" != "NO"; then
|
||||||
|
ac_save_ifs=$IFS
|
||||||
|
IFS=':'
|
||||||
|
for dir in $use_extra_libs; do
|
||||||
|
extra_libraries="$extra_libraries -L$dir"
|
||||||
|
done
|
||||||
|
IFS=$ac_save_ifs
|
||||||
|
LDFLAGS="$LDFLAGS $extra_libraries"
|
||||||
|
fi
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
dnl AX_POPT_CONST - check popt prototype
|
||||||
|
AC_DEFUN([AX_POPT_CONST],
|
||||||
|
[
|
||||||
|
AC_MSG_CHECKING([popt prototype])
|
||||||
|
SAVE_CXXFLAGS=$CXXFLAGS
|
||||||
|
CXXFLAGS="-Werror $CXXFLAGS"
|
||||||
|
AC_TRY_COMPILE([#include <popt.h>],
|
||||||
|
[
|
||||||
|
int c; char **v;
|
||||||
|
poptGetContext(0, c, v, 0, 0);
|
||||||
|
],
|
||||||
|
AC_MSG_RESULT([takes char **]);,
|
||||||
|
AC_MSG_RESULT([takes const char **]); AC_DEFINE(CONST_POPT, 1, [whether popt prototype takes a const char **]))
|
||||||
|
CXXFLAGS="$SAVE_CXXFLAGS"
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
dnl AX_CHECK_SSTREAM - check if local sstream is needed to compile OK
|
||||||
|
AC_DEFUN([AX_CHECK_SSTREAM],
|
||||||
|
[
|
||||||
|
AC_MSG_CHECKING([whether to use included sstream])
|
||||||
|
AC_TRY_COMPILE([#include <sstream>], [],
|
||||||
|
AC_MSG_RESULT([no]);,
|
||||||
|
AC_MSG_RESULT([yes]); OP_CXXFLAGS="$OP_CXXFLAGS -I\${top_srcdir}/include")
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
dnl AX_CHECK_TYPEDEF(typedef_name, type, action-if-true, action-if-false)
|
||||||
|
dnl exec action-if-true if typedef_name is a typedef to type else exec
|
||||||
|
dnl action-if-false
|
||||||
|
dnl currently work only with type typedef'ed in stddef.h
|
||||||
|
AC_DEFUN([AX_CHECK_TYPEDEF], [
|
||||||
|
dnl AC_LANG_PUSH(C) not in autoconf 2.13
|
||||||
|
AC_LANG_SAVE
|
||||||
|
AC_LANG_C
|
||||||
|
SAVE_CFLAGS=$CFLAGS
|
||||||
|
CFLAGS="-Werror $CFLAGS"
|
||||||
|
|
||||||
|
AC_TRY_COMPILE(
|
||||||
|
[
|
||||||
|
#include <stddef.h>
|
||||||
|
],
|
||||||
|
[
|
||||||
|
typedef void (*fct1)($1);
|
||||||
|
typedef void (*fct2)($2);
|
||||||
|
fct1 f1 = 0;
|
||||||
|
fct2 f2 = 0;
|
||||||
|
if (f1 == f2) {}
|
||||||
|
],
|
||||||
|
[$3],[$4])
|
||||||
|
|
||||||
|
CFLAGS=$SAVE_CFLAGS
|
||||||
|
AC_LANG_RESTORE
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
dnl AX_TYPEDEFED_NAME(typedef_name, candidate_list, var_name)
|
||||||
|
dnl set var_name to the typedef name of $1 which must be in canditate_list
|
||||||
|
dnl else produce a fatal error
|
||||||
|
AC_DEFUN([AX_TYPEDEFED_NAME], [
|
||||||
|
AC_MSG_CHECKING([type of $1])
|
||||||
|
for f in $2; do
|
||||||
|
AX_CHECK_TYPEDEF($1, $f, $3="$f", $3="")
|
||||||
|
if test -n "${$3}"; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -n "${$3}"; then
|
||||||
|
AC_MSG_RESULT([${$3}])
|
||||||
|
else
|
||||||
|
AC_MSG_ERROR([not found])
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl find a binary in the path
|
||||||
|
AC_DEFUN([QT_FIND_PATH],
|
||||||
|
[
|
||||||
|
AC_MSG_CHECKING([for $1])
|
||||||
|
AC_CACHE_VAL(qt_cv_path_$1,
|
||||||
|
[
|
||||||
|
qt_cv_path_$1="NONE"
|
||||||
|
if test -n "$$2"; then
|
||||||
|
qt_cv_path_$1="$$2";
|
||||||
|
else
|
||||||
|
dirs="$3"
|
||||||
|
qt_save_IFS=$IFS
|
||||||
|
IFS=':'
|
||||||
|
for dir in $PATH; do
|
||||||
|
dirs="$dirs $dir"
|
||||||
|
done
|
||||||
|
IFS=$qt_save_IFS
|
||||||
|
|
||||||
|
for dir in $dirs; do
|
||||||
|
if test -x "$dir/$1"; then
|
||||||
|
if test -n "$5"; then
|
||||||
|
evalstr="$dir/$1 $5 2>&1 "
|
||||||
|
if eval $evalstr; then
|
||||||
|
qt_cv_path_$1="$dir/$1"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
qt_cv_path_$1="$dir/$1"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
if test -z "$qt_cv_path_$1" || test "$qt_cv_path_$1" = "NONE"; then
|
||||||
|
AC_MSG_RESULT(not found)
|
||||||
|
$4
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT($qt_cv_path_$1)
|
||||||
|
$2=$qt_cv_path_$1
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl Find the uic compiler on the path or in qt_cv_dir
|
||||||
|
AC_DEFUN([QT_FIND_UIC],
|
||||||
|
[
|
||||||
|
QT_FIND_PATH(uic, ac_uic, $qt_cv_dir/bin)
|
||||||
|
if test -z "$ac_uic" -a "$FATAL" = 1; then
|
||||||
|
AC_MSG_ERROR([uic binary not found in \$PATH or $qt_cv_dir/bin !])
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl Find the right moc in path/qt_cv_dir
|
||||||
|
AC_DEFUN([QT_FIND_MOC],
|
||||||
|
[
|
||||||
|
QT_FIND_PATH(moc2, ac_moc2, $qt_cv_dir/bin)
|
||||||
|
QT_FIND_PATH(moc, ac_moc1, $qt_cv_dir/bin)
|
||||||
|
|
||||||
|
if test -n "$ac_moc1" -a -n "$ac_moc2"; then
|
||||||
|
dnl found both. Prefer Qt3's if it exists else moc2
|
||||||
|
$ac_moc1 -v 2>&1 | grep "Qt 3" >/dev/null
|
||||||
|
if test "$?" = 0; then
|
||||||
|
ac_moc=$ac_moc1;
|
||||||
|
else
|
||||||
|
ac_moc=$ac_moc2;
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if test -n "$ac_moc1"; then
|
||||||
|
ac_moc=$ac_moc1;
|
||||||
|
else
|
||||||
|
ac_moc=$ac_moc2;
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -z "$ac_moc" -a "$FATAL" = 1; then
|
||||||
|
AC_MSG_ERROR([moc binary not found in \$PATH or $qt_cv_dir/bin !])
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl check a particular libname
|
||||||
|
AC_DEFUN([QT_TRY_LINK],
|
||||||
|
[
|
||||||
|
SAVE_LIBS="$LIBS"
|
||||||
|
LIBS="$LIBS $1"
|
||||||
|
AC_TRY_LINK([
|
||||||
|
#include <qglobal.h>
|
||||||
|
#include <qstring.h>
|
||||||
|
],
|
||||||
|
[
|
||||||
|
QString s("mangle_failure");
|
||||||
|
#if (QT_VERSION < 221)
|
||||||
|
break_me_(\\\);
|
||||||
|
#endif
|
||||||
|
],
|
||||||
|
qt_cv_libname=$1,
|
||||||
|
)
|
||||||
|
LIBS="$SAVE_LIBS"
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl check we can do a compile
|
||||||
|
AC_DEFUN([QT_CHECK_COMPILE],
|
||||||
|
[
|
||||||
|
AC_MSG_CHECKING([for Qt library name])
|
||||||
|
|
||||||
|
AC_CACHE_VAL(qt_cv_libname,
|
||||||
|
[
|
||||||
|
AC_LANG_CPLUSPLUS
|
||||||
|
SAVE_CXXFLAGS=$CXXFLAGS
|
||||||
|
CXXFLAGS="$CXXFLAGS $QT_INCLUDES $QT_LDFLAGS"
|
||||||
|
|
||||||
|
for libname in -lqt-mt -lqt3 -lqt2 -lqt;
|
||||||
|
do
|
||||||
|
QT_TRY_LINK($libname)
|
||||||
|
if test -n "$qt_cv_libname"; then
|
||||||
|
break;
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
CXXFLAGS=$SAVE_CXXFLAGS
|
||||||
|
])
|
||||||
|
|
||||||
|
if test -z "$qt_cv_libname"; then
|
||||||
|
AC_MSG_RESULT([failed])
|
||||||
|
if test "$FATAL" = 1 ; then
|
||||||
|
AC_MSG_ERROR([Cannot compile a simple Qt executable. Check you have the right \$QTDIR !])
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([$qt_cv_libname])
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl get Qt version we're using
|
||||||
|
AC_DEFUN([QT_GET_VERSION],
|
||||||
|
[
|
||||||
|
AC_CACHE_CHECK([Qt version],lyx_cv_qtversion,
|
||||||
|
[
|
||||||
|
AC_LANG_CPLUSPLUS
|
||||||
|
SAVE_CPPFLAGS=$CPPFLAGS
|
||||||
|
CPPFLAGS="$CPPFLAGS $QT_INCLUDES"
|
||||||
|
|
||||||
|
cat > conftest.$ac_ext <<EOF
|
||||||
|
#line __oline__ "configure"
|
||||||
|
#include "confdefs.h"
|
||||||
|
#include <qglobal.h>
|
||||||
|
"%%%"QT_VERSION_STR"%%%"
|
||||||
|
EOF
|
||||||
|
lyx_cv_qtversion=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
|
||||||
|
grep '^"%%%"' 2>/dev/null | \
|
||||||
|
sed -e 's/"%%%"//g' -e 's/"//g'`
|
||||||
|
rm -f conftest.$ac_ext
|
||||||
|
CPPFLAGS=$SAVE_CPPFLAGS
|
||||||
|
])
|
||||||
|
|
||||||
|
QT_VERSION=$lyx_cv_qtversion
|
||||||
|
AC_SUBST(QT_VERSION)
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl start here
|
||||||
|
AC_DEFUN([QT_DO_IT_ALL],
|
||||||
|
[
|
||||||
|
dnl Please leave this alone. I use this file in
|
||||||
|
dnl oprofile.
|
||||||
|
FATAL=0
|
||||||
|
|
||||||
|
AC_ARG_WITH(qt-dir, [ --with-qt-dir where the root of Qt is installed ],
|
||||||
|
[ qt_cv_dir=`eval echo "$withval"/` ])
|
||||||
|
|
||||||
|
AC_ARG_WITH(qt-includes, [ --with-qt-includes where the Qt includes are. ],
|
||||||
|
[ qt_cv_includes=`eval echo "$withval"` ])
|
||||||
|
|
||||||
|
AC_ARG_WITH(qt-libraries, [ --with-qt-libraries where the Qt library is installed.],
|
||||||
|
[ qt_cv_libraries=`eval echo "$withval"` ])
|
||||||
|
|
||||||
|
dnl pay attention to $QTDIR unless overridden
|
||||||
|
if test -z "$qt_cv_dir"; then
|
||||||
|
qt_cv_dir=$QTDIR
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl derive inc/lib if needed
|
||||||
|
if test -n "$qt_cv_dir"; then
|
||||||
|
if test -z "$qt_cv_includes"; then
|
||||||
|
qt_cv_includes=$qt_cv_dir/include
|
||||||
|
fi
|
||||||
|
if test -z "$qt_cv_libraries"; then
|
||||||
|
qt_cv_libraries=$qt_cv_dir/lib
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl flags for compilation
|
||||||
|
QT_INCLUDES=
|
||||||
|
QT_LDFLAGS=
|
||||||
|
if test -n "$qt_cv_includes"; then
|
||||||
|
QT_INCLUDES="-I$qt_cv_includes"
|
||||||
|
fi
|
||||||
|
if test -n "$qt_cv_libraries"; then
|
||||||
|
QT_LDFLAGS="-L$qt_cv_libraries"
|
||||||
|
fi
|
||||||
|
AC_SUBST(QT_INCLUDES)
|
||||||
|
AC_SUBST(QT_LDFLAGS)
|
||||||
|
|
||||||
|
QT_FIND_MOC
|
||||||
|
MOC=$ac_moc
|
||||||
|
AC_SUBST(MOC)
|
||||||
|
QT_FIND_UIC
|
||||||
|
UIC=$ac_uic
|
||||||
|
AC_SUBST(UIC)
|
||||||
|
|
||||||
|
QT_CHECK_COMPILE
|
||||||
|
|
||||||
|
QT_LIB=$qt_cv_libname;
|
||||||
|
AC_SUBST(QT_LIB)
|
||||||
|
|
||||||
|
if test -n "$qt_cv_libname"; then
|
||||||
|
QT_GET_VERSION
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl AX_CXXFLAGS_OPTIONS(var-name, option)
|
||||||
|
dnl add option to var-name if $CXX support it.
|
||||||
|
AC_DEFUN([AX_CHECK_PRECOMPILED_HEADER], [
|
||||||
|
AC_MSG_CHECKING([whether ${CXX} support precompiled header])
|
||||||
|
AC_LANG_SAVE
|
||||||
|
AC_LANG_CPLUSPLUS
|
||||||
|
SAVE_CXXFLAGS=$CXXFLAGS
|
||||||
|
dnl we consider than if -Winvalid-pch is accepted pch will works ...
|
||||||
|
CXXFLAGS=-Winvalid-pch
|
||||||
|
dnl but we don't want -Winvalid-pch else compilation will fail due -Werror and
|
||||||
|
dnl the fact than some pch will be invalid for the given compilation option
|
||||||
|
AC_TRY_COMPILE(,[;],AC_MSG_RESULT([yes]); $1="${$1} -include bits/stdc++.h", AC_MSG_RESULT([no]))
|
||||||
|
CXXFLAGS=$SAVE_CXXFLAGS
|
||||||
|
AC_LANG_RESTORE
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl AX_CHECK_DOCBOOK
|
||||||
|
AC_DEFUN([AX_CHECK_DOCBOOK], [
|
||||||
|
# It's just rude to go over the net to build
|
||||||
|
XSLTPROC_FLAGS=--nonet
|
||||||
|
DOCBOOK_ROOT=
|
||||||
|
if test ! -f /etc/xml/catalog; then
|
||||||
|
for i in /usr/share/sgml/docbook/stylesheet/xsl/nwalsh /usr/share/sgml/docbook/xsl-stylesheets/;
|
||||||
|
do
|
||||||
|
if test -d "$i"; then
|
||||||
|
DOCBOOK_ROOT=$i
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Last resort - try net
|
||||||
|
if test -z "$DOCBOOK_ROOT"; then
|
||||||
|
XSLTPROC_FLAGS=
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
XML_CATALOG=/etc/xml/catalog
|
||||||
|
CAT_ENTRY_START='<!--'
|
||||||
|
CAT_ENTRY_END='-->'
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_CHECK_PROG(XSLTPROC,xsltproc,xsltproc,)
|
||||||
|
XSLTPROC_WORKS=no
|
||||||
|
if test -n "$XSLTPROC"; then
|
||||||
|
AC_MSG_CHECKING([whether xsltproc works])
|
||||||
|
|
||||||
|
if test -n "$XML_CATALOG"; then
|
||||||
|
DB_FILE="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"
|
||||||
|
else
|
||||||
|
DB_FILE="$DOCBOOK_ROOT/docbook.xsl"
|
||||||
|
fi
|
||||||
|
|
||||||
|
$XSLTPROC $XSLTPROC_FLAGS $DB_FILE >/dev/null 2>&1 << END
|
||||||
|
<?xml version="1.0" encoding='ISO-8859-1'?>
|
||||||
|
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
|
||||||
|
<book id="test">
|
||||||
|
</book>
|
||||||
|
END
|
||||||
|
if test "$?" = 0; then
|
||||||
|
XSLTPROC_WORKS=yes
|
||||||
|
fi
|
||||||
|
AC_MSG_RESULT($XSLTPROC_WORKS)
|
||||||
|
fi
|
||||||
|
AM_CONDITIONAL(have_xsltproc, test "$XSLTPROC_WORKS" = "yes")
|
||||||
|
|
||||||
|
AC_SUBST(XML_CATALOG)
|
||||||
|
AC_SUBST(XSLTPROC_FLAGS)
|
||||||
|
AC_SUBST(DOCBOOK_ROOT)
|
||||||
|
AC_SUBST(CAT_ENTRY_START)
|
||||||
|
AC_SUBST(CAT_ENTRY_END)
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl AX_CFLAGS_OPTIONS(var-name, option)
|
||||||
|
dnl add option to var-name if $CC support it.
|
||||||
|
AC_DEFUN([AX_CFLAGS_OPTION], [
|
||||||
|
AC_MSG_CHECKING([whether ${CC} $2 is understood])
|
||||||
|
AC_LANG_SAVE
|
||||||
|
AC_LANG_C
|
||||||
|
SAVE_CFLAGS=$CFLAGS
|
||||||
|
CFLAGS=$2
|
||||||
|
AC_TRY_COMPILE(,[;],AC_MSG_RESULT([yes]); $1="${$1} $2",AC_MSG_RESULT([no]))
|
||||||
|
CFLAGS=$SAVE_CFLAGS
|
||||||
|
AC_LANG_RESTORE
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
dnl AX_CXXFLAGS_OPTIONS(var-name, option)
|
||||||
|
dnl add option to var-name if $CXX support it.
|
||||||
|
AC_DEFUN([AX_CXXFLAGS_OPTION], [
|
||||||
|
AC_MSG_CHECKING([whether ${CXX} $2 is understood])
|
||||||
|
AC_LANG_SAVE
|
||||||
|
AC_LANG_CPLUSPLUS
|
||||||
|
SAVE_CXXFLAGS=$CXXFLAGS
|
||||||
|
CXXFLAGS=$2
|
||||||
|
AC_TRY_COMPILE(,[;],AC_MSG_RESULT([yes]); $1="${$1} $2",AC_MSG_RESULT([no]))
|
||||||
|
CXXFLAGS=$SAVE_CXXFLAGS
|
||||||
|
AC_LANG_RESTORE
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl AX_COPY_IF_CHANGE(source, dest)
|
||||||
|
dnl copy source to dest if they don't compare equally or if dest doesn't exist
|
||||||
|
AC_DEFUN([AX_COPY_IF_CHANGE], [
|
||||||
|
if test -r $2; then
|
||||||
|
if cmp $1 $2 > /dev/null; then
|
||||||
|
echo $2 is unchanged
|
||||||
|
else
|
||||||
|
cp -f $1 $2
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
cp -f $1 $2
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
oprofile doesn't want GNU-levels of automake strictness so tell it to be "foreign".
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 5740585..cf6c316 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -16 +16 @@ AC_CONFIG_SRCDIR([libop/op_config.h])
|
||||||
|
-AM_INIT_AUTOMAKE
|
||||||
|
+AM_INIT_AUTOMAKE([foreign])
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
Fix glibc-isms so that oprofile builds with musl.
|
||||||
|
|
||||||
|
Patch taken from openwrt (https://github.com/openwrt-mirror/openwrt/blob/master/package/devel/oprofile/patches/100-musl.patch)
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
||||||
|
|
||||||
|
--- a/pe_profiling/operf.cpp
|
||||||
|
+++ b/pe_profiling/operf.cpp
|
||||||
|
@@ -857,11 +857,14 @@ static int __delete_old_previous_sample_
|
||||||
|
int tflag __attribute__((unused)),
|
||||||
|
struct FTW *ftwbuf __attribute__((unused)))
|
||||||
|
{
|
||||||
|
+ int err;
|
||||||
|
+
|
||||||
|
if (remove(fpath)) {
|
||||||
|
+ err = errno;
|
||||||
|
perror("sample data removal error");
|
||||||
|
- return FTW_STOP;
|
||||||
|
+ return err;
|
||||||
|
} else {
|
||||||
|
- return FTW_CONTINUE;
|
||||||
|
+ return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -896,7 +899,7 @@ static void convert_sample_data(void)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!operf_options::append) {
|
||||||
|
- int flags = FTW_DEPTH | FTW_ACTIONRETVAL;
|
||||||
|
+ int flags = FTW_DEPTH;
|
||||||
|
errno = 0;
|
||||||
|
if (nftw(previous_sampledir.c_str(), __delete_old_previous_sample_data, 32, flags) !=0 &&
|
||||||
|
errno != ENOENT) {
|
||||||
|
--- a/libop/op_events.c
|
||||||
|
+++ b/libop/op_events.c
|
||||||
|
@@ -83,7 +83,7 @@ static int parse_hex(char const * str)
|
||||||
|
static u64 parse_long_hex(char const * str)
|
||||||
|
{
|
||||||
|
u64 value;
|
||||||
|
- if (sscanf(str, "%Lx", &value) != 1)
|
||||||
|
+ if (sscanf(str, "0x%llx", &value) != 1)
|
||||||
|
parse_error("expected long hexadecimal value");
|
||||||
|
|
||||||
|
fflush(stderr);
|
||||||
@@ -0,0 +1,98 @@
|
|||||||
|
Prevent running check tests on host if cross compiling
|
||||||
|
|
||||||
|
This patch enables running the 'make check' tests on the target
|
||||||
|
in a cross-compiled environment. If not cross-compiling, then 'make
|
||||||
|
check' builds and executes the tests; no change from this patch.
|
||||||
|
In a cross-compiling environment, the make variable CROSS_COMPILE is
|
||||||
|
set which bypasses assiging tests to the makekfile variable TESTS.
|
||||||
|
Since TESTS is empty, the 'make check' process never tries to run the
|
||||||
|
tests on the hosts. On the target, the tests must be run manually.
|
||||||
|
|
||||||
|
Also, in the libutil++ tests, a makefile variable SRCDIR is passed into
|
||||||
|
the compilation phase, pointing to the runtime location of the test
|
||||||
|
'file-manip-tests'. The mechanism used for a host test, based on
|
||||||
|
'topdir' doesn't work. Instead, if CROSS_COMPILE is set, the
|
||||||
|
makefile takes the path of SRCDIR from the build environment and not
|
||||||
|
from an expression based on the host path 'topdir'.
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 41ece64..ce5a16f 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -392,6 +392,7 @@ AC_ARG_ENABLE(account-check,
|
||||||
|
enable_account_check=$enableval, enable_account_check=yes)
|
||||||
|
|
||||||
|
AM_CONDITIONAL(CHECK_ACCOUNT, test "x$enable_account_check" = "xyes")
|
||||||
|
+AM_CONDITIONAL(CROSS_COMPILE, test "x$cross_compiling" = "xyes")
|
||||||
|
|
||||||
|
AC_SUBST(OP_CFLAGS)
|
||||||
|
AC_SUBST(OP_CXXFLAGS)
|
||||||
|
diff --git a/libdb/tests/Makefile.am b/libdb/tests/Makefile.am
|
||||||
|
index 8a69003..d820090 100644
|
||||||
|
--- a/libdb/tests/Makefile.am
|
||||||
|
+++ b/libdb/tests/Makefile.am
|
||||||
|
@@ -13,4 +13,6 @@ check_PROGRAMS = db_test
|
||||||
|
db_test_SOURCES = db_test.c
|
||||||
|
db_test_LDADD = ../libodb.a ../../libutil/libutil.a
|
||||||
|
|
||||||
|
+if ! CROSS_COMPILE
|
||||||
|
TESTS = ${check_PROGRAMS}
|
||||||
|
+endif
|
||||||
|
diff --git a/libop/tests/Makefile.am b/libop/tests/Makefile.am
|
||||||
|
index 8a79eb5..6d417c4 100644
|
||||||
|
--- a/libop/tests/Makefile.am
|
||||||
|
+++ b/libop/tests/Makefile.am
|
||||||
|
@@ -33,4 +33,6 @@ load_events_files_tests_LDADD = ${COMMON_LIBS}
|
||||||
|
mangle_tests_SOURCES = mangle_tests.c
|
||||||
|
mangle_tests_LDADD = ${COMMON_LIBS}
|
||||||
|
|
||||||
|
+if ! CROSS_COMPILE
|
||||||
|
TESTS = ${check_PROGRAMS} utf8_checker.sh
|
||||||
|
+endif
|
||||||
|
diff --git a/libregex/tests/Makefile.am b/libregex/tests/Makefile.am
|
||||||
|
index 6f19838..1d176f9 100644
|
||||||
|
--- a/libregex/tests/Makefile.am
|
||||||
|
+++ b/libregex/tests/Makefile.am
|
||||||
|
@@ -18,4 +18,6 @@ java_test_LDADD = \
|
||||||
|
|
||||||
|
EXTRA_DIST = mangled-name.in
|
||||||
|
|
||||||
|
+if ! CROSS_COMPILE
|
||||||
|
TESTS = ${check_PROGRAMS}
|
||||||
|
+endif
|
||||||
|
diff --git a/libutil++/tests/Makefile.am b/libutil++/tests/Makefile.am
|
||||||
|
index 51af031..a01ea2d 100644
|
||||||
|
--- a/libutil++/tests/Makefile.am
|
||||||
|
+++ b/libutil++/tests/Makefile.am
|
||||||
|
@@ -1,7 +1,9 @@
|
||||||
|
|
||||||
|
REALPATH= readlink -f
|
||||||
|
|
||||||
|
+if ! CROSS_COMPILE
|
||||||
|
SRCDIR := $(shell $(REALPATH) $(topdir)/libutil++/tests/ )
|
||||||
|
+endif
|
||||||
|
|
||||||
|
AM_CPPFLAGS = \
|
||||||
|
-I ${top_srcdir}/libutil++ -D SRCDIR="\"$(SRCDIR)/\"" @OP_CPPFLAGS@
|
||||||
|
@@ -46,4 +48,6 @@ cached_value_tests_LDADD = ${COMMON_LIBS}
|
||||||
|
utility_tests_SOURCES = utility_tests.cpp
|
||||||
|
utility_tests_LDADD = ${COMMON_LIBS}
|
||||||
|
|
||||||
|
+if ! CROSS_COMPILE
|
||||||
|
TESTS = ${check_PROGRAMS}
|
||||||
|
+endif
|
||||||
|
diff --git a/libutil/tests/Makefile.am b/libutil/tests/Makefile.am
|
||||||
|
index dfcd6ec..e8831b5 100644
|
||||||
|
--- a/libutil/tests/Makefile.am
|
||||||
|
+++ b/libutil/tests/Makefile.am
|
||||||
|
@@ -12,4 +12,6 @@ file_tests_LDADD = ../libutil.a
|
||||||
|
string_tests_SOURCES = string_tests.c
|
||||||
|
string_tests_LDADD = ../libutil.a
|
||||||
|
|
||||||
|
+if ! CROSS_COMPILE
|
||||||
|
TESTS = ${check_PROGRAMS}
|
||||||
|
+endif
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
oprofile: Determine the root home directory dynamically
|
||||||
|
|
||||||
|
This commit detects the root home directory dynamically with changes to
|
||||||
|
the oprofile gui app source.
|
||||||
|
|
||||||
|
The commit replaces an earlier fix that detected and adjusted a
|
||||||
|
'non-standard' root home directory at build time. The advantage of this
|
||||||
|
patch is that the oprofile tools are adjusted to the current run-time
|
||||||
|
path to ~root, not the build time path.
|
||||||
|
|
||||||
|
Upstream-Status: Inappropriate [OE specific]
|
||||||
|
|
||||||
|
Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
|
||||||
|
|
||||||
|
Index: oprofile-1.0.0/doc/oprofile.html
|
||||||
|
===================================================================
|
||||||
|
--- oprofile-1.0.0.orig/doc/oprofile.html 2014-11-03 17:55:31.511034857 +0000
|
||||||
|
+++ oprofile-1.0.0/doc/oprofile.html 2014-11-03 17:57:26.415037988 +0000
|
||||||
|
@@ -1563,8 +1563,8 @@
|
||||||
|
<span class="emphasis"><em>must</em></span> stop it in a controlled manner in order to process
|
||||||
|
the profile data it has collected. Use <code class="code">kill -SIGINT <operf-PID></code>
|
||||||
|
for this purpose. It is recommended that when running <span class="command"><strong>operf</strong></span>
|
||||||
|
- with this option, your current working directory should be <code class="filename">/root</code> or a subdirectory
|
||||||
|
- of <code class="filename">/root</code> to avoid storing sample data files in locations accessible by regular users.
|
||||||
|
+ with this option, your current working directory should be <code class="filename">~root</code> or a subdirectory
|
||||||
|
+ of <code class="filename">~root</code> to avoid storing sample data files in locations accessible by regular users.
|
||||||
|
</p>
|
||||||
|
</dd>
|
||||||
|
<dt>
|
||||||
|
Index: oprofile-1.0.0/doc/oprofile.xml
|
||||||
|
===================================================================
|
||||||
|
--- oprofile-1.0.0.orig/doc/oprofile.xml 2014-11-03 17:55:31.515034857 +0000
|
||||||
|
+++ oprofile-1.0.0/doc/oprofile.xml 2014-11-03 17:58:03.719039005 +0000
|
||||||
|
@@ -654,8 +654,8 @@
|
||||||
|
<emphasis>must</emphasis> stop it in a controlled manner in order to process
|
||||||
|
the profile data it has collected. Use <code>kill -SIGINT <operf-PID></code>
|
||||||
|
for this purpose. It is recommended that when running <command>operf</command>
|
||||||
|
- with this option, your current working directory should be <filename>/root</filename> or a subdirectory
|
||||||
|
- of <filename>/root</filename> to avoid storing sample data files in locations accessible by regular users.
|
||||||
|
+ with this option, your current working directory should be <filename>~root</filename> or a subdirectory
|
||||||
|
+ of <filename>~root</filename> to avoid storing sample data files in locations accessible by regular users.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
saved_dir=$PWD
|
||||||
|
for dir in */tests ; do
|
||||||
|
cd $dir
|
||||||
|
for atest in * ; do
|
||||||
|
if [ \( -x $atest \) -a \( -f $atest \) ] ; then
|
||||||
|
./$atest > ${atest}.stdout 2> ${atest}.stderr
|
||||||
|
if [ $? = 0 ] ; then
|
||||||
|
echo "PASS: $dir $atest"
|
||||||
|
rm ${atest}.stdout ${atest}.stderr
|
||||||
|
else
|
||||||
|
echo "FAIL: ${dir}/${atest}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
cd $saved_dir
|
||||||
|
done
|
||||||
|
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
require oprofile.inc
|
||||||
|
|
||||||
|
DEPENDS += "virtual/kernel"
|
||||||
|
DEPENDS_append_powerpc64 = " libpfm4"
|
||||||
|
|
||||||
|
SRC_URI[md5sum] = "248c4c069f9476f427fa7195563f9867"
|
||||||
|
SRC_URI[sha256sum] = "cf759a6de1a6033d5dfc93bda129a9f2e128aecc4238cc657feb0801d1b0366c"
|
||||||
|
|
||||||
|
S = "${WORKDIR}/oprofile-${PV}"
|
||||||
|
|
||||||
Reference in New Issue
Block a user