diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-12-17 07:48:57 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-12-17 07:48:57 +0000 |
commit | 6f4068935697ac1338b103d1be65fb7ec19469e1 (patch) | |
tree | d6b3032858aa6725d853205da6abbe19776ab843 /configure.in | |
parent | 860b42cf5a506bda380388a4d2d040ea85bec997 (diff) |
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
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 67 |
1 files changed, 32 insertions, 35 deletions
diff --git a/configure.in b/configure.in index 3e41be3b6d..6645908f81 100644 --- a/configure.in +++ b/configure.in @@ -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) |