diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2012-05-11 13:47:29 +0100 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2012-05-11 13:47:29 +0100 |
commit | a1680f03b7d38bf007d29ac23035e5af33736b0e (patch) | |
tree | 2890554fb0c5a6ada660cbd2ff2b8dc19e927543 | |
parent | 042a0b063b22bd02bb72f4a78cf29ffe5553d4d8 (diff) | |
download | libguestfs-a1680f03b7d38bf007d29ac23035e5af33736b0e.tar.gz libguestfs-a1680f03b7d38bf007d29ac23035e5af33736b0e.tar.xz libguestfs-a1680f03b7d38bf007d29ac23035e5af33736b0e.zip |
configure: Allow systemtap/DTrace userspace probes to be disabled.
'./configure --disable-probes' will disable these probes. Otherwise
they are autodetected as before.
The <sys/sdt.h> produces lots of errors when you try to compile with
these probes enabled under clang, so it is necessary to provide a way
to disable them for clang users.
-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) |