1
dnl Copyright (C) 2009 Sun Microsystems
2
dnl This file is free software; Sun Microsystems
3
dnl gives unlimited permission to copy and/or distribute it,
4
dnl with or without modifications, as long as this notice is preserved.
6
dnl ---------------------------------------------------------------------------
7
dnl Macro: PANDORA_ENABLE_DTRACE
8
dnl ---------------------------------------------------------------------------
9
AC_DEFUN([PANDORA_ENABLE_DTRACE],[
10
AC_ARG_ENABLE([dtrace],
11
[AS_HELP_STRING([--disable-dtrace],
12
[Build with support for the DTRACE. @<:@default=on@:>@])],
13
[ac_cv_enable_dtrace="$enableval"],
14
[ac_cv_enable_dtrace="yes"])
16
AS_IF([test "$ac_cv_enable_dtrace" = "yes"],[
17
AC_CHECK_PROGS([DTRACE], [dtrace])
18
AC_CHECK_HEADERS(sys/sdt.h)
20
AS_IF([test "x$ac_cv_prog_DTRACE" = "xdtrace" -a "x${ac_cv_header_sys_sdt_h}" = "xyes"],[
22
AC_CACHE_CHECK([if dtrace works],[ac_cv_dtrace_works],[
23
cat >conftest.d <<_ACEOF
28
$DTRACE -h -o conftest.h -s conftest.d 2>/dev/zero
29
AS_IF([test $? -eq 0],[ac_cv_dtrace_works=yes],
30
[ac_cv_dtrace_works=no])
31
rm -f conftest.h conftest.d
33
AS_IF([test "x$ac_cv_dtrace_works" = "xyes"],[
34
AC_DEFINE([HAVE_DTRACE], [1], [Enables DTRACE Support])
36
AC_CACHE_CHECK([if dtrace should instrument object files],
37
[ac_cv_dtrace_needs_objects],[
38
dnl DTrace on MacOSX does not use -G option
39
cat >conftest.d <<_ACEOF
44
$DTRACE -G -o conftest.d.o -s conftest.d 2>/dev/zero
45
AS_IF([test $? -eq 0],[ac_cv_dtrace_needs_objects=yes],
46
[ac_cv_dtrace_needs_objects=no])
47
rm -f conftest.d.o conftest.d
49
AC_SUBST(DTRACEFLAGS) dnl TODO: test for -G on OSX
53
AM_CONDITIONAL([HAVE_DTRACE], [test "x$ac_cv_dtrace_works" = "xyes"])
54
AM_CONDITIONAL([DTRACE_NEEDS_OBJECTS],
55
[test "x$ac_cv_dtrace_needs_objects" = "xyes"])
58
dnl ---------------------------------------------------------------------------
59
dnl End Macro: PANDORA_ENABLE_DTRACE
60
dnl ---------------------------------------------------------------------------