summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-02-22 08:12:34 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-02-22 08:12:34 +0000
commit23cf2750d15f6a859d13d7110e5994b3575c6604 (patch)
tree9933dce64199176bc847d67542b5b4c5c52aba00 /configure.in
parent6d0b1d8a8691460189caee88bfbef2dd129b48bd (diff)
merge revision(s) 49411,49419,49451,49485,49489:
configure.in: check dtace -G * configure.in (RUBY_DTRACE_POSTPROCESS): check if the object file is really modified by `dtrace -G`, this command is very system dependent. * common.mk (ruby-glommed.o): dependency on $(OBJ) should be written in common.mk (in which OBJ is defined) because of Makefile include and parse order. This partly reverts r49419. [ruby-dev:48849] [Bug #10808] * Makefile.in (ruby-glommed.o): ditto. * Makefile.in (ruby-glommed.o): remove excess $(DTRACE_OBJ) because it is included in $(OBJS) since r49451. * Makefile.in (probes.o): should depend on $(DTRACE_DEPENDENT_OBJS) * Makefile.in (probes.stamp): rebuild dtrace dependent objects only when `dtrace -G` modifies its input files. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in11
1 files changed, 8 insertions, 3 deletions
diff --git a/configure.in b/configure.in
index b3deed24fe..8297c5a8a9 100644
--- a/configure.in
+++ b/configure.in
@@ -643,9 +643,11 @@ _PROBES
int main(void){ CONFTEST_FIRE(); return 0; }
_CONF
$CC $CFLAGS $CPPFLAGS -c -o conftest.o conftest.c &&
+ cp -p conftest.o conftest.oo &&
$DTRACE -G -s conftest_provider.d conftest.o 2>/dev/null
}; then
rb_cv_prog_dtrace_g=yes
+ cmp -b conftest.o conftest.oo || rb_cv_prog_dtrace_g=rebuild
else
rb_cv_prog_dtrace_g=no
fi
@@ -3591,6 +3593,7 @@ if test "${enable_dtrace}" = "auto"; then
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])
@@ -3603,9 +3606,11 @@ if test "${enable_dtrace}" = "yes"; then
AC_MSG_ERROR([--enable-dtrace, however, USDT is not available])
fi
RUBY_DTRACE_POSTPROCESS()
- if test "$rb_cv_prog_dtrace_g" = 'yes'; then
+ if test "$rb_cv_prog_dtrace_g" != 'no'; then
DTRACE_OBJ='probes.$(OBJEXT)'
- DTRACE_GLOMMED_OBJ='ruby-glommed.$(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*], [
@@ -3619,7 +3624,7 @@ else
fi
AC_SUBST(DTRACE_EXT)
AC_SUBST(DTRACE_OBJ)
-AC_SUBST(DTRACE_GLOMMED_OBJ)
+AC_SUBST(DTRACE_REBUILD)
AC_SUBST(LIBRUBY_A_OBJS)
RUBY_SETJMP_TYPE