1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/tool/m4/ruby_dtrace_postprocess.m4
2021-04-17 19:14:21 +09:00

30 lines
868 B
Text

dnl -*- Autoconf -*-
AC_DEFUN([RUBY_DTRACE_POSTPROCESS],
[AC_CACHE_CHECK(whether $DTRACE needs post processing, rb_cv_prog_dtrace_g,
[
rb_cv_prog_dtrace_g=no
AS_IF([{
cat >conftest_provider.d <<_PROBES &&
provider conftest {
probe fire();
};
_PROBES
$DTRACE ${DTRACE_OPT} -h -o conftest_provider.h -s conftest_provider.d >/dev/null 2>/dev/null &&
:
}], [
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include "conftest_provider.h"]], [[CONFTEST_FIRE();]])],[
AS_IF([{
cp -p conftest.${ac_objext} conftest.${ac_objext}.save &&
$DTRACE ${DTRACE_OPT} -G -s conftest_provider.d conftest.${ac_objext} 2>/dev/null &&
:
}], [
AS_IF([cmp -s conftest.o conftest.${ac_objext}.save], [
rb_cv_prog_dtrace_g=yes
], [
rb_cv_prog_dtrace_g=rebuild
])
])])
])
rm -f conftest.[co] conftest_provider.[dho]
])
])dnl