ruby-changes:37605
From: naruse <ko1@a...>
Date: Sun, 22 Feb 2015 17:12:44 +0900 (JST)
Subject: [ruby-changes:37605] naruse:r49686 (ruby_2_2): merge revision(s) 49411, 49419, 49451, 49485, 49489:
naruse 2015-02-22 17:12:34 +0900 (Sun, 22 Feb 2015) New Revision: 49686 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=49686 Log: 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. Modified directories: branches/ruby_2_2/ Modified files: branches/ruby_2_2/ChangeLog branches/ruby_2_2/Makefile.in branches/ruby_2_2/common.mk branches/ruby_2_2/configure.in branches/ruby_2_2/version.h Index: ruby_2_2/configure.in =================================================================== --- ruby_2_2/configure.in (revision 49685) +++ ruby_2_2/configure.in (revision 49686) @@ -643,9 +643,11 @@ _PROBES https://github.com/ruby/ruby/blob/trunk/ruby_2_2/configure.in#L643 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"; the https://github.com/ruby/ruby/blob/trunk/ruby_2_2/configure.in#L3593 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 https://github.com/ruby/ruby/blob/trunk/ruby_2_2/configure.in#L3606 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 https://github.com/ruby/ruby/blob/trunk/ruby_2_2/configure.in#L3624 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 Index: ruby_2_2/ChangeLog =================================================================== --- ruby_2_2/ChangeLog (revision 49685) +++ ruby_2_2/ChangeLog (revision 49686) @@ -1,3 +1,22 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ChangeLog#L1 +Sun Feb 22 17:11:25 2015 Nobuyoshi Nakada <nobu@r...> + + * Makefile.in (probes.stamp): rebuild dtrace dependent objects + only when `dtrace -G` modifies its input files. + +Sun Feb 22 17:11:25 2015 Naohisa Goto <ngotogenome@g...> + + * 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) + Sun Feb 22 02:16:40 2015 Nobuyoshi Nakada <nobu@r...> * file.c (rb_file_identical_p): fix handle leak, ensure to close Index: ruby_2_2/common.mk =================================================================== --- ruby_2_2/common.mk (revision 49685) +++ ruby_2_2/common.mk (revision 49686) @@ -8,7 +8,8 @@ dll: $(LIBRUBY_SO) https://github.com/ruby/ruby/blob/trunk/ruby_2_2/common.mk#L8 V = 0 Q1 = $(V:1=) Q = $(Q1:0=@) -ECHO = $(ECHO1:0=@echo) +ECHO0 = $(ECHO1:0=echo) +ECHO = @$(ECHO0) UNICODE_VERSION = 7.0.0 @@ -100,6 +101,7 @@ COMMONOBJS = array.$(OBJEXT) \ https://github.com/ruby/ruby/blob/trunk/ruby_2_2/common.mk#L101 vm_trace.$(OBJEXT) \ thread.$(OBJEXT) \ cont.$(OBJEXT) \ + $(DTRACE_OBJ) \ $(BUILTIN_ENCOBJS) \ $(BUILTIN_TRANSOBJS) \ $(MISSING) @@ -191,7 +193,7 @@ prog: program wprogram https://github.com/ruby/ruby/blob/trunk/ruby_2_2/common.mk#L193 $(PREP): $(MKFILES) -miniruby$(EXEEXT): config.status $(ALLOBJS) $(ARCHFILE) $(DTRACE_OBJ) +miniruby$(EXEEXT): config.status $(ALLOBJS) $(ARCHFILE) objs: $(ALLOBJS) @@ -217,7 +219,7 @@ mini: PHONY miniruby$(EXEEXT) https://github.com/ruby/ruby/blob/trunk/ruby_2_2/common.mk#L219 $(PROGRAM) $(WPROGRAM): $(LIBRUBY) $(MAINOBJ) $(OBJS) $(EXTOBJS) $(SETUP) $(PREP) -$(LIBRUBY_A): $(OBJS) $(MAINOBJ) $(DTRACE_OBJ) $(DTRACE_GLOMMED_OBJ) $(INITOBJS) $(ARCHFILE) +$(LIBRUBY_A): $(LIBRUBY_A_OBJS) $(MAINOBJ) $(INITOBJS) $(ARCHFILE) $(LIBRUBY_SO): $(OBJS) $(DLDOBJS) $(LIBRUBY_A) $(PREP) $(LIBRUBY_SO_UPDATE) $(BUILTIN_ENCOBJS) @@ -694,19 +696,7 @@ verconf.h: $(srcdir)/template/verconf.h. https://github.com/ruby/ruby/blob/trunk/ruby_2_2/common.mk#L696 $(ECHO) creating $@ $(Q) $(MINIRUBY) "$(srcdir)/tool/generic_erb.rb" -o $@ $(srcdir)/template/verconf.h.tmpl -DTRACE_DEPENDENT_OBJS = array.$(OBJEXT) \ - eval.$(OBJEXT) \ - gc.$(OBJEXT) \ - hash.$(OBJEXT) \ - load.$(OBJEXT) \ - object.$(OBJEXT) \ - parse.$(OBJEXT) \ - string.$(OBJEXT) \ - symbol.$(OBJEXT) \ - vm.$(OBJEXT) - -probes.$(OBJEXT): $(DTRACE_DEPENDENT_OBJS) -ruby-glommed.$(OBJEXT): $(OBJS) $(DTRACE_OBJ) +ruby-glommed.$(OBJEXT): $(OBJS) $(OBJS): {$(VPATH)}config.h {$(VPATH)}missing.h Index: ruby_2_2/Makefile.in =================================================================== --- ruby_2_2/Makefile.in (revision 49685) +++ ruby_2_2/Makefile.in (revision 49686) @@ -1,7 +1,7 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_2/Makefile.in#L1 SHELL = /bin/sh NULLCMD = @NULLCMD@ n=$(NULLCMD) -ECHO1 = $(V:1=@$n) +ECHO1 = $(V:1=$n) RUNCMD = $(SHELL) CDPATH = . CHDIR = @CHDIR@ @@ -130,6 +130,19 @@ LIBRUBYARG_SHARED = @LIBRUBYARG_SHARED@ https://github.com/ruby/ruby/blob/trunk/ruby_2_2/Makefile.in#L130 LIBRUBY_RELATIVE = @LIBRUBY_RELATIVE@ LIBRUBY_A_OBJS = @LIBRUBY_A_OBJS@ +DTRACE_REBUILD_OBJS = $(DTRACE_REBUILD:yes=$(DTRACE_DEPENDENT_OBJS)) + +DTRACE_DEPENDENT_OBJS = array.$(OBJEXT) \ + eval.$(OBJEXT) \ + gc.$(OBJEXT) \ + hash.$(OBJEXT) \ + load.$(OBJEXT) \ + object.$(OBJEXT) \ + parse.$(OBJEXT) \ + string.$(OBJEXT) \ + symbol.$(OBJEXT) \ + vm.$(OBJEXT) + THREAD_MODEL = @THREAD_MODEL@ PREP = @PREP@ @@ -160,8 +173,9 @@ VCS = @VCS@ https://github.com/ruby/ruby/blob/trunk/ruby_2_2/Makefile.in#L173 VCSUP = @VCSUP@ DTRACE = @DTRACE@ DTRACE_EXT = @DTRACE_EXT@ -DTRACE_OBJ = @DTRACE_OBJ@ -DTRACE_GLOMMED_OBJ = @DTRACE_GLOMMED_OBJ@ +DTRACE_OBJ = @DTRACE_OBJ@ +DTRACE_REBUILD= @DTRACE_REBUILD@ +DTRACE_GLOMMED_OBJ = $(DTRACE_REBUILD:yes=ruby-glommed.$(OBJEXT)) OBJEXT = @OBJEXT@ ASMEXT = S @@ -201,7 +215,7 @@ all: https://github.com/ruby/ruby/blob/trunk/ruby_2_2/Makefile.in#L215 miniruby$(EXEEXT): @-if test -f $@; then $(MV) -f $@ $@.old; $(RM) $@.old; fi $(ECHO) linking $@ - $(Q) $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(NORMALMAINOBJ) $(MINIOBJS) $(COMMONOBJS) $(INITOBJS) $(DTRACE_OBJ) $(MAINLIBS) $(LIBS) $(OUTFLAG)$@ + $(Q) $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(NORMALMAINOBJ) $(MINIOBJS) $(COMMONOBJS) $(INITOBJS) $(MAINLIBS) $(LIBS) $(OUTFLAG)$@ $(PROGRAM): @$(RM) $@ @@ -224,7 +238,7 @@ $(LIBRUBY_A): https://github.com/ruby/ruby/blob/trunk/ruby_2_2/Makefile.in#L238 $(LIBRUBY_SO): @-$(PRE_LIBRUBY_UPDATE) $(ECHO) linking shared-library $@ - $(Q) $(LDSHARED) $(DLDFLAGS) $(OBJS) $(DLDOBJS) $(DTRACE_OBJ) $(SOLIBS) $(EXTSOLIBS) $(OUTFLAG)$@ + $(Q) $(LDSHARED) $(DLDFLAGS) $(OBJS) $(DLDOBJS) $(SOLIBS) $(EXTSOLIBS) $(OUTFLAG)$@ -$(Q) $(OBJCOPY) -w -L '$(SYMBOL_PREFIX)Init_*' -L '$(SYMBOL_PREFIX)*_threadptr_*' $@ $(Q) $(POSTLINK) @-$(MINIRUBY) -e 'ARGV.each{|link| File.delete link rescue nil; \ @@ -370,25 +384,24 @@ enc/jis/props.h: enc/jis/props.kwd https://github.com/ruby/ruby/blob/trunk/ruby_2_2/Makefile.in#L384 @$(ECHO) copying dummy $(DEST_FILE) $(Q) $(CP) $(OS_SRC_FILE) $(OS_DEST_FILE) -probes.@OBJEXT@: $(srcdir)/probes.d +probes.stamp: $(DTRACE_REBUILD_OBJS) + $(Q) if test -f $@ -o -f probes.$(OBJEXT); then \ + $(RM) $(DTRACE_REBUILD_OBJS) $@; \ + $(ECHO0) "rebuilding objects which were modified by \"dtrace -G\""; \ + $(MAKE) $(DTRACE_REBUILD_OBJS); \ + fi + $(Q) touch $@ + +probes.@OBJEXT@: $(srcdir)/probes.d probes.stamp @$(ECHO) processing probes in object files - $(Q) stamp="$*.stamp"; \ - if test -f "$$stamp" -o -f "$@"; then \ - $(RM) $(DTRACE_DEPENDENT_OBJS) "$$stamp"; \ - for o in $(DTRACE_DEPENDENT_OBJS); do \ - echo "rebuilding $$o which was modified by \"dtrace -G\""; \ - $(MAKE) "$$o"; \ - done; \ - fi; \ - touch "$$stamp" - $(RM) $@ - $(Q) $(DTRACE) -G -C $(INCFLAGS) -s $(srcdir)/probes.d -o $@ $(DTRACE_DEPENDENT_OBJS) + $(Q) $(RM) $@ + $(Q) $(DTRACE) -G -C $(INCFLAGS) -s $(srcdir)/probes.d -o $@ $(DTRACE_REBUILD_OBJS) # DTrace static library hacks described here: # http://mail.opensolaris.org/pipermail/dtrace-discuss/2005-August/000207.html ruby-glommed.$(OBJEXT): @$(ECHO) generating a glommed object with DTrace probes for static library - $(Q) $(LD) -r -o $@ $(OBJS) $(DTRACE_OBJ) + $(Q) $(LD) -r -o $@ $(OBJS) clean-local:: $(Q)$(RM) ext/extinit.c ext/extinit.$(OBJEXT) ext/ripper/y.output \ Index: ruby_2_2/version.h =================================================================== --- ruby_2_2/version.h (revision 49685) +++ ruby_2_2/version.h (revision 49686) @@ -1,6 +1,6 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_2/version.h#L1 #define RUBY_VERSION "2.2.0" #define RUBY_RELEASE_DATE "2015-02-22" -#define RUBY_PATCHLEVEL 75 +#define RUBY_PATCHLEVEL 76 #define RUBY_RELEASE_YEAR 2015 #define RUBY_RELEASE_MONTH 2 Property changes on: ruby_2_2 ___________________________________________________________________ Modified: svn:mergeinfo Merged /trunk:r49411,49419,49451,49485,49489 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/