lttng-babeltrace: add debug info support
Since Babeltrace 1.4, there is support for printing debug information along with compatible traces and event records. Babeltrace needs elfutils in this case. Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com> [Thomas: - add better description for 0002-m4-ax_lib_elfutils.m4-add-cache-variable.patch - use automatic dependency on elfutils rather than a very complicated Config.in symbol] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
106c7d3006
commit
625af098cd
|
@ -0,0 +1,77 @@
|
|||
From 697ab0905c59561562dc52cd3b925781e07814f3 Mon Sep 17 00:00:00 2001
|
||||
From: Philippe Proulx <eeppeliteloop@gmail.com>
|
||||
Date: Wed, 2 Nov 2016 01:40:12 -0400
|
||||
Subject: [PATCH] m4/ax_lib_elfutils.m4: add cache variable
|
||||
|
||||
This patch adds an autoconf cache variable to override the
|
||||
AC_RUN_IFELSE() test result when cross-compiling.
|
||||
|
||||
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
|
||||
[Philippe: grabbed from this pull request:
|
||||
https://github.com/efficios/babeltrace/pull/52
|
||||
]
|
||||
---
|
||||
m4/ax_lib_elfutils.m4 | 32 +++++++++++++++++---------------
|
||||
1 file changed, 17 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/m4/ax_lib_elfutils.m4 b/m4/ax_lib_elfutils.m4
|
||||
index fcfe06b..f4fcb0d 100644
|
||||
--- a/m4/ax_lib_elfutils.m4
|
||||
+++ b/m4/ax_lib_elfutils.m4
|
||||
@@ -21,7 +21,9 @@
|
||||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
# Check the currently installed version of elfutils by using the
|
||||
-# _ELFUTILS_PREREQ macro defined in elfutils/version.h.
|
||||
+# `_ELFUTILS_PREREQ` macro defined in <elfutils/version.h>.
|
||||
+#
|
||||
+# The cache variable for this test is `bt_cv_lib_elfutils`.
|
||||
#
|
||||
# AX_LIB_ELFUTILS(MAJOR_VERSION, MINOR_VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -29,7 +31,6 @@ AC_DEFUN([AX_LIB_ELFUTILS], [
|
||||
m4_pushdef([major_version], [$1])
|
||||
m4_pushdef([minor_version], [$2])
|
||||
|
||||
- AC_MSG_CHECKING([for elfutils version >= major_version.minor_version])
|
||||
m4_if([$#], 3, [
|
||||
m4_pushdef([true_action], [$3])
|
||||
], [
|
||||
@@ -43,20 +44,21 @@ AC_DEFUN([AX_LIB_ELFUTILS], [
|
||||
AC_MSG_ERROR(elfutils >= major_version.minor_version is required)])
|
||||
])
|
||||
|
||||
- AC_RUN_IFELSE([
|
||||
- AC_LANG_SOURCE([
|
||||
- #include <stdlib.h>
|
||||
- #include <elfutils/version.h>
|
||||
+ AC_CACHE_CHECK(
|
||||
+ [for elfutils version >= major_version.minor_version],
|
||||
+ [bt_cv_lib_elfutils], [
|
||||
+ AC_RUN_IFELSE([AC_LANG_SOURCE([
|
||||
+ #include <stdlib.h>
|
||||
+ #include <elfutils/version.h>
|
||||
+
|
||||
+ int main(void) {
|
||||
+ return _ELFUTILS_PREREQ(major_version, minor_version) ? EXIT_SUCCESS : EXIT_FAILURE;
|
||||
+ }
|
||||
+ ])], [bt_cv_lib_elfutils=yes], [bt_cv_lib_elfutils=no])
|
||||
+ ]
|
||||
+ )
|
||||
|
||||
- int main(void) {
|
||||
- return _ELFUTILS_PREREQ(major_version, minor_version) ? EXIT_SUCCESS : EXIT_FAILURE;
|
||||
- }
|
||||
- ])
|
||||
- ],
|
||||
- echo yes
|
||||
- true_action,
|
||||
- echo no
|
||||
- false_action)
|
||||
+ AS_IF([test "x$bt_cv_lib_elfutils" = "xyes"], [true_action], [false_action])
|
||||
|
||||
m4_popdef([false_action])
|
||||
m4_popdef([true_action])
|
||||
--
|
||||
2.9.3
|
||||
|
|
@ -18,6 +18,9 @@ config BR2_PACKAGE_LTTNG_BABELTRACE
|
|||
can decode and display LTTng traces, since the latter are
|
||||
written using the CTF format.
|
||||
|
||||
To get support for debugging information, enable the
|
||||
elfutils package.
|
||||
|
||||
Having this tool on the target is not mandatory. You can
|
||||
transfer the binary trace output from the target to your
|
||||
development workstation, and use babeltrace here.
|
||||
|
|
|
@ -10,10 +10,20 @@ LTTNG_BABELTRACE_SOURCE = babeltrace-$(LTTNG_BABELTRACE_VERSION).tar.bz2
|
|||
LTTNG_BABELTRACE_LICENSE = MIT, LGPLv2.1 (include/babeltrace/list.h), GPLv2 (test code)
|
||||
LTTNG_BABELTRACE_LICENSE_FILES = mit-license.txt gpl-2.0.txt LICENSE
|
||||
LTTNG_BABELTRACE_DEPENDENCIES = popt util-linux libglib2 host-pkgconf
|
||||
LTTNG_BABELTRACE_CONF_OPTS += --disable-debug-info
|
||||
HOST_LTTNG_BABELTRACE_DEPENDENCIES = \
|
||||
host-popt host-util-linux host-libglib2 host-pkgconf
|
||||
HOST_LTTNG_BABELTRACE_CONF_OPTS += --disable-debug-info
|
||||
|
||||
# For 0002-m4-ax_lib_elfutils.m4-add-cache-variable.patch
|
||||
LTTNG_BABELTRACE_AUTORECONF = YES
|
||||
|
||||
ifeq ($(BR2_PACKAGE_ELFUTILS),y)
|
||||
LTTNG_BABELTRACE_DEPENDENCIES += elfutils
|
||||
LTTNG_BABELTRACE_CONF_OPTS += --enable-debug-info
|
||||
LTTNG_BABELTRACE_CONF_ENV += bt_cv_lib_elfutils=yes
|
||||
else
|
||||
LTTNG_BABELTRACE_CONF_OPTS += --disable-debug-info
|
||||
endif
|
||||
|
||||
$(eval $(autotools-package))
|
||||
$(eval $(host-autotools-package))
|
||||
|
|
Loading…
Reference in a new issue