diff options
-rw-r--r-- | configure.ac | 16 | ||||
-rw-r--r-- | src/guestfs-internal.h | 4 |
2 files changed, 15 insertions, 5 deletions
diff --git a/configure.ac b/configure.ac index 7db6d37a..29f11798 100644 --- a/configure.ac +++ b/configure.ac @@ -418,9 +418,19 @@ fi AC_SUBST([SELINUX_LIB]) dnl Check for systemtap/DTrace userspace probes (optional). -dnl http://sourceware.org/systemtap/wiki/AddingUserSpaceProbingToApps -AC_CHECK_HEADERS([sys/sdt.h]) -dnl AC_CHECK_PROG([DTRACE],[dtrace],[dtrace],[no]) +dnl Since the probe points break under clang, allow this to be disabled. +AC_ARG_ENABLE([probes], + AS_HELP_STRING([--disable-probes], [Disable systemtap/DTrace userspace probes]), + [], + [enable_probes=yes]) +AS_IF([test "x$enable_probes" != "xno"],[ + dnl http://sourceware.org/systemtap/wiki/AddingUserSpaceProbingToApps + AC_CHECK_HEADERS([sys/sdt.h]) + dnl AC_CHECK_PROG([DTRACE],[dtrace],[dtrace],[no]) + AS_IF([test "x$ac_cv_header_sys_sdt_h" = "xyes"],[ + AC_DEFINE([ENABLE_PROBES],[1],[enable systemtap/DTrace userspace probes]) + ]) +]) dnl Check for cpio which isn't in the default Pardus install amazingly. AC_CHECK_PROG([CPIO],[cpio],[cpio],[no]) diff --git a/src/guestfs-internal.h b/src/guestfs-internal.h index 01a7e6c9..4e82966d 100644 --- a/src/guestfs-internal.h +++ b/src/guestfs-internal.h @@ -49,7 +49,7 @@ #define _(str) dgettext(PACKAGE, (str)) #define N_(str) dgettext(PACKAGE, (str)) -#ifdef HAVE_SYS_SDT_H +#if ENABLE_PROBES #include <sys/sdt.h> /* NB: The 'name' parameter is a literal identifier, NOT a string! */ #define TRACE0(name) DTRACE_PROBE(guestfs, name) @@ -61,7 +61,7 @@ DTRACE_PROBE(guestfs, name, (arg1), (arg2), (arg3)) #define TRACE4(name, arg1, arg2, arg3, arg4) \ DTRACE_PROBE(guestfs, name, (arg1), (arg2), (arg3), (arg4)) -#else +#else /* !ENABLE_PROBES */ #define TRACE0(name) #define TRACE1(name, arg1) #define TRACE2(name, arg1, arg2) |