diff options
author | David Soria Parra <dsp@php.net> | 2010-04-24 13:32:30 +0000 |
---|---|---|
committer | David Soria Parra <dsp@php.net> | 2010-04-24 13:32:30 +0000 |
commit | 08b9fdc8a3bf29e27431b7907b5ea4973e9c7042 (patch) | |
tree | 2b27f135a1cfad5f4d90fd437710aec7777eaff1 /acinclude.m4 | |
parent | fd42b5064c497e500e5745bf36d1b0ddd5bd34bd (diff) | |
download | php-git-08b9fdc8a3bf29e27431b7907b5ea4973e9c7042.tar.gz |
Add DTrace probes
Diffstat (limited to 'acinclude.m4')
-rw-r--r-- | acinclude.m4 | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/acinclude.m4 b/acinclude.m4 index 92996b1fa2..4063d3c65a 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -2877,3 +2877,58 @@ main() fi ]) +dnl +dnl Generate dtrace targets +dnl +AC_DEFUN([PHP_GENERATE_DTRACE],[ + old_IFS=[$]IFS + IFS=. + set $ac_src + IFS=$old_IFS + build_target=$2 + PHP_GLOBAL_OBJS="[$]PHP_GLOBAL_OBJS $1.o" + for src in $PHP_DTRACE_OBJS; do + case [$]build_target in + program|static) + obj="$obj `dirname $src`/`basename $src | sed 's,\.lo$,.o,'` " ;; + *) + obj="$obj `dirname $src`/.libs/`basename $src | sed 's,\.lo$,.o,'` " ;; + esac + done + + cat >>Makefile.objects<<EOF +$1.o: \$(PHP_DTRACE_OBJS) + dtrace -G -o $1.o -s $1 $obj +EOF + +]) + +dnl +dnl Link given source files with dtrace +dnl PHP_ADD_DTRACE(providerdesc, sources, module) +dnl +AC_DEFUN([PHP_ADD_DTRACE],[ + case "$3" in + ""[)] unset ac_bdir;; + /*[)] ac_bdir=$ac_srcdir;; + *[)] extdir=PHP_EXT_DIR($3); ac_bdir="$extdir/";; + esac + old_IFS=[$]IFS + for ac_src in $2; do + IFS=. + set $ac_src + ac_obj=[$]1 + IFS=$old_IFS + + PHP_DTRACE_OBJS="[$]PHP_DTRACE_OBJS [$]ac_bdir[$]ac_obj.lo" + done; +]) + +dnl +dnl Generate platform specific dtrace header +dnl +AC_DEFUN([PHP_INIT_DTRACE], [ + dtrace -h -C -s $1 -o $2 + $SED -ibak 's,PHP_,DTRACE_,g' $2 +]) + |