diff options
author | ngoto <ngoto@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-11-18 08:24:24 +0000 |
---|---|---|
committer | ngoto <ngoto@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-11-18 08:24:24 +0000 |
commit | 1f225be2e51f0ff7376846d5631fd6287eb03d14 (patch) | |
tree | e2f44294d784990242f2a3b988a14af1cdb13c8d /common.mk | |
parent | 42d38decda9249ba77b365f2b242a76e7e109945 (diff) | |
download | ruby-1f225be2e51f0ff7376846d5631fd6287eb03d14.tar.gz |
* configure.in, Makefile.in, common.mk: support DTrace on Solaris 10,
based on r26235 by Yugui. On Solaris 10, low optimization level
may also be needed, e.g. optflags="-xO1" or "-xO0" with Oracle
SolarisStudio 12.3 cc.
* configure.in (--enable-dtrace): new option to enable/disable
DTrace support. By default, trying to enable if dtrace command
is found on the system. It is disabled when cross compiling.
* configure.in (RUBY_DTRACE_POSTPROCESS): new macro. checks whether
the dtrace on the system needs postprocessing with "dtrace -G".
The postprocessing is needed on Solaris 10 and other platforms.
* configure.in (RUBY_DTRACE_BSD_BROKEN): new macro. checks whether
the dtrace supports USDT.
* configure.in (DTRACE): move after RUBY_DTRACE_POSTPROCESS.
* configure.in (LD): On Solaris, /usr/ccs/bin/ld is preferred.
* configure.in, Makefile.in, common.mk (DTRACE_OBJ): new macro for
DTrace probe object generated by postprocessing with "dtrace -G".
* Makefile.in, common.mk (probes.$(OBJEXT)): DTrace probe object
generated by the postprocessing. New file probes.stamp is for
rebuilding related objects that may be modified by "dtrace -G".
* configure.in, Makefile.in, common.mk (DTRACE_GLOMMED_OBJ): new
macro for DTrace static library hacks.
* configure.in, Makefile.in (LIBRUBY_A_OBJS): ditto.
* Makefile.in, common.mk (ruby-glommed.$(OBJEXT)): new target with
rule for DTrace static library hacks.
* common.mk (DTRACE_DEPENDENT_OBJS): objects depended on probes.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'common.mk')
-rw-r--r-- | common.mk | 19 |
1 files changed, 16 insertions, 3 deletions
@@ -189,7 +189,7 @@ loadpath: $(PREP) PHONY $(PREP): $(MKFILES) -miniruby$(EXEEXT): config.status $(ALLOBJS) $(ARCHFILE) +miniruby$(EXEEXT): config.status $(ALLOBJS) $(ARCHFILE) $(DTRACE_OBJ) objs: $(ALLOBJS) @@ -214,7 +214,7 @@ wprogram: showflags $(WPROGRAM) $(PROGRAM) $(WPROGRAM): $(LIBRUBY) $(MAINOBJ) $(OBJS) $(EXTOBJS) $(SETUP) $(PREP) -$(LIBRUBY_A): $(OBJS) $(MAINOBJ) $(DMYEXT) $(ARCHFILE) +$(LIBRUBY_A): $(OBJS) $(MAINOBJ) $(DTRACE_OBJ) $(DTRACE_GLOMMED_OBJ) $(DMYEXT) $(ARCHFILE) $(LIBRUBY_SO): $(OBJS) $(DLDOBJS) $(LIBRUBY_A) $(PREP) $(LIBRUBY_SO_UPDATE) $(BUILTIN_ENCOBJS) @@ -435,7 +435,7 @@ clean: clean-ext clean-local clean-enc clean-golf clean-rdoc clean-capi clean-ex clean-local:: PHONY $(Q)$(RM) $(OBJS) $(MINIOBJS) $(MAINOBJ) $(LIBRUBY_A) $(LIBRUBY_SO) $(LIBRUBY) $(LIBRUBY_ALIASES) $(Q)$(RM) $(PROGRAM) $(WPROGRAM) miniruby$(EXEEXT) dmyext.$(OBJEXT) $(ARCHFILE) .*.time - $(Q)$(RM) y.tab.c y.output encdb.h transdb.h prelude.c config.log rbconfig.rb $(ruby_pc) probes.h + $(Q)$(RM) y.tab.c y.output encdb.h transdb.h prelude.c config.log rbconfig.rb $(ruby_pc) probes.h probes.$(OBJEXT) probes.stamp ruby-glommed.$(OBJEXT) clean-ext:: PHONY clean-golf: PHONY $(Q)$(RM) $(GORUBY)$(EXEEXT) $(GOLFOBJS) @@ -814,6 +814,19 @@ newline.$(OBJEXT): $(NEWLINE_C) {$(VPATH)}defines.h \ {$(VPATH)}intern.h {$(VPATH)}missing.h {$(VPATH)}st.h \ {$(VPATH)}transcode_data.h {$(VPATH)}ruby.h {$(VPATH)}config.h {$(VPATH)}subst.h +DTRACE_DEPENDENT_OBJS = array.$(OBJEXT) \ + eval.$(OBJEXT) \ + gc.$(OBJEXT) \ + hash.$(OBJEXT) \ + load.$(OBJEXT) \ + object.$(OBJEXT) \ + parse.$(OBJEXT) \ + string.$(OBJEXT) \ + vm.$(OBJEXT) + +probes.$(OBJEXT): $(DTRACE_DEPENDENT_OBJS) +ruby-glommed.$(OBJEXT): $(OBJS) $(DTRACE_OBJ) + $(OBJS): {$(VPATH)}config.h {$(VPATH)}missing.h INSNS2VMOPT = --srcdir="$(srcdir)" |