Reapply r57092 "configure.in: repeated checks"

Needs DTRACE_OBJ when "$rb_cv_prog_dtrace_g" = rebuild, too.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2016-12-17 07:48:57 +00:00
Родитель 860b42cf5a
Коммит 6f40689356
1 изменённых файлов: 32 добавлений и 35 удалений

Просмотреть файл

@ -3990,45 +3990,42 @@ AC_ARG_ENABLE(dtrace,
[enable DTrace for tracing inside ruby. enabled by default on systems having dtrace]),
[enable_dtrace=$enableval], [enable_dtrace=auto])
if test "${enable_dtrace}" = "auto"; then
if test x"$DTRACE" != x -a x"$cross_compiling" != xyes; then
RUBY_DTRACE_AVAILABLE()
enable_dtrace=$rb_cv_dtrace_available
else
enable_dtrace=no
fi
fi
LIBRUBY_A_OBJS='$(OBJS)'
DTRACE_REBUILD=
if test "${enable_dtrace}" = "yes"; then
if test -z "$DTRACE"; then
AC_MSG_ERROR([dtrace(1) is missing])
elif test "$cross_compiling" = yes; then
AC_MSG_ERROR([--enable-dtrace, however, cross compiling])
else
RUBY_DTRACE_AVAILABLE()
enable_dtrace=$rb_cv_dtrace_available
if test "${enable_dtrace}" = "no"; then
AC_MSG_ERROR([--enable-dtrace, however, USDT is not available])
fi
RUBY_DTRACE_POSTPROCESS()
if test "$rb_cv_prog_dtrace_g" != 'no'; then
DTRACE_OBJ='probes.$(OBJEXT)'
fi
if test "$rb_cv_prog_dtrace_g" = 'rebuild'; then
DTRACE_REBUILD=yes
LIBRUBY_A_OBJS='$(DTRACE_GLOMMED_OBJ)'
fi
AS_CASE("${target_os}", [freebsd*], [
# FreeBSD's dtrace requires libelf
LIBS="-lelf $LIBS"
])
fi
AS_CASE(["${enable_dtrace}"],
[yes|auto], [
RUBY_DTRACE_AVAILABLE()
], [
rb_cv_dtrace_available=no
])
AS_IF([test "${enable_dtrace}" = yes], [dnl
AS_IF([test -z "$DTRACE"], [dnl
AC_MSG_ERROR([dtrace(1) is missing])
], [test "$cross_compiling" = yes], [dnl
AC_MSG_ERROR([--enable-dtrace, however, cross compiling])
], [test "${rb_cv_dtrace_available}" = "no"], [dnl
AC_MSG_ERROR([--enable-dtrace, however, USDT is not available])
])
])
AS_CASE([$rb_cv_dtrace_available],
[yes*], [dnl
RUBY_DTRACE_POSTPROCESS()
AS_IF([test "$rb_cv_prog_dtrace_g" != no], [dnl
DTRACE_OBJ='probes.$(OBJEXT)'
])
AS_IF([test "$rb_cv_prog_dtrace_g" = rebuild], [dnl
DTRACE_REBUILD=yes
LIBRUBY_A_OBJS='$(DTRACE_GLOMMED_OBJ)'
])
AS_CASE("${target_os}", [freebsd*], [dnl
# FreeBSD's dtrace requires libelf
LIBS="-lelf $LIBS"
])
DTRACE_EXT=d
else
], [dnl
enable_dtrace=no
DTRACE_EXT=dmyh
fi
])
AC_SUBST(DTRACE_EXT)
AC_SUBST(DTRACE_OBJ)
AC_SUBST(DTRACE_REBUILD)