mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* configure.in (RUBY_DTRACE_AVAILABLE): only check dtrace availability.
* configure.in (RUBY_DTRACE_POSTPROCESS): restore. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
8459af3f5c
commit
f495c968c9
2 changed files with 32 additions and 28 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
Tue Nov 20 21:12:37 2012 NARUSE, Yui <naruse@ruby-lang.org>
|
||||||
|
|
||||||
|
* configure.in (RUBY_DTRACE_AVAILABLE): only check dtrace availability.
|
||||||
|
|
||||||
|
* configure.in (RUBY_DTRACE_POSTPROCESS): restore.
|
||||||
|
|
||||||
Tue Nov 20 21:22:44 2012 Masaki Suketa <masaki.suketa@nifty.ne.jp>
|
Tue Nov 20 21:22:44 2012 Masaki Suketa <masaki.suketa@nifty.ne.jp>
|
||||||
|
|
||||||
* test/win32ole/test_win32ole_type.rb (test_implemented_ole_types):
|
* test/win32ole/test_win32ole_type.rb (test_implemented_ole_types):
|
||||||
|
|
54
configure.in
54
configure.in
|
@ -467,38 +467,34 @@ AC_SUBST(MAKEDIRS)
|
||||||
AC_DEFUN([RUBY_DTRACE_AVAILABLE],
|
AC_DEFUN([RUBY_DTRACE_AVAILABLE],
|
||||||
[AC_CACHE_CHECK(whether dtrace USDT is available, rb_cv_dtrace_available,
|
[AC_CACHE_CHECK(whether dtrace USDT is available, rb_cv_dtrace_available,
|
||||||
[
|
[
|
||||||
cat <<EOF > conftest.c
|
|
||||||
#define _DTRACE_VERSION 1
|
|
||||||
#include "conftest_provider.h"
|
|
||||||
int main(void)
|
|
||||||
{
|
|
||||||
if (CONFTEST_FIRE_ENABLED()) CONFTEST_FIRE();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
echo "provider conftest{ probe fire(); };" > conftest_provider.d
|
echo "provider conftest{ probe fire(); };" > conftest_provider.d
|
||||||
rb_cv_prog_dtrace_g=no
|
|
||||||
if $DTRACE -h -o conftest_provider.h -s conftest_provider.d >/dev/null 2>/dev/null; then
|
if $DTRACE -h -o conftest_provider.h -s conftest_provider.d >/dev/null 2>/dev/null; then
|
||||||
# DTrace is available on the system
|
# DTrace is available on the system
|
||||||
enable_dtrace=yes
|
rb_cv_dtrace_available=yes
|
||||||
$CC $CFLAGS -c -o conftest.o conftest.c
|
|
||||||
if $DTRACE -G -o conftest_provider.o -s conftest_provider.d conftest.o >/dev/null 2>/dev/null; then
|
|
||||||
# Solaris and FreeBSD need `dtrace -G`
|
|
||||||
rb_cv_prog_dtrace_g=yes
|
|
||||||
else
|
|
||||||
# darwin doesn't need `dtrace -G`
|
|
||||||
rb_cv_prog_dtrace_g=no
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
# DTrace is not available while dtrace command exists
|
# DTrace is not available while dtrace command exists
|
||||||
# for example FreeBSD 8 or FreeBSD 9 without DTrace build option
|
# for example FreeBSD 8 or FreeBSD 9 without DTrace build option
|
||||||
enable_dtrace=no
|
rb_cv_dtrace_available=no
|
||||||
fi
|
fi
|
||||||
rb_cv_dtrace_available=$enable_dtrace
|
|
||||||
rm -f conftest.[co] conftest_provider.[dho]
|
rm -f conftest.[co] conftest_provider.[dho]
|
||||||
])
|
])
|
||||||
])
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([RUBY_DTRACE_POSTPROCESS],
|
||||||
|
[AC_CACHE_CHECK(whether $DTRACE needs post processing, rb_cv_prog_dtrace_g,
|
||||||
|
[
|
||||||
|
echo "int main(void){ return 0; }" > conftest.c
|
||||||
|
echo "provider conftest{};" > conftest_provider.d
|
||||||
|
$CC $CFLAGS -c -o conftest.o conftest.c
|
||||||
|
if $DTRACE -G -s conftest_provider.d conftest.o 2>/dev/null; then
|
||||||
|
rb_cv_prog_dtrace_g=yes
|
||||||
|
else
|
||||||
|
rb_cv_prog_dtrace_g=no
|
||||||
|
fi
|
||||||
|
rm -f conftest.o conftest.c conftest_provider.d conftest_provider.o
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
AC_CHECK_PROG([DTRACE], [${ac_tool_prefix}dtrace], [${ac_tool_prefix}dtrace])
|
AC_CHECK_PROG([DTRACE], [${ac_tool_prefix}dtrace], [${ac_tool_prefix}dtrace])
|
||||||
if test "$cross_compiling:$ac_cv_prog_DTRACE" = no: -a -n "$ac_tool_prefix"; then
|
if test "$cross_compiling:$ac_cv_prog_DTRACE" = no: -a -n "$ac_tool_prefix"; then
|
||||||
AC_CHECK_PROG([DTRACE], [dtrace], [dtrace])
|
AC_CHECK_PROG([DTRACE], [dtrace], [dtrace])
|
||||||
|
@ -2729,6 +2725,7 @@ AC_ARG_ENABLE(dtrace,
|
||||||
if test "${enable_dtrace}" = "auto"; then
|
if test "${enable_dtrace}" = "auto"; then
|
||||||
if test x"$DTRACE" != x -a x"$cross_compiling" != xyes; then
|
if test x"$DTRACE" != x -a x"$cross_compiling" != xyes; then
|
||||||
RUBY_DTRACE_AVAILABLE()
|
RUBY_DTRACE_AVAILABLE()
|
||||||
|
enable_dtrace=$rb_cv_dtrace_available
|
||||||
else
|
else
|
||||||
enable_dtrace=no
|
enable_dtrace=no
|
||||||
fi
|
fi
|
||||||
|
@ -2742,14 +2739,20 @@ if test "${enable_dtrace}" = "yes"; then
|
||||||
AC_MSG_ERROR([--enable-dtrace, however, cross compiling])
|
AC_MSG_ERROR([--enable-dtrace, however, cross compiling])
|
||||||
else
|
else
|
||||||
RUBY_DTRACE_AVAILABLE()
|
RUBY_DTRACE_AVAILABLE()
|
||||||
|
enable_dtrace=$rb_cv_dtrace_available
|
||||||
if test "${enable_dtrace}" = "no"; then
|
if test "${enable_dtrace}" = "no"; then
|
||||||
AC_MSG_ERROR([--enable-dtrace, however, USDT is not available])
|
AC_MSG_ERROR([--enable-dtrace, however, USDT is not available])
|
||||||
fi
|
fi
|
||||||
|
RUBY_DTRACE_POSTPROCESS()
|
||||||
if test "$rb_cv_prog_dtrace_g" = 'yes'; then
|
if test "$rb_cv_prog_dtrace_g" = 'yes'; then
|
||||||
DTRACE_OBJ='probes.$(OBJEXT)'
|
DTRACE_OBJ='probes.$(OBJEXT)'
|
||||||
DTRACE_GLOMMED_OBJ='ruby-glommed.$(OBJEXT)'
|
DTRACE_GLOMMED_OBJ='ruby-glommed.$(OBJEXT)'
|
||||||
LIBRUBY_A_OBJS='$(DTRACE_GLOMMED_OBJ)'
|
LIBRUBY_A_OBJS='$(DTRACE_GLOMMED_OBJ)'
|
||||||
fi
|
fi
|
||||||
|
AS_CASE("${target_os}", [freebsd*], [
|
||||||
|
# FreeBSD's dtrace requires libelf
|
||||||
|
LIBS="-lelf $LIBS"
|
||||||
|
])
|
||||||
fi
|
fi
|
||||||
DTRACE_EXT=d
|
DTRACE_EXT=d
|
||||||
else
|
else
|
||||||
|
@ -2760,11 +2763,6 @@ AC_SUBST(DTRACE_OBJ)
|
||||||
AC_SUBST(DTRACE_GLOMMED_OBJ)
|
AC_SUBST(DTRACE_GLOMMED_OBJ)
|
||||||
AC_SUBST(LIBRUBY_A_OBJS)
|
AC_SUBST(LIBRUBY_A_OBJS)
|
||||||
|
|
||||||
AS_CASE("${enable_dtrace}:${target_os}", [yes:freebsd*], [
|
|
||||||
# FreeBSD's dtrace requires libelf
|
|
||||||
LIBS="-lelf $LIBS"
|
|
||||||
])
|
|
||||||
|
|
||||||
}
|
}
|
||||||
{ # build section
|
{ # build section
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue