From 23cf2750d15f6a859d13d7110e5994b3575c6604 Mon Sep 17 00:00:00 2001 From: naruse Date: Sun, 22 Feb 2015 08:12:34 +0000 Subject: 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 --- configure.in | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'configure.in') 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 -- cgit v1.2.3